From 157476e37c39931ee026a2ca6fde0d09383884d3 Mon Sep 17 00:00:00 2001 From: zhangwei <1504152376@qq.com> Date: 星期五, 01 八月 2025 15:53:50 +0800 Subject: [PATCH] '企业资料审核' --- Web/src/views/Customer/fBS_CusExtend/component/editDialog.vue | 210 +++++++++++++++++++++++++++++++++++----------------- 1 files changed, 141 insertions(+), 69 deletions(-) diff --git a/Web/src/views/Customer/fBS_CusExtend/component/editDialog.vue b/Web/src/views/Customer/fBS_CusExtend/component/editDialog.vue index 9d15c02..d335c35 100644 --- a/Web/src/views/Customer/fBS_CusExtend/component/editDialog.vue +++ b/Web/src/views/Customer/fBS_CusExtend/component/editDialog.vue @@ -4,6 +4,7 @@ import type { FormRules } from "element-plus"; import { formatDate } from '/@/utils/formatTime'; import { useFBS_CusExtendApi } from '/@/api/Customer/fBS_CusExtend'; +import { deepClone } from '/@/utils/other' //鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟 const emit = defineEmits(["reloadTable"]); @@ -17,6 +18,8 @@ ruleForm: {} as any, stores: {}, dropdownData: {} as any, + enterpriseList:[], + roleList:[] }); // 鑷娣诲姞鍏朵粬瑙勫垯 @@ -46,10 +49,13 @@ }); // 鎵撳紑寮圭獥 -const openDialog = async (row: any, title: string) => { +const openDialog = async (row: any, title: string, qiyeList,roleList) => { + state.roleList = roleList + state.enterpriseList = qiyeList state.title = title; row = row ?? { }; state.ruleForm = row.id ? await fBS_CusExtendApi.detail(row.id).then(res => res.data.result) : JSON.parse(JSON.stringify(row)); + state.ruleForm.enterpriseType = state.ruleForm.enterpriseType.split(","); state.showDialog = true; }; @@ -74,13 +80,30 @@ } }); }; - +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([]); + } +}; //灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠� defineExpose({ openDialog }); </script> <template> <div class="fBS_CusExtend-container"> - <el-dialog v-model="state.showDialog" :width="800" draggable :close-on-click-modal="false"> + <el-dialog v-model="state.showDialog" :width="'80%'" draggable :close-on-click-modal="false"> <template #header> <div style="color: #fff"> <span>{{ state.title }}</span> @@ -91,121 +114,170 @@ <el-form-item v-show="false"> <el-input v-model="state.ruleForm.id" /> </el-form-item> - <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20" > + <!-- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20" > <el-form-item label="鐢ㄦ埛ID" prop="customerId"> <el-input v-model="state.ruleForm.customerId" placeholder="璇疯緭鍏ョ敤鎴稩D" maxlength="19" show-word-limit clearable /> </el-form-item> - </el-col> - <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20" > + </el-col> --> + <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20" > <el-form-item label="浼佷笟绫诲瀷 " prop="enterpriseType"> - <el-input v-model="state.ruleForm.enterpriseType" placeholder="璇疯緭鍏ヤ紒涓氱被鍨� " maxlength="255" show-word-limit clearable /> + <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-input v-model="state.ruleForm.enterpriseType" placeholder="璇疯緭鍏ヤ紒涓氱被鍨� " show-word-limit clearable /> --> </el-form-item> </el-col> - <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20" > - <el-form-item label="浜ゆ槗涓讳綋code" prop="transactionCode"> - <el-input v-model="state.ruleForm.transactionCode" placeholder="璇疯緭鍏ヤ氦鏄撲富浣揷ode" maxlength="255" show-word-limit clearable /> - </el-form-item> - </el-col> - <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20" > - <el-form-item label="钀ヤ笟鎵х収鏂囦欢璺緞" prop="businessLicense"> - <el-input v-model="state.ruleForm.businessLicense" placeholder="璇疯緭鍏ヨ惀涓氭墽鐓ф枃浠惰矾寰�" maxlength="255" show-word-limit clearable /> + <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20" > + <el-form-item label="钀ヤ笟鎵х収" prop="businessLicense"> + <el-image + :src="state.ruleForm.businessLicense" + :zoom-rate="1.2" + :preview-src-list="[state.ruleForm.businessLicense]" + preview-teleported + fit="cover" + style="width:200px;height:150px" + /> + <!-- <el-input v-model="state.ruleForm.businessLicense" placeholder="璇疯緭鍏ヨ惀涓氭墽鐓ф枃浠惰矾寰�" show-word-limit clearable /> --> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20" > <el-form-item label="浼佷笟鍚嶇О" prop="enterpriseName"> - <el-input v-model="state.ruleForm.enterpriseName" placeholder="璇疯緭鍏ヤ紒涓氬悕绉�" maxlength="255" show-word-limit clearable /> + <el-input v-model="state.ruleForm.enterpriseName" placeholder="璇疯緭鍏ヤ紒涓氬悕绉�" show-word-limit clearable /> </el-form-item> </el-col> - <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20" > + <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="8" class="mb20" > <el-form-item label="缁熶竴绀句細淇$敤浠g爜" prop="unifiedSocialCreditCode"> - <el-input v-model="state.ruleForm.unifiedSocialCreditCode" placeholder="璇疯緭鍏ョ粺涓�绀句細淇$敤浠g爜" maxlength="255" show-word-limit clearable /> + <el-input v-model="state.ruleForm.unifiedSocialCreditCode" placeholder="璇疯緭鍏ョ粺涓�绀句細淇$敤浠g爜" show-word-limit clearable /> </el-form-item> </el-col> - <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20" > + <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb20" > + <el-form-item label="浜ゆ槗涓讳綋" prop="transactionCode"> + <el-select + v-model="state.ruleForm.transactionCode" + placeholder="璇烽�夋嫨浜ゆ槗涓讳綋" + clearable + > + <el-option + v-for="item in state.roleList" + :key="item.id" + :label="item.name" + :value="item.code" + /> + </el-select> + <!-- <el-input v-model="state.ruleForm.transactionCode" placeholder="璇疯緭鍏ヤ氦鏄撲富浣�" show-word-limit clearable /> --> + </el-form-item> + </el-col> + <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb20" > <el-form-item label="娉ㄥ唽璧勯噾" prop="registeredCapital"> - <el-input v-model="state.ruleForm.registeredCapital" placeholder="璇疯緭鍏ユ敞鍐岃祫閲�" maxlength="255" show-word-limit clearable /> - </el-form-item> - </el-col> - <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20" > - <el-form-item label="娉曞畾浠h〃浜哄鍚�" prop="legalRepresentativeName"> - <el-input v-model="state.ruleForm.legalRepresentativeName" placeholder="璇疯緭鍏ユ硶瀹氫唬琛ㄤ汉濮撳悕" maxlength="255" show-word-limit clearable /> - </el-form-item> - </el-col> - <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20" > - <el-form-item label="娉曞畾浠h〃浜鸿韩浠借瘉鏂囦欢璺緞" prop="legalRepresentativeIdCard"> - <el-input v-model="state.ruleForm.legalRepresentativeIdCard" placeholder="璇疯緭鍏ユ硶瀹氫唬琛ㄤ汉韬唤璇佹枃浠惰矾寰�" maxlength="255" show-word-limit clearable /> - </el-form-item> - </el-col> - <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20" > - <el-form-item label="娉曞畾浠h〃浜哄鍚�" prop="legalRepresentativeIdNumber"> - <el-input v-model="state.ruleForm.legalRepresentativeIdNumber" placeholder="璇疯緭鍏ユ硶瀹氫唬琛ㄤ汉濮撳悕" maxlength="255" show-word-limit clearable /> - </el-form-item> - </el-col> - <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20" > - <el-form-item label="娉曞畾浠h〃浜哄鍚�" prop="legalRepresentativePhone"> - <el-input v-model="state.ruleForm.legalRepresentativePhone" placeholder="璇疯緭鍏ユ硶瀹氫唬琛ㄤ汉濮撳悕" maxlength="255" show-word-limit clearable /> + <el-input v-model="state.ruleForm.registeredCapital" placeholder="璇疯緭鍏ユ敞鍐岃祫閲�" show-word-limit clearable /> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20" > <el-form-item label="浼佷笟浣忔墍" prop="residence"> - <el-input v-model="state.ruleForm.residence" placeholder="璇疯緭鍏ヤ紒涓氫綇鎵�" maxlength="255" show-word-limit clearable /> + <el-input v-model="state.ruleForm.residence" placeholder="璇疯緭鍏ヤ紒涓氫綇鎵�" show-word-limit clearable /> </el-form-item> </el-col> - <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20" > + <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb20" > <el-form-item label="浼佷笟鑱旂郴鐢佃瘽" prop="enterprisePhone"> - <el-input v-model="state.ruleForm.enterprisePhone" placeholder="璇疯緭鍏ヤ紒涓氳仈绯荤數璇�" maxlength="255" show-word-limit clearable /> + <el-input v-model="state.ruleForm.enterprisePhone" placeholder="璇疯緭鍏ヤ紒涓氳仈绯荤數璇�" show-word-limit clearable /> </el-form-item> </el-col> - <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20" > + <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb20" > <el-form-item label="浼佷笟鎴愮珛鏃堕棿" prop="establishmentTime"> <el-date-picker v-model="state.ruleForm.establishmentTime" type="date" placeholder="浼佷笟鎴愮珛鏃堕棿" /> </el-form-item> </el-col> - <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20" > - <el-form-item label="浼佷笟涓昏惀涓氬姟" prop="mainBusiness"> - <el-input v-model="state.ruleForm.mainBusiness" placeholder="璇疯緭鍏ヤ紒涓氫富钀ヤ笟鍔�" show-word-limit clearable /> - </el-form-item> - </el-col> - <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20" > + <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb20" > <el-form-item label="浼佷笟閭" prop="enterpriseEmail"> - <el-input v-model="state.ruleForm.enterpriseEmail" placeholder="璇疯緭鍏ヤ紒涓氶偖绠�" maxlength="255" show-word-limit clearable /> + <el-input v-model="state.ruleForm.enterpriseEmail" placeholder="璇疯緭鍏ヤ紒涓氶偖绠�" show-word-limit clearable /> </el-form-item> </el-col> - <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20" > + <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20" > + <el-form-item label="浼佷笟涓昏惀涓氬姟" prop="mainBusiness"> + <el-input type="textarea" autosize v-model="state.ruleForm.mainBusiness" placeholder="璇疯緭鍏ヤ紒涓氫富钀ヤ笟鍔�" show-word-limit clearable /> + </el-form-item> + </el-col> + <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20" > + <el-form-item label="娉曞畾浠h〃浜鸿韩浠借瘉" prop="legalRepresentativeIdCard"> + <el-image + :src="state.ruleForm.legalRepresentativeIdCard" + :zoom-rate="1.2" + :preview-src-list="[state.ruleForm.legalRepresentativeIdCard]" + preview-teleported + fit="cover" + style="width:200px;height:150px" + /> + <!-- <el-input v-model="state.ruleForm.legalRepresentativeIdCard" placeholder="璇疯緭鍏ユ硶瀹氫唬琛ㄤ汉韬唤璇佹枃浠惰矾寰�" show-word-limit clearable /> --> + </el-form-item> + </el-col> + <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb20" > + <el-form-item label="娉曞畾浠h〃浜哄鍚�" prop="legalRepresentativeName"> + <el-input v-model="state.ruleForm.legalRepresentativeName" placeholder="璇疯緭鍏ユ硶瀹氫唬琛ㄤ汉濮撳悕" show-word-limit clearable /> + </el-form-item> + </el-col> + <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="8" class="mb20" > + <el-form-item label="娉曞畾浠h〃浜鸿韩浠借瘉鍙风爜" prop="legalRepresentativeIdNumber"> + <el-input v-model="state.ruleForm.legalRepresentativeIdNumber" placeholder="璇疯緭鍏ユ硶瀹氫唬琛ㄤ汉濮撳悕" show-word-limit clearable /> + </el-form-item> + </el-col> + <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb20" > + <el-form-item label="娉曞畾浠h〃浜鸿仈绯荤數璇�" prop="legalRepresentativePhone"> + <el-input v-model="state.ruleForm.legalRepresentativePhone" placeholder="璇疯緭鍏ユ硶瀹氫唬琛ㄤ汉濮撳悕" show-word-limit clearable /> + </el-form-item> + </el-col> + <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20" > + <el-form-item label="涓氬姟缁忓姙浜鸿韩浠借瘉" prop="operatorIdCard"> + <el-image + :src="state.ruleForm.operatorIdCard" + :zoom-rate="1.2" + :preview-src-list="[state.ruleForm.operatorIdCard]" + preview-teleported + fit="cover" + style="width:200px;height:150px" + /> + <!-- <el-input v-model="state.ruleForm.operatorIdCard" placeholder="璇疯緭鍏ヤ笟鍔$粡鍔炰汉韬唤璇佹枃浠惰矾寰勬垨鏍囪瘑" show-word-limit clearable /> --> + </el-form-item> + </el-col> + <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb20" > <el-form-item label="涓氬姟缁忓姙浜哄鍚�" prop="operatorName"> - <el-input v-model="state.ruleForm.operatorName" placeholder="璇疯緭鍏ヤ笟鍔$粡鍔炰汉濮撳悕" maxlength="255" show-word-limit clearable /> + <el-input v-model="state.ruleForm.operatorName" placeholder="璇疯緭鍏ヤ笟鍔$粡鍔炰汉濮撳悕" show-word-limit clearable /> </el-form-item> </el-col> - <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20" > - <el-form-item label="涓氬姟缁忓姙浜鸿韩浠借瘉鏂囦欢璺緞鎴栨爣璇�" prop="operatorIdCard"> - <el-input v-model="state.ruleForm.operatorIdCard" placeholder="璇疯緭鍏ヤ笟鍔$粡鍔炰汉韬唤璇佹枃浠惰矾寰勬垨鏍囪瘑" maxlength="255" show-word-limit clearable /> + <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="8" class="mb20" > + <el-form-item label="涓氬姟缁忓姙浜鸿韩浠借瘉鍙风爜" prop="operatorIdNumber"> + <el-input v-model="state.ruleForm.operatorIdNumber" placeholder="璇疯緭鍏ヤ笟鍔$粡鍔炰汉韬唤璇佸彿" show-word-limit clearable /> </el-form-item> </el-col> - <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20" > - <el-form-item label="涓氬姟缁忓姙浜鸿韩鍙�" prop="operatorIdNumber"> - <el-input v-model="state.ruleForm.operatorIdNumber" placeholder="璇疯緭鍏ヤ笟鍔$粡鍔炰汉韬唤璇佸彿" maxlength="255" show-word-limit clearable /> - </el-form-item> - </el-col> - <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20" > + <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb20" > <el-form-item label="涓氬姟缁忓姙浜虹數璇�" prop="operatorPhone"> - <el-input v-model="state.ruleForm.operatorPhone" placeholder="璇疯緭鍏ヤ笟鍔$粡鍔炰汉鐢佃瘽" maxlength="255" show-word-limit clearable /> + <el-input v-model="state.ruleForm.operatorPhone" placeholder="璇疯緭鍏ヤ笟鍔$粡鍔炰汉鐢佃瘽" show-word-limit clearable /> </el-form-item> </el-col> - <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20" > + <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb20" > <el-form-item label="寮�鎴疯" prop="bankName"> - <el-input v-model="state.ruleForm.bankName" placeholder="璇疯緭鍏ュ紑鎴疯" maxlength="255" show-word-limit clearable /> + <el-input v-model="state.ruleForm.bankName" placeholder="璇疯緭鍏ュ紑鎴疯" show-word-limit clearable /> </el-form-item> </el-col> - <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20" > + <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="8" class="mb20" > <el-form-item label="閾惰璐﹀彿" prop="bankAccount"> - <el-input v-model="state.ruleForm.bankAccount" placeholder="璇疯緭鍏ラ摱琛岃处鍙�" maxlength="255" show-word-limit clearable /> + <el-input v-model="state.ruleForm.bankAccount" placeholder="璇疯緭鍏ラ摱琛岃处鍙�" show-word-limit clearable /> </el-form-item> </el-col> - <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20" > + <!-- <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb20" > <el-form-item label="瀹℃牳姝ラ" prop="steps"> <g-sys-dict v-model="state.ruleForm.steps" code="CusExtendStep" render-as="select" placeholder="璇烽�夋嫨瀹℃牳姝ラ" clearable filterable /> </el-form-item> - </el-col> + </el-col> --> </el-row> </el-form> <template #footer> -- Gitblit v1.9.1