diff --git a/crmeb/app/adminapi/controller/v1/setting/SystemCrud.php b/crmeb/app/adminapi/controller/v1/setting/SystemCrud.php
index b1b874a06..198e8515e 100644
--- a/crmeb/app/adminapi/controller/v1/setting/SystemCrud.php
+++ b/crmeb/app/adminapi/controller/v1/setting/SystemCrud.php
@@ -88,9 +88,10 @@ class SystemCrud extends AuthController
*/
public function getFilePath()
{
- [$menuName, $tableName, $fromField, $columnField] = $this->request->postMore([
+ [$menuName, $tableName, $isTable, $fromField, $columnField] = $this->request->postMore([
['menuName', ''],
['tableName', ''],
+ ['isTable', 0],
['fromField', []],
['columnField', []],
], true);
@@ -108,7 +109,15 @@ class SystemCrud extends AuthController
$makePath[$key] = $item['path'];
}
- return app('json')->success($makePath);
+ $tableField = [];
+ if (!$isTable) {
+ $field = $this->services->getColumnNamesList($tableName);
+ foreach ($field as $item) {
+ $tableField[] = ['value' => $item['name'], 'comment' => $item['comment'], 'label' => $item['name']];
+ }
+ }
+
+ return app('json')->success(compact('makePath', 'tableField'));
}
/**
diff --git a/crmeb/app/adminapi/controller/v1/setting/SystemMenus.php b/crmeb/app/adminapi/controller/v1/setting/SystemMenus.php
index e00e5e15d..331888b5b 100644
--- a/crmeb/app/adminapi/controller/v1/setting/SystemMenus.php
+++ b/crmeb/app/adminapi/controller/v1/setting/SystemMenus.php
@@ -256,13 +256,12 @@ class SystemMenus extends AuthController
public function ruleList()
{
//获取所有的路由
- $ruleList = app()->make(SystemRouteServices::class)->selectList(['app_name' => 'adminapi'], 'name,path,method,type,id');
+ $ruleList = app()->make(SystemRouteServices::class)->selectList(['app_name' => 'adminapi'], 'name,path,method,type,id')->toArray();
$menuApiList = $this->services->getColumn(['auth_type' => 2, 'is_del' => 0], "concat(`api_url`,'_',lower(`methods`)) as rule");
if ($menuApiList) $menuApiList = array_column($menuApiList, 'rule');
$list = [];
foreach ($ruleList as $item) {
- $item['path'] = str_replace('adminapi/', '', $item['path']);
- if (!in_array($item['path'] . '_' . $item['method'], $menuApiList)) {
+ if (!in_array($item['path'] . '_' . strtolower($item['method']), $menuApiList)) {
$item['real_name'] = $item['name'] ?? '';
$item['method'] = strtoupper($item['method']);
$list[] = $item;
diff --git a/crmeb/app/services/system/SystemCrudServices.php b/crmeb/app/services/system/SystemCrudServices.php
index cbd4106ec..b8c97b6b1 100644
--- a/crmeb/app/services/system/SystemCrudServices.php
+++ b/crmeb/app/services/system/SystemCrudServices.php
@@ -65,11 +65,39 @@ class SystemCrudServices extends BaseServices
return compact('list', 'count');
}
+ /**
+ * 数据库字段类型
+ * @return \string[][]
+ * @author 等风来
+ * @email 136327134@qq.com
+ * @date 2023/4/11
+ */
public function getTabelRule()
{
- $adapter = app()->make(MysqlAdapter::class);
return [
- 'types' => $adapter->getColumnTypes(),
+ 'types' => [
+ 'string',
+ 'char',
+ 'text',
+ 'integer',
+ 'biginteger',
+ 'float',
+ 'decimal',
+ 'datetime',
+ 'timestamp',
+ 'time',
+ 'date',
+ 'blob',
+ 'binary',
+ 'varbinary',
+ 'boolean',
+ 'uuid',
+ // Geospatial data types
+ 'geometry',
+ 'point',
+ 'linestring',
+ 'polygon',
+ ]
];
}
diff --git a/crmeb/crmeb/services/crud/Controller.php b/crmeb/crmeb/services/crud/Controller.php
index f999f6044..ce3e19a51 100644
--- a/crmeb/crmeb/services/crud/Controller.php
+++ b/crmeb/crmeb/services/crud/Controller.php
@@ -109,7 +109,7 @@ class Controller extends Make
* @email 136327134@qq.com
* @date 2023/3/13
*/
- protected function getStub(string $type = '')
+ protected function getStub(string $type = 'controller')
{
$controllerPath = __DIR__ . DS . 'stubs' . DS . 'controller' . DS;
diff --git a/crmeb/crmeb/services/crud/Route.php b/crmeb/crmeb/services/crud/Route.php
index 774ea2701..921493c61 100644
--- a/crmeb/crmeb/services/crud/Route.php
+++ b/crmeb/crmeb/services/crud/Route.php
@@ -80,7 +80,7 @@ class Route extends Make
$contentStr = str_replace($this->var, $this->value, $content);
- $filePath = $this->getFilePathName($path, $this->value['nameCamel']);
+ $filePath = $this->getFilePathName($path, strtolower($name));
return [$this->makeFile($filePath, $contentStr), $filePath];
}
diff --git a/template/admin/src/pages/setting/systemMenus/index.vue b/template/admin/src/pages/setting/systemMenus/index.vue
index 8664f1e13..d7cea3c79 100644
--- a/template/admin/src/pages/setting/systemMenus/index.vue
+++ b/template/admin/src/pages/setting/systemMenus/index.vue
@@ -114,8 +114,8 @@