diff --git a/src/api/mes/wm/productsales/index.ts b/src/api/mes/wm/productsales/index.ts index 6cc9892c4..7391506fb 100644 --- a/src/api/mes/wm/productsales/index.ts +++ b/src/api/mes/wm/productsales/index.ts @@ -48,9 +48,19 @@ export const WmProductSalesApi = { return await request.put({ url: '/mes/wm/product-sales/submit?id=' + id }) }, + // 校验销售出库单数量 + checkProductSalesQuantity: async (id: number) => { + return await request.get({ url: '/mes/wm/product-sales/check-quantity?id=' + id }) + }, + // 执行拣货 - pickProductSales: async (id: number) => { - return await request.put({ url: '/mes/wm/product-sales/pick?id=' + id }) + stockProductSales: async (id: number) => { + return await request.put({ url: '/mes/wm/product-sales/stock?id=' + id }) + }, + + // 填写运单 + shippingProductSales: async (data: WmProductSalesVO) => { + return await request.put({ url: '/mes/wm/product-sales/shipping', data }) }, // 执行出库 diff --git a/src/views/mes/utils/constants.ts b/src/views/mes/utils/constants.ts index b00959909..fd99ae246 100644 --- a/src/views/mes/utils/constants.ts +++ b/src/views/mes/utils/constants.ts @@ -266,6 +266,7 @@ export const MesWmProductReceiptStatusEnum = { export const MesWmProductSalesStatusEnum = { PREPARE: MesOrderStatusConstants.DRAFT, APPROVING: MesOrderStatusConstants.APPROVING, + SHIPPING: 10, // 待填写运单 APPROVED: MesOrderStatusConstants.APPROVED, FINISHED: MesOrderStatusConstants.FINISHED, CANCELED: MesOrderStatusConstants.CANCELLED diff --git a/src/views/mes/wm/productsales/ProductSalesForm.vue b/src/views/mes/wm/productsales/ProductSalesForm.vue index e541db2fc..f66eee0f8 100644 --- a/src/views/mes/wm/productsales/ProductSalesForm.vue +++ b/src/views/mes/wm/productsales/ProductSalesForm.vue @@ -131,7 +131,7 @@ 确 定 - + 执行拣货 @@ -241,11 +241,15 @@ const submitForm = async () => { } /** 执行拣货 */ -const handlePick = async () => { +const handleStock = async () => { try { - await message.confirm('确认执行拣货?') formLoading.value = true - await WmProductSalesApi.pickProductSales(formData.value.id!) + // 校验出库数量与拣货数量是否一致 + const quantityMatch = await WmProductSalesApi.checkProductSalesQuantity(formData.value.id!) + if (!quantityMatch) { + await message.confirm('出库数量与拣货数量不一致,确认执行拣货?') + } + await WmProductSalesApi.stockProductSales(formData.value.id!) message.success('拣货成功') dialogVisible.value = false emit('success') @@ -256,19 +260,16 @@ const handlePick = async () => { } /** 填写运单 */ -// TODO @AI:方法改成 handleShipping const handleShipping = async () => { try { await message.confirm('确认提交运单信息?') formLoading.value = true - // 只提交运输信息字段 const data = { id: formData.value.id, carrier: formData.value.carrier, shippingNumber: formData.value.shippingNumber } as unknown as WmProductSalesVO - // TODO @AI:不是更新方法,需要增加一个 controller 接口; - await WmProductSalesApi.updateProductSales(data) + await WmProductSalesApi.shippingProductSales(data) message.success('运单信息填写成功') dialogVisible.value = false emit('success') diff --git a/src/views/mes/wm/productsales/index.vue b/src/views/mes/wm/productsales/index.vue index 5988d5712..47754ea3b 100644 --- a/src/views/mes/wm/productsales/index.vue +++ b/src/views/mes/wm/productsales/index.vue @@ -136,18 +136,26 @@ > 删除 - 拣货 - + + + 填写运单 +