zhengyiming
4 天以前 a6921e08035356d4d4e367a8731f729d0520f6b3
fix: s
2个文件已添加
9个文件已修改
620 ■■■■ 已修改文件
.eslintrc-auto-import.json 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
auto-imports.d.ts 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/Form/FieldPaginationSelect.vue 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/Form/ProFormPaginationSelect.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/constants/apiEnum.ts 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/services/api/enterpriseWallet.ts 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/services/api/typings.d.ts 271 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/EnterpriseManage/components/WeChatPayWalletBankBranchAreaCascader.vue 93 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/EnterpriseManage/components/WeChatPayWalletBankBranchsSelect.vue 76 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/EnterpriseManage/components/WeChatPayWalletBanksSelect.vue 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/EnterpriseManage/components/WechatConfigureView.vue 78 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.eslintrc-auto-import.json
@@ -137,6 +137,8 @@
    "EnumWeChatPayApplymentState": true,
    "EnumWeChatPayApplymentSubjectType": true,
    "EnumWeChatPayApplymentSubjectTypeText": true,
    "EnumWeChatPaySettlementModifyVerifyResult": true,
    "EnumWeChatPaySettlementVerifyResult": true,
    "ExtractDefaultPropTypes": true,
    "ExtractPropTypes": true,
    "ExtractPublicPropTypes": true,
auto-imports.d.ts
@@ -141,6 +141,8 @@
  const EnumWeChatPayApplymentState: typeof import('./src/constants/apiEnum')['EnumWeChatPayApplymentState']
  const EnumWeChatPayApplymentSubjectType: typeof import('./src/constants/apiEnum')['EnumWeChatPayApplymentSubjectType']
  const EnumWeChatPayApplymentSubjectTypeText: typeof import('./src/constants/enterpriseWallet')['EnumWeChatPayApplymentSubjectTypeText']
  const EnumWeChatPaySettlementModifyVerifyResult: typeof import('./src/constants/apiEnum')['EnumWeChatPaySettlementModifyVerifyResult']
  const EnumWeChatPaySettlementVerifyResult: typeof import('./src/constants/apiEnum')['EnumWeChatPaySettlementVerifyResult']
  const FastButtonMap: typeof import('./src/constants/module')['FastButtonMap']
  const FastColumnList: typeof import('./src/constants/module')['FastColumnList']
  const FastDataButtonList: typeof import('./src/constants/module')['FastDataButtonList']
