From 3b4d677d41a4c0a45150f4757e1cdfef76874a21 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=AF=E8=88=AA=E8=80=81=E9=BD=90?= <280645618@qq.com> Date: Tue, 7 Oct 2025 16:03:15 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=E4=BE=9B=E5=BA=94=E5=95=86?= =?UTF-8?q?=E5=8F=91=E8=B4=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../oms/controller/LogisticsController.java | 2 +- .../cn/qihangerp/model/entity/OOrder.java | 6 +- .../cn/qihangerp/model/entity/OOrderItem.java | 4 +- .../api/order/controller/OrderController.java | 8 +- .../order/controller/OrderItemController.java | 15 +- .../order/controller/OrderShipController.java | 37 ++++ .../module/order/domain/OOrderShipList.java | 2 +- .../order/domain/OOrderShipListItem.java | 4 +- .../domain/bo/OrderAllocateShipRequest.java | 4 +- .../order/domain/bo/SupplierOrderShipBo.java | 14 ++ .../order/service/OOrderShipListService.java | 10 + .../order/service/impl/OOrderServiceImpl.java | 186 ++++++------------ .../impl/OOrderShipListServiceImpl.java | 117 +++++++++++ .../resources/mapper/OOrderItemMapper.xml | 2 +- .../main/resources/mapper/OOrderMapper.xml | 2 +- .../mapper/OOrderShipListItemMapper.xml | 2 +- .../resources/mapper/OOrderShipListMapper.xml | 2 +- .../impl/OLogisticsCompanyServiceImpl.java | 2 +- vue/src/api/api/logistics.js | 88 ++++----- vue/src/api/api/shipping.js | 54 ++--- vue/src/api/shipping/logistics.js | 7 + vue/src/api/shipping/shipping.js | 9 + vue/src/api/shop/shop.js | 30 +-- vue/src/views/shipping/shipment/wait_ship.vue | 77 +++++--- .../views/shipping/stockup/supplier/index.vue | 143 ++++++++------ 25 files changed, 495 insertions(+), 332 deletions(-) create mode 100644 serviceImpl/order/src/main/java/cn/qihangerp/module/order/domain/bo/SupplierOrderShipBo.java diff --git a/api/oms-api/src/main/java/cn/qihangerp/oms/controller/LogisticsController.java b/api/oms-api/src/main/java/cn/qihangerp/oms/controller/LogisticsController.java index bc2e74fa..6d0acce6 100644 --- a/api/oms-api/src/main/java/cn/qihangerp/oms/controller/LogisticsController.java +++ b/api/oms-api/src/main/java/cn/qihangerp/oms/controller/LogisticsController.java @@ -33,7 +33,7 @@ public class LogisticsController extends BaseController { public TableDataInfo logisticsStatusList(Integer status, Integer shopType, Integer shopId) { if(status==null) status=1; - if(shopType==null)shopType=0; +// if(shopType==null)shopType=0; return getDataTable(logisticsCompanyService.queryListByStatus(status,shopType, shopId)); } /** diff --git a/core/model/src/main/java/cn/qihangerp/model/entity/OOrder.java b/core/model/src/main/java/cn/qihangerp/model/entity/OOrder.java index 002cc0fd..452ef036 100644 --- a/core/model/src/main/java/cn/qihangerp/model/entity/OOrder.java +++ b/core/model/src/main/java/cn/qihangerp/model/entity/OOrder.java @@ -136,12 +136,12 @@ public class OOrder implements Serializable { private Date orderTime; /** - * 发货方式 0 自己发货1联合发货2供应商发货 + * 发货人 */ - private Integer shipper; + private Long shipper; /** - * 发货方式1供应商代发0仓库发货 + * 发货方式2供应商代发0仓库发货 */ private Integer shipType; diff --git a/core/model/src/main/java/cn/qihangerp/model/entity/OOrderItem.java b/core/model/src/main/java/cn/qihangerp/model/entity/OOrderItem.java index 5ef9b563..53fd564d 100644 --- a/core/model/src/main/java/cn/qihangerp/model/entity/OOrderItem.java +++ b/core/model/src/main/java/cn/qihangerp/model/entity/OOrderItem.java @@ -132,9 +132,9 @@ public class OOrderItem implements Serializable { private Integer orderStatus; /** - * 发货方式 0 自己发货1联合发货2供应商发货 + * 发货人 */ - private Integer shipper; + private Long shipper; /** * 发货方式 0 自己发货或待处理2供应商发货 diff --git a/microservices/order-api/src/main/java/cn/qihangerp/api/order/controller/OrderController.java b/microservices/order-api/src/main/java/cn/qihangerp/api/order/controller/OrderController.java index b86faa7e..ce80c458 100644 --- a/microservices/order-api/src/main/java/cn/qihangerp/api/order/controller/OrderController.java +++ b/microservices/order-api/src/main/java/cn/qihangerp/api/order/controller/OrderController.java @@ -1,9 +1,7 @@ package cn.qihangerp.api.order.controller; import cn.qihangerp.api.order.OrderCancelRequest; -import cn.qihangerp.common.AjaxResult; -import cn.qihangerp.common.PageQuery; -import cn.qihangerp.common.TableDataInfo; +import cn.qihangerp.common.*; import cn.qihangerp.model.request.OrderSearchRequest; import cn.qihangerp.module.order.domain.bo.OrderAllocateShipRequest; import cn.qihangerp.module.order.domain.bo.OrderShipRequest; @@ -143,6 +141,10 @@ public class OrderController extends BaseController @PostMapping("/allocateShipmentOrder") public AjaxResult allocateShipmentOrder(@RequestBody OrderAllocateShipRequest shipBo) { + if (StringUtils.isEmpty(shipBo.getId()) || shipBo.getId().equals("0")) + return AjaxResult.error("缺少参数:id"); + if(shipBo.getSupplierId() == null || shipBo.getSupplierId()<=0) + return AjaxResult.error("缺少参数:supplierId"); var result = orderService.allocateShipmentOrder(shipBo,getUsername()); if(result.getCode() == 0) return AjaxResult.success(); else return AjaxResult.error(result.getMsg()); diff --git a/microservices/order-api/src/main/java/cn/qihangerp/api/order/controller/OrderItemController.java b/microservices/order-api/src/main/java/cn/qihangerp/api/order/controller/OrderItemController.java index 9e0d7ca0..1280fa3a 100644 --- a/microservices/order-api/src/main/java/cn/qihangerp/api/order/controller/OrderItemController.java +++ b/microservices/order-api/src/main/java/cn/qihangerp/api/order/controller/OrderItemController.java @@ -53,18 +53,5 @@ public class OrderItemController extends BaseController } else return AjaxResult.error(result.getMsg()); } -// /** -// * 更新erp sku id -// * @param orderItem -// * @return -// */ -// @PostMapping("/updateErpSkuId") -// public AjaxResult ship(@RequestBody OOrderItem orderItem) -// { -// if(StringUtils.isEmpty(orderItem.getId()) || orderItem.getGoodsSkuId()==null){ -// return AjaxResult.error("确少必要参数"); -// } -// itemService.updateErpSkuId(orderItem.getId(), orderItem.getGoodsSkuId()); -// return AjaxResult.success(); -// } + } diff --git a/microservices/order-api/src/main/java/cn/qihangerp/api/order/controller/OrderShipController.java b/microservices/order-api/src/main/java/cn/qihangerp/api/order/controller/OrderShipController.java index 1efbe0be..5758bfd9 100644 --- a/microservices/order-api/src/main/java/cn/qihangerp/api/order/controller/OrderShipController.java +++ b/microservices/order-api/src/main/java/cn/qihangerp/api/order/controller/OrderShipController.java @@ -2,15 +2,21 @@ package cn.qihangerp.api.order.controller; import cn.qihangerp.common.AjaxResult; import cn.qihangerp.common.PageQuery; +import cn.qihangerp.common.ResultVo; import cn.qihangerp.common.TableDataInfo; import cn.qihangerp.module.order.domain.bo.ShipStockUpBo; import cn.qihangerp.module.order.domain.bo.ShipStockUpCompleteBo; +import cn.qihangerp.module.order.domain.bo.SupplierOrderShipBo; import cn.qihangerp.module.order.service.OOrderShipListItemService; import cn.qihangerp.module.order.service.OOrderShipListService; import cn.qihangerp.security.common.BaseController; +import com.alibaba.fastjson2.JSON; import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; +@Slf4j @AllArgsConstructor @RestController @RequestMapping("/ship") @@ -53,6 +59,11 @@ public class OrderShipController extends BaseController { return getDataTable(pageList); } + /** + * 仓库备货完善 + * @param bo + * @return + */ @PostMapping("/stock_up_complete") public AjaxResult stock_up_complete(@RequestBody ShipStockUpCompleteBo bo) { @@ -65,6 +76,11 @@ public class OrderShipController extends BaseController { return toAjax(1); } + /** + * 仓库备货完善 + * @param bo + * @return + */ @PostMapping("/stock_up_complete_by_order") public AjaxResult stock_up_completeByOrder(@RequestBody ShipStockUpCompleteBo bo) { @@ -76,4 +92,25 @@ public class OrderShipController extends BaseController { //wmsStockOutEntryService.insertWmsStockOutEntry(wmsStockOutEntry) return toAjax(1); } + + /** + // * 供应商发货确认 + // * @param request + // * @return + // */ + @PostMapping("/supplier_ship_confirm") + public AjaxResult SupplierShipConfirm(@RequestBody SupplierOrderShipBo request) { + log.info("========供应商发货确认:{}", JSON.toJSONString(request)); + if (request.getId() == null || request.getId() == 0) + return AjaxResult.error("缺少参数:orderId"); + if (StringUtils.isEmpty(request.getLogisticsCompany())) + return AjaxResult.error("缺少参数:logisticsCompany"); + if (StringUtils.isEmpty(request.getLogisticsCode())) + return AjaxResult.error("缺少参数:logisticsCode"); + + ResultVo result = shipStockUpService.supplierShipOrderManualLogistics(request, getUsername()); + if(result.getCode() == 0) { + return AjaxResult.success(); + }else return AjaxResult.error(result.getMsg()); + } } diff --git a/serviceImpl/order/src/main/java/cn/qihangerp/module/order/domain/OOrderShipList.java b/serviceImpl/order/src/main/java/cn/qihangerp/module/order/domain/OOrderShipList.java index 066dbeec..1776a85d 100644 --- a/serviceImpl/order/src/main/java/cn/qihangerp/module/order/domain/OOrderShipList.java +++ b/serviceImpl/order/src/main/java/cn/qihangerp/module/order/domain/OOrderShipList.java @@ -36,7 +36,7 @@ public class OOrderShipList implements Serializable { /** * 发货方 0 仓库发货 1 供应商发货 */ - private Integer shipper; + private Long shipper; /** * 发货供应商ID(0自己发货) diff --git a/serviceImpl/order/src/main/java/cn/qihangerp/module/order/domain/OOrderShipListItem.java b/serviceImpl/order/src/main/java/cn/qihangerp/module/order/domain/OOrderShipListItem.java index 1a1e18b4..73a10e12 100644 --- a/serviceImpl/order/src/main/java/cn/qihangerp/module/order/domain/OOrderShipListItem.java +++ b/serviceImpl/order/src/main/java/cn/qihangerp/module/order/domain/OOrderShipListItem.java @@ -37,9 +37,9 @@ public class OOrderShipListItem implements Serializable { private Integer shopType; /** - * 发货方 0 仓库发货 1 供应商发货 + * 发货方 */ - private Integer shipper; + private Long shipper; /** * 发货供应商ID(0自己发货) diff --git a/serviceImpl/order/src/main/java/cn/qihangerp/module/order/domain/bo/OrderAllocateShipRequest.java b/serviceImpl/order/src/main/java/cn/qihangerp/module/order/domain/bo/OrderAllocateShipRequest.java index 9c4b88b7..f5760c8b 100644 --- a/serviceImpl/order/src/main/java/cn/qihangerp/module/order/domain/bo/OrderAllocateShipRequest.java +++ b/serviceImpl/order/src/main/java/cn/qihangerp/module/order/domain/bo/OrderAllocateShipRequest.java @@ -6,8 +6,8 @@ import java.math.BigDecimal; @Data public class OrderAllocateShipRequest { - private String Id;//订单id - + private String id;//订单id + private Long supplierId;//供应商ID private BigDecimal purAmount;//采购金额 private String receiverName;// private String receiverMobile;// diff --git a/serviceImpl/order/src/main/java/cn/qihangerp/module/order/domain/bo/SupplierOrderShipBo.java b/serviceImpl/order/src/main/java/cn/qihangerp/module/order/domain/bo/SupplierOrderShipBo.java new file mode 100644 index 00000000..a12dc907 --- /dev/null +++ b/serviceImpl/order/src/main/java/cn/qihangerp/module/order/domain/bo/SupplierOrderShipBo.java @@ -0,0 +1,14 @@ +package cn.qihangerp.module.order.domain.bo; + +import lombok.Data; + +import java.util.Date; + +@Data +public class SupplierOrderShipBo { + private Long id; + private String logisticsCompany; + private String logisticsCode; + private Date shipTime; + +} diff --git a/serviceImpl/order/src/main/java/cn/qihangerp/module/order/service/OOrderShipListService.java b/serviceImpl/order/src/main/java/cn/qihangerp/module/order/service/OOrderShipListService.java index df7f58a9..86c26a9f 100644 --- a/serviceImpl/order/src/main/java/cn/qihangerp/module/order/service/OOrderShipListService.java +++ b/serviceImpl/order/src/main/java/cn/qihangerp/module/order/service/OOrderShipListService.java @@ -2,9 +2,11 @@ package cn.qihangerp.module.order.service; import cn.qihangerp.common.PageQuery; import cn.qihangerp.common.PageResult; +import cn.qihangerp.common.ResultVo; import cn.qihangerp.module.order.domain.OOrderShipList; import cn.qihangerp.module.order.domain.bo.ShipStockUpBo; import cn.qihangerp.module.order.domain.bo.ShipStockUpCompleteBo; +import cn.qihangerp.module.order.domain.bo.SupplierOrderShipBo; import com.baomidou.mybatisplus.extension.service.IService; /** @@ -21,4 +23,12 @@ public interface OOrderShipListService extends IService { * @return */ int stockUpComplete(ShipStockUpCompleteBo bo); + + /** + * 供应商发货手动填写发货物流信息 + * @param bo + * @param operator + * @return + */ + ResultVo supplierShipOrderManualLogistics(SupplierOrderShipBo bo, String operator); } diff --git a/serviceImpl/order/src/main/java/cn/qihangerp/module/order/service/impl/OOrderServiceImpl.java b/serviceImpl/order/src/main/java/cn/qihangerp/module/order/service/impl/OOrderServiceImpl.java index 651c7890..6f6e1be2 100644 --- a/serviceImpl/order/src/main/java/cn/qihangerp/module/order/service/impl/OOrderServiceImpl.java +++ b/serviceImpl/order/src/main/java/cn/qihangerp/module/order/service/impl/OOrderServiceImpl.java @@ -494,7 +494,7 @@ public class OOrderServiceImpl extends ServiceImpl OOrderShipList shipList = new OOrderShipList(); shipList.setShopId(erpOrder.getShopId()); shipList.setShopType(erpOrder.getShopType()); - shipList.setShipper(0); + shipList.setShipper(0L); shipList.setShipSupplierId(0L); shipList.setShipSupplier("仓库发货"); shipList.setOrderId(Long.parseLong(erpOrder.getId())); @@ -594,9 +594,9 @@ public class OOrderServiceImpl extends ServiceImpl orderItemUpdate.setId( orderItem.getId()); orderItemUpdate.setUpdateBy("手动发货"); orderItemUpdate.setUpdateTime(new Date()); - orderItemUpdate.setShipper(0); + orderItemUpdate.setShipper(0L); orderItemUpdate.setShipStatus(2);//发货状态 0 待发货 1 已分配供应商发货 2全部发货 - orderItemUpdate.setShipType(2);//发货方式1电子面单发货2手动发货 + orderItemUpdate.setShipType(0);//发货方式2供应商代发0仓库发货 orderItemMapper.updateById(orderItemUpdate); } @@ -604,11 +604,12 @@ public class OOrderServiceImpl extends ServiceImpl // 更新状态、发货方式 OOrder update = new OOrder(); update.setId(erpOrder.getId()); - update.setShipper(0); + update.setShipper(0L); update.setShipStatus(2);//发货状态 0 待发货 1 已分配供应商发货 2全部发货 update.setOrderStatus(2); - update.setShipType(2);//发货方式1电子面单发货2手动发货 - + update.setShipType(0);//发货方式2供应商代发0仓库发货 + update.setShipCompany(erpLogisticsCompany.getName()); + update.setShipCode(shipBo.getShippingNumber()); update.setUpdateTime(new Date()); update.setUpdateBy("手动发货"); orderMapper.updateById(update); @@ -637,84 +638,59 @@ public class OOrderServiceImpl extends ServiceImpl return ResultVo.error("订单发货已处理,不允许分配发货"); } - List oOrderItems = orderItemMapper.selectList(new LambdaQueryWrapper() + List orderItemList = orderItemMapper.selectList(new LambdaQueryWrapper() .eq(OOrderItem::getOrderId, erpOrder.getId())); - if(oOrderItems==null) return ResultVo.error("订单 item 数据错误,无法发货!"); + if(orderItemList==null) return ResultVo.error("订单 item 数据错误,无法发货!"); - long skuIdZeroCount = oOrderItems.stream().filter(x -> x.getGoodsSkuId() == 0).count(); - if(skuIdZeroCount>0) return ResultVo.error("订单 item 数据中有skuId错误的数据,请补充!"); + OGoodsSupplier oGoodsSupplier = supplierMapper.selectById(shipBo.getSupplierId()); + if(oGoodsSupplier==null){ + return ResultVo.error("供应商不存在"); + } + +// long skuIdZeroCount = oOrderItems.stream().filter(x -> x.getGoodsSkuId() == 0).count(); +// if(skuIdZeroCount>0) return ResultVo.error("订单 item 数据中有skuId错误的数据,请补充!"); // 按 订单明细找出同供应商 分组 - Map> supplierOrderItemList = new TreeMap<>(); - Map supplierList = new TreeMap<>(); - for(OOrderItem orderItem:oOrderItems){ - OGoodsSku erpGoodsSku = oGoodsSkuMapper.selectById(orderItem.getGoodsSkuId()); - if(erpGoodsSku==null) { - return ResultVo.error("订单明细找不到商品sku信息"); - } - OGoods erpGoods = oGoodsMapper.selectById(erpGoodsSku.getGoodsId()); - if(erpGoods==null){ - return ResultVo.error("订单明细找不到商品信息"); - } - OGoodsSupplier erpSupplier = supplierMapper.selectById(erpGoods.getSupplierId()); - if(erpSupplier==null){ - return ResultVo.error("订单明细商品找不到供应商信息"); - } - // 组合供应商 - boolean isExist = supplierOrderItemList.containsKey(erpSupplier.getId()); - if(isExist){ - supplierOrderItemList.get(erpSupplier.getId()).add(orderItem); - }else{ - List orderItemList = new ArrayList<>(); - orderItemList.add(orderItem); - supplierOrderItemList.put(Long.parseLong(erpSupplier.getId()),orderItemList); - } - supplierList.put(Long.parseLong(erpSupplier.getId()),erpSupplier); - } +// Map> supplierOrderItemList = new TreeMap<>(); +// Map supplierList = new TreeMap<>(); +// for(OOrderItem orderItem:oOrderItems){ +// OGoodsSku erpGoodsSku = oGoodsSkuMapper.selectById(orderItem.getGoodsSkuId()); +// if(erpGoodsSku==null) { +// return ResultVo.error("订单明细找不到商品sku信息"); +// } +// OGoods erpGoods = oGoodsMapper.selectById(erpGoodsSku.getGoodsId()); +// if(erpGoods==null){ +// return ResultVo.error("订单明细找不到商品信息"); +// } +// OGoodsSupplier erpSupplier = supplierMapper.selectById(erpGoods.getSupplierId()); +// if(erpSupplier==null){ +// return ResultVo.error("订单明细商品找不到供应商信息"); +// } +// // 组合供应商 +// boolean isExist = supplierOrderItemList.containsKey(erpSupplier.getId()); +// if(isExist){ +// supplierOrderItemList.get(erpSupplier.getId()).add(orderItem); +// }else{ +// List orderItemList = new ArrayList<>(); +// orderItemList.add(orderItem); +// supplierOrderItemList.put(Long.parseLong(erpSupplier.getId()),orderItemList); +// } +// supplierList.put(Long.parseLong(erpSupplier.getId()),erpSupplier); +// } // 开始组装分配数据 // 遍历 Map - for (Map.Entry> entry : supplierOrderItemList.entrySet()) { - Long supplierId = entry.getKey(); // 获取键(Long) - List orderItemList = entry.getValue(); // 获取值(List) - - // 添加分配发货 -// ErpShipment erpShipment = new ErpShipment(); -// erpShipment.setShipper(1);//发货方 0 仓库发货 1 供应商发货】 -// erpShipment.setSupplierId(supplierId); -// erpShipment.setSupplier(supplierList.get(supplierId)!=null?supplierList.get(supplierId).getName():""); -// erpShipment.setTenantId(erpOrder.getTenantId()); -// erpShipment.setShopId(erpOrder.getShopId()); -// erpShipment.setShopType(erpOrder.getShopType()); -// erpShipment.setOrderId(erpOrder.getId()); -// erpShipment.setOrderNum(erpOrder.getOrderNum()); -// erpShipment.setOrderTime(erpOrder.getOrderTime()); -// erpShipment.setShipType(1);//发货类型(1订单发货2商品补发3商品换货) -// erpShipment.setShipCompany(""); -// erpShipment.setShipCompanyCode(""); -// erpShipment.setShipCode(""); -// erpShipment.setShipFee(BigDecimal.ZERO); -// erpShipment.setShipStatus(0);//物流状态(0 待发货1已发货2已完成) -// -// erpShipment.setPackageHeight(0.0); -// erpShipment.setPackageWeight(0.0); -// erpShipment.setPackageLength(0.0); -// erpShipment.setPackageWidth(0.0); -// erpShipment.setPacksgeOperator(""); -//// erpShipment.setPackages(JSONObject.toJSONString(oOrderItems)); -// erpShipment.setRemark(""); -// erpShipment.setCreateBy(createBy); -// erpShipment.setCreateTime(new Date()); -// -// shipmentMapper.insert(erpShipment); +// for (Map.Entry> entry : supplierOrderItemList.entrySet()) { +// Long supplierId = entry.getKey(); // 获取键(Long) +// List orderItemList = entry.getValue(); // 获取值(List) // 添加分配发货 OOrderShipList shipList = new OOrderShipList(); shipList.setShopId(erpOrder.getShopId()); shipList.setShopType(erpOrder.getShopType()); - shipList.setShipper(1); - shipList.setShipSupplierId(supplierId); - shipList.setShipSupplier(supplierList.get(supplierId)!=null?supplierList.get(supplierId).getName():""); + shipList.setShipper(1L); + shipList.setShipSupplierId(shipBo.getSupplierId()); + shipList.setShipSupplier(oGoodsSupplier.getName()); shipList.setOrderId(Long.parseLong(erpOrder.getId())); shipList.setOrderNum(erpOrder.getOrderNum()); shipList.setStatus(0); @@ -738,32 +714,6 @@ public class OOrderServiceImpl extends ServiceImpl // 遍历 List for (OOrderItem item : orderItemList) { - // 打印 List 中的每个 ErpOrderItem 对象 -// ErpShipmentItem erpShipmentItem = new ErpShipmentItem(); -// erpShipmentItem.setSupplierId(erpShipment.getSupplierId()); -// erpShipmentItem.setSupplier(erpShipment.getSupplier()); -// erpShipmentItem.setShipper(erpShipment.getShipper()); -// erpShipmentItem.setTenantId(erpShipment.getTenantId()); -// erpShipmentItem.setShopId(erpShipment.getShopId()); -// erpShipmentItem.setShopType(erpShipment.getShopType()); -// erpShipmentItem.setShipmentId(erpShipment.getId()); -// erpShipmentItem.setOrderId(erpShipment.getOrderId()); -// erpShipmentItem.setOrderNum(erpShipment.getOrderNum()); -// erpShipmentItem.setOrderTime(erpShipment.getOrderTime()); -// erpShipmentItem.setOrderItemId(item.getId()); -// erpShipmentItem.setErpGoodsId(item.getErpGoodsId()); -// erpShipmentItem.setErpSkuId(item.getErpSkuId()); -// erpShipmentItem.setGoodsTitle(item.getGoodsTitle()); -// erpShipmentItem.setGoodsNum(item.getGoodsNum()); -// erpShipmentItem.setGoodsImg(item.getGoodsImg()); -// erpShipmentItem.setGoodsSpec(item.getGoodsSpec()); -// erpShipmentItem.setSkuNum(item.getSkuNum()); -// erpShipmentItem.setQuantity(item.getQuantity()); -// erpShipmentItem.setRemark(item.getRemark()); -// erpShipmentItem.setStockStatus(0); -// erpShipmentItem.setCreateBy(createBy); -// erpShipmentItem.setCreateTime(new Date()); -// shipmentItemMapper.insert(erpShipmentItem); // 添加备货清单item OOrderShipListItem listItem=new OOrderShipListItem(); listItem.setShopId(erpOrder.getShopId()); @@ -794,53 +744,27 @@ public class OOrderServiceImpl extends ServiceImpl orderItemUpdate.setId( item.getId()); orderItemUpdate.setUpdateBy("分配供应商发货"); orderItemUpdate.setUpdateTime(new Date()); + orderItemUpdate.setShipType(2);//发货方式2供应商代发0仓库发货 orderItemUpdate.setShipStatus(1);//发货状态 0 待发货 1 已分配供应商发货 2全部发货 - orderItemUpdate.setShipper(2);//发货方式 0 自己发货1联合发货2供应商发货 + orderItemUpdate.setShipper(shipBo.getSupplierId());//发货人 orderItemMapper.updateById(orderItemUpdate); } - } - -// return ResultVo.error("还没有想好怎么实现!"); - -// -// for(ErpOrderItem orderItem:oOrderItems){ -// ErpShipmentItem erpShipmentItem = new ErpShipmentItem(); -// erpShipmentItem.setShipper(erpShipment.getShipper()); -// erpShipmentItem.setTenantId(erpShipment.getTenantId()); -// erpShipmentItem.setShopId(erpShipment.getShopId()); -// erpShipmentItem.setShopType(erpShipment.getShopType()); -// erpShipmentItem.setShipmentId(erpShipment.getId()); -// erpShipmentItem.setOrderId(erpShipment.getOrderId()); -// erpShipmentItem.setOrderNum(erpShipment.getOrderNum()); -// erpShipmentItem.setOrderTime(erpShipment.getOrderTime()); -// erpShipmentItem.setOrderItemId(orderItem.getId()); -// erpShipmentItem.setErpGoodsId(orderItem.getErpGoodsId()); -// erpShipmentItem.setErpSkuId(orderItem.getErpSkuId()); -// erpShipmentItem.setGoodsTitle(orderItem.getGoodsTitle()); -// erpShipmentItem.setGoodsNum(orderItem.getGoodsNum()); -// erpShipmentItem.setGoodsImg(orderItem.getGoodsImg()); -// erpShipmentItem.setGoodsSpec(orderItem.getGoodsSpec()); -// erpShipmentItem.setSkuNum(orderItem.getSkuNum()); -// erpShipmentItem.setQuantity(orderItem.getQuantity()); -// erpShipmentItem.setRemark(orderItem.getRemark()); -// erpShipmentItem.setStockStatus(0); -// erpShipmentItem.setCreateBy(createBy); -// erpShipmentItem.setCreateTime(new Date()); -// shipmentItemMapper.insert(erpShipmentItem); // } -// -// + // 更新状态、发货方式 OOrder update = new OOrder(); update.setId(erpOrder.getId()); + update.setShipType(2);//发货方式2供应商代发0仓库发货 update.setShipStatus(1);//发货状态 0 待发货 1 已分配供应商发货 2全部发货 - update.setShipper(2);//发发货方式 0 自己发货1联合发货2供应商发货 + update.setShipper(shipBo.getSupplierId());//发货人 update.setUpdateTime(new Date()); update.setUpdateBy("分配供应商发货"); orderMapper.updateById(update); return ResultVo.success(); } + + @Transactional(rollbackFor = Exception.class) @Override public ResultVo cancelOrder(Long id, String cancelReason, String man) { diff --git a/serviceImpl/order/src/main/java/cn/qihangerp/module/order/service/impl/OOrderShipListServiceImpl.java b/serviceImpl/order/src/main/java/cn/qihangerp/module/order/service/impl/OOrderShipListServiceImpl.java index 1bddf33e..89d1d796 100644 --- a/serviceImpl/order/src/main/java/cn/qihangerp/module/order/service/impl/OOrderShipListServiceImpl.java +++ b/serviceImpl/order/src/main/java/cn/qihangerp/module/order/service/impl/OOrderShipListServiceImpl.java @@ -2,9 +2,18 @@ package cn.qihangerp.module.order.service.impl; import cn.qihangerp.common.PageQuery; import cn.qihangerp.common.PageResult; +import cn.qihangerp.common.ResultVo; +import cn.qihangerp.model.entity.OLogisticsCompany; +import cn.qihangerp.model.entity.OOrder; +import cn.qihangerp.model.entity.OOrderItem; +import cn.qihangerp.module.mapper.OLogisticsCompanyMapper; import cn.qihangerp.module.order.domain.OOrderShipListItem; +import cn.qihangerp.module.order.domain.OfflineOrder; import cn.qihangerp.module.order.domain.bo.ShipStockUpBo; import cn.qihangerp.module.order.domain.bo.ShipStockUpCompleteBo; +import cn.qihangerp.module.order.domain.bo.SupplierOrderShipBo; +import cn.qihangerp.module.order.mapper.OOrderItemMapper; +import cn.qihangerp.module.order.mapper.OOrderMapper; import cn.qihangerp.module.order.mapper.OOrderShipListItemMapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -13,6 +22,7 @@ import cn.qihangerp.module.order.domain.OOrderShipList; import cn.qihangerp.module.order.service.OOrderShipListService; import cn.qihangerp.module.order.mapper.OOrderShipListMapper; import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.StringUtils; @@ -25,11 +35,16 @@ import java.util.List; * @description 针对表【o_order_ship_list(发货-备货表(取号发货加入备货清单、分配供应商发货加入备货清单))】的数据库操作Service实现 * @createDate 2025-05-24 16:03:35 */ +@Slf4j @AllArgsConstructor @Service public class OOrderShipListServiceImpl extends ServiceImpl implements OOrderShipListService{ private final OOrderShipListItemMapper shipListItemMapper; + private final OOrderMapper orderMapper; + private final OOrderItemMapper orderItemMapper; + private final OLogisticsCompanyMapper logisticsCompanyMapper; + @Override public PageResult querySupplierPageList(ShipStockUpBo bo, PageQuery pageQuery) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper() @@ -39,6 +54,11 @@ public class OOrderShipListServiceImpl extends ServiceImpl pages = this.baseMapper.selectPage(pageQuery.build(), queryWrapper); + if(pages.getRecords()!=null && pages.getRecords().size()>0){ + for(OOrderShipList o : pages.getRecords()){ + o.setItems(shipListItemMapper.selectList(new LambdaQueryWrapper().eq(OOrderShipListItem::getListId,o.getId()))); + } + } return PageResult.build(pages); } @@ -125,6 +145,103 @@ public class OOrderShipListServiceImpl extends ServiceImpl supplierShipOrderManualLogistics(SupplierOrderShipBo bo, String operator) { + if(bo.getId()==null) return ResultVo.error("缺少参数:Id"); + if(!StringUtils.hasText(bo.getLogisticsCompany()) || !StringUtils.hasText(bo.getLogisticsCode())) + return ResultVo.error("缺少参数:快递信息"); + + OOrderShipList shipOrder = this.baseMapper.selectById(bo.getId()); + if (shipOrder == null) return ResultVo.error("找不到数据"); + if(shipOrder.getShipStatus().intValue() !=1) return ResultVo.error("已发货或已取消不能再发货"); + + OLogisticsCompany erpLogisticsCompany = logisticsCompanyMapper.selectById(bo.getLogisticsCompany()); + if(erpLogisticsCompany==null) return ResultVo.error("快递公司选择错误"); + + OOrder erpOrder = orderMapper.selectById(shipOrder.getOrderId()); + if(erpOrder==null) return ResultVo.error("订单库找不到订单!"); + + // 更新供应商订单状态 + OOrderShipList updateShip = new OOrderShipList(); + updateShip.setShipLogisticsCompany(erpLogisticsCompany.getName()); + updateShip.setShipLogisticsCompanyCode(erpLogisticsCompany.getCode()); + updateShip.setShipLogisticsCode(bo.getLogisticsCode()); + updateShip.setShipStatus(2); + updateShip.setStatus(3); + updateShip.setUpdateTime(new Date()); + updateShip.setUpdateBy("供应商手动发货"); + updateShip.setId(shipOrder.getId()); + this.baseMapper.updateById(updateShip); + + // 子订单 + List shipOrderItemList = shipListItemMapper.selectList( + new LambdaQueryWrapper() + .eq(OOrderShipListItem::getListId, bo.getId())); + if(!shipOrderItemList.isEmpty()){ + for (var item:shipOrderItemList) { + // 更新子订单发货状态 + OOrderShipListItem shipOrderItem=new OOrderShipListItem(); + shipOrderItem.setStatus(3); + shipOrderItem.setUpdateTime(new Date()); + shipOrderItem.setUpdateBy("供应商发货手动确认"); + shipOrderItem.setId(item.getId()); + shipListItemMapper.updateById(shipOrderItem); + + // 更新订单明细o_order_item + OOrderItem updateOrderItem =new OOrderItem(); + updateOrderItem.setId(item.getOrderItemId().toString()); + updateOrderItem.setShipStatus(2); + updateOrderItem.setOrderStatus(2); + updateOrderItem.setUpdateBy("供应商发货手动确认"); + updateOrderItem.setUpdateTime(new Date()); + orderItemMapper.updateById(updateOrderItem); + } + } + + // 更新订单发货状态 + + // 查询订单item是否全部发货 + List waitShipList = orderItemMapper.selectList(new LambdaQueryWrapper().eq(OOrderItem::getOrderId, shipOrder.getOrderId()).ne(OOrderItem::getShipStatus, 2)); + if(waitShipList.isEmpty()){ + //已经全部发货了 + OOrder update = new OOrder(); + update.setId(shipOrder.getOrderId().toString()); + update.setShipStatus(2);//发货状态 0 待发货 1 部分发货 2全部发货 + update.setOrderStatus(2); + update.setShipCompany(erpLogisticsCompany.getName()); + update.setShipCode(bo.getLogisticsCode()); + update.setUpdateTime(new Date()); + update.setUpdateBy("供应商发货确认-全部发货完成"); + orderMapper.updateById(update); + + // 更新店铺订单(仅线下订单个螳螂订单) + // 更新店铺订单 + + + }else { + // 部分发货 + OOrder update = new OOrder(); + update.setId(shipOrder.getOrderId().toString()); + update.setShipStatus(1);//发货状态 0 待发货 1 部分发货 2全部发货 +// update.setOrderStatus(2); + update.setShipCompany(erpLogisticsCompany.getName()); + update.setShipCode(bo.getLogisticsCode()); + update.setUpdateTime(new Date()); + update.setUpdateBy("供应商发货确认-部分发货"); + orderMapper.updateById(update); + } + log.info("============供应商发货确认成功==================="); + // 推送到店铺由controller进行操作 + return ResultVo.success(); + } } diff --git a/serviceImpl/order/src/main/resources/mapper/OOrderItemMapper.xml b/serviceImpl/order/src/main/resources/mapper/OOrderItemMapper.xml index dc5b84fb..e285d910 100644 --- a/serviceImpl/order/src/main/resources/mapper/OOrderItemMapper.xml +++ b/serviceImpl/order/src/main/resources/mapper/OOrderItemMapper.xml @@ -28,7 +28,7 @@ - + diff --git a/serviceImpl/order/src/main/resources/mapper/OOrderMapper.xml b/serviceImpl/order/src/main/resources/mapper/OOrderMapper.xml index 2a02e333..aa5c7305 100644 --- a/serviceImpl/order/src/main/resources/mapper/OOrderMapper.xml +++ b/serviceImpl/order/src/main/resources/mapper/OOrderMapper.xml @@ -28,7 +28,7 @@ - + diff --git a/serviceImpl/order/src/main/resources/mapper/OOrderShipListItemMapper.xml b/serviceImpl/order/src/main/resources/mapper/OOrderShipListItemMapper.xml index 7085aab3..fb765bae 100644 --- a/serviceImpl/order/src/main/resources/mapper/OOrderShipListItemMapper.xml +++ b/serviceImpl/order/src/main/resources/mapper/OOrderShipListItemMapper.xml @@ -9,7 +9,7 @@ - + diff --git a/serviceImpl/order/src/main/resources/mapper/OOrderShipListMapper.xml b/serviceImpl/order/src/main/resources/mapper/OOrderShipListMapper.xml index 3b3f7357..2cebfbb3 100644 --- a/serviceImpl/order/src/main/resources/mapper/OOrderShipListMapper.xml +++ b/serviceImpl/order/src/main/resources/mapper/OOrderShipListMapper.xml @@ -8,7 +8,7 @@ - + diff --git a/serviceImpl/shop/src/main/java/cn/qihangerp/module/service/impl/OLogisticsCompanyServiceImpl.java b/serviceImpl/shop/src/main/java/cn/qihangerp/module/service/impl/OLogisticsCompanyServiceImpl.java index 8b5d8374..d0432dd0 100644 --- a/serviceImpl/shop/src/main/java/cn/qihangerp/module/service/impl/OLogisticsCompanyServiceImpl.java +++ b/serviceImpl/shop/src/main/java/cn/qihangerp/module/service/impl/OLogisticsCompanyServiceImpl.java @@ -40,7 +40,7 @@ public class OLogisticsCompanyServiceImpl extends ServiceImpl queryListByStatus(Integer status, Integer shopType, Integer shopId) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper(). - eq(OLogisticsCompany::getStatus, status) + eq(status!=null,OLogisticsCompany::getStatus, status) .eq(shopId != null, OLogisticsCompany::getShopId, shopId) .eq(shopType != null, OLogisticsCompany::getPlatformId, shopType); return mapper.selectList(queryWrapper); diff --git a/vue/src/api/api/logistics.js b/vue/src/api/api/logistics.js index 4f379921..a384743a 100644 --- a/vue/src/api/api/logistics.js +++ b/vue/src/api/api/logistics.js @@ -1,44 +1,44 @@ -import request from '@/utils/request' - -// 查询物流公司列表 -export function listLogistics(query) { - return request({ - url: '/api/logistics/list', - method: 'get', - params: query - }) -} - -// 查询物流公司详细 -export function getLogistics(id) { - return request({ - url: '/api/logistics/' + id, - method: 'get' - }) -} - -// 新增物流公司 -export function addLogistics(data) { - return request({ - url: '/api/oms-api/shop/logistics/add', - method: 'post', - data: data - }) -} - -// 修改物流公司 -export function updateLogistics(data) { - return request({ - url: '/api/logistics', - method: 'put', - data: data - }) -} - -// 删除物流公司 -export function delLogistics(id) { - return request({ - url: '/api/logistics/' + id, - method: 'delete' - }) -} +// import request from '@/utils/request' +// +// // 查询物流公司列表 +// export function listLogistics(query) { +// return request({ +// url: '/api/logistics/list', +// method: 'get', +// params: query +// }) +// } +// +// // 查询物流公司详细 +// export function getLogistics(id) { +// return request({ +// url: '/api/logistics/' + id, +// method: 'get' +// }) +// } +// +// // 新增物流公司 +// export function addLogistics(data) { +// return request({ +// url: '/api/oms-api/shop/logistics/add', +// method: 'post', +// data: data +// }) +// } +// +// // 修改物流公司 +// export function updateLogistics(data) { +// return request({ +// url: '/api/logistics', +// method: 'put', +// data: data +// }) +// } +// +// // 删除物流公司 +// export function delLogistics(id) { +// return request({ +// url: '/api/logistics/' + id, +// method: 'delete' +// }) +// } diff --git a/vue/src/api/api/shipping.js b/vue/src/api/api/shipping.js index a3024393..47720c3e 100644 --- a/vue/src/api/api/shipping.js +++ b/vue/src/api/api/shipping.js @@ -1,27 +1,27 @@ -import request from '@/utils/request' - -// 查询 -export function listShipping(query) { - return request({ - url: '/api/oms-api/shipping/list', - method: 'get', - params: query - }) -} - -export function getLogistics(id) { - return request({ - url: '/api/logistics/' + id, - method: 'get' - }) -} - -// 新增 -export function handShip(data) { - return request({ - url: '/api/oms-api/shipping/handShip', - method: 'post', - data: data - }) -} - +// import request from '@/utils/request' +// +// // 查询 +// export function listShipping(query) { +// return request({ +// url: '/api/oms-api/shipping/list', +// method: 'get', +// params: query +// }) +// } +// +// export function getLogistics(id) { +// return request({ +// url: '/api/logistics/' + id, +// method: 'get' +// }) +// } +// +// // 新增 +// export function handShip(data) { +// return request({ +// url: '/api/oms-api/shipping/handShip', +// method: 'post', +// data: data +// }) +// } +// diff --git a/vue/src/api/shipping/logistics.js b/vue/src/api/shipping/logistics.js index 2d83552b..4106da74 100644 --- a/vue/src/api/shipping/logistics.js +++ b/vue/src/api/shipping/logistics.js @@ -8,6 +8,13 @@ export function listLogistics(query) { params: query }) } +export function listLogisticsStatus(query) { + return request({ + url: '/api/oms-api/shop/logistics_status', + method: 'get', + params: query + }) +} // 查询物流公司详细 export function getLogistics(id) { diff --git a/vue/src/api/shipping/shipping.js b/vue/src/api/shipping/shipping.js index aa2e7f16..2a027076 100644 --- a/vue/src/api/shipping/shipping.js +++ b/vue/src/api/shipping/shipping.js @@ -57,6 +57,15 @@ export function distributeSupplierShip(data) { data: data }) } +// 供应商发货手动确认 +export function supplierShipConfirm(data) { + return request({ + url: '/api/oms-api/ship/supplier_ship_confirm', + method: 'post', + data: data + }) +} + // 订单待出库列表 export function listOrderStockOutEntry(query) { diff --git a/vue/src/api/shop/shop.js b/vue/src/api/shop/shop.js index de8caeb0..ac6e6a4a 100644 --- a/vue/src/api/shop/shop.js +++ b/vue/src/api/shop/shop.js @@ -70,13 +70,13 @@ export function updatePlatform(data) { } -export function listLogisticsStatus(query) { - return request({ - url: '/api/oms-api/shop/logistics_status', - method: 'get', - params: query - }) -} +// export function listLogisticsStatus(query) { +// return request({ +// url: '/api/oms-api/shop/logistics_status', +// method: 'get', +// params: query +// }) +// } @@ -87,11 +87,11 @@ export function listShopPullLogs(query) { params: query }) } -// 修改物流状态 -export function updateStatus(data) { - return request({ - url: '/api/oms-api/shop/logistics/updateStatus', - method: 'put', - data: data - }) -} +// // 修改物流状态 +// export function updateStatus(data) { +// return request({ +// url: '/api/oms-api/shop/logistics/updateStatus', +// method: 'put', +// data: data +// }) +// } diff --git a/vue/src/views/shipping/shipment/wait_ship.vue b/vue/src/views/shipping/shipment/wait_ship.vue index 2fb9f4ff..475ffeb8 100644 --- a/vue/src/views/shipping/shipment/wait_ship.vue +++ b/vue/src/views/shipping/shipment/wait_ship.vue @@ -40,26 +40,26 @@ 重置 - - 手动发货 - - - 分配给供应商发货 - + + + + + + + + + + + + + + + + + + + + @@ -276,7 +276,7 @@ - + {{form.orderNum}} @@ -301,7 +301,7 @@ 商品明细 - + @@ -317,11 +317,19 @@ + + + + {{ item.name }} + {{item.number}} + + + - + @@ -351,9 +359,11 @@ import { waitSelfShipmentList } from "@/api/order/order"; -import {listShop,listLogisticsStatus} from "@/api/shop/shop"; +import {listShop} from "@/api/shop/shop"; +import {listLogisticsStatus} from "@/api/shipping/logistics"; import {amountFormatter, parseTime} from "@/utils/zhijian"; import {getDicts} from "@/api/system/dict/data"; +import {listSupplier} from "../../../api/goods/supplier"; export default { name: "ShipmentWait", @@ -367,6 +377,7 @@ export default { shopList: [], orderList: [], logisticsList: [], + supplierList: [], // 非单个禁用 single: true, // 非多个禁用 @@ -395,7 +406,8 @@ export default { }, // 表单参数 form: { - weight:0.0 + weight:0.0, + sellerMemo:null }, printerList: [], deliverList: [], @@ -408,6 +420,7 @@ export default { packageAmount: [{ required: true, message: '不能为空' }], shippingCost: [{ required: true, message: '不能为空' }], // shippingMan: [{ required: true, message: '不能为空' }], + supplierId: [{ required: true, message: '不能为空' }], receiverName: [{ required: true, message: '不能为空' }], receiverMobile: [{ required: true, message: '不能为空' }], address: [{ required: true, message: '不能为空' }], @@ -501,6 +514,9 @@ export default { this.form.weight=0.0 this.form.shippingCost=0.0 this.form.packageAmount=0.0 + listSupplier().then(resp=>{ + this.supplierList = resp.rows + }) this.allocateShipmentOpen = true; // this.detailTitle = "订单详情"; }); @@ -545,7 +561,16 @@ export default { submitAllocateShipmentForm(){ this.$refs["form"].validate(valid => { if (valid) { - allocateShipmentOrder(this.form).then(resp =>{ + const form ={ + id:this.form.id, + supplierId:this.form.supplierId, + receiverName:this.form.receiverName, + receiverMobile:this.form.receiverMobile, + address:this.form.address, + sellerMemo:this.form.sellerMemo, + buyerMemo:this.form.buyerMemo, + } + allocateShipmentOrder(form).then(resp =>{ if(resp.code==200){ this.$modal.msgSuccess("分配发货成功"); this.allocateShipmentOpen = false diff --git a/vue/src/views/shipping/stockup/supplier/index.vue b/vue/src/views/shipping/stockup/supplier/index.vue index 0c8f09cd..31b85dad 100644 --- a/vue/src/views/shipping/stockup/supplier/index.vue +++ b/vue/src/views/shipping/stockup/supplier/index.vue @@ -113,11 +113,20 @@ - - + + + + @@ -131,11 +140,7 @@ --> - - - + - - - - - - - - - - + + + + + + @@ -229,15 +236,15 @@ - - - - + + + + + + + + + @@ -258,9 +265,9 @@ - - - + + + { + this.$message({ type: 'success', message: '复制成功' }) + // 释放内存 + clipboard.destroy() + }) + clipboard.on('error', e => { + // 不支持复制 + this.$message({ type: 'waning', message: '该浏览器不支持自动复制' }) + // 释放内存 + clipboard.destroy() + }) + }, /** 查询供应商代发货列表 */ getList() { this.loading = true; @@ -420,26 +444,33 @@ export default { handleUpdate(row) { this.reset(); const id = row.id || this.ids - getShippingDetail(id).then(response => { - // this.form = response.data; - this.form.shipmentId=response.data.id - this.form.orderNum=response.data.orderNum - this.form.orderTime=response.data.orderTime - this.form.goodsAmount=response.data.goodsAmount - listLogisticsStatus({}).then(resp=>{ + // getShippingDetail(id).then(response => { + this.form = row; + this.form.shipTime = new Date() + // this.form.shipmentId=response.data.id + // this.form.orderNum=response.data.orderNum + // this.form.orderTime=response.data.orderTime + // this.form.goodsAmount=response.data.goodsAmount + listLogisticsStatus({}).then(resp=>{ this.logisticsList = resp.rows this.open = true; this.title = "填写供应商发货物流信息"; }) - }); + // }); }, /** 提交按钮 */ submitForm() { this.$refs["form"].validate(valid => { if (valid) { - supplierAgentShipment(this.form).then(response => { - this.$modal.msgSuccess("修改成功"); + const form={ + id:this.form.id, + logisticsCompany:this.form.shipCompanyId, + logisticsCode:this.form.shipNo, + shipTime:this.form.shipTime + } + supplierShipConfirm(form).then(response => { + this.$modal.msgSuccess("供应商发货成功"); this.open = false; this.getList(); });