完善供应商发货

This commit is contained in:
启航老齐 2025-10-07 16:03:15 +08:00
parent c367da8910
commit 3b4d677d41
25 changed files with 495 additions and 332 deletions

View File

@ -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));
}
/**

View File

@ -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;

View File

@ -132,9 +132,9 @@ public class OOrderItem implements Serializable {
private Integer orderStatus;
/**
* 发货方式 0 自己发货1联合发货2供应商发货
* 发货
*/
private Integer shipper;
private Long shipper;
/**
* 发货方式 0 自己发货或待处理2供应商发货

View File

@ -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());

View File

@ -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();
// }
}

View File

@ -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<Integer> result = shipStockUpService.supplierShipOrderManualLogistics(request, getUsername());
if(result.getCode() == 0) {
return AjaxResult.success();
}else return AjaxResult.error(result.getMsg());
}
}

View File

@ -36,7 +36,7 @@ public class OOrderShipList implements Serializable {
/**
* 发货方 0 仓库发货 1 供应商发货
*/
private Integer shipper;
private Long shipper;
/**
* 发货供应商ID0自己发货

View File

@ -37,9 +37,9 @@ public class OOrderShipListItem implements Serializable {
private Integer shopType;
/**
* 发货方 0 仓库发货 1 供应商发货
* 发货方
*/
private Integer shipper;
private Long shipper;
/**
* 发货供应商ID0自己发货

View File

@ -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;//

View File

@ -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;
}

View File

@ -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<OOrderShipList> {
* @return
*/
int stockUpComplete(ShipStockUpCompleteBo bo);
/**
* 供应商发货手动填写发货物流信息
* @param bo
* @param operator
* @return
*/
ResultVo<Integer> supplierShipOrderManualLogistics(SupplierOrderShipBo bo, String operator);
}

View File

@ -494,7 +494,7 @@ public class OOrderServiceImpl extends ServiceImpl<OOrderMapper, OOrder>
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<OOrderMapper, OOrder>
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<OOrderMapper, OOrder>
// 更新状态发货方式
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<OOrderMapper, OOrder>
return ResultVo.error("订单发货已处理,不允许分配发货");
}
List<OOrderItem> oOrderItems = orderItemMapper.selectList(new LambdaQueryWrapper<OOrderItem>()
List<OOrderItem> orderItemList = orderItemMapper.selectList(new LambdaQueryWrapper<OOrderItem>()
.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<Long,List<OOrderItem>> supplierOrderItemList = new TreeMap<>();
Map<Long, OGoodsSupplier> 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<OOrderItem> orderItemList = new ArrayList<>();
orderItemList.add(orderItem);
supplierOrderItemList.put(Long.parseLong(erpSupplier.getId()),orderItemList);
}
supplierList.put(Long.parseLong(erpSupplier.getId()),erpSupplier);
}
// Map<Long,List<OOrderItem>> supplierOrderItemList = new TreeMap<>();
// Map<Long, OGoodsSupplier> 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<OOrderItem> orderItemList = new ArrayList<>();
// orderItemList.add(orderItem);
// supplierOrderItemList.put(Long.parseLong(erpSupplier.getId()),orderItemList);
// }
// supplierList.put(Long.parseLong(erpSupplier.getId()),erpSupplier);
// }
// 开始组装分配数据
// 遍历 Map
for (Map.Entry<Long, List<OOrderItem>> entry : supplierOrderItemList.entrySet()) {
Long supplierId = entry.getKey(); // 获取键Long
List<OOrderItem> orderItemList = entry.getValue(); // 获取值List<ErpOrderItem>
// 添加分配发货
// 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<Long, List<OOrderItem>> entry : supplierOrderItemList.entrySet()) {
// Long supplierId = entry.getKey(); // 获取键Long
// List<OOrderItem> orderItemList = entry.getValue(); // 获取值List<ErpOrderItem>
// 添加分配发货
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<OOrderMapper, OOrder>
// 遍历 List<ErpOrderItem>
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<OOrderMapper, OOrder>
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) {

View File

@ -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<OOrderShipListMapper, OOrderShipList>
implements OOrderShipListService{
private final OOrderShipListItemMapper shipListItemMapper;
private final OOrderMapper orderMapper;
private final OOrderItemMapper orderItemMapper;
private final OLogisticsCompanyMapper logisticsCompanyMapper;
@Override
public PageResult<OOrderShipList> querySupplierPageList(ShipStockUpBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<OOrderShipList> queryWrapper = new LambdaQueryWrapper<OOrderShipList>()
@ -39,6 +54,11 @@ public class OOrderShipListServiceImpl extends ServiceImpl<OOrderShipListMapper,
.eq(StringUtils.hasText(bo.getOrderNum()),OOrderShipList::getOrderNum,bo.getOrderNum())
;
Page<OOrderShipList> 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<OOrderShipListItem>().eq(OOrderShipListItem::getListId,o.getId())));
}
}
return PageResult.build(pages);
}
@ -125,6 +145,103 @@ public class OOrderShipListServiceImpl extends ServiceImpl<OOrderShipListMapper,
return 1;
}
/**
* 供应商发货手动确认
* @param bo
* @param operator
* @return
*/
@Transactional(rollbackFor = Exception.class)
@Override
public ResultVo<Integer> 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<OOrderShipListItem> shipOrderItemList = shipListItemMapper.selectList(
new LambdaQueryWrapper<OOrderShipListItem>()
.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<OOrderItem> waitShipList = orderItemMapper.selectList(new LambdaQueryWrapper<OOrderItem>().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();
}
}

