Bladeren bron

feat:导出Excel可自定义表头共通逻辑、综合库存是否累加批次库存数据逻辑、销售单打印出库明细

韩帛霖 1 jaar geleden
bovenliggende
commit
be4f458067

File diff suppressed because it is too large
+ 188 - 341
zkqy-common/src/main/java/com/zkqy/common/utils/poi/ExcelUtil.java


+ 6 - 6
zkqy-custom-business/src/main/java/com/zkqy/business/controller/CustomerController.java

@@ -50,7 +50,7 @@ public class CustomerController extends BaseController
     /**
      * 导出客户列表
      */
-    @PreAuthorize("@ss.hasPermi('huaxian:xsglkhgl:EXPORT')")
+    //@PreAuthorize("@ss.hasPermi('huaxian:xsglkhgl:EXPORT')")
     @Log(title = "客户", businessType = BusinessType.EXPORT)
     @PostMapping("/export")
     @ApiOperation(value = "导出客户列表")
@@ -66,7 +66,7 @@ public class CustomerController extends BaseController
 
 
     @Log(title = "客户管理", businessType = BusinessType.IMPORT)
-    //@PreAuthorize("@ss.hasPermi('system:user:import')")
+    ////@PreAuthorize("@ss.hasPermi('system:user:import')")
     @PostMapping("/importData")
     public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception {
         ExcelUtil<Customer> util = new ExcelUtil<Customer>(Customer.class);
@@ -90,7 +90,7 @@ public class CustomerController extends BaseController
         /**
          * 获取客户详细信息
          */
-//    @PreAuthorize("@ss.hasPermi('system:customer:query')")
+//    //@PreAuthorize("@ss.hasPermi('system:customer:query')")
     @GetMapping(value = "/{id}")
     @ApiOperation(value = "获取客户详细信息")
     public AjaxResult getInfo(@PathVariable("id") Long id)
@@ -101,7 +101,7 @@ public class CustomerController extends BaseController
     /**
      * 新增客户
      */
-    @PreAuthorize("@ss.hasPermi('huaxian:xsglkhgl:INSERT')")
+    //@PreAuthorize("@ss.hasPermi('huaxian:xsglkhgl:INSERT')")
     @Log(title = "客户", businessType = BusinessType.INSERT)
     @PostMapping
     @ApiOperation(value = "新增客户")
@@ -113,7 +113,7 @@ public class CustomerController extends BaseController
     /**
      * 修改客户
      */
-    @PreAuthorize("@ss.hasPermi('huaxian:xsglkhgl:UPDATE')")
+    //@PreAuthorize("@ss.hasPermi('huaxian:xsglkhgl:UPDATE')")
     @Log(title = "客户", businessType = BusinessType.UPDATE)
     @PutMapping
     @ApiOperation(value = "修改客户")
@@ -125,7 +125,7 @@ public class CustomerController extends BaseController
     /**
      * 删除客户
      */
-    @PreAuthorize("@ss.hasPermi('huaxian:xsglkhgl:DELETE')")
+    //@PreAuthorize("@ss.hasPermi('huaxian:xsglkhgl:DELETE')")
     @Log(title = "客户", businessType = BusinessType.DELETE)
     @DeleteMapping("/{ids}")
     @ApiOperation(value = "删除客户")

+ 59 - 31
zkqy-custom-business/src/main/java/com/zkqy/business/controller/ProductOutboundRecordController.java

@@ -1,18 +1,21 @@
 package com.zkqy.business.controller;
 
-import java.util.ArrayList;
-import java.util.List;
+import java.lang.reflect.Field;
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.time.LocalDate;
+import java.util.*;
 import javax.servlet.http.HttpServletResponse;
 
-import com.zkqy.business.domain.ProductHandsetOutboundRecord;
-import com.zkqy.business.domain.ProductInvoice;
-import com.zkqy.business.domain.ProductWarehousingRecord;
+import com.zkqy.business.domain.*;
 import com.zkqy.business.domain.vo.ProductCodeListVO;
-import com.zkqy.business.service.IProductHandsetOutboundRecordService;
-import com.zkqy.business.service.IProductInvoiceService;
-import com.zkqy.business.service.IProductWarehousingRecordService;
+import com.zkqy.business.service.*;
+import com.zkqy.common.annotation.Excel;
+import com.zkqy.common.utils.DateUtils;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import org.apache.commons.lang3.reflect.FieldUtils;
+import org.apache.poi.ss.formula.functions.T;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
@@ -20,10 +23,9 @@ 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.ProductOutboundRecord;
-import com.zkqy.business.service.IProductOutboundRecordService;
 import com.zkqy.common.utils.poi.ExcelUtil;
 import com.zkqy.common.core.page.TableDataInfo;
+import org.springframework.web.multipart.MultipartFile;
 
 /**
  * 成品出库记录Controller
@@ -34,8 +36,7 @@ import com.zkqy.common.core.page.TableDataInfo;
 @RestController
 @RequestMapping("/system/ProductOutboundRecord")
 @Api(value = "/system/ProductOutboundRecord", description = "成品出库记录-接口")
-public class ProductOutboundRecordController extends BaseController
-{
+public class ProductOutboundRecordController extends BaseController {
     @Autowired
     private IProductOutboundRecordService productOutboundRecordService;
 
@@ -48,14 +49,16 @@ public class ProductOutboundRecordController extends BaseController
     @Autowired
     private IProductInvoiceService productInvoiceService;
 
+    @Autowired
+    private ISaleOrderService saleOrderService;
+
     /**
      * 查询成品出库记录列表
      */
 //    @PreAuthorize("@ss.hasPermi('system:ProductOutboundRecord:list')")
     @GetMapping("/list")
     @ApiOperation(value = "查询成品出库记录列表")
-    public TableDataInfo list(ProductCodeListVO vo)
-    {
+    public TableDataInfo list(ProductCodeListVO vo) {
         startPage();
         List<ProductCodeListVO> list = productOutboundRecordService.selectProductOutboundRecordList(vo);
         return getDataTable(list);
@@ -81,8 +84,7 @@ public class ProductOutboundRecordController extends BaseController
 //    @PreAuthorize("@ss.hasPermi('system:ProductOutboundRecord:query')")
     @GetMapping(value = "/{id}")
     @ApiOperation(value = "获取成品出库记录详细信息")
-    public AjaxResult getInfo(@PathVariable("id") Long id)
-    {
+    public AjaxResult getInfo(@PathVariable("id") Long id) {
         return success(productOutboundRecordService.selectProductOutboundRecordById(id));
     }
 
@@ -93,8 +95,7 @@ public class ProductOutboundRecordController extends BaseController
     @Log(title = "成品出库记录", businessType = BusinessType.INSERT)
     @PostMapping
     @ApiOperation(value = "新增成品出库记录")
-    public AjaxResult add(@RequestBody ProductOutboundRecord productOutboundRecord)
-    {
+    public AjaxResult add(@RequestBody ProductOutboundRecord productOutboundRecord) {
         return toAjax(productOutboundRecordService.insertProductOutboundRecord(productOutboundRecord));
     }
 
@@ -105,8 +106,7 @@ public class ProductOutboundRecordController extends BaseController
     @Log(title = "成品出库记录", businessType = BusinessType.UPDATE)
     @PutMapping
     @ApiOperation(value = "修改成品出库记录")
-    public AjaxResult edit(@RequestBody ProductOutboundRecord productOutboundRecord)
-    {
+    public AjaxResult edit(@RequestBody ProductOutboundRecord productOutboundRecord) {
         return toAjax(productOutboundRecordService.updateProductOutboundRecord(productOutboundRecord));
     }
 
@@ -117,8 +117,7 @@ public class ProductOutboundRecordController extends BaseController
     @Log(title = "成品出库记录", businessType = BusinessType.DELETE)
     @DeleteMapping("/{ids}")
     @ApiOperation(value = "删除成品出库记录")
-    public AjaxResult remove(@PathVariable Long[] ids)
-    {
+    public AjaxResult remove(@PathVariable Long[] ids) {
         return toAjax(productOutboundRecordService.deleteProductOutboundRecordByIds(ids));
     }
 
@@ -126,21 +125,21 @@ public class ProductOutboundRecordController extends BaseController
      * 是否已出库
      */
     @GetMapping("/whetherStorage")
-    public AjaxResult whetherStorage(@RequestParam("qrCode") String qrCode, @RequestParam("qrCodeId") String qrCodeId){
+    public AjaxResult whetherStorage(@RequestParam("qrCode") String qrCode, @RequestParam("qrCodeId") String qrCodeId) {
         //查看当前码单是否已入库
         ProductWarehousingRecord productWarehousingRecord = productWarehousingRecordService.selectProductWarehousingRecordWhetherExist(qrCode, qrCodeId);
-        if(productWarehousingRecord == null){
-            return AjaxResult.success("当前货品未入库,请先入库!",false);
+        if (productWarehousingRecord == null) {
+            return AjaxResult.success("当前货品未入库,请先入库!", false);
         }
         //查看当前码单是否已出库
         ProductOutboundRecord productOutboundRecord = productOutboundRecordService.whetherStorage(qrCode, qrCodeId);
-        if(productOutboundRecord != null){
-            return AjaxResult.success("当前货品已出库,不能重复出库!",false);
+        if (productOutboundRecord != null) {
+            return AjaxResult.success("当前货品已出库,不能重复出库!", false);
         }
         //查看手持机上当前码单是否已出库
         ProductHandsetOutboundRecord productHandsetOutboundRecord = productHandsetOutboundRecordService.whetherStorage(qrCode, qrCodeId);
-        if(productHandsetOutboundRecord != null){
-            return AjaxResult.success("当前货品已在出库列表中,不能重复出库!",false);
+        if (productHandsetOutboundRecord != null) {
+            return AjaxResult.success("当前货品已在出库列表中,不能重复出库!", false);
         }
         return success(true);
     }
@@ -149,15 +148,44 @@ public class ProductOutboundRecordController extends BaseController
      * 销售单/零售单出库明细记录
      */
     @GetMapping("/outboundDetails")
-    public TableDataInfo outboundDetails(@RequestParam String saleOrderNo){
+    public TableDataInfo outboundDetails(@RequestParam String saleOrderNo) {
         List<ProductCodeListVO> productCodeListVOS = new ArrayList<>();
         ////根据销售单编号查询通知单编号
         ProductInvoice productInvoice = productInvoiceService.selectProductInvoiceBySaleOrderNo(saleOrderNo);
-        if(productInvoice != null){
+        if (productInvoice != null) {
             startPage();
             productCodeListVOS = productOutboundRecordService.outboundDetails(productInvoice.getNoticeNumber());
         }
         return getDataTable(productCodeListVOS);
     }
 
+
+    @PostMapping("/importDataOutboundDetails")
+    public void importDataOutboundDetails(HttpServletResponse response, String saleOrderNo) {
+        List<ProductCodeListVO> productCodeListVOS = new ArrayList<>();
+        ////根据销售单编号查询通知单编号
+        ProductInvoice productInvoice = productInvoiceService.selectProductInvoiceBySaleOrderNo(saleOrderNo);
+        if (productInvoice != null) {
+            Map<String, Object> stringObjectMap = saleOrderService.selectSaleOrderByNo(productInvoice.getSaleOrderNo());
+            startPage();
+            productCodeListVOS = productOutboundRecordService.outboundDetails(productInvoice.getNoticeNumber());
+            ExcelUtil<ProductCodeListVO> util = new ExcelUtil<ProductCodeListVO>(ProductCodeListVO.class);
+            SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+            Map<Integer, String> map = new HashMap<>();
+            map.put(0, "客户名称:");
+            map.put(1, stringObjectMap.get("customName").toString());
+            Map<Integer, String> map1 = new HashMap<>();
+            map1.put(0, "通知单号:");
+            map1.put(1, stringObjectMap.get("saleNo").toString());
+            map1.put(2, "备注");
+            map1.put(3, stringObjectMap.get("dispatchNoteRemark").toString());
+            map1.put(4, "出库日期");
+            map1.put(5, stringObjectMap.get("deliveryDate").toString().split("T")[0]);
+            List<Map<Integer, String>> mapList = new ArrayList<>();
+            mapList.add(map);
+            mapList.add(map1);
+            util.addCustomHeaderData(mapList);
+            util.exportExcel(response, productCodeListVOS, "出库明细");
+        }
+    }
 }

+ 173 - 59
zkqy-custom-business/src/main/java/com/zkqy/business/domain/vo/ProductCodeListVO.java

@@ -11,150 +11,264 @@ import java.util.List;
 
 /**
  * 产品码单对象 product_code_list
- * 
+ *
  * @author zkqy
  * @date 2024-04-01
  */
-public class ProductCodeListVO extends BaseEntity
-{
-    /** 编号 */
-    private Long id;
+public class ProductCodeListVO extends BaseEntity {
+
+    /**
+     * 品名
+     */
+    @Excel(name = "品名")
+    private String productName;
+
+    /**
+     * 规格
+     */
+    @Excel(name = "规格")
+    private String productSpecifications;
 
-    /** 码单号 */
+    /**
+     * 色泽
+     */
+    @Excel(name = "色泽")
+    private String productColor;
+
+    /**
+     * 批号
+     */
+    @Excel(name = "批号")
+    private String lotNum;
+
+    /**
+     * 等级
+     */
+    @Excel(name = "等级")
+    private String levels;
+
+    /**
+     * 毛重
+     */
+    @Excel(name = "毛重", isStatistics = true, scale = 2)
+    private Double grossWeight;
+
+    /**
+     * 净重
+     */
+    @Excel(name = "净重", isStatistics = true, scale = 2)
+    private Double suttle;
+
+    /**
+     * 码单号
+     */
+    @Excel(name = "码单号")
     private String qrCode;
 
-    /** 码单唯一标识 */
+    /**
+     * 箱数
+     */
+    @Excel(name = "箱号")
+    private Integer boxNum;
+
+    /**
+     * 编号
+     */
+    private Long id;
+
+
+    /**
+     * 码单唯一标识
+     */
     private String qrCodeId;
 
-    /** 批号 */
-    private String lotNum;
 
-    /** 货品编号 */
+    /**
+     * 货品编号
+     */
     private Long productId;
 
-    /** 产品色泽 */
+    /**
+     * 产品色泽
+     */
     private String productColour;
 
-    /** 等级 */
-    private String levels;
 
-    /** 筒数 */
+    /**
+     * 筒数
+     */
     private Integer canisterNum;
 
-    /** 箱数 */
-    private Integer boxNum;
 
-    /** 净重 */
-    private Double suttle;
-
-    /** 生产日期 */
+    /**
+     * 生产日期
+     */
     private Date productionDate;
 
-    /** 机台 */
+    /**
+     * 机台
+     */
     private Long machineTool;
 
-    /** 毛重 */
-    private Double grossWeight;
 
-    /** 包装 */
+    /**
+     * 包装
+     */
     private String packaging;
 
-    /** 班次 */
+    /**
+     * 班次
+     */
     private String workShifts;
 
-    /** 外贸号 */
+    /**
+     * 外贸号
+     */
     private String foreignTradeNumber;
 
-    /** 筒重 */
+    /**
+     * 筒重
+     */
     private Double canisterWeight;
 
-    /** 箱重/车重 */
+    /**
+     * 箱重/车重
+     */
     private Double boxWeight;
 
-    /** 管色 */
+    /**
+     * 管色
+     */
     private String tubeColor;
 
-    /** 端口(usb端口号) */
+    /**
+     * 端口(usb端口号)
+     */
     private String comPort;
 
-    /** 打印格式(打印二维码格式) */
+    /**
+     * 打印格式(打印二维码格式)
+     */
     private String printFormat;
 
-    /** 包装类型(暂未使用) */
+    /**
+     * 包装类型(暂未使用)
+     */
     private String packagingType;
 
-    /** 库位(暂未使用) */
+    /**
+     * 库位(暂未使用)
+     */
     private String storageLocation;
 
-    /** 区域编号(暂未使用) */
+    /**
+     * 区域编号(暂未使用)
+     */
     private Long warehouseregionId;
 
-    /** 删除标志(0:否;2:是) */
+    /**
+     * 删除标志(0:否;2:是)
+     */
     private String delFlag;
 
-    /** 创建者编号 */
+    /**
+     * 创建者编号
+     */
     private Long createById;
 
-    /** 更新者编号 */
+    /**
+     * 更新者编号
+     */
     private Long updateById;
 
-    /** 品名 */
-    private String productName;
-
-    /** 规格 */
-    private String productSpecifications;
 
-    /** 色泽 */
-    private String productColor;
-
-    /** 捻向 */
+    /**
+     * 捻向
+     */
     private String directionOfTwist;
 
     /** 箱数 */
 //    private Integer cartonNumber;
 
-    /** 码单详情 */
+    /**
+     * 码单详情
+     */
     private List<ProductCodeListInfo> productCodeListInfoList;
 
-    /** 备注 */
+    /**
+     * 备注
+     */
     private String remark;
 
-    /** 合计筒数 */
+    /**
+     * 合计筒数
+     */
     private Integer totalCanisterNum;
 
-    /** 合计箱数 */
+    /**
+     * 合计箱数
+     */
     private Integer totalBoxNum;
 
-    /** 合计净重 */
+    /**
+     * 合计净重
+     */
     private Double totalSuttle;
 
-    /** 合计毛重 */
+    /**
+     * 合计毛重
+     */
     private Double totalGrossWeight;
 
-    /** 仓库编号 */
+    /**
+     * 仓库编号
+     */
     private Long warehouseId;
 
-    /** 入库人 */
+    /**
+     * 入库人
+     */
     private String depositor;
 
-    /** 入库时间 */
+    /**
+     * 入库时间
+     */
     private Date warehousingTime;
 
-    /** 通知单号 */
+    /**
+     * 通知单号
+     */
     private String noticeNumber;
 
-    /** 产品分类 */
+    /**
+     * 产品分类
+     */
     private String productType;
 
-    /** 客户名称 */
+    /**
+     * 客户名称
+     */
     private String customName;
 
-    /** 机台号 */
+    /**
+     * 机台号
+     */
     private String machineToolNo;
 
     //货品单价
     private Double productUnitPrice;
 
+    // 是否累加批次库存
+    private boolean isLotNum;
+
+    public boolean getIsLotNum() {
+        return isLotNum;
+    }
+
+    public void setIsLotNum(boolean isLotNum) {
+        this.isLotNum = isLotNum;
+    }
+
     public Long getId() {
         return id;
     }

+ 16 - 9
zkqy-custom-business/src/main/java/com/zkqy/business/mapper/ProductInventoryMapper.java

@@ -1,20 +1,20 @@
 package com.zkqy.business.mapper;
 
 import java.util.List;
+
 import com.zkqy.business.domain.ProductInventory;
 import com.zkqy.business.domain.vo.ProductCodeListVO;
 
 /**
  * 产品库存Mapper接口
- * 
+ *
  * @author zkqy
  * @date 2024-04-09
  */
-public interface ProductInventoryMapper 
-{
+public interface ProductInventoryMapper {
     /**
      * 查询产品库存
-     * 
+     *
      * @param id 产品库存主键
      * @return 产品库存
      */
@@ -22,7 +22,7 @@ public interface ProductInventoryMapper
 
     /**
      * 查询产品库存列表
-     * 
+     *
      * @param productInventory 产品库存
      * @return 产品库存集合
      */
@@ -30,7 +30,7 @@ public interface ProductInventoryMapper
 
     /**
      * 新增产品库存
-     * 
+     *
      * @param productInventory 产品库存
      * @return 结果
      */
@@ -38,7 +38,7 @@ public interface ProductInventoryMapper
 
     /**
      * 修改产品库存
-     * 
+     *
      * @param productInventory 产品库存
      * @return 结果
      */
@@ -46,7 +46,7 @@ public interface ProductInventoryMapper
 
     /**
      * 删除产品库存
-     * 
+     *
      * @param id 产品库存主键
      * @return 结果
      */
@@ -54,7 +54,7 @@ public interface ProductInventoryMapper
 
     /**
      * 批量删除产品库存
-     * 
+     *
      * @param ids 需要删除的数据主键集合
      * @return 结果
      */
@@ -62,6 +62,7 @@ public interface ProductInventoryMapper
 
     /**
      * 根据码单号查询库存
+     *
      * @param qrCode
      * @return
      */
@@ -77,8 +78,14 @@ public interface ProductInventoryMapper
      */
     List<ProductCodeListVO> selectComprehensiveInventoryList(ProductCodeListVO productCodeListVO);
 
+    /**
+     * 查询综合库存列表-》不累加批次
+     */
+    List<ProductCodeListVO> selectComprehensiveInventoryListTwo(ProductCodeListVO productCodeListVO);
+
     /**
      * 批量新增库存
+     *
      * @param productInventoryList
      * @return
      */

+ 21 - 9
zkqy-custom-business/src/main/java/com/zkqy/business/mapper/SaleOrderMapper.java

@@ -1,30 +1,40 @@
 package com.zkqy.business.mapper;
 
 import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+
 import com.zkqy.business.domain.SaleOrder;
 import com.zkqy.business.domain.vo.SaleOrderVO;
 import org.apache.ibatis.annotations.Mapper;
 
 /**
  * 销售订单Mapper接口
- * 
+ *
  * @author zkqy
  * @date 2024-03-14
  */
 @Mapper
-public interface SaleOrderMapper 
-{
+public interface SaleOrderMapper {
     /**
      * 查询销售订单
-     * 
+     *
      * @param id 销售订单主键
      * @return 销售订单
      */
     public SaleOrder selectSaleOrderById(Long id);
 
+    /**
+     * 查询销售订单
+     *
+     * @param saleOrderNo 销售订单主键
+     * @return 销售订单
+     */
+    public Map<String, Object> selectSaleOrderByNo(String saleOrderNo);
+
     /**
      * 查询销售订单列表
-     * 
+     *
      * @param saleOrder 销售订单
      * @return 销售订单集合
      */
@@ -32,7 +42,7 @@ public interface SaleOrderMapper
 
     /**
      * 新增销售订单
-     * 
+     *
      * @param saleOrder 销售订单
      * @return 结果
      */
@@ -40,7 +50,7 @@ public interface SaleOrderMapper
 
     /**
      * 修改销售订单
-     * 
+     *
      * @param saleOrder 销售订单
      * @return 结果
      */
@@ -48,10 +58,12 @@ public interface SaleOrderMapper
 
     /**
      * 根据销售单合同号修改销售订单
+     *
      * @param saleOrder
      * @return
      */
     public int updateSaleOrderBySaleNo(SaleOrder saleOrder);
+
     /**
      * 批量修改销售订单
      *
@@ -62,7 +74,7 @@ public interface SaleOrderMapper
 
     /**
      * 删除销售订单
-     * 
+     *
      * @param id 销售订单主键
      * @return 结果
      */
@@ -70,7 +82,7 @@ public interface SaleOrderMapper
 
     /**
      * 批量删除销售订单
-     * 
+     *
      * @param ids 需要删除的数据主键集合
      * @return 结果
      */

+ 21 - 10
zkqy-custom-business/src/main/java/com/zkqy/business/service/ISaleOrderService.java

@@ -1,6 +1,7 @@
 package com.zkqy.business.service;
 
 import java.util.List;
+import java.util.Map;
 
 import com.zkqy.business.domain.ProductInvoice;
 import com.zkqy.business.domain.SaleOrder;
@@ -8,23 +9,30 @@ import com.zkqy.business.domain.vo.SaleOrderVO;
 
 /**
  * 销售订单Service接口
- * 
+ *
  * @author zkqy
  * @date 2024-03-14
  */
-public interface ISaleOrderService 
-{
+public interface ISaleOrderService {
     /**
      * 查询销售订单
-     * 
+     *
      * @param id 销售订单主键
      * @return 销售订单
      */
     public SaleOrder selectSaleOrderById(Long id);
 
+    /**
+     * 查询销售订单
+     *
+     * @param saleOrderNo 销售订单主键
+     * @return 销售订单
+     */
+    public Map<String, Object> selectSaleOrderByNo(String saleOrderNo);
+
     /**
      * 查询销售订单列表
-     * 
+     *
      * @param saleOrder 销售订单
      * @return 销售订单集合
      */
@@ -32,7 +40,7 @@ public interface ISaleOrderService
 
     /**
      * 新增销售订单
-     * 
+     *
      * @param saleOrder 销售订单
      * @return 结果
      */
@@ -40,7 +48,7 @@ public interface ISaleOrderService
 
     /**
      * 修改销售订单
-     * 
+     *
      * @param vo 销售订单
      * @return 结果
      */
@@ -48,7 +56,7 @@ public interface ISaleOrderService
 
     /**
      * 批量删除销售订单/货品明细/销售工艺
-     * 
+     *
      * @param ids 需要删除的销售订单主键集合
      * @return 结果
      */
@@ -56,7 +64,7 @@ public interface ISaleOrderService
 
     /**
      * 删除销售订单信息
-     * 
+     *
      * @param id 销售订单主键
      * @return 结果
      */
@@ -65,10 +73,11 @@ public interface ISaleOrderService
     /**
      * 销售单合同号校验
      */
-    boolean checkContractNo(Long id,String saleNo);
+    boolean checkContractNo(Long id, String saleNo);
 
     /**
      * 批量审批
+     *
      * @param vo
      * @return
      */
@@ -76,6 +85,7 @@ public interface ISaleOrderService
 
     /**
      * 销售单/零售单列表--权限过滤
+     *
      * @param saleOrder
      * @return
      */
@@ -88,6 +98,7 @@ public interface ISaleOrderService
 
     /**
      * 查询零售单详情
+     *
      * @param id
      * @return
      */

+ 9 - 10
zkqy-custom-business/src/main/java/com/zkqy/business/service/impl/ProductInventoryServiceImpl.java

@@ -343,15 +343,15 @@ public class ProductInventoryServiceImpl implements IProductInventoryService {
     }
 
     @Override
-    public Map<String,Object> getProductInventory(ProductInventory productInventory) {
-        Map<String,Object> map = new HashMap<>();
+    public Map<String, Object> getProductInventory(ProductInventory productInventory) {
+        Map<String, Object> map = new HashMap<>();
 
         ProductInventory productInventory1 = productInventoryMapper.selectProductInventoryByLotNumAndProductId(productInventory);
-        if(productInventory1 != null && productInventory1.getTotalSuttle() > 0){
+        if (productInventory1 != null && productInventory1.getTotalSuttle() > 0) {
             productInventory1.setTotalSuttle(handlingWeight(productInventory1.getTotalSuttle()));
             map.put("inventoryBoxNum", productInventory1.getTotalBoxNum());
             map.put("inventoryWeight", handlingWeight(productInventory1.getTotalSuttle()));
-        }else {
+        } else {
             map.put("inventoryBoxNum", 0);
             map.put("inventoryWeight", 0);
         }
@@ -360,7 +360,11 @@ public class ProductInventoryServiceImpl implements IProductInventoryService {
 
     @Override
     public List<ProductCodeListVO> comprehensiveInventoryList(ProductCodeListVO productCodeListVO) {
-        return productInventoryMapper.selectComprehensiveInventoryList(productCodeListVO);
+        if (productCodeListVO.getIsLotNum()) {  // 是否累加批次库存
+            return productInventoryMapper.selectComprehensiveInventoryListTwo(productCodeListVO);
+        } else {
+            return productInventoryMapper.selectComprehensiveInventoryList(productCodeListVO);
+        }
     }
 
     @Override
@@ -369,11 +373,6 @@ public class ProductInventoryServiceImpl implements IProductInventoryService {
     }
 
 
-
-
-
-
-
     //保留两位小数
     public Double handlingWeight(Double weight) {
         DecimalFormat df = new DecimalFormat("0.00");

+ 5 - 0
zkqy-custom-business/src/main/java/com/zkqy/business/service/impl/SaleOrderServiceImpl.java

@@ -52,6 +52,11 @@ public class SaleOrderServiceImpl implements ISaleOrderService
         return saleOrderMapper.selectSaleOrderById(id);
     }
 
+    @Override
+    public Map<String, Object> selectSaleOrderByNo(String saleOrderNo) {
+        return saleOrderMapper.selectSaleOrderByNo(saleOrderNo);
+    }
+
     /**
      * 查询销售订单列表
      * 

+ 28 - 0
zkqy-custom-business/src/main/resources/mapper/business/ProductInventoryMapper.xml

@@ -244,6 +244,34 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <if test="lotNum != null and lotNum != ''">HAVING GROUP_CONCAT( DISTINCT pi.lot_num SEPARATOR '、' ) like concat('%', #{lotNum}, '%')</if>
     </select>
 
+    <select id="selectComprehensiveInventoryListTwo" resultType="com.zkqy.business.domain.vo.ProductCodeListVO">
+        SELECT
+        pi.product_id as productId,
+        p.product_name as productName,
+        p.product_specifications as productSpecifications,
+        p.product_type productType,
+        pi.product_colour productColor,
+        TRUNCATE ( SUM( pi.total_suttle ), 2 ) AS totalSuttle,
+        SUM( pi.total_box_num ) as totalBoxNum,
+        SUM( pi.total_canister_num ) as totalCanisterNum,
+        pi.levels,
+        pi.lot_num AS lotNum
+        FROM
+        {DBNAME}.product_inventory pi
+        LEFT JOIN {DBNAME}.production p ON pi.product_id = p.id
+        WHERE
+        pi.del_flag = '0'
+        <if test="productColor != null and productColor != ''">and pi.product_colour like concat('%', #{productColor}, '%')</if>
+        <if test="productId != null">and pi.product_id = #{productId}</if>
+        <if test="levels != null and levels != ''">and pi.levels = #{levels}</if>
+        <if test="lotNum != null and lotNum != ''">and pi.lot_num like concat('%', #{lotNum}, '%')</if>
+        GROUP BY
+        pi.product_id,
+        pi.product_colour,
+        pi.levels,
+        pi.lot_num
+    </select>
+
 
     <insert id="batchInsertProductInventory" parameterType="com.zkqy.business.domain.ProductInventory">
         INSERT INTO {DBNAME}.product_inventory (

+ 148 - 96
zkqy-custom-business/src/main/resources/mapper/business/SaleOrderMapper.xml

@@ -1,86 +1,137 @@
 <?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">
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.zkqy.business.mapper.SaleOrderMapper">
-    
+
     <resultMap type="com.zkqy.business.domain.SaleOrder" id="SaleOrderResult">
-        <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="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"/>
 
     </resultMap>
 
     <sql id="selectSaleOrderVo">
-        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 from {DBNAME}.sale_order
+        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
+        from {DBNAME}.sale_order
     </sql>
 
     <select id="selectSaleOrderList" parameterType="com.zkqy.business.domain.SaleOrder" resultMap="SaleOrderResult">
         <include refid="selectSaleOrderVo"/>
         where del_flag = '0'
-            <if test="saleNo != null  and saleNo != ''"> and sale_no = #{saleNo}</if>
-            <if test="saleCustomNo != null  and saleCustomNo != ''"> and sale_custom_no = #{saleCustomNo}</if>
-            <if test="saleDate != null  and saleDate != ''"> and sale_date = #{saleDate}</if>
-            <if test="saleEstimatedTime != null "> and sale_estimated_time = #{saleEstimatedTime}</if>
-            <if test="saleLeadTime != null  and saleLeadTime != ''"> and sale_lead_time = #{saleLeadTime}</if>
-            <if test="saleProductsNo != null  and saleProductsNo != ''"> and sale_products_no = #{saleProductsNo}</if>
-            <if test="saleAmounts != null "> and sale_amounts = #{saleAmounts}</if>
-            <if test="saleAmountInWords != null  and saleAmountInWords != ''"> and sale_amount_in_words = #{saleAmountInWords}</if>
-            <if test="salePayType != null  and salePayType != ''"> and sale_pay_type = #{salePayType}</if>
-            <if test="saleOrderEstimatedTime != null  and saleOrderEstimatedTime != ''"> and sale_order_estimated_time = #{saleOrderEstimatedTime}</if>
-            <if test="saleOrderTechnologyNo != null  and saleOrderTechnologyNo != ''"> and sale_order_technology_no = #{saleOrderTechnologyNo}</if>
-            <if test="salesman != null  and salesman != ''"> and salesman = #{salesman}</if>
-            <if test="saleLeader != null  and saleLeader != ''"> and sale_leader = #{saleLeader}</if>
-            <if test="finance != null  and finance != ''"> and finance = #{finance}</if>
-            <if test="production != null  and production != ''"> and production = #{production}</if>
-            <if test="saleApprover != null  and saleApprover != ''"> and sale_approver = #{saleApprover}</if>
-            <if test="status != null  and status != ''"> and status = #{status}</if>
-            <if test="orderType != null  and orderType != ''"> and order_type = #{orderType}</if>
-            <if test="createById != null "> and create_by_id = #{createById}</if>
-            <if test="updateById != null "> and update_by_id = #{updateById}</if>
-            <if test="taskProcessKey != null  and taskProcessKey != ''"> and task_process_key = #{taskProcessKey}</if>
-            <if test="taskNodeKey != null  and taskNodeKey != ''"> and task_node_key = #{taskNodeKey}</if>
-            <if test="processKey != null  and processKey != ''"> and process_key = #{processKey}</if>
-            <if test="earnestMoney != null  and earnestMoney != ''"> and earnest_money = #{earnestMoney}</if>
-            <if test="deliveryDate != null  and deliveryDate != ''"> and delivery_date = #{deliveryDate}</if>
+        <if test="saleNo != null  and saleNo != ''">and sale_no = #{saleNo}</if>
+        <if test="saleCustomNo != null  and saleCustomNo != ''">and sale_custom_no = #{saleCustomNo}</if>
+        <if test="saleDate != null  and saleDate != ''">and sale_date = #{saleDate}</if>
+        <if test="saleEstimatedTime != null ">and sale_estimated_time = #{saleEstimatedTime}</if>
+        <if test="saleLeadTime != null  and saleLeadTime != ''">and sale_lead_time = #{saleLeadTime}</if>
+        <if test="saleProductsNo != null  and saleProductsNo != ''">and sale_products_no = #{saleProductsNo}</if>
+        <if test="saleAmounts != null ">and sale_amounts = #{saleAmounts}</if>
+        <if test="saleAmountInWords != null  and saleAmountInWords != ''">and sale_amount_in_words =
+            #{saleAmountInWords}
+        </if>
+        <if test="salePayType != null  and salePayType != ''">and sale_pay_type = #{salePayType}</if>
+        <if test="saleOrderEstimatedTime != null  and saleOrderEstimatedTime != ''">and sale_order_estimated_time =
+            #{saleOrderEstimatedTime}
+        </if>
+        <if test="saleOrderTechnologyNo != null  and saleOrderTechnologyNo != ''">and sale_order_technology_no =
+            #{saleOrderTechnologyNo}
+        </if>
+        <if test="salesman != null  and salesman != ''">and salesman = #{salesman}</if>
+        <if test="saleLeader != null  and saleLeader != ''">and sale_leader = #{saleLeader}</if>
+        <if test="finance != null  and finance != ''">and finance = #{finance}</if>
+        <if test="production != null  and production != ''">and production = #{production}</if>
+        <if test="saleApprover != null  and saleApprover != ''">and sale_approver = #{saleApprover}</if>
+        <if test="status != null  and status != ''">and status = #{status}</if>
+        <if test="orderType != null  and orderType != ''">and order_type = #{orderType}</if>
+        <if test="createById != null ">and create_by_id = #{createById}</if>
+        <if test="updateById != null ">and update_by_id = #{updateById}</if>
+        <if test="taskProcessKey != null  and taskProcessKey != ''">and task_process_key = #{taskProcessKey}</if>
+        <if test="taskNodeKey != null  and taskNodeKey != ''">and task_node_key = #{taskNodeKey}</if>
+        <if test="processKey != null  and processKey != ''">and process_key = #{processKey}</if>
+        <if test="earnestMoney != null  and earnestMoney != ''">and earnest_money = #{earnestMoney}</if>
+        <if test="deliveryDate != null  and deliveryDate != ''">and delivery_date = #{deliveryDate}</if>
     </select>
-    
+
     <select id="selectSaleOrderById" parameterType="Long" resultMap="SaleOrderResult">
         <include refid="selectSaleOrderVo"/>
         where id = #{id}
     </select>
-        
-    <insert id="insertSaleOrder" parameterType="com.zkqy.business.domain.SaleOrder" useGeneratedKeys="true" keyProperty="id">
+    <select id="selectSaleOrderByNo" parameterType="string" resultType="map">
+        SELECT sale.sale_no            AS saleNo,
+               cus.custom_name         AS customName,
+               tz.delivery_date        AS deliveryDate,
+               tz.dispatch_note_remark AS dispatchNoteRemark
+        FROM {DBNAME}.sale_order AS sale
+        LEFT JOIN {DBNAME}.customer AS cus ON sale.sale_custom_no = cus.custom_no
+        LEFT JOIN {DBNAME}.product_invoice AS tz ON tz.sale_order_no = sale.sale_no
+        WHERE
+            sale.sale_no = #{saleOrderNo}
+    </select>
+
+    <insert id="insertSaleOrder" parameterType="com.zkqy.business.domain.SaleOrder" useGeneratedKeys="true"
+            keyProperty="id">
         insert into {DBNAME}.sale_order
         <trim prefix="(" suffix=")" suffixOverrides=",">
             <if test="saleNo != null">sale_no,</if>
@@ -112,7 +163,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="deliveryDate != null">delivery_date,</if>
             <if test="lotNumber != null">lot_number,</if>
             del_flag
-         </trim>
+        </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="saleNo != null">#{saleNo},</if>
             <if test="saleCustomNo != null">#{saleCustomNo},</if>
@@ -143,7 +194,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="deliveryDate != null">#{deliveryDate},</if>
             <if test="lotNumber != null">#{lotNumber},</if>
             '0'
-         </trim>
+        </trim>
     </insert>
 
     <update id="updateSaleOrder" parameterType="com.zkqy.business.domain.SaleOrder">
@@ -183,7 +234,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     </update>
 
     <delete id="deleteSaleOrderById" parameterType="Long">
-        delete from sale_order where id = #{id}
+        delete
+        from sale_order
+        where id = #{id}
     </delete>
 
     <update id="deleteSaleOrderByIds" parameterType="String">
@@ -233,11 +286,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     </update>
 
     <select id="selectCustomerIdBySaleNo" resultType="long">
-        SELECT
-            c.id
-        FROM
-            {DBNAME}.sale_order so
-                LEFT JOIN {DBNAME}.customer c ON so.sale_custom_no = c.custom_no
+        SELECT c.id
+        FROM {DBNAME}.sale_order so
+                LEFT JOIN {DBNAME}.customer c
+        ON so.sale_custom_no = c.custom_no
         WHERE
             so.sale_no = #{saleNo}
           AND so.del_flag = '0'
@@ -246,35 +298,35 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 
     <select id="saleOrderList" resultType="com.zkqy.business.domain.vo.SaleOrderVO">
         SELECT
-            so.id,
-            so.sale_no,
-            so.sale_date,
-            c.custom_name,
-            so.sale_order_estimated_time,
-            so.sale_lead_time,
-            so.sale_amount_in_words,
-            so.sale_pay_type,
-            so.salesman,
-            so.sale_leader,
-            so.finance,
-            so.production,
-            so.sale_approver,
-            so.status,
-            so.order_type,
-            so.delivery_date,
-            so.remark
+        so.id,
+        so.sale_no,
+        so.sale_date,
+        c.custom_name,
+        so.sale_order_estimated_time,
+        so.sale_lead_time,
+        so.sale_amount_in_words,
+        so.sale_pay_type,
+        so.salesman,
+        so.sale_leader,
+        so.finance,
+        so.production,
+        so.sale_approver,
+        so.status,
+        so.order_type,
+        so.delivery_date,
+        so.remark
         FROM
-            {DBNAME}.sale_order so left join {DBNAME}.customer c on so.sale_custom_no = c.custom_no
+        {DBNAME}.sale_order so left join {DBNAME}.customer c on so.sale_custom_no = c.custom_no
         where so.del_flag = '0' and c.del_flag = '0'
         <if test="queryParam != null and queryParam != ''">
             AND CONCAT(
-                IFNULL( sale_order.sale_no, '' ),
-                IFNULL( customer.custom_name, '' ),
-                IFNULL( sale_order.sale_lead_time, '' ))
-                LIKE concat('%', #{queryParam}, '%')
+            IFNULL( sale_order.sale_no, '' ),
+            IFNULL( customer.custom_name, '' ),
+            IFNULL( sale_order.sale_lead_time, '' ))
+            LIKE concat('%', #{queryParam}, '%')
         </if>
-        <if test="createById != null "> and so.create_by_id = #{createById}</if>
-        <if test="orderType != null"> and so.order_type = #{orderType}</if>
+        <if test="createById != null ">and so.create_by_id = #{createById}</if>
+        <if test="orderType != null">and so.order_type = #{orderType}</if>
         <choose>
             <when test="saleOrderTechnologyNo =='retailOrder'">
                 and so.sale_order_technology_no = 'retailOrder'

+ 34 - 14
zkqy-ui/src/views/orderMange/components/dialogForm/OutStock.vue

@@ -1,5 +1,9 @@
 <template>
   <div class="table-container">
+    <div style="float: right;margin: 0px;padding: 0px">
+      <el-button @click="exportOutInfo" type="success" icon="el-icon-download">导出明细</el-button>
+    </div>
+    <div style="clear: both"></div>
     <el-row :gutter="20" class="mb10">
       <el-col :span="8">
         <div class="title_item">
@@ -28,17 +32,17 @@
       :summary-method="getSummaries"
       show-summary
     >
-      <el-table-column type="index" width="50" />
-      <el-table-column prop="productName" label="品名"> </el-table-column>
+      <el-table-column type="index" width="50"/>
+      <el-table-column prop="productName" label="品名"></el-table-column>
       <el-table-column prop="productSpecifications" label="规格">
       </el-table-column>
-      <el-table-column prop="productColor" label="色泽"> </el-table-column>
-      <el-table-column prop="lotNum" label="批号"> </el-table-column>
-      <el-table-column prop="levels" label="等级"> </el-table-column>
-      <el-table-column prop="grossWeight" label="毛重"> </el-table-column>
-      <el-table-column prop="suttle" label="净重"> </el-table-column>
-      <el-table-column prop="qrCode" label="码单号"> </el-table-column>
-      <el-table-column prop="boxNum" label="箱号"> </el-table-column>
+      <el-table-column prop="productColor" label="色泽"></el-table-column>
+      <el-table-column prop="lotNum" label="批号"></el-table-column>
+      <el-table-column prop="levels" label="等级"></el-table-column>
+      <el-table-column prop="grossWeight" label="毛重"></el-table-column>
+      <el-table-column prop="suttle" label="净重"></el-table-column>
+      <el-table-column prop="qrCode" label="码单号"></el-table-column>
+      <el-table-column prop="boxNum" label="箱号"></el-table-column>
     </el-table>
     <pagination
       v-show="total > 0"
@@ -51,8 +55,9 @@
 </template>
 
 <script>
-import { outboundDetails } from "@/api/system/retailMange.js";
+import {outboundDetails} from "@/api/system/retailMange.js";
 import moment from "moment";
+
 export default {
   name: "OutStock",
   props: [],
@@ -72,9 +77,25 @@ export default {
   },
   computed: {},
   methods: {
+    exportOutInfo() {
+      if (this.tableData.length == 0) {
+        this.$message.warning("没有出库数据!")
+        return;
+      }
+      let {saleNo} = this.row;
+      // 出库明细导出
+      this.download(
+        process.env.VUE_APP_BASE_API1 + "system/ProductOutboundRecord/importDataOutboundDetails",
+        {
+          saleOrderNo: saleNo,
+          isEnablePaging: false
+        },
+        `${saleNo}_出库明细_${new Date().getTime()}.xlsx`
+      );
+    },
     // 自定义的小计计算方法
     getSummaries(param) {
-      const { columns, data } = param;
+      const {columns, data} = param;
       const sums = [];
       columns.forEach((column, index) => {
         if (index === 5) {
@@ -118,17 +139,16 @@ export default {
     },
     // 获取出库详情
     async getOutStockDetail(row) {
-      console.log(row);
-      let { saleNo } = row;
+      let {saleNo} = row;
       this.row = row;
       try {
         let payLoad = {
           ...this.queryParams,
           saleOrderNo: saleNo,
         };
+        console.log(payLoad)
         let res = await outboundDetails(payLoad);
         if (res.code == 200) {
-          console.log(res);
           this.tableData = res.rows;
           this.total = res.total;
         } else {

+ 61 - 22
zkqy-ui/src/views/orderMange/comprehensiveInventory/index.vue

@@ -8,13 +8,47 @@
       v-show="showSearch"
       label-width="68px"
     >
+      <!--      <el-form-item label="批号" prop="lotNum">-->
+      <!--        <el-input-->
+      <!--          v-model="queryParams.lotNum"-->
+      <!--          placeholder="请输入批号"-->
+      <!--          clearable-->
+      <!--          @keyup.enter.native="handleQuery">-->
+      <!--          <el-select v-model="queryParams.isLotNum" slot="append" placeholder="是否累加批次存库"-->
+      <!--                     @keyup.enter.native="handleQuery"-->
+      <!--                     @change="handleQuery">-->
+      <!--            <el-option key="1" label="累加" value="false"/>-->
+      <!--            <el-option key="2" label="不累加" value="true"/>-->
+      <!--          </el-select>-->
+      <!--        </el-input>-->
+      <!--      </el-form-item>-->
       <el-form-item label="批号" prop="lotNum">
-        <el-input
-          v-model="queryParams.lotNum"
-          placeholder="请输入批号"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
+        <div style="display: flex;align-items: center; ">
+          <el-input
+            v-model="queryParams.lotNum"
+            placeholder="请输入批号"
+            clearable
+            @keyup.enter.native="handleQuery"
+            style="  flex: 1;  margin-right: 10px; ">
+          </el-input>
+          <el-select
+            v-model="queryParams.isLotNum"
+            placeholder="是否累加库存"
+            @keyup.enter.native.prevent
+            @change="handleQuery"
+            style="width:40%">
+            <el-option
+              key="1"
+              label="累加批次库存"
+              value="false">
+            </el-option>
+            <el-option
+              key="2"
+              label="不累加批次库存"
+              value="true">
+            </el-option>
+          </el-select>
+        </div>
       </el-form-item>
       <el-form-item label="色泽" prop="productColor">
         <el-input
@@ -58,24 +92,26 @@
             :value="item.id"
           >
             <span class="discribe" style="float: left">{{
-              item.productName
-            }}</span>
+                item.productName
+              }}</span>
             <span style="float: right; color: #8492a6; font-size: 13px">{{
-              item.productSpecifications
-            }}</span>
+                item.productSpecifications
+              }}</span>
           </el-option>
         </el-select>
       </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>
@@ -88,18 +124,18 @@
     </el-row>
 
     <el-table v-loading="loading" :data="comprehensiveInventoryList">
-      <el-table-column label="品名" align="center" prop="productName" />
+      <el-table-column label="品名" align="center" prop="productName"/>
       <el-table-column
         label="规格"
         align="center"
         prop="productSpecifications"
       />
-      <el-table-column label="类型" align="center" prop="productType" />
-      <el-table-column label="色泽" align="center" prop="productColor" />
-      <el-table-column label="等级" align="center" prop="levels" />
-      <el-table-column label="箱数" align="center" prop="totalBoxNum" />
-      <el-table-column label="筒数" align="center" prop="totalCanisterNum" />
-      <el-table-column label="重量" align="center" prop="totalSuttle" />
+      <el-table-column label="类型" align="center" prop="productType"/>
+      <el-table-column label="色泽" align="center" prop="productColor"/>
+      <el-table-column label="等级" align="center" prop="levels"/>
+      <el-table-column label="箱数" align="center" prop="totalBoxNum"/>
+      <el-table-column label="筒数" align="center" prop="totalCanisterNum"/>
+      <el-table-column label="重量" align="center" prop="totalSuttle"/>
 
       <el-table-column label="批号" align="left" prop="lotNum">
         <template slot-scope="scope">
@@ -126,9 +162,9 @@
 </template>
 
 <script>
-import { comprehensiveInventoryList } from "@/api/system/ProductInventory";
-import { getDictLabel } from "@/utils/other";
-import { getOptionLsit } from "@/api/codeListManage/productCodeList";
+import {comprehensiveInventoryList} from "@/api/system/ProductInventory";
+import {getDictLabel} from "@/utils/other";
+import {getOptionLsit} from "@/api/codeListManage/productCodeList";
 import {
   queryDropDownBoxData,
   getSaleOrderProductionList,
@@ -162,6 +198,7 @@ export default {
       open: false,
       // 查询参数
       queryParams: {
+        isLotNum: "false",
         pageNum: 1,
         pageSize: 10,
         qrCode: null,
@@ -385,4 +422,6 @@ export default {
   overflow: hidden;
   text-overflow: ellipsis;
 }
+
+
 </style>

+ 85 - 77
zkqy-ui/src/views/orderMange/index.vue

@@ -42,7 +42,7 @@
               :underline="false"
               style="font-size: 12px; vertical-align: baseline"
               @click="importTemplate"
-              >下载模板
+            >下载模板
             </el-link>
           </div>
         </el-upload>
@@ -67,7 +67,7 @@
             icon="el-icon-plus"
             size="mini"
             @click="addHandler"
-            >新增
+          >新增
           </el-button>
         </el-col>
         <!-- <el-col :span="1.5" v-if="false">
@@ -89,7 +89,7 @@
             size="mini"
             :disabled="multiple"
             @click="myDeleteHandler"
-            >删除
+          >删除
           </el-button>
         </el-col>
         <!-- <el-col :span="1.5">
@@ -98,7 +98,7 @@
             icon="el-icon-upload2"
             size="mini"
             @click="upload.open = true"
-            >导入
+          >导入
           </el-button>
         </el-col>
         <el-col :span="1.5">
@@ -108,7 +108,7 @@
             icon="el-icon-download"
             size="mini"
             @click="handleExport"
-            >导出
+          >导出
           </el-button>
         </el-col> -->
 
@@ -171,7 +171,7 @@
                     :style="`color:${
                       scope.row.styleFieldObj[item.key].fontColor
                     }`"
-                    >{{ scope.row[item.key] }}</span
+                  >{{ scope.row[item.key] }}</span
                   >
                 </template>
                 <!-- 标签字体样式 -->
@@ -201,7 +201,7 @@
                     scope.row.styleFieldObj[item.key].listClass == '' ||
                     scope.row.styleFieldObj[item.key].listClass == 'default'
                   "
-                  >{{ scope.row.styleFieldObj[item.key].dictLabel }}</span
+                >{{ scope.row.styleFieldObj[item.key].dictLabel }}</span
                 >
                 <el-tag
                   v-else
@@ -210,7 +210,8 @@
                       ? ''
                       : scope.row.styleFieldObj[item.key].listClass
                   "
-                  >{{ scope.row.styleFieldObj[item.key].dictLabel }}</el-tag
+                >{{ scope.row.styleFieldObj[item.key].dictLabel }}
+                </el-tag
                 >
               </template>
             </template>
@@ -265,7 +266,8 @@
         />
         <div slot="footer" class="dialog-footer">
           <el-button type="primary" @click="editConfirmHandler"
-            >确 定</el-button
+          >确 定
+          </el-button
           >
           <el-button @click="kCancel">取 消</el-button>
         </div>
@@ -419,11 +421,11 @@
                         :value="item.productNo"
                       >
                         <span class="discribe" style="float: left">{{
-                          item.productName
-                        }}</span>
+                            item.productName
+                          }}</span>
                         <span
                           style="float: right; color: #8492a6; font-size: 13px"
-                          >{{ item.productSpecifications }}</span
+                        >{{ item.productSpecifications }}</span
                         >
                       </el-option>
                     </el-select>
@@ -517,8 +519,8 @@
                         :value="item.materielCode"
                       >
                         <span class="discribe" style="float: left">{{
-                          item.materieEncoding + item.materieColorNumber
-                        }}</span>
+                            item.materieEncoding + item.materieColorNumber
+                          }}</span>
                         <!-- <span
                         style="float: right; color: #8492a6; font-size: 13px"
                         >{{ item.materielCode }}</span
@@ -543,7 +545,8 @@
                     type="danger"
                     size="small"
                     @click="deleteProduct(scope.$index)"
-                    >删除</el-button
+                  >删除
+                  </el-button
                   >
                 </template>
               </el-table-column>
@@ -554,7 +557,8 @@
               style="width: 100%"
               size="small"
               @click="addProduct"
-              >添加货品</el-button
+            >添加货品
+            </el-button
             >
             <el-col :span="12">
               <el-form-item label-width="120px" label="合计金额(大写)">
@@ -747,7 +751,7 @@
         <span slot="footer" class="dialog-footer">
           <el-button @click="detailShow = false">取 消</el-button>
           <el-button type="primary" @click="detailPrintHandler"
-            >打 印</el-button
+          >打 印</el-button
           >
         </span>
       </el-dialog>
@@ -770,7 +774,6 @@
         <OutStock ref="outStockRef"></OutStock>
         <span slot="footer" class="dialog-footer">
           <el-button @click="outStockShow = false">关 闭</el-button>
-          <!-- <el-button @click="btnSave">保 存</el-button> -->
           <!-- <el-button type="primary" @click="btnComfirm">确 定</el-button> -->
         </span>
       </el-dialog>
@@ -798,31 +801,32 @@ import {
   saleOrderList,
   queryMaterielList,
 } from "@/api/tablelist/commonTable";
-import { listData } from "@/api/system/tenant/data";
-import { getToken } from "@/utils/auth";
+import {listData} from "@/api/system/tenant/data";
+import {getToken} from "@/utils/auth";
 import Queryfrom from "@/views/tablelist/commonTable/queryfrom.vue";
-import { camelCase, toUnderline } from "@/utils";
-import { inputDisableComplete } from "@/utils/other";
+import {camelCase, toUnderline} from "@/utils";
+import {inputDisableComplete} from "@/utils/other";
 import Menu from "@/views/tablelist/commonTable/BtnMenu.vue";
-import { checkRole } from "@/utils/permission";
+import {checkRole} from "@/utils/permission";
 import DialogTemplate from "@/views/dialogTemplate/components/index.vue";
 import {
   queryDropDownBoxData,
   getSaleOrderProductionList,
 } from "@/api/dragform/form";
-import { v4 as uuidv4 } from "uuid";
-import { mapState } from "vuex";
+import {v4 as uuidv4} from "uuid";
+import {mapState} from "vuex";
 import moment from "moment";
 import Deliver from "@/views/orderMange/components/dialogForm/Deliver.vue";
 import OutBound from "@/views/orderMange/components/dialogForm/OutBound.vue";
 import outBoundPrint from "@/utils/print/outBoundPrint";
-import { listCustomer } from "@/api/system/customer";
+import {listCustomer} from "@/api/system/customer";
 import OutStock from "@/views/orderMange/components/dialogForm/OutStock.vue";
-import { numToCapital } from "@/utils/other";
+import {numToCapital} from "@/utils/other";
+
 export default {
   name: "listInfo",
   dicts: ["payment_method", "direction_of_twist"],
-  components: { Queryfrom, Menu, DialogTemplate, Deliver, OutBound, OutStock },
+  components: {Queryfrom, Menu, DialogTemplate, Deliver, OutBound, OutStock},
   data() {
     return {
       totalMoney: "", //总金额 小写
@@ -1015,7 +1019,7 @@ export default {
         // 是否更新已经存在的数据
         updateSupport: 0,
         // 设置上传的请求头部
-        headers: { Authorization: "Bearer " + getToken() },
+        headers: {Authorization: "Bearer " + getToken()},
         // 上传的地址
         url: process.env.VUE_APP_BASE_API1 + "common/uploadData",
       },
@@ -1112,6 +1116,7 @@ export default {
     }),
   },
   methods: {
+
     // 自定义筛选方法
     mySelectFilter(value, row) {
       console.log(value);
@@ -1235,7 +1240,7 @@ export default {
     },
     // 自定义的小计计算方法
     getSummaries(param) {
-      const { columns, data } = param;
+      const {columns, data} = param;
       console.log(columns, data);
       const sums = [];
       columns.forEach((column, index) => {
@@ -1299,7 +1304,7 @@ export default {
     // 自定义校验规则
     validateTableField(rule, value, callback) {
       console.log("校验规则", rule, value);
-      let { message, field } = rule;
+      let {message, field} = rule;
       let index = field.split("-")[1],
         fieldName = field.split("-")[0];
       console.log(
@@ -1400,7 +1405,7 @@ export default {
         // let res = await queryDropDownBoxData(payLoad);
 
         // 新的获取客户选项数据的接口
-        let res = await listCustomer({ isEnablePaging: false });
+        let res = await listCustomer({isEnablePaging: false});
         if (res.code == 200) {
           // let { customer } = res.data.resultMap;
           // this.allProductionOptions = production || [];
@@ -1462,7 +1467,7 @@ export default {
         let res = await queryDropDownBoxData(payLoad);
         if (res.code == 200) {
           console.log(res.data.resultMap);
-          let { materiel } = res.data.resultMap;
+          let {materiel} = res.data.resultMap;
           this.sliceTypeOptions = materiel || [];
         } else {
           throw Error("获取下拉框数据失败");
@@ -1476,7 +1481,7 @@ export default {
     getRowKey(row) {
       return row[
         camelCase(this.tableName + "_" + this.templateInfo.template?.primaryKey)
-      ];
+        ];
     },
     /** 查询列表 */
     getList(queryParams, orderType = 0) {
@@ -1484,7 +1489,7 @@ export default {
       // 序列化当前查询参数列表
       queryParams && (this.queryParams.queryMap = queryParams.queryMap);
       // 获取当前表单结构信息
-      dragTableInfo({ queryMap: { tableKey: this.tableKey } })
+      dragTableInfo({queryMap: {tableKey: this.tableKey}})
         .then((res) => {
           // 得到当前模版信息 --- sql columns queryWhere
           this.templateInfo = res.data.resultMap;
@@ -1879,14 +1884,14 @@ export default {
                 saleProductNo: this.productIds,
               },
             };
-            let delRes = { code: 200 };
+            let delRes = {code: 200};
             if (this.productIds.length) {
               delRes = await delTableData(deletPayload); //删除旧数据
             }
 
             let updateSaleRes = await batchEdit(saleData);
             let updateCraftRes = await batchEdit(craftData);
-            let addProductRes = { code: 200 };
+            let addProductRes = {code: 200};
             if (productData.addListMap.length) {
               addProductRes = await addTableData(productData);
             }
@@ -1909,7 +1914,7 @@ export default {
             craftData.addListMap = [craftValue];
             let saleRes = await addTableData(saleData);
             let craftRes = await addTableData(craftData);
-            let productRes = { code: 200 };
+            let productRes = {code: 200};
             if (productData.addListMap.length) {
               productRes = await addTableData(productData);
             }
@@ -1937,7 +1942,7 @@ export default {
     // 审计   编辑回调
     async handleEdit(index, row) {
       console.log(row);
-      let { saleOrderSaleNo } = row;
+      let {saleOrderSaleNo} = row;
       try {
         let payLoad = [
           {
@@ -1968,17 +1973,17 @@ export default {
         let res = await queryDropDownBoxData(payLoad);
         if (res.code == 200) {
           this.isEdit = true;
-          let { sale_craft, sale_order, sale_products } = res.data.resultMap;
+          let {sale_craft, sale_order, sale_products} = res.data.resultMap;
 
           Object.assign(this.formData, {
             ...sale_craft[0],
             ...sale_order[0],
           });
-          let { saleDate, saleOrderEstimatedTime, deliveryDate } =
+          let {saleDate, saleOrderEstimatedTime, deliveryDate} =
             sale_order[0];
           saleDate && (this.formData.saleDate = new Date(saleDate));
           saleOrderEstimatedTime &&
-            (this.formData.saleOrderEstimatedTime = saleOrderEstimatedTime);
+          (this.formData.saleOrderEstimatedTime = saleOrderEstimatedTime);
           deliveryDate && (this.formData.deliveryDate = new Date(deliveryDate));
 
           this.productIds = sale_products.map((item) => item.saleProductNo);
@@ -2052,7 +2057,7 @@ export default {
     },
     // 计算金额
     computedPrice(row) {
-      let { productNumber, productUnitPrice } = row;
+      let {productNumber, productUnitPrice} = row;
       console.log(
         "productNumber, productUnitPrice",
         productNumber,
@@ -2136,9 +2141,9 @@ export default {
       this.$refs.mychild.pageList(
         row == undefined
           ? {
-              limit: this.queryParams.pageSize,
-              page: this.queryParams.pageNum,
-            }
+            limit: this.queryParams.pageSize,
+            page: this.queryParams.pageNum,
+          }
           : row
       );
     },
@@ -2177,7 +2182,7 @@ export default {
     handleAdd(row) {
       // this.reset();
       this.defaultValue = {};
-      getInfoBySqlKey(this.templateInfo.template.sqlKey).then(({ data }) => {
+      getInfoBySqlKey(this.templateInfo.template.sqlKey).then(({data}) => {
         if (!data || !data.dfVueTemplate) {
           this.jsonData = false;
           this.$message.error("当前表格未绑定表单!");
@@ -2273,7 +2278,7 @@ export default {
           }
 
           res.data.template.dfFormSql &&
-            (this.dynamicData = JSON.parse(res.data.template.dfFormSql));
+          (this.dynamicData = JSON.parse(res.data.template.dfFormSql));
           this.addRealFieldName(res.data.result.resultMap);
           let resultMap = res.data.result.resultMap;
 
@@ -2462,7 +2467,8 @@ export default {
           this.$refs.mychild.pageList();
           this.$modal.msgSuccess("删除成功");
         })
-        .catch(() => {});
+        .catch(() => {
+        });
     },
     // 批量删除接口
     handleBatchDelete() {
@@ -2502,7 +2508,8 @@ export default {
           this.$refs.mychild.pageList();
           this.$modal.msgSuccess("删除成功");
         })
-        .catch(() => {});
+        .catch(() => {
+        });
     },
     /** 导出按钮操作 */
     handleExport() {
@@ -2539,7 +2546,7 @@ export default {
     importTemplate() {
       this.download(
         process.env.VUE_APP_BASE_API1 +
-          `common/exportTemplate?tableName=${this.tableName}&sqlkey=${this.templateInfo.template.sqlKey}`,
+        `common/exportTemplate?tableName=${this.tableName}&sqlkey=${this.templateInfo.template.sqlKey}`,
         {},
         `下载模版名称${new Date().getTime()}.xlsx`
       );
@@ -2555,10 +2562,10 @@ export default {
       this.$refs.upload.clearFiles();
       this.$alert(
         "<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" +
-          response.msg +
-          "</div>",
+        response.msg +
+        "</div>",
         "导入结果",
-        { dangerouslyUseHTMLString: true }
+        {dangerouslyUseHTMLString: true}
       );
       this.$refs.mychild.pageList({
         limit: this.queryParams.pageSize,
@@ -2587,7 +2594,7 @@ export default {
     // 绑定弹窗Dialog确定按钮
     async btnComfirm() {
       let res = await this.$refs.deliverRef.getAllData();
-      let { flag, isEdit, data } = res;
+      let {flag, isEdit, data} = res;
       if (flag) {
         if (isEdit) {
           //编辑
@@ -2654,7 +2661,7 @@ export default {
                   item.fieldValue
                     ? item.fieldValue
                     : this.currentRow[
-                        camelCase(item.fieldName.replace(".", "_"))
+                      camelCase(item.fieldName.replace(".", "_"))
                       ];
               });
               conditionData.forEach((item) => {
@@ -2662,7 +2669,7 @@ export default {
                   item.fieldValue
                     ? item.fieldValue
                     : this.currentRow[
-                        camelCase(item.fieldName.replace(".", "_"))
+                      camelCase(item.fieldName.replace(".", "_"))
                       ];
               });
             }
@@ -2758,7 +2765,7 @@ export default {
         });
     },
     // 判断是否生效行样式
-    cellStyle({ row, column, rowIndex, columnIndex }) {
+    cellStyle({row, column, rowIndex, columnIndex}) {
       let rowStyleList = this.styleList.filter((item) => item.styleType == 0);
       if (!rowStyleList.length) return "";
       let mainTableName = this.templateInfo.querySql.tableAlias; //主表名
@@ -2881,7 +2888,7 @@ export default {
 
     // 内链页面跳转
     routerHandler(btnData, type) {
-      let { url, commonFieldData } = JSON.parse(btnData.btnParams);
+      let {url, commonFieldData} = JSON.parse(btnData.btnParams);
       let tempArr = [];
       if (commonFieldData) {
         let queryArr = JSON.parse(commonFieldData);
@@ -2913,7 +2920,7 @@ export default {
     },
     // 切片类型改变回调
     sliceTypeChangeHandler(row) {
-      let { sliceType } = row;
+      let {sliceType} = row;
       if (sliceType) {
         row.sliceTypeLabel = this.sliceTypeOptions.find(
           (item) => item.materielCode == sliceType
@@ -2922,7 +2929,7 @@ export default {
     },
     // 色号改变回调
     colourNumberChangeHandler(row) {
-      let { colourNumber } = row;
+      let {colourNumber} = row;
       if (colourNumber) {
         let target = this.colourNumberOptions.find(
           (item) => item.materielCode == colourNumber
@@ -2954,7 +2961,7 @@ export default {
     },
     // 获取详情html字符串
     async getDetailTableString(row) {
-      let { saleOrderSaleNo } = row;
+      let {saleOrderSaleNo} = row;
       let payLoad = [
         {
           basicMap: {
@@ -2984,7 +2991,7 @@ export default {
       let res = await queryDropDownBoxData(payLoad);
       if (res.code == 200) {
         console.log(res);
-        let { sale_craft, sale_order, sale_products } = res.data.resultMap;
+        let {sale_craft, sale_order, sale_products} = res.data.resultMap;
         let {
           //订单表数据
           saleNo, //合同号
@@ -3023,7 +3030,7 @@ export default {
           craftOther, //其它工艺要求
           craftMark, //包装/贴唛
           shippingMethod, //运输方式
-        } = { ...sale_craft[0], ...sale_order[0] };
+        } = {...sale_craft[0], ...sale_order[0]};
         let customData = this.customerOptions.find(
           (item) => item.customNo == saleCustomNo
         );
@@ -3043,9 +3050,9 @@ export default {
                 <tr>
                     <td width="600px" colspan="4">合同号:${saleNo}</td>
                     <td width="600px" colspan="4">日期:${saleDate.replace(
-                      "T",
-                      " "
-                    )}</td>
+          "T",
+          " "
+        )}</td>
                 </tr>
                 <tr align="center">
                     <td width="300px" colspan="2">客户名称:</td>
@@ -3062,9 +3069,9 @@ export default {
                 <tr align="center">
                     <td width="300px" colspan="2">预计下单时间:</td>
                     <td  colspan="1">${saleOrderEstimatedTime.replace(
-                      "T",
-                      " "
-                    )}</td>
+          "T",
+          " "
+        )}</td>
                     <td  colspan="1">交货周期:</td>
                     <td >${saleLeadTime}</td>
                     <td  colspan="2">交货日期:</td>
@@ -3182,9 +3189,9 @@ export default {
                     <td colspan="2">${salesman}</td>
                     <td colspan="2">财务部:</td>
                     <td colspan="2">${finance}</td>
-                    
+
                 </tr>
-                
+
                 <tr align="center">
                     <td colspan="2">业务主管:</td>
                     <td colspan="2">${saleApprover}</td>
@@ -3252,7 +3259,8 @@ export default {
         } else {
           this.$message.error(res.msg);
         }
-      } catch (error) {}
+      } catch (error) {
+      }
     },
     // 发货回调
     myDeliverHandler(row) {
@@ -3269,10 +3277,9 @@ export default {
         this.$refs.outStockRef.getOutStockDetail(row, false);
       });
     },
-
     // 操作列回调
     excuteHandler(btnData, row) {
-      let { btnType, btnParams, btnFormType } = btnData;
+      let {btnType, btnParams, btnFormType} = btnData;
       this.currentBtnData = btnData;
       this.currentRow = JSON.parse(JSON.stringify(row));
       console.log("btnData", btnType, btnData, row);
@@ -3356,7 +3363,7 @@ export default {
                 item.fieldValue
                   ? item.fieldValue
                   : this.currentRow[
-                      camelCase(item.fieldName.replace(".", "_"))
+                    camelCase(item.fieldName.replace(".", "_"))
                     ];
             });
           }
@@ -3379,7 +3386,8 @@ export default {
           this.$refs.mychild.pageList();
           // this.$modal.msgSuccess("操作成功");
         })
-        .catch(() => {});
+        .catch(() => {
+        });
     },
 
     // k-form-build表单变化回调

Some files were not shown because too many files changed in this diff