Просмотр исходного кода

fix: 将模板名称设为选择框,取消图片必传

kuanghua liu 1 год назад
Родитель
Сommit
0b2e9dfc3b
2 измененных файлов с 55 добавлено и 28 удалено
  1. 6 2
      src/views/templateManage/CardCommon.vue
  2. 49 26
      src/views/templateManage/DrawerCommon.vue

+ 6 - 2
src/views/templateManage/CardCommon.vue

@@ -257,10 +257,14 @@
       name: row.name,
       name: row.name,
       component: '',
       component: '',
       remark: row.remark,
       remark: row.remark,
-      thumbnail: row.previewImage,
+      thumbnail: row.previewImage === '' ? null : row.previewImage,
       isDisabled: row.isDisabled,
       isDisabled: row.isDisabled,
     });
     });
-    fillFileList(row.name, row.previewImage);
+    if (row.previewImage === '') {
+      releaseFileList();
+    } else {
+      fillFileList(row.name, row.previewImage);
+    }
   }
   }
 
 
   // 弹框关闭事件-finish
   // 弹框关闭事件-finish

+ 49 - 26
src/views/templateManage/DrawerCommon.vue

@@ -13,21 +13,19 @@
             },
             },
           ]"
           ]"
         >
         >
-          <el-input placeholder="请输入模板名称" v-model="form.name" />
+          <!-- <el-input placeholder="请输入模板名称" v-model="form.name" /> -->
+          <el-select v-model="form.name" placeholder="请选择模板名称" @change="setCode">
+            <el-option
+              v-for="item in templateOptions"
+              :key="item.value"
+              :label="item.label"
+              :value="item.value"
+            />
+          </el-select>
         </el-form-item>
         </el-form-item>
 
 
-        <el-form-item
-          label="模板编码"
-          prop="code"
-          :rules="[
-            {
-              required: true,
-              message: '输入模板编码',
-              trigger: 'blur',
-            },
-          ]"
-        >
-          <el-input placeholder="请输入模板编码" v-model="form.code" />
+        <el-form-item label="模板编码" prop="code">
+          <el-input placeholder="请输入模板编码" v-model="form.code" disabled />
         </el-form-item>
         </el-form-item>
 
 
         <el-form-item label="看板组件">
         <el-form-item label="看板组件">
@@ -37,17 +35,7 @@
           </el-select>
           </el-select>
         </el-form-item>
         </el-form-item>
 
 
-        <el-form-item
-          label="预览图片"
-          prop="thumbnail"
-          :rules="[
-            {
-              required: true,
-              message: '上传预览图片',
-              trigger: 'blur',
-            },
-          ]"
-        >
+        <el-form-item label="预览图片" prop="thumbnail">
           <el-upload
           <el-upload
             ref="uploadRef"
             ref="uploadRef"
             :class="{ 'no-el-upload': fileList.length > 0 }"
             :class="{ 'no-el-upload': fileList.length > 0 }"
@@ -130,6 +118,27 @@
 
 
   const openDrawer = ref(false);
   const openDrawer = ref(false);
 
 
+  enum TemplateType {
+    productionShop = '生产安全模板',
+    dangerPoint = '危险点模板',
+    shopLife = '园区生活模板',
+    shopTingjiping = '停机坪模板',
+  }
+
+  const templateOptions = [
+    { label: TemplateType.productionShop, value: TemplateType.productionShop },
+    { label: TemplateType.dangerPoint, value: TemplateType.dangerPoint },
+    { label: TemplateType.shopLife, value: TemplateType.shopLife },
+    { label: TemplateType.shopTingjiping, value: TemplateType.shopTingjiping },
+  ];
+
+  const NameToCode = {
+    [TemplateType.productionShop]: 'productionShop',
+    [TemplateType.dangerPoint]: 'dangerPoint',
+    [TemplateType.shopLife]: 'shopLife',
+    [TemplateType.shopTingjiping]: 'shopTingjiping',
+  };
+
   const form = ref<FormModelCommon>({
   const form = ref<FormModelCommon>({
     name: '',
     name: '',
     code: '',
     code: '',
@@ -138,6 +147,11 @@
     thumbnail: null,
     thumbnail: null,
   });
   });
 
 
+  const setCode = () => {
+    form.value.code = NameToCode[form.value.name];
+    // console.log('form.value.code=', form.value.code);
+  };
+
   const dataUpload = ref<SceneModule>({
   const dataUpload = ref<SceneModule>({
     code: '',
     code: '',
     name: '',
     name: '',
@@ -246,7 +260,12 @@
         if (props.drawerType === 'add') {
         if (props.drawerType === 'add') {
           dataUpload.value.code = form.value.code;
           dataUpload.value.code = form.value.code;
           dataUpload.value.name = form.value.name;
           dataUpload.value.name = form.value.name;
-          dataUpload.value.previewImage = form.value.thumbnail;
+          if (!form.value.thumbnail || form.value.thumbnail.length === 0) {
+            dataUpload.value.previewImage = '';
+          } else {
+            dataUpload.value.previewImage = form.value.thumbnail;
+          }
+
           dataUpload.value.remark = form.value.remark;
           dataUpload.value.remark = form.value.remark;
           // dataUpload.value.isDisabled = status.value;
           // dataUpload.value.isDisabled = status.value;
           props.addItem(dataUpload.value);
           props.addItem(dataUpload.value);
@@ -254,7 +273,11 @@
           dataUpload.value.id = form.value.id;
           dataUpload.value.id = form.value.id;
           dataUpload.value.code = form.value.code;
           dataUpload.value.code = form.value.code;
           dataUpload.value.name = form.value.name;
           dataUpload.value.name = form.value.name;
-          dataUpload.value.previewImage = form.value.thumbnail;
+          if (!form.value.thumbnail || form.value.thumbnail.length === 0) {
+            dataUpload.value.previewImage = '';
+          } else {
+            dataUpload.value.previewImage = form.value.thumbnail;
+          }
           dataUpload.value.remark = form.value.remark;
           dataUpload.value.remark = form.value.remark;
           // dataUpload.value.isDisabled = status.value;
           // dataUpload.value.isDisabled = status.value;
           props.editItem(dataUpload.value);
           props.editItem(dataUpload.value);