From 03c275439949875a857538df89a41696642c42b3 Mon Sep 17 00:00:00 2001
From: zhangwei <1504152376@qq.com>
Date: 星期一, 01 九月 2025 17:15:39 +0800
Subject: [PATCH] '首页公告与详情'

---
 src/views/mine/index.vue |  138 ++++++++++++++++++++++++++++++++++-----------
 1 files changed, 104 insertions(+), 34 deletions(-)

diff --git a/src/views/mine/index.vue b/src/views/mine/index.vue
index 91d9e6e..f2fa258 100644
--- a/src/views/mine/index.vue
+++ b/src/views/mine/index.vue
@@ -12,14 +12,29 @@
 import { Edit } from "@element-plus/icons-vue";
 import { enterpriseTypes } from "@/api/register/index";
 import { initRouter, getTopMenu, handleAliveRoute } from "@/router/utils";
-
+const isManager = useUserStoreHook().isManager;
+import { type CusExtendDto } from "@/utils/auth";
 const ruleFormRef = ref<FormInstance>();
 const isLoading = ref(false);
 const showDialog = ref(false);
 const nowRole = computed(() => {
-  return useUserStoreHook()?.nowRole;
+  if (!state?.ruleForm?.exRoles) {
+    return {};
+  }
+  let nowRoleLiet;
+  let obj = {};
+  let nowRole = useUserStoreHook()?.nowRole;
+  if (state?.ruleForm?.exRoles.length > 1) {
+    nowRoleLiet = state.ruleForm.exRoles.find(item => {
+      return item.exRoleId == nowRole.id;
+    });
+    obj = Object.assign(nowRole, nowRoleLiet);
+  } else {
+    obj = Object.assign(nowRole, state.ruleForm.exRoles[0]);
+  }
+  return obj;
 });
-const userInfo = computed(() => {
+const userInfo = computed<CusExtendDto>(() => {
   let obj = useUserStoreHook().enterpriseInfo;
   return obj;
 });
@@ -78,7 +93,9 @@
     // 浼佷笟寮�鎴疯
     bankName: null, // string锛屽彲绌�
     // 浼佷笟閾惰璐﹀彿
-    bankAccount: null // string锛屽彲绌�
+    bankAccount: null, // string锛屽彲绌�
+    bankAccountIMG: null,
+    exRoles: null
   },
   enterpriseList: [],
   type: "",
@@ -163,13 +180,13 @@
         message: "璇疯緭鍏ユ纭殑鎵嬫満鍙风爜",
         trigger: "blur"
       }
-    ],
-    bankName: [
-      { required: true, message: "璇疯緭鍏ヤ紒涓氬紑鎴疯", trigger: "blur" }
-    ],
-    bankAccount: [
-      { required: true, message: "璇疯緭鍏ヤ紒涓氶摱琛岃处鍙�", trigger: "blur" }
     ]
+    // bankName: [
+    //   { required: true, message: "璇疯緭鍏ヤ紒涓氬紑鎴疯", trigger: "blur" }
+    // ],
+    // bankAccount: [
+    //   { required: true, message: "璇疯緭鍏ヤ紒涓氶摱琛岃处鍙�", trigger: "blur" }
+    // ]
   },
   loading: {
     signIn: false
@@ -195,10 +212,19 @@
   // nowRole.value = useUserStoreHook()?.nowRole;
   if (nowRole.value) {
     state.ruleForm.transactionCode = nowRole.value.code;
+    // let nowRoleLiet;
+    // if (state.ruleForm.exRoles.length > 1) {
+    //   nowRoleLiet = state.ruleForm.exRoles.find(item => {
+    //     return item.exRoleId == nowRole.value.id;
+    //   });
+    //   nowRole.value = Object.assign(nowRole.value, nowRoleLiet);
+    // } else {
+    //   nowRole.value = Object.assign(nowRole.value, state.ruleForm.exRoles[0]);
+    // }
     // state.userInfo.transactionName = nowRole.value.name;
   } else {
-    state.ruleForm.transactionCode = route.query.code;
-    state.userInfo.enterpriseTypeName = route.query.name;
+    state.ruleForm.transactionCode = route.query.code as string;
+    // state.userInfo.enterpriseTypeName = route.query.name;
   }
   let restypes = await enterpriseTypes();
   state.enterpriseList = restypes?.result;
@@ -338,6 +364,22 @@
     });
   }
 };
+
+const handlebankAccountIMG: UploadProps["onSuccess"] = (
+  response,
+  uploadFile
+) => {
+  if (response.code == "200") {
+    // state.ruleForm.businessLicense = URL.createObjectURL(uploadFile.raw!);
+    state.ruleForm.bankAccountIMG = response.result;
+  } else {
+    message(response.message, {
+      type: "error"
+    });
+  }
+  isLoading.value = false;
+};
+
 defineOptions({
   name: "mine"
 });
