From 8a20db630014c6fd536f9a1f7e22b8005d6f5eac Mon Sep 17 00:00:00 2001 From: zhengyiming <540361168@qq.com> Date: 星期三, 15 十月 2025 13:35:18 +0800 Subject: [PATCH] fix: bug --- src/views/EnterpriseManage/components/WechatConfigureView.vue | 703 +++++++++++++++++++++++++++++++++++++++------------------- 1 files changed, 474 insertions(+), 229 deletions(-) diff --git a/src/views/EnterpriseManage/components/WechatConfigureView.vue b/src/views/EnterpriseManage/components/WechatConfigureView.vue index 0a14b9a..c979471 100644 --- a/src/views/EnterpriseManage/components/WechatConfigureView.vue +++ b/src/views/EnterpriseManage/components/WechatConfigureView.vue @@ -18,7 +18,6 @@ v-model.trim="form.contact_type" :value-enum="EnumWeChatPayApplymentContactTypeText" :button-style="false" - :convertEnumValue="false" /> </ProFormItemV2> <ProFormItemV2 @@ -31,6 +30,7 @@ :maxlength="100" v-model.trim="form.contact_name" placeholder="璇疯緭鍏ヨ秴绾х鐞嗗憳濮撳悕" + show-word-limit > </ProFormText> </ProFormItemV2> @@ -76,17 +76,39 @@ ></ProFormImageUpload> </ProFormItemV2> <ProFormItemV2 - label="璇佷欢鏈夋晥鏈�:" - prop="contact_period" - :check-rules="[{ type: 'array', message: '璇烽�夋嫨璇佷欢鏈夋晥鏈�' }]" + label="璇佷欢鏈夋晥鏈熷紑濮嬫椂闂�:" + prop="contact_period_begin" + :check-rules="[{ message: '璇烽�夋嫨璇佷欢鏈夋晥鏈熷紑濮嬫椂闂�' }]" + > + <ProFormDatePicker v-model="form.contact_period_begin" type="date"></ProFormDatePicker> + </ProFormItemV2> + <ProFormItemV2 label="璇佷欢鏈夋晥鏈熸槸鍚︿负闀挎湡:" prop="contact_period_isLong"> + <ProFormRadio + v-model.trim="form.contact_period_isLong" + :value-enum="BooleanOptions" + :button-style="false" + /> + </ProFormItemV2> + <ProFormItemV2 + v-if="!form.contact_period_isLong" + label="璇佷欢鏈夋晥鏈熺粨鏉熸椂闂�:" + prop="contact_period_end" + :check-rules="[ + { + message: '璇烽�夋嫨璇佷欢鏈夋晥鏈熺粨鏉熸椂闂�', + validator: (rule, value, callback) => { + if (dayjs(value).isAfter(dayjs(form.contact_period_begin))) { + callback(); + } + callback(new Error('缁撴潫鏃堕棿涓嶈兘灏忎簬寮�濮嬫椂闂�')); + }, + }, + ]" > <ProFormDatePicker - v-model="form.contact_period" - type="daterange" - range-separator="~" - start-placeholder="璧峰鏃ユ湡" - end-placeholder="鍒版湡鏃ユ湡" - clearable + v-model="form.contact_period_end" + type="date" + placeholder="璇烽�夋嫨璇佷欢鏈夋晥鏈熺粨鏉熸椂闂�" ></ProFormDatePicker> </ProFormItemV2> <ProFormItemV2 @@ -99,7 +121,7 @@ v-model:file-url="form.business_authorization_letter" :limit="1" :limitFileSize="10" - accept="png,jpg,jpeg,pdf" + accept="jpg/jpeg,png" ></ProFormUpload> <el-button style="margin-left: 10px" type="primary" link @click="downloadTemplate" >妯℃澘涓嬭浇</el-button @@ -150,7 +172,7 @@ v-model:file-url="form.license_copy" :limitFileCount="1" :on-success="handleLicenseUrlChange" - accept="jpg/jpeg,png,pdf" + accept="jpg/jpeg,png" ></ProFormUpload> </ProFormItemV2> <ProFormItemV2 @@ -183,6 +205,7 @@ :maxlength="100" v-model.trim="form.legal_person" placeholder="璇疯緭鍏ユ硶浜哄鍚�" + show-word-limit /> </ProFormItemV2> </template> @@ -233,6 +256,7 @@ :maxlength="128" v-model.trim="form.cert_merchant_name" placeholder="璇疯緭鍏ュ晢鎴峰悕绉�" + show-word-limit /> </ProFormItemV2> <ProFormItemV2 @@ -245,6 +269,7 @@ :maxlength="128" v-model.trim="form.cert_company_address" placeholder="璇疯緭鍏ユ敞鍐屽湴鍧�" + show-word-limit /> </ProFormItemV2> <ProFormItemV2 @@ -257,20 +282,43 @@ :maxlength="100" v-model.trim="form.cert_legal_person" placeholder="璇疯緭鍏ユ硶瀹氫唬琛ㄤ汉" + show-word-limit /> </ProFormItemV2> <ProFormItemV2 - label="璇佷欢鏈夋晥鏈�:" - prop="cert_period" - :check-rules="[{ type: 'array', message: '璇烽�夋嫨璇佷欢鏈夋晥鏈�' }]" + label="璇佷欢鏈夋晥鏈熷紑濮嬫椂闂�:" + prop="cert_period_begin" + :check-rules="[{ message: '璇烽�夋嫨璇佷欢鏈夋晥鏈熷紑濮嬫椂闂�' }]" + > + <ProFormDatePicker v-model="form.cert_period_begin" type="date"></ProFormDatePicker> + </ProFormItemV2> + <ProFormItemV2 label="璇佷欢鏈夋晥鏈熸槸鍚︿负闀挎湡:" prop="cert_period_isLong"> + <ProFormRadio + v-model.trim="form.cert_period_isLong" + :value-enum="BooleanOptions" + :button-style="false" + /> + </ProFormItemV2> + <ProFormItemV2 + v-if="!form.cert_period_isLong" + label="璇佷欢鏈夋晥鏈熺粨鏉熸椂闂�:" + prop="cert_period_end" + :check-rules="[ + { + message: '璇烽�夋嫨璇佷欢鏈夋晥鏈熺粨鏉熸椂闂�', + validator: (rule, value, callback) => { + if (dayjs(value).isAfter(dayjs(form.cert_period_begin))) { + callback(); + } + callback(new Error('缁撴潫鏃堕棿涓嶈兘灏忎簬寮�濮嬫椂闂�')); + }, + }, + ]" > <ProFormDatePicker - v-model="form.cert_period" - type="daterange" - range-separator="~" - start-placeholder="璧峰鏃ユ湡" - end-placeholder="鍒版湡鏃ユ湡" - clearable + v-model="form.cert_period_end" + type="date" + placeholder="璇烽�夋嫨璇佷欢鏈夋晥鏈熺粨鏉熸椂闂�" ></ProFormDatePicker> </ProFormItemV2> </template> @@ -313,7 +361,7 @@ v-model:file-url="form.authorize_letter_copy" :limit="1" :limitFileSize="10" - accept="png,jpg,jpeg,pdf" + accept="jpg/jpeg,png" ></ProFormUpload> <el-button style="margin-left: 10px" type="primary" link @click="downloadFRTemplate" >妯℃澘涓嬭浇</el-button @@ -332,23 +380,21 @@ prop="id_card_copy" :check-rules="[{ type: 'upload', message: '璇蜂笂浼犺韩浠借瘉浜哄儚闈�' }]" > - <ProFormUpload + <ProFormImageUpload v-model:file-url="form.id_card_copy" - :limitFileCount="1" + :limit-file-count="1" :on-success="handleFrontImgUrlChange" - accept="jpg/jpeg,png,pdf" - ></ProFormUpload> + ></ProFormImageUpload> </ProFormItemV2> <ProFormItemV2 label="韬唤璇佸浗寰介潰:" prop="id_card_national" :check-rules="[{ type: 'upload', message: '璇蜂笂浼犺韩浠借瘉鍥藉窘闈�' }]" > - <ProFormUpload + <ProFormImageUpload v-model:file-url="form.id_card_national" - :limitFileCount="1" - accept="jpg/jpeg,png,pdf" - ></ProFormUpload> + :limit-file-count="1" + ></ProFormImageUpload> </ProFormItemV2> <ProFormItemV2 label="韬唤璇佸鍚�:" @@ -360,6 +406,7 @@ :maxlength="100" v-model.trim="form.id_card_name" placeholder="璇疯緭鍏ヨ韩浠借瘉濮撳悕" + show-word-limit /> </ProFormItemV2> <ProFormItemV2 @@ -370,17 +417,51 @@ <ProFormText v-model.trim="form.id_card_number" placeholder="璇疯緭鍏ヨ韩浠借瘉鍙风爜" /> </ProFormItemV2> <ProFormItemV2 - label="韬唤璇佹湁鏁堟湡:" - prop="id_card_period" - :checkRules="[{ message: '璇烽�夋嫨韬唤璇佹湁鏁堟湡', type: 'array' }]" + v-if="form.subject_type === EnumWeChatPayApplymentSubjectType.SUBJECT_TYPE_ENTERPRISE" + label="韬唤璇佸眳浣忓湴鍧�:" + prop="id_card_address" + :checkRules="[{ message: '璇疯緭鍏ヨ韩浠借瘉灞呬綇鍦板潃' }]" + > + <ProFormText v-model.trim="form.id_card_address" placeholder="璇疯緭鍏ヨ韩浠借瘉灞呬綇鍦板潃" /> + </ProFormItemV2> + <ProFormItemV2 + label="韬唤璇佹湁鏁堟湡寮�濮嬫椂闂�:" + prop="card_period_begin" + :checkRules="[{ message: '璇烽�夋嫨韬唤璇佹湁鏁堟湡寮�濮嬫椂闂�' }]" > <ProFormDatePicker - v-model="form.id_card_period" - type="daterange" - range-separator="~" - start-placeholder="璧峰鏃ユ湡" - end-placeholder="鍒版湡鏃ユ湡" - clearable + v-model="form.card_period_begin" + type="date" + placeholder="璇烽�夋嫨韬唤璇佹湁鏁堟湡寮�濮嬫椂闂�" + ></ProFormDatePicker> + </ProFormItemV2> + <ProFormItemV2 label="韬唤璇佹湁鏁堟湡鏄惁涓洪暱鏈�:" prop="card_period_isLong"> + <ProFormRadio + v-model.trim="form.card_period_isLong" + :value-enum="BooleanOptions" + :button-style="false" + /> + </ProFormItemV2> + <ProFormItemV2 + v-if="!form.card_period_isLong" + label="韬唤璇佹湁鏁堟湡缁撴潫鏃堕棿:" + prop="card_period_end" + :checkRules="[ + { + message: '璇烽�夋嫨韬唤璇佹湁鏁堟湡缁撴潫鏃堕棿', + validator: (rule, value, callback) => { + if (dayjs(value).isAfter(dayjs(form.card_period_begin))) { + callback(); + } + callback(new Error('缁撴潫鏃堕棿涓嶈兘灏忎簬寮�濮嬫椂闂�')); + }, + }, + ]" + > + <ProFormDatePicker + v-model="form.card_period_end" + type="date" + placeholder="璇烽�夋嫨韬唤璇佹湁鏁堟湡缁撴潫鏃堕棿" ></ProFormDatePicker> </ProFormItemV2> </template> @@ -399,7 +480,7 @@ <ProFormUpload v-model:file-url="form.id_doc_copy" :limitFileCount="1" - accept="jpg/jpeg,png,pdf" + accept="jpg/jpeg,png" ></ProFormUpload> </ProFormItemV2> @@ -413,6 +494,7 @@ :maxlength="100" v-model.trim="form.id_doc_name" placeholder="璇疯緭鍏ヨ瘉浠跺鍚�" + show-word-limit /> </ProFormItemV2> <ProFormItemV2 @@ -423,17 +505,39 @@ <ProFormText v-model.trim="form.id_doc_number" placeholder="璇疯緭鍏ヨ瘉浠跺彿鐮�" /> </ProFormItemV2> <ProFormItemV2 - label="璇佷欢鏈夋晥鏈�:" - prop="id_doc_period" - :checkRules="[{ message: '璇烽�夋嫨璇佷欢鏈夋晥鏈�', type: 'array' }]" + label="璇佷欢鏈夋晥鏈熷紑濮嬫椂闂�:" + prop="doc_period_begin" + :checkRules="[{ message: '璇烽�夋嫨璇佷欢鏈夋晥鏈熷紑濮嬫椂闂�' }]" + > + <ProFormDatePicker v-model="form.doc_period_begin" type="date"></ProFormDatePicker> + </ProFormItemV2> + <ProFormItemV2 label="璇佷欢鏈夋晥鏈熸槸鍚︿负闀挎湡:" prop="doc_period_isLong"> + <ProFormRadio + v-model.trim="form.doc_period_isLong" + :value-enum="BooleanOptions" + :button-style="false" + /> + </ProFormItemV2> + <ProFormItemV2 + v-if="!form.doc_period_isLong" + label="璇佷欢鏈夋晥鏈熺粨鏉熸椂闂�:" + prop="doc_period_end" + :checkRules="[ + { + message: '璇烽�夋嫨璇佷欢鏈夋晥鏈熺粨鏉熸椂闂�', + validator: (rule, value, callback) => { + if (dayjs(value).isAfter(dayjs(form.doc_period_begin))) { + callback(); + } + callback(new Error('缁撴潫鏃堕棿涓嶈兘灏忎簬寮�濮嬫椂闂�')); + }, + }, + ]" > <ProFormDatePicker - v-model="form.id_doc_period" - type="daterange" - range-separator="~" - start-placeholder="璧峰鏃ユ湡" - end-placeholder="鍒版湡鏃ユ湡" - clearable + v-model="form.doc_period_end" + type="date" + placeholder="璇烽�夋嫨璇佷欢鏈夋晥鏈熺粨鏉熸椂闂�" ></ProFormDatePicker> </ProFormItemV2> </template> @@ -450,7 +554,7 @@ </div> <div v-for="(item, index) in form.ubo_info_list" :key="index"> <ProFormItemV2 - :label="`绗�${index + 1}涓瘉浠剁被鍨�:`" + :label="`鍙楃泭浜鸿瘉浠剁被鍨�:`" :prop="`ubo_info_list.${index}.ubo_id_doc_type`" :checkRules="[{ message: '璇烽�夋嫨璇佷欢绫诲瀷' }]" > @@ -462,7 +566,7 @@ </ProFormSelect> </ProFormItemV2> <ProFormItemV2 - :label="`绗�${index + 1}涓瘉浠舵闈㈢収鐗�:`" + :label="`鍙楃泭浜鸿瘉浠舵闈㈢収鐗�:`" :prop="`ubo_info_list.${index}.ubo_id_doc_copy`" :check-rules="[{ type: 'upload', message: '璇蜂笂浼犺瘉浠舵闈㈢収鐗�' }]" > @@ -472,7 +576,21 @@ ></ProFormImageUpload> </ProFormItemV2> <ProFormItemV2 - :label="`绗�${index + 1}涓瘉浠跺鍚�:`" + v-if=" + item.ubo_id_doc_type !== + EnumWeChatPayApplymentIdDocType.IDENTIFICATION_TYPE_OVERSEA_PASSPORT + " + :label="`鍙楃泭浜鸿瘉浠跺弽闈㈢収鐗�:`" + :prop="`ubo_info_list.${index}.ubo_id_doc_copy_back`" + :check-rules="[{ type: 'upload', message: '璇蜂笂浼犺瘉浠跺弽闈㈢収鐗�' }]" + > + <ProFormImageUpload + v-model:file-url="item.ubo_id_doc_copy_back" + :limit-file-count="1" + ></ProFormImageUpload> + </ProFormItemV2> + <ProFormItemV2 + :label="`鍙楃泭浜鸿瘉浠跺鍚�:`" :prop="`ubo_info_list.${index}.ubo_id_doc_name`" :checkRules="[{ message: '璇疯緭鍏ヨ瘉浠跺鍚�' }]" > @@ -481,34 +599,64 @@ :maxlength="100" v-model.trim="item.ubo_id_doc_name" placeholder="璇疯緭鍏ヨ瘉浠跺鍚�" + show-word-limit /> </ProFormItemV2> <ProFormItemV2 - :label="`绗�${index + 1}涓瘉浠跺彿鐮�:`" + :label="`鍙楃泭浜鸿瘉浠跺彿鐮�:`" :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="`鍙楃泭浜鸿瘉浠跺眳浣忓湴鍧�:`" :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}涓瘉浠舵湁鏁堟湡:`" - :prop="`ubo_info_list.${index}.ubo_period`" - :checkRules="[{ message: '璇烽�夋嫨璇佷欢鏈夋晥鏈�', type: 'array' }]" + :label="`璇佷欢鏈夋晥鏈熷紑濮嬫椂闂�:`" + :prop="`ubo_info_list.${index}.ubo_period_begin`" + :checkRules="[{ message: '璇烽�夋嫨璇佷欢鏈夋晥鏈熷紑濮嬫椂闂�' }]" > <ProFormDatePicker - v-model="item.ubo_period" - type="daterange" - range-separator="~" - start-placeholder="璧峰鏃ユ湡" - end-placeholder="鍒版湡鏃ユ湡" - clearable + v-model="item.ubo_period_begin" + type="date" + placeholder="璇烽�夋嫨璇佷欢鏈夋晥鏈熷紑濮嬫椂闂�" + ></ProFormDatePicker> + </ProFormItemV2> + <ProFormItemV2 + label="璇佷欢鏈夋晥鏈熸槸鍚︿负闀挎湡:" + :prop="`ubo_info_list.${index}.ubo_period_isLong`" + > + <ProFormRadio + v-model.trim="item.ubo_period_isLong" + :value-enum="BooleanOptions" + :button-style="false" + /> + </ProFormItemV2> + <ProFormItemV2 + v-if="!item.ubo_period_isLong" + :label="`璇佷欢鏈夋晥鏈熺粨鏉熸椂闂�:`" + :prop="`ubo_info_list.${index}.ubo_period_end`" + :checkRules="[ + { + message: '璇烽�夋嫨璇佷欢鏈夋晥鏈熺粨鏉熸椂闂�', + validator: (rule, value, callback) => { + if (dayjs(value).isAfter(dayjs(item.ubo_period_begin))) { + callback(); + } + callback(new Error('缁撴潫鏃堕棿涓嶈兘灏忎簬寮�濮嬫椂闂�')); + }, + }, + ]" + > + <ProFormDatePicker + v-model="item.ubo_period_end" + type="date" + placeholder="璇烽�夋嫨璇佷欢鏈夋晥鏈熺粨鏉熸椂闂�" ></ProFormDatePicker> </ProFormItemV2> <el-button type="primary" link @click="deleteUboInfo(index)">鍒犻櫎</el-button> @@ -565,6 +713,7 @@ :maxlength="50" v-model.trim="form.biz_store_name" placeholder="璇疯緭鍏ョ嚎涓嬪満鎵�鍚嶇О" + show-word-limit /> </ProFormItemV2> <ProFormItemV2 @@ -592,6 +741,7 @@ :minlength="4" v-model.trim="form.biz_store_address" placeholder="璇疯緭鍏ョ嚎涓嬪満鎵�鍦板潃" + show-word-limit /> </ProFormItemV2> <ProFormItemV2 @@ -728,6 +878,36 @@ ></ProFormUpload> </ProFormItemV2> </template> + <template + v-if=" + form.sales_scenes_type.includes(EnumWeChatPayApplymentSalesScenesType.SALES_SCENES_WEB) + " + > + <ProFormItemV2 + label="浜掕仈缃戠綉绔欏煙鍚�:" + prop="domain" + :checkRules="[{ message: '璇疯緭鍏ヤ簰鑱旂綉缃戠珯鍩熷悕' }]" + > + <ProFormText v-model.trim="form.domain" placeholder="璇疯緭鍏ヤ簰鑱旂綉缃戠珯鍩熷悕" /> + </ProFormItemV2> + <ProFormItemV2 label="缃戠珯鎺堟潈鍑�:" prop="web_authorisation"> + <div style="display: flex"> + <ProFormUpload + v-model:file-url="form.web_authorisation" + :limit="1" + :limitFileSize="10" + accept="jpg/jpeg,png,pdf" + ></ProFormUpload> + <el-button + style="margin-left: 10px" + type="primary" + link + @click="downloadWebAuthorisationTemplate" + >妯℃澘涓嬭浇</el-button + > + </div> + </ProFormItemV2> + </template> <template v-if=" @@ -789,37 +969,6 @@ <template v-if=" - form.sales_scenes_type.includes(EnumWeChatPayApplymentSalesScenesType.SALES_SCENES_WEB) - " - > - <ProFormItemV2 - label="浜掕仈缃戠綉绔欏煙鍚�:" - prop="domain" - :checkRules="[{ message: '璇疯緭鍏ヤ簰鑱旂綉缃戠珯鍩熷悕' }]" - > - <ProFormText v-model.trim="form.domain" placeholder="璇疯緭鍏ヤ簰鑱旂綉缃戠珯鍩熷悕" /> - </ProFormItemV2> - <ProFormItemV2 label="缃戠珯鎺堟潈鍑�:" prop="web_authorisation"> - <div style="display: flex"> - <ProFormUpload - v-model:file-url="form.web_authorisation" - :limit="1" - :limitFileSize="10" - accept="png,jpg,jpeg,pdf" - ></ProFormUpload> - <el-button - style="margin-left: 10px" - type="primary" - link - @click="downloadWebAuthorisationTemplate" - >妯℃澘涓嬭浇</el-button - > - </div> - </ProFormItemV2> - </template> - - <template - v-if=" form.sales_scenes_type.includes(EnumWeChatPayApplymentSalesScenesType.SALES_SCENES_WEWORK) " > @@ -865,6 +1014,7 @@ :maxlength="50" v-model.trim="form.qualification_type" placeholder="璇疯緭鍏ユ墍灞炶涓�(璇︾粏鍙傝璐圭巼缁撶畻瑙勫垯瀵圭収琛�)" + show-word-limit /> </ProFormItemV2> <ProFormItemV2 label="鐗规畩璧勮川鍥剧墖:" prop="qualifications"> @@ -894,41 +1044,23 @@ prop="bank_alias" :checkRules="[{ message: '璇疯緭鍏ュ紑鎴烽摱琛�' }]" > - <!-- <ProFormText v-model.trim="form.account_bank" placeholder="璇疯緭鍏ュ紑鎴烽摱琛�" /> --> <WeChatPayWalletBanksSelect v-model:bank_alias="form.bank_alias" v-model:account_bank="form.account_bank" v-model:account_bank_code="form.account_bank_code" v-model:bank_alias_code="form.bank_alias_code" v-model:need_bank_branch="form.need_bank_branch" + :bank_account_type="form.bank_account_type" placeholder="璇疯緭鍏ュ紑鎴烽摱琛�" clearable + filterable /> </ProFormItemV2> - <!-- <ProFormItemV2 - label="寮�鎴烽摱琛岀渷甯傜紪鐮�:" - prop="bank_address_code" - :checkRules="[{ message: '璇疯緭鍏ュ紑鎴烽摱琛岀渷甯傜紪鐮�' }]" - > - <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> --> <template v-if="form.need_bank_branch"> - <!-- <ProFormItemV2 - label="寮�鎴烽摱琛岄摱琛屽彿:" - prop="bank_branch_id" - :checkRules="[{ message: '璇疯緭鍏ュ紑鎴烽摱琛岄摱琛屽彿' }]" - > - <ProFormText v-model.trim="form.bank_branch_id" placeholder="璇疯緭鍏ュ紑鎴烽摱琛岄摱琛屽彿" /> - </ProFormItemV2> --> <ProFormItemV2 label="寮�鎴锋敮琛岀渷甯傜紪鐮�:" prop="bank_branch_area" - :checkRules="[{ message: '璇疯緭鍏ュ紑鎴烽摱琛岄摱琛屽彿', type: 'array' }]" + :checkRules="[{ message: '璇疯緭鍏ュ紑鎴烽摱琛岄摱琛屽彿' }]" > <WeChatPayWalletBankBranchAreaCascader v-model:areaList="form.bank_branch_area" /> </ProFormItemV2> @@ -958,7 +1090,7 @@ </template> <script setup lang="ts"> -import { FormInstance, ModelValueType } from 'element-plus'; +import { FormInstance } from 'element-plus'; import { ProForm, ProFormItemV2, @@ -967,11 +1099,9 @@ UploadUserFile, ProFormSelect, ProFormUpload, - useFormDialog, ProFormRadio, ProFormDatePicker, ProFormImageUpload, - ProFormInputNumber, } from '@bole-core/components'; import * as enterpriseWalletServices from '@/services/api/enterpriseWallet'; import { useQuery } from '@tanstack/vue-query'; @@ -992,18 +1122,14 @@ EnumWeChatPayApplymentSalesScenesType, EnumWeChatPayApplymentSalesScenesTypeText, EnumWeChatPayApplymentBankAccountTypeText, + BooleanOptions, } from '@/constants'; -import { - convertApi2FormUrl, - convertApi2FormUrlOnlyOne, - downloadFileByUrl, - format, - convertApi2FormUrls, -} from '@/utils'; +import { convertApi2FormUrlOnlyOne, downloadFileByUrl, format, convertApi2FormUrls } from '@/utils'; import { Message } from '@bole-core/core'; import WeChatPayWalletBanksSelect from './WeChatPayWalletBanksSelect.vue'; import WeChatPayWalletBankBranchsSelect from './WeChatPayWalletBankBranchsSelect.vue'; import WeChatPayWalletBankBranchAreaCascader from './WeChatPayWalletBankBranchAreaCascader.vue'; +import dayjs from 'dayjs'; defineOptions({ name: 'WechatConfigureView', @@ -1016,10 +1142,13 @@ type UboInfo = { ubo_id_doc_type: EnumWeChatPayApplymentIdDocType; ubo_id_doc_copy: UploadUserFile[]; + ubo_id_doc_copy_back: UploadUserFile[]; ubo_id_doc_name: string; ubo_id_doc_number: string; ubo_id_doc_address: string; - ubo_period: ModelValueType; + ubo_period_begin: string; + ubo_period_end: string; + ubo_period_isLong: boolean; }; const props = withDefaults(defineProps<Props>(), {}); @@ -1028,13 +1157,15 @@ const form = reactive({ business_code: '', - contact_type: EnumWeChatPayApplymentContactType.LEGAL, + contact_type: '' as any as EnumWeChatPayApplymentContactType, contact_name: '', contact_id_doc_type: '' as any as EnumWeChatPayApplymentIdDocType, contact_id_number: '', contact_id_doc_copy: [] as UploadUserFile[], contact_id_doc_copy_back: [] as UploadUserFile[], - contact_period: [] as ModelValueType, + contact_period_begin: '', + contact_period_end: '', + contact_period_isLong: false, business_authorization_letter: [] as UploadUserFile[], mobile_phone: '', contact_email: '', @@ -1049,7 +1180,9 @@ cert_merchant_name: '', cert_company_address: '', cert_legal_person: '', - cert_period: [] as ModelValueType, + cert_period_begin: '', + cert_period_end: '', + cert_period_isLong: false, id_holder_type: '' as any as EnumWeChatPayApplymentIdHolderType, id_doc_type: '' as any as EnumWeChatPayApplymentIdDocType, authorize_letter_copy: [] as UploadUserFile[], @@ -1058,11 +1191,15 @@ id_card_name: '', id_card_number: '', id_card_address: '', - id_card_period: [] as ModelValueType, + card_period_begin: '', + card_period_end: '', + card_period_isLong: false, id_doc_copy: [] as UploadUserFile[], id_doc_name: '', id_doc_number: '', - id_doc_period: [] as ModelValueType, + doc_period_begin: '', + doc_period_end: '', + doc_period_isLong: false, ubo_info_list: [] as UboInfo[], merchant_shortname: '', service_phone: '', @@ -1155,10 +1292,11 @@ form.contact_id_doc_copy_back = convertApi2FormUrlOnlyOne( data.contact_info?.contact_id_doc_copy_back ?? '' ); - form.contact_period = [ - format(data.contact_info?.contact_period_begin, 'YYYY-MM-DD'), - format(data.contact_info?.contact_period_end, 'YYYY-MM-DD'), - ]; + form.contact_period_begin = format(data.contact_info?.contact_period_begin, 'YYYY-MM-DD'); + form.contact_period_isLong = !dayjs(data.contact_info?.contact_period_end).isValid(); + form.contact_period_end = dayjs(data.contact_info?.contact_period_end).isValid() + ? format(data.contact_info?.contact_period_end, 'YYYY-MM-DD') + : data.contact_info?.contact_period_end; form.business_authorization_letter = convertApi2FormUrlOnlyOne( data.contact_info?.business_authorization_letter ?? '' ); @@ -1179,10 +1317,14 @@ form.cert_merchant_name = data.subject_info?.certificate_info?.merchant_name ?? ''; form.cert_company_address = data.subject_info?.certificate_info?.company_address ?? ''; form.cert_legal_person = data.subject_info?.certificate_info?.legal_person ?? ''; - form.cert_period = [ - format(data.subject_info?.certificate_info?.period_begin, 'YYYY-MM-DD'), - format(data.subject_info?.certificate_info?.period_end, 'YYYY-MM-DD'), - ]; + form.cert_period_begin = format( + data.subject_info?.certificate_info?.period_begin, + 'YYYY-MM-DD' + ); + form.cert_period_isLong = !dayjs(data.subject_info?.certificate_info?.period_end).isValid(); + form.cert_period_end = dayjs(data.subject_info?.certificate_info?.period_end).isValid() + ? format(data.subject_info?.certificate_info?.period_end, 'YYYY-MM-DD') + : data.subject_info?.certificate_info?.period_end; form.id_holder_type = data.subject_info?.identity_info?.id_holder_type; form.id_doc_type = data.subject_info?.identity_info?.id_doc_type; form.authorize_letter_copy = convertApi2FormUrlOnlyOne( @@ -1195,32 +1337,63 @@ data.subject_info?.identity_info?.id_card_info?.id_card_national ?? '' ); form.id_card_name = data.subject_info?.identity_info?.id_card_info?.id_card_name ?? ''; + form.id_card_number = data.subject_info?.identity_info?.id_card_info?.id_card_number ?? ''; + form.id_card_address = data.subject_info?.identity_info?.id_card_info?.id_card_address ?? ''; + form.card_period_begin = format( + data.subject_info?.identity_info?.id_card_info?.card_period_begin, + 'YYYY-MM-DD' + ); + form.card_period_isLong = !dayjs( + data.subject_info?.identity_info?.id_card_info?.card_period_end + ).isValid(); + form.card_period_end = dayjs( + data.subject_info?.identity_info?.id_card_info?.card_period_end + ).isValid() + ? format(data.subject_info?.identity_info?.id_card_info?.card_period_end, 'YYYY-MM-DD') + : data.subject_info?.identity_info?.id_card_info?.card_period_end; + form.id_doc_copy = convertApi2FormUrlOnlyOne( + data.subject_info?.identity_info?.id_doc_info?.id_doc_copy ?? '' + ); + form.id_doc_name = data.subject_info?.identity_info?.id_doc_info?.id_doc_name ?? ''; form.id_doc_number = data.subject_info?.identity_info?.id_doc_info?.id_doc_number ?? ''; - form.id_doc_period = [ - format(data.subject_info?.identity_info?.id_doc_info?.doc_period_begin, 'YYYY-MM-DD'), - format(data.subject_info?.identity_info?.id_doc_info?.doc_period_end, 'YYYY-MM-DD'), - ]; + form.doc_period_begin = format( + data.subject_info?.identity_info?.id_doc_info?.doc_period_begin, + 'YYYY-MM-DD' + ); + form.doc_period_isLong = !dayjs( + data.subject_info?.identity_info?.id_doc_info?.doc_period_end + ).isValid(); + form.doc_period_end = dayjs( + data.subject_info?.identity_info?.id_doc_info?.doc_period_end + ).isValid() + ? format(data.subject_info?.identity_info?.id_doc_info?.doc_period_end, 'YYYY-MM-DD') + : data.subject_info?.identity_info?.id_doc_info?.doc_period_end; form.ubo_info_list = data.subject_info?.ubo_info_list?.length > 0 ? data.subject_info?.ubo_info_list.map((x) => ({ ubo_id_doc_type: x.ubo_id_doc_type, ubo_id_doc_copy: convertApi2FormUrlOnlyOne(x.ubo_id_doc_copy ?? ''), + ubo_id_doc_copy_back: convertApi2FormUrlOnlyOne(x.ubo_id_doc_copy_back ?? ''), 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: [ - format(x.ubo_period_begin, 'YYYY-MM-DD'), - format(x.ubo_period_end, 'YYYY-MM-DD'), - ], + ubo_period_begin: format(x.ubo_period_begin, 'YYYY-MM-DD'), + ubo_period_isLong: !dayjs(x.ubo_period_end).isValid(), + ubo_period_end: dayjs(x.ubo_period_end).isValid() + ? format(x.ubo_period_end, 'YYYY-MM-DD') + : x.ubo_period_end, })) : [ { ubo_id_doc_type: '' as any as EnumWeChatPayApplymentIdDocType, ubo_id_doc_copy: [], + ubo_id_doc_copy_back: [], ubo_id_doc_name: '', ubo_id_doc_number: '', ubo_id_doc_address: '', - ubo_period: [], + ubo_period_begin: '', + ubo_period_end: '', + ubo_period_isLong: false, }, ]; form.merchant_shortname = data.business_info?.merchant_shortname ?? ''; @@ -1286,10 +1459,13 @@ form.ubo_info_list.push({ ubo_id_doc_type: '' as any as EnumWeChatPayApplymentIdDocType, ubo_id_doc_copy: [], + ubo_id_doc_copy_back: [], ubo_id_doc_name: '', ubo_id_doc_number: '', ubo_id_doc_address: '', - ubo_period: [], + ubo_period_begin: '', + ubo_period_end: '', + ubo_period_isLong: false, }); } @@ -1345,99 +1521,21 @@ 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: { @@ -1462,9 +1560,156 @@ need_bank_branch: form.need_bank_branch, }, }; + if (form.contact_type === EnumWeChatPayApplymentContactType.SUPER) { + params.contact_info.contact_id_doc_type = form.contact_id_doc_type; + params.contact_info.contact_id_number = form.contact_id_number; + params.contact_info.contact_id_doc_copy = form.contact_id_doc_copy?.[0]?.path; + params.contact_info.contact_id_doc_copy_back = form.contact_id_doc_copy_back?.[0]?.path; + params.contact_info.contact_period_begin = format(form.contact_period_begin, 'YYYY-MM-DD'); + params.contact_info.contact_period_end = form.contact_period_isLong + ? '闀挎湡' + : format(form.contact_period_end, 'YYYY-MM-DD'); + params.contact_info.business_authorization_letter = + form.business_authorization_letter?.[0]?.path; + } + if ( + form.subject_type === EnumWeChatPayApplymentSubjectType.SUBJECT_TYPE_INDIVIDUAL || + form.subject_type === EnumWeChatPayApplymentSubjectType.SUBJECT_TYPE_ENTERPRISE + ) { + params.subject_info.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, + }; + } + if ( + form.subject_type === EnumWeChatPayApplymentSubjectType.SUBJECT_TYPE_GOVERNMENT || + form.subject_type === EnumWeChatPayApplymentSubjectType.SUBJECT_TYPE_INSTITUTIONS || + form.subject_type === EnumWeChatPayApplymentSubjectType.SUBJECT_TYPE_OTHERS + ) { + params.subject_info.certificate_info.cert_copy = form.cert_copy?.[0]?.path; + params.subject_info.certificate_info.cert_type = form.cert_type; + params.subject_info.certificate_info.cert_number = form.cert_number; + params.subject_info.certificate_info.merchant_name = form.cert_merchant_name; + params.subject_info.certificate_info.company_address = form.cert_company_address; + params.subject_info.certificate_info.legal_person = form.cert_legal_person; + params.subject_info.certificate_info.period_begin = format( + form.cert_period_begin, + 'YYYY-MM-DD' + ); + params.subject_info.certificate_info.period_end = form.cert_period_isLong + ? '闀挎湡' + : format(form.cert_period_end, 'YYYY-MM-DD'); + } + if (form.id_holder_type === EnumWeChatPayApplymentIdHolderType.LEGAL) { + params.subject_info.identity_info.id_doc_type = form.id_doc_type; + } + if (form.id_holder_type === EnumWeChatPayApplymentIdHolderType.SUPER) { + params.subject_info.identity_info.authorize_letter_copy = + form.authorize_letter_copy?.[0]?.path; + } + if ( + form.id_holder_type === EnumWeChatPayApplymentIdHolderType.LEGAL && + form.id_doc_type === EnumWeChatPayApplymentIdDocType.IDENTIFICATION_TYPE_IDCARD + ) { + params.subject_info.identity_info.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.card_period_begin, 'YYYY-MM-DD'), + card_period_end: form.card_period_isLong + ? '闀挎湡' + : format(form.card_period_end, 'YYYY-MM-DD'), + id_card_address: + form.subject_type === EnumWeChatPayApplymentSubjectType.SUBJECT_TYPE_ENTERPRISE + ? form.id_card_address + : '', + }; + } + if ( + form.id_holder_type === EnumWeChatPayApplymentIdHolderType.LEGAL && + form.id_doc_type !== EnumWeChatPayApplymentIdDocType.IDENTIFICATION_TYPE_IDCARD + ) { + params.subject_info.identity_info.id_doc_info = { + id_doc_copy: form.id_doc_copy?.[0]?.path, + id_doc_name: form.id_doc_name, + id_doc_number: form.id_doc_number, + doc_period_begin: format(form.doc_period_begin, 'YYYY-MM-DD'), + doc_period_end: form.doc_period_isLong ? '闀挎湡' : format(form.doc_period_end, 'YYYY-MM-DD'), + }; + } + if (form.subject_type === EnumWeChatPayApplymentSubjectType.SUBJECT_TYPE_ENTERPRISE) { + params.subject_info.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_copy_back: x.ubo_id_doc_copy_back?.[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_begin, 'YYYY-MM-DD'), + ubo_period_end: x.ubo_period_isLong ? '闀挎湡' : format(x.ubo_period_end, 'YYYY-MM-DD'), + })) + : []; + } + if (form.sales_scenes_type.includes(EnumWeChatPayApplymentSalesScenesType.SALES_SCENES_STORE)) { + params.business_info.sales_info.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) : [], + }; + } + if (form.sales_scenes_type.includes(EnumWeChatPayApplymentSalesScenesType.SALES_SCENES_MP)) { + params.business_info.sales_info.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) : [], + }; + } + if ( + form.sales_scenes_type.includes( + EnumWeChatPayApplymentSalesScenesType.SALES_SCENES_MINI_PROGRAM + ) + ) { + params.business_info.sales_info.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) : [], + }; + } + if (form.sales_scenes_type.includes(EnumWeChatPayApplymentSalesScenesType.SALES_SCENES_APP)) { + params.business_info.sales_info.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) : [], + }; + } + if (form.sales_scenes_type.includes(EnumWeChatPayApplymentSalesScenesType.SALES_SCENES_WEB)) { + params.business_info.sales_info.web_info = { + domain: form.domain, + web_authorisation: form.web_authorisation?.[0]?.path, + }; + } + if ( + form.sales_scenes_type.includes(EnumWeChatPayApplymentSalesScenesType.SALES_SCENES_WEWORK) + ) { + params.business_info.sales_info.wework_info = { + sub_corp_id: form.sub_corp_id, + wework_pics: form.wework_pics?.length > 0 ? form.wework_pics?.map((x) => x.path) : [], + }; + } let res = await enterpriseWalletServices.openEnterpriseWeChatPayWallet(params); return res; - } catch (error) {} + } catch (error) { + console.log('error: ', error); + } } function downloadFRTemplate() { -- Gitblit v1.9.1