bding 1 рік тому
батько
коміт
83e46e55ca
1 змінених файлів з 11 додано та 92 видалено
  1. 11 92
      src/views/custom_manage/compontents/permissionDetail.vue

+ 11 - 92
src/views/custom_manage/compontents/permissionDetail.vue

@@ -1,7 +1,7 @@
 <template>
   <div class="container-remindDlg">
     <el-dialog title="权限详情" v-dialogDrag :visible.sync="isPermissionDetailShow" :close-on-click-modal="false" :modal-append-to-body="false" @close="cancelHandle" center width="800px">
-      <el-table :data="filterAuth" :span-method="objectSpanMethod" @selection-change="handleSelectionChange" ref="authTable" border style="margin-top: 20px">
+      <el-table :data="filterAuth" ref="authTable" border style="margin-bottom: 20px">
         <el-table-column label="行业" align="center">
           <template slot-scope="scope">{{ scope.row.PermissionName }}</template>
         </el-table-column>
@@ -89,6 +89,7 @@ export default {
     },
     /* 获取客户详情 */
     async getDetailList() {
+      this.filterAuth = [];
       const res = await customInterence.customDetail({
         CompanyId: this.researchDetailId,
       });
@@ -102,99 +103,17 @@ export default {
     },
     /* 处理合并数组 */
     getRowSpan() {
-      this.filterAuth.map((v, i, s) => {
-        if (!v.PermissionTypeName) {
-          this.indexArrEquity.push(i);
+      const resultMap = new Map();
+
+      this.filterAuth.forEach((item) => {
+        const { PermissionName, PermissionType } = item;
+        if (!resultMap.has(PermissionName) || PermissionType === 1) {
+          resultMap.set(PermissionName, item);
         }
       });
-      for (var i = 0; i < this.filterAuth.length; i++) {
-        let element = this.filterAuth[i];
-        if (i === 0) {
-          this.spanArrEquity.push(1);
-          this.posEquity = 0;
-        } else {
-          // 判断当前元素与上一个元素是否相同(line为标记)
-          if (element.PermissionName === this.filterAuth[i - 1].PermissionName) {
-            if (element.IsMerge) {
-              // 主客观都有,需要合并
-              this.spanArrEquity[this.posEquity] += 1;
-              this.spanArrEquity.push(0);
-            } else {
-              // 主客观都有 不需要合并,说明是服务期限或者状态不一样
-              this.spanArrEquity[this.posEquity] += 0.5;
-              this.spanArrEquity.push(0.5);
-            }
-          } else {
-            this.spanArrEquity.push(1);
-            this.posEquity = i;
-          }
-        }
-      }
-    },
-    /* 合并行规则 */
-    objectSpanMethod({ row, column, rowIndex, columnIndex }) {
-      if (!this.isMerge) {
-        // 产品类型不显示
-        const _row = this.spanArrEquity[rowIndex];
-        if (_row == 0) {
-          return {
-            rowspan: _row,
-            colspan: 0,
-          };
-        }
-      } else {
-        //处理行的合并
-        if (this.indexArrEquity.includes(rowIndex)) {
-          if (columnIndex === 0) {
-            return {
-              rowspan: 1,
-              colspan: 2,
-            };
-          } else if (columnIndex === 1) {
-            return {
-              rowspan: 0,
-              colspan: 0,
-            };
-          }
-        }
-        // 权益行业主客观合并
-        const _row = this.spanArrEquity[rowIndex];
-        if (_row == 2) {
-          // 为2 是主客观都有,合并,这时合并行业和产品类型
-          if (columnIndex === 0) {
-            return {
-              rowspan: 1,
-              colspan: 2,
-            };
-          } else if (columnIndex === 1) {
-            return {
-              rowspan: 0,
-              colspan: 0,
-            };
-          }
-        } else if (_row == 0) {
-          // 为0 表示不需要这行,被合并掉了
-          return {
-            rowspan: _row,
-            colspan: 0,
-          };
-        } else if (_row == 1.5) {
-          // 为1.5 是主客观都有,但不合并,这时合并行业
-          if (columnIndex === 0) {
-            return {
-              rowspan: 2,
-              colspan: 1,
-            };
-          }
-        } else if (_row == 0.5) {
-          if (columnIndex === 0) {
-            return {
-              rowspan: 0,
-              colspan: 0,
-            };
-          }
-        }
-      }
+
+      const result = Array.from(resultMap.values());
+      this.filterAuth = result;
     },
     // 查看
     lookNumber() {