From 2801f5c8ceb1b7ddb77e79d757160c5cb89ff067 Mon Sep 17 00:00:00 2001
From: zhangwei <1504152376@qq.com>
Date: 星期一, 04 八月 2025 17:11:39 +0800
Subject: [PATCH] 个人资料更改

---
 src/views/mine/index.vue |  127 ++++++++++++++++++++++++------------------
 1 files changed, 72 insertions(+), 55 deletions(-)

diff --git a/src/views/mine/index.vue b/src/views/mine/index.vue
index 9e9b734..48649b8 100644
--- a/src/views/mine/index.vue
+++ b/src/views/mine/index.vue
@@ -4,25 +4,23 @@
 import { useUserStoreHook } from "@/store/modules/user";
 import type { FormInstance, FormRules, UploadProps } from "element-plus";
 import { cloneDeep } from "@pureadmin/utils";
-import { onMounted, reactive, ref, watch } from "vue";
+import { onMounted, reactive, ref, watch, computed, onBeforeUpdate } from "vue";
 import { getToken } from "@/utils/auth";
 const { route } = useNav();
 import { baseUrlApi } from "@/api/util";
 import { cusExtendInfo, changeCusExtend } from "@/api/mine";
 import { Edit } from "@element-plus/icons-vue";
 import { enterpriseTypes } from "@/api/register/index";
-
-import {
-  addDialog,
-  closeDialog,
-  updateDialog,
-  closeAllDialog
-} from "@/components/ReDialog";
-
 const ruleFormRef = ref<FormInstance>();
 const isLoading = ref(false);
 const showDialog = ref(false);