View File

@ -28,7 +28,7 @@
<result property="refundCount" column="refund_count" jdbcType="INTEGER"/>
<result property="refundStatus" column="refund_status" jdbcType="INTEGER"/>
<result property="orderStatus" column="order_status" jdbcType="INTEGER"/>
<result property="shipper" column="shipper" jdbcType="INTEGER"/>
<result property="shipper" column="shipper" jdbcType="BIGINT"/>
<result property="shipType" column="ship_type" jdbcType="INTEGER"/>
<result property="shipStatus" column="ship_status" jdbcType="INTEGER"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>

View File

@ -28,7 +28,7 @@
<result property="city" column="city" jdbcType="VARCHAR"/>
<result property="town" column="town" jdbcType="VARCHAR"/>
<result property="orderTime" column="order_time" jdbcType="TIMESTAMP"/>
<result property="shipper" column="shipper" jdbcType="INTEGER"/>
<result property="shipper" column="shipper" jdbcType="BIGINT"/>
<result property="shipType" column="ship_type" jdbcType="INTEGER"/>
<result property="shipStatus" column="ship_status" jdbcType="INTEGER"/>
<result property="shipCompany" column="ship_company" jdbcType="VARCHAR"/>

View File

@ -9,7 +9,7 @@
<result property="shopId" column="shop_id" jdbcType="BIGINT"/>
<result property="listId" column="list_id" jdbcType="BIGINT"/>
<result property="shopType" column="shop_type" jdbcType="INTEGER"/>
<result property="shipper" column="shipper" jdbcType="INTEGER"/>
<result property="shipper" column="shipper" jdbcType="BIGINT"/>
<result property="shipSupplierId" column="ship_supplier_id" jdbcType="BIGINT"/>
<result property="shipSupplier" column="ship_supplier" jdbcType="VARCHAR"/>
<result property="orderId" column="order_id" jdbcType="BIGINT"/>

View File

