Ver Fonte

Merge branch 'master' of http://62.234.61.92:3000/wjm/mec-cloud_IntelligentManufacturing_CRM

ZYZ há 1 ano atrás
pai
commit
f6d391d2b0
1 ficheiros alterados com 18 adições e 8 exclusões
  1. 18 8
      zkqy-ui/src/views/tool/datasheet/index.vue

+ 18 - 8
zkqy-ui/src/views/tool/datasheet/index.vue

@@ -26,7 +26,7 @@
           ref="dragTable"
           :data="experienceData"
           stripe
-          row-key="sort"
+          row-key="tag"
           style="width: 100%"
         >
           <el-table-column
@@ -191,6 +191,7 @@ import { tableInfo, editTable } from "@/api/dataEngine/index";
 import { mapState } from "vuex";
 import { getDicts } from "@/api/system/dict/data";
 import Sortable from "sortablejs";
+import { v4 as uuidv4 } from "uuid";
 export default {
   name: "Datasheet",
   // dicts: [
@@ -587,6 +588,7 @@ export default {
         response.data.forEach((item, index) => {
           item.oldVal = JSON.parse(JSON.stringify(item)); // 保留原始数据
           // item.sort = index;
+          item.tag = uuidv4();
           this.experienceData.push(item);
           this.handleRules("add");
         });
@@ -747,7 +749,7 @@ export default {
       }
       let obj = {
         sort: this.experienceData.length + 1,
-        tag: this.experienceData.length + 1,
+        tag: uuidv4(),
         fieldName: "",
         fieldType: "",
         fieldLength: undefined,
@@ -906,12 +908,20 @@ export default {
         onEnd: (evt) => {
           const targetRow = this.experienceData.splice(evt.oldIndex, 1)[0];
           this.experienceData.splice(evt.newIndex, 0, targetRow);
-          // for (let index in this.experienceData) {
-          //   this.experienceData[index].sort = parseInt(index) + 1;
-          // }
-          // this.$nextTick(() => {
-          //   this.$refs.dragTable.doLayout();
-          // });
+          for (let index in this.experienceData) {
+            this.experienceData[index].sort = parseInt(index) + 1;
+          }
+          // 初始化校验规则
+          this.experienceData.map((val, index) => {
+            let temp = JSON.parse(JSON.stringify(this.dataType));
+            let targetDictItem = temp.find((item) => {
+              return item.label === val.fieldType;
+            });
+            this.handleSelected(targetDictItem, { $index: index, row: val });
+          });
+          this.$nextTick(() => {
+            this.$refs.dragTable.doLayout();
+          });
         },
       });
     },