Sfoglia il codice sorgente

内部机构只保留三级

@dongkboy 2 anni fa
parent
commit
1a2149ed6e
1 ha cambiato i file con 28 aggiunte e 8 eliminazioni
  1. 28 8
      src/views/AgreementManage/CarInsurance/AgreementEntry.vue

+ 28 - 8
src/views/AgreementManage/CarInsurance/AgreementEntry.vue

@@ -90,7 +90,7 @@
             <el-form-item>
               <kt-button label="查询" :size="overSize" type="primary" perms="agreement:input:query" @click="queryEsmInfo" />
               <el-button :disabled="agreementSelectionList.length == 0" label="批量修改" :size="overSize" type="primary"
-                @click="agreementSelectionVisible = true">批量修改</el-button>
+                @click="agreementSelectionVisible = true" style="color:#fff">批量修改</el-button>
               <kt-button label="添加协议" style="background-color: #2D4D89;border-color:#2D4D89;" :size="overSize"
                 type="success" perms="agreement:input:add" @click="handleAdd" />
             </el-form-item>
@@ -283,8 +283,8 @@
                 <el-col :span="12">
                   <el-form-item label="内部机构" prop="deptId">
                     <el-select v-model="labelData" placeholder="请选择" :popper-append-to-body="false" style="width: 100%">
-                      <el-option :value="selectTree" class="deptOption" disabled>
-                        <el-tree :data="treedata" :props="defaultProps" ref="tree" :highlight-current="true"
+                      <el-option :value="selectTree" class="deptOption">
+                        <el-tree :data="internalDept" :props="defaultProps" ref="tree" :highlight-current="true"
                           @node-click="handleNodeClick" default-expand-all></el-tree>
                       </el-option>
                     </el-select>
@@ -562,7 +562,7 @@
             <span>费用</span>
           </div>
         </div>
-        <el-button class="mrgin-1" size="small" type="warning" v-if="!tableRowForm.isExternal" 
+        <el-button class="mrgin-1" size="small" type="warning" v-if="!tableRowForm.isExternal"
           @click="productCostFactorDialogVisible = true">产品费用因子</el-button>
         <el-form ref="productCostForm" :model="productCostForm" label-width="140px" :size="overSize"
           :rules="costformRules">
@@ -1925,6 +1925,7 @@ export default {
       //产品list获取
       roductList1: [], //产品绑定list
       treedata: [], //授权结构树
+      internalDept: [],//内部机构
       defaultProps: {
         //自定义参数
         children: "children",
@@ -2311,6 +2312,7 @@ export default {
       agreementSelectionList: [],//批量修改id集合
       agreementvalidStatus: "",
       agreementSelectionVisible: false,
+
     };
   },
   computed: {
@@ -2389,6 +2391,7 @@ export default {
     });
     this.$api.dept.findDeptTree("9", "").then((res) => {
       this.treedata = res.data;
+      this.internalDept = this.internalOrgTree(res.data);
     });
     this.$api.insCompany.shutdown().then((res) => {
       this.permissions = res.data;
@@ -2414,6 +2417,22 @@ export default {
     this.findLeftTreeData();
   },
   methods: {
+    internalOrgTree(data, currentLevel = 1, maxLevel = 4) {
+      return data.map(item => {
+        const newItem = item; // 复制当前节点,使用对象扩展运算符
+        // 如果当前层级小于最大层级,递归处理子节点
+        if (currentLevel < maxLevel && item.children && item.children.length > 0) {
+          newItem.children = this.internalOrgTree(item.children, currentLevel + 1, maxLevel);
+        }
+        // 当到达最大层级时,清空 children
+        if (currentLevel === maxLevel) {
+          newItem.children = []; // 删除第三层的 children
+        }
+        return newItem;
+      }).filter(item => {
+        return item.name === '总部' || (item.deptType === 'C');
+      });
+    },
     agreementSelectionSubmit() {
       this.$api.insCompany.agreementSelection({
         agreementIds: this.agreementSelectionList,
@@ -2928,7 +2947,7 @@ export default {
     },
     //产品费用
     productCost(index, row) {
-      console.log(row,1111111111111);
+      console.log(row, 1111111111111);
       this.insuranceCompanyId = row.insuranceCompanyId;
       this.tableRowForm = row;
       this.agreementId = row.id;
@@ -3314,12 +3333,12 @@ export default {
       this.agreementId = row.id;
       this.operType = "EDIT";
       this.dialogTitle = "协议编辑";
-      this.productFilterList=[]
+      this.productFilterList = []
       this.$api.insCompany.agreementId(row.id).then((res) => {
         if (res.code == "200") {
           let scheme = res.data.scheme;
           if (res.data.agreement.productsCode) {
-            let productsCodeList =res.data.agreement.productsCode!=null? res.data.agreement.productsCode.split(","):[]
+            let productsCodeList = res.data.agreement.productsCode != null ? res.data.agreement.productsCode.split(",") : []
             this.productFilterList = productsCodeList;
           }
           this.agreement = res.data.agreement; //协议信息
@@ -4162,4 +4181,5 @@ export default {
 .depttree {
   padding: 4px 20px;
   font-weight: 400;
-}</style>
+}
+</style>