完善分配供应商发货功能
This commit is contained in:
parent
87e52e1963
commit
11664f71f4
|
|
@ -0,0 +1,18 @@
|
|||
package cn.qihangerp.common.bo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
@Data
|
||||
public class ShipOrderAllocateShipBo {
|
||||
private String Id;//订单id
|
||||
|
||||
private BigDecimal purAmount;//采购金额
|
||||
private String receiverName;//
|
||||
private String receiverMobile;//
|
||||
private String address;//
|
||||
private String remark;
|
||||
private String buyerMemo;
|
||||
private String sellerMemo;
|
||||
}
|
||||
|
|
@ -883,6 +883,15 @@ CREATE TABLE `o_order_ship_list` (
|
|||
`ship_supplier` varchar(55) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '发货供应商',
|
||||
`order_id` bigint NULL DEFAULT NULL COMMENT 'erp订单id',
|
||||
`order_num` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '订单编号',
|
||||
`receiver_name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '收件人姓名',
|
||||
`receiver_mobile` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '收件人手机号',
|
||||
`address` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '收件人地址',
|
||||
`province` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '省',
|
||||
`city` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '市',
|
||||
`town` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '区',
|
||||
`remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
|
||||
`buyer_memo` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '买家留言信息',
|
||||
`seller_memo` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '卖家留言信息',
|
||||
`ship_logistics_company` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '物流公司',
|
||||
`ship_logistics_company_code` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '物流公司code',
|
||||
`ship_logistics_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '物流单号',
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ package cn.qihangerp.api.order.controller;
|
|||
import cn.qihangerp.common.AjaxResult;
|
||||
import cn.qihangerp.common.PageQuery;
|
||||
import cn.qihangerp.common.TableDataInfo;
|
||||
import cn.qihangerp.common.bo.ShipOrderAllocateShipBo;
|
||||
import cn.qihangerp.common.bo.ShopOrderShipBo;
|
||||
import cn.qihangerp.module.order.service.OOrderItemService;
|
||||
import cn.qihangerp.module.order.service.OOrderService;
|
||||
|
|
@ -129,12 +130,11 @@ public class OrderController extends BaseController
|
|||
* @return
|
||||
*/
|
||||
@PostMapping("/allocateShipmentOrder")
|
||||
public AjaxResult allocateShipmentOrder(@RequestBody ShopOrderShipBo shipBo)
|
||||
public AjaxResult allocateShipmentOrder(@RequestBody ShipOrderAllocateShipBo shipBo)
|
||||
{
|
||||
// var result = orderService.allocateShipmentOrder(shipBo,getUsername());
|
||||
// if(result.getCode() == 0) return AjaxResult.success();
|
||||
// else return AjaxResult.error(result.getMsg());
|
||||
return AjaxResult.error("未实现AAA");
|
||||
var result = orderService.allocateShipmentOrder(shipBo,getUsername());
|
||||
if(result.getCode() == 0) return AjaxResult.success();
|
||||
else return AjaxResult.error(result.getMsg());
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ import org.springframework.web.bind.annotation.*;
|
|||
@AllArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/ship")
|
||||
public class ShipStockupController extends BaseController {
|
||||
public class OrderShipController extends BaseController {
|
||||
private final OOrderShipListService shipStockUpService;
|
||||
private final OOrderShipListItemService shipStockUpItemService;
|
||||
|
||||
|
|
@ -122,7 +122,7 @@ public class OOrder implements Serializable {
|
|||
private Date orderTime;
|
||||
|
||||
/**
|
||||
* 发货类型(0仓库发货;1供应商代发;2联合发货)
|
||||
* 发货类型(0仓库发货;1联合发货;2供应商代发;)
|
||||
*/
|
||||
private Integer shipType;
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -103,6 +103,52 @@ public class OOrderShipList implements Serializable {
|
|||
*/
|
||||
private String updateBy;
|
||||
|
||||
/**
|
||||
* 收件人姓名
|
||||
*/
|
||||
private String receiverName;
|
||||
|
||||
/**
|
||||
* 收件人手机号
|
||||
*/
|
||||
private String receiverMobile;
|
||||
|
||||
/**
|
||||
* 收件人地址
|
||||
*/
|
||||
private String address;
|
||||
|
||||
/**
|
||||
* 省
|
||||
*/
|
||||
private String province;
|
||||
|
||||
/**
|
||||
* 市
|
||||
*/
|
||||
private String city;
|
||||
|
||||
/**
|
||||
* 区
|
||||
*/
|
||||
private String town;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 买家留言信息
|
||||
*/
|
||||
private String buyerMemo;
|
||||
|
||||
/**
|
||||
* 卖家留言信息
|
||||
*/
|
||||
private String sellerMemo;
|
||||
|
||||
|
||||
@TableField(exist = false)
|
||||
private List<OOrderShipListItem> items;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
package cn.qihangerp.module.order.service;
|
||||
|
||||
|
||||
import cn.qihangerp.common.bo.ShipOrderAllocateShipBo;
|
||||
import cn.qihangerp.common.bo.ShopOrderShipBo;
|
||||
import cn.qihangerp.module.order.domain.OOrder;
|
||||
import cn.qihangerp.module.order.domain.OOrderItem;
|
||||
|
|
@ -55,4 +56,12 @@ public interface OOrderService extends IService<OOrder> {
|
|||
* @return
|
||||
*/
|
||||
ResultVo<Integer> manualShipmentOrder(ShopOrderShipBo shipBo, String createBy);
|
||||
|
||||
/**
|
||||
* 分配给供应商发货
|
||||
* @param shipBo
|
||||
* @param createBy
|
||||
* @return
|
||||
*/
|
||||
ResultVo<Integer> allocateShipmentOrder(ShipOrderAllocateShipBo shipBo, String createBy);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,10 +1,15 @@
|
|||
package cn.qihangerp.module.order.service.impl;
|
||||
|
||||
|
||||
import cn.qihangerp.common.bo.ShipOrderAllocateShipBo;
|
||||
import cn.qihangerp.common.bo.ShopOrderShipBo;
|
||||
import cn.qihangerp.domain.OLogisticsCompany;
|
||||
import cn.qihangerp.module.goods.domain.OGoods;
|
||||
import cn.qihangerp.module.goods.domain.OGoodsSku;
|
||||
import cn.qihangerp.module.goods.domain.OGoodsSupplier;
|
||||
import cn.qihangerp.module.goods.mapper.OGoodsMapper;
|
||||
import cn.qihangerp.module.goods.mapper.OGoodsSkuMapper;
|
||||
import cn.qihangerp.module.goods.mapper.OGoodsSupplierMapper;
|
||||
import cn.qihangerp.module.mapper.OLogisticsCompanyMapper;
|
||||
import cn.qihangerp.module.order.domain.*;
|
||||
import cn.qihangerp.module.order.domain.vo.OrderDiscountVo;
|
||||
|
|
@ -33,9 +38,7 @@ import org.springframework.stereotype.Service;
|
|||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.transaction.interceptor.TransactionAspectSupport;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.*;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
|
|
@ -54,6 +57,8 @@ public class OOrderServiceImpl extends ServiceImpl<OOrderMapper, OOrder>
|
|||
private final OOrderItemMapper orderItemMapper;
|
||||
private final OLogisticsCompanyMapper logisticsCompanyMapper;
|
||||
private final OGoodsSkuMapper oGoodsSkuMapper;
|
||||
private final OGoodsMapper oGoodsMapper;
|
||||
private final OGoodsSupplierMapper ogoodsSupplierMapper;
|
||||
|
||||
private final OOrderShipListMapper orderShipListMapper;
|
||||
private final OOrderShipListItemMapper orderShipListItemMapper;
|
||||
|
|
@ -1601,6 +1606,219 @@ public class OOrderServiceImpl extends ServiceImpl<OOrderMapper, OOrder>
|
|||
return ResultVo.success();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultVo<Integer> allocateShipmentOrder(ShipOrderAllocateShipBo shipBo, String createBy) {
|
||||
if (org.springframework.util.StringUtils.isEmpty(shipBo.getId()) || shipBo.getId().equals("0"))
|
||||
return ResultVo.error(ResultVoEnum.ParamsError, "缺少参数:id");
|
||||
|
||||
OOrder erpOrder = orderMapper.selectById(shipBo.getId());
|
||||
if (erpOrder == null) {
|
||||
return ResultVo.error("找不到订单数据");
|
||||
} else if (erpOrder.getOrderStatus().intValue() != 1 && erpOrder.getRefundStatus().intValue() != 1) {
|
||||
return ResultVo.error("订单状态不对,不允许发货");
|
||||
}
|
||||
List<OOrderItem> oOrderItems = orderItemMapper.selectList(new LambdaQueryWrapper<OOrderItem>().eq(OOrderItem::getOrderId, erpOrder.getId()));
|
||||
if(oOrderItems==null) return ResultVo.error("订单 item 数据错误,无法发货!");
|
||||
|
||||
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 = ogoodsSupplierMapper.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);
|
||||
|
||||
// 添加分配发货
|
||||
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.setOrderId(Long.parseLong(erpOrder.getId()));
|
||||
shipList.setOrderNum(erpOrder.getOrderNum());
|
||||
shipList.setStatus(0);
|
||||
shipList.setShipLogisticsCompany("");
|
||||
shipList.setShipLogisticsCompanyCode("");
|
||||
shipList.setShipLogisticsCode("");
|
||||
shipList.setShipStatus(1);
|
||||
shipList.setReceiverName(shipBo.getReceiverName());
|
||||
shipList.setReceiverMobile(shipBo.getReceiverMobile());
|
||||
shipList.setProvince(erpOrder.getProvince());
|
||||
shipList.setCity(erpOrder.getCity());
|
||||
shipList.setTown(erpOrder.getTown());
|
||||
shipList.setAddress(shipBo.getAddress());
|
||||
shipList.setSellerMemo(shipBo.getSellerMemo());
|
||||
shipList.setBuyerMemo(shipBo.getBuyerMemo());
|
||||
shipList.setCreateTime(new Date());
|
||||
shipList.setCreateBy("分配供应商发货");
|
||||
orderShipListMapper.insert(shipList);
|
||||
|
||||
// 遍历 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());
|
||||
listItem.setShopType(erpOrder.getShopType());
|
||||
listItem.setListId(shipList.getId());
|
||||
listItem.setShipper(shipList.getShipper());
|
||||
listItem.setShipSupplier(shipList.getShipSupplier());
|
||||
listItem.setShipSupplierId(shipList.getShipSupplierId());
|
||||
listItem.setOrderId(Long.parseLong(item.getOrderId()));
|
||||
listItem.setOrderItemId(Long.parseLong(item.getId()));
|
||||
listItem.setOrderNum(item.getOrderNum());
|
||||
listItem.setOriginalSkuId(item.getSkuId());
|
||||
listItem.setGoodsId(item.getGoodsId());
|
||||
listItem.setSkuId(item.getGoodsSkuId());
|
||||
listItem.setGoodsTitle(item.getGoodsTitle());
|
||||
listItem.setGoodsImg(item.getGoodsImg());
|
||||
listItem.setGoodsNum(item.getGoodsNum());
|
||||
listItem.setSkuName(item.getGoodsSpec());
|
||||
listItem.setSkuNum(item.getSkuNum());
|
||||
listItem.setQuantity(item.getQuantity());
|
||||
listItem.setStatus(0);//状态0待备货1备货中2备货完成3已发货
|
||||
listItem.setCreateBy("分配供应商发货");
|
||||
listItem.setCreateTime(new Date());
|
||||
orderShipListItemMapper.insert(listItem);
|
||||
|
||||
// 更新订单item发货状态
|
||||
OOrderItem orderItemUpdate = new OOrderItem();
|
||||
orderItemUpdate.setId( item.getId());
|
||||
orderItemUpdate.setUpdateBy("分配供应商发货");
|
||||
orderItemUpdate.setUpdateTime(new Date());
|
||||
orderItemUpdate.setShipStatus(0);//发货状态 0 待发货 1 已发货
|
||||
orderItemUpdate.setShipType(1);//发货方式 0 自己发货1供应商发货2联合发货
|
||||
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.setShipStatus(1);
|
||||
update.setShipType(2);//发发货方式 0 自己发货1联合发货2供应商发货
|
||||
update.setUpdateTime(new Date());
|
||||
update.setUpdateBy("分配供应商发货");
|
||||
orderMapper.updateById(update);
|
||||
|
||||
return ResultVo.success();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -22,6 +22,15 @@
|
|||
<result property="createBy" column="create_by" jdbcType="VARCHAR"/>
|
||||
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
|
||||
<result property="updateBy" column="update_by" jdbcType="VARCHAR"/>
|
||||
<result property="receiverName" column="receiver_name" jdbcType="VARCHAR"/>
|
||||
<result property="receiverMobile" column="receiver_mobile" jdbcType="VARCHAR"/>
|
||||
<result property="address" column="address" jdbcType="VARCHAR"/>
|
||||
<result property="province" column="province" jdbcType="VARCHAR"/>
|
||||
<result property="city" column="city" jdbcType="VARCHAR"/>
|
||||
<result property="town" column="town" jdbcType="VARCHAR"/>
|
||||
<result property="remark" column="remark" jdbcType="VARCHAR"/>
|
||||
<result property="buyerMemo" column="buyer_memo" jdbcType="VARCHAR"/>
|
||||
<result property="sellerMemo" column="seller_memo" jdbcType="VARCHAR"/>
|
||||
</resultMap>
|
||||
|
||||
<sql id="Base_Column_List">
|
||||
|
|
@ -30,6 +39,7 @@
|
|||
order_id,order_num,ship_logistics_company,
|
||||
ship_logistics_company_code,ship_logistics_code,ship_status,
|
||||
status,create_time,create_by,
|
||||
update_time,update_by
|
||||
update_time,update_by,receiver_name,receiver_mobile,address,
|
||||
province,city,town,remark,buyer_memo,seller_memo
|
||||
</sql>
|
||||
</mapper>
|
||||
|
|
|
|||
|
|
@ -298,7 +298,6 @@
|
|||
<el-table :data="form.itemVoList" style="margin-bottom: 10px;">
|
||||
<!-- <el-table-column type="selection" width="50" align="center" /> -->
|
||||
<el-table-column label="序号" align="center" type="index" width="50"/>
|
||||
|
||||
<el-table-column label="商品图片" prop="goodsImg" width="80">
|
||||
<template slot-scope="scope">
|
||||
<el-image style="width: 70px; height: 70px" :src="scope.row.goodsImg"></el-image>
|
||||
|
|
@ -345,12 +344,76 @@
|
|||
<el-button @click="cancel">取 消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<!-- 分配给供应商发货对话框 -->
|
||||
<el-dialog title="分配给供应商发货" :visible.sync="allocateShipmentOpen" width="1100px" append-to-body>
|
||||
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="80px" >
|
||||
<el-descriptions title="订单信息">
|
||||
<el-descriptions-item label="订单号">{{form.orderNum}}</el-descriptions-item>
|
||||
|
||||
<el-descriptions-item label="买家留言">
|
||||
{{form.buyerMemo}}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="卖家留言">
|
||||
{{form.sellerMemo}}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="创建时间">
|
||||
{{ parseTime(form.createTime) }}
|
||||
</el-descriptions-item>
|
||||
|
||||
|
||||
<el-descriptions-item label="收件人姓名">{{form.receiverName}}</el-descriptions-item>
|
||||
<el-descriptions-item label="收件人手机号">{{form.receiverMobile}}</el-descriptions-item>
|
||||
<el-descriptions-item label="省市区">{{form.province}}{{form.city}}{{form.town}}</el-descriptions-item>
|
||||
<el-descriptions-item label="详细地址">{{form.address}}</el-descriptions-item>
|
||||
|
||||
|
||||
|
||||
</el-descriptions>
|
||||
|
||||
<el-divider content-position="center">商品明细</el-divider>
|
||||
<el-table :data="form.itemVoList" style="margin-bottom: 10px;">
|
||||
<!-- <el-table-column type="selection" width="50" align="center" /> -->
|
||||
<el-table-column label="序号" align="center" type="index" width="50"/>
|
||||
|
||||
<el-table-column label="商品图片" prop="goodsImg" width="80">
|
||||
<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="商品标题" prop="goodsTitle" ></el-table-column>
|
||||
<el-table-column label="SKU" prop="goodsSpec" width="150"></el-table-column>
|
||||
<el-table-column label="sku编码" prop="skuNum"></el-table-column>
|
||||
<!-- <el-table-column label="单价" prop="goodsPrice"></el-table-column>-->
|
||||
<el-table-column label="数量" prop="quantity"></el-table-column>
|
||||
<!-- <el-table-column label="商品金额" prop="itemAmount"></el-table-column> -->
|
||||
</el-table>
|
||||
<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-form-item>
|
||||
<el-form-item label="详细地址" prop="address">
|
||||
<el-input v-model="form.address" placeholder="请输入详细地址" style="width:300px" />
|
||||
</el-form-item>
|
||||
<el-form-item label="买家留言" prop="buyerMemo">
|
||||
<el-input type="textarea" v-model="form.buyerMemo" placeholder="请输入买家留言" style="width:300px" />
|
||||
</el-form-item>
|
||||
<el-form-item label="卖家留言" prop="sellerMemo">
|
||||
<el-input type="textarea" v-model="form.sellerMemo" placeholder="请输入卖家留言" style="width:300px" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="submitAllocateShipmentForm">分配给供应商发货</el-button>
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {listOrder, getOrder,manualShipmentOrder} from "@/api/order/order";
|
||||
import {listOrder, getOrder,manualShipmentOrder,allocateShipmentOrder} from "@/api/order/order";
|
||||
import {listLogisticsStatus, listShop} from "@/api/shop/shop";
|
||||
import Clipboard from "clipboard";
|
||||
|
||||
|
|
@ -382,7 +445,7 @@ export default {
|
|||
detailTitle:'订单详情',
|
||||
detailOpen:false,
|
||||
shipOpen:false,
|
||||
isAudit:false,
|
||||
allocateShipmentOpen:false,
|
||||
activeName: 'orderDetail',
|
||||
orderTime: null,
|
||||
// 查询参数
|
||||
|
|
@ -417,6 +480,9 @@ export default {
|
|||
shippingNumber: [{ required: true, message: '不能为空' }],
|
||||
shippingCompany: [{ required: true, message: '不能为空' }],
|
||||
shippingCost: [{ required: true, message: '不能为空' }],
|
||||
receiverName: [{ required: true, message: '不能为空' }],
|
||||
receiverMobile: [{ required: true, message: '不能为空' }],
|
||||
address: [{ required: true, message: '不能为空' }],
|
||||
}
|
||||
};
|
||||
},
|
||||
|
|
@ -537,6 +603,34 @@ export default {
|
|||
}
|
||||
})
|
||||
},
|
||||
// 分配给供应商发货
|
||||
allocateShipmentToSupplier(row){
|
||||
this.reset();
|
||||
const id = row.id || this.ids
|
||||
console.log('======',id)
|
||||
getOrder(id).then(response => {
|
||||
this.form = response.data;
|
||||
this.allocateShipmentOpen = true;
|
||||
// this.detailTitle = "订单详情";
|
||||
});
|
||||
},
|
||||
// 分配给供应商发货
|
||||
submitAllocateShipmentForm(){
|
||||
this.$refs["form"].validate(valid => {
|
||||
if (valid) {
|
||||
allocateShipmentOrder(this.form).then(resp =>{
|
||||
if(resp.code==200){
|
||||
this.$modal.msgSuccess("分配发货成功");
|
||||
this.allocateShipmentOpen = false
|
||||
this.getList()
|
||||
}else{
|
||||
this.$modal.msgError(resp.msg);
|
||||
}
|
||||
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
|
|
|||
Loading…
Reference in New Issue