feat:【antd】【crm】优化 receivable-plan 的整体代码风格

This commit is contained in:
YunaiV
2025-09-29 23:32:16 +08:00
parent 9bfd314311
commit 0afd36172b
9 changed files with 95 additions and 87 deletions

View File

@@ -36,13 +36,23 @@ const [ReceivableFormModal, receivableFormModalApi] = useVbenModal({
});
/** 刷新表格 */
function onRefresh() {
function handleRefresh() {
gridApi.query();
}
/** 处理场景类型的切换 */
function handleChangeSceneType(key: number | string) {
sceneType.value = key.toString();
gridApi.query();
}
/** 导出表格 */
async function handleExport() {
const data = await exportReceivablePlan(await gridApi.formApi.getValues());
const formValues = await gridApi.formApi.getValues();
const data = await exportReceivablePlan({
sceneType: sceneType.value,
...formValues,
});
downloadFileFromBlobPart({ fileName: '回款计划.xls', source: data });
}
@@ -64,16 +74,14 @@ async function handleDelete(row: CrmReceivablePlanApi.Plan) {
});
try {
await deleteReceivablePlan(row.id!);
message.success({
content: $t('ui.actionMessage.deleteSuccess', [row.period]),
});
onRefresh();
message.success($t('ui.actionMessage.deleteSuccess', [row.period]));
handleRefresh();
} finally {
hideLoading();
}
}
/** 创建回款 */
/** 创建回款计划 */
function handleCreateReceivable(row: CrmReceivablePlanApi.Plan) {
receivableFormModalApi.setData({ plan: row }).open();
}
@@ -110,6 +118,7 @@ const [Grid, gridApi] = useVbenVxeGrid({
},
rowConfig: {
keyField: 'id',
isHover: true,
},
toolbarConfig: {
refresh: true,
@@ -117,11 +126,6 @@ const [Grid, gridApi] = useVbenVxeGrid({
},
} as VxeTableGridOptions<CrmReceivablePlanApi.Plan>,
});
function onChangeSceneType(key: number | string) {
sceneType.value = key.toString();
gridApi.query();
}
</script>
<template>
@@ -137,11 +141,11 @@ function onChangeSceneType(key: number | string) {
/>
</template>
<FormModal @success="onRefresh" />
<ReceivableFormModal @success="onRefresh" />
<FormModal @success="handleRefresh" />
<ReceivableFormModal @success="handleRefresh" />
<Grid>
<template #top>
<Tabs class="border-none" @change="onChangeSceneType">
<Tabs class="-mt-11" @change="handleChangeSceneType">
<Tabs.TabPane tab="我负责的" key="1" />
<Tabs.TabPane tab="下属负责的" key="3" />
</Tabs>
@@ -211,3 +215,8 @@ function onChangeSceneType(key: number | string) {
</Grid>
</Page>
</template>
<style scoped>
:deep(.vxe-toolbar div) {
z-index: 1;
}
</style>