<template>
|
<LoadingLayout :loading="isLoading">
|
<ProForm :model="form" ref="dialogForm" label-width="120px">
|
<ProFormItemV2 label="开户总行:" prop="bank" :check-rules="[{ message: '请输入开户总行' }]">
|
<ProFormText v-model.trim="form.bank" placeholder="请输入开户总行" :maxlength="40" />
|
</ProFormItemV2>
|
<ProFormItemV2
|
label="开户支行:"
|
prop="bankBranch"
|
:check-rules="[{ message: '请输入开户支行' }]"
|
>
|
<ProFormText v-model.trim="form.bankBranch" placeholder="请输入开户支行" :maxlength="40" />
|
</ProFormItemV2>
|
<ProFormItemV2
|
label="银行账户:"
|
prop="bankAccount"
|
:check-rules="[
|
{ message: '请输入银行账户' },
|
{ message: '银行账户仅支持数字', pattern: BoleRegExp.RegNumber },
|
]"
|
>
|
<ProFormText v-model.trim="form.bankAccount" placeholder="请输入银行账户" />
|
</ProFormItemV2>
|
<ProFormItemV2 label="银行账户:" prop="signStatus" required>
|
{{ EnumEnterpriseWalletSignStatusText[form.signStatus] }}
|
<el-button
|
style="margin-left: 10px"
|
type="primary"
|
link
|
@click="refetch({ type: 'inactive' })"
|
>校验</el-button
|
>
|
</ProFormItemV2>
|
</ProForm>
|
</LoadingLayout>
|
</template>
|
|
<script setup lang="ts">
|
import { FormInstance } from 'element-plus';
|
import { ProForm, ProFormItemV2, ProFormText, LoadingLayout } from '@bole-core/components';
|
import * as enterpriseWalletServices from '@/services/api/enterpriseWallet';
|
import { EnumEnterpriseWalletSignStatusText } from '@/constants';
|
import { BoleRegExp } from '@bole-core/core';
|
import { useQuery } from '@tanstack/vue-query';
|
|
defineOptions({
|
name: 'BankConfigureView',
|
});
|
|
type Props = {
|
id: string;
|
};
|
|
const props = withDefaults(defineProps<Props>(), {});
|
|
const dialogForm = ref<FormInstance>();
|
|
const form = reactive({
|
bank: '',
|
bankBranch: '',
|
bankAccount: '',
|
signStatus: '' as any as EnumEnterpriseWalletSignStatus,
|
});
|
|
const { isLoading, refetch } = useQuery({
|
queryKey: [
|
'enterpriseWalletServices/getEnterpriseWallet',
|
props.id,
|
EnumEnterpriseWalletAccess.PingAnPay,
|
],
|
queryFn: async () => {
|
return await enterpriseWalletServices.getEnterpriseWallet({
|
enterpriseId: props.id,
|
access: EnumEnterpriseWalletAccess.PingAnPay,
|
});
|
},
|
onSuccess(data) {
|
form.bank = data.bank;
|
form.bankBranch = data.bankBranch;
|
form.bankAccount = data.identity;
|
form.signStatus = data.signStatus;
|
},
|
});
|
|
async function openEnterpriseWallet() {
|
try {
|
if (!dialogForm.value) return;
|
const valid = await dialogForm.value.validate();
|
if (!valid) return;
|
let params: API.OpenEnterpriseWalletCommand = {
|
access: EnumEnterpriseWalletAccess.PingAnPay,
|
enterpriseId: props.id,
|
bank: form.bank,
|
bankBranch: form.bankBranch,
|
identity: form.bankAccount,
|
};
|
let res = await enterpriseWalletServices.openEnterpriseWallet(params);
|
return res;
|
} catch (error) {}
|
}
|
|
defineExpose({
|
onConfirm: openEnterpriseWallet,
|
});
|
</script>
|