wupengfei
5 天以前 a4bb5626dcf18a1893792eeeca75e9139c744ad0
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}个受益人证件正面照片:`"
            :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);
  },
});
@@ -1427,6 +1465,12 @@
        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,
      },
    };
    let res = await enterpriseWalletServices.openEnterpriseWeChatPayWallet(params);