From 8d897e89a37209940bf3924eb3f5930e2e2ff1cb Mon Sep 17 00:00:00 2001 From: YunaiV Date: Fri, 3 Oct 2025 16:14:30 +0800 Subject: [PATCH] =?UTF-8?q?feat=EF=BC=9A=E3=80=90antd=E3=80=91=E3=80=90erp?= =?UTF-8?q?=20=E7=B3=BB=E7=BB=9F=E3=80=91sale/order=20=E9=83=A8=E5=88=86?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web-antd/src/views/erp/sale/order/data.ts | 2 +- .../src/views/erp/sale/order/index.vue | 112 ++++++++---------- .../src/views/erp/sale/order/modules/form.vue | 19 +-- 3 files changed, 63 insertions(+), 70 deletions(-) diff --git a/apps/web-antd/src/views/erp/sale/order/data.ts b/apps/web-antd/src/views/erp/sale/order/data.ts index 05aaaa900..7ba4dc88b 100644 --- a/apps/web-antd/src/views/erp/sale/order/data.ts +++ b/apps/web-antd/src/views/erp/sale/order/data.ts @@ -24,7 +24,6 @@ export function useFormSchema(): VbenFormSchema[] { hideLabel: true, formItemClass: 'hidden', }, - { component: 'Input', componentProps: { @@ -336,6 +335,7 @@ export function useGridFormSchema(): VbenFormSchema[] { allowClear: true, }, }, + // TODO @AI:备注缺少;/Users/yunai/Java/yudao-ui-admin-vue3/src/views/erp/sale/order/index.vue { fieldName: 'outStatus', label: '出库状态', diff --git a/apps/web-antd/src/views/erp/sale/order/index.vue b/apps/web-antd/src/views/erp/sale/order/index.vue index 85ce9bba5..605030898 100644 --- a/apps/web-antd/src/views/erp/sale/order/index.vue +++ b/apps/web-antd/src/views/erp/sale/order/index.vue @@ -30,10 +30,58 @@ const [FormModal, formModalApi] = useVbenModal({ }); /** 刷新表格 */ -function onRefresh() { +function handleRefresh() { gridApi.query(); } +/** 导出表格 */ +async function handleExport() { + const data = await exportSaleOrder(await gridApi.formApi.getValues()); + downloadFileFromBlobPart({ fileName: '销售订单.xls', source: data }); +} + +/** 新增销售订单 */ +function handleCreate() { + formModalApi.setData({ type: 'create' }).open(); +} + +/** 编辑销售订单 */ +function handleEdit(row: ErpSaleOrderApi.SaleOrder) { + formModalApi.setData({ type: 'edit', id: row.id }).open(); +} + +/** 删除销售订单 */ +async function handleDelete(ids: number[]) { + const hideLoading = message.loading({ + content: $t('ui.actionMessage.deleting'), + duration: 0, + }); + try { + await deleteSaleOrder(ids); + message.success($t('ui.actionMessage.deleteSuccess')); + handleRefresh(); + } finally { + hideLoading(); + } +} + +/** 审批/反审批操作 */ +function handleUpdateStatus(row: ErpSaleOrderApi.SaleOrder, status: number) { + const hideLoading = message.loading({ + content: `确定${status === 20 ? '审批' : '反审批'}该订单吗?`, + duration: 0, + }); + // TODO @AI:改成 await 写法 + updateSaleOrderStatus(row.id!, status) + .then(() => { + message.success(`${status === 20 ? '审批' : '反审批'}成功`); + handleRefresh(); + }) + .finally(() => { + hideLoading(); + }); +} + const checkedIds = ref([]); function handleRowCheckboxChange({ records, @@ -43,69 +91,11 @@ function handleRowCheckboxChange({ checkedIds.value = records.map((item) => item.id!); } -/** 详情 */ +/** 查看详情 */ function handleDetail(row: ErpSaleOrderApi.SaleOrder) { formModalApi.setData({ type: 'detail', id: row.id }).open(); } -/** 新增 */ -function handleCreate() { - formModalApi.setData({ type: 'create' }).open(); -} - -/** 编辑 */ -function handleEdit(row: ErpSaleOrderApi.SaleOrder) { - formModalApi.setData({ type: 'edit', id: row.id }).open(); -} - -/** 删除 */ -async function handleDelete(ids: number[]) { - const hideLoading = message.loading({ - content: $t('ui.actionMessage.deleting'), - duration: 0, - key: 'action_process_msg', - }); - try { - await deleteSaleOrder(ids); - message.success({ - content: $t('ui.actionMessage.deleteSuccess'), - key: 'action_process_msg', - }); - onRefresh(); - } finally { - hideLoading(); - } -} - -/** 审批/反审批操作 */ -function handleUpdateStatus(row: ErpSaleOrderApi.SaleOrder, status: number) { - const hideLoading = message.loading({ - content: `确定${status === 20 ? '审批' : '反审批'}该订单吗?`, - duration: 0, - key: 'action_process_msg', - }); - updateSaleOrderStatus(row.id!, status) - .then(() => { - message.success({ - content: `${status === 20 ? '审批' : '反审批'}成功`, - key: 'action_process_msg', - }); - onRefresh(); - }) - .catch(() => { - // 处理错误 - }) - .finally(() => { - hideLoading(); - }); -} - -/** 导出 */ -async function handleExport() { - const data = await exportSaleOrder(await gridApi.formApi.getValues()); - downloadFileFromBlobPart({ fileName: '销售订单.xls', source: data }); -} - const [Grid, gridApi] = useVbenVxeGrid({ formOptions: { schema: useGridFormSchema(), @@ -149,7 +139,7 @@ const [Grid, gridApi] = useVbenVxeGrid({ url="https://doc.iocoder.cn/erp/sale/" /> - +