浏览代码

Merge branch 'v5.0.0dev' of https://gitee.com/ZhongBangKeJi/CRMEB into v5.0.0dev

evoxwht 2 年之前
父节点
当前提交
b9d994cd6f

+ 6 - 1
crmeb/app/adminapi/controller/v1/setting/SystemCrud.php

@@ -559,9 +559,14 @@ 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 = 'slot';
+                } else {
+                    $keyName = 'key';
+                }
                 $columns[] = [
                     'title' => $item['table_name'] ?: $item['comment'],
-                    'key' => $item['field'],
+                    $keyName => $item['field'],
                     'from_type' => $item['from_type'],
                 ];
             }

+ 2 - 0
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'),
         ]);

+ 1 - 0
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);

+ 1 - 0
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);
     }
 

+ 2 - 2
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 = "''";

+ 1 - 0
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
     }
 

+ 1 - 0
crmeb/crmeb/services/crud/stubs/controller/crudController.stub

@@ -12,6 +12,7 @@
  */
 
 /**
+ * {%modelName%}
  * @author crud自动生成代码
  * @date {%time%}
  */

+ 1 - 0
crmeb/crmeb/services/crud/stubs/dao/crudDao.stub

@@ -12,6 +12,7 @@
  */
 
 /**
+ * {%modelName%}
  * @author crud自动生成代码
  * @date {%time%}
  */

+ 1 - 0
crmeb/crmeb/services/crud/stubs/model/crudModel.stub

@@ -12,6 +12,7 @@
  */
 
 /**
+ * {%modelName%}
  * @author crud自动生成代码
  * @date {%time%}
  */

+ 4 - 0
crmeb/crmeb/services/crud/stubs/model/getattr.stub

@@ -0,0 +1,4 @@
+    public function get{%field%}Attr($value)
+    {
+{%content-php%}
+    }

+ 1 - 1
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%}

+ 1 - 0
crmeb/crmeb/services/crud/stubs/validate/crudValidate.stub

@@ -12,6 +12,7 @@
  */
 
 /**
+ * {%modelName%}
  * @author crud自动生成代码
  * @date {%time%}
  */

+ 38 - 0
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();
       });