From f12521bec2f382fd3438b022e89e60af31c6b543 Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期二, 21 十月 2025 10:27:05 +0800
Subject: [PATCH] fix: saveContractTemplateValues
---
src/views/EnterpriseManage/components/WechatConfigureView.vue | 851 +++++++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 654 insertions(+), 197 deletions(-)
diff --git a/src/views/EnterpriseManage/components/WechatConfigureView.vue b/src/views/EnterpriseManage/components/WechatConfigureView.vue
index 9c54690..c9d5758 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" :is-read="isDetail">
<ProFormItemV2
label="涓氬姟鐢宠缂栧彿:"
prop="business_code"
@@ -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,9 +121,14 @@
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
+ v-if="!isDetail"
+ style="margin-left: 10px"
+ type="primary"
+ link
+ @click="downloadTemplate"
>妯℃澘涓嬭浇</el-button
>
</div>
@@ -131,6 +158,7 @@
v-model="form.subject_type"
:valueEnum="EnumWeChatPayApplymentSubjectTypeText"
placeholder="璇烽�夋嫨涓讳綋绫诲瀷"
+ @change="handleSubjectTypeChange"
>
</ProFormSelect>
</ProFormItemV2>
@@ -150,7 +178,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 +211,7 @@
:maxlength="100"
v-model.trim="form.legal_person"
placeholder="璇疯緭鍏ユ硶浜哄鍚�"
+ show-word-limit
/>
</ProFormItemV2>
</template>
@@ -233,6 +262,7 @@
:maxlength="128"
v-model.trim="form.cert_merchant_name"
placeholder="璇疯緭鍏ュ晢鎴峰悕绉�"
+ show-word-limit
/>
</ProFormItemV2>
<ProFormItemV2
@@ -245,6 +275,7 @@
:maxlength="128"
v-model.trim="form.cert_company_address"
placeholder="璇疯緭鍏ユ敞鍐屽湴鍧�"
+ show-word-limit
/>
</ProFormItemV2>
<ProFormItemV2
@@ -257,20 +288,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,9 +367,14 @@
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
+ v-if="!isDetail"
+ style="margin-left: 10px"
+ type="primary"
+ link
+ @click="downloadFRTemplate"
>妯℃澘涓嬭浇</el-button
>
</div>
@@ -332,23 +391,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 +417,7 @@
:maxlength="100"
v-model.trim="form.id_card_name"
placeholder="璇疯緭鍏ヨ韩浠借瘉濮撳悕"
+ show-word-limit
/>
</ProFormItemV2>
<ProFormItemV2
@@ -370,17 +428,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 +491,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 +505,7 @@
:maxlength="100"
v-model.trim="form.id_doc_name"
placeholder="璇疯緭鍏ヨ瘉浠跺鍚�"
+ show-word-limit
/>
</ProFormItemV2>
<ProFormItemV2
@@ -423,17 +516,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>
@@ -444,13 +559,13 @@
>
<div class="ubo-info-list-top">
<div class="ubo-info-list-title">鏈�缁堝彈鐩婁汉淇℃伅鍒楄〃</div>
- <div class="ubo-info-list-btn">
+ <div class="ubo-info-list-btn" v-if="!isDetail">
<el-button type="primary" link @click="addUboInfo">娣诲姞</el-button>
</div>
</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 +577,7 @@
</ProFormSelect>
</ProFormItemV2>
<ProFormItemV2
- :label="`绗�${index + 1}涓瘉浠舵闈㈢収鐗�:`"
+ :label="`鍙楃泭浜鸿瘉浠舵闈㈢収鐗�:`"
:prop="`ubo_info_list.${index}.ubo_id_doc_copy`"
:check-rules="[{ type: 'upload', message: '璇蜂笂浼犺瘉浠舵闈㈢収鐗�' }]"
>
@@ -472,7 +587,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,37 +610,69 @@
: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>
- <el-button type="primary" link @click="deleteUboInfo(index)">鍒犻櫎</el-button>
+ <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 v-if="!isDetail" type="primary" link @click="deleteUboInfo(index)"
+ >鍒犻櫎</el-button
+ >
</div>
</div>
@@ -565,6 +726,7 @@
:maxlength="50"
v-model.trim="form.biz_store_name"
placeholder="璇疯緭鍏ョ嚎涓嬪満鎵�鍚嶇О"
+ show-word-limit
/>
</ProFormItemV2>
<ProFormItemV2
@@ -572,10 +734,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 v-if="!isDetail" type="primary" link @click="downloadAddressCodeTemplate"
+ >鐪佸競缂栫爜妯℃澘</el-button
+ >
+ </div>
</ProFormItemV2>
<ProFormItemV2
label="绾夸笅鍦烘墍鍦板潃:"
@@ -587,6 +754,7 @@
:minlength="4"
v-model.trim="form.biz_store_address"
placeholder="璇疯緭鍏ョ嚎涓嬪満鎵�鍦板潃"
+ show-word-limit
/>
</ProFormItemV2>
<ProFormItemV2
@@ -723,6 +891,37 @@
></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"
+ ></ProFormUpload>
+ <el-button
+ v-if="!isDetail"
+ style="margin-left: 10px"
+ type="primary"
+ link
+ @click="downloadWebAuthorisationTemplate"
+ >妯℃澘涓嬭浇</el-button
+ >
+ </div>
+ </ProFormItemV2>
+ </template>
<template
v-if="
@@ -784,37 +983,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)
"
>
@@ -845,7 +1013,12 @@
>
<div style="display: flex; width: 100%">
<ProFormText v-model.trim="form.settlement_id" placeholder="璇疯緭鍏ュ叆椹荤粨绠楄鍒橧D" />
- <el-button style="margin-left: 10px" type="primary" link @click="openOuterSettleRule"
+ <el-button
+ v-if="!isDetail"
+ style="margin-left: 10px"
+ type="primary"
+ link
+ @click="openOuterSettleRule"
>璐圭巼缁撶畻瑙勫垯瀵圭収琛�</el-button
>
</div>
@@ -860,6 +1033,7 @@
:maxlength="50"
v-model.trim="form.qualification_type"
placeholder="璇疯緭鍏ユ墍灞炶涓�(璇︾粏鍙傝璐圭巼缁撶畻瑙勫垯瀵圭収琛�)"
+ show-word-limit
/>
</ProFormItemV2>
<ProFormItemV2 label="鐗规畩璧勮川鍥剧墖:" prop="qualifications">
@@ -872,8 +1046,9 @@
>
<ProFormSelect
v-model="form.bank_account_type"
- :valueEnum="EnumWeChatPayApplymentBankAccountTypeText"
+ :valueEnum="bank_account_typeList"
placeholder="璇烽�夋嫨缁撶畻閾惰璐︽埛绫诲瀷"
+ @change="handleBankAccountTypeChange"
>
</ProFormSelect>
</ProFormItemV2>
@@ -886,33 +1061,46 @@
</ProFormItemV2>
<ProFormItemV2
label="寮�鎴烽摱琛�:"
- prop="account_bank"
+ prop="bank_alias"
:checkRules="[{ message: '璇疯緭鍏ュ紑鎴烽摱琛�' }]"
>
- <ProFormText v-model.trim="form.account_bank" placeholder="璇疯緭鍏ュ紑鎴烽摱琛�" />
+ <div v-if="isDetail">{{ form.bank_alias }}</div>
+ <WeChatPayWalletBanksSelect
+ v-else
+ 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"
+ v-model:bank_branch_id="form.bank_branch_id"
+ :bank_account_type="form.bank_account_type"
+ placeholder="璇疯緭鍏ュ紑鎴烽摱琛�"
+ clearable
+ filterable
+ />
</ProFormItemV2>
- <ProFormItemV2
- label="寮�鎴烽摱琛岀渷甯傜紪鐮�:"
- prop="bank_address_code"
- :checkRules="[{ message: '璇疯緭鍏ュ紑鎴烽摱琛岀渷甯傜紪鐮�' }]"
- >
- <ProFormText v-model.trim="form.bank_address_code" placeholder="璇疯緭鍏ュ紑鎴烽摱琛岀渷甯傜紪鐮�" />
- <el-button type="primary" link @click="downloadAddressCodeTemplate">鐪佸競缂栫爜妯℃澘</el-button>
- </ProFormItemV2>
- <ProFormItemV2
- label="寮�鎴烽摱琛岄摱琛屽彿:"
- prop="bank_branch_id"
- :checkRules="[{ message: '璇疯緭鍏ュ紑鎴烽摱琛岄摱琛屽彿' }]"
- >
- <ProFormText v-model.trim="form.bank_branch_id" placeholder="璇疯緭鍏ュ紑鎴烽摱琛岄摱琛屽彿" />
- </ProFormItemV2>
- <ProFormItemV2
- label="寮�鎴烽摱琛屽叏绉帮紙鍚敮琛岋級:"
- prop="bank_name"
- :checkRules="[{ message: '璇疯緭鍏ュ紑鎴烽摱琛屽叏绉帮紙鍚敮琛岋級' }]"
- >
- <ProFormText v-model.trim="form.bank_name" placeholder="璇疯緭鍏ュ紑鎴烽摱琛屽叏绉帮紙鍚敮琛岋級" />
- </ProFormItemV2>
+ <template v-if="form.need_bank_branch">
+ <ProFormItemV2
+ label="寮�鎴锋敮琛岀渷甯傜紪鐮�:"
+ prop="bank_branch_area"
+ :checkRules="[{ message: '璇疯緭鍏ュ紑鎴烽摱琛岄摱琛屽彿' }]"
+ >
+ <WeChatPayWalletBankBranchAreaCascader v-model:areaList="form.bank_branch_area" />
+ </ProFormItemV2>
+ <ProFormItemV2
+ label="寮�鎴烽摱琛屽叏绉�(鍚敮琛�):"
+ prop="bank_branch_id"
+ :checkRules="[{ message: '璇疯緭鍏ュ紑鎴烽摱琛屽叏绉�(鍚敮琛�)' }]"
+ >
+ <WeChatPayWalletBankBranchsSelect
+ v-model:bank_branch_id="form.bank_branch_id"
+ placeholder="璇疯緭鍏�"
+ :bank_alias_code="form.bank_alias_code"
+ :need_bank_branch="form.need_bank_branch"
+ :city_code="form.bank_branch_area?.[1]"
+ />
+ </ProFormItemV2>
+ </template>
<ProFormItemV2
label="閾惰璐﹀彿:"
prop="account_number"
@@ -925,7 +1113,7 @@
</template>
<script setup lang="ts">
-import { FormInstance, ModelValueType } from 'element-plus';
+import { FormInstance } from 'element-plus';
import {
ProForm,
ProFormItemV2,
@@ -934,11 +1122,10 @@
UploadUserFile,
ProFormSelect,
ProFormUpload,
- useFormDialog,
ProFormRadio,
ProFormDatePicker,
ProFormImageUpload,
- ProFormInputNumber,
+ useFormDialog,
} from '@bole-core/components';
import * as enterpriseWalletServices from '@/services/api/enterpriseWallet';
import { useQuery } from '@tanstack/vue-query';
@@ -959,9 +1146,15 @@
EnumWeChatPayApplymentSalesScenesType,
EnumWeChatPayApplymentSalesScenesTypeText,
EnumWeChatPayApplymentBankAccountTypeText,
+ EnumWeChatPayApplymentBankAccountTypeTextForGTH,
+ BooleanOptions,
} from '@/constants';
-import { convertApi2FormUrl, convertApi2FormUrlOnlyOne, downloadFileByUrl, format } 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',
@@ -974,10 +1167,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>(), {});
@@ -985,14 +1181,17 @@
const dialogForm = ref<FormInstance>();
const form = reactive({
+ applyment_state: '' as any as EnumWeChatPayApplymentState,
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: '',
@@ -1007,7 +1206,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[],
@@ -1016,11 +1217,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: '',
@@ -1053,7 +1258,16 @@
bank_branch_id: '',
bank_name: '',
account_number: '',
+ bank_alias_code: '',
+ bank_alias: '',
+ account_bank_code: '' as any as number,
+ need_bank_branch: false,
+ bank_branch_area: [] as number[],
});
+
+const isDetail = computed(
+ () => form.applyment_state === EnumWeChatPayApplymentState.APPLYMENT_STATE_FINISHED
+);
const EnumWeChatPayApplymentCertTypeTextList = computed(() => {
if (form.subject_type === EnumWeChatPayApplymentSubjectType.SUBJECT_TYPE_INSTITUTIONS) {
@@ -1085,6 +1299,13 @@
return EnumWeChatPayApplymentIdDocTypeText;
});
+const bank_account_typeList = computed(() => {
+ if (form.subject_type === EnumWeChatPayApplymentSubjectType.SUBJECT_TYPE_INDIVIDUAL) {
+ return EnumWeChatPayApplymentBankAccountTypeTextForGTH;
+ }
+ return EnumWeChatPayApplymentBankAccountTypeText;
+});
+
const { isLoading, refetch } = useQuery({
queryKey: [
'enterpriseWalletServices/getEnterpriseWallet',
@@ -1097,10 +1318,11 @@
});
},
onSuccess(data) {
+ form.applyment_state = data.applyment_state;
form.business_code = data.business_code ?? '';
form.contact_type = data.contact_info?.contact_type;
form.contact_name = data.contact_info?.contact_name ?? '';
- form.contact_id_doc_type = data.contact_info?.contact_id_doc_type;
+ form.contact_id_doc_type = data.contact_info?.contact_id_doc_type ?? ('' as any);
form.contact_id_number = data.contact_info?.contact_id_number ?? '';
form.contact_id_doc_copy = convertApi2FormUrlOnlyOne(
data.contact_info?.contact_id_doc_copy ?? ''
@@ -1108,10 +1330,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 ?? ''
);
@@ -1132,10 +1355,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(
@@ -1148,32 +1375,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 ?? '';
@@ -1183,55 +1441,36 @@
form.biz_address_code = data.business_info?.sales_info?.biz_store_info?.biz_address_code;
form.biz_store_address =
data.business_info?.sales_info?.biz_store_info?.biz_store_address ?? '';
- form.store_entrance_pic =
- data.business_info?.sales_info?.biz_store_info?.store_entrance_pic.length > 0
- ? data.business_info?.sales_info?.biz_store_info?.store_entrance_pic.map((x) =>
- convertApi2FormUrl(x)
- )
- : [];
- form.indoor_pic =
- data.business_info?.sales_info?.biz_store_info?.indoor_pic.length > 0
- ? data.business_info?.sales_info?.biz_store_info?.indoor_pic.map((x) =>
- convertApi2FormUrl(x)
- )
- : [];
+ form.store_entrance_pic = convertApi2FormUrls(
+ data.business_info?.sales_info?.biz_store_info?.store_entrance_pic
+ );
+ form.indoor_pic = convertApi2FormUrls(
+ data.business_info?.sales_info?.biz_store_info?.indoor_pic
+ );
form.mp_appid = data.business_info?.sales_info?.mp_info?.mp_appid ?? '';
form.mp_sub_appid = data.business_info?.sales_info?.mp_info?.mp_sub_appid ?? '';
- form.mp_pics =
- data.business_info?.sales_info?.mp_info?.mp_pics.length > 0
- ? data.business_info?.sales_info?.mp_info?.mp_pics.map((x) => convertApi2FormUrl(x))
- : [];
+ form.mp_pics = convertApi2FormUrls(data.business_info?.sales_info?.mp_info?.mp_pics);
form.mini_program_appid =
data.business_info?.sales_info?.mini_program_info?.mini_program_appid ?? '';
form.mini_program_sub_appid =
data.business_info?.sales_info?.mini_program_info?.mini_program_sub_appid ?? '';
- form.mini_program_pics =
- data.business_info?.sales_info?.mini_program_info?.mini_program_pics.length > 0
- ? data.business_info?.sales_info?.mini_program_info?.mini_program_pics.map((x) =>
- convertApi2FormUrl(x)
- )
- : [];
+ form.mini_program_pics = convertApi2FormUrls(
+ data.business_info?.sales_info?.mini_program_info?.mini_program_pics
+ );
form.app_appid = data.business_info?.sales_info?.app_info?.app_appid ?? '';
form.app_sub_appid = data.business_info?.sales_info?.app_info?.app_sub_appid ?? '';
- form.app_pics =
- data.business_info?.sales_info?.app_info?.app_pics.length > 0
- ? data.business_info?.sales_info?.app_info?.app_pics.map((x) => convertApi2FormUrl(x))
- : [];
+ form.app_pics = convertApi2FormUrls(data.business_info?.sales_info?.app_info?.app_pics);
form.domain = data.business_info?.sales_info?.web_info?.domain ?? '';
form.web_authorisation = convertApi2FormUrlOnlyOne(
data.business_info?.sales_info?.web_info?.web_authorisation ?? ''
);
form.sub_corp_id = data.business_info?.sales_info?.wework_info?.sub_corp_id ?? '';
- form.wework_pics =
- data.business_info?.sales_info?.wework_info?.wework_pics.length > 0
- ? data.business_info?.sales_info?.wework_info?.wework_pics.map((x) => convertApi2FormUrl(x))
- : [];
+ form.wework_pics = convertApi2FormUrls(
+ data.business_info?.sales_info?.wework_info?.wework_pics
+ );
form.settlement_id = data.settlement_info?.settlement_id ?? '';
form.qualification_type = data.settlement_info?.qualification_type ?? '';
- form.qualifications =
- data.settlement_info?.qualifications?.length > 0
- ? data.settlement_info?.qualifications.map((x) => convertApi2FormUrl(x))
- : [];
+ form.qualifications = convertApi2FormUrls(data.settlement_info?.qualifications);
form.bank_account_type = data.bank_account_info?.bank_account_type;
form.account_name = data.bank_account_info?.account_name ?? '';
form.account_bank = data.bank_account_info?.account_bank ?? '';
@@ -1239,6 +1478,14 @@
form.bank_branch_id = data.bank_account_info?.bank_branch_id ?? '';
form.bank_name = data.bank_account_info?.bank_name ?? '';
form.account_number = data.bank_account_info?.account_number ?? '';
+ form.bank_alias_code = data.bank_account_info?.bank_alias_code ?? '';
+ form.bank_alias = data.bank_account_info?.bank_alias ?? '';
+ form.account_bank_code = data.bank_account_info?.account_bank_code;
+ form.need_bank_branch = data.bank_account_info?.need_bank_branch ?? false;
+ form.bank_branch_area = [
+ data.bank_account_info?.province_code,
+ data.bank_account_info?.city_code,
+ ].filter(Boolean);
},
});
@@ -1250,10 +1497,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,
});
}
@@ -1298,15 +1548,206 @@
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,
+ mobile_phone: form.mobile_phone,
+ contact_email: form.contact_email,
+ },
+ subject_info: {
+ subject_type: form.subject_type,
+
+ identity_info: {
+ id_holder_type: form.id_holder_type,
+ },
+ },
+ business_info: {
+ merchant_shortname: form.merchant_shortname,
+ service_phone: form.service_phone,
+ sales_info: {
+ sales_scenes_type: form.sales_scenes_type,
+ },
+ },
+ 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,
+ bank_alias_code: form.bank_alias_code,
+ province_code: form.bank_branch_area?.[0],
+ city_code: form.bank_branch_area?.[1],
+ bank_alias: form.bank_alias,
+ account_bank_code: form.account_bank_code,
+ 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() {
@@ -1336,8 +1777,24 @@
);
}
+function handleSubjectTypeChange() {
+ form.cert_type = '' as any as EnumWeChatPayApplymentCertType;
+ form.id_holder_type = '' as any as EnumWeChatPayApplymentIdHolderType;
+ form.id_doc_type = '' as any as EnumWeChatPayApplymentIdDocType;
+ form.bank_account_type = EnumWeChatPayApplymentBankAccountType.BANK_ACCOUNT_TYPE_CORPORATE;
+ handleBankAccountTypeChange();
+}
+
+function handleBankAccountTypeChange() {
+ form.bank_alias = '';
+ form.account_bank = '';
+ form.account_bank_code = '' as any as number;
+ form.bank_alias_code = '';
+ form.need_bank_branch = false;
+}
+
defineExpose({
- onConfirm: enterpriseWalletExpandindirectCreate,
+ onConfirm: openEnterpriseWeChatPayWallet,
});
</script>
--
Gitblit v1.9.1