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