|
@@ -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();
|
|
|
+ });
|
|
|
},
|
|
|
});
|
|
|
},
|