From f74773301c30eb6f74b0b6c091998196b071daba Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期一, 13 十月 2025 17:49:01 +0800
Subject: [PATCH] feat: 微信

---
 src/views/EnterpriseManage/components/WechatConfigureView.vue |  390 +++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 251 insertions(+), 139 deletions(-)

diff --git a/src/views/EnterpriseManage/components/WechatConfigureView.vue b/src/views/EnterpriseManage/components/WechatConfigureView.vue
index 50720b9..7f5f752 100644
--- a/src/views/EnterpriseManage/components/WechatConfigureView.vue
+++ b/src/views/EnterpriseManage/components/WechatConfigureView.vue
@@ -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
@@ -592,6 +601,7 @@
             :minlength="4"
             v-model.trim="form.biz_store_address"
             placeholder="璇疯緭鍏ョ嚎涓嬪満鎵�鍦板潃"
+            show-word-limit
           />
         </ProFormItemV2>
         <ProFormItemV2
@@ -865,6 +875,7 @@
           :maxlength="50"
           v-model.trim="form.qualification_type"
           placeholder="璇疯緭鍏ユ墍灞炶涓�(璇︾粏鍙傝璐圭巼缁撶畻瑙勫垯瀵圭収琛�)"
+          show-word-limit
         />
       </ProFormItemV2>
       <ProFormItemV2 label="鐗规畩璧勮川鍥剧墖:" prop="qualifications">
@@ -891,12 +902,21 @@
       </ProFormItemV2>
       <ProFormItemV2
         label="寮�鎴烽摱琛�:"
-        prop="account_bank"
+        prop="bank_alias"
         :checkRules="[{ message: '璇疯緭鍏ュ紑鎴烽摱琛�' }]"
       >
-        <ProFormText v-model.trim="form.account_bank" placeholder="璇疯緭鍏ュ紑鎴烽摱琛�" />
+        <!-- <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"
+          placeholder="璇疯緭鍏ュ紑鎴烽摱琛�"
+          clearable
+        />
       </ProFormItemV2>
-      <ProFormItemV2
+      <!-- <ProFormItemV2
         label="寮�鎴烽摱琛岀渷甯傜紪鐮�:"
         prop="bank_address_code"
         :checkRules="[{ message: '璇疯緭鍏ュ紑鎴烽摱琛岀渷甯傜紪鐮�' }]"
@@ -907,21 +927,36 @@
             >鐪佸競缂栫爜妯℃澘</el-button
           >
         </div>
-      </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>
+      </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' }]"
+        >
+          <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"
@@ -969,8 +1004,17 @@
   EnumWeChatPayApplymentSalesScenesTypeText,
   EnumWeChatPayApplymentBankAccountTypeText,
 } from '@/constants';
-import { convertApi2FormUrl, convertApi2FormUrlOnlyOne, downloadFileByUrl, format } from '@/utils';
+import {
+  convertApi2FormUrl,
+  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';
 
 defineOptions({
   name: 'WechatConfigureView',
@@ -1062,6 +1106,11 @@
   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 EnumWeChatPayApplymentCertTypeTextList = computed(() => {
@@ -1109,7 +1158,7 @@
     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 ?? ''
@@ -1192,55 +1241,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 ?? '';
@@ -1248,6 +1278,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);
   },
 });
 
@@ -1318,99 +1356,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: {
@@ -1427,8 +1387,160 @@
         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[0],
+        'YYYY-MM-DD 00:00:00'
+      );
+      params.contact_info.contact_period_end = format(
+        form.contact_period[1],
+        'YYYY-MM-DD 23:59:59'
+      );
+      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;
+      params.subject_info.business_license_info.merchant_name = form.merchant_name;
+      params.subject_info.business_license_info.license_number = form.license_number;
+      params.subject_info.business_license_info.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[0],
+        'YYYY-MM-DD 00:00:00'
+      );
+      params.subject_info.certificate_info.period_end = format(
+        form.cert_period[1],
+        'YYYY-MM-DD 23:59:59'
+      );
+    }
+    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;
+      params.subject_info.identity_info.id_card_info.id_card_national =
+        form.id_card_national?.[0]?.path;
+      params.subject_info.identity_info.id_card_info.id_card_name = form.id_card_name;
+      params.subject_info.identity_info.id_card_info.id_card_number = form.id_card_number;
+      params.subject_info.identity_info.id_card_info.card_period_begin = format(
+        form.id_card_period[0],
+        'YYYY-MM-DD 00:00:00'
+      );
+      params.subject_info.identity_info.id_card_info.card_period_end = format(
+        form.id_card_period[1],
+        'YYYY-MM-DD 23:59:59'
+      );
+    }
+    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;
+      params.subject_info.identity_info.id_doc_info.id_doc_name = form.id_doc_name;
+      params.subject_info.identity_info.id_doc_info.id_doc_number = form.id_doc_number;
+      params.subject_info.identity_info.id_doc_info.doc_period_begin = format(
+        form.id_doc_period[0],
+        'YYYY-MM-DD 00:00:00'
+      );
+      params.subject_info.identity_info.id_doc_info.doc_period_end = format(
+        form.id_doc_period[1],
+        'YYYY-MM-DD 23:59:59'
+      );
+    }
+    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_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'),
+            }))
+          : [];
+    }
+    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;
+      params.business_info.sales_info.biz_store_info.biz_address_code = form.biz_address_code;
+      params.business_info.sales_info.biz_store_info.biz_store_address = form.biz_store_address;
+      params.business_info.sales_info.biz_store_info.store_entrance_pic =
+        form.store_entrance_pic?.length > 0 ? form.store_entrance_pic?.map((x) => x.path) : [];
+      params.business_info.sales_info.biz_store_info.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;
+      params.business_info.sales_info.mp_info.mp_sub_appid = form.mp_sub_appid;
+      params.business_info.sales_info.mp_info.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;
+      params.business_info.sales_info.mini_program_info.mini_program_sub_appid =
+        form.mini_program_sub_appid;
+      params.business_info.sales_info.mini_program_info.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;
+      params.business_info.sales_info.app_info.app_sub_appid = form.app_sub_appid;
+      params.business_info.sales_info.app_info.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;
+      params.business_info.sales_info.web_info.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;
+      params.business_info.sales_info.wework_info.wework_pics =
+        form.wework_pics?.length > 0 ? form.wework_pics?.map((x) => x.path) : [];
+    }
+
     let res = await enterpriseWalletServices.openEnterpriseWeChatPayWallet(params);
     return res;
   } catch (error) {}

--
Gitblit v1.9.1