Explorar o código

协议管理保险公司禁用子节点选择

@dongkboy hai 5 meses
pai
achega
fa52aeb472
Modificáronse 1 ficheiros con 23 adicións e 2 borrados
  1. 23 2
      src/views/quoteConfig/agreement/agreementAdd.vue

+ 23 - 2
src/views/quoteConfig/agreement/agreementAdd.vue

@@ -88,7 +88,7 @@
           </ElCol>
           <ElCol :md="24" :lg="6">
               <el-form-item label="合作保险公司" prop="companyId">
-                  <el-cascader v-model="agreementFrom.partnerCompanyId" style="width: 100%;" filterable clearable :options="companyOptions" :props="companyIdprops" :show-all-levels="false" @change="partnerCompanyIdChange" />
+                  <el-cascader v-model="agreementFrom.partnerCompanyId" style="width: 100%;" filterable clearable :options="companyOptions1" :props="companyIdprops" :show-all-levels="false" @change="partnerCompanyIdChange" />
               </el-form-item>
           </ElCol>
           <ElCol :md="24" :lg="6">
@@ -238,6 +238,7 @@ const router = useRouter();
 const id = ref(route.query.id as string);//id参数
 const deptOptions = ref([])//机构数据
 const companyOptions = ref()//保险公司数据
+const companyOptions1 = ref()//保险公司数据
 const agreementFromRef = ref<FormInstance>()
 const fromSize = ref<ComponentSize>('large')
 const imageName = ref('');//文件名称
@@ -467,7 +468,10 @@ const getDeptTree = () => {
 const company = () => {
   api.agreementApi.findTree({ name: "", systemCode: localStorage.getItem('login_system') }).then((res: any) => {
     if (res.code == '200') {
-      companyOptions.value = res.data;
+      console.log(res.data)
+      companyOptions.value = processCompanyOptions(res.data);
+      companyOptions1.value = res.data;
+
     } else {
       ElMessage({
         type: 'error',
@@ -477,6 +481,23 @@ const company = () => {
     }
   });
 }
+// 处理公司选项数据,禁用 parentId 不为 0 的选项
+function processCompanyOptions(data:any) {
+  const processNodes = (nodes:any[]) => {
+    return nodes.map((node:any) => {
+      const processedNode = {
+        ...node,
+        disabled: node.parentId !=0,
+      };
+
+      if (node.children && node.children.length > 0) {
+        processedNode.children = processNodes(node.children);
+      }
+      return processedNode;
+    });
+  };
+  return processNodes(data);
+}
 //选择管理人
 interface managerlist {
   id: string,