Przeglądaj źródła

Merge remote-tracking branch 'origin/master'

lucky 2 miesięcy temu
rodzic
commit
cf86353fa0

+ 104 - 0
zkqy-custom-business/src/main/java/com/zkqy/business/controller/LogSaleOrderController.java

@@ -0,0 +1,104 @@
+package com.zkqy.business.controller;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.zkqy.common.annotation.Log;
+import com.zkqy.common.core.controller.BaseController;
+import com.zkqy.common.core.domain.AjaxResult;
+import com.zkqy.common.enums.BusinessType;
+import com.zkqy.business.domain.LogSaleOrder;
+import com.zkqy.business.service.ILogSaleOrderService;
+import com.zkqy.common.utils.poi.ExcelUtil;
+import com.zkqy.common.core.page.TableDataInfo;
+
+/**
+ * 销售订单日志Controller
+ * 
+ * @author ruoyi
+ * @date 2025-05-19
+ */
+@RestController
+@RequestMapping("/logOrder/logOrder")
+public class LogSaleOrderController extends BaseController
+{
+    @Autowired
+    private ILogSaleOrderService logSaleOrderService;
+
+    /**
+     * 查询销售订单日志列表
+     */
+    @PreAuthorize("@ss.hasPermi('logOrder:logOrder:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(LogSaleOrder logSaleOrder)
+    {
+        startPage();
+        List<LogSaleOrder> list = logSaleOrderService.selectLogSaleOrderList(logSaleOrder);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出销售订单日志列表
+     */
+    @PreAuthorize("@ss.hasPermi('logOrder:logOrder:export')")
+    @Log(title = "销售订单日志", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, LogSaleOrder logSaleOrder)
+    {
+        List<LogSaleOrder> list = logSaleOrderService.selectLogSaleOrderList(logSaleOrder);
+        ExcelUtil<LogSaleOrder> util = new ExcelUtil<LogSaleOrder>(LogSaleOrder.class);
+        util.exportExcel(response, list, "销售订单日志数据");
+    }
+
+    /**
+     * 获取销售订单日志详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('logOrder:logOrder:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(logSaleOrderService.selectLogSaleOrderById(id));
+    }
+
+    /**
+     * 新增销售订单日志
+     */
+    @PreAuthorize("@ss.hasPermi('logOrder:logOrder:add')")
+    @Log(title = "销售订单日志", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody LogSaleOrder logSaleOrder)
+    {
+        return toAjax(logSaleOrderService.insertLogSaleOrder(logSaleOrder));
+    }
+
+    /**
+     * 修改销售订单日志
+     */
+    @PreAuthorize("@ss.hasPermi('logOrder:logOrder:edit')")
+    @Log(title = "销售订单日志", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody LogSaleOrder logSaleOrder)
+    {
+        return toAjax(logSaleOrderService.updateLogSaleOrder(logSaleOrder));
+    }
+
+    /**
+     * 删除销售订单日志
+     */
+    @PreAuthorize("@ss.hasPermi('logOrder:logOrder:remove')")
+    @Log(title = "销售订单日志", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(logSaleOrderService.deleteLogSaleOrderByIds(ids));
+    }
+}

+ 565 - 0
zkqy-custom-business/src/main/java/com/zkqy/business/domain/LogSaleOrder.java

@@ -0,0 +1,565 @@
+package com.zkqy.business.domain;
+
+import java.util.Date;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.zkqy.common.annotation.Excel;
+import com.zkqy.common.core.domain.BaseEntity;
+import org.springframework.format.annotation.DateTimeFormat;
+
+/**
+ * 销售订单日志对象 log_sale_order
+ * 
+ * @author ruoyi
+ * @date 2025-05-19
+ */
+public class LogSaleOrder extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 主键 */
+    private Long id;
+
+    /** 销售编号(合同号) */
+    @Excel(name = "销售编号", readConverterExp = "合=同号")
+    private String saleNo;
+
+    /** 客户编号 */
+    @Excel(name = "客户编号")
+    private String saleCustomNo;
+
+    /** 销售单日期 */
+    @Excel(name = "销售单日期")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private String saleDate;
+
+    /** 预计下单时间(未使用) */
+    @Excel(name = "预计下单时间", readConverterExp = "未=使用")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date saleEstimatedTime;
+
+    /** 交货天数 */
+    @Excel(name = "交货天数")
+    private String saleLeadTime;
+
+    /** 订单销售产品集合编号 */
+    @Excel(name = "订单销售产品集合编号")
+    private String saleProductsNo;
+
+    /** 合计金额(小写)(未使用) */
+    @Excel(name = "合计金额", readConverterExp = "小=写")
+    private Long saleAmounts;
+
+    /** 合计金额(大写) */
+    @Excel(name = "合计金额", readConverterExp = "大=写")
+    private String saleAmountInWords;
+
+    /** 付款方式 */
+    @Excel(name = "付款方式")
+    private String salePayType;
+
+    /** 预计下单时间 */
+    @Excel(name = "预计下单时间")
+    private String saleOrderEstimatedTime;
+
+    /** 订单工艺要求编号 */
+    @Excel(name = "订单工艺要求编号")
+    private String saleOrderTechnologyNo;
+
+    /** 业务员 */
+    @Excel(name = "业务员")
+    private String salesman;
+
+    /** 业务主管 */
+    @Excel(name = "业务主管")
+    private String saleLeader;
+
+    /** 财务部 */
+    @Excel(name = "财务部")
+    private String finance;
+
+    /** 生产部 */
+    @Excel(name = "生产部")
+    private String production;
+
+    /** 批准人 */
+    @Excel(name = "批准人")
+    private String saleApprover;
+
+    /** 状态1:未提交 、2:审批中 、3:待生产 、4:生产中 、5:待出库 、6:已完成 、7:未通过 、8:审批中 、9:已出库 、100:待发货 */
+    @Excel(name = "状态1:未提交 、2:审批中 、3:待生产 、4:生产中 、5:待出库 、6:已完成 、7:未通过 、8:审批中 、9:已出库 、100:待发货")
+    private String status;
+
+    /** 订单类型 */
+    @Excel(name = "订单类型")
+    private String orderType;
+
+    /** 创建者id */
+    @Excel(name = "创建者id")
+    private Long createById;
+
+    @Override
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    @Override
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date createTime;
+    /** 更新者id */
+    @Excel(name = "更新者id")
+    private Long updateById;
+
+    @Override
+    public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    @Override
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date updateTime;
+
+    /** 删除标志(0代表存在 2代表删除) */
+    private String delFlag;
+
+    /** 任务编码 */
+    @Excel(name = "任务编码")
+    private String taskProcessKey;
+
+    /** 任务节点编码 */
+    @Excel(name = "任务节点编码")
+    private String taskNodeKey;
+
+    /** 流程编码 */
+    @Excel(name = "流程编码")
+    private String processKey;
+
+    /** 定金 */
+    @Excel(name = "定金")
+    private String earnestMoney;
+
+    /** 交货日期 */
+    @Excel(name = "交货日期")
+    private String deliveryDate;
+
+    /** 批号 */
+    @Excel(name = "批号")
+    private String lotNumber;
+
+    /** 完成时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "完成时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date completionTime;
+
+    /** 加工单位 */
+    @Excel(name = "加工单位")
+    private String processingUnit;
+
+    /** 联系人 */
+    @Excel(name = "联系人")
+    private String contactPerson;
+
+    /** 地址 */
+    @Excel(name = "地址")
+    private String address;
+
+    /** 领料类型 */
+    @Excel(name = "领料类型")
+    private String materialType;
+
+    /** 外协订单付款方式 */
+    @Excel(name = "外协订单付款方式")
+    private String outsourceSalePayType;
+
+    /** 当前订单老库存出库标识2 */
+    @Excel(name = "当前订单老库存出库标识2")
+    private String oldInventoryState;
+
+    /** 货品明细json */
+    @Excel(name = "货品明细json")
+    private String orderdetails;
+
+    public void setId(Long id) 
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+    public void setSaleNo(String saleNo) 
+    {
+        this.saleNo = saleNo;
+    }
+
+    public String getSaleNo() 
+    {
+        return saleNo;
+    }
+    public void setSaleCustomNo(String saleCustomNo) 
+    {
+        this.saleCustomNo = saleCustomNo;
+    }
+
+    public String getSaleCustomNo() 
+    {
+        return saleCustomNo;
+    }
+    public void setSaleDate(String saleDate) 
+    {
+        this.saleDate = saleDate;
+    }
+
+    public String getSaleDate() 
+    {
+        return saleDate;
+    }
+    public void setSaleEstimatedTime(Date saleEstimatedTime)
+    {
+        this.saleEstimatedTime = saleEstimatedTime;
+    }
+
+    public Date getSaleEstimatedTime()
+    {
+        return saleEstimatedTime;
+    }
+    public void setSaleLeadTime(String saleLeadTime) 
+    {
+        this.saleLeadTime = saleLeadTime;
+    }
+
+    public String getSaleLeadTime() 
+    {
+        return saleLeadTime;
+    }
+    public void setSaleProductsNo(String saleProductsNo) 
+    {
+        this.saleProductsNo = saleProductsNo;
+    }
+
+    public String getSaleProductsNo() 
+    {
+        return saleProductsNo;
+    }
+    public void setSaleAmounts(Long saleAmounts) 
+    {
+        this.saleAmounts = saleAmounts;
+    }
+
+    public Long getSaleAmounts() 
+    {
+        return saleAmounts;
+    }
+    public void setSaleAmountInWords(String saleAmountInWords) 
+    {
+        this.saleAmountInWords = saleAmountInWords;
+    }
+
+    public String getSaleAmountInWords() 
+    {
+        return saleAmountInWords;
+    }
+    public void setSalePayType(String salePayType) 
+    {
+        this.salePayType = salePayType;
+    }
+
+    public String getSalePayType() 
+    {
+        return salePayType;
+    }
+    public void setSaleOrderEstimatedTime(String saleOrderEstimatedTime) 
+    {
+        this.saleOrderEstimatedTime = saleOrderEstimatedTime;
+    }
+
+    public String getSaleOrderEstimatedTime() 
+    {
+        return saleOrderEstimatedTime;
+    }
+    public void setSaleOrderTechnologyNo(String saleOrderTechnologyNo) 
+    {
+        this.saleOrderTechnologyNo = saleOrderTechnologyNo;
+    }
+
+    public String getSaleOrderTechnologyNo() 
+    {
+        return saleOrderTechnologyNo;
+    }
+    public void setSalesman(String salesman) 
+    {
+        this.salesman = salesman;
+    }
+
+    public String getSalesman() 
+    {
+        return salesman;
+    }
+    public void setSaleLeader(String saleLeader) 
+    {
+        this.saleLeader = saleLeader;
+    }
+
+    public String getSaleLeader() 
+    {
+        return saleLeader;
+    }
+    public void setFinance(String finance) 
+    {
+        this.finance = finance;
+    }
+
+    public String getFinance() 
+    {
+        return finance;
+    }
+    public void setProduction(String production) 
+    {
+        this.production = production;
+    }
+
+    public String getProduction() 
+    {
+        return production;
+    }
+    public void setSaleApprover(String saleApprover) 
+    {
+        this.saleApprover = saleApprover;
+    }
+
+    public String getSaleApprover() 
+    {
+        return saleApprover;
+    }
+    public void setStatus(String status) 
+    {
+        this.status = status;
+    }
+
+    public String getStatus() 
+    {
+        return status;
+    }
+    public void setOrderType(String orderType) 
+    {
+        this.orderType = orderType;
+    }
+
+    public String getOrderType() 
+    {
+        return orderType;
+    }
+    public void setCreateById(Long createById) 
+    {
+        this.createById = createById;
+    }
+
+    public Long getCreateById() 
+    {
+        return createById;
+    }
+    public void setUpdateById(Long updateById) 
+    {
+        this.updateById = updateById;
+    }
+
+    public Long getUpdateById() 
+    {
+        return updateById;
+    }
+    public void setDelFlag(String delFlag) 
+    {
+        this.delFlag = delFlag;
+    }
+
+    public String getDelFlag() 
+    {
+        return delFlag;
+    }
+    public void setTaskProcessKey(String taskProcessKey) 
+    {
+        this.taskProcessKey = taskProcessKey;
+    }
+
+    public String getTaskProcessKey() 
+    {
+        return taskProcessKey;
+    }
+    public void setTaskNodeKey(String taskNodeKey) 
+    {
+        this.taskNodeKey = taskNodeKey;
+    }
+
+    public String getTaskNodeKey() 
+    {
+        return taskNodeKey;
+    }
+    public void setProcessKey(String processKey) 
+    {
+        this.processKey = processKey;
+    }
+
+    public String getProcessKey() 
+    {
+        return processKey;
+    }
+    public void setEarnestMoney(String earnestMoney) 
+    {
+        this.earnestMoney = earnestMoney;
+    }
+
+    public String getEarnestMoney() 
+    {
+        return earnestMoney;
+    }
+    public void setDeliveryDate(String deliveryDate) 
+    {
+        this.deliveryDate = deliveryDate;
+    }
+
+    public String getDeliveryDate() 
+    {
+        return deliveryDate;
+    }
+    public void setLotNumber(String lotNumber) 
+    {
+        this.lotNumber = lotNumber;
+    }
+
+    public String getLotNumber() 
+    {
+        return lotNumber;
+    }
+    public void setCompletionTime(Date completionTime)
+    {
+        this.completionTime = completionTime;
+    }
+
+    public Date getCompletionTime()
+    {
+        return completionTime;
+    }
+    public void setProcessingUnit(String processingUnit) 
+    {
+        this.processingUnit = processingUnit;
+    }
+
+    public String getProcessingUnit() 
+    {
+        return processingUnit;
+    }
+    public void setContactPerson(String contactPerson) 
+    {
+        this.contactPerson = contactPerson;
+    }
+
+    public String getContactPerson() 
+    {
+        return contactPerson;
+    }
+    public void setAddress(String address) 
+    {
+        this.address = address;
+    }
+
+    public String getAddress() 
+    {
+        return address;
+    }
+    public void setMaterialType(String materialType) 
+    {
+        this.materialType = materialType;
+    }
+
+    public String getMaterialType() 
+    {
+        return materialType;
+    }
+    public void setOutsourceSalePayType(String outsourceSalePayType) 
+    {
+        this.outsourceSalePayType = outsourceSalePayType;
+    }
+
+    public String getOutsourceSalePayType() 
+    {
+        return outsourceSalePayType;
+    }
+    public void setOldInventoryState(String oldInventoryState) 
+    {
+        this.oldInventoryState = oldInventoryState;
+    }
+
+    public String getOldInventoryState() 
+    {
+        return oldInventoryState;
+    }
+    public void setOrderdetails(String orderdetails) 
+    {
+        this.orderdetails = orderdetails;
+    }
+
+    public String getOrderdetails() 
+    {
+        return orderdetails;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("saleNo", getSaleNo())
+            .append("saleCustomNo", getSaleCustomNo())
+            .append("saleDate", getSaleDate())
+            .append("saleEstimatedTime", getSaleEstimatedTime())
+            .append("saleLeadTime", getSaleLeadTime())
+            .append("saleProductsNo", getSaleProductsNo())
+            .append("saleAmounts", getSaleAmounts())
+            .append("saleAmountInWords", getSaleAmountInWords())
+            .append("salePayType", getSalePayType())
+            .append("saleOrderEstimatedTime", getSaleOrderEstimatedTime())
+            .append("saleOrderTechnologyNo", getSaleOrderTechnologyNo())
+            .append("salesman", getSalesman())
+            .append("saleLeader", getSaleLeader())
+            .append("finance", getFinance())
+            .append("production", getProduction())
+            .append("saleApprover", getSaleApprover())
+            .append("status", getStatus())
+            .append("orderType", getOrderType())
+            .append("remark", getRemark())
+            .append("createById", getCreateById())
+            .append("createBy", getCreateBy())
+            .append("createTime", getCreateTime())
+            .append("updateById", getUpdateById())
+            .append("updateBy", getUpdateBy())
+            .append("updateTime", getUpdateTime())
+            .append("delFlag", getDelFlag())
+            .append("taskProcessKey", getTaskProcessKey())
+            .append("taskNodeKey", getTaskNodeKey())
+            .append("processKey", getProcessKey())
+            .append("earnestMoney", getEarnestMoney())
+            .append("deliveryDate", getDeliveryDate())
+            .append("lotNumber", getLotNumber())
+            .append("completionTime", getCompletionTime())
+            .append("processingUnit", getProcessingUnit())
+            .append("contactPerson", getContactPerson())
+            .append("address", getAddress())
+            .append("materialType", getMaterialType())
+            .append("outsourceSalePayType", getOutsourceSalePayType())
+            .append("oldInventoryState", getOldInventoryState())
+            .append("orderdetails", getOrderdetails())
+            .toString();
+    }
+}

+ 61 - 0
zkqy-custom-business/src/main/java/com/zkqy/business/mapper/LogSaleOrderMapper.java

@@ -0,0 +1,61 @@
+package com.zkqy.business.mapper;
+
+import java.util.List;
+import com.zkqy.business.domain.LogSaleOrder;
+
+/**
+ * 销售订单日志Mapper接口
+ * 
+ * @author ruoyi
+ * @date 2025-05-19
+ */
+public interface LogSaleOrderMapper 
+{
+    /**
+     * 查询销售订单日志
+     * 
+     * @param id 销售订单日志主键
+     * @return 销售订单日志
+     */
+    public LogSaleOrder selectLogSaleOrderById(Long id);
+
+    /**
+     * 查询销售订单日志列表
+     * 
+     * @param logSaleOrder 销售订单日志
+     * @return 销售订单日志集合
+     */
+    public List<LogSaleOrder> selectLogSaleOrderList(LogSaleOrder logSaleOrder);
+
+    /**
+     * 新增销售订单日志
+     * 
+     * @param logSaleOrder 销售订单日志
+     * @return 结果
+     */
+    public int insertLogSaleOrder(LogSaleOrder logSaleOrder);
+
+    /**
+     * 修改销售订单日志
+     * 
+     * @param logSaleOrder 销售订单日志
+     * @return 结果
+     */
+    public int updateLogSaleOrder(LogSaleOrder logSaleOrder);
+
+    /**
+     * 删除销售订单日志
+     * 
+     * @param id 销售订单日志主键
+     * @return 结果
+     */
+    public int deleteLogSaleOrderById(Long id);
+
+    /**
+     * 批量删除销售订单日志
+     * 
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteLogSaleOrderByIds(Long[] ids);
+}

+ 61 - 0
zkqy-custom-business/src/main/java/com/zkqy/business/service/ILogSaleOrderService.java

@@ -0,0 +1,61 @@
+package com.zkqy.business.service;
+
+import java.util.List;
+import com.zkqy.business.domain.LogSaleOrder;
+
+/**
+ * 销售订单日志Service接口
+ * 
+ * @author ruoyi
+ * @date 2025-05-19
+ */
+public interface ILogSaleOrderService 
+{
+    /**
+     * 查询销售订单日志
+     * 
+     * @param id 销售订单日志主键
+     * @return 销售订单日志
+     */
+    public LogSaleOrder selectLogSaleOrderById(Long id);
+
+    /**
+     * 查询销售订单日志列表
+     * 
+     * @param logSaleOrder 销售订单日志
+     * @return 销售订单日志集合
+     */
+    public List<LogSaleOrder> selectLogSaleOrderList(LogSaleOrder logSaleOrder);
+
+    /**
+     * 新增销售订单日志
+     * 
+     * @param logSaleOrder 销售订单日志
+     * @return 结果
+     */
+    public int insertLogSaleOrder(LogSaleOrder logSaleOrder);
+
+    /**
+     * 修改销售订单日志
+     * 
+     * @param logSaleOrder 销售订单日志
+     * @return 结果
+     */
+    public int updateLogSaleOrder(LogSaleOrder logSaleOrder);
+
+    /**
+     * 批量删除销售订单日志
+     * 
+     * @param ids 需要删除的销售订单日志主键集合
+     * @return 结果
+     */
+    public int deleteLogSaleOrderByIds(Long[] ids);
+
+    /**
+     * 删除销售订单日志信息
+     * 
+     * @param id 销售订单日志主键
+     * @return 结果
+     */
+    public int deleteLogSaleOrderById(Long id);
+}

+ 121 - 0
zkqy-custom-business/src/main/java/com/zkqy/business/service/impl/LogSaleOrderServiceImpl.java

@@ -0,0 +1,121 @@
+package com.zkqy.business.service.impl;
+
+import java.util.List;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.zkqy.business.domain.SaleProducts;
+import com.zkqy.business.service.ISaleProductsService;
+import com.zkqy.common.utils.DateUtils;
+import com.zkqy.common.utils.SecurityUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.zkqy.business.mapper.LogSaleOrderMapper;
+import com.zkqy.business.domain.LogSaleOrder;
+import com.zkqy.business.service.ILogSaleOrderService;
+
+/**
+ * 销售订单日志Service业务层处理
+ * 
+ * @author ruoyi
+ * @date 2025-05-19
+ */
+@Service
+public class LogSaleOrderServiceImpl implements ILogSaleOrderService 
+{
+    @Autowired
+    private LogSaleOrderMapper logSaleOrderMapper;
+
+    @Autowired
+    private ISaleProductsService saleProductsService;
+    /**
+     * 查询销售订单日志
+     * 
+     * @param id 销售订单日志主键
+     * @return 销售订单日志
+     */
+    @Override
+    public LogSaleOrder selectLogSaleOrderById(Long id)
+    {
+        return logSaleOrderMapper.selectLogSaleOrderById(id);
+    }
+
+    /**
+     * 查询销售订单日志列表
+     * 
+     * @param logSaleOrder 销售订单日志
+     * @return 销售订单日志
+     */
+    @Override
+    public List<LogSaleOrder> selectLogSaleOrderList(LogSaleOrder logSaleOrder)
+    {
+        return logSaleOrderMapper.selectLogSaleOrderList(logSaleOrder);
+    }
+
+    /**
+     * 新增销售订单日志
+     * 
+     * @param logSaleOrder 销售订单日志
+     * @return 结果
+     */
+    @Override
+    public int insertLogSaleOrder(LogSaleOrder logSaleOrder)
+    {
+        logSaleOrder.setCreateTime(DateUtils.getNowDate());
+        logSaleOrder.setUpdateById(SecurityUtils.getUserId());
+        logSaleOrder.setUpdateBy(SecurityUtils.getUsername());
+        logSaleOrder.setUpdateTime(DateUtils.getNowDate());
+        //查询销售产品列表
+        SaleProducts saleProducts = new SaleProducts();
+        saleProducts.setSaleOrderNo(logSaleOrder.getSaleNo());
+        List<SaleProducts> list = saleProductsService.selectSaleProductsList(saleProducts);
+        ObjectMapper objectMapper = new ObjectMapper();
+        String s = null;
+        if(list.size()>0){
+            try {
+                s = objectMapper.writeValueAsString(list);
+            } catch (JsonProcessingException e) {
+                throw new RuntimeException(e);
+            }
+            logSaleOrder.setOrderdetails(s);
+        }
+        return logSaleOrderMapper.insertLogSaleOrder(logSaleOrder);
+    }
+
+    /**
+     * 修改销售订单日志
+     * 
+     * @param logSaleOrder 销售订单日志
+     * @return 结果
+     */
+    @Override
+    public int updateLogSaleOrder(LogSaleOrder logSaleOrder)
+    {
+        logSaleOrder.setUpdateTime(DateUtils.getNowDate());
+        return logSaleOrderMapper.updateLogSaleOrder(logSaleOrder);
+    }
+
+    /**
+     * 批量删除销售订单日志
+     * 
+     * @param ids 需要删除的销售订单日志主键
+     * @return 结果
+     */
+    @Override
+    public int deleteLogSaleOrderByIds(Long[] ids)
+    {
+        return logSaleOrderMapper.deleteLogSaleOrderByIds(ids);
+    }
+
+    /**
+     * 删除销售订单日志信息
+     * 
+     * @param id 销售订单日志主键
+     * @return 结果
+     */
+    @Override
+    public int deleteLogSaleOrderById(Long id)
+    {
+        return logSaleOrderMapper.deleteLogSaleOrderById(id);
+    }
+}

+ 334 - 0
zkqy-custom-business/src/main/resources/mapper/business/LogSaleOrderMapper.xml

@@ -0,0 +1,334 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.zkqy.business.mapper.LogSaleOrderMapper">
+    
+    <resultMap type="com.zkqy.business.domain.LogSaleOrder" id="LogSaleOrderResult">
+        <result property="id"    column="id"    />
+        <result property="saleNo"    column="sale_no"    />
+        <result property="saleCustomNo"    column="sale_custom_no"    />
+        <result property="saleDate"    column="sale_date"    />
+        <result property="saleEstimatedTime"    column="sale_estimated_time"    />
+        <result property="saleLeadTime"    column="sale_lead_time"    />
+        <result property="saleProductsNo"    column="sale_products_no"    />
+        <result property="saleAmounts"    column="sale_amounts"    />
+        <result property="saleAmountInWords"    column="sale_amount_in_words"    />
+        <result property="salePayType"    column="sale_pay_type"    />
+        <result property="saleOrderEstimatedTime"    column="sale_order_estimated_time"    />
+        <result property="saleOrderTechnologyNo"    column="sale_order_technology_no"    />
+        <result property="salesman"    column="salesman"    />
+        <result property="saleLeader"    column="sale_leader"    />
+        <result property="finance"    column="finance"    />
+        <result property="production"    column="production"    />
+        <result property="saleApprover"    column="sale_approver"    />
+        <result property="status"    column="status"    />
+        <result property="orderType"    column="order_type"    />
+        <result property="remark"    column="remark"    />
+        <result property="createById"    column="create_by_id"    />
+        <result property="createBy"    column="create_by"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="updateById"    column="update_by_id"    />
+        <result property="updateBy"    column="update_by"    />
+        <result property="updateTime"    column="update_time"    />
+        <result property="delFlag"    column="del_flag"    />
+        <result property="taskProcessKey"    column="task_process_key"    />
+        <result property="taskNodeKey"    column="task_node_key"    />
+        <result property="processKey"    column="process_key"    />
+        <result property="earnestMoney"    column="earnest_money"    />
+        <result property="deliveryDate"    column="delivery_date"    />
+        <result property="lotNumber"    column="lot_number"    />
+        <result property="completionTime"    column="completion_time"    />
+        <result property="processingUnit"    column="processing_unit"    />
+        <result property="contactPerson"    column="contact_person"    />
+        <result property="address"    column="address"    />
+        <result property="materialType"    column="material_type"    />
+        <result property="outsourceSalePayType"    column="outsource_sale_pay_type"    />
+        <result property="oldInventoryState"    column="old_inventory_state"    />
+        <result property="orderdetails"    column="orderdetails"    />
+    </resultMap>
+
+    <sql id="selectLogSaleOrderVo">
+        select id, sale_no, sale_custom_no, sale_date, sale_estimated_time, sale_lead_time, sale_products_no, sale_amounts, sale_amount_in_words, sale_pay_type, sale_order_estimated_time, sale_order_technology_no, salesman, sale_leader, finance, production, sale_approver, status, order_type, remark, create_by_id, create_by, create_time, update_by_id, update_by, update_time, del_flag, task_process_key, task_node_key, process_key, earnest_money, delivery_date, lot_number, completion_time, processing_unit, contact_person, address, material_type, outsource_sale_pay_type, old_inventory_state, orderdetails from {DBNAME}.log_sale_order
+    </sql>
+
+    <select id="selectLogSaleOrderList" parameterType="com.zkqy.business.domain.LogSaleOrder" resultMap="LogSaleOrderResult">
+        SELECT
+        so.id,
+        so.sale_no,
+        c.custom_name as sale_custom_no,
+        so.sale_date,
+        so.sale_estimated_time,
+        so.sale_lead_time,
+        so.sale_products_no,
+        so.sale_amounts,
+        so.sale_amount_in_words,
+        so.sale_pay_type,
+        so.sale_order_estimated_time,
+        so.sale_order_technology_no,
+        so.salesman,
+        so.sale_leader,
+        so.finance,
+        so.production,
+        so.sale_approver,
+        so.STATUS,
+        so.order_type,
+        so.remark,
+        so.create_by_id,
+        so.create_by,
+        so.create_time,
+        so.update_by_id,
+        so.update_by,
+        so.update_time,
+        so.del_flag,
+        so.task_process_key,
+        so.task_node_key,
+        so.process_key,
+        so.earnest_money,
+        so.delivery_date,
+        so.lot_number,
+        so.completion_time,
+        so.processing_unit,
+        so.contact_person,
+        so.address,
+        so.material_type,
+        so.outsource_sale_pay_type,
+        so.old_inventory_state,
+        so.orderdetails
+        FROM
+        `huaxian`.log_sale_order so
+        LEFT JOIN `huaxian`.customer c ON so.sale_custom_no = c.custom_no
+        <where>  
+            <if test="saleNo != null  and saleNo != ''"> and so.sale_no = #{saleNo}</if>
+            <if test="saleCustomNo != null  and saleCustomNo != ''"> and so.sale_custom_no = #{saleCustomNo}</if>
+            <if test="saleDate != null  and saleDate != ''"> and so.sale_date = #{saleDate}</if>
+            <if test="saleEstimatedTime != null "> and so.sale_estimated_time = #{saleEstimatedTime}</if>
+            <if test="saleLeadTime != null  and saleLeadTime != ''"> and so.sale_lead_time = #{saleLeadTime}</if>
+            <if test="saleProductsNo != null  and saleProductsNo != ''"> and so.sale_products_no = #{saleProductsNo}</if>
+            <if test="saleAmounts != null "> and so.sale_amounts = #{saleAmounts}</if>
+            <if test="saleAmountInWords != null  and saleAmountInWords != ''"> and so.sale_amount_in_words = #{saleAmountInWords}</if>
+            <if test="salePayType != null  and salePayType != ''"> and so.sale_pay_type = #{salePayType}</if>
+            <if test="saleOrderEstimatedTime != null  and saleOrderEstimatedTime != ''"> and so.sale_order_estimated_time = #{saleOrderEstimatedTime}</if>
+            <if test="saleOrderTechnologyNo != null  and saleOrderTechnologyNo != ''"> and so.sale_order_technology_no = #{saleOrderTechnologyNo}</if>
+            <if test="salesman != null  and salesman != ''"> and so.salesman = #{salesman}</if>
+            <if test="saleLeader != null  and saleLeader != ''"> and so.sale_leader = #{saleLeader}</if>
+            <if test="finance != null  and finance != ''"> and so.finance = #{finance}</if>
+            <if test="production != null  and production != ''"> and so.production = #{production}</if>
+            <if test="saleApprover != null  and saleApprover != ''"> and so.sale_approver = #{saleApprover}</if>
+            <if test="status != null  and status != ''"> and so.status = #{status}</if>
+            <if test="orderType != null  and orderType != ''"> and so.order_type = #{orderType}</if>
+            <if test="createById != null "> and so.create_by_id = #{createById}</if>
+            <if test="updateById != null "> and so.update_by_id = #{updateById}</if>
+            <if test="taskProcessKey != null  and taskProcessKey != ''"> and so.task_process_key = #{taskProcessKey}</if>
+            <if test="taskNodeKey != null  and taskNodeKey != ''"> and so.task_node_key = #{taskNodeKey}</if>
+            <if test="processKey != null  and processKey != ''"> and so.process_key = #{processKey}</if>
+            <if test="earnestMoney != null  and earnestMoney != ''"> and so.earnest_money = #{earnestMoney}</if>
+            <if test="deliveryDate != null  and deliveryDate != ''"> and so.delivery_date = #{deliveryDate}</if>
+            <if test="lotNumber != null  and lotNumber != ''"> and so.lot_number = #{lotNumber}</if>
+            <if test="completionTime != null "> and so.completion_time = #{completionTime}</if>
+            <if test="processingUnit != null  and processingUnit != ''"> and so.processing_unit = #{processingUnit}</if>
+            <if test="contactPerson != null  and contactPerson != ''"> and so.contact_person = #{contactPerson}</if>
+            <if test="address != null  and address != ''"> and so.address = #{address}</if>
+            <if test="materialType != null  and materialType != ''"> and so.material_type = #{materialType}</if>
+            <if test="outsourceSalePayType != null  and outsourceSalePayType != ''"> and so.outsource_sale_pay_type = #{outsourceSalePayType}</if>
+            <if test="oldInventoryState != null  and oldInventoryState != ''"> and so.old_inventory_state = #{oldInventoryState}</if>
+            <if test="orderdetails != null  and orderdetails != ''"> and so.orderdetails = #{orderdetails}</if>
+        </where>
+        order by update_time desc
+    </select>
+    
+    <select id="selectLogSaleOrderById" parameterType="Long" resultMap="LogSaleOrderResult">
+        SELECT
+            so.id,
+            so.sale_no,
+            c.custom_name as sale_custom_no,
+            so.sale_date,
+            so.sale_estimated_time,
+            so.sale_lead_time,
+            so.sale_products_no,
+            so.sale_amounts,
+            so.sale_amount_in_words,
+            so.sale_pay_type,
+            so.sale_order_estimated_time,
+            so.sale_order_technology_no,
+            so.salesman,
+            so.sale_leader,
+            so.finance,
+            so.production,
+            so.sale_approver,
+            so.STATUS,
+            so.order_type,
+            so.remark,
+            so.create_by_id,
+            so.create_by,
+            so.create_time,
+            so.update_by_id,
+            so.update_by,
+            so.update_time,
+            so.del_flag,
+            so.task_process_key,
+            so.task_node_key,
+            so.process_key,
+            so.earnest_money,
+            so.delivery_date,
+            so.lot_number,
+            so.completion_time,
+            so.processing_unit,
+            so.contact_person,
+            so.address,
+            so.material_type,
+            so.outsource_sale_pay_type,
+            so.old_inventory_state,
+            so.orderdetails
+        FROM
+            `huaxian`.log_sale_order so
+                LEFT JOIN `huaxian`.customer c ON so.sale_custom_no = c.custom_no
+        where so.id = #{id}
+    </select>
+
+    <insert id="insertLogSaleOrder" parameterType="com.zkqy.business.domain.LogSaleOrder" useGeneratedKeys="true" keyProperty="id">
+        insert into {DBNAME}.log_sale_order
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="saleNo != null">sale_no,</if>
+            <if test="saleCustomNo != null">sale_custom_no,</if>
+            <if test="saleDate != null">sale_date,</if>
+            <if test="saleEstimatedTime != null">sale_estimated_time,</if>
+            <if test="saleLeadTime != null">sale_lead_time,</if>
+            <if test="saleProductsNo != null">sale_products_no,</if>
+            <if test="saleAmounts != null">sale_amounts,</if>
+            <if test="saleAmountInWords != null">sale_amount_in_words,</if>
+            <if test="salePayType != null">sale_pay_type,</if>
+            <if test="saleOrderEstimatedTime != null">sale_order_estimated_time,</if>
+            <if test="saleOrderTechnologyNo != null">sale_order_technology_no,</if>
+            <if test="salesman != null">salesman,</if>
+            <if test="saleLeader != null">sale_leader,</if>
+            <if test="finance != null">finance,</if>
+            <if test="production != null">production,</if>
+            <if test="saleApprover != null">sale_approver,</if>
+            <if test="status != null">status,</if>
+            <if test="orderType != null">order_type,</if>
+            <if test="remark != null">remark,</if>
+            <if test="createById != null">create_by_id,</if>
+            <if test="createBy != null">create_by,</if>
+            <if test="createTime != null">create_time,</if>
+            <if test="updateById != null">update_by_id,</if>
+            <if test="updateBy != null">update_by,</if>
+            <if test="updateTime != null">update_time,</if>
+            <if test="delFlag != null">del_flag,</if>
+            <if test="taskProcessKey != null">task_process_key,</if>
+            <if test="taskNodeKey != null">task_node_key,</if>
+            <if test="processKey != null">process_key,</if>
+            <if test="earnestMoney != null">earnest_money,</if>
+            <if test="deliveryDate != null">delivery_date,</if>
+            <if test="lotNumber != null">lot_number,</if>
+            <if test="completionTime != null">completion_time,</if>
+            <if test="processingUnit != null">processing_unit,</if>
+            <if test="contactPerson != null">contact_person,</if>
+            <if test="address != null">address,</if>
+            <if test="materialType != null">material_type,</if>
+            <if test="outsourceSalePayType != null">outsource_sale_pay_type,</if>
+            <if test="oldInventoryState != null">old_inventory_state,</if>
+            <if test="orderdetails != null">orderdetails,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="saleNo != null">#{saleNo},</if>
+            <if test="saleCustomNo != null">#{saleCustomNo},</if>
+            <if test="saleDate != null">#{saleDate},</if>
+            <if test="saleEstimatedTime != null">#{saleEstimatedTime},</if>
+            <if test="saleLeadTime != null">#{saleLeadTime},</if>
+            <if test="saleProductsNo != null">#{saleProductsNo},</if>
+            <if test="saleAmounts != null">#{saleAmounts},</if>
+            <if test="saleAmountInWords != null">#{saleAmountInWords},</if>
+            <if test="salePayType != null">#{salePayType},</if>
+            <if test="saleOrderEstimatedTime != null">#{saleOrderEstimatedTime},</if>
+            <if test="saleOrderTechnologyNo != null">#{saleOrderTechnologyNo},</if>
+            <if test="salesman != null">#{salesman},</if>
+            <if test="saleLeader != null">#{saleLeader},</if>
+            <if test="finance != null">#{finance},</if>
+            <if test="production != null">#{production},</if>
+            <if test="saleApprover != null">#{saleApprover},</if>
+            <if test="status != null">#{status},</if>
+            <if test="orderType != null">#{orderType},</if>
+            <if test="remark != null">#{remark},</if>
+            <if test="createById != null">#{createById},</if>
+            <if test="createBy != null">#{createBy},</if>
+            <if test="createTime != null">#{createTime},</if>
+            <if test="updateById != null">#{updateById},</if>
+            <if test="updateBy != null">#{updateBy},</if>
+            <if test="updateTime != null">#{updateTime},</if>
+            <if test="delFlag != null">#{delFlag},</if>
+            <if test="taskProcessKey != null">#{taskProcessKey},</if>
+            <if test="taskNodeKey != null">#{taskNodeKey},</if>
+            <if test="processKey != null">#{processKey},</if>
+            <if test="earnestMoney != null">#{earnestMoney},</if>
+            <if test="deliveryDate != null">#{deliveryDate},</if>
+            <if test="lotNumber != null">#{lotNumber},</if>
+            <if test="completionTime != null">#{completionTime},</if>
+            <if test="processingUnit != null">#{processingUnit},</if>
+            <if test="contactPerson != null">#{contactPerson},</if>
+            <if test="address != null">#{address},</if>
+            <if test="materialType != null">#{materialType},</if>
+            <if test="outsourceSalePayType != null">#{outsourceSalePayType},</if>
+            <if test="oldInventoryState != null">#{oldInventoryState},</if>
+            <if test="orderdetails != null">#{orderdetails},</if>
+         </trim>
+    </insert>
+
+    <update id="updateLogSaleOrder" parameterType="com.zkqy.business.domain.LogSaleOrder">
+        update {DBNAME}.log_sale_order
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="saleNo != null">sale_no = #{saleNo},</if>
+            <if test="saleCustomNo != null">sale_custom_no = #{saleCustomNo},</if>
+            <if test="saleDate != null">sale_date = #{saleDate},</if>
+            <if test="saleEstimatedTime != null">sale_estimated_time = #{saleEstimatedTime},</if>
+            <if test="saleLeadTime != null">sale_lead_time = #{saleLeadTime},</if>
+            <if test="saleProductsNo != null">sale_products_no = #{saleProductsNo},</if>
+            <if test="saleAmounts != null">sale_amounts = #{saleAmounts},</if>
+            <if test="saleAmountInWords != null">sale_amount_in_words = #{saleAmountInWords},</if>
+            <if test="salePayType != null">sale_pay_type = #{salePayType},</if>
+            <if test="saleOrderEstimatedTime != null">sale_order_estimated_time = #{saleOrderEstimatedTime},</if>
+            <if test="saleOrderTechnologyNo != null">sale_order_technology_no = #{saleOrderTechnologyNo},</if>
+            <if test="salesman != null">salesman = #{salesman},</if>
+            <if test="saleLeader != null">sale_leader = #{saleLeader},</if>
+            <if test="finance != null">finance = #{finance},</if>
+            <if test="production != null">production = #{production},</if>
+            <if test="saleApprover != null">sale_approver = #{saleApprover},</if>
+            <if test="status != null">status = #{status},</if>
+            <if test="orderType != null">order_type = #{orderType},</if>
+            <if test="remark != null">remark = #{remark},</if>
+            <if test="createById != null">create_by_id = #{createById},</if>
+            <if test="createBy != null">create_by = #{createBy},</if>
+            <if test="createTime != null">create_time = #{createTime},</if>
+            <if test="updateById != null">update_by_id = #{updateById},</if>
+            <if test="updateBy != null">update_by = #{updateBy},</if>
+            <if test="updateTime != null">update_time = #{updateTime},</if>
+            <if test="delFlag != null">del_flag = #{delFlag},</if>
+            <if test="taskProcessKey != null">task_process_key = #{taskProcessKey},</if>
+            <if test="taskNodeKey != null">task_node_key = #{taskNodeKey},</if>
+            <if test="processKey != null">process_key = #{processKey},</if>
+            <if test="earnestMoney != null">earnest_money = #{earnestMoney},</if>
+            <if test="deliveryDate != null">delivery_date = #{deliveryDate},</if>
+            <if test="lotNumber != null">lot_number = #{lotNumber},</if>
+            <if test="completionTime != null">completion_time = #{completionTime},</if>
+            <if test="processingUnit != null">processing_unit = #{processingUnit},</if>
+            <if test="contactPerson != null">contact_person = #{contactPerson},</if>
+            <if test="address != null">address = #{address},</if>
+            <if test="materialType != null">material_type = #{materialType},</if>
+            <if test="outsourceSalePayType != null">outsource_sale_pay_type = #{outsourceSalePayType},</if>
+            <if test="oldInventoryState != null">old_inventory_state = #{oldInventoryState},</if>
+            <if test="orderdetails != null">orderdetails = #{orderdetails},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteLogSaleOrderById" parameterType="Long">
+        delete from {DBNAME}.log_sale_order where id = #{id}
+    </delete>
+
+    <delete id="deleteLogSaleOrderByIds" parameterType="String">
+        delete from {DBNAME}.log_sale_order where id in
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>

+ 1 - 0
zkqy-custom-business/src/main/resources/mapper/business/SaleProductsMapper.xml

@@ -101,6 +101,7 @@
                lot_number,
                on_board_state,
                colours,
+               level,
                products_line_no_arry,
                products_line_no_arry_id
         from {DBNAME}.sale_products

+ 44 - 0
zkqy-ui/src/api/logOrder/logOrder.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询销售订单日志列表
+export function listLogOrder(query) {
+  return request({
+    url: '/logOrder/logOrder/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询销售订单日志详细
+export function getLogOrder(id) {
+  return request({
+    url: '/logOrder/logOrder/' + id,
+    method: 'get'
+  })
+}
+
+// 新增销售订单日志
+export function addLogOrder(data) {
+  return request({
+    url: '/logOrder/logOrder',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改销售订单日志
+export function updateLogOrder(data) {
+  return request({
+    url: '/logOrder/logOrder',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除销售订单日志
+export function delLogOrder(id) {
+  return request({
+    url: '/logOrder/logOrder/' + id,
+    method: 'delete'
+  })
+}

+ 10 - 0
zkqy-ui/src/api/tablelist/commonTable.js

@@ -82,6 +82,16 @@ export function saleProductsBatchEdit(data) {
   })
 }
 
+// 新增销售订单日志
+export function addLogOrder(data) {
+  return request({
+    url: '/logOrder/logOrder',
+    method: 'post',
+    data: data
+  })
+}
+
+
 // 修改动态表单
 export function updateTableData(data) {
   return request({

+ 5 - 3
zkqy-ui/src/views/orderMange/index.vue

@@ -442,8 +442,8 @@
                     filterable
                   >
                     <el-option
-                      v-for="item in scope.row.specificationsList"
-                      :key="item.productSpecifications"
+                      v-for="(item,index) in scope.row.specificationsList"
+                      :key="item.productSpecifications.index"
                       :label="item.productSpecifications"
                       :value="{value:item.productSpecifications,label:item.productType}"
                     >
@@ -881,7 +881,7 @@ import {
   getSaleOrderProductionListDistinct,
   getProductSpecificationsByProductName,
   printOutsourceOrder,
-  productColourList, saleProductsBatchEdit,
+  productColourList, saleProductsBatchEdit, addLogOrder,
 } from "@/api/tablelist/commonTable";
 import {getProductInventory, updateOrder} from "@/api/system/retailMange.js";
 import { listData } from "@/api/system/tenant/data";
@@ -2293,6 +2293,8 @@ export default {
             //循环修改
 
             let filteredItems = this.productionTableData.filter(item => 'id' in item);
+            addLogOrder(this.formData).then(re=>{
+            });
             if (filteredItems.length) {
               filteredItems.forEach(item=>{
                 saleProductsBatchEdit(item).then(re=>{

+ 632 - 0
zkqy-ui/src/views/orderMange/logOrder/index.vue

@@ -0,0 +1,632 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label="销售编号" prop="saleNo">
+        <el-input
+          v-model="queryParams.saleNo"
+          placeholder="请输入销售编号"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+<!--      <el-form-item label="客户编号" prop="saleCustomNo">-->
+<!--        <el-input-->
+<!--          v-model="queryParams.saleCustomNo"-->
+<!--          placeholder="请输入客户编号"-->
+<!--          clearable-->
+<!--          @keyup.enter.native="handleQuery"-->
+<!--        />-->
+<!--      </el-form-item>-->
+<!--      <el-form-item label="销售单日期" prop="saleDate">-->
+<!--        <el-input-->
+<!--          v-model="queryParams.saleDate"-->
+<!--          placeholder="请输入销售单日期"-->
+<!--          clearable-->
+<!--          @keyup.enter.native="handleQuery"-->
+<!--        />-->
+<!--      </el-form-item>-->
+<!--      <el-form-item label="预计下单时间" prop="saleEstimatedTime">-->
+<!--        <el-date-picker clearable-->
+<!--          v-model="queryParams.saleEstimatedTime"-->
+<!--          type="date"-->
+<!--          value-format="yyyy-MM-dd"-->
+<!--          placeholder="请选择预计下单时间">-->
+<!--        </el-date-picker>-->
+<!--      </el-form-item>-->
+<!--      <el-form-item label="交货天数" prop="saleLeadTime">-->
+<!--        <el-input-->
+<!--          v-model="queryParams.saleLeadTime"-->
+<!--          placeholder="请输入交货天数"-->
+<!--          clearable-->
+<!--          @keyup.enter.native="handleQuery"-->
+<!--        />-->
+<!--      </el-form-item>-->
+<!--      <el-form-item label="合计金额" prop="saleAmounts">-->
+<!--        <el-input-->
+<!--          v-model="queryParams.saleAmounts"-->
+<!--          placeholder="请输入合计金额"-->
+<!--          clearable-->
+<!--          @keyup.enter.native="handleQuery"-->
+<!--        />-->
+<!--      </el-form-item>-->
+<!--      <el-form-item label="合计金额" prop="saleAmountInWords">-->
+<!--        <el-input-->
+<!--          v-model="queryParams.saleAmountInWords"-->
+<!--          placeholder="请输入合计金额"-->
+<!--          clearable-->
+<!--          @keyup.enter.native="handleQuery"-->
+<!--        />-->
+<!--      </el-form-item>-->
+<!--      <el-form-item label="预计下单时间" prop="saleOrderEstimatedTime">-->
+<!--        <el-input-->
+<!--          v-model="queryParams.saleOrderEstimatedTime"-->
+<!--          placeholder="请输入预计下单时间"-->
+<!--          clearable-->
+<!--          @keyup.enter.native="handleQuery"-->
+<!--        />-->
+<!--      </el-form-item>-->
+<!--      <el-form-item label="业务员" prop="salesman">-->
+<!--        <el-input-->
+<!--          v-model="queryParams.salesman"-->
+<!--          placeholder="请输入业务员"-->
+<!--          clearable-->
+<!--          @keyup.enter.native="handleQuery"-->
+<!--        />-->
+<!--      </el-form-item>-->
+<!--      <el-form-item label="业务主管" prop="saleLeader">-->
+<!--        <el-input-->
+<!--          v-model="queryParams.saleLeader"-->
+<!--          placeholder="请输入业务主管"-->
+<!--          clearable-->
+<!--          @keyup.enter.native="handleQuery"-->
+<!--        />-->
+<!--      </el-form-item>-->
+<!--      <el-form-item label="财务部" prop="finance">-->
+<!--        <el-input-->
+<!--          v-model="queryParams.finance"-->
+<!--          placeholder="请输入财务部"-->
+<!--          clearable-->
+<!--          @keyup.enter.native="handleQuery"-->
+<!--        />-->
+<!--      </el-form-item>-->
+<!--      <el-form-item label="生产部" prop="production">-->
+<!--        <el-input-->
+<!--          v-model="queryParams.production"-->
+<!--          placeholder="请输入生产部"-->
+<!--          clearable-->
+<!--          @keyup.enter.native="handleQuery"-->
+<!--        />-->
+<!--      </el-form-item>-->
+<!--      <el-form-item label="批准人" prop="saleApprover">-->
+<!--        <el-input-->
+<!--          v-model="queryParams.saleApprover"-->
+<!--          placeholder="请输入批准人"-->
+<!--          clearable-->
+<!--          @keyup.enter.native="handleQuery"-->
+<!--        />-->
+<!--      </el-form-item>-->
+<!--      <el-form-item label="创建者id" prop="createById">-->
+<!--        <el-input-->
+<!--          v-model="queryParams.createById"-->
+<!--          placeholder="请输入创建者id"-->
+<!--          clearable-->
+<!--          @keyup.enter.native="handleQuery"-->
+<!--        />-->
+<!--      </el-form-item>-->
+<!--      <el-form-item label="更新者id" prop="updateById">-->
+<!--        <el-input-->
+<!--          v-model="queryParams.updateById"-->
+<!--          placeholder="请输入更新者id"-->
+<!--          clearable-->
+<!--          @keyup.enter.native="handleQuery"-->
+<!--        />-->
+<!--      </el-form-item>-->
+<!--      <el-form-item label="任务编码" prop="taskProcessKey">-->
+<!--        <el-input-->
+<!--          v-model="queryParams.taskProcessKey"-->
+<!--          placeholder="请输入任务编码"-->
+<!--          clearable-->
+<!--          @keyup.enter.native="handleQuery"-->
+<!--        />-->
+<!--      </el-form-item>-->
+<!--      <el-form-item label="任务节点编码" prop="taskNodeKey">-->
+<!--        <el-input-->
+<!--          v-model="queryParams.taskNodeKey"-->
+<!--          placeholder="请输入任务节点编码"-->
+<!--          clearable-->
+<!--          @keyup.enter.native="handleQuery"-->
+<!--        />-->
+<!--      </el-form-item>-->
+<!--      <el-form-item label="流程编码" prop="processKey">-->
+<!--        <el-input-->
+<!--          v-model="queryParams.processKey"-->
+<!--          placeholder="请输入流程编码"-->
+<!--          clearable-->
+<!--          @keyup.enter.native="handleQuery"-->
+<!--        />-->
+<!--      </el-form-item>-->
+<!--      <el-form-item label="定金" prop="earnestMoney">-->
+<!--        <el-input-->
+<!--          v-model="queryParams.earnestMoney"-->
+<!--          placeholder="请输入定金"-->
+<!--          clearable-->
+<!--          @keyup.enter.native="handleQuery"-->
+<!--        />-->
+<!--      </el-form-item>-->
+<!--      <el-form-item label="交货日期" prop="deliveryDate">-->
+<!--        <el-input-->
+<!--          v-model="queryParams.deliveryDate"-->
+<!--          placeholder="请输入交货日期"-->
+<!--          clearable-->
+<!--          @keyup.enter.native="handleQuery"-->
+<!--        />-->
+<!--      </el-form-item>-->
+<!--      <el-form-item label="批号" prop="lotNumber">-->
+<!--        <el-input-->
+<!--          v-model="queryParams.lotNumber"-->
+<!--          placeholder="请输入批号"-->
+<!--          clearable-->
+<!--          @keyup.enter.native="handleQuery"-->
+<!--        />-->
+<!--      </el-form-item>-->
+<!--      <el-form-item label="完成时间" prop="completionTime">-->
+<!--        <el-date-picker clearable-->
+<!--          v-model="queryParams.completionTime"-->
+<!--          type="date"-->
+<!--          value-format="yyyy-MM-dd"-->
+<!--          placeholder="请选择完成时间">-->
+<!--        </el-date-picker>-->
+<!--      </el-form-item>-->
+<!--      <el-form-item label="加工单位" prop="processingUnit">-->
+<!--        <el-input-->
+<!--          v-model="queryParams.processingUnit"-->
+<!--          placeholder="请输入加工单位"-->
+<!--          clearable-->
+<!--          @keyup.enter.native="handleQuery"-->
+<!--        />-->
+<!--      </el-form-item>-->
+<!--      <el-form-item label="联系人" prop="contactPerson">-->
+<!--        <el-input-->
+<!--          v-model="queryParams.contactPerson"-->
+<!--          placeholder="请输入联系人"-->
+<!--          clearable-->
+<!--          @keyup.enter.native="handleQuery"-->
+<!--        />-->
+<!--      </el-form-item>-->
+<!--      <el-form-item label="地址" prop="address">-->
+<!--        <el-input-->
+<!--          v-model="queryParams.address"-->
+<!--          placeholder="请输入地址"-->
+<!--          clearable-->
+<!--          @keyup.enter.native="handleQuery"-->
+<!--        />-->
+<!--      </el-form-item>-->
+<!--      <el-form-item label="当前订单老库存出库标识2" prop="oldInventoryState">-->
+<!--        <el-input-->
+<!--          v-model="queryParams.oldInventoryState"-->
+<!--          placeholder="请输入当前订单老库存出库标识2"-->
+<!--          clearable-->
+<!--          @keyup.enter.native="handleQuery"-->
+<!--        />-->
+<!--      </el-form-item>-->
+      <el-form-item>
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+      </el-form-item>
+    </el-form>
+
+<!--    <el-row :gutter="10" class="mb8">-->
+<!--      <el-col :span="1.5">-->
+<!--        <el-button-->
+<!--          type="primary"-->
+<!--          plain-->
+<!--          icon="el-icon-plus"-->
+<!--          size="mini"-->
+<!--          @click="handleAdd"-->
+<!--          v-hasPermi="['logOrder:logOrder:add']"-->
+<!--        >新增</el-button>-->
+<!--      </el-col>-->
+<!--      <el-col :span="1.5">-->
+<!--        <el-button-->
+<!--          type="success"-->
+<!--          plain-->
+<!--          icon="el-icon-edit"-->
+<!--          size="mini"-->
+<!--          :disabled="single"-->
+<!--          @click="handleUpdate"-->
+<!--          v-hasPermi="['logOrder:logOrder:edit']"-->
+<!--        >修改</el-button>-->
+<!--      </el-col>-->
+<!--      <el-col :span="1.5">-->
+<!--        <el-button-->
+<!--          type="danger"-->
+<!--          plain-->
+<!--          icon="el-icon-delete"-->
+<!--          size="mini"-->
+<!--          :disabled="multiple"-->
+<!--          @click="handleDelete"-->
+<!--          v-hasPermi="['logOrder:logOrder:remove']"-->
+<!--        >删除</el-button>-->
+<!--      </el-col>-->
+<!--      <el-col :span="1.5">-->
+<!--        <el-button-->
+<!--          type="warning"-->
+<!--          plain-->
+<!--          icon="el-icon-download"-->
+<!--          size="mini"-->
+<!--          @click="handleExport"-->
+<!--          v-hasPermi="['logOrder:logOrder:export']"-->
+<!--        >导出</el-button>-->
+<!--      </el-col>-->
+<!--      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>-->
+<!--    </el-row>-->
+
+    <el-table v-loading="loading" :data="logOrderList" @selection-change="handleSelectionChange">
+<!--      <el-table-column type="selection" width="55" align="center" />-->
+<!--      <el-table-column label="主键" align="center" prop="id" />-->
+      <el-table-column label="销售编号" align="center" prop="saleNo" />
+      <el-table-column label="客户名称" align="center" prop="saleCustomNo" />
+      <el-table-column label="日期" align="center" prop="saleDate" width="130">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.saleDate, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="预计下单时间" align="center" prop="saleOrderEstimatedTime" width="130">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.saleOrderEstimatedTime, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="交货周期" align="center" prop="saleLeadTime" />
+<!--      <el-table-column label="订单销售产品集合编号" align="center" prop="saleProductsNo" />-->
+<!--      <el-table-column label="合计金额" align="center" prop="saleAmounts" />-->
+      <el-table-column label="合计金额" align="center" prop="saleAmountInWords" />
+<!--      <el-table-column label="付款方式" align="center" prop="salePayType" />-->
+<!--      <el-table-column label="预计下单时间" align="center" prop="saleOrderEstimatedTime" />-->
+<!--      <el-table-column label="订单工艺要求编号" align="center" prop="saleOrderTechnologyNo" />-->
+      <el-table-column label="业务员" align="center" prop="salesman" />
+<!--      <el-table-column label="业务主管" align="center" prop="saleLeader" />-->
+<!--      <el-table-column label="财务部" align="center" prop="finance" />-->
+<!--      <el-table-column label="生产部" align="center" prop="production" />-->
+<!--      <el-table-column label="批准人" align="center" prop="saleApprover" />-->
+<!--      <el-table-column label="状态1:未提交 、2:审批中 、3:待生产 、4:生产中 、5:待出库 、6:已完成 、7:未通过 、8:审批中 、9:已出库 、100:待发货" align="center" prop="status" />-->
+<!--      <el-table-column label="订单类型" align="center" prop="orderType" />-->
+<!--      <el-table-column label="备注" align="center" prop="remark" />-->
+<!--      <el-table-column label="创建者id" align="center" prop="createById" />-->
+      <el-table-column label="更新人" align="center" prop="updateBy" />
+      <el-table-column label="更新时间" align="center" prop="updateTime" />
+<!--      <el-table-column label="任务编码" align="center" prop="taskProcessKey" />-->
+<!--      <el-table-column label="任务节点编码" align="center" prop="taskNodeKey" />-->
+<!--      <el-table-column label="流程编码" align="center" prop="processKey" />-->
+<!--      <el-table-column label="定金" align="center" prop="earnestMoney" />-->
+<!--      <el-table-column label="交货日期" align="center" prop="deliveryDate" />-->
+<!--      <el-table-column label="批号" align="center" prop="lotNumber" />-->
+<!--      <el-table-column label="完成时间" align="center" prop="completionTime" width="180">-->
+<!--        <template slot-scope="scope">-->
+<!--          <span>{{ parseTime(scope.row.completionTime, '{y}-{m}-{d}') }}</span>-->
+<!--        </template>-->
+<!--      </el-table-column>-->
+<!--      <el-table-column label="加工单位" align="center" prop="processingUnit" />-->
+<!--      <el-table-column label="联系人" align="center" prop="contactPerson" />-->
+<!--      <el-table-column label="地址" align="center" prop="address" />-->
+<!--      <el-table-column label="领料类型" align="center" prop="materialType" />-->
+<!--      <el-table-column label="外协订单付款方式" align="center" prop="outsourceSalePayType" />-->
+<!--      <el-table-column label="当前订单老库存出库标识2" align="center" prop="oldInventoryState" />-->
+<!--      <el-table-column label="货品明细json" align="center" prop="orderdetails" />-->
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['logOrder:logOrder:edit']"
+          >详情</el-button>
+<!--          <el-button-->
+<!--            size="mini"-->
+<!--            type="text"-->
+<!--            icon="el-icon-delete"-->
+<!--            @click="handleDelete(scope.row)"-->
+<!--            v-hasPermi="['logOrder:logOrder:remove']"-->
+<!--          >删除</el-button>-->
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <!-- 添加或修改销售订单日志对话框 -->
+
+    <el-dialog :title="title" :visible.sync="open"  width="1250px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <table style="width:1200px; margin-bottom: 15px; border-collapse:collapse;" border="1" cellpadding="10" align="center">
+          <tbody>
+          <tr>
+            <td>销售编号</td>
+            <td>{{form.saleNo}}</td>
+          </tr>
+          <tr>
+            <td>客户名称</td>
+            <td>{{form.saleCustomNo}}</td>
+          </tr>
+          <tr>
+            <td>销售单日期</td>
+            <td>{{form.saleDate}}</td>
+          </tr>
+          <tr>
+            <td>交货天数</td>
+            <td>{{form.saleLeadTime}}</td>
+          </tr>
+          <tr>
+            <td>合计金额</td>
+            <td>{{form.saleAmountInWords}}</td>
+          </tr>
+          <tr>
+            <td>预计下单时间</td>
+            <td>{{form.saleOrderEstimatedTime}}</td>
+          </tr>
+          <tr>
+            <td>业务员</td>
+            <td>{{form.salesman}}</td>
+          </tr>
+          <tr>
+            <td>批准人</td>
+            <td>{{form.saleApprover}}</td>
+          </tr>
+          </tbody>
+        </table>
+        <span style="margin-left: 5px;">原货品明细</span>
+        <table style="width:1200px; border-collapse:collapse;" border="1" cellpadding="10" align="center">
+          <tbody>
+          <tr>
+            <td>产品编号</td>
+            <td>产品名称</td>
+            <td>色泽</td>
+            <td>等级</td>
+            <td>数量</td>
+            <td>单价</td>
+            <td>总价</td>
+          </tr>
+          <tr v-for="mx in mxlist" :key="mx.id">
+            <td>{{mx.productNo}}</td>
+            <td>{{mx.productName}}</td>
+            <td>{{mx.colours}}</td>
+            <td>{{mx.level}}</td>
+            <td>{{mx.productNumber}}</td>
+            <td>{{mx.productUnitPrice}}</td>
+            <td>{{mx.productAmounts}}</td>
+          </tr>
+          </tbody>
+        </table>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import { listLogOrder, getLogOrder, delLogOrder, addLogOrder, updateLogOrder } from "@/api/logOrder/logOrder";
+
+export default {
+  name: "LogOrder",
+  data() {
+    return {
+      //明细
+      mxlist:[],
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 销售订单日志表格数据
+      logOrderList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        saleNo: null,
+        saleCustomNo: null,
+        saleDate: null,
+        saleEstimatedTime: null,
+        saleLeadTime: null,
+        saleProductsNo: null,
+        saleAmounts: null,
+        saleAmountInWords: null,
+        salePayType: null,
+        saleOrderEstimatedTime: null,
+        saleOrderTechnologyNo: null,
+        salesman: null,
+        saleLeader: null,
+        finance: null,
+        production: null,
+        saleApprover: null,
+        status: null,
+        orderType: null,
+        createById: null,
+        updateById: null,
+        taskProcessKey: null,
+        taskNodeKey: null,
+        processKey: null,
+        earnestMoney: null,
+        deliveryDate: null,
+        lotNumber: null,
+        completionTime: null,
+        processingUnit: null,
+        contactPerson: null,
+        address: null,
+        materialType: null,
+        outsourceSalePayType: null,
+        oldInventoryState: null,
+        orderdetails: null
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+      },
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    parseJson(jsonString) {
+      try {
+        this.mxlist = JSON.parse(jsonString);
+      } catch (error) {
+        console.error('Parsing error:', error);
+      }
+    },
+    /** 查询销售订单日志列表 */
+    getList() {
+      this.loading = true;
+      listLogOrder(this.queryParams).then(response => {
+        this.logOrderList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        id: null,
+        saleNo: null,
+        saleCustomNo: null,
+        saleDate: null,
+        saleEstimatedTime: null,
+        saleLeadTime: null,
+        saleProductsNo: null,
+        saleAmounts: null,
+        saleAmountInWords: null,
+        salePayType: null,
+        saleOrderEstimatedTime: null,
+        saleOrderTechnologyNo: null,
+        salesman: null,
+        saleLeader: null,
+        finance: null,
+        production: null,
+        saleApprover: null,
+        status: null,
+        orderType: null,
+        remark: null,
+        createById: null,
+        createBy: null,
+        createTime: null,
+        updateById: null,
+        updateBy: null,
+        updateTime: null,
+        delFlag: null,
+        taskProcessKey: null,
+        taskNodeKey: null,
+        processKey: null,
+        earnestMoney: null,
+        deliveryDate: null,
+        lotNumber: null,
+        completionTime: null,
+        processingUnit: null,
+        contactPerson: null,
+        address: null,
+        materialType: null,
+        outsourceSalePayType: null,
+        oldInventoryState: null,
+        orderdetails: null
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.id)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "添加销售订单日志";
+    },
+    /** 修改按钮操作 */
+     handleUpdate(row) {
+      this.reset();
+      const id = row.id || this.ids
+      getLogOrder(id).then(response => {
+        this.form = response.data;
+        this.parseJson(this.form.orderdetails);
+        this.open = true;
+        this.title = "原订单信息";
+      });
+
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.id != null) {
+            updateLogOrder(this.form).then(response => {
+              this.$modal.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addLogOrder(this.form).then(response => {
+              this.$modal.msgSuccess("新增成功");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const ids = row.id || this.ids;
+      this.$modal.confirm('是否确认删除销售订单日志编号为"' + ids + '"的数据项?').then(function() {
+        return delLogOrder(ids);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("删除成功");
+      }).catch(() => {});
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      this.download('logOrder/logOrder/export', {
+        ...this.queryParams
+      }, `logOrder_${new Date().getTime()}.xlsx`)
+    }
+  }
+};
+</script>

+ 3 - 1
zkqy-ui/src/views/orderMange/retailMange/index.vue

@@ -760,7 +760,7 @@ import {
   queryMaterielList,
   getSaleOrderProductionListDistinct,
   getProductSpecificationsByProductName,
-  productColourList,
+  productColourList, addLogOrder,
 } from "@/api/tablelist/commonTable";
 import {
   saleOrderList,
@@ -1851,6 +1851,8 @@ export default {
             payload.id = id;
             payload.truckRegistration = this.form.truckRegistration;
             delete payload.status;
+            addLogOrder(this.formData).then(re=>{
+            });
             let res = await editRetailOrder(payload);
             if (res.code === 200) {
               this.$message.success(this.$t('retail.messages.editSuccess'));