From bb576469eb1e2cb2bf8e1717902702ca28f5ef65 Mon Sep 17 00:00:00 2001
From: zhangwei <1504152376@qq.com>
Date: 星期一, 28 七月 2025 17:20:56 +0800
Subject: [PATCH] '-'

---
 src/views/register/registernav.vue |   94 ++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 76 insertions(+), 18 deletions(-)

diff --git a/src/views/register/registernav.vue b/src/views/register/registernav.vue
index 71e7ddf..1ccf111 100644
--- a/src/views/register/registernav.vue
+++ b/src/views/register/registernav.vue
@@ -113,7 +113,11 @@
           <!-- <p class="text-center xieyi">娉ㄥ唽鍗忚</p> -->
         </div>
       </div>
-      <div v-else-if="active == 1" class="flex justify-center mt-5">
+      <div
+        v-else-if="active == 1"
+        v-loading="isLoading"
+        class="flex justify-center mt-5"
+      >
         <el-form
           ref="ruleFormRef"
           style="width: 95%"
@@ -124,7 +128,20 @@
           <el-row>
             <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
               <el-form-item label="浼佷笟绫诲瀷" prop="enterpriseType">
-                <el-select
+                <el-tree-select
+                  v-model="state.ruleForm.enterpriseType"
+                  :data="state.enterpriseList"
+                  multiple
+                  node-key="name"
+                  :render-after-expand="false"
+                  show-checkbox
+                  check-strictly
+                  check-on-click-node
+                  :load="loadNode"
+                  lazy
+                  :props="{ label: 'name', children: 'child', isLeaf: 'leaf' }"
+                />
+                <!-- <el-select
                   v-model="state.ruleForm.enterpriseType"
                   placeholder="璇烽�夋嫨"
                   clearable
@@ -136,7 +153,7 @@
                     :label="item.name"
                     :value="item.code"
                   />
-                </el-select>
+                </el-select> -->
               </el-form-item>
             </el-col>
           </el-row>
@@ -416,6 +433,8 @@
 import { cloneDeep } from "@pureadmin/utils";
 import { getToken } from "@/utils/auth";
 import { useRoute, useRouter } from "vue-router";
+import { changeCusExtend } from "@/api/mine";
+
 const router = useRouter();
 const { route } = useNav();
 
@@ -423,6 +442,8 @@
   name: "RegisterNav"
 });
 const ruleFormRef = ref<FormInstance>();
+const isLoading = ref(false);
+const isFirst = ref(true);
 const state = reactive({
   headers: {
     // Accept: "application/json, text/plain, */*",
@@ -591,20 +612,51 @@
 };
 // 椤甸潰鍒濆鍖�
 onMounted(async () => {
-  let nowRole = useUserStoreHook()?.exRoles;
-  if (nowRole.length >= 1 && !route.query.code) {
-    state.ruleForm.transactionCode = nowRole[0].code;
-  } else {
-    state.ruleForm.transactionCode = route.query.code;
-  }
+  // let res = await useUserStoreHook().getCusExtendInfo();
+  // if (res.code == 200) {
+  //   state.ruleForm = res.result;
+  //   if (res.result.enterpriseType) {
+  //     isFirst.value = false;
+  //   }
+  //   state.ruleForm.enterpriseType = state.ruleForm.enterpriseType.split(",");
+  //   console.log(state.ruleForm.enterpriseType, "state.ruleForm.enterpriseType");
+  // } else {
+  //   message(res.message, {
+  //     type: "error"
+  //   });
+  // }
 
-  let res = await enterpriseTypes();
-  state.enterpriseList = res?.result;
+  let nowRole = useUserStoreHook()?.nowRole;
+  console.log(nowRole);
+  state.ruleForm.transactionCode = route.query.code;
+  if (nowRole?.code == useUserStoreHook().enterpriseInfo.transactionCode) {
+    state.ruleForm = cloneDeep(useUserStoreHook().enterpriseInfo);
+    state.ruleForm.enterpriseType = state.ruleForm.enterpriseType.split(",");
+    isFirst.value = false;
+  }
+  let resTypes = await enterpriseTypes();
+  state.enterpriseList = resTypes?.result;
 });
+const isLeaf = data => {
+  data.forEach(item => {
+    if (!item.child) {
+      item.leaf = true;
+    }
+  });
+};
+const loadNode = (node, resolve) => {
+  if (node.level === 0) {
+    isLeaf(node.data);
+    return resolve(node.data);
+  } else if (node.level > 0 && node.data.child) {
+    isLeaf(node.data.child);
+    return resolve(node.data.child);
+  } else {
+    return resolve([]);
+  }
+};
 let active = ref(0);
 const nextStep = async (formEl: FormInstance | undefined) => {
-  console.log(state.ruleForm);
-
   if (active.value >= 1) {
     if (!formEl) return;
     await formEl.validate((valid, fields) => {
@@ -631,14 +683,10 @@
           }
         });
         return;
-      } else {
-        return;
-        console.log("error submit!", fields);
       }
     });
     return;
   }
-
   active.value += 1;
 };
 const backStep = () => {
@@ -648,8 +696,14 @@
 const sumbitData = async () => {
   let obj = cloneDeep(state.ruleForm);
   obj.enterpriseType = state.ruleForm.enterpriseType.join(",");
-  let res = await createrExRolsInformation(obj);
+  let res = isFirst.value
+    ? await createrExRolsInformation(obj)
+    : await changeCusExtend(obj);
   if (res.code == "200") {
+    await useUserStoreHook().changeLogoInExRule({
+      ruleCode: state.ruleForm.transactionCode
+    });
+    await useUserStoreHook().getCusExtendInfo();
     active.value = 3;
   } else {
     message(res.message, {
@@ -677,6 +731,7 @@
       type: "error"
     });
   }
+  isLoading.value = false;
 };
 
 const handleAvatarSuccessLegalRepresentative: UploadProps["onSuccess"] = (
@@ -694,6 +749,7 @@
       type: "error"
     });
   }
+  isLoading.value = false;
 };
 
 const handleAvatarSuccessOperator: UploadProps["onSuccess"] = (
@@ -711,9 +767,11 @@
       type: "error"
     });
   }
+  isLoading.value = false;
 };
 
 const beforeAvatarUpload: UploadProps["beforeUpload"] = rawFile => {
+  isLoading.value = true;
   // if (rawFile.type !== "image/jpeg") {
   //   message(`璇蜂笂浼爅peg绫诲瀷鐨勫浘鐗嘸, {
   //     type: "error"

--
Gitblit v1.9.1