@ -8,7 +8,7 @@
<id property="id" column="id" jdbcType="BIGINT"/>
<result property="shopId" column="shop_id" jdbcType="BIGINT"/>
<result property="shopType" column="shop_type" jdbcType="INTEGER"/>
<result property="shipper" column="shipper" jdbcType="INTEGER"/>
<result property="shipper" column="shipper" jdbcType="BIGINT"/>
<result property="shipSupplierId" column="ship_supplier_id" jdbcType="BIGINT"/>
<result property="shipSupplier" column="ship_supplier" jdbcType="VARCHAR"/>
<result property="orderId" column="order_id" jdbcType="BIGINT"/>

View File

@ -40,7 +40,7 @@ public class OLogisticsCompanyServiceImpl extends ServiceImpl<OLogisticsCompanyM
@Override
public List<OLogisticsCompany> queryListByStatus(Integer status, Integer shopType, Integer shopId) {
LambdaQueryWrapper<OLogisticsCompany> queryWrapper = new LambdaQueryWrapper<OLogisticsCompany>().
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);

View File

@ -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'
// })
// }

View File

@ -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
// })
// }
//

View File

@ -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) {

View File

@ -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) {

View File

@ -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
// })
// }

View File

@ -40,26 +40,26 @@
<el-col :span="1.5">
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="primary"
plain
:disabled="single"
icon="el-icon-download"
size="mini"
@click="handleShip"
>手动发货</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type=""
plain
:disabled="single"
icon="el-icon-download"
size="mini"
@click="allocateShipmentToSupplier"
>分配给供应商发货</el-button>
</el-col>
<!-- <el-col :span="1.5">-->
<!-- <el-button-->
<!-- type="primary"-->
<!-- plain-->
<!-- :disabled="single"-->
<!-- icon="el-icon-download"-->
<!-- size="mini"-->
<!-- @click="handleShip"-->
<!-- >手动发货</el-button>-->
<!-- </el-col>-->
<!-- <el-col :span="1.5">-->
<!-- <el-button-->
<!-- type=""-->
<!-- plain-->
<!-- :disabled="single"-->
<!-- icon="el-icon-download"-->
<!-- size="mini"-->
<!-- @click="allocateShipmentToSupplier"-->
<!-- >分配给供应商发货</el-button>-->
<!-- </el-col>-->
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
@ -276,7 +276,7 @@
<!-- 分配给供应商发货对话框 -->
<el-dialog title="分配给供应商发货" :visible.sync="allocateShipmentOpen" width="1100px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px" >
<el-form ref="form" :model="form" :rules="rules" label-width="98px" >
<el-descriptions title="订单信息">
<el-descriptions-item label="订单号">{{form.orderNum}}</el-descriptions-item>
@ -301,7 +301,7 @@
</el-descriptions>
<el-divider content-position="center">商品明细</el-divider>
<el-table :data="form.itemVoList" style="margin-bottom: 10px;">
<el-table :data="form.itemVoList" style="margin-bottom: 20px;">
<!-- <el-table-column type="selection" width="50" align="center" /> -->
<el-table-column label="序号" align="center" type="index" width="50"/>
@ -317,11 +317,19 @@
<el-table-column label="数量" prop="quantity" width="50"></el-table-column>
<!-- <el-table-column label="商品金额" prop="itemAmount"></el-table-column> -->
</el-table>
<el-form-item label="发货供应商" prop="supplierId">
<el-select v-model="form.supplierId" filterable r placeholder="选择发货供应商" style="width:300px">
<el-option v-for="item in supplierList" :key="item.id" :label="item.name" :value="item.id">
<span style="float: left">{{ item.name }}</span>
<span style="float: right; color: #8492a6; font-size: 13px" >{{item.number}}</span>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="收件人" prop="receiverName">
<el-input v-model="form.receiverName" placeholder="请输入收件人" style="width:300px" />
</el-form-item>
<el-form-item label="手机号" prop="receiverMobile">
<el-input type="number" v-model.number="form.receiverMobile" placeholder="请输入收件人" style="width:300px" />
<el-input v-model="form.receiverMobile" placeholder="请输入收件人手机号" style="width:300px" />
</el-form-item>
<el-form-item label="详细地址" prop="address">
<el-input v-model="form.address" placeholder="请输入详细地址" style="width:300px" />
@ -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

View File

@ -113,11 +113,20 @@
<el-table v-loading="loading" :data="agentShippingList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="订单编号" align="center" prop="orderNum" />
<!-- <el-table-column label="主键ID" align="center" prop="id" /> -->
<el-table-column label="供应商" align="center" prop="shopId" >
<el-table-column label="订单编号" align="left" prop="orderNum" width="200px">
<template slot-scope="scope">
<el-tag>{{scope.row.supplier}}</el-tag>
<el-button
size="mini"
type="text"
icon="el-icon-view"
>{{scope.row.orderNum}} </el-button>
<i class="el-icon-copy-document tag-copy" :data-clipboard-text="scope.row.orderNum" @click="copyActiveCode($event,scope.row.orderNum)" ></i>
</template>
</el-table-column>
<el-table-column label="供应商" align="center" prop="shipSupplier" width="220px">
<template slot-scope="scope">
<el-tag>{{scope.row.shipSupplier}}</el-tag>
<!-- <span>{{ shopList.find(x=>x.id === scope.row.shopId)?shopList.find(x=>x.id === scope.row.shopId).name:'' }}</span>-->
</template>
</el-table-column>
@ -131,11 +140,7 @@
</el-table-column> -->
<!-- <el-table-column label="子订单编号" align="center" prop="subOrderNum" />-->
<el-table-column label="下单日期" align="center" prop="orderDate" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.orderTime) }}</span>
</template>
</el-table-column>
<el-table-column label="商品明细" align="center" width="900px" >
<template slot="header">
<table>
@ -150,7 +155,7 @@
</table>
</template>
<template slot-scope="scope" >
<el-table :data="scope.row.itemList" :show-header="false" :cell-style="{border:0 + 'px' }" :row-style="{border:0 + 'px' }" >
<el-table :data="scope.row.items" :show-header="false" :cell-style="{border:0 + 'px' }" :row-style="{border:0 + 'px' }" >
<el-table-column label="商品图片" width="50px">
<template slot-scope="scope">
<!-- <el-image style="width: 40px; height: 40px;" :src="scope.row.goodsImg" :preview-src-list="[scope.row.goodsImg]"></el-image>-->
@ -167,9 +172,9 @@
<el-tag size="small" v-if="scope.row.refundStatus === 11">已取消</el-tag>
</template>
</el-table-column>
<el-table-column label="SKU名" align="left" prop="goodsSpec" width="150" :show-overflow-tooltip="true">
<el-table-column label="SKU名" align="left" prop="skuName" width="150" :show-overflow-tooltip="true">
<template slot-scope="scope">
{{ scope.row.goodsSpec }}
{{ scope.row.skuName }}
</template>
</el-table-column>
<el-table-column label="Sku编码" align="left" prop="skuNum" width="200"/>
@ -182,34 +187,36 @@
</el-table>
</template>
</el-table-column>
<!-- <el-table-column label="商品" >-->
<!-- <template slot-scope="scope">-->
<!-- <el-image style="width: 70px; height: 70px;" :src="scope.row.goodsImg"></el-image>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column label="商品标题" align="center" prop="goodsTitle" />-->
<!-- <el-table-column label="商品SKU" align="center" prop="goodsSpec" />-->
<!-- <el-table-column label="数量" align="center" prop="quantity" />-->
<!-- <el-table-column label="SKU编码" align="center" prop="skuNum" />-->
<el-table-column label="创建时间" align="center" prop="orderDate" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column label="状态" align="center" prop="status" width="100">
<template slot-scope="scope">
<el-tag size="small" v-if="scope.row.shipStatus === 1">待发货</el-tag>
<el-tag size="small" v-if="scope.row.shipStatus === 2">已发货</el-tag>
</template>
</el-table-column>
<el-table-column label="操作" align="center" >
<template slot-scope="scope">
<el-button
v-if="scope.row.shipStatus === 0"
v-if="scope.row.shipStatus === 1"
size="mini"
plain
type="primary"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['scm:agentShipping:edit']"
>供应商发货</el-button>
<el-button
v-if="scope.row.status === 1"
size="mini"
type="text"
icon="el-icon-document-checked"
@click="handleDelete(scope.row)"
v-hasPermi="['scm:agentShipping:remove']"
>付款确认</el-button>
<!-- <el-button-->
<!-- v-if="scope.row.status === 1"-->
<!-- size="mini"-->
<!-- type="text"-->
<!-- icon="el-icon-document-checked"-->
<!-- @click="handleDelete(scope.row)"-->
<!-- v-hasPermi="['scm:agentShipping:remove']"-->
<!-- >付款确认</el-button>-->
</template>
</el-table-column>
</el-table>
@ -229,15 +236,15 @@
<el-input v-model="form.orderNum" placeholder="请输入订单编号" disabled/>
</el-form-item>
<el-form-item label="订单日期" prop="orderDate">
<el-date-picker clearable
v-model="form.orderTime"
disabled
type="datetime"
value-format="yyyy-MM-dd HH:mm:ss"
placeholder="请选择订单日期">
</el-date-picker>
</el-form-item>
<!-- <el-form-item label="订单日期" prop="orderDate">-->
<!-- <el-date-picker clearable-->
<!-- v-model="form.orderTime"-->
<!-- disabled-->
<!-- type="datetime"-->
<!-- value-format="yyyy-MM-dd HH:mm:ss"-->
<!-- placeholder="请选择订单日期">-->
<!-- </el-date-picker>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="商品总价" prop="goodsAmount">-->
<!-- <el-input type="number" v-model.number="form.goodsAmount" placeholder="请输入商品总价" />-->
@ -258,9 +265,9 @@
<el-form-item label="物流单号" prop="shipNo">
<el-input v-model="form.shipNo" placeholder="请输入物流单号" />
</el-form-item>
<el-form-item label="运费" prop="shipCost">
<el-input type="number" v-model.number="form.shipCost" placeholder="请输入运费" />
</el-form-item>
<!-- <el-form-item label="运费" prop="shipCost">-->
<!-- <el-input type="number" v-model.number="form.shipCost" placeholder="请输入运费" />-->
<!-- </el-form-item>-->
<el-form-item label="发货时间" prop="shipTime">
<el-date-picker clearable
v-model="form.shipTime"
@ -288,11 +295,13 @@
import { listSupplier} from "@/api/scm/supplier";
import { listShop } from "@/api/shop/shop";
import {listLogistics, listLogisticsStatus} from "@/api/api/logistics";
import {listLogisticsStatus} from "@/api/shipping/logistics";
import {
listShipStockupSupplier
listShipStockupSupplier,supplierShipConfirm
} from "@/api/shipping/shipping";
// import {listShippingSupplier, getShippingDetail, supplierAgentShipment} from "@/api/wms/shipping";
import Clipboard from "clipboard";
export default {
name: "supplierShipment",
data() {
@ -334,7 +343,7 @@ export default {
goodsAmount: [{ required: true, message: '不能为空' }],
shipCompanyId: [{ required: true, message: '不能为空' }],
shipNo: [{ required: true, message: '不能为空' }],
shipCost: [{ required: true, message: '不能为空' }],
// shipCost: [{ required: true, message: '' }],
shipTime: [{ required: true, message: '不能为空' }],
},
supplierLoading:false,
@ -365,6 +374,21 @@ export default {
this.supplierLoading = false;
});
},
copyActiveCode(event,queryParams) {
console.log(queryParams)
const clipboard = new Clipboard(".tag-copy")
clipboard.on('success', e => {
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();
});