zhaoke 2 år sedan
förälder
incheckning
e430cca56d
1 ändrade filer med 47 tillägg och 1 borttagningar
  1. 47 1
      src/components/Table/index.vue

+ 47 - 1
src/components/Table/index.vue

@@ -156,7 +156,9 @@ export default {
       tableForm: {}, //弹框表单
       rmTitle: "", //弹框-删除-标题
       tableObj: {}, //增/删/改数据缓存
-      tableOptions: {} //弹框-下来数据缓存
+      tableOptions: {}, //弹框-下来数据缓存
+      tableArrs: [], //重组table-表头下拉
+      proAll: false //重组时-所有请求是否都完成
     };
   },
   computed: {
@@ -190,6 +192,18 @@ export default {
       });
     },
   },
+  watch: {
+    proAll: {
+      handler (val) {
+        if (val) {
+          setTimeout(() => {
+            this.setTable()
+          }, 200);
+        }
+      },
+      deep: true
+    }
+  },
   created () {
     this.getQuery();
   },
@@ -253,18 +267,31 @@ export default {
       this.tableColsCopy = this.tableCols.filter((item) => item.needShow);
       this.tableDataCopy = _.cloneDeep(this.tableData);
       const datas = _.cloneDeep(this.tableColsCopy);
+      const reqUts = []
       datas.forEach(async (item) => {
         this.tableDataFilters[item.columnName] = [];
         if (item.needGroup) {
           this.tableGroups.push(item.columnName);
         }
         if (item.listqueryTemplateID || item.listqueryTemplateID == 0) {
+          this.tableArrs.push(item.columnName)
+          const reqUt = this.getSelectData(item.listqueryTemplateID)
+          reqUts.push(reqUt)
           this.tableOptions[item.columnName] = await this.getSelectData(item.listqueryTemplateID)
         }
         // this.filterValues[item.columnName] = ''
       });
       setTableFilters(this.tableData, this.tableDataFilters);
       this.tableGroup(this.tableData);
+      this.getSelectDataAll(reqUts)
+    },
+    //获取所有获取弹框-下拉数据-请求状态
+    getSelectDataAll (reqUts) {
+      Promise.all(reqUts).then(res => {
+        this.proAll = true
+      }).catch(err => {
+        this.proAll = false
+      })
     },
     //获取弹框-下拉数据
     async getSelectData (id) {
@@ -278,6 +305,25 @@ export default {
         return []
       }
     },
+    //重组table-显示名称
+    setTable () {
+      this.tableArrs.forEach(item => {
+        this.tableOptions[item].forEach(p => {
+          this.tableDataCopy.forEach(msg => {
+            if (msg[item] == p.v) {
+              msg[item] = p.k
+            }
+          })
+          this.tableDataFilters[item].forEach(cap => {
+            if (cap.value == p.v) {
+              cap.text = p.k
+              cap.value = p.k
+            }
+          })
+        })
+      })
+      this.tableData = this.tableDataCopy
+    },
     //分组
     tableGroup (tableData) {
       const spanArr = [];