From 5d71511e2265b820fd98d7de872368c8ddc9a21f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=A2=81=E9=94=8B?= Date: Sun, 14 Dec 2025 18:45:22 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B9=E9=80=A0=20=20=E4=B8=8B=E5=8D=95?= =?UTF-8?q?=E4=B8=8D=E5=90=88=E5=B9=B6=E7=9B=B8=E5=90=8C=E7=89=A9=E6=96=99?= =?UTF-8?q?SKU=E7=9A=84=E6=95=B0=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../saleorder/SaleOrderServiceImpl.java | 3 +++ .../OrderAddProductStep/ProductList.vue | 26 ++++++++++++------- .../OrderAddProductStep/ProductSkuList.vue | 1 + 3 files changed, 21 insertions(+), 9 deletions(-) diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/saleorder/SaleOrderServiceImpl.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/saleorder/SaleOrderServiceImpl.java index 8c48245..6009a04 100644 --- a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/saleorder/SaleOrderServiceImpl.java +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/saleorder/SaleOrderServiceImpl.java @@ -866,6 +866,7 @@ public class SaleOrderServiceImpl implements SaleOrderService { saleOrderSkuDO.setRemark(saleOrderSkuDTO.getRemark()); saleOrderSkuDO.setSourceFile(saleOrderSkuDTO.getSourceFile()); saleOrderSkuDO.setId(FuncUtil.getNextId()); + saleOrderSkuDO.setItemKey(saleOrderSkuDTO.getItemKey()); skuList.add(saleOrderSkuDO); } @@ -1025,6 +1026,7 @@ public class SaleOrderServiceImpl implements SaleOrderService { saleOrderSkuDO.setSpecInfo(JSONUtil.toJsonStr(saleOrderSkuDTO.getSpecInfo())); saleOrderSkuDO.setRemark(saleOrderSkuDTO.getRemark()); saleOrderSkuDO.setId(FuncUtil.getNextId()); + saleOrderSkuDO.setItemKey(saleOrderSkuDTO.getItemKey()); Long id1 = entry.getId(); if (FuncUtil.isNotEmpty(id1)) { skuUpdateList.add(saleOrderSkuDO); @@ -1363,6 +1365,7 @@ public class SaleOrderServiceImpl implements SaleOrderService { // sku list LambdaQueryWrapper skuWrapper = new LambdaQueryWrapper<>(); skuWrapper.eq(SaleOrderSkuDO::getSaleOrderId, saleOrderDO.getId()); + skuWrapper.eq(SaleOrderSkuDO::getEntryId, entryDO.getId()); skuWrapper.eq(SaleOrderSkuDO::getDeleted, false); List sukList = skuOrderSkuMapper.selectList(skuWrapper); List skus = new ArrayList<>(); diff --git a/hangtag-ui/hangtag-ui-front/src/views/oms/order/createorder/components/OrderAddProductStep/ProductList.vue b/hangtag-ui/hangtag-ui-front/src/views/oms/order/createorder/components/OrderAddProductStep/ProductList.vue index a6abb65..bceb8f9 100644 --- a/hangtag-ui/hangtag-ui-front/src/views/oms/order/createorder/components/OrderAddProductStep/ProductList.vue +++ b/hangtag-ui/hangtag-ui-front/src/views/oms/order/createorder/components/OrderAddProductStep/ProductList.vue @@ -117,7 +117,7 @@ const addProduct = () => { } const delProduct = () => { useMessage().confirm(t("common.delDataMessage")).then(() => { - that.tableData = that.tableData.filter(item => item.productId !== that.selectRow.productId) + that.tableData = that.tableData.filter(item => item.itemKey !== that.selectRow.itemKey) useMessage().notifySuccess(t("common.delSuccess")); emit('delRow', that.selectRow); emitter.emit(PRODUCT_DEL_ROW_EVENT, that.selectRow); @@ -138,12 +138,13 @@ const copyData = (str: string) => { }) } const addRow = (row) => { - for (let i = 0; i < that.tableData.length; i++) { - if (that.tableData[i].productId === row.id) { - useMessage().notifyError(t("createOrder.tipsDuplicateSkipped")) - return - } - } + // 停用 合并物料 + // for (let i = 0; i < that.tableData.length; i++) { + // if (that.tableData[i].productId === row.id) { + // useMessage().notifyError(t("createOrder.tipsDuplicateSkipped")) + // return + // } + // } if (!row.deliveryDate) { row.deliveryDate = Date.now() + (24 * 60 * 60 * 1000) @@ -191,7 +192,7 @@ const setSelectRow = (row) => { that.selectRow = row for (let i = 0; i < that.tableData.length; i++) { - if (that.tableData[i].productId === that.selectRow.productId) { + if (that.tableData[i].itemKey === that.selectRow.itemKey) { let orderQty = 0; for (let j = 0; j < that.selectRow.productSkuList.length; j++) { orderQty += that.selectRow.productSkuList[j].orderQty || 0 @@ -212,7 +213,14 @@ const getTableData = () => { } const init = (data) => { if (data && data.length > 0) { - that.tableData = data + that.tableData = [] + for (let i = 0; i < data.length; i++) { + that.tableData.push({ + itemKey: Math.random().toString(36).substring(2), + ...data[i] + }) + } + rowChange(data[0]) } diff --git a/hangtag-ui/hangtag-ui-front/src/views/oms/order/createorder/components/OrderAddProductStep/ProductSkuList.vue b/hangtag-ui/hangtag-ui-front/src/views/oms/order/createorder/components/OrderAddProductStep/ProductSkuList.vue index 5869b00..8224342 100644 --- a/hangtag-ui/hangtag-ui-front/src/views/oms/order/createorder/components/OrderAddProductStep/ProductSkuList.vue +++ b/hangtag-ui/hangtag-ui-front/src/views/oms/order/createorder/components/OrderAddProductStep/ProductSkuList.vue @@ -80,6 +80,7 @@ const addSku = () => { //@ts-ignore that.tableData.push({ key: Math.random().toString(36).substring(2), + itemKey: Math.random().toString(36).substring(2), listKey: that.listKey, orderQty: 1, productId: that.productId,