From 0f75e2ede118457d361f51ca4c3a906b11e70482 Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期一, 13 十月 2025 14:37:26 +0800
Subject: [PATCH] Merge branch 'dev-1.1.2' of http://120.26.58.240:8888/r/flexJobAdmin into dev-1.1.2

---
 src/views/EnterpriseManage/components/WechatConfigureView.vue |  287 ++++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 264 insertions(+), 23 deletions(-)

diff --git a/src/views/EnterpriseManage/components/WechatConfigureView.vue b/src/views/EnterpriseManage/components/WechatConfigureView.vue
index f39f332..50720b9 100644
--- a/src/views/EnterpriseManage/components/WechatConfigureView.vue
+++ b/src/views/EnterpriseManage/components/WechatConfigureView.vue
@@ -1,6 +1,6 @@
 <template>
   <LoadingLayout :loading="isLoading">
-    <ProForm :model="form" ref="dialogForm" label-width="150px">
+    <ProForm :model="form" ref="dialogForm" label-width="210px">
       <ProFormItemV2
         label="涓氬姟鐢宠缂栧彿:"
         prop="business_code"
@@ -18,6 +18,7 @@
           v-model.trim="form.contact_type"
           :value-enum="EnumWeChatPayApplymentContactTypeText"
           :button-style="false"
+          :convertEnumValue="false"
         />
       </ProFormItemV2>
       <ProFormItemV2
@@ -569,12 +570,17 @@
         <ProFormItemV2
           label="绾夸笅鍦烘墍鐪佸競缂栫爜:"
           prop="biz_address_code"
-          :checkRules="[{ message: '璇疯緭鍏ョ嚎涓嬪満鎵�鐪佸競缂栫爜' }]"
+          :checkRules="[{ message: '璇疯緭鍏ョ嚎涓嬪満鎵�鐪佸競缂栫爜', type: 'number' }]"
         >
-          <ProFormInputNumber
-            v-model.trim="form.biz_address_code"
-            placeholder="璇疯緭鍏ョ嚎涓嬪満鎵�鐪佸競缂栫爜"
-          />
+          <div style="display: flex; width: 100%">
+            <ProFormText
+              v-model.trim="form.biz_address_code"
+              placeholder="璇疯緭鍏ョ嚎涓嬪満鎵�鐪佸競缂栫爜"
+            />
+            <el-button type="primary" link @click="downloadAddressCodeTemplate"
+              >鐪佸競缂栫爜妯℃澘</el-button
+            >
+          </div>
         </ProFormItemV2>
         <ProFormItemV2
           label="绾夸笅鍦烘墍鍦板潃:"
@@ -891,6 +897,18 @@
         <ProFormText v-model.trim="form.account_bank" placeholder="璇疯緭鍏ュ紑鎴烽摱琛�" />
       </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>
+      <ProFormItemV2
         label="寮�鎴烽摱琛岄摱琛屽彿:"
         prop="bank_branch_id"
         :checkRules="[{ message: '璇疯緭鍏ュ紑鎴烽摱琛岄摱琛屽彿' }]"
@@ -898,11 +916,11 @@
         <ProFormText v-model.trim="form.bank_branch_id" placeholder="璇疯緭鍏ュ紑鎴烽摱琛岄摱琛屽彿" />
       </ProFormItemV2>
       <ProFormItemV2
-        label="寮�鎴烽摱琛屽叏绉帮紙鍚敮琛岋級:"
+        label="寮�鎴烽摱琛屽叏绉�(鍚敮琛�):"
         prop="bank_name"
-        :checkRules="[{ message: '璇疯緭鍏ュ紑鎴烽摱琛屽叏绉帮紙鍚敮琛岋級' }]"
+        :checkRules="[{ message: '璇疯緭鍏ュ紑鎴烽摱琛屽叏绉�(鍚敮琛�)' }]"
       >
-        <ProFormText v-model.trim="form.bank_name" placeholder="璇疯緭鍏ュ紑鎴烽摱琛屽叏绉帮紙鍚敮琛岋級" />
+        <ProFormText v-model.trim="form.bank_name" placeholder="璇疯緭鍏ュ紑鎴烽摱琛屽叏绉�(鍚敮琛�)" />
       </ProFormItemV2>
       <ProFormItemV2
         label="閾惰璐﹀彿:"
@@ -951,14 +969,7 @@
   EnumWeChatPayApplymentSalesScenesTypeText,
   EnumWeChatPayApplymentBankAccountTypeText,
 } from '@/constants';