@@ -360,8 +402,8 @@
           <div class="cell-item">浜ゆ槗涓讳綋</div>
         </template>
         {{ nowRole?.name }}
-        <el-tag v-if="userInfo.steps == 2" type="success">瀹℃牳宸查�氳繃 </el-tag>
-        <el-tag v-else-if="userInfo.steps == 3" type="danger"
+        <el-tag v-if="nowRole.steps == 2" type="success">瀹℃牳宸查�氳繃 </el-tag>
+        <el-tag v-else-if="nowRole.steps == 3" type="danger"
           >璧勬枡鏈�氳繃
         </el-tag>
         <el-tag v-else type="warning">璧勬枡瀹℃牳涓� </el-tag>
@@ -404,7 +446,7 @@
         <template #label>
           <div class="cell-item">鑱旂郴鐢佃瘽</div>
         </template>
-        {{ userInfo.legalRepresentativePhone }}
+        {{ userInfo.enterprisePhone }}
       </el-descriptions-item>
       <el-descriptions-item>
         <template #label>
@@ -479,8 +521,16 @@
         </template>
         {{ userInfo.bankAccount }}
       </el-descriptions-item>
+      <el-descriptions-item>
+        <template #label>
+          <div class="cell-item">閾惰鏀舵浜岀淮鐮�</div>
+        </template>
+        <span style="margin-right: auto" @click="showImg('bankAccountIMG')">
+          <el-link type="primary" underline>鏌ョ湅浜岀淮鐮�</el-link>
+        </span>
+      </el-descriptions-item>
     </el-descriptions>
-    <div class="m-5">
+    <div v-if="isManager" class="m-5">
       <el-button type="primary" :icon="Edit" @click="() => (showDialog = true)"
         >淇敼璧勬枡</el-button
       >
@@ -556,8 +606,8 @@
                   <img
                     v-if="state.ruleForm.businessLicense"
                     :src="state.ruleForm.businessLicense"
-                    width="200px"
-                    height="150px"
+                    width="80px"
+                    height="50px"
                   />
                   <el-button v-else type="primary">涓婁紶</el-button>
                 </el-upload>
@@ -652,7 +702,43 @@
                 />
               </el-form-item>
             </el-col>
+            <el-col :xs="24" :sm="24" :md="12" :lg="8" :xl="8">
+              <el-form-item label="寮�鎴疯" prop="bankName">
+                <el-input
+                  v-model="state.ruleForm.bankName"
+                  placeholder="璇疯緭鍏�"
+                />
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="24" :md="24" :lg="16" :xl="16">
+              <el-form-item label="閾惰璐﹀彿" prop="bankAccount">
+                <el-input
+                  v-model="state.ruleForm.bankAccount"
+                  placeholder="璇疯緭鍏�"
+                />
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
+              <el-form-item label="寮�鎴疯鏀舵浜岀淮鐮�" prop="bankAccountIMG">
+                <el-upload
+                  :action="`${baseUrlApi('/api/upFile/file')}`"
+                  :show-file-list="false"
+                  :on-success="handlebankAccountIMG"
+                  :before-upload="beforeAvatarUpload"
+                  :headers="state.headers"
+                >
+                  <img
+                    v-if="state.ruleForm.bankAccountIMG"
+                    :src="state.ruleForm.bankAccountIMG"
+                    width="85.6px"
+                    height="5.4px"
+                  />
+                  <el-button v-else type="primary">涓婁紶</el-button>
+                </el-upload>
+              </el-form-item>
+            </el-col>
           </el-row>
+
           <el-row>
             <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
               <el-form-item label="娉曞畾浠h〃浜�" prop="legalRepresentativeIdCard">
@@ -746,22 +832,6 @@
               <el-form-item label="鑱旂郴鐢佃瘽" prop="operatorPhone">
                 <el-input
                   v-model="state.ruleForm.operatorPhone"
-                  placeholder="璇疯緭鍏�"
-                />
-              </el-form-item>
-            </el-col>
-            <el-col :xs="24" :sm="24" :md="12" :lg="8" :xl="8">
-              <el-form-item label="寮�鎴疯" prop="bankName">
-                <el-input
-                  v-model="state.ruleForm.bankName"
-                  placeholder="璇疯緭鍏�"
-                />
-              </el-form-item>
-            </el-col>
-            <el-col :xs="24" :sm="24" :md="24" :lg="16" :xl="16">
-              <el-form-item label="閾惰璐﹀彿" prop="bankAccount">
-                <el-input
-                  v-model="state.ruleForm.bankAccount"
                   placeholder="璇疯緭鍏�"
                 />
               </el-form-item>

--
Gitblit v1.9.1