fix:【antd】【erp 系统】finance/account 切换默认的逻辑未实现

This commit is contained in:
YunaiV
2025-10-05 14:19:28 +08:00
parent 8266490674
commit c6bd38f98d
6 changed files with 39 additions and 26 deletions

View File

@@ -2,7 +2,7 @@
import type { VxeTableGridOptions } from '#/adapter/vxe-table';
import type { ErpAccountApi } from '#/api/erp/finance/account';
import { DocAlert, Page, useVbenModal } from '@vben/common-ui';
import { confirm, DocAlert, Page, useVbenModal } from '@vben/common-ui';
import { downloadFileFromBlobPart } from '@vben/utils';
import { message } from 'ant-design-vue';
@@ -12,6 +12,7 @@ import {
deleteAccount,
exportAccount,
getAccountPage,
updateAccountDefaultStatus,
} from '#/api/erp/finance/account';
import { $t } from '#/locales';
@@ -59,12 +60,34 @@ async function handleDelete(row: ErpAccountApi.Account) {
}
}
/** 修改默认状态 */
async function handleDefaultStatusChange(
newStatus: boolean,
row: ErpAccountApi.Account,
): Promise<boolean | undefined> {
return new Promise((resolve, reject) => {
const text = newStatus ? '设置' : '取消';
confirm({
content: `确认要${text}"${row.name}"默认吗?`,
})
.then(async () => {
// 更新默认状态
await updateAccountDefaultStatus(row.id!, newStatus);
message.success(`${text}默认成功`);
resolve(true);
})
.catch(() => {
reject(new Error('取消操作'));
});
});
}
const [Grid, gridApi] = useVbenVxeGrid({
formOptions: {
schema: useGridFormSchema(),
},
gridOptions: {
columns: useGridColumns(),
columns: useGridColumns(handleDefaultStatusChange),
height: 'auto',
keepSource: true,
proxyConfig: {