-import {
-  convertApi2FormUrl,
-  convertApi2FormUrlOnlyOne,
-  convertWalletApiToFiles,
-  convertWalletFilesToApi,
-  downloadFileByUrl,
-  format,
-} from '@/utils';
+import { convertApi2FormUrl, convertApi2FormUrlOnlyOne, downloadFileByUrl, format } from '@/utils';
 import { Message } from '@bole-core/core';
 
 defineOptions({
@@ -984,7 +995,7 @@
 
 const form = reactive({
   business_code: '',
-  contact_type: '' as any as EnumWeChatPayApplymentContactType,
+  contact_type: EnumWeChatPayApplymentContactType.LEGAL,
   contact_name: '',
   contact_id_doc_type: '' as any as EnumWeChatPayApplymentIdDocType,
   contact_id_number: '',
@@ -1024,7 +1035,7 @@
   service_phone: '',
   sales_scenes_type: [] as any as EnumWeChatPayApplymentSalesScenesType[],
   biz_store_name: '',
-  biz_address_code: null as Number,
+  biz_address_code: '',
   biz_store_address: '',
   store_entrance_pic: [] as UploadUserFile[],
   indoor_pic: [] as UploadUserFile[],
@@ -1047,6 +1058,7 @@
   bank_account_type: '' as any as EnumWeChatPayApplymentBankAccountType,
   account_name: '',
   account_bank: '',
+  bank_address_code: '',
   bank_branch_id: '',
   bank_name: '',
   account_number: '',
@@ -1133,6 +1145,109 @@
       format(data.subject_info?.certificate_info?.period_begin, 'YYYY-MM-DD'),
       format(data.subject_info?.certificate_info?.period_end, 'YYYY-MM-DD'),
     ];
+    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(
+      data.subject_info?.identity_info?.authorize_letter_copy ?? ''
+    );
+    form.id_card_copy = convertApi2FormUrlOnlyOne(
+      data.subject_info?.identity_info?.id_card_info?.id_card_copy ?? ''
+    );
+    form.id_card_national = convertApi2FormUrlOnlyOne(
+      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_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.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_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_id_doc_type: '' as any as EnumWeChatPayApplymentIdDocType,
+              ubo_id_doc_copy: [],
+              ubo_id_doc_name: '',
+              ubo_id_doc_number: '',
+              ubo_id_doc_address: '',
+              ubo_period: [],
+            },
+          ];
+    form.merchant_shortname = data.business_info?.merchant_shortname ?? '';
+    form.service_phone = data.business_info?.service_phone ?? '';
+    form.sales_scenes_type = data.business_info?.sales_info?.sales_scenes_type ?? [];
+    form.biz_store_name = data.business_info?.sales_info?.biz_store_info?.biz_store_name ?? '';
+    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.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.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.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.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.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.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 ?? '';
+    form.bank_address_code = data.bank_account_info?.bank_address_code ?? '';
+    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 ?? '';
   },
 });
 
@@ -1152,6 +1267,10 @@
 }
 
 function deleteUboInfo(index: number) {
+  if (form.ubo_info_list.length <= 1) {
+    Message.errorMessage('鑷冲皯淇濈暀涓�涓彈鐩婁汉');
+    return;
+  }
   form.ubo_info_list.splice(index, 1);
 }
 
@@ -1188,13 +1307,129 @@
   window.open('https://kf.qq.com/faq/220228IJb2UV220228uEjU3Q.html', '_blank');
 }
 
