fix:【antd】【erp 系统】finance/account 切换默认的逻辑未实现
This commit is contained in:
@@ -51,7 +51,6 @@ export function updateAccount(data: ErpAccountApi.Account) {
|
||||
}
|
||||
|
||||
/** 修改结算账户默认状态 */
|
||||
// TODO @芋艿:这里有少迁移的
|
||||
export function updateAccountDefaultStatus(id: number, defaultStatus: boolean) {
|
||||
return requestClient.put('/erp/account/update-default-status', null, {
|
||||
params: { id, defaultStatus },
|
||||
|
||||
@@ -49,13 +49,6 @@ export namespace ErpPurchaseInApi {
|
||||
supplierId?: number;
|
||||
status?: number;
|
||||
}
|
||||
|
||||
// TODO @nehc:updatePurchaseInStatus 是不是需要?
|
||||
/** 采购入库状态更新参数 */
|
||||
export interface PurchaseInStatusParams {
|
||||
id: number;
|
||||
status: number;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -39,6 +39,7 @@ export namespace ErpStockOutApi {
|
||||
customerId?: number;
|
||||
status?: number;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询其它出库单分页
|
||||
|
||||
@@ -1,13 +1,9 @@
|
||||
import type { VbenFormSchema } from '#/adapter/form';
|
||||
import type { VxeTableGridOptions } from '#/adapter/vxe-table';
|
||||
|
||||
import { h } from 'vue';
|
||||
|
||||
import { CommonStatusEnum, DICT_TYPE } from '@vben/constants';
|
||||
import { getDictOptions } from '@vben/hooks';
|
||||
|
||||
import { Tag } from 'ant-design-vue';
|
||||
|
||||
import { z } from '#/adapter/form';
|
||||
|
||||
/** 新增/修改的表单 */
|
||||
@@ -127,7 +123,12 @@ export function useGridFormSchema(): VbenFormSchema[] {
|
||||
}
|
||||
|
||||
/** 列表的字段 */
|
||||
export function useGridColumns(): VxeTableGridOptions['columns'] {
|
||||
export function useGridColumns<T = ErpAccountApi.Account>(
|
||||
onDefaultStatusChange?: (
|
||||
newStatus: boolean,
|
||||
row: T,
|
||||
) => PromiseLike<boolean | undefined>,
|
||||
): VxeTableGridOptions['columns'] {
|
||||
return [
|
||||
{
|
||||
field: 'name',
|
||||
@@ -163,16 +164,12 @@ export function useGridColumns(): VxeTableGridOptions['columns'] {
|
||||
field: 'defaultStatus',
|
||||
title: '是否默认',
|
||||
minWidth: 100,
|
||||
slots: {
|
||||
default: ({ row }) => {
|
||||
return h(
|
||||
Tag,
|
||||
{
|
||||
class: 'mr-1',
|
||||
color: row.defaultStatus ? 'blue' : 'red',
|
||||
},
|
||||
() => (row.defaultStatus ? '是' : '否'),
|
||||
);
|
||||
cellRender: {
|
||||
attrs: { beforeChange: onDefaultStatusChange },
|
||||
name: 'CellSwitch',
|
||||
props: {
|
||||
checkedValue: true,
|
||||
unCheckedValue: false,
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
@@ -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: {
|
||||
|
||||
@@ -3,7 +3,7 @@ import type { VxeTableGridOptions } from '#/adapter/vxe-table';
|
||||
import type { ErpWarehouseApi } from '#/api/erp/stock/warehouse';
|
||||
|
||||
import { confirm, DocAlert, Page, useVbenModal } from '@vben/common-ui';
|
||||
import { downloadFileFromBlobPart, isEmpty } from '@vben/utils';
|
||||
import { downloadFileFromBlobPart } from '@vben/utils';
|
||||
|
||||
import { message } from 'ant-design-vue';
|
||||
|
||||
|
||||
Reference in New Issue
Block a user