From f5bb902b6fe870560d743dba58db6074a72d5546 Mon Sep 17 00:00:00 2001 From: wupengfei <834520024@qq.com> Date: 星期一, 13 十月 2025 16:30:32 +0800 Subject: [PATCH] feat: 微信 --- src/views/EnterpriseManage/components/WechatConfigureView.vue | 176 ++++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 156 insertions(+), 20 deletions(-) diff --git a/src/views/EnterpriseManage/components/WechatConfigureView.vue b/src/views/EnterpriseManage/components/WechatConfigureView.vue index 9c54690..1241dac 100644 --- a/src/views/EnterpriseManage/components/WechatConfigureView.vue +++ b/src/views/EnterpriseManage/components/WechatConfigureView.vue @@ -1,6 +1,6 @@ <template> <LoadingLayout :loading="isLoading"> - <ProForm :model="form" ref="dialogForm" label-width="150px"> + <ProForm :model="form" ref="dialogForm" label-width="210px"> <ProFormItemV2 label="涓氬姟鐢宠缂栧彿:" prop="business_code" @@ -31,6 +31,7 @@ :maxlength="100" v-model.trim="form.contact_name" placeholder="璇疯緭鍏ヨ秴绾х鐞嗗憳濮撳悕" + show-word-limit > </ProFormText> </ProFormItemV2> @@ -183,6 +184,7 @@ :maxlength="100" v-model.trim="form.legal_person" placeholder="璇疯緭鍏ユ硶浜哄鍚�" + show-word-limit /> </ProFormItemV2> </template> @@ -233,6 +235,7 @@ :maxlength="128" v-model.trim="form.cert_merchant_name" placeholder="璇疯緭鍏ュ晢鎴峰悕绉�" + show-word-limit /> </ProFormItemV2> <ProFormItemV2 @@ -245,6 +248,7 @@ :maxlength="128" v-model.trim="form.cert_company_address" placeholder="璇疯緭鍏ユ敞鍐屽湴鍧�" + show-word-limit /> </ProFormItemV2> <ProFormItemV2 @@ -257,6 +261,7 @@ :maxlength="100" v-model.trim="form.cert_legal_person" placeholder="璇疯緭鍏ユ硶瀹氫唬琛ㄤ汉" + show-word-limit /> </ProFormItemV2> <ProFormItemV2 @@ -360,6 +365,7 @@ :maxlength="100" v-model.trim="form.id_card_name" placeholder="璇疯緭鍏ヨ韩浠借瘉濮撳悕" + show-word-limit /> </ProFormItemV2> <ProFormItemV2 @@ -413,6 +419,7 @@ :maxlength="100" v-model.trim="form.id_doc_name" placeholder="璇疯緭鍏ヨ瘉浠跺鍚�" + show-word-limit /> </ProFormItemV2> <ProFormItemV2 @@ -450,7 +457,7 @@ </div> <div v-for="(item, index) in form.ubo_info_list" :key="index"> <ProFormItemV2 - :label="`绗�${index + 1}涓瘉浠剁被鍨�:`" + :label="`绗�${index + 1}涓彈鐩婁汉璇佷欢绫诲瀷:`" :prop="`ubo_info_list.${index}.ubo_id_doc_type`" :checkRules="[{ message: '璇烽�夋嫨璇佷欢绫诲瀷' }]" > @@ -462,7 +469,7 @@ </ProFormSelect> </ProFormItemV2> <ProFormItemV2 - :label="`绗�${index + 1}涓瘉浠舵闈㈢収鐗�:`" + :label="`绗�${index + 1}涓彈鐩婁汉璇佷欢姝i潰鐓х墖:`" :prop="`ubo_info_list.${index}.ubo_id_doc_copy`" :check-rules="[{ type: 'upload', message: '璇蜂笂浼犺瘉浠舵闈㈢収鐗�' }]" > @@ -472,7 +479,7 @@ ></ProFormImageUpload> </ProFormItemV2> <ProFormItemV2 - :label="`绗�${index + 1}涓瘉浠跺鍚�:`" + :label="`绗�${index + 1}涓彈鐩婁汉璇佷欢濮撳悕:`" :prop="`ubo_info_list.${index}.ubo_id_doc_name`" :checkRules="[{ message: '璇疯緭鍏ヨ瘉浠跺鍚�' }]" > @@ -481,24 +488,25 @@ :maxlength="100" v-model.trim="item.ubo_id_doc_name" placeholder="璇疯緭鍏ヨ瘉浠跺鍚�" + show-word-limit /> </ProFormItemV2> <ProFormItemV2 - :label="`绗�${index + 1}涓瘉浠跺彿鐮�:`" + :label="`绗�${index + 1}涓彈鐩婁汉璇佷欢鍙风爜:`" :prop="`ubo_info_list.${index}.ubo_id_doc_number`" :checkRules="[{ message: '璇疯緭鍏ヨ瘉浠跺彿鐮�' }]" > <ProFormText v-model.trim="item.ubo_id_doc_number" placeholder="璇疯緭鍏ヨ瘉浠跺彿鐮�" /> </ProFormItemV2> <ProFormItemV2 - :label="`绗�${index + 1}涓瘉浠跺眳浣忓湴鍧�:`" + :label="`绗�${index + 1}涓彈鐩婁汉璇佷欢灞呬綇鍦板潃:`" :prop="`ubo_info_list.${index}.ubo_id_doc_address`" :checkRules="[{ message: '璇疯緭鍏ヨ瘉浠跺眳浣忓湴鍧�' }]" > <ProFormText v-model.trim="item.ubo_id_doc_address" placeholder="璇疯緭鍏ヨ瘉浠跺眳浣忓湴鍧�" /> </ProFormItemV2> <ProFormItemV2 - :label="`绗�${index + 1}涓瘉浠舵湁鏁堟湡:`" + :label="`绗�${index + 1}涓彈鐩婁汉璇佷欢鏈夋晥鏈�:`" :prop="`ubo_info_list.${index}.ubo_period`" :checkRules="[{ message: '璇烽�夋嫨璇佷欢鏈夋晥鏈�', type: 'array' }]" > @@ -565,6 +573,7 @@ :maxlength="50" v-model.trim="form.biz_store_name" placeholder="璇疯緭鍏ョ嚎涓嬪満鎵�鍚嶇О" + show-word-limit /> </ProFormItemV2> <ProFormItemV2 @@ -572,10 +581,15 @@ prop="biz_address_code" :checkRules="[{ message: '璇疯緭鍏ョ嚎涓嬪満鎵�鐪佸競缂栫爜', type: 'number' }]" > - <ProFormText v-model.trim="form.biz_address_code" placeholder="璇疯緭鍏ョ嚎涓嬪満鎵�鐪佸競缂栫爜" /> - <el-button type="primary" link @click="downloadAddressCodeTemplate" - >鐪佸競缂栫爜妯℃澘</el-button - > + <div style="display: flex; width: 100%"> + <ProFormText + v-model.trim="form.biz_address_code" + placeholder="璇疯緭鍏ョ嚎涓嬪満鎵�鐪佸競缂栫爜" + /> + <el-button type="primary" link @click="downloadAddressCodeTemplate" + >鐪佸競缂栫爜妯℃澘</el-button + > + </div> </ProFormItemV2> <ProFormItemV2 label="绾夸笅鍦烘墍鍦板潃:" @@ -587,6 +601,7 @@ :minlength="4" v-model.trim="form.biz_store_address" placeholder="璇疯緭鍏ョ嚎涓嬪満鎵�鍦板潃" + show-word-limit /> </ProFormItemV2> <ProFormItemV2 @@ -860,6 +875,7 @@ :maxlength="50" v-model.trim="form.qualification_type" placeholder="璇疯緭鍏ユ墍灞炶涓�(璇︾粏鍙傝璐圭巼缁撶畻瑙勫垯瀵圭収琛�)" + show-word-limit /> </ProFormItemV2> <ProFormItemV2 label="鐗规畩璧勮川鍥剧墖:" prop="qualifications"> @@ -896,8 +912,12 @@ prop="bank_address_code" :checkRules="[{ message: '璇疯緭鍏ュ紑鎴烽摱琛岀渷甯傜紪鐮�' }]" > - <ProFormText v-model.trim="form.bank_address_code" placeholder="璇疯緭鍏ュ紑鎴烽摱琛岀渷甯傜紪鐮�" /> - <el-button type="primary" link @click="downloadAddressCodeTemplate">鐪佸競缂栫爜妯℃澘</el-button> + <div style="display: flex; width: 100%"> + <ProFormText v-model.trim="form.bank_address_code" placeholder="璇疯緭鍏ュ紑鎴烽摱琛岀渷甯傜紪鐮�" /> + <el-button type="primary" link @click="downloadAddressCodeTemplate" + >鐪佸競缂栫爜妯℃澘</el-button + > + </div> </ProFormItemV2> <ProFormItemV2 label="寮�鎴烽摱琛岄摱琛屽彿:" @@ -907,11 +927,11 @@ <ProFormText v-model.trim="form.bank_branch_id" placeholder="璇疯緭鍏ュ紑鎴烽摱琛岄摱琛屽彿" /> </ProFormItemV2> <ProFormItemV2 - label="寮�鎴烽摱琛屽叏绉帮紙鍚敮琛岋級:" + label="寮�鎴烽摱琛屽叏绉�(鍚敮琛�):" prop="bank_name" - :checkRules="[{ message: '璇疯緭鍏ュ紑鎴烽摱琛屽叏绉帮紙鍚敮琛岋級' }]" + :checkRules="[{ message: '璇疯緭鍏ュ紑鎴烽摱琛屽叏绉�(鍚敮琛�)' }]" > - <ProFormText v-model.trim="form.bank_name" placeholder="璇疯緭鍏ュ紑鎴烽摱琛屽叏绉帮紙鍚敮琛岋級" /> + <ProFormText v-model.trim="form.bank_name" placeholder="璇疯緭鍏ュ紑鎴烽摱琛屽叏绉�(鍚敮琛�)" /> </ProFormItemV2> <ProFormItemV2 label="閾惰璐﹀彿:" @@ -1298,13 +1318,129 @@ window.open('https://kf.qq.com/faq/220228IJb2UV220228uEjU3Q.html', '_blank'); } -async function enterpriseWalletExpandindirectCreate() { +async function openEnterpriseWeChatPayWallet() { try { if (!dialogForm.value) return; const valid = await dialogForm.value.validate(); if (!valid) return; - let params: API.EnterpriseWalletExpandindirectCreateCommand = {}; - let res = await enterpriseWalletServices.enterpriseWalletExpandindirectCreate(params); + let params: API.OpenEnterpriseWeChatPayWalletCommand = { + enterpriseId: props.id, + business_code: form.business_code, + contact_info: { + contact_type: form.contact_type, + contact_name: form.contact_name, + contact_id_doc_type: form.contact_id_doc_type, + contact_id_number: form.contact_id_number, + contact_id_doc_copy: form.contact_id_doc_copy?.[0]?.path, + contact_id_doc_copy_back: form.contact_id_doc_copy_back?.[0]?.path, + contact_period_begin: format(form.contact_period[0], 'YYYY-MM-DD 00:00:00'), + contact_period_end: format(form.contact_period[1], 'YYYY-MM-DD 23:59:59'), + business_authorization_letter: form.business_authorization_letter?.[0]?.path, + mobile_phone: form.mobile_phone, + contact_email: form.contact_email, + }, + subject_info: { + subject_type: form.subject_type, + business_license_info: { + license_copy: form.license_copy?.[0]?.path, + merchant_name: form.merchant_name, + license_number: form.license_number, + legal_person: form.legal_person, + }, + certificate_info: { + cert_copy: form.cert_copy?.[0]?.path, + cert_type: form.cert_type, + cert_number: form.cert_number, + merchant_name: form.cert_merchant_name, + company_address: form.cert_company_address, + legal_person: form.cert_legal_person, + period_begin: format(form.cert_period[0], 'YYYY-MM-DD 00:00:00'), + period_end: format(form.cert_period[1], 'YYYY-MM-DD 23:59:59'), + }, + identity_info: { + id_holder_type: form.id_holder_type, + id_doc_type: form.id_doc_type, + authorize_letter_copy: form.authorize_letter_copy?.[0]?.path, + id_card_info: { + id_card_copy: form.id_card_copy?.[0]?.path, + id_card_national: form.id_card_national?.[0]?.path, + id_card_name: form.id_card_name, + id_card_number: form.id_card_number, + card_period_begin: format(form.id_card_period[0], 'YYYY-MM-DD 00:00:00'), + card_period_end: format(form.id_card_period[1], 'YYYY-MM-DD 23:59:59'), + }, + }, + ubo_info_list: + form.ubo_info_list?.length > 0 + ? form.ubo_info_list.map((x) => ({ + ubo_id_doc_type: x.ubo_id_doc_type, + ubo_id_doc_copy: x.ubo_id_doc_copy?.[0]?.path, + ubo_id_doc_name: x.ubo_id_doc_name, + ubo_id_doc_number: x.ubo_id_doc_number, + ubo_id_doc_address: x.ubo_id_doc_address, + ubo_period_begin: format(x.ubo_period[0], 'YYYY-MM-DD 00:00:00'), + ubo_period_end: format(x.ubo_period[1], 'YYYY-MM-DD 23:59:59'), + })) + : [], + }, + business_info: { + merchant_shortname: form.merchant_shortname, + service_phone: form.service_phone, + sales_info: { + sales_scenes_type: form.sales_scenes_type, + biz_store_info: { + biz_store_name: form.biz_store_name, + biz_address_code: form.biz_address_code, + biz_store_address: form.biz_store_address, + store_entrance_pic: + form.store_entrance_pic?.length > 0 + ? form.store_entrance_pic?.map((x) => x.path) + : [], + indoor_pic: form.indoor_pic?.length > 0 ? form.indoor_pic?.map((x) => x.path) : [], + }, + mp_info: { + mp_appid: form.mp_appid, + mp_sub_appid: form.mp_sub_appid, + mp_pics: form.mp_pics?.length > 0 ? form.mp_pics?.map((x) => x.path) : [], + }, + mini_program_info: { + mini_program_appid: form.mini_program_appid, + mini_program_sub_appid: form.mini_program_sub_appid, + mini_program_pics: + form.mini_program_pics?.length > 0 ? form.mini_program_pics?.map((x) => x.path) : [], + }, + app_info: { + app_appid: form.app_appid, + app_sub_appid: form.app_sub_appid, + app_pics: form.app_pics?.length > 0 ? form.app_pics?.map((x) => x.path) : [], + }, + web_info: { + domain: form.domain, + web_authorisation: form.web_authorisation?.[0]?.path, + }, + wework_info: { + sub_corp_id: form.sub_corp_id, + wework_pics: form.wework_pics?.length > 0 ? form.wework_pics?.map((x) => x.path) : [], + }, + }, + }, + settlement_info: { + settlement_id: form.settlement_id, + qualification_type: form.qualification_type, + qualifications: + form.qualifications?.length > 0 ? form.qualifications?.map((x) => x.path) : [], + }, + bank_account_info: { + bank_account_type: form.bank_account_type, + account_name: form.account_name, + account_bank: form.account_bank, + bank_address_code: form.bank_address_code, + bank_branch_id: form.bank_branch_id, + bank_name: form.bank_name, + account_number: form.account_number, + }, + }; + let res = await enterpriseWalletServices.openEnterpriseWeChatPayWallet(params); return res; } catch (error) {} } @@ -1337,7 +1473,7 @@ } defineExpose({ - onConfirm: enterpriseWalletExpandindirectCreate, + onConfirm: openEnterpriseWeChatPayWallet, }); </script> -- Gitblit v1.9.1