-async function enterpriseWalletExpandindirectCreate() {
+async function openEnterpriseWeChatPayWallet() {
   try {
     if (!dialogForm.value) return;
     const valid = await dialogForm.value.validate();
     if (!valid) return;
-    let params: API.EnterpriseWalletExpandindirectCreateCommand = {};
-    let res = await enterpriseWalletServices.enterpriseWalletExpandindirectCreate(params);
+    let params: API.OpenEnterpriseWeChatPayWalletCommand = {
+      enterpriseId: props.id,
+      business_code: form.business_code,
+      contact_info: {
+        contact_type: form.contact_type,
+        contact_name: form.contact_name,
+        contact_id_doc_type: form.contact_id_doc_type,
+        contact_id_number: form.contact_id_number,
+        contact_id_doc_copy: form.contact_id_doc_copy?.[0]?.path,
+        contact_id_doc_copy_back: form.contact_id_doc_copy_back?.[0]?.path,
+        contact_period_begin: format(form.contact_period[0], 'YYYY-MM-DD 00:00:00'),
+        contact_period_end: format(form.contact_period[1], 'YYYY-MM-DD 23:59:59'),
+        business_authorization_letter: form.business_authorization_letter?.[0]?.path,
+        mobile_phone: form.mobile_phone,
+        contact_email: form.contact_email,
+      },
+      subject_info: {
+        subject_type: form.subject_type,
+        business_license_info: {
+          license_copy: form.license_copy?.[0]?.path,
+          merchant_name: form.merchant_name,
+          license_number: form.license_number,
+          legal_person: form.legal_person,
+        },
+        certificate_info: {
+          cert_copy: form.cert_copy?.[0]?.path,
+          cert_type: form.cert_type,
+          cert_number: form.cert_number,
+          merchant_name: form.cert_merchant_name,
+          company_address: form.cert_company_address,
+          legal_person: form.cert_legal_person,
+          period_begin: format(form.cert_period[0], 'YYYY-MM-DD 00:00:00'),
+          period_end: format(form.cert_period[1], 'YYYY-MM-DD 23:59:59'),
+        },
+        identity_info: {
+          id_holder_type: form.id_holder_type,
+          id_doc_type: form.id_doc_type,
+          authorize_letter_copy: form.authorize_letter_copy?.[0]?.path,
+          id_card_info: {
+            id_card_copy: form.id_card_copy?.[0]?.path,
+            id_card_national: form.id_card_national?.[0]?.path,
+            id_card_name: form.id_card_name,
+            id_card_number: form.id_card_number,
+            card_period_begin: format(form.id_card_period[0], 'YYYY-MM-DD 00:00:00'),
+            card_period_end: format(form.id_card_period[1], 'YYYY-MM-DD 23:59:59'),
+          },
+        },
+        ubo_info_list:
+          form.ubo_info_list?.length > 0
+            ? form.ubo_info_list.map((x) => ({
+                ubo_id_doc_type: x.ubo_id_doc_type,
+                ubo_id_doc_copy: x.ubo_id_doc_copy?.[0]?.path,
+                ubo_id_doc_name: x.ubo_id_doc_name,
+                ubo_id_doc_number: x.ubo_id_doc_number,
+                ubo_id_doc_address: x.ubo_id_doc_address,
+                ubo_period_begin: format(x.ubo_period[0], 'YYYY-MM-DD 00:00:00'),
+                ubo_period_end: format(x.ubo_period[1], 'YYYY-MM-DD 23:59:59'),
+              }))
+            : [],
+      },
+      business_info: {
+        merchant_shortname: form.merchant_shortname,
+        service_phone: form.service_phone,
+        sales_info: {
+          sales_scenes_type: form.sales_scenes_type,
+          biz_store_info: {
+            biz_store_name: form.biz_store_name,
+            biz_address_code: form.biz_address_code,
+            biz_store_address: form.biz_store_address,
+            store_entrance_pic:
+              form.store_entrance_pic?.length > 0
+                ? form.store_entrance_pic?.map((x) => x.path)
+                : [],
+            indoor_pic: form.indoor_pic?.length > 0 ? form.indoor_pic?.map((x) => x.path) : [],
+          },
+          mp_info: {
+            mp_appid: form.mp_appid,
+            mp_sub_appid: form.mp_sub_appid,
+            mp_pics: form.mp_pics?.length > 0 ? form.mp_pics?.map((x) => x.path) : [],
+          },
+          mini_program_info: {
+            mini_program_appid: form.mini_program_appid,
+            mini_program_sub_appid: form.mini_program_sub_appid,
+            mini_program_pics:
+              form.mini_program_pics?.length > 0 ? form.mini_program_pics?.map((x) => x.path) : [],
+          },
+          app_info: {
+            app_appid: form.app_appid,
+            app_sub_appid: form.app_sub_appid,
+            app_pics: form.app_pics?.length > 0 ? form.app_pics?.map((x) => x.path) : [],
+          },
+          web_info: {
+            domain: form.domain,
+            web_authorisation: form.web_authorisation?.[0]?.path,
+          },
+          wework_info: {
+            sub_corp_id: form.sub_corp_id,
+            wework_pics: form.wework_pics?.length > 0 ? form.wework_pics?.map((x) => x.path) : [],
+          },
+        },
+      },
+      settlement_info: {
+        settlement_id: form.settlement_id,
+        qualification_type: form.qualification_type,
+        qualifications:
+          form.qualifications?.length > 0 ? form.qualifications?.map((x) => x.path) : [],
+      },
+      bank_account_info: {
+        bank_account_type: form.bank_account_type,
+        account_name: form.account_name,
+        account_bank: form.account_bank,
+        bank_address_code: form.bank_address_code,
+        bank_branch_id: form.bank_branch_id,
+        bank_name: form.bank_name,
+        account_number: form.account_number,
+      },
+    };
+    let res = await enterpriseWalletServices.openEnterpriseWeChatPayWallet(params);
     return res;
   } catch (error) {}
 }
@@ -1219,9 +1454,15 @@
     '缃戠珯鎺堟潈鍑�'
   );
 }
+function downloadAddressCodeTemplate() {
+  downloadFileByUrl(
+    'https://parkmanagement.oss-cn-hangzhou.aliyuncs.com/FlexJob/temp/%E3%80%8A%E7%9C%81%E5%B8%82%E5%8C%BA%E7%BC%96%E5%8F%B7%E5%AF%B9%E7%85%A7%E8%A1%A8%E3%80%8B.xlsx',
+    '鐪佸競缂栫爜妯$増'
+  );
+}
 
 defineExpose({
-  onConfirm: enterpriseWalletExpandindirectCreate,
+  onConfirm: openEnterpriseWeChatPayWallet,
 });
 </script>
 

--
Gitblit v1.9.1