-const nowRole = ref({});
+const nowRole = computed(() => {
+  return useUserStoreHook()?.nowRole;
+});
+const userInfo = computed(() => {
+  let obj = useUserStoreHook().enterpriseInfo;
+  return obj;
+});
 const state = reactive({
   userInfo: useUserStoreHook().enterpriseInfo,
   headers: {
@@ -40,7 +38,7 @@
     // 浜ゆ槗涓讳綋浠g爜锛堝悓瑙掕壊浠g爜锛屼笉鍙┖锛屾渶灏忛暱搴︿负1锛�
     transactionCode: "", // string锛屽繀濉�
     // 浜ゆ槗涓讳綋鍚嶇О
-    transactionName: null, // string锛屽彲绌�
+    transactionName: "", // string锛屽彲绌�
     // 钀ヤ笟鎵х収鏂囦欢璺緞
     businessLicense: null, // string锛屽彲绌�
     // 浼佷笟鍚嶇О
@@ -186,24 +184,28 @@
   expirySeconds: 60, // 楠岃瘉鐮佽繃鏈熸椂闂�
   phoneSeconds: 0, // 鎵嬫満楠岃瘉鐮佸�掕鏃�
   roleList: [],
-  showDialog: false
+  showDialog: false,
+  srcList: []
 });
 onMounted(async () => {
   state.ruleForm = cloneDeep(state.userInfo);
   state.ruleForm.enterpriseType = state.ruleForm.enterpriseType.split(",");
-  nowRole.value = useUserStoreHook()?.nowRole;
-  console.log(nowRole.value);
+  // nowRole.value = useUserStoreHook()?.nowRole;
   if (nowRole.value) {
     state.ruleForm.transactionCode = nowRole.value.code;
-    state.userInfo.transactionName = nowRole.value.name;
+    // state.userInfo.transactionName = nowRole.value.name;
   } else {
     state.ruleForm.transactionCode = route.query.code;
     state.userInfo.enterpriseTypeName = route.query.name;
   }
-
   let restypes = await enterpriseTypes();
   state.enterpriseList = restypes?.result;
 });
+const showPreview = ref(false);
+const showImg = (name: string | number) => {
+  showPreview.value = true;
+  state.srcList = [state.ruleForm[name]];
+};
 const isLeaf = data => {
   data.forEach(item => {
     if (!item.child) {
@@ -223,24 +225,24 @@
   }
 };
 
-const showImg = name => {
-  addDialog({
-    width: "40%",
-    title: "鏌ョ湅钀ヤ笟鎵х収",
-    contentRenderer: () => <img src={state.userInfo[name]} />, // jsx 璇硶 锛堟敞鎰忓湪.vue鏂囦欢鍚敤jsx璇硶锛岄渶瑕佸湪script寮�鍚痩ang="tsx"锛�
-    closeCallBack: ({ options, args }) => {
-      // options.props 鏄搷搴斿紡鐨�
-      // const { formInline } = options.props as FormProps;
-      // const text = `濮撳悕锛�${formInline.user} 鍩庡競锛�${formInline.region}`;
-      if (args?.command === "cancel") {
-        // 鎮ㄧ偣鍑讳簡鍙栨秷鎸夐挳
-        // active.value -= 1;
-      } else if (args?.command === "sure") {
-      } else {
-      }
-    }
-  });
-};
+// const showImg = name => {
+//   addDialog({
+//     width: "40%",
+//     title: "鏌ョ湅钀ヤ笟鎵х収",
+//     contentRenderer: () => <img src={state.userInfo[name]} />, // jsx 璇硶 锛堟敞鎰忓湪.vue鏂囦欢鍚敤jsx璇硶锛岄渶瑕佸湪script寮�鍚痩ang="tsx"锛�
+//     closeCallBack: ({ options, args }) => {
+//       // options.props 鏄搷搴斿紡鐨�
+//       // const { formInline } = options.props as FormProps;
+//       // const text = `濮撳悕锛�${formInline.user} 鍩庡競锛�${formInline.region}`;
+//       if (args?.command === "cancel") {
+//         // 鎮ㄧ偣鍑讳簡鍙栨秷鎸夐挳
+//         // active.value -= 1;
+//       } else if (args?.command === "sure") {
+//       } else {
+//       }
+//     }
+//   });
+// };
 const handleAvatarSuccess: UploadProps["onSuccess"] = (
   response,
   uploadFile
@@ -321,7 +323,9 @@
   let res = await changeCusExtend(obj);
   if (res.code == "200") {
     showDialog.value = false;
-    await useUserStoreHook().getCusExtendInfo();
+    await useUserStoreHook().changeLogoInExRule({
+      ruleCode: useUserStoreHook().nowRole.code
+    });
     message("淇敼鎴愬姛锛�", {
       type: "success"
     });
@@ -338,7 +342,13 @@
 
 <template>
   <div>
-    <el-descriptions class="margin-top" title="" :column="3" border>
+    <el-descriptions
+      v-if="state.userInfo.enterpriseName"
+      class="margin-top"
+      title=""
+      :column="3"
+      border
+    >
       <!-- <template #extra>
       <el-button type="primary">Operation</el-button>
     </template> -->
@@ -346,14 +356,15 @@
         <template #label>
           <div class="cell-item">浜ゆ槗涓讳綋</div>
         </template>
-        {{ state.userInfo.transactionName }}
-        <el-tag v-if="!nowRole.hasFlsh" type="danger">璧勬枡瀹℃牳涓� </el-tag>
+        {{ nowRole?.name }}
+        <el-tag v-if="nowRole?.hasFlsh" type="success">瀹℃牳宸查�氳繃 </el-tag>
+        <el-tag v-else type="danger">璧勬枡瀹℃牳涓� </el-tag>
       </el-descriptions-item>
       <el-descriptions-item>
         <template #label>
           <div class="cell-item">浼佷笟鍚嶇О</div>
         </template>
-        {{ state.userInfo.enterpriseName }}
+        {{ userInfo.enterpriseName }}
 
         <span @click="showImg('businessLicense')">
           <el-link type="primary" underline>鏌ョ湅钀ヤ笟鎵х収</el-link>
@@ -363,62 +374,62 @@
         <template #label>
           <div class="cell-item">缁熶竴绀句細淇$敤浠g爜</div>
         </template>
-        {{ state.userInfo.unifiedSocialCreditCode }}
+        {{ userInfo.unifiedSocialCreditCode }}
       </el-descriptions-item>
       <el-descriptions-item>
         <template #label>
           <div class="cell-item">娉ㄥ唽璧勯噾</div>
         </template>
-        {{ state.userInfo.registeredCapital }}
+        {{ userInfo.registeredCapital }}
       </el-descriptions-item>
       <el-descriptions-item :span="2">
         <template #label>
           <div class="cell-item">浼佷笟绫诲瀷</div>
         </template>
-        {{ state.userInfo.enterpriseType }}
+        {{ userInfo.enterpriseType }}
       </el-descriptions-item>
       <el-descriptions-item>
         <template #label>
           <div class="cell-item">浣忔墍鍦�</div>
         </template>
-        {{ state.userInfo.residence }}
+        {{ userInfo.residence }}
       </el-descriptions-item>
       <el-descriptions-item>
         <template #label>
           <div class="cell-item">鑱旂郴鐢佃瘽</div>
         </template>
-        {{ state.userInfo.legalRepresentativePhone }}
+        {{ userInfo.legalRepresentativePhone }}
       </el-descriptions-item>
       <el-descriptions-item>
         <template #label>
           <div class="cell-item">鎴愮珛鏃堕棿</div>
         </template>
-        {{ state.userInfo.establishmentTime }}
+        {{ userInfo.establishmentTime }}
       </el-descriptions-item>
       <el-descriptions-item :span="2">
         <template #label>
           <div class="cell-item">鐢靛瓙閭</div>
         </template>
-        {{ state.userInfo.enterpriseEmail }}
+        {{ userInfo.enterpriseEmail }}
       </el-descriptions-item>
       <el-descriptions-item :span="3" label-width="100">
         <template #label>
           <div class="cell-item">涓昏惀涓氬姟</div>
         </template>
-        {{ state.userInfo.mainBusiness }}
+        {{ userInfo.mainBusiness }}
       </el-descriptions-item>
 
       <el-descriptions-item>
         <template #label>
           <div class="cell-item">娉曞畾浠h〃浜�</div>
         </template>
-        {{ state.userInfo.legalRepresentativeName }}
+        {{ userInfo.legalRepresentativeName }}
       </el-descriptions-item>
       <el-descriptions-item>
         <template #label>
           <div class="cell-item">韬唤璇�</div>
         </template>
-        {{ state.userInfo.legalRepresentativeIdNumber }}
+        {{ userInfo.legalRepresentativeIdNumber }}
         <span @click="showImg('legalRepresentativeIdCard')">
           <el-link type="primary" underline>鏌ョ湅韬唤璇�</el-link>
         </span>
@@ -427,19 +438,19 @@
         <template #label>
           <div class="cell-item">鑱旂郴鐢佃瘽</div>
         </template>
-        {{ state.userInfo.legalRepresentativePhone }}
+        {{ userInfo.legalRepresentativePhone }}
       </el-descriptions-item>
       <el-descriptions-item>
         <template #label>
           <div class="cell-item">涓氬姟缁忓姙浜�</div>
         </template>
-        {{ state.userInfo.operatorName }}
+        {{ userInfo.operatorName }}
       </el-descriptions-item>
       <el-descriptions-item>
         <template #label>
           <div class="cell-item">韬唤璇�</div>
         </template>
-        {{ state.userInfo.operatorIdNumber }}
+        {{ userInfo.operatorIdNumber }}
         <span style="margin-right: auto" @click="showImg('operatorIdCard')">
           <el-link type="primary" underline>鏌ョ湅韬唤璇�</el-link>
         </span>
@@ -448,19 +459,19 @@
         <template #label>
           <div class="cell-item">鑱旂郴鐢佃瘽</div>
         </template>
-        {{ state.userInfo.operatorPhone }}
+        {{ userInfo.operatorPhone }}
       </el-descriptions-item>
       <el-descriptions-item>
         <template #label>
           <div class="cell-item">寮�鎴烽摱琛�</div>
         </template>
-        {{ state.userInfo.bankName }}
+        {{ userInfo.bankName }}
       </el-descriptions-item>
       <el-descriptions-item>
         <template #label>
           <div class="cell-item">閾惰璐﹀彿</div>
         </template>
-        {{ state.userInfo.bankAccount }}
+        {{ userInfo.bankAccount }}
       </el-descriptions-item>
     </el-descriptions>
     <div class="m-5">
@@ -761,6 +772,12 @@
         </span>
       </template>
     </el-dialog>
+    <el-image-viewer
+      v-if="showPreview"
+      :url-list="state.srcList"
+      show-progress
+      @close="showPreview = false"
+    />
   </div>
 </template>
 

--
Gitblit v1.9.1