瀏覽代碼

fix(风险监控) 人员多选组件&列表展示优化

liu1tian 10 月之前
父節點
當前提交
25f59139a3

+ 23 - 5
src/components/popover-select-v2/multiple_liu1tian.vue

@@ -57,6 +57,7 @@ export default {
       data: [],
       selectData: [],
       lastSelectData: [],
+      jsData: [],
     };
   },
   computed: {
@@ -83,7 +84,6 @@ export default {
     },
     dataListArray: {
       handler: function (newValue) {
-        console.log("A:::" + JSON.stringify(newValue))
         if (newValue.length>0){
           newValue.forEach(element => {
             this.lastSelectData.push(element)
@@ -108,7 +108,12 @@ export default {
     },
     // fetch list
     async fetchList(prop, page) {
+      
       try {
+        this.selectData.forEach(element => {
+          this.jsData.push({"code":element.code,"name":element.name})
+        });
+        this.selectData = [];
         // try
         this.loading = true;
         const { pageNum, pageSize } = page;
@@ -152,11 +157,24 @@ export default {
     },
     // delete
     useDelete(prop) {
-      this.selectData.splice(prop, 1);
-      this.useConfirm(this.selectData);
+      this.lastSelectData.splice(prop, 1);
+      this.useConfirm(this.lastSelectData);
+      
     },
     // confirm
     useConfirm(prop) {
+      this.lastSelectData.forEach(element => {
+        prop.push({"code":element.code,"name":element.name})
+      });
+      this.selectData.forEach(element => {
+        prop.push({"code":element.code,"name":element.name})
+      });
+      const uniqueMap = {};
+      prop = prop.filter((item) => {
+        const isAlreadyPresent = uniqueMap[item.code];
+        uniqueMap[item.code] = true;
+        return !isAlreadyPresent;
+      });
       const {
         $props: { valueKey },
       } = this;
@@ -171,8 +189,8 @@ export default {
       //
       this.hide();
       this.lastSelectData = deepCopy(prop);
-      // console.log("A:::" + JSON.stringify(this.lastSelectData))
       this.$emit("change", prop, this.$props);
+      this.selectData = [];
     },
     // cancel
     useCancel() {
@@ -224,7 +242,7 @@ export default {
             type="primary"
             :size="$attrs.size"
             :loading="loading"
-            @click="useConfirm(selectData)"
+            @click="useConfirm(jsData)"
           >
             确认
           </el-button>

+ 1 - 0
src/views/ctyc/info/approval.vue

@@ -35,6 +35,7 @@
 
     <el-table v-loading="loading" :data="infoList" @selection-change="handleSelectionChange">
       <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="企业编号" align="center" prop="companyId" />
       <el-table-column label="企业名称" align="center" prop="companyName" />
       <el-table-column label="新企业名称" align="center" prop="newCompanyName" />
       <el-table-column label="企业风险预警" align="center" width="300">

+ 1 - 0
src/views/ctyc/info/approved.vue

@@ -56,6 +56,7 @@
 
     <el-table v-loading="loading" :data="infoList" @selection-change="handleSelectionChange">
       <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="企业编号" align="center" prop="companyId" />
       <el-table-column label="企业名称" align="center" prop="companyName" />
       <el-table-column label="新企业名称" align="center" prop="newCompanyName" />
       <el-table-column label="企业风险预警" align="center" width="300">