From 89325eff0cb02c19880690847293bd58a1cf3bbf Mon Sep 17 00:00:00 2001 From: liaofei <136327134@qq.com> Date: Tue, 25 Apr 2023 16:59:25 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=E5=88=A0=E9=99=A4crud=E7=94=9F=E6=88=90?= =?UTF-8?q?=E8=A1=A8=E5=8D=95=E5=BF=85=E5=A1=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- crmeb/crmeb/services/crud/Service.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/crmeb/crmeb/services/crud/Service.php b/crmeb/crmeb/services/crud/Service.php index 87010e28f..88d91c0ee 100644 --- a/crmeb/crmeb/services/crud/Service.php +++ b/crmeb/crmeb/services/crud/Service.php @@ -67,10 +67,10 @@ class Service extends Make foreach ($field as $item) { switch ($item['type']) { case 'frameImageOne': - $from[] = $this->tab(2) . $this->getframeImageOnePhpContent($item['field'], $item['name'], $item['required'] ?? false) . ';'; + $from[] = $this->tab(2) . $this->getframeImageOnePhpContent($item['field'], $item['name']) . ';'; break; case 'frameImages': - $from[] = $this->tab(2) . $this->getframeImagesPhpContent($item['field'], $item['name'], $item['required'] ?? false) . ';'; + $from[] = $this->tab(2) . $this->getframeImagesPhpContent($item['field'], $item['name']) . ';'; break; default: $valueContent = "''"; From e87511f911e2b388833b4a02232c5b0a685c8d32 Mon Sep 17 00:00:00 2001 From: liaofei <136327134@qq.com> Date: Tue, 25 Apr 2023 17:06:48 +0800 Subject: [PATCH 2/6] =?UTF-8?q?=E8=B0=83=E6=95=B4=E5=9B=BE=E7=89=87?= =?UTF-8?q?=E8=BF=94=E5=9B=9E=E5=88=97=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- crmeb/app/adminapi/controller/v1/setting/SystemCrud.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/crmeb/app/adminapi/controller/v1/setting/SystemCrud.php b/crmeb/app/adminapi/controller/v1/setting/SystemCrud.php index ae9430e4d..4d194d8f5 100644 --- a/crmeb/app/adminapi/controller/v1/setting/SystemCrud.php +++ b/crmeb/app/adminapi/controller/v1/setting/SystemCrud.php @@ -559,6 +559,11 @@ class SystemCrud extends AuthController ]; foreach ((array)$info->field['tableField'] as $item) { if (isset($item['is_table']) && $item['is_table']) { + if (in_array($item['from_type'], ['frameImageOne', 'frameImages'])) { + $keyName = 'key'; + } else { + $keyName = 'slot'; + } $columns[] = [ 'title' => $item['table_name'] ?: $item['comment'], 'key' => $item['field'], From 8a228a580065b4f3d1231ac290c4694390b72d61 Mon Sep 17 00:00:00 2001 From: liaofei <136327134@qq.com> Date: Tue, 25 Apr 2023 17:12:28 +0800 Subject: [PATCH 3/6] =?UTF-8?q?=E8=B0=83=E6=95=B4=E5=9B=BE=E7=89=87?= =?UTF-8?q?=E8=BF=94=E5=9B=9E=E5=88=97=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- crmeb/app/adminapi/controller/v1/setting/SystemCrud.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crmeb/app/adminapi/controller/v1/setting/SystemCrud.php b/crmeb/app/adminapi/controller/v1/setting/SystemCrud.php index 4d194d8f5..51fb885ff 100644 --- a/crmeb/app/adminapi/controller/v1/setting/SystemCrud.php +++ b/crmeb/app/adminapi/controller/v1/setting/SystemCrud.php @@ -566,7 +566,7 @@ class SystemCrud extends AuthController } $columns[] = [ 'title' => $item['table_name'] ?: $item['comment'], - 'key' => $item['field'], + $keyName => $item['field'], 'from_type' => $item['from_type'], ]; } From 177075459a107572a9951c5006900dde356343b7 Mon Sep 17 00:00:00 2001 From: liaofei <136327134@qq.com> Date: Tue, 25 Apr 2023 17:13:29 +0800 Subject: [PATCH 4/6] =?UTF-8?q?=E8=B0=83=E6=95=B4=E5=9B=BE=E7=89=87?= =?UTF-8?q?=E8=BF=94=E5=9B=9E=E5=88=97=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- crmeb/app/adminapi/controller/v1/setting/SystemCrud.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/crmeb/app/adminapi/controller/v1/setting/SystemCrud.php b/crmeb/app/adminapi/controller/v1/setting/SystemCrud.php index 51fb885ff..656bb23ed 100644 --- a/crmeb/app/adminapi/controller/v1/setting/SystemCrud.php +++ b/crmeb/app/adminapi/controller/v1/setting/SystemCrud.php @@ -560,9 +560,9 @@ class SystemCrud extends AuthController foreach ((array)$info->field['tableField'] as $item) { if (isset($item['is_table']) && $item['is_table']) { if (in_array($item['from_type'], ['frameImageOne', 'frameImages'])) { - $keyName = 'key'; - } else { $keyName = 'slot'; + } else { + $keyName = 'key'; } $columns[] = [ 'title' => $item['table_name'] ?: $item['comment'], From c2e3962d329e040ce8bcdc7bb05c9ab0e4eb47dc Mon Sep 17 00:00:00 2001 From: liaofei <136327134@qq.com> Date: Tue, 25 Apr 2023 17:36:28 +0800 Subject: [PATCH 5/6] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=A8=A1=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- crmeb/app/services/system/SystemCrudServices.php | 2 ++ crmeb/crmeb/services/crud/Controller.php | 1 + crmeb/crmeb/services/crud/Model.php | 1 + crmeb/crmeb/services/crud/Validate.php | 1 + .../crmeb/services/crud/stubs/controller/crudController.stub | 1 + crmeb/crmeb/services/crud/stubs/dao/crudDao.stub | 1 + crmeb/crmeb/services/crud/stubs/model/crudModel.stub | 1 + crmeb/crmeb/services/crud/stubs/model/getattr.stub | 4 ++++ crmeb/crmeb/services/crud/stubs/service/crudService.stub | 2 +- crmeb/crmeb/services/crud/stubs/validate/crudValidate.stub | 1 + 10 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 crmeb/crmeb/services/crud/stubs/model/getattr.stub diff --git a/crmeb/app/services/system/SystemCrudServices.php b/crmeb/app/services/system/SystemCrudServices.php index 662cbb061..37320f5cc 100644 --- a/crmeb/app/services/system/SystemCrudServices.php +++ b/crmeb/app/services/system/SystemCrudServices.php @@ -855,11 +855,13 @@ class SystemCrudServices extends BaseServices $validate = app()->make(Validate::class); $validate->setFilePathName($filePath['validate'] ?? '')->setbasePath($basePath)->handle($tableName, [ 'field' => $options['fromField'], + 'modelName' => $options['modelName'] ?? '', ]); //生成控制器 $controller = app()->make(Controller::class); $controller->setFilePathName($filePath['controller'] ?? '')->setbasePath($basePath)->handle($tableName, [ 'usePath' => $service->getUsePath(), + 'modelName' => $options['modelName'] ?? '', 'validateName' => '\\' . str_replace('/', '\\', $validate->getUsePath()) . 'Validate::class', 'field' => array_column($options['fromField'], 'field'), ]); diff --git a/crmeb/crmeb/services/crud/Controller.php b/crmeb/crmeb/services/crud/Controller.php index 7724c69b4..1b25d1a6c 100644 --- a/crmeb/crmeb/services/crud/Controller.php +++ b/crmeb/crmeb/services/crud/Controller.php @@ -90,6 +90,7 @@ class Controller extends Make [$className, $contentController] = $this->getStubContent($name, 'controller'); + $this->value['modelName'] = $options['modelName'] ?? $name; $this->value['nameCamel'] = Str::studly($name); $this->value['name'] = $className; $this->value['path'] = $this->getfolderPath($path); diff --git a/crmeb/crmeb/services/crud/Model.php b/crmeb/crmeb/services/crud/Model.php index d68aa4510..5795dd7cb 100644 --- a/crmeb/crmeb/services/crud/Model.php +++ b/crmeb/crmeb/services/crud/Model.php @@ -56,6 +56,7 @@ class Model extends Make $this->value['use-php'] = "use think\model\concern\SoftDelete;\n"; $this->value['content-php'] = $this->tab() . "use SoftDelete;\n"; } + $this->value['modelName'] = $options['modelName'] ?? $name; return parent::handle($name, $options); } diff --git a/crmeb/crmeb/services/crud/Validate.php b/crmeb/crmeb/services/crud/Validate.php index 321c7934f..bac961958 100644 --- a/crmeb/crmeb/services/crud/Validate.php +++ b/crmeb/crmeb/services/crud/Validate.php @@ -51,6 +51,7 @@ class Validate extends Make [$rule, $message] = $this->getRuleContent($options['field']); $this->value['rule-php'] = $rule; $this->value['message-php'] = $message; + $this->value['modelName'] = $options['modelName'] ?? $name; return parent::handle($name, $options); // TODO: Change the autogenerated stub } diff --git a/crmeb/crmeb/services/crud/stubs/controller/crudController.stub b/crmeb/crmeb/services/crud/stubs/controller/crudController.stub index 81fdaad43..5395b03c8 100644 --- a/crmeb/crmeb/services/crud/stubs/controller/crudController.stub +++ b/crmeb/crmeb/services/crud/stubs/controller/crudController.stub @@ -12,6 +12,7 @@ */ /** + * {%modelName%} * @author crud自动生成代码 * @date {%time%} */ diff --git a/crmeb/crmeb/services/crud/stubs/dao/crudDao.stub b/crmeb/crmeb/services/crud/stubs/dao/crudDao.stub index c3a64c8c4..fb580bac8 100644 --- a/crmeb/crmeb/services/crud/stubs/dao/crudDao.stub +++ b/crmeb/crmeb/services/crud/stubs/dao/crudDao.stub @@ -12,6 +12,7 @@ */ /** + * {%modelName%} * @author crud自动生成代码 * @date {%time%} */ diff --git a/crmeb/crmeb/services/crud/stubs/model/crudModel.stub b/crmeb/crmeb/services/crud/stubs/model/crudModel.stub index bea6353df..29eaf0230 100644 --- a/crmeb/crmeb/services/crud/stubs/model/crudModel.stub +++ b/crmeb/crmeb/services/crud/stubs/model/crudModel.stub @@ -12,6 +12,7 @@ */ /** + * {%modelName%} * @author crud自动生成代码 * @date {%time%} */ diff --git a/crmeb/crmeb/services/crud/stubs/model/getattr.stub b/crmeb/crmeb/services/crud/stubs/model/getattr.stub new file mode 100644 index 000000000..c445665cb --- /dev/null +++ b/crmeb/crmeb/services/crud/stubs/model/getattr.stub @@ -0,0 +1,4 @@ + public function get{%field%}Attr($value) + { +{%content-php%} + } diff --git a/crmeb/crmeb/services/crud/stubs/service/crudService.stub b/crmeb/crmeb/services/crud/stubs/service/crudService.stub index 6a3570bd1..d3917708a 100644 --- a/crmeb/crmeb/services/crud/stubs/service/crudService.stub +++ b/crmeb/crmeb/services/crud/stubs/service/crudService.stub @@ -12,6 +12,7 @@ */ /** + * {%modelName%} * @author crud自动生成代码 * @date {%time%} */ @@ -23,7 +24,6 @@ use think\exception\ValidateException; {%use-php%} /** - * {%modelName%} * Class CrudService * @date {%date%} * @package app\services\crud{%path%} diff --git a/crmeb/crmeb/services/crud/stubs/validate/crudValidate.stub b/crmeb/crmeb/services/crud/stubs/validate/crudValidate.stub index b77ce6a09..a26cc17a9 100644 --- a/crmeb/crmeb/services/crud/stubs/validate/crudValidate.stub +++ b/crmeb/crmeb/services/crud/stubs/validate/crudValidate.stub @@ -12,6 +12,7 @@ */ /** + * {%modelName%} * @author crud自动生成代码 * @date {%time%} */ From 9e6c80ebae646e7f48e6aa60ec88e97dc35d099b Mon Sep 17 00:00:00 2001 From: liaofei <136327134@qq.com> Date: Tue, 25 Apr 2023 17:48:05 +0800 Subject: [PATCH 6/6] =?UTF-8?q?crud=E5=8D=95=E5=9B=BE=E5=92=8C=E5=A4=9A?= =?UTF-8?q?=E5=9B=BE=E5=B1=95=E7=A4=BA=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- template/admin/src/pages/crud/index.vue | 38 +++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/template/admin/src/pages/crud/index.vue b/template/admin/src/pages/crud/index.vue index 60fc99446..d5753e825 100644 --- a/template/admin/src/pages/crud/index.vue +++ b/template/admin/src/pages/crud/index.vue @@ -85,6 +85,44 @@ export default { width: 100, align: 'center', }); + res.data.columns.map(item=>{ + if(item.from_type === 'frameImageOne'){ + item.render = (h,params)=>{ + return h('div',{ + class:'tabBox_img', + directives:[{ + name:'viewer' + }] + },[ + h('img',{ + directives:[{ + name:'lazy', + value: params.row[item.slot] + }], + }) + ]) + } + } else if(item.from_type === 'frameImages'){ + item.render = (h,params)=>{ + let image = params.row[item.slot] || [] + let imageH = []; + image.map(item=>{ + imageH.push(h('img',{ + directives:[{ + name:'lazy', + value: item + }], + })); + }) + return h('div',{ + class:'tabBox_img', + directives:[{ + name:'viewer' + }] + },imageH) + } + } + }) this.columns = res.data.columns; this.getList(); });