<template>
|
<ProDialog title="充值详情" v-model="visible" @close="onDialogClose" destroy-on-close draggable>
|
<PortraitTableWithAttachment v-bind="portraitTableWithAttachmentProps" />
|
<template #footer>
|
<span class="dialog-footer">
|
<el-button @click="emit('onCancel')">取 消</el-button>
|
<el-button type="primary" @click="emit('onCancel')">确 定</el-button>
|
</span>
|
</template>
|
</ProDialog>
|
</template>
|
|
<script setup lang="ts">
|
import { FormInstance } from 'element-plus';
|
import { ProDialog } from '@bole-core/components';
|
import { usePortraitTableWithAttachment } from '@/hooks';
|
import { useQuery } from '@tanstack/vue-query';
|
import { EnumEnterpriseCooperationWalletTransactionStatusText } from '@/constants';
|
import * as enterpriseCooperationWalletServices from '@/services/api/enterpriseCooperationWallet';
|
import { convertApi2FormUrl } from '@/utils';
|
|
defineOptions({
|
name: 'RechargeRecordialog',
|
});
|
|
const visible = defineModel({ type: Boolean });
|
|
type Form = {
|
title?: string;
|
id: string;
|
};
|
|
const form = defineModel<Form>('form');
|
|
const emit = defineEmits<{
|
(e: 'onConfirm'): void;
|
(e: 'onCancel'): void;
|
}>();
|
|
watch(
|
() => visible.value,
|
(val) => {
|
if (val) {
|
refetch();
|
}
|
}
|
);
|
|
const { data: detail, refetch } = useQuery({
|
queryKey: [
|
'enterpriseCooperationWalletServices/getCooperationWalletRechargeTransaction',
|
form.value.id,
|
],
|
queryFn: async () => {
|
return await enterpriseCooperationWalletServices.getCooperationWalletRechargeTransaction({
|
id: form.value.id,
|
});
|
},
|
placeholderData: () => ({} as API.GetCooperationWalletRechargeTransactionQueryResult),
|
enabled: computed(() => !!form.value.id),
|
});
|
|
const { portraitTableWithAttachmentProps } = usePortraitTableWithAttachment({
|
data: detail,
|
annexList: computed(() =>
|
detail.value?.files ? detail.value?.files.map((item) => convertApi2FormUrl(item)) : []
|
),
|
columns: [
|
{
|
label: '充值单位',
|
key: 'receiveUnit',
|
},
|
{
|
label: '开户账号',
|
key: 'receiveAccount',
|
},
|
{
|
label: '充值金额',
|
key: 'amount',
|
type: 'money',
|
},
|
{
|
label: '充值时间',
|
key: 'createdTime',
|
type: 'date',
|
},
|
{
|
label: '充值状态',
|
key: 'transactionStatus',
|
type: 'enum',
|
valueEnum: EnumEnterpriseCooperationWalletTransactionStatusText,
|
},
|
],
|
});
|
|
const dialogForm = ref<FormInstance>();
|
|
function onDialogClose() {
|
if (!dialogForm.value) return;
|
dialogForm.value.resetFields();
|
}
|
</script>
|