From df270e50b494efe5b02708566513a000b8ff63fc Mon Sep 17 00:00:00 2001 From: liaofei <136327134@qq.com> Date: Thu, 13 Apr 2023 11:57:23 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=A4=87=E6=B3=A8=E8=AF=B4?= =?UTF-8?q?=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/v1/setting/SystemCrud.php | 1 - .../services/system/SystemCrudServices.php | 13 ++++----- crmeb/crmeb/services/crud/Make.php | 7 ++--- crmeb/crmeb/services/crud/Service.php | 2 ++ .../crud/stubs/view/pages/crud/index.stub | 2 +- .../crud/stubs/view/router/modules/crud.stub | 4 +-- crmeb/crmeb/utils/Arr.php | 1 + .../codeGeneration/components/Field.vue | 3 ++- .../codeGeneration/components/FormItem.vue | 4 ++- .../components/FoundationFor.vue | 17 +++++++----- .../codeGeneration/components/StorageLoc.vue | 27 ++++++++++++------- .../src/pages/system/codeGeneration/index.vue | 2 +- 12 files changed, 52 insertions(+), 31 deletions(-) diff --git a/crmeb/app/adminapi/controller/v1/setting/SystemCrud.php b/crmeb/app/adminapi/controller/v1/setting/SystemCrud.php index a0d0c3560..376988034 100644 --- a/crmeb/app/adminapi/controller/v1/setting/SystemCrud.php +++ b/crmeb/app/adminapi/controller/v1/setting/SystemCrud.php @@ -179,7 +179,6 @@ class SystemCrud extends AuthController } return app('json')->success($data); - } /** diff --git a/crmeb/app/services/system/SystemCrudServices.php b/crmeb/app/services/system/SystemCrudServices.php index 76c00e553..c387b7696 100644 --- a/crmeb/app/services/system/SystemCrudServices.php +++ b/crmeb/app/services/system/SystemCrudServices.php @@ -208,7 +208,7 @@ class SystemCrudServices extends BaseServices } $routeName = 'crud/' . Str::snake($tableName); - $uniqueAuth = $routeName . '-index-list'; + $uniqueAuth = Str::snake($tableName) . '-crud-list-index'; foreach ($filePath as $k => $i) { if (in_array($k, ['pages', 'router', 'api'])) { @@ -293,7 +293,7 @@ class SystemCrudServices extends BaseServices foreach ($ruleData as $item) { $menuData[] = [ 'pid' => $menuInfo->id, - 'method' => $item['method'], + 'methods' => $item['method'], 'api_url' => $item['path'], 'name' => $item['name'], 'is_del' => 0, @@ -385,11 +385,11 @@ class SystemCrudServices extends BaseServices $options['columnField'] = is_array($options['columnField']) ? $options['columnField'] : []; //生成模型 $model = app()->make(Model::class); - [$modelContent, $modelPath, $usePath, $nameCamel] = $model->setFilePathName($filePath['model'] ?? '')->isMake($isMake)->handle($tableName); + [$modelContent, $modelPath, $usePath] = $model->setFilePathName($filePath['model'] ?? '')->isMake($isMake)->handle($tableName); //生成dao $dao = app()->make(Dao::class); - [$daoContent, $daoPath, $usePath, $nameCamel] = $dao->setFilePathName($filePath['dao'] ?? '')->isMake($isMake)->handle($tableName, [ - 'usePath' => $usePath . $nameCamel, + [$daoContent, $daoPath, $usePath] = $dao->setFilePathName($filePath['dao'] ?? '')->isMake($isMake)->handle($tableName, [ + 'usePath' => $usePath, ]); //生成service $service = app()->make(Service::class); @@ -425,7 +425,8 @@ class SystemCrudServices extends BaseServices //生成前台页面 $viewPages = app()->make(ViewPages::class); [$pagesContent, $pagesPath] = $viewPages->setFilePathName($filePath['pages'] ?? '')->isMake($isMake)->handle($tableName, [ - 'field' => $options['columnField'] + 'field' => $options['columnField'], + 'pathApiJs' => '@/' . str_replace('\\', '/', str_replace([Make::adminTemplatePath(), '.js'], '', $apiPath)), ]); return [ diff --git a/crmeb/crmeb/services/crud/Make.php b/crmeb/crmeb/services/crud/Make.php index 5c743c3c1..740ab0e08 100644 --- a/crmeb/crmeb/services/crud/Make.php +++ b/crmeb/crmeb/services/crud/Make.php @@ -231,16 +231,17 @@ abstract class Make if (isset($this->value['path'])) { $this->value['path'] = $this->getfolderPath($path); } + if (isset($this->value['use-php']) && !empty($options['usePath'])) { + $this->value['use-php'] = "use " . $options['usePath'] . ";\n"; + } $contentStr = str_replace($this->var, $this->value, $content); - $filePath = $this->getFilePathName($path, $this->value['nameCamel']); return [ $this->makeFile($filePath, $contentStr), $this->filePathName ?: $filePath, - $this->value['path'] ?? '', - $this->value['nameCamel'] + $this->baseDir . '\\' . $this->value['nameCamel'] ]; } diff --git a/crmeb/crmeb/services/crud/Service.php b/crmeb/crmeb/services/crud/Service.php index f940dc313..85cbefc9a 100644 --- a/crmeb/crmeb/services/crud/Service.php +++ b/crmeb/crmeb/services/crud/Service.php @@ -72,6 +72,8 @@ class Service extends Make if ($from) { $this->value['use-php'] .= "\n" . 'use crmeb\services\FormBuilder;'; $value[] = implode("\n", $from); + } else { + $value[] = ''; } $value[] = $options['menus'] ?? $name; diff --git a/crmeb/crmeb/services/crud/stubs/view/pages/crud/index.stub b/crmeb/crmeb/services/crud/stubs/view/pages/crud/index.stub index df1224d76..d03dfbcb4 100644 --- a/crmeb/crmeb/services/crud/stubs/view/pages/crud/index.stub +++ b/crmeb/crmeb/services/crud/stubs/view/pages/crud/index.stub @@ -36,7 +36,7 @@