From 2242a13401d7af97abcc7502b4e064c89045e4bd Mon Sep 17 00:00:00 2001 From: YunaiV Date: Mon, 2 Mar 2026 10:42:20 +0800 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20feat(mes):=20=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E9=94=80=E5=94=AE=E5=87=BA=E5=BA=93=E5=8D=95=E8=A1=8C=E5=8F=8A?= =?UTF-8?q?=E6=98=8E=E7=BB=86=E7=9B=B8=E5=85=B3=E5=8A=9F=E8=83=BD=E5=92=8C?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 新增销售出库单行和明细的请求和响应对象,包含分页查询、创建、更新和删除功能。实现了销售出库单行和明细的数据库映射,并提供了相应的服务接口和控制器,支持前端调用。 同时,更新了相关的 API 接口,确保前端能够正确获取和操作销售出库单行及明细数据。 --- src/api/mes/wm/productsales/detail/index.ts | 49 +++ src/api/mes/wm/productsales/index.ts | 71 +++++ src/api/mes/wm/productsales/line/index.ts | 45 +++ .../productsales/ProductSalesDetailForm.vue | 149 +++++++++ .../productsales/ProductSalesDetailList.vue | 74 +++++ .../mes/wm/productsales/ProductSalesForm.vue | 257 ++++++++++++++++ .../wm/productsales/ProductSalesLineList.vue | 257 ++++++++++++++++ src/views/mes/wm/productsales/index.vue | 287 ++++++++++++++++++ 8 files changed, 1189 insertions(+) create mode 100644 src/api/mes/wm/productsales/detail/index.ts create mode 100644 src/api/mes/wm/productsales/index.ts create mode 100644 src/api/mes/wm/productsales/line/index.ts create mode 100644 src/views/mes/wm/productsales/ProductSalesDetailForm.vue create mode 100644 src/views/mes/wm/productsales/ProductSalesDetailList.vue create mode 100644 src/views/mes/wm/productsales/ProductSalesForm.vue create mode 100644 src/views/mes/wm/productsales/ProductSalesLineList.vue create mode 100644 src/views/mes/wm/productsales/index.vue diff --git a/src/api/mes/wm/productsales/detail/index.ts b/src/api/mes/wm/productsales/detail/index.ts new file mode 100644 index 000000000..4a2f221e0 --- /dev/null +++ b/src/api/mes/wm/productsales/detail/index.ts @@ -0,0 +1,49 @@ +import request from '@/config/axios' + +// MES 销售出库明细 VO +export interface WmProductSalesDetailVO { + id: number + lineId: number + salesId: number + itemId: number + itemCode: string + itemName: string + quantity: number + batchId: number + warehouseId: number + warehouseName: string + locationId: number + locationName: string + areaId: number + areaName: string + remark: string + createTime: string +} + +// MES 销售出库明细 API +export const WmProductSalesDetailApi = { + // 查询销售出库明细列表(按行编号) + getProductSalesDetailListByLineId: async (lineId: number) => { + return await request.get({ url: '/mes/wm/product-sales-detail/list-by-line', params: { lineId } }) + }, + + // 查询销售出库明细详情 + getProductSalesDetail: async (id: number) => { + return await request.get({ url: '/mes/wm/product-sales-detail/get?id=' + id }) + }, + + // 新增销售出库明细 + createProductSalesDetail: async (data: WmProductSalesDetailVO) => { + return await request.post({ url: '/mes/wm/product-sales-detail/create', data }) + }, + + // 修改销售出库明细 + updateProductSalesDetail: async (data: WmProductSalesDetailVO) => { + return await request.put({ url: '/mes/wm/product-sales-detail/update', data }) + }, + + // 删除销售出库明细 + deleteProductSalesDetail: async (id: number) => { + return await request.delete({ url: '/mes/wm/product-sales-detail/delete?id=' + id }) + } +} diff --git a/src/api/mes/wm/productsales/index.ts b/src/api/mes/wm/productsales/index.ts new file mode 100644 index 000000000..44504922b --- /dev/null +++ b/src/api/mes/wm/productsales/index.ts @@ -0,0 +1,71 @@ +import request from '@/config/axios' + +// MES 销售出库单 VO +export interface WmProductSalesVO { + id: number + code: string + name: string + clientId: number + clientName: string + salesOrderCode: string + shipmentDate: string + contactName: string + contactTelephone: string + contactAddress: string + status: number + remark: string + createTime: string +} + +// MES 销售出库单 API +export const WmProductSalesApi = { + // 查询销售出库单分页 + getProductSalesPage: async (params: any) => { + return await request.get({ url: '/mes/wm/product-sales/page', params }) + }, + + // 查询销售出库单详情 + getProductSales: async (id: number) => { + return await request.get({ url: '/mes/wm/product-sales/get?id=' + id }) + }, + + // 新增销售出库单 + createProductSales: async (data: WmProductSalesVO) => { + return await request.post({ url: '/mes/wm/product-sales/create', data }) + }, + + // 修改销售出库单 + updateProductSales: async (data: WmProductSalesVO) => { + return await request.put({ url: '/mes/wm/product-sales/update', data }) + }, + + // 删除销售出库单 + deleteProductSales: async (id: number) => { + return await request.delete({ url: '/mes/wm/product-sales/delete?id=' + id }) + }, + + // 提交销售出库单 + submitProductSales: async (id: number) => { + return await request.put({ url: '/mes/wm/product-sales/submit?id=' + id }) + }, + + // 执行拣货 + pickProductSales: async (id: number) => { + return await request.put({ url: '/mes/wm/product-sales/pick?id=' + id }) + }, + + // 执行出库 + executeProductSales: async (id: number) => { + return await request.put({ url: '/mes/wm/product-sales/execute?id=' + id }) + }, + + // 取消销售出库单 + cancelProductSales: async (id: number) => { + return await request.put({ url: '/mes/wm/product-sales/cancel?id=' + id }) + }, + + // 导出销售出库单 Excel + exportProductSales: async (params: any) => { + return await request.download({ url: '/mes/wm/product-sales/export-excel', params }) + } +} diff --git a/src/api/mes/wm/productsales/line/index.ts b/src/api/mes/wm/productsales/line/index.ts new file mode 100644 index 000000000..7be5fbdeb --- /dev/null +++ b/src/api/mes/wm/productsales/line/index.ts @@ -0,0 +1,45 @@ +import request from '@/config/axios' + +// MES 销售出库单行 VO +export interface WmProductSalesLineVO { + id: number + salesId: number + itemId: number + itemCode: string + itemName: string + quantity: number + pickedQuantity: number + batchId: number + remark: string + createTime: string +} + +// MES 销售出库单行 API +export const WmProductSalesLineApi = { + // 查询销售出库单行列表(按出库单编号) + getProductSalesLineListBySalesId: async (salesId: number) => { + return await request.get({ + url: '/mes/wm/product-sales-line/list-by-sales-id?salesId=' + salesId + }) + }, + + // 查询销售出库单行详情 + getProductSalesLine: async (id: number) => { + return await request.get({ url: '/mes/wm/product-sales-line/get?id=' + id }) + }, + + // 新增销售出库单行 + createProductSalesLine: async (data: WmProductSalesLineVO) => { + return await request.post({ url: '/mes/wm/product-sales-line/create', data }) + }, + + // 修改销售出库单行 + updateProductSalesLine: async (data: WmProductSalesLineVO) => { + return await request.put({ url: '/mes/wm/product-sales-line/update', data }) + }, + + // 删除销售出库单行 + deleteProductSalesLine: async (id: number) => { + return await request.delete({ url: '/mes/wm/product-sales-line/delete?id=' + id }) + } +} diff --git a/src/views/mes/wm/productsales/ProductSalesDetailForm.vue b/src/views/mes/wm/productsales/ProductSalesDetailForm.vue new file mode 100644 index 000000000..ca70d226e --- /dev/null +++ b/src/views/mes/wm/productsales/ProductSalesDetailForm.vue @@ -0,0 +1,149 @@ + + + + diff --git a/src/views/mes/wm/productsales/ProductSalesDetailList.vue b/src/views/mes/wm/productsales/ProductSalesDetailList.vue new file mode 100644 index 000000000..c45fb8a93 --- /dev/null +++ b/src/views/mes/wm/productsales/ProductSalesDetailList.vue @@ -0,0 +1,74 @@ + + + + diff --git a/src/views/mes/wm/productsales/ProductSalesForm.vue b/src/views/mes/wm/productsales/ProductSalesForm.vue new file mode 100644 index 000000000..2eac79a42 --- /dev/null +++ b/src/views/mes/wm/productsales/ProductSalesForm.vue @@ -0,0 +1,257 @@ + + + diff --git a/src/views/mes/wm/productsales/ProductSalesLineList.vue b/src/views/mes/wm/productsales/ProductSalesLineList.vue new file mode 100644 index 000000000..fa382adbe --- /dev/null +++ b/src/views/mes/wm/productsales/ProductSalesLineList.vue @@ -0,0 +1,257 @@ + + + + diff --git a/src/views/mes/wm/productsales/index.vue b/src/views/mes/wm/productsales/index.vue new file mode 100644 index 000000000..e2af71bb6 --- /dev/null +++ b/src/views/mes/wm/productsales/index.vue @@ -0,0 +1,287 @@ + + +