@@ -302,7 +304,7 @@
  export type { Component, Slot, Slots, ComponentPublicInstance, ComputedRef, DirectiveBinding, ExtractDefaultPropTypes, ExtractPropTypes, ExtractPublicPropTypes, InjectionKey, PropType, Ref, MaybeRef, MaybeRefOrGetter, VNode, WritableComputedRef } from 'vue'
  import('vue')
  // @ts-ignore
  export type { EnumBillingMethod, EnumClientType, EnumCodeUrlScene, EnumConsoleLogAccess, EnumContractTemplateStatus, EnumContractTemplateValueRecorder, EnumContractTemplateValueType, EnumDataSource, EnumDbAuditOperate, EnumElectronSignAccess, EnumElectronSignVerifyType, EnumEnterpriseCostStatus, EnumEnterpriseCostType, EnumEnterpriseRealMethod, EnumEnterpriseWalletAccess, EnumEnterpriseWalletExpandindirectOrderFileType, EnumEnterpriseWalletExpandindirectOrderScene, EnumEnterpriseWalletExpandindirectOrderStatus, EnumEnterpriseWalletSignStatus, EnumEnterpriseWalletTransactionType, EnumGetEnterpriseEmployeesQuerySignContractStatus, EnumLogLevel, EnumMenuType, EnumMenuVisitLevel, EnumOcrAccess, EnumPagedListOrder, EnumPayAccess, EnumPersonalFreeTime, EnumPersonalJobSeekingStatus, EnumPersonalRealMethod, EnumPersonalUserRealStatus, EnumRealAccess, EnumResourceController, EnumResourceMethod, EnumRoleWebApiDataPower, EnumSettlementCycle, EnumSmsAccess, EnumSmsStatus, EnumTaskCheckReceiveStatus, EnumTaskRecommendStatus, EnumTaskReleaseStatus, EnumTaskSettlementOrderStatus, EnumTaskSettlementStatus, EnumTaskStatus, EnumTaskUserArrangeStatus, EnumTaskUserHireStatus, EnumTaskUserSignContractStatus, EnumTaskUserSubmitCheckReceiveStatus, EnumUserBankCardAccess, EnumUserGender, EnumUserRealMethod, EnumUserStatus, EnumUserType, EnumUserWalletTransactionType, EnumWalletTransactionStatus, EnumWeChatPayApplymentBankAccountType, EnumWeChatPayApplymentCertType, EnumWeChatPayApplymentContactType, EnumWeChatPayApplymentFinanceType, EnumWeChatPayApplymentIdDocType, EnumWeChatPayApplymentIdHolderType, EnumWeChatPayApplymentSalesScenesType, EnumWeChatPayApplymentState, EnumWeChatPayApplymentSubjectType, GetPersonalApplyTaskInfosQueryStatus, GetPersonalHireTaskInfosQueryStatus, GetTaskInfoQueryResultApplyButton, GetTaskInfoQueryResultHireButton, SettlementReceiveStatus, EnumBillingMethod, EnumClientType, EnumCodeUrlScene, EnumConsoleLogAccess, EnumContractTemplateStatus, EnumContractTemplateValueRecorder, EnumContractTemplateValueType, EnumDataSource, EnumDbAuditOperate, EnumElectronSignAccess, EnumElectronSignVerifyType, EnumEnterpriseCostStatus, EnumEnterpriseCostType, EnumEnterpriseRealMethod, EnumEnterpriseWalletAccess, EnumEnterpriseWalletExpandindirectOrderFileType, EnumEnterpriseWalletExpandindirectOrderScene, EnumEnterpriseWalletExpandindirectOrderStatus, EnumEnterpriseWalletSignStatus, EnumEnterpriseWalletTransactionType, EnumGetEnterpriseEmployeesQuerySignContractStatus, EnumLogLevel, EnumMenuType, EnumMenuVisitLevel, EnumOcrAccess, EnumPagedListOrder, EnumPayAccess, EnumPersonalFreeTime, EnumPersonalJobSeekingStatus, EnumPersonalRealMethod, EnumPersonalUserRealStatus, EnumRealAccess, EnumResourceController, EnumResourceMethod, EnumRoleWebApiDataPower, EnumSettlementCycle, EnumSmsAccess, EnumSmsStatus, EnumTaskCheckReceiveStatus, EnumTaskRecommendStatus, EnumTaskReleaseStatus, EnumTaskSettlementOrderStatus, EnumTaskSettlementStatus, EnumTaskStatus, EnumTaskUserArrangeStatus, EnumTaskUserHireStatus, EnumTaskUserSignContractStatus, EnumTaskUserSubmitCheckReceiveStatus, EnumUserBankCardAccess, EnumUserGender, EnumUserRealMethod, EnumUserStatus, EnumUserType, EnumUserWalletTransactionType, EnumWalletTransactionStatus, EnumWeChatPayApplymentBankAccountType, EnumWeChatPayApplymentCertType, EnumWeChatPayApplymentContactType, EnumWeChatPayApplymentFinanceType, EnumWeChatPayApplymentIdDocType, EnumWeChatPayApplymentIdHolderType, EnumWeChatPayApplymentSalesScenesType, EnumWeChatPayApplymentState, EnumWeChatPayApplymentSubjectType, GetPersonalApplyTaskInfosQueryStatus, GetPersonalHireTaskInfosQueryStatus, GetTaskInfoQueryResultApplyButton, GetTaskInfoQueryResultHireButton, SettlementReceiveStatus } from './src/constants/apiEnum'
  export type { EnumBillingMethod, EnumClientType, EnumCodeUrlScene, EnumConsoleLogAccess, EnumContractTemplateStatus, EnumContractTemplateValueRecorder, EnumContractTemplateValueType, EnumDataSource, EnumDbAuditOperate, EnumElectronSignAccess, EnumElectronSignVerifyType, EnumEnterpriseCostStatus, EnumEnterpriseCostType, EnumEnterpriseRealMethod, EnumEnterpriseWalletAccess, EnumEnterpriseWalletExpandindirectOrderFileType, EnumEnterpriseWalletExpandindirectOrderScene, EnumEnterpriseWalletExpandindirectOrderStatus, EnumEnterpriseWalletSignStatus, EnumEnterpriseWalletTransactionType, EnumGetEnterpriseEmployeesQuerySignContractStatus, EnumLogLevel, EnumMenuType, EnumMenuVisitLevel, EnumOcrAccess, EnumPagedListOrder, EnumPayAccess, EnumPersonalFreeTime, EnumPersonalJobSeekingStatus, EnumPersonalRealMethod, EnumPersonalUserRealStatus, EnumRealAccess, EnumResourceController, EnumResourceMethod, EnumRoleWebApiDataPower, EnumSettlementCycle, EnumSmsAccess, EnumSmsStatus, EnumTaskCheckReceiveStatus, EnumTaskRecommendStatus, EnumTaskReleaseStatus, EnumTaskSettlementOrderStatus, EnumTaskSettlementStatus, EnumTaskStatus, EnumTaskUserArrangeStatus, EnumTaskUserHireStatus, EnumTaskUserSignContractStatus, EnumTaskUserSubmitCheckReceiveStatus, EnumUserBankCardAccess, EnumUserGender, EnumUserRealMethod, EnumUserStatus, EnumUserType, EnumUserWalletTransactionType, EnumWalletTransactionStatus, EnumWeChatPayApplymentBankAccountType, EnumWeChatPayApplymentCertType, EnumWeChatPayApplymentContactType, EnumWeChatPayApplymentFinanceType, EnumWeChatPayApplymentIdDocType, EnumWeChatPayApplymentIdHolderType, EnumWeChatPayApplymentSalesScenesType, EnumWeChatPayApplymentState, EnumWeChatPayApplymentSubjectType, EnumWeChatPaySettlementModifyVerifyResult, EnumWeChatPaySettlementVerifyResult, GetPersonalApplyTaskInfosQueryStatus, GetPersonalHireTaskInfosQueryStatus, GetTaskInfoQueryResultApplyButton, GetTaskInfoQueryResultHireButton, SettlementReceiveStatus, EnumBillingMethod, EnumClientType, EnumCodeUrlScene, EnumConsoleLogAccess, EnumContractTemplateStatus, EnumContractTemplateValueRecorder, EnumContractTemplateValueType, EnumDataSource, EnumDbAuditOperate, EnumElectronSignAccess, EnumElectronSignVerifyType, EnumEnterpriseCostStatus, EnumEnterpriseCostType, EnumEnterpriseRealMethod, EnumEnterpriseWalletAccess, EnumEnterpriseWalletExpandindirectOrderFileType, EnumEnterpriseWalletExpandindirectOrderScene, EnumEnterpriseWalletExpandindirectOrderStatus, EnumEnterpriseWalletSignStatus, EnumEnterpriseWalletTransactionType, EnumGetEnterpriseEmployeesQuerySignContractStatus, EnumLogLevel, EnumMenuType, EnumMenuVisitLevel, EnumOcrAccess, EnumPagedListOrder, EnumPayAccess, EnumPersonalFreeTime, EnumPersonalJobSeekingStatus, EnumPersonalRealMethod, EnumPersonalUserRealStatus, EnumRealAccess, EnumResourceController, EnumResourceMethod, EnumRoleWebApiDataPower, EnumSettlementCycle, EnumSmsAccess, EnumSmsStatus, EnumTaskCheckReceiveStatus, EnumTaskRecommendStatus, EnumTaskReleaseStatus, EnumTaskSettlementOrderStatus, EnumTaskSettlementStatus, EnumTaskStatus, EnumTaskUserArrangeStatus, EnumTaskUserHireStatus, EnumTaskUserSignContractStatus, EnumTaskUserSubmitCheckReceiveStatus, EnumUserBankCardAccess, EnumUserGender, EnumUserRealMethod, EnumUserStatus, EnumUserType, EnumUserWalletTransactionType, EnumWalletTransactionStatus, EnumWeChatPayApplymentBankAccountType, EnumWeChatPayApplymentCertType, EnumWeChatPayApplymentContactType, EnumWeChatPayApplymentFinanceType, EnumWeChatPayApplymentIdDocType, EnumWeChatPayApplymentIdHolderType, EnumWeChatPayApplymentSalesScenesType, EnumWeChatPayApplymentState, EnumWeChatPayApplymentSubjectType, EnumWeChatPaySettlementModifyVerifyResult, EnumWeChatPaySettlementVerifyResult, GetPersonalApplyTaskInfosQueryStatus, GetPersonalHireTaskInfosQueryStatus, GetTaskInfoQueryResultApplyButton, GetTaskInfoQueryResultHireButton, SettlementReceiveStatus } from './src/constants/apiEnum'
  import('./src/constants/apiEnum')
  // @ts-ignore
  export type { FlexWorkerEleSignEnum, FlexTaskWorkerHireEnum, FlexWorkerEleSignEnum, FlexTaskWorkerHireEnum } from './src/constants/cPerson'
@@ -480,6 +482,8 @@
    readonly EnumWeChatPayApplymentState: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumWeChatPayApplymentState']>
    readonly EnumWeChatPayApplymentSubjectType: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumWeChatPayApplymentSubjectType']>
    readonly EnumWeChatPayApplymentSubjectTypeText: UnwrapRef<typeof import('./src/constants/enterpriseWallet')['EnumWeChatPayApplymentSubjectTypeText']>
    readonly EnumWeChatPaySettlementModifyVerifyResult: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumWeChatPaySettlementModifyVerifyResult']>
    readonly EnumWeChatPaySettlementVerifyResult: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumWeChatPaySettlementVerifyResult']>
    readonly FastButtonMap: UnwrapRef<typeof import('./src/constants/module')['FastButtonMap']>
    readonly FastColumnList: UnwrapRef<typeof import('./src/constants/module')['FastColumnList']>
    readonly FastDataButtonList: UnwrapRef<typeof import('./src/constants/module')['FastDataButtonList']>
src/components/Form/FieldPaginationSelect.vue
@@ -3,9 +3,9 @@
    <el-select v-model="modelValue" v-bind="{ ...$attrs }">
      <el-option
        v-for="item in proTableProps.tableData"
        :key="item.bank_alias"
        :label="item.bank_alias"
        :value="item.bank_alias"
        :key="item[props.enumValueKey]"
        :label="item[props.enumLabelKey]"
        :value="item[props.enumValueKey]"
      >
      </el-option>
      <template #footer>
@@ -24,9 +24,14 @@
type Props = {
  proTableProps: any;
  enumLabelKey?: string;
  enumValueKey?: string;
};
const props = withDefaults(defineProps<Props>(), {});
const props = withDefaults(defineProps<Props>(), {
  enumLabelKey: 'label',
  enumValueKey: 'value',
});
const modelValue = defineModel<string>();
</script>
src/components/Form/ProFormPaginationSelect.vue
@@ -4,6 +4,8 @@
      v-model="modelValue"
      :proTableProps="proTableProps"
      v-bind="{ ...$attrs }"
      :enumLabelKey="enumLabelKey"
      :enumValueKey="enumValueKey"
    />
  </ProFieldCustom>
</template>
@@ -18,6 +20,8 @@
type Props = {
  proTableProps: any;
  enumLabelKey?: string;
  enumValueKey?: string;
};
const props = withDefaults(defineProps<Props>(), {});
src/constants/apiEnum.ts
@@ -737,6 +737,26 @@
  SUBJECT_TYPE_OTHERS = 4,
}
/** 微信支付修改结算申请审核状态枚举 */
export enum EnumWeChatPaySettlementModifyVerifyResult {
  /**审核成功 */
  AUDIT_SUCCESS = 0,
  /**审核中 */
  AUDITING = 1,
  /**审核驳回 */
  AUDIT_FAIL = 2,
}
/** 微信支付结算账户验证结果枚举 */
export enum EnumWeChatPaySettlementVerifyResult {
  /**验证成功,该账户可正常发起提现 */
  VERIFY_SUCCESS = 0,
  /**验证失败,该账户无法发起提现,请检查修改 */
  VERIFY_FAIL = 1,
  /**验证中,商户可发起提现尝试 */
  VERIFYING = 2,
}
/** 我的报名分页列表-状态 */
export enum GetPersonalApplyTaskInfosQueryStatus {
  /**待确认 */
src/services/api/enterpriseWallet.ts
@@ -331,6 +331,24 @@
  );
}
/** 查询企业微信支付银行账户更新信息 GET /api/user/enterpriseWallet/getEnterpriseWeChatPayWalletBankAccountUpdateInfo */
export async function getEnterpriseWeChatPayWalletBankAccountUpdateInfo(
  // 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
  params: API.APIgetEnterpriseWeChatPayWalletBankAccountUpdateInfoParams,
  options?: API.RequestConfig
) {
  return request<API.GetEnterpriseWeChatPayWalletBankAccountUpdateInfoQueryResult>(
    '/api/user/enterpriseWallet/getEnterpriseWeChatPayWalletBankAccountUpdateInfo',
    {
      method: 'GET',
      params: {
        ...params,
      },
      ...(options || {}),
    }
  );
}
/** 查询企业微信支付钱包支行分页列表 POST /api/user/enterpriseWallet/getEnterpriseWeChatPayWalletBankBranches */
export async function getEnterpriseWeChatPayWalletBankBranches(
  body: API.GetEnterpriseWeChatPayWalletBankBranchesQuery,
@@ -470,3 +488,21 @@
    ...(options || {}),
  });
}
/** 修改企业微信支付钱包结算账户 POST /api/user/enterpriseWallet/updateEnterpriseWeChatPayWalletBankAccountInfo */
export async function updateEnterpriseWeChatPayWalletBankAccountInfo(
  body: API.UpdateEnterpriseWeChatPayWalletBankAccountInfoCommand,
  options?: API.RequestConfig
) {
  return request<API.UpdateEnterpriseWeChatPayWalletBankAccountInfoCommandResult>(
    '/api/user/enterpriseWallet/updateEnterpriseWeChatPayWalletBankAccountInfo',
    {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json-patch+json',
      },
      data: body,
      ...(options || {}),
    }
  );
}
src/services/api/typings.d.ts
@@ -139,6 +139,11 @@
    maxDeep?: number;
  }
  interface APIgetEnterpriseWeChatPayWalletBankAccountUpdateInfoParams {
    /** 企业Id */
    enterpriseId?: string;
  }
  interface APIgetEnterpriseWeChatPayWalletBankCitiesParams {
    /** 省份编码,唯一标识一个省份,用于查询该省份下的城市列表 */
    provinceCode: number;
@@ -1229,6 +1234,24 @@
    SUBJECT_TYPE_OTHERS = 4,
  }
  enum EnumWeChatPaySettlementModifyVerifyResult {
    /**审核成功 */
    AUDIT_SUCCESS = 0,
    /**审核中 */
    AUDITING = 1,
    /**审核驳回 */
    AUDIT_FAIL = 2,
  }
  enum EnumWeChatPaySettlementVerifyResult {
    /**验证成功,该账户可正常发起提现 */
    VERIFY_SUCCESS = 0,
    /**验证失败,该账户无法发起提现,请检查修改 */
    VERIFY_FAIL = 1,
    /**验证中,商户可发起提现尝试 */
    VERIFYING = 2,
  }
  interface ExportTaskCheckReceiveTaskUsersCommand {
    /** 任务Id */
    id?: string;
@@ -1680,6 +1703,24 @@
    /** 错误码 */
    errorCode?: string;
    data?: GetEnterpriseWalletTransactionQueryResult;
    /** 执行成功 */
    success?: boolean;
    /** 错误信息 */
    msg?: any;
    /** 附加数据 */
    extras?: any;
    /** 时间戳 */
    timestamp?: number;
  }
  interface FriendlyResultGetEnterpriseWeChatPayWalletBankAccountUpdateInfoQueryResult {
    /** 跟踪Id */
    traceId?: string;
    /** 状态码 */
    code?: number;
    /** 错误码 */
    errorCode?: string;
    data?: GetEnterpriseWeChatPayWalletBankAccountUpdateInfoQueryResult;
    /** 执行成功 */
    success?: boolean;
    /** 错误信息 */
@@ -3078,6 +3119,24 @@
    timestamp?: number;
  }
  interface FriendlyResultUpdateEnterpriseWeChatPayWalletBankAccountInfoCommandResult {
    /** 跟踪Id */
    traceId?: string;
    /** 状态码 */
    code?: number;
    /** 错误码 */
    errorCode?: string;
    data?: UpdateEnterpriseWeChatPayWalletBankAccountInfoCommandResult;
    /** 执行成功 */
    success?: boolean;
    /** 错误信息 */
    msg?: any;
    /** 附加数据 */
    extras?: any;
    /** 时间戳 */
    timestamp?: number;
  }
  interface FriendlyResultUploadFileCommandResult {
    /** 跟踪Id */
    traceId?: string;
@@ -4076,6 +4135,57 @@
    transactionStatus?: EnumWalletTransactionStatus;
  }
  interface GetEnterpriseWeChatPayWalletBankAccountUpdateInfoQueryResult {
    /** 钱包Id */
    id?: string;
    modifySettlementVerifyResult?: EnumWeChatPaySettlementModifyVerifyResult;
    /** 修改结算账户审核驳回原因,审核成功时为空 */
    modifySettlementVerifyFailReason?: string;
    /** 修改结算账户审核结果更新时间,遵循rfc3339标准格式,例如:2015-05-20T13:29:35+08:00 */
    modifySettlementVerifyFinishTime?: string;
    /** 银行别名编码
银行别名的编码,查询支行接口仅支持需要填写支行的银行别名编码 */
    bank_alias_code?: string;
    /** 省份编码,唯一标识一个省份,用于查询该省份下的城市列表 */
    province_code?: number;
    /** 城市编码,唯一标识一座城市,用于结合银行别名编码查询支行列表 */
    city_code?: number;
    /** 银行别名,用于在前端展示全量银行名称供用户选择,如工商银行、深圳前海微众银行等共计4000多家银行的别名名称 */
    bank_alias?: string;
    /** 开户银行编码,用于在入驻、修改结算银行卡、企业付款等场景中填写所用银行卡对应的开户银行,其中非直连银行统一为 1099 */
    account_bank_code?: number;
    /** 是否需要填写支行,该开户银行是否需要传入对应的支行,需要请使用银行别名编码和城市编码查询选择具体的支行并传入(默认值为true)
如需查询城市编码,需要通过查询城市列表接口获取相应的城市编码信息 */
    need_bank_branch?: boolean;
    bank_account_type: EnumWeChatPayApplymentBankAccountType;
    /** 开户名称
1、选择“经营者个人银行卡”时,开户名称必须与“经营者证件姓名”一致;
2、选择“对公银行账户”时,开户名称必须与营业执照上的“商户名称”一致;
3、该字段需要使用微信支付公钥加密(推荐),请参考获取微信支付公钥ID说明以及微信支付公钥加密敏感信息指引,也可以使用微信支付平台证书公钥加密,参考获取平台证书序列号、平台证书加密敏感信息指引。 */
    account_name: string;
    /** 开户银行
对私银行调用:查询支持个人业务的银行列表API
对公银行调用:查询支持对公业务的银行列表API */
    account_bank: string;
    /** 开户银行省市编码
该字段即将下线处理,无需传入
至少精确到市,详细参见省市区编号对照表
注:仅当省市区编号对照表中无对应的省市区编号时,可向上取该银行对应市级编号或省级编号。 */
    bank_address_code?: string;
    /** 开户银行银行号
1、根据开户银行查询接口中的“是否需要填写支行”判断是否需要填写。如为其他银行,开户银行全称(含支行)和开户银行联行号二选一;
2、详细需调用查询支行列表API查看查询结果。 */
    bank_branch_id?: string;
    /** 开户银行全称(含支行)
1、根据开户银行查询接口中的“是否需要填写支行”判断是否需要填写。如为其他银行,开户银行全称(含支行)和开户银行联行号二选一;
2、详细需调用查询支行列表API查看查询结果。 */
    bank_name?: string;
    /** 银行账号
1、数字,长度遵循系统支持的卡号长度要求表;
2、该字段需要使用微信支付公钥加密(推荐),请参考获取微信支付公钥ID说明以及微信支付公钥加密敏感信息指引,也可以使用微信支付平台证书公钥加密,参考获取平台证书序列号、平台证书加密敏感信息指引。 */
    account_number: string;
  }
  interface GetEnterpriseWeChatPayWalletBankBranchesQuery {
    /** 银行别名编码
银行别名的编码,查询支行接口仅支持需要填写支行的银行别名编码 */
@@ -4127,16 +4237,16 @@
  interface GetEnterpriseWeChatPayWalletBanksQueryResultItem {
    /** 银行别名,用于在前端展示全量银行名称供用户选择,如工商银行、深圳前海微众银行等共计4000多家银行的别名名称 */
    bankAlias?: string;
    bank_alias: string;
    /** 银行别名编码,用于在查询支行列表接口检索获取支行列表(仅开户银行为其他银行时需要查询支行) */
    bankAliasCode?: string;
    bank_alias_code: string;
    /** 开户银行名称,用于在入驻、修改结算银行卡、企业付款等场景中填写所用银行卡对应的开户银行,其中非直连银行统一为其他银行 */
    accountBank?: string;
    account_bank: string;
    /** 开户银行编码,用于在入驻、修改结算银行卡、企业付款等场景中填写所用银行卡对应的开户银行,其中非直连银行统一为 1099 */
    accountBankCode?: number;
    account_bank_code: number;
    /** 是否需要填写支行,该开户银行是否需要传入对应的支行,需要请使用银行别名编码和城市编码查询选择具体的支行并传入(默认值为true)
如需查询城市编码,需要通过查询城市列表接口获取相应的城市编码信息 */
    needBankBranch?: boolean;
    need_bank_branch: boolean;
  }
  interface GetEnterpriseWeChatPayWalletQueryResult {
@@ -4152,6 +4262,14 @@
    applyment_state_msg?: string;
    /** 驳回原因详情,各项资料的审核情况,当申请状态为APPLYMENT_STATE_REJECTED时才返回 */
    audit_detail?: WeChatPayGetApplymentResponseAuditDetail[];
    settlementVerifyResult?: EnumWeChatPaySettlementVerifyResult;
    /** 验证失败原因,验证成功时为空 */
    settlementVerifyFailReason?: string;
    modifySettlementVerifyResult?: EnumWeChatPaySettlementModifyVerifyResult;
    /** 修改结算账户审核驳回原因,审核成功时为空 */
    modifySettlementVerifyFailReason?: string;
    /** 修改结算账户审核结果更新时间,遵循rfc3339标准格式,例如:2015-05-20T13:29:35+08:00 */
    modifySettlementVerifyFinishTime?: string;
    /** 余额 */
    balance?: number;
    /** 业务申请编号
@@ -4170,8 +4288,17 @@
    /** 银行别名编码
银行别名的编码,查询支行接口仅支持需要填写支行的银行别名编码 */
    bank_alias_code?: string;
    /** 省份编码,唯一标识一个省份,用于查询该省份下的城市列表 */
    province_code?: number;
    /** 城市编码,唯一标识一座城市,用于结合银行别名编码查询支行列表 */
    city_code?: number;
    /** 银行别名,用于在前端展示全量银行名称供用户选择,如工商银行、深圳前海微众银行等共计4000多家银行的别名名称 */
    bank_alias?: string;
    /** 开户银行编码,用于在入驻、修改结算银行卡、企业付款等场景中填写所用银行卡对应的开户银行,其中非直连银行统一为 1099 */
    account_bank_code?: number;
    /** 是否需要填写支行,该开户银行是否需要传入对应的支行,需要请使用银行别名编码和城市编码查询选择具体的支行并传入(默认值为true)
如需查询城市编码,需要通过查询城市列表接口获取相应的城市编码信息 */
    need_bank_branch?: boolean;
    bank_account_type: EnumWeChatPayApplymentBankAccountType;
    /** 开户名称
1、选择“经营者个人银行卡”时,开户名称必须与“经营者证件姓名”一致;
@@ -5227,6 +5354,8 @@
    name?: string;
    /** 身份证号 */
    identity?: string;
    /** 微信开放Id */
    wxmpOpenId?: string;
    /** 手机号 */
    contactPhoneNumber?: string;
    /** 所属银行 */
@@ -6088,12 +6217,56 @@
2、服务商自定义的唯一编号;
3、每个编号对应一个申请单,每个申请单审核通过后会生成一个微信支付商户号。 */
    business_code: string;
    bank_account_info: WeChatPayApplymentBodyParametersBankAccountInfo;
    bank_account_info: OpenEnterpriseWeChatPayWalletCommandBankAccountInfo;
    contact_info: WeChatPayApplymentBodyParametersContactInfo;
    subject_info: WeChatPayApplymentBodyParametersSubjectInfo;
    business_info: WeChatPayApplymentBodyParametersBusinessInfo;
    settlement_info: WeChatPayApplymentBodyParametersSettlementInfo;
    addition_info?: WeChatPayApplymentBodyParametersAdditionInfo;
  }
  interface OpenEnterpriseWeChatPayWalletCommandBankAccountInfo {
    /** 银行别名编码
银行别名的编码,查询支行接口仅支持需要填写支行的银行别名编码 */
    bank_alias_code?: string;
    /** 省份编码,唯一标识一个省份,用于查询该省份下的城市列表 */
    province_code?: number;
    /** 城市编码,唯一标识一座城市,用于结合银行别名编码查询支行列表 */
    city_code?: number;
    /** 银行别名,用于在前端展示全量银行名称供用户选择,如工商银行、深圳前海微众银行等共计4000多家银行的别名名称 */
    bank_alias?: string;
    /** 开户银行编码,用于在入驻、修改结算银行卡、企业付款等场景中填写所用银行卡对应的开户银行,其中非直连银行统一为 1099 */
    account_bank_code?: number;
    /** 是否需要填写支行,该开户银行是否需要传入对应的支行,需要请使用银行别名编码和城市编码查询选择具体的支行并传入(默认值为true)
如需查询城市编码,需要通过查询城市列表接口获取相应的城市编码信息 */
    need_bank_branch?: boolean;
    bank_account_type: EnumWeChatPayApplymentBankAccountType;
    /** 开户名称
1、选择“经营者个人银行卡”时,开户名称必须与“经营者证件姓名”一致;
2、选择“对公银行账户”时,开户名称必须与营业执照上的“商户名称”一致;
3、该字段需要使用微信支付公钥加密(推荐),请参考获取微信支付公钥ID说明以及微信支付公钥加密敏感信息指引,也可以使用微信支付平台证书公钥加密,参考获取平台证书序列号、平台证书加密敏感信息指引。 */
    account_name: string;
    /** 开户银行
对私银行调用:查询支持个人业务的银行列表API
对公银行调用:查询支持对公业务的银行列表API */
    account_bank: string;
    /** 开户银行省市编码
该字段即将下线处理,无需传入
至少精确到市,详细参见省市区编号对照表
注:仅当省市区编号对照表中无对应的省市区编号时,可向上取该银行对应市级编号或省级编号。 */
    bank_address_code?: string;
    /** 开户银行银行号
1、根据开户银行查询接口中的“是否需要填写支行”判断是否需要填写。如为其他银行,开户银行全称(含支行)和开户银行联行号二选一;
2、详细需调用查询支行列表API查看查询结果。 */
    bank_branch_id?: string;
    /** 开户银行全称(含支行)
1、根据开户银行查询接口中的“是否需要填写支行”判断是否需要填写。如为其他银行,开户银行全称(含支行)和开户银行联行号二选一;
2、详细需调用查询支行列表API查看查询结果。 */
    bank_name?: string;
    /** 银行账号
1、数字,长度遵循系统支持的卡号长度要求表;
2、该字段需要使用微信支付公钥加密(推荐),请参考获取微信支付公钥ID说明以及微信支付公钥加密敏感信息指引,也可以使用微信支付平台证书公钥加密,参考获取平台证书序列号、平台证书加密敏感信息指引。 */
    account_number: string;
  }
  interface OpenEnterpriseWeChatPayWalletCommandResult {
@@ -7090,6 +7263,62 @@
  type TestWeChatPayCommand = Record<string, any>;
  interface UpdateEnterpriseWeChatPayWalletBankAccountInfoCommand {
    /** 企业Id */
    enterpriseId?: string;
    /** 银行别名编码
银行别名的编码,查询支行接口仅支持需要填写支行的银行别名编码 */
    bank_alias_code?: string;
    /** 省份编码,唯一标识一个省份,用于查询该省份下的城市列表 */
    province_code?: number;
    /** 城市编码,唯一标识一座城市,用于结合银行别名编码查询支行列表 */
    city_code?: number;
    /** 银行别名,用于在前端展示全量银行名称供用户选择,如工商银行、深圳前海微众银行等共计4000多家银行的别名名称 */
    bank_alias?: string;
    /** 开户银行编码,用于在入驻、修改结算银行卡、企业付款等场景中填写所用银行卡对应的开户银行,其中非直连银行统一为 1099 */
    account_bank_code?: number;
    /** 是否需要填写支行,该开户银行是否需要传入对应的支行,需要请使用银行别名编码和城市编码查询选择具体的支行并传入(默认值为true)
如需查询城市编码,需要通过查询城市列表接口获取相应的城市编码信息 */
    need_bank_branch?: boolean;
    bank_account_type: EnumWeChatPayApplymentBankAccountType;
    /** 开户名称
1、选择“经营者个人银行卡”时,开户名称必须与“经营者证件姓名”一致;
2、选择“对公银行账户”时,开户名称必须与营业执照上的“商户名称”一致;
3、该字段需要使用微信支付公钥加密(推荐),请参考获取微信支付公钥ID说明以及微信支付公钥加密敏感信息指引,也可以使用微信支付平台证书公钥加密,参考获取平台证书序列号、平台证书加密敏感信息指引。 */
    account_name: string;
    /** 开户银行
对私银行调用:查询支持个人业务的银行列表API
对公银行调用:查询支持对公业务的银行列表API */
    account_bank: string;
    /** 开户银行省市编码
该字段即将下线处理,无需传入
至少精确到市,详细参见省市区编号对照表
注:仅当省市区编号对照表中无对应的省市区编号时,可向上取该银行对应市级编号或省级编号。 */
    bank_address_code?: string;
    /** 开户银行银行号
1、根据开户银行查询接口中的“是否需要填写支行”判断是否需要填写。如为其他银行,开户银行全称(含支行)和开户银行联行号二选一;
2、详细需调用查询支行列表API查看查询结果。 */
    bank_branch_id?: string;
    /** 开户银行全称(含支行)
1、根据开户银行查询接口中的“是否需要填写支行”判断是否需要填写。如为其他银行,开户银行全称(含支行)和开户银行联行号二选一;
2、详细需调用查询支行列表API查看查询结果。 */
    bank_name?: string;
    /** 银行账号
1、数字,长度遵循系统支持的卡号长度要求表;
2、该字段需要使用微信支付公钥加密(推荐),请参考获取微信支付公钥ID说明以及微信支付公钥加密敏感信息指引,也可以使用微信支付平台证书公钥加密,参考获取平台证书序列号、平台证书加密敏感信息指引。 */
    account_number: string;
  }
  interface UpdateEnterpriseWeChatPayWalletBankAccountInfoCommandResult {
    /** 钱包Id */
    id?: string;
    modifySettlementVerifyResult?: EnumWeChatPaySettlementModifyVerifyResult;
    /** 修改结算账户审核驳回原因,审核成功时为空 */
    modifySettlementVerifyFailReason?: string;
    /** 修改结算账户审核结果更新时间,遵循rfc3339标准格式,例如:2015-05-20T13:29:35+08:00 */
    modifySettlementVerifyFinishTime?: string;
  }
  interface UpdatePhoneNumberVerifyCodeCommand {
    /** 手机号码 */
    phoneNumber: string;
@@ -7118,36 +7347,6 @@
    /** 补充说明
512字以内 */
    business_addition_msg?: string;
  }
  interface WeChatPayApplymentBodyParametersBankAccountInfo {
    bank_account_type: EnumWeChatPayApplymentBankAccountType;
    /** 开户名称
1、选择“经营者个人银行卡”时,开户名称必须与“经营者证件姓名”一致;
2、选择“对公银行账户”时,开户名称必须与营业执照上的“商户名称”一致;
3、该字段需要使用微信支付公钥加密(推荐),请参考获取微信支付公钥ID说明以及微信支付公钥加密敏感信息指引,也可以使用微信支付平台证书公钥加密,参考获取平台证书序列号、平台证书加密敏感信息指引。 */
    account_name: string;
    /** 开户银行
对私银行调用:查询支持个人业务的银行列表API
对公银行调用:查询支持对公业务的银行列表API */
    account_bank: string;
    /** 开户银行省市编码
该字段即将下线处理,无需传入
至少精确到市,详细参见省市区编号对照表
注:仅当省市区编号对照表中无对应的省市区编号时,可向上取该银行对应市级编号或省级编号。 */
    bank_address_code?: string;
    /** 开户银行银行号
1、根据开户银行查询接口中的“是否需要填写支行”判断是否需要填写。如为其他银行,开户银行全称(含支行)和开户银行联行号二选一;
2、详细需调用查询支行列表API查看查询结果。 */
    bank_branch_id?: string;
    /** 开户银行全称(含支行)
1、根据开户银行查询接口中的“是否需要填写支行”判断是否需要填写。如为其他银行,开户银行全称(含支行)和开户银行联行号二选一;
2、详细需调用查询支行列表API查看查询结果。 */
    bank_name?: string;
    /** 银行账号
1、数字,长度遵循系统支持的卡号长度要求表;
2、该字段需要使用微信支付公钥加密(推荐),请参考获取微信支付公钥ID说明以及微信支付公钥加密敏感信息指引,也可以使用微信支付平台证书公钥加密,参考获取平台证书序列号、平台证书加密敏感信息指引。 */
    account_number: string;
  }
  interface WeChatPayApplymentBodyParametersBusinessInfo {
src/views/EnterpriseManage/components/WeChatPayWalletBankBranchAreaCascader.vue
New file
@@ -0,0 +1,93 @@
<template>
  <ProFieldCustom>
    <div class="address-select">
      <el-cascader
        v-bind="areaByCascaderProps"
        v-model="areaList"
        :placeholder="placeholder"
        clearable
        :value-on-clear="() => []"
      ></el-cascader>
    </div>
  </ProFieldCustom>
</template>
<script setup lang="ts">
import { ProFieldCustom } from '@bole-core/components';
import { CascaderProps } from 'element-plus';
import * as enterpriseWalletServices from '@/services/api/enterpriseWallet';
import { useQueryClient } from '@tanstack/vue-query';
defineOptions({
  name: 'WeChatPayWalletBankBranchAreaCascader',
});
type Props = {
  placeholder?: string;
};
const props = withDefaults(defineProps<Props>(), {});
const areaList = defineModel<number[]>('areaList');
const queryClient = useQueryClient();
function getEnterpriseWeChatPayWalletBankProvinces() {
  return queryClient.fetchQuery({
    queryKey: ['enterpriseWalletServices/getEnterpriseWeChatPayWalletBankProvinces'],
    queryFn: async () => {
      let res = await enterpriseWalletServices.getEnterpriseWeChatPayWalletBankProvinces(
        {},
        { showLoading: false }
      );
      return res.map((x) => ({
        areaName: x.province_name,
        areaCode: x.province_code,
      }));
    },
    staleTime: Infinity,
  });
}
function getEnterpriseWeChatPayWalletBankCities(provinceCode: number) {
  return queryClient.fetchQuery({
    queryKey: ['enterpriseWalletServices/getEnterpriseWeChatPayWalletBankCities', provinceCode],
    queryFn: async () => {
      let res = await enterpriseWalletServices.getEnterpriseWeChatPayWalletBankCities(
        {
          provinceCode: provinceCode,
        },
        { showLoading: false }
      );
      return res.map((x) => ({
        areaName: x.city_name,
        areaCode: x.city_code,
      }));
    },
    staleTime: Infinity,
  });
}
const areaByCascaderProps = {
  props: {
    label: 'areaName',
    value: 'areaCode',
    lazy: true,
    async lazyLoad(node, resolve) {
      const { level, data, value } = node;
      console.log('value: ', value);
      const areas =
        level === 0
          ? await getEnterpriseWeChatPayWalletBankProvinces()
          : await getEnterpriseWeChatPayWalletBankCities(value as any);
      return resolve(
        areas.map((x) => ({
          ...x,
          leaf: level >= 1,
        }))
      );
    },
  } as CascaderProps,
};
</script>
src/views/EnterpriseManage/components/WeChatPayWalletBankBranchsSelect.vue
New file
@@ -0,0 +1,76 @@
<template>
  <ProFormPaginationSelect
    v-model="bank_branch_id"
    :proTableProps="proTableProps"
    enum-label-key="bank_branch_name"
    enum-value-key="bank_branch_id"
  >
  </ProFormPaginationSelect>
</template>
<script setup lang="ts">
import { useTable } from '@bole-core/components';
import * as enterpriseWalletServices from '@/services/api/enterpriseWallet';
defineOptions({
  name: 'WeChatPayWalletBankBranchsSelect',
});
type Props = {
  bank_alias_code: string;
  city_code: number;
  need_bank_branch: boolean;
};
const props = withDefaults(defineProps<Props>(), {});
const bank_branch_id = defineModel<string>('bank_branch_id');
onMounted(() => {
  getList();
});
watch(
  [toRef(props, 'bank_alias_code'), toRef(props, 'city_code'), toRef(props, 'need_bank_branch')],
  ([bank_alias_code, city_code, need_bank_branch]) => {
    bank_branch_id.value = '';
    if (need_bank_branch) {
      getList();
    }
  }
);
const {
  getDataSource: getList,
  proTableProps,
  paginationState,
  extraParamState,
  reset,
} = useTable(
  async ({ pageIndex, pageSize }, extraParamState) => {
    try {
      let params: API.GetEnterpriseWeChatPayWalletBankBranchesQuery = {
        pageModel: {
          rows: pageSize,
          page: pageIndex,
        },
        bank_alias_code: props.bank_alias_code,
        city_code: props.city_code,
      };
      let res = await enterpriseWalletServices.getEnterpriseWeChatPayWalletBankBranches(params, {
        showLoading: true,
      });
      return res;
    } catch (error) {
      console.log('error: ', error);
    }
  },
  {
    defaultExtraParams: {
      keywords: '',
    },
    queryKey: ['enterpriseWalletServices/getEnterpriseWeChatPayWalletBankBranches'],
  }
);
</script>
src/views/EnterpriseManage/components/WeChatPayWalletBanksSelect.vue
@@ -1,8 +1,10 @@
<template>
  <ProFormPaginationSelect
    v-model="modelValue"
    v-model="bank_alias"
    :proTableProps="proTableProps"
    @change="handleAccountBankChange"
    enum-label-key="bank_alias"
    enum-value-key="bank_alias"
  >
  </ProFormPaginationSelect>
</template>
@@ -20,7 +22,11 @@
// const props = withDefaults(defineProps<Props>(), {});
const modelValue = defineModel<string>();
const bank_alias = defineModel<string>('bank_alias');
const account_bank = defineModel<string>('account_bank');
const account_bank_code = defineModel<number>('account_bank_code');
const bank_alias_code = defineModel<string>('bank_alias_code');
const need_bank_branch = defineModel<boolean>('need_bank_branch');
onMounted(() => {
  getList();
@@ -59,7 +65,14 @@
  }
);
function handleAccountBankChange(val: string) {
  console.log('val: ', val);
function handleAccountBankChange(bank_alias: string) {
  console.log('bank_alias: ', bank_alias);
  const bank = proTableProps.value.tableData.find((item) => item.bank_alias === bank_alias);
  if (bank) {
    account_bank.value = bank.account_bank;
    account_bank_code.value = bank.account_bank_code;
    bank_alias_code.value = bank.bank_alias_code;
    need_bank_branch.value = bank.need_bank_branch;
  }
}
</script>
src/views/EnterpriseManage/components/WechatConfigureView.vue
@@ -891,17 +891,21 @@
      </ProFormItemV2>
      <ProFormItemV2
        label="开户银行:"
        prop="account_bank"
        prop="bank_alias"
        :checkRules="[{ message: '请输入开户银行' }]"
      >
        <!-- <ProFormText v-model.trim="form.account_bank" placeholder="请输入开户银行" /> -->
        <WeChatPayWalletBanksSelect
          v-model.trim="form.account_bank"
          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: '请输入开户银行省市编码' }]"
@@ -912,21 +916,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"
@@ -983,6 +1002,8 @@
} 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',
@@ -1074,6 +1095,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(() => {
@@ -1121,7 +1147,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 ?? ''
@@ -1241,6 +1267,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);
  },
});
@@ -1420,6 +1454,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);