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