<template>
|
<ProFormPaginationSelect
|
v-model="bank_alias"
|
:proTableProps="proTableProps"
|
@change="handleAccountBankChange"
|
enum-label-key="bank_alias"
|
enum-value-key="bank_alias"
|
>
|
</ProFormPaginationSelect>
|
</template>
|
|
<script setup lang="ts">
|
import { useTable } from '@bole-core/components';
|
import * as enterpriseWalletServices from '@/services/api/enterpriseWallet';
|
|
defineOptions({
|
name: 'WeChatPayWalletBanksSelect',
|
});
|
|
type Props = {
|
bank_account_type?: EnumWeChatPayApplymentBankAccountType;
|
};
|
|
const props = withDefaults(defineProps<Props>(), {});
|
|
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');
|
const bank_branch_id = defineModel<string>('bank_branch_id');
|
|
onMounted(() => {
|
if (props.bank_account_type !== ('' as any)) {
|
getList();
|
}
|
});
|
|
watch(
|
() => props.bank_account_type,
|
(newVal) => {
|
// bank_alias.value = '';
|
// account_bank.value = '';
|
// account_bank_code.value = '' as any as number;
|
// bank_alias_code.value = '';
|
// need_bank_branch.value = false;
|
if (newVal !== ('' as any)) {
|
getList();
|
}
|
}
|
);
|
|
const {
|
getDataSource: getList,
|
proTableProps,
|
paginationState,
|
extraParamState,
|
reset,
|
} = useTable(
|
async ({ pageIndex, pageSize }, extraParamState) => {
|
try {
|
let params: API.GetEnterpriseWeChatPayWalletBanksQuery = {
|
pageModel: {
|
rows: pageSize,
|
page: pageIndex,
|
},
|
bank_account_type: props.bank_account_type,
|
};
|
|
let res = await enterpriseWalletServices.getEnterpriseWeChatPayWalletBanks(params, {
|
showLoading: true,
|
});
|
return res;
|
} catch (error) {
|
console.log('error: ', error);
|
}
|
},
|
{
|
defaultExtraParams: {
|
keywords: '',
|
},
|
queryKey: ['enterpriseWalletServices/getEnterpriseWeChatPayWalletBanks'],
|
initialPageSize: 200,
|
}
|
);
|
|
function handleAccountBankChange(bank_alias: string) {
|
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;
|
bank_branch_id.value = '';
|
}
|
}
|
</script>
|