From d52b5d11199cc6b7cec42deb82c831a4ed15a3b4 Mon Sep 17 00:00:00 2001
From: zyx <zyx123456>
Date: 星期五, 31 五月 2024 14:56:58 +0800
Subject: [PATCH] 仓库: 	显示在库信息,入库完成后显示成功入库的包数 	订单出库页面显示剩余待检包数 (PDA) 	未查询到的提示改为显示物料实际状态 	拣货单已完成,单据未完成 ✔ 	单据数量字段显示变更 ✔ 	拣货单按实际操作时间降序排序 ✔ 	拣货单明细导出 ✔ 	拣货单显示创建时间与操作时间 ✔

---
 src/main/webapp/views/pla/locDetlQuery.html                   |   50 +++++
 src/main/webapp/static/js/picking/picking.js                  |   22 +
 src/main/java/com/zy/asrs/controller/PlaController.java       |   39 ++++
 src/main/resources/mapper/ManPakOutMapper.xml                 |    4 
 src/main/webapp/views/pla3/plaDetl.html                       |   74 +++++----
 src/main/webapp/views/pla2/plaDetl.html                       |   74 +++++----
 src/main/webapp/views/picking/picking.html                    |   19 +-
 src/main/java/com/zy/asrs/controller/MobileController.java    |    6 
 src/main/java/com/zy/asrs/controller/ManPakOutController.java |    1 
 src/main/java/com/zy/asrs/utils/PlaExcelListener.java         |    5 
 src/main/webapp/views/pla/plaDetl.html                        |   40 ++--
 src/main/webapp/static/js/pla/plaDetl.js                      |   36 ++++
 src/main/java/com/zy/asrs/entity/result/PakoutVo.java         |   32 +++
 src/main/java/com/zy/asrs/entity/param/PakOutDTO.java         |    8 +
 src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java |    2 
 src/main/webapp/static/js/pla/stockOut.js                     |    8 
 src/main/java/com/zy/asrs/controller/PakoutController.java    |   50 +++++-
 17 files changed, 338 insertions(+), 132 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/ManPakOutController.java b/src/main/java/com/zy/asrs/controller/ManPakOutController.java
index 10eafa2..7717d74 100644
--- a/src/main/java/com/zy/asrs/controller/ManPakOutController.java
+++ b/src/main/java/com/zy/asrs/controller/ManPakOutController.java
@@ -496,4 +496,5 @@
         response.getOutputStream().close();
         return R.ok();
     }
+
 }
diff --git a/src/main/java/com/zy/asrs/controller/MobileController.java b/src/main/java/com/zy/asrs/controller/MobileController.java
index b0dfc3e..db99085 100644
--- a/src/main/java/com/zy/asrs/controller/MobileController.java
+++ b/src/main/java/com/zy/asrs/controller/MobileController.java
@@ -546,10 +546,10 @@
 
         Pla pla = plaService.selectByBatchAndPackageNo(batch, packageNo,brand);
         if ((Cools.isEmpty(pla))){
-            return R.error("璇ュ寘鐗╂枡鏈綍鍏ワ紝鏃犳硶鏌ヨ鍒扮浉鍏充俊鎭�");
+            return R.error("璇ュ寘鐗╂枡鏈綍鍏ワ紝鏃犳硶鏌ヨ鍒扮浉鍏充俊鎭�").add(pla);
         }
         if(!(Cools.eq(pla.getStatus(), GlobleParameter.PLA_STATUS_0) || Cools.eq(pla.getStatus(), GlobleParameter.PLA_STATUS_00)) && type != 2){
-            return R.error("璇ュ寘鐗╂枡涓嶄负寰呭叆搴撶姸鎬侊紝鏃犳硶杩涜鍏ュ簱鎿嶄綔");
+            return R.error("璇ュ寘鐗╂枡鐨勭姸鎬佷负" + pla.getStatus() +"锛屾棤娉曡繘琛屽叆搴撴搷浣�").add(pla);
         }
         return R.ok(pla);
     }
@@ -582,7 +582,7 @@
                 throw new CoolException("璇ュ寘鐗╂枡鏈綍鍏ワ紝鏃犳硶鏌ヨ鍒扮浉鍏充俊鎭�");
             }
             if(!Cools.eq(pla.getStatus(),GlobleParameter.PLA_STATUS_1) && !Cools.eq(pla.getStatus(),GlobleParameter.PLA_STATUS_3)){
-                throw new CoolException("璇ュ寘鐗╂枡鐘舵�佷笉涓哄叆搴撶姸鎬侊紝鏃犳硶杞Щ");
+                throw new CoolException("璇ュ寘鐗╂枡鐨勭姸鎬佷负" + pla.getStatus() +"锛屾棤娉曡繘琛屽叆搴撴搷浣�");
             }
 
             String sourceLocNo = pla.getLocNo();
diff --git a/src/main/java/com/zy/asrs/controller/PakoutController.java b/src/main/java/com/zy/asrs/controller/PakoutController.java
index aa021d7..1e65ee5 100644
--- a/src/main/java/com/zy/asrs/controller/PakoutController.java
+++ b/src/main/java/com/zy/asrs/controller/PakoutController.java
@@ -1,5 +1,7 @@
 package com.zy.asrs.controller;
 
+import com.alibaba.excel.EasyExcel;
+import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.mapper.Wrapper;
@@ -9,20 +11,19 @@
 import com.core.common.Cools;
 import com.core.common.DateUtils;
 import com.core.common.R;
-import com.zy.asrs.entity.ManLocDetl;
-import com.zy.asrs.entity.Order;
-import com.zy.asrs.entity.OrderDetl;
-import com.zy.asrs.entity.Pakout;
+import com.zy.asrs.entity.*;
 import com.zy.asrs.entity.param.OrderDomainParam;
-import com.zy.asrs.service.ManLocDetlService;
-import com.zy.asrs.service.OrderDetlService;
-import com.zy.asrs.service.OrderService;
-import com.zy.asrs.service.PakoutService;
+import com.zy.asrs.entity.result.PakoutVo;
+import com.zy.asrs.service.*;
 import com.zy.common.web.BaseController;
 import com.zy.system.entity.User;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.net.URLEncoder;
 import java.util.*;
 
 @RestController
@@ -36,6 +37,8 @@
     private OrderDetlService orderDetlService;
     @Autowired
     private ManLocDetlService manLocDetlService;
+    @Autowired
+    private PlaService plaService;
 
     @RequestMapping(value = "/pakout/{id}/auth")
     @ManagerAuth
@@ -58,8 +61,6 @@
         if (user.getRoleId() != 2 || user.getRoleId() != 24) {
             wrapper.eq("create_by", user.getId());
         }
-
-
 
         if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));}
         return R.ok(pakoutService.selectPage(new Page<>(curr, limit), wrapper));
@@ -352,4 +353,33 @@
         return R.ok();
     }
 
+    @RequestMapping(value = "/pakout/printExport/auth")
+    //   @ManagerAuth(memo = "鐩樼偣鍗曞鍑�")
+    public void export(HttpServletResponse response, @RequestParam String orderNo) throws IOException {
+        //浠庢暟鎹簱鏌ヨ鏁版嵁
+        EntityWrapper<Pakout> locCheckEntityWrapper = new EntityWrapper<>();
+        locCheckEntityWrapper.eq("doc_num",orderNo);
+        List<Pakout> list = pakoutService.selectList(locCheckEntityWrapper);
+        List<PakoutVo> pakoutVos=new ArrayList<>();
+
+        for (Pakout pakout: list) {
+            PakoutVo pakoutVo = new PakoutVo();
+            Pla pla = plaService.selectOne(new EntityWrapper<Pla>()
+                    .eq("batch", pakout.getBatch())
+                    .eq("package_no", pakout.getBarcode())
+                    .eq("brand", pakout.getMaktx()));
+            BeanUtils.copyProperties(pla,pakoutVo);
+            BeanUtils.copyProperties(pakout,pakoutVo);
+            pakoutVos.add(pakoutVo);
+        }
+        response.setContentType("application/vnd.ms-excel");
+        response.setCharacterEncoding("utf-8");
+        String fileName = URLEncoder.encode("鎷h揣鍗�", "UTF-8");
+        response.setHeader("Content-disposition", "attachment;filename=" + fileName+ orderNo + ".xlsx");
+        EasyExcel.write(response.getOutputStream(), PakoutVo.class)
+                .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy())
+                .sheet("琛�1")
+                .doWrite(pakoutVos);
+    }
+
 }
diff --git a/src/main/java/com/zy/asrs/controller/PlaController.java b/src/main/java/com/zy/asrs/controller/PlaController.java
index ed652b4..5e5abb6 100644
--- a/src/main/java/com/zy/asrs/controller/PlaController.java
+++ b/src/main/java/com/zy/asrs/controller/PlaController.java
@@ -3,6 +3,7 @@
 import com.alibaba.excel.EasyExcel;
 import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.mapper.Wrapper;
 import com.baomidou.mybatisplus.plugins.Page;
 import com.core.annotations.ManagerAuth;
 import com.core.common.Cools;
@@ -11,6 +12,7 @@
 import com.core.exception.CoolException;
 import com.zy.asrs.entity.*;
 import com.zy.asrs.entity.param.GlobleParameter;
+import com.zy.asrs.entity.result.KeyValueVo;
 import com.zy.asrs.service.*;
 import com.zy.asrs.utils.PlaExcelListener;
 import com.zy.asrs.utils.SaasUtils;
@@ -67,6 +69,11 @@
             wrapper.ne("status", "鍏ㄩ儴鍑哄簱");
         }
 
+        if (!Cools.isEmpty(param.get("batch")) && param.get("batch").toString().contains(",")){
+            String[] batchs = param.get("batch").toString().split(",");
+            wrapper.in("batch",batchs);
+            param.remove("batch");
+        }
 
         convert(param, wrapper);
         wrapper.orderBy("batch",true).orderBy("package_no" ,true);
@@ -148,7 +155,11 @@
         for (Pla pla : plas){
 
             if(pla.getStockFreeze() == 0){
-                throw new CoolException("搴撳瓨宸茶鍐荤粨锛岃閲嶆柊閫夋嫨搴撳瓨");
+//                throw new CoolException("搴撳瓨宸茶鍐荤粨锛岃閲嶆柊閫夋嫨搴撳瓨");
+                System.out.println(pla.getStockFreezeBy() + "," + getUser().getUsername());
+                if(!Cools.eq(pla.getStockFreezeBy(),getUser().getUsername())){
+                    throw new CoolException("璇ュ簱瀛樺凡琚叾浠栫敤鎴峰喕缁擄紝璇烽噸鏂伴�夋嫨");
+                }
             }
 
             allOrderWeight += pla.getOrderWeight();
@@ -229,7 +240,8 @@
         }
         for (Pla pla : plas){
             if (pla.getStockFreeze() == 0){
-                throw new CoolException("搴撳瓨宸茶鍐荤粨锛�");
+                continue;
+//                throw new CoolException("搴撳瓨宸茶鍐荤粨锛�");
             }
             pla.setStockFreeze(0);
             pla.setStockFreezeBy(getUser().getUsername());
@@ -248,7 +260,8 @@
         }
         for (Pla pla : plas){
             if (pla.getStockFreeze() == 1){
-                throw new CoolException("搴撲綅鏈喕缁擄紝鏃犻渶瑙e喕");
+                continue;
+//                throw new CoolException("搴撲綅鏈喕缁擄紝鏃犻渶瑙e喕");
             }
             if(!Cools.eq(pla.getStockFreezeBy(),getUser().getUsername())){
                 throw new CoolException("鏃犳硶瑙e喕鍏朵粬鐢ㄦ埛鍐荤粨鐨勫簱浣�");
@@ -337,6 +350,26 @@
         return R.ok().add(res);
     }
 
+    /*************************************** xm-select ***********************************************/
+
+    // xm-select 鎼滅储鎵瑰彿
+    @RequestMapping("/pla/batch/all/get/kv")
+    @ManagerAuth
+    public R getMatDataKV(@RequestParam(required = false) String condition) {
+        Wrapper<Pla> wrapper = new EntityWrapper<Pla>().setSqlSelect("batch")
+                .andNew().like("batch", condition)
+                .groupBy("batch");
+        List<Pla> plas = plaService.selectPage(new Page<Pla>(1, 30), wrapper).getRecords();
+        List<KeyValueVo> valueVos = new ArrayList<>();
+        for (Pla pla : plas) {
+            KeyValueVo vo = new KeyValueVo();
+            vo.setName(pla.getBatch());
+            vo.setValue(pla.getBatch());
+            valueVos.add(vo);
+        }
+        return R.ok().add(valueVos);
+    }
+
     private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){
         for (Map.Entry<String, Object> entry : map.entrySet()){
             String val = String.valueOf(entry.getValue());
diff --git a/src/main/java/com/zy/asrs/entity/param/PakOutDTO.java b/src/main/java/com/zy/asrs/entity/param/PakOutDTO.java
index c960b36..c8b7a00 100644
--- a/src/main/java/com/zy/asrs/entity/param/PakOutDTO.java
+++ b/src/main/java/com/zy/asrs/entity/param/PakOutDTO.java
@@ -10,6 +10,7 @@
 public class PakOutDTO {
     private String doc_num;
     private Date create_time;
+    private Date update_time;
     private Integer status;
     private String custName;
 
@@ -20,6 +21,13 @@
         return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.create_time);
     }
 
+    public String getUpdateTime$(){
+        if (Cools.isEmpty(this.update_time)){
+            return "";
+        }
+        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.create_time);
+    }
+
     public String getStatus$(){
         if (null == this.status){ return null; }
         switch (this.status){
diff --git a/src/main/java/com/zy/asrs/entity/result/PakoutVo.java b/src/main/java/com/zy/asrs/entity/result/PakoutVo.java
index 44a5d42..ca2a8ec 100644
--- a/src/main/java/com/zy/asrs/entity/result/PakoutVo.java
+++ b/src/main/java/com/zy/asrs/entity/result/PakoutVo.java
@@ -1,19 +1,45 @@
 package com.zy.asrs.entity.result;
 
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.zy.asrs.entity.Pla;
 import lombok.Data;
 
 /**
  * Created by vincent on 2021/3/22
  */
 @Data
-public class PakoutVo {
+public class PakoutVo extends Pla {
 
+    private static final long serialVersionUID = 1L;
+
+    @ExcelProperty({"鍗曟嵁", "鍗曟嵁缂栧彿"})
+    private String docNum;
+
+    @ExcelProperty({"鍗曟嵁", "搴撲綅"})
     private String locNo;
 
-    private String matnr;
+    @ExcelProperty({"鍗曟嵁", "鎵瑰彿"})
+    private String batch;
 
+    @ExcelProperty({"鍗曟嵁", "鍖呭彿"})
+    private String barcode;
+
+    @ExcelProperty({"鍗曟嵁", "鐗屽彿"})
+    private String maktx;
+
+    @ExcelProperty({"鍗曟嵁", "閲嶉噺"})
     private Double anfme;
 
-    private String zpallet;
+    @ExcelProperty({"鍗曟嵁", "鎷h揣閲嶉噺"})
+    private String count;
+
+    @ExcelProperty({"鍗曟嵁", "鐘舵��"})
+    private String status$;
+
+    @ExcelProperty({"鍗曟嵁", "澶囨敞"})
+    private String memo;
+
+    @ExcelProperty({"鍗曟嵁", "鍙戣揣鏃堕棿"})
+    private String specs;
 
 }
diff --git a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
index bbdb052..8a230c4 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -1268,6 +1268,7 @@
         manPakOut.setCount(manPakOut.getCount() + anfme);
         if (manPakOut.getAnfme().equals(manPakOut.getCount())){
             manPakOut.setStatus(1);
+            manPakOut.setUpdateTime(new Date());
             manPakOutService.updateById(manPakOut);
         }
 
@@ -1356,6 +1357,7 @@
         manPakOut.setMaktx(plaNew.getBrand());
         manPakOut.setBatch(plaNew.getBatch());
         manPakOut.setBarcode(plaNew.getPackageNo() + "");
+        manPakOut.setUpdateTime(new Date());
 
         manPakOutService.updateById(manPakOut);
 
diff --git a/src/main/java/com/zy/asrs/utils/PlaExcelListener.java b/src/main/java/com/zy/asrs/utils/PlaExcelListener.java
index e971964..781f919 100644
--- a/src/main/java/com/zy/asrs/utils/PlaExcelListener.java
+++ b/src/main/java/com/zy/asrs/utils/PlaExcelListener.java
@@ -87,12 +87,13 @@
 //                throw new CoolException("淇濆瓨鍟嗗搧淇℃伅澶辫触锛屽晢鍝佺紪鐮侊細" + excel.getMatnr());
 //            }
             total++;
-        }else if(Cools.eq(pla.getStatus(),GlobleParameter.PLA_STATUS_0) || Cools.eq(pla.getStatus(),GlobleParameter.PLA_STATUS_1) || Cools.eq(pla.getStatus(),GlobleParameter.PLA_STATUS_00)){
+        }else if(Cools.eq(pla.getStatus(),GlobleParameter.PLA_STATUS_0) || Cools.eq(pla.getStatus(),GlobleParameter.PLA_STATUS_00)){
             excel.setId(pla.getId());
             excel.setCreateTime(pla.getCreateTime());
             excel.setStatus(pla.getStatus());
             excel.setPakinTime(pla.getPakinTime());
             excel.setStash(pla.getStash());
+            excel.setStockFreeze(pla.getStockFreeze());
             if(Cools.isEmpty(excel.getLocNo())){
                 excel.setLocNo(pla.getLocNo());
             }
@@ -174,7 +175,7 @@
         pla.setStep(2);
         pla.setModifyTime(new Date());
         pla.setStatus(GlobleParameter.PLA_STATUS_00);
-        pla.setStockFreeze(1);
+        pla.setStockFreeze(Cools.isEmpty(excel.getStockFreeze()) ? 1 : excel.getStockFreeze());
         pla.setWeightAnfme(pla.getWeight());
         Mat mat = matService.selectByMaktx(pla.getBrand());
         if(Cools.isEmpty(mat)){
diff --git a/src/main/resources/mapper/ManPakOutMapper.xml b/src/main/resources/mapper/ManPakOutMapper.xml
index c89b305..b22b0f5 100644
--- a/src/main/resources/mapper/ManPakOutMapper.xml
+++ b/src/main/resources/mapper/ManPakOutMapper.xml
@@ -23,11 +23,11 @@
 
     <select id="selectPakOut" resultType="com.zy.asrs.entity.param.PakOutDTO">
         select * from (
-          SELECT status, doc_num,MAX(create_time) as create_time, cust_name as custName FROM man_pakout
+          SELECT status, doc_num,MAX(create_time) as create_time,MAX(update_time) as update_time, cust_name as custName FROM man_pakout
            where 1=1
             <include refid="selectPakOutSql"></include>
           GROUP BY doc_num,cust_name,status
-      ) t ORDER BY status
+      ) t ORDER BY status,update_time DESC
         OFFSET ((#{curr}-1)*#{limit}) ROWS
         FETCH NEXT #{limit} ROWS ONLY;
 
diff --git a/src/main/webapp/static/js/picking/picking.js b/src/main/webapp/static/js/picking/picking.js
index 8650d74..fdd5aa8 100644
--- a/src/main/webapp/static/js/picking/picking.js
+++ b/src/main/webapp/static/js/picking/picking.js
@@ -38,7 +38,8 @@
             ,{align: 'center', title: '鏄庣粏', toolbar: '#tbLook', minWidth: 160, width: 160}
             ,{field: 'status$', align: 'center',title: '鐘舵��'}
             ,{field: 'custName', align: 'center',title: '瀹㈡埛鍚嶇О', width: 160}
-            ,{field: 'createTime$', align: 'center',title: '鎿嶄綔鏃堕棿'}
+            ,{field: 'createTime$', align: 'center',title: '鍒涘缓鏃堕棿'}
+            ,{field: 'updateTime$', align: 'center',title: '鎿嶄綔鏃堕棿'}
             ,{align: 'center', title: '鎿嶄綔', toolbar: '#operate'}
 
         ]],
@@ -105,6 +106,9 @@
             case "del":
                 doDel(data);
                 break;
+            case "printExcel":
+                printExcel(data);
+                break;
             case "look":
                 var $a = $(obj.tr).find('a[lay-event="look"]');
                 var offset = $a.offset();
@@ -142,7 +146,7 @@
                                 // ,{field: 'matnr', align: 'center',title: '鐗╂枡鍙�'}
                                 ,{field: 'maktx', align: 'center',title: '鐗屽彿'}
                                 ,{field: 'anfme', align: 'center',title: '鏁伴噺'}
-                                ,{field: 'createTime$', align: 'center',title: '鎿嶄綔鏃堕棿'}
+                                ,{field: 'updateTime$', align: 'center',title: '鎿嶄綔鏃堕棿'}
                                 ,{field: 'count', align: 'center',title: '瀹屾垚鏁�'}
                                 ,{field: 'status$', align: 'center',title: '鐘舵��'}
                                 ,{field: 'memo', align: 'center',title: '澶囨敞'}
@@ -329,10 +333,9 @@
 
                         for (let i = 0; i < res.data.length; i++){
                             sum += res.data[i].anfme;
-                            console.log("sum:"+res.data.anfme);
-
                         }
                         json.anfmeSum = sum;
+                        json.custName = json.data[0].custName;
                         var barcodeUrl = baseUrl + "/ManPakOut/code/auth?type=1&param=" + res.data[0].docNum;
                         console.log("barcodeUrl:"+barcodeUrl);
                         json.barcodeUrl = barcodeUrl;
@@ -393,9 +396,14 @@
         });
     }
 
-
-
-
+    function printExcel(data){
+        layer.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function(){
+            layer.closeAll();
+            layer.load(1, {shade: [0.1,'#fff']});
+            location.href = baseUrl+"/pakout/printExport/auth?orderNo="+data.doc_num;
+            layer.closeAll('loading');
+        });
+    }
 
 });
 
diff --git a/src/main/webapp/static/js/pla/plaDetl.js b/src/main/webapp/static/js/pla/plaDetl.js
index 5e25d4e..041d0d3 100644
--- a/src/main/webapp/static/js/pla/plaDetl.js
+++ b/src/main/webapp/static/js/pla/plaDetl.js
@@ -93,7 +93,7 @@
 
 layui.config({
     base: baseUrl + "/static/layui/lay/modules/"
-}).use(['table','laydate', 'form', 'admin', 'dropdown'], function() {
+}).use(['table','laydate', 'form', 'admin', 'xmSelect', 'dropdown'], function() {
     var dropdown = layui.dropdown;
     var table = layui.table;
     var $ = layui.jquery;
@@ -201,6 +201,36 @@
             });
         }
     });
+
+    // 娓叉煋鐗╂枡閫夋嫨
+    var matXmSelect = xmSelect.render({
+        el: '#mat',
+        style: {
+            width: '270px',
+        },
+        autoRow: true,
+        toolbar: { show: true },
+        filterable: true,
+        remoteSearch: true,
+        remoteMethod: function(val, cb, show){
+            $.ajax({
+                url: baseUrl+"/pla/batch/all/get/kv",
+                headers: {'token': localStorage.getItem('token')},
+                data: {
+                    condition: val
+                },
+                method: 'POST',
+                success: function (res) {
+                    if (res.code === 200){
+                        cb(res.data)
+                    } else {
+                        cb([]);
+                        layer.msg(res.msg, {icon: 2});
+                    }
+                }
+            });
+        }
+    })
 
     // 澶嶉�夋浜嬩欢
     table.on('checkbox(plaDetl)', function(obj){
@@ -559,6 +589,10 @@
         if(customValue !== undefined){
             searchData['type'] = customValue
         }
+        if(searchData.select){
+            searchData.batch = searchData.select;
+            searchData.select = null;
+        }
         (child ? parent.tableIns : tableIns).reload({
             where: searchData,
             page: {
diff --git a/src/main/webapp/static/js/pla/stockOut.js b/src/main/webapp/static/js/pla/stockOut.js
index a7a0fbd..63384d3 100644
--- a/src/main/webapp/static/js/pla/stockOut.js
+++ b/src/main/webapp/static/js/pla/stockOut.js
@@ -149,10 +149,10 @@
                             layer.msg("閫変腑鐨勬槑缁嗕腑鍚湁澶氱鐗屽彿锛岃閲嶆柊閫夋嫨");
                             return;
                         }
-                        if(data[i].stockFreeze === 0){
-                            layer.msg("閫変腑鐨勬槑缁嗕腑鍚湁鍐荤粨鐨勫簱瀛橈紝璇疯В鍐诲悗鎿嶄綔");
-                            return;
-                        }
+                        // if(data[i].stockFreeze === 0){
+                        //     layer.msg("閫変腑鐨勬槑缁嗕腑鍚湁鍐荤粨鐨勫簱瀛橈紝璇疯В鍐诲悗鎿嶄綔");
+                        //     return;
+                        // }
                     }
 
                     layer.open({
diff --git a/src/main/webapp/views/picking/picking.html b/src/main/webapp/views/picking/picking.html
index acb1649..ba776fe 100644
--- a/src/main/webapp/views/picking/picking.html
+++ b/src/main/webapp/views/picking/picking.html
@@ -76,15 +76,7 @@
 </script>
 <!-- 琛ㄦ牸鎿嶄綔鍒� -->
 <script type="text/html" id="operate">
-    {{# if (d.settle == 0 || d.settle == 1) { }}
-    <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="edit">淇敼</a>
-    <a class="layui-btn layui-btn-danger layui-btn-xs btn-delete" lay-event="del">鍒犻櫎</a>
-    {{# } }}
-    {{# if ((d.settle == 0 || d.settle == 1) && (d.docType == 21 || d.docType == 11 || d.docType == 12)) { }}
-    {{# } }}
-    {{# if (d.settle == 2) { }}
-    <a class="layui-btn layui-btn-primary layui-border-blue layui-btn-xs btn-complete" lay-event="complete">瀹岀粨</a>
-    {{# } }}
+    <a class="layui-btn layui-btn-primary layui-border-blue layui-btn-xs btn-complete" lay-event="printExcel">瀵煎嚭Excel</a>
     <a class="layui-btn layui-btn-primary layui-border-blue layui-btn-xs btn-complete" lay-event="btnPrint2">鎵撳嵃</a>
     <a class="layui-btn layui-btn-danger layui-btn-xs btn-delete" lay-event="del">鍒犻櫎</a>
  <!--   <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="btnPrint"><img src="../../static/image/nav/fn_3.png" alt="浜岀淮鐮�"></a>
@@ -174,6 +166,7 @@
         <div style="height: 50px;text-align: center;font-size: 25px;">{{docNum}}</div>
         <div style="height: 40px;text-align: left;line-height: 40px;font-size: 20px;">鍑哄簱鍗曞彿锛歿{docNum}}</div>
         <div style="height: 40px;text-align: left;line-height: 40px;font-size: 20px;">鎬绘暟閲忥細{{anfmeSum}}</div>
+        <div style="height: 40px;text-align: left;line-height: 40px;font-size: 20px;">瀹㈡埛鍚嶇О锛歿{custName}}</div>
     </div>
     {{#each data}}
     <table width="100%" style="border:0;border-bottom:#0C0C0C solid 2px; margin-bottom:20px;padding:0;overflow: hidden;font-size: xx-small;table-layout: fixed;">
@@ -212,6 +205,14 @@
                 {{this.locNo}}
             </td>
         </tr>
+        <tr style="height: 30px; font-size: 15px;">
+            <td align="left" scope="col" colspan="1" style="width: 100px;">
+                鍙戣揣鏃堕棿:
+            </td>
+            <td align="left" scope="col" colspan="1">
+                {{this.specs}}
+            </td>
+        </tr>
     </table>
     {{/each}}
 </script>
diff --git a/src/main/webapp/views/pla/locDetlQuery.html b/src/main/webapp/views/pla/locDetlQuery.html
index 86f1d2a..460df3f 100644
--- a/src/main/webapp/views/pla/locDetlQuery.html
+++ b/src/main/webapp/views/pla/locDetlQuery.html
@@ -57,9 +57,10 @@
     <!-- 鎼滅储鏍� -->
     <div id="search-box">
         <div class="layui-form layui-card-header">
-            <div class="layui-inline">
+            <div class="layui-inline" style="width: 270px">
                 <div class="layui-input-inline">
-                    <input class="layui-input" type="text" name="batch" placeholder="鎵瑰彿" autocomplete="off">
+                    <div id="mat" name="mat">
+                    </div>
                 </div>
             </div>
             <div class="layui-inline">
@@ -94,6 +95,15 @@
                         <option value="寰呭嚭搴�">寰呭嚭搴�</option>
                         <option value="閮ㄥ垎鍑哄簱">閮ㄥ垎鍑哄簱</option>
                         <option value="鍏ㄩ儴鍑哄簱">鍏ㄩ儴鍑哄簱</option>
+                    </select>
+                </div>
+            </div>
+            <div class="layui-inline">
+                <div class="layui-input-inline">
+                    <select name="stock_freeze">
+                        <option value="">鏄惁鍐荤粨</option>
+                        <option value="0">鏄�</option>
+                        <option value="1">鍚�</option>
                     </select>
                 </div>
             </div>
@@ -238,7 +248,7 @@
 
     layui.config({
         base: baseUrl + "/static/layui/lay/modules/"
-    }).use(['table','laydate', 'form', 'admin', 'tableMerge'], function() {
+    }).use(['table','laydate', 'form', 'admin', 'tableMerge', 'xmSelect'], function() {
         var table = layui.table;
         var $ = layui.jquery;
         var layer = layui.layer;
@@ -339,6 +349,36 @@
             }
         });
 
+        // 娓叉煋鐗╂枡閫夋嫨
+        var matXmSelect = xmSelect.render({
+            el: '#mat',
+            style: {
+                width: '270px',
+            },
+            autoRow: true,
+            toolbar: { show: true },
+            filterable: true,
+            remoteSearch: true,
+            remoteMethod: function(val, cb, show){
+                $.ajax({
+                    url: baseUrl+"/pla/batch/all/get/kv",
+                    headers: {'token': localStorage.getItem('token')},
+                    data: {
+                        condition: val
+                    },
+                    method: 'POST',
+                    success: function (res) {
+                        if (res.code === 200){
+                            cb(res.data)
+                        } else {
+                            cb([]);
+                            layer.msg(res.msg, {icon: 2});
+                        }
+                    }
+                });
+            }
+        })
+
         // 鐩戝惉澶村伐鍏锋爮浜嬩欢
         table.on('toolbar(stockOut)', function (obj) {
             var checkStatus = table.checkStatus(obj.config.id);
@@ -371,6 +411,10 @@
         $.each($('#search-box [name]').serializeArray(), function() {
             searchData[this.name] = this.value;
         });
+        if(searchData.select){
+            searchData.batch = searchData.select;
+            searchData.select = null;
+        }
         locDetlTableIns.reload({
             where: searchData,
         });
diff --git a/src/main/webapp/views/pla/plaDetl.html b/src/main/webapp/views/pla/plaDetl.html
index 8c07e1f..3e6e342 100644
--- a/src/main/webapp/views/pla/plaDetl.html
+++ b/src/main/webapp/views/pla/plaDetl.html
@@ -140,12 +140,28 @@
 <!-- 鎼滅储鏍� -->
 <div id="search-box" >
     <div class="layui-form layui-card-header">
-        <div class="layui-inline">
+        <div class="layui-inline" style="width: 70px">
             <div class="layui-input-inline">
-                <input class="layui-input" type="text" name="batch" placeholder="鎵瑰彿" autocomplete="off">
+                <input class="layui-input" type="text" name="package_noMin" placeholder="鏈�灏忓寘鍙�" autocomplete="off">
             </div>
         </div>
-        <div class="layui-inline">
+        <div class="layui-inline" style="width: 70px">
+            <div class="layui-input-inline">
+                <input class="layui-input" type="text" name="package_noMax" placeholder="鏈�澶у寘鍙�" autocomplete="off">
+            </div>
+        </div>
+        <div class="layui-inline" style="width: 270px">
+            <div class="layui-input-inline">
+                <div id="mat" name="mat">
+                </div>
+            </div>
+        </div>
+<!--        <div class="layui-inline">-->
+<!--            <div class="layui-input-inline">-->
+<!--                <input class="layui-input" type="text" name="batch" placeholder="鎵瑰彿" autocomplete="off">-->
+<!--            </div>-->
+<!--        </div>-->
+        <div class="layui-inline" style="width: 80px">
             <div class="layui-input-inline cool-auto-complete">
                 <input id="maktx" class="layui-input" type="text" style="display: none">
                 <input id="maktxV" name="brand" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" placeholder="鐗屽彿" type="text" onfocus=this.blur()>
@@ -156,12 +172,12 @@
                 </div>
             </div>
         </div>
-        <div class="layui-inline">
+        <div class="layui-inline" style="width: 80px">
             <div class="layui-input-inline">
                 <input class="layui-input" type="text" name="type" placeholder="鐗╄祫绫诲埆" autocomplete="off">
             </div>
         </div>
-        <div class="layui-inline">
+        <div class="layui-inline" style="width: 80px">
             <div class="layui-input-inline">
                 <select name="status">
                     <option value="">閫夋嫨鐘舵��</option>
@@ -183,24 +199,14 @@
                 </select>
             </div>
         </div>
-        <div class="layui-inline">
+        <div class="layui-inline" style="width: 80px">
             <div class="layui-input-inline">
                 <input class="layui-input" type="text" name="package_type" placeholder="鍖呰绫诲瀷" autocomplete="off">
             </div>
         </div>
-        <div class="layui-inline">
+        <div class="layui-inline" style="width: 80px">
             <div class="layui-input-inline">
                 <input class="layui-input" type="text" name="zpallet_type" placeholder="鎵樼洏绫诲瀷" autocomplete="off">
-            </div>
-        </div>
-        <div class="layui-inline">
-            <div class="layui-input-inline">
-                <input class="layui-input" type="text" name="package_noMin" placeholder="鏈�灏忓寘鍙�" autocomplete="off">
-            </div>
-        </div>
-        <div class="layui-inline">
-            <div class="layui-input-inline">
-                <input class="layui-input" type="text" name="package_noMax" placeholder="鏈�澶у寘鍙�" autocomplete="off">
             </div>
         </div>
         <div class="layui-inline">
diff --git a/src/main/webapp/views/pla2/plaDetl.html b/src/main/webapp/views/pla2/plaDetl.html
index bf879d3..e764e11 100644
--- a/src/main/webapp/views/pla2/plaDetl.html
+++ b/src/main/webapp/views/pla2/plaDetl.html
@@ -129,10 +129,10 @@
 
 <!-- 鍔熻兘鍖� -->
 <div class="function-area">
-<!--    <button id="rework" style="alignment: right" class="function-btn">閲嶅仛</button>-->
+    <!--    <button id="rework" style="alignment: right" class="function-btn">閲嶅仛</button>-->
     <button id="updateZpallet" style="alignment: right; display: none" class="function-btn1">鎹㈠寘瑁�/鎵樼洏/缂犺啘</button>  |
     <button id="sellout" style="alignment: right; display: none" class="function-btn">鍑哄簱</button>
-<!--    <button id="pickup" style="alignment: right" class="function-btn">鍙栬揣</button>  |-->
+    <!--    <button id="pickup" style="alignment: right" class="function-btn">鍙栬揣</button>  |-->
     <button id="returned" style="alignment: right; display: none" class="function-btn">閫�鍥�</button>
     <button id="updateOwner" style="alignment: right; display: none" class="function-btn">鍙樻洿涓讳綋</button>
 </div>
@@ -140,12 +140,28 @@
 <!-- 鎼滅储鏍� -->
 <div id="search-box" >
     <div class="layui-form layui-card-header">
-        <div class="layui-inline">
+        <div class="layui-inline" style="width: 70px">
             <div class="layui-input-inline">
-                <input class="layui-input" type="text" name="batch" placeholder="鎵瑰彿" autocomplete="off">
+                <input class="layui-input" type="text" name="package_noMin" placeholder="鏈�灏忓寘鍙�" autocomplete="off">
             </div>
         </div>
-        <div class="layui-inline">
+        <div class="layui-inline" style="width: 70px">
+            <div class="layui-input-inline">
+                <input class="layui-input" type="text" name="package_noMax" placeholder="鏈�澶у寘鍙�" autocomplete="off">
+            </div>
+        </div>
+        <div class="layui-inline" style="width: 270px">
+            <div class="layui-input-inline">
+                <div id="mat" name="mat">
+                </div>
+            </div>
+        </div>
+        <!--        <div class="layui-inline">-->
+        <!--            <div class="layui-input-inline">-->
+        <!--                <input class="layui-input" type="text" name="batch" placeholder="鎵瑰彿" autocomplete="off">-->
+        <!--            </div>-->
+        <!--        </div>-->
+        <div class="layui-inline" style="width: 80px">
             <div class="layui-input-inline cool-auto-complete">
                 <input id="maktx" class="layui-input" type="text" style="display: none">
                 <input id="maktxV" name="brand" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" placeholder="鐗屽彿" type="text" onfocus=this.blur()>
@@ -161,9 +177,8 @@
                 <input class="layui-input" type="text" name="type" value="鏀规�ф爲鑴�" placeholder="鐗╄祫绫诲埆" autocomplete="off">
             </div>
         </div>
-        <div class="layui-inline">
+        <div class="layui-inline" style="width: 80px">
             <div class="layui-input-inline">
-<!--                <input class="layui-input" type="text" name="status" placeholder="鐘舵��" autocomplete="off">-->
                 <select name="status">
                     <option value="">閫夋嫨鐘舵��</option>
                     <option value="鏆傚叆搴�">鏆傚叆搴�</option>
@@ -184,24 +199,14 @@
                 </select>
             </div>
         </div>
-        <div class="layui-inline">
+        <div class="layui-inline" style="width: 80px">
             <div class="layui-input-inline">
                 <input class="layui-input" type="text" name="package_type" placeholder="鍖呰绫诲瀷" autocomplete="off">
             </div>
         </div>
-        <div class="layui-inline">
+        <div class="layui-inline" style="width: 80px">
             <div class="layui-input-inline">
                 <input class="layui-input" type="text" name="zpallet_type" placeholder="鎵樼洏绫诲瀷" autocomplete="off">
-            </div>
-        </div>
-        <div class="layui-inline">
-            <div class="layui-input-inline">
-                <input class="layui-input" type="text" name="package_noMin" placeholder="鏈�灏忓寘鍙�" autocomplete="off">
-            </div>
-        </div>
-        <div class="layui-inline">
-            <div class="layui-input-inline">
-                <input class="layui-input" type="text" name="package_noMax" placeholder="鏈�澶у寘鍙�" autocomplete="off">
             </div>
         </div>
         <div class="layui-inline">
@@ -213,14 +218,14 @@
             <!--            <div class="layui-input-inline">-->
             <!--                <input class="layui-input layui-laydate-range" name="create_time" type="text" placeholder="璧峰鏃堕棿 - 缁堟鏃堕棿" autocomplete="off" style="width: 300px">-->
             <!--            </div>-->
-            <div class="layui-input-inline" style="width: 290px">
-                <input type="text" class="layui-input" name="create_time" id="ID-laydate-range-datetime" placeholder="璧峰鏃堕棿 - 缁堟鏃堕棿">
+            <div class="layui-input-inline">
+                <input type="text" class="layui-input"  style="width: 290px" name="create_time" id="ID-laydate-range-datetime" placeholder="璧峰鏃堕棿 - 缁堟鏃堕棿">
             </div>
         </div>
         <!-- 寰呮坊鍔� -->
         <div id="data-search-btn" class="layui-btn-container layui-form-item" style="display: inline-block">
             <button id="search" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="search">鎼滅储</button>
-            <button id="reset" data-value="鏀规�ф爲鑴�" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="reset">閲嶇疆</button>
+            <button id="reset" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="reset">閲嶇疆</button>
             <!--        <button id="unreason" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="unreason">鏌ョ湅寮傚父鏁版嵁</button>-->
         </div>
     </div>
@@ -296,6 +301,7 @@
             </div>
         </div>
     </div>
+
 </div>
 <script type="text/html" id="toolbar">
     <div class="layui-btn-container">
@@ -318,8 +324,8 @@
                 <li><a onclick="importExcel()" style="font-size: 12px"><i class="layui-icon layui-icon-upload"></i>瀵煎叆 Excel</a></li>
                 <li style="display: none"><input id="importExcel" type="file" onchange="upload(this)" ></li>
                 <hr>
-<!--                <li class="title">2nd menu</li>-->
-<!--                <li><a onclick="exportExcel()" style="font-size: 12px"><i class="layui-icon layui-icon-export"></i>瀵煎嚭 Excel</a></li>-->
+                <!--                <li class="title">2nd menu</li>-->
+                <!--                <li><a onclick="exportExcel()" style="font-size: 12px"><i class="layui-icon layui-icon-export"></i>瀵煎嚭 Excel</a></li>-->
             </ul>
         </div>
         <!--        <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData" style="float: right;margin-right: -10px">瀵煎嚭</button>-->
@@ -376,9 +382,9 @@
                             Address锛歂o. 188, Taizhou Bay Avenue, Taizhou Bay New Area, Taizhou City, Zhejiang Province
                         </div>
                     </div>
-<!--                    <div class="layui-row" style="font-size: xx-large; text-align: left; margin-left: 40px;">-->
-<!--                        </n>鑱氫钩閰� Polylactic Acid-->
-<!--                    </div>-->
+                    <!--                    <div class="layui-row" style="font-size: xx-large; text-align: left; margin-left: 40px;">-->
+                    <!--                        </n>鑱氫钩閰� Polylactic Acid-->
+                    <!--                    </div>-->
                     <div class="layui-row" style="alignment: center; margin-left: 65px;">
                         <table class="contain" width="400" style="overflow: hidden;font-size: xx-small;table-layout: fixed;">
                             <tr style="height: 74px" >
@@ -426,7 +432,7 @@
 <!-- 妯℃澘3 -->
 <script type="text/template" id="templatePreview1" class="template-qrcode">
     <div class="template-preview">
-    {{#each data}}
+        {{#each data}}
         <div class="layui-row" style="height: 230px;width: 750px; color:#000; margin-top: 40px">
             <div class="layui-col-xs6" style="height: auto; margin-top: 25px; margin-left: -20px">
                 <img src="../../static/image/hneLogo.png" style="display: inline-block; width: 40%;height: 30%; margin-left: 30px; color:#000;">
@@ -436,9 +442,9 @@
                 No.188 Taizhou Bay Avenue, Taizhou Bay New Area, Taizhou City, Zhejiang Province. P.R.China
             </div>
         </div>
-<!--        <div class="layui-row" style="font-size: xx-large; text-align: left; margin-left: 40px;">-->
-<!--            鑱氫钩閰� Polylactic Acid-->
-<!--        </div>-->
+        <!--        <div class="layui-row" style="font-size: xx-large; text-align: left; margin-left: 40px;">-->
+        <!--            鑱氫钩閰� Polylactic Acid-->
+        <!--        </div>-->
         <div class="layui-row" style="alignment: center; margin-left: 35px; margin-top: -20px; margin-bottom: 3.7px;">
             <table class="contain" width="500" style="overflow: hidden;table-layout: fixed; color:#000; font-size: 35px;text-align: left">
                 <tr style="height: 100px;" >
@@ -446,7 +452,7 @@
                 </tr>
                 <tr style="height: 100px; text-align: left" >
                     <td align="center" scope="col" colspan="2" style="font-weight: bold;color: black; text-align: left; padding-left: 20px"><strong>鐗屽彿: REVODE {{this.brand}}</strong></td>
-<!--                    <td align="center" colspan="1" style="font-weight: bold;color: black;overflow:hidden; white-space:normal; "><strong style="font-weight: bold;color: black;">REVODE {{this.brand}}</strong></td>-->
+                    <!--                    <td align="center" colspan="1" style="font-weight: bold;color: black;overflow:hidden; white-space:normal; "><strong style="font-weight: bold;color: black;">REVODE {{this.brand}}</strong></td>-->
                 </tr>
                 <tr style="height: 100px;text-align: left">
                     <td align="center" colspan="2" style="font-weight: bold;color: black; text-align: left; padding-left: 20px"><strong>鎵瑰彿锛歿{this.batch}}</strong></td>
@@ -467,8 +473,8 @@
                 </tr>
             </table>
         </div>
-    </br>
-    {{/each}}
+        </br>
+        {{/each}}
     </div>
 </script>
 
diff --git a/src/main/webapp/views/pla3/plaDetl.html b/src/main/webapp/views/pla3/plaDetl.html
index b0bd2c8..6890cbc 100644
--- a/src/main/webapp/views/pla3/plaDetl.html
+++ b/src/main/webapp/views/pla3/plaDetl.html
@@ -129,10 +129,10 @@
 
 <!-- 鍔熻兘鍖� -->
 <div class="function-area">
-<!--    <button id="rework" style="alignment: right" class="function-btn">閲嶅仛</button>-->
+    <!--    <button id="rework" style="alignment: right" class="function-btn">閲嶅仛</button>-->
     <button id="updateZpallet" style="alignment: right; display: none" class="function-btn1">鎹㈠寘瑁�/鎵樼洏/缂犺啘</button>  |
     <button id="sellout" style="alignment: right; display: none" class="function-btn">鍑哄簱</button>
-<!--    <button id="pickup" style="alignment: right" class="function-btn">鍙栬揣</button>  |-->
+    <!--    <button id="pickup" style="alignment: right" class="function-btn">鍙栬揣</button>  |-->
     <button id="returned" style="alignment: right; display: none" class="function-btn">閫�鍥�</button>
     <button id="updateOwner" style="alignment: right; display: none" class="function-btn">鍙樻洿涓讳綋</button>
 </div>
@@ -140,12 +140,28 @@
 <!-- 鎼滅储鏍� -->
 <div id="search-box" >
     <div class="layui-form layui-card-header">
-        <div class="layui-inline">
+        <div class="layui-inline" style="width: 70px">
             <div class="layui-input-inline">
-                <input class="layui-input" type="text" name="batch" placeholder="鎵瑰彿" autocomplete="off">
+                <input class="layui-input" type="text" name="package_noMin" placeholder="鏈�灏忓寘鍙�" autocomplete="off">
             </div>
         </div>
-        <div class="layui-inline">
+        <div class="layui-inline" style="width: 70px">
+            <div class="layui-input-inline">
+                <input class="layui-input" type="text" name="package_noMax" placeholder="鏈�澶у寘鍙�" autocomplete="off">
+            </div>
+        </div>
+        <div class="layui-inline" style="width: 270px">
+            <div class="layui-input-inline">
+                <div id="mat" name="mat">
+                </div>
+            </div>
+        </div>
+        <!--        <div class="layui-inline">-->
+        <!--            <div class="layui-input-inline">-->
+        <!--                <input class="layui-input" type="text" name="batch" placeholder="鎵瑰彿" autocomplete="off">-->
+        <!--            </div>-->
+        <!--        </div>-->
+        <div class="layui-inline" style="width: 80px">
             <div class="layui-input-inline cool-auto-complete">
                 <input id="maktx" class="layui-input" type="text" style="display: none">
                 <input id="maktxV" name="brand" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" placeholder="鐗屽彿" type="text" onfocus=this.blur()>
@@ -161,9 +177,8 @@
                 <input class="layui-input" type="text" name="type" value="绾爲鑴�" placeholder="鐗╄祫绫诲埆" autocomplete="off">
             </div>
         </div>
-        <div class="layui-inline">
+        <div class="layui-inline" style="width: 80px">
             <div class="layui-input-inline">
-<!--                <input class="layui-input" type="text" name="status" placeholder="鐘舵��" autocomplete="off">-->
                 <select name="status">
                     <option value="">閫夋嫨鐘舵��</option>
                     <option value="鏆傚叆搴�">鏆傚叆搴�</option>
@@ -184,24 +199,14 @@
                 </select>
             </div>
         </div>
-        <div class="layui-inline">
+        <div class="layui-inline" style="width: 80px">
             <div class="layui-input-inline">
                 <input class="layui-input" type="text" name="package_type" placeholder="鍖呰绫诲瀷" autocomplete="off">
             </div>
         </div>
-        <div class="layui-inline">
+        <div class="layui-inline" style="width: 80px">
             <div class="layui-input-inline">
                 <input class="layui-input" type="text" name="zpallet_type" placeholder="鎵樼洏绫诲瀷" autocomplete="off">
-            </div>
-        </div>
-        <div class="layui-inline">
-            <div class="layui-input-inline">
-                <input class="layui-input" type="text" name="package_noMin" placeholder="鏈�灏忓寘鍙�" autocomplete="off">
-            </div>
-        </div>
-        <div class="layui-inline">
-            <div class="layui-input-inline">
-                <input class="layui-input" type="text" name="package_noMax" placeholder="鏈�澶у寘鍙�" autocomplete="off">
             </div>
         </div>
         <div class="layui-inline">
@@ -213,14 +218,14 @@
             <!--            <div class="layui-input-inline">-->
             <!--                <input class="layui-input layui-laydate-range" name="create_time" type="text" placeholder="璧峰鏃堕棿 - 缁堟鏃堕棿" autocomplete="off" style="width: 300px">-->
             <!--            </div>-->
-            <div class="layui-input-inline" style="width: 290px">
-                <input type="text" class="layui-input" name="create_time" id="ID-laydate-range-datetime" placeholder="璧峰鏃堕棿 - 缁堟鏃堕棿">
+            <div class="layui-input-inline">
+                <input type="text" class="layui-input"  style="width: 290px" name="create_time" id="ID-laydate-range-datetime" placeholder="璧峰鏃堕棿 - 缁堟鏃堕棿">
             </div>
         </div>
         <!-- 寰呮坊鍔� -->
         <div id="data-search-btn" class="layui-btn-container layui-form-item" style="display: inline-block">
             <button id="search" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="search">鎼滅储</button>
-            <button id="reset" data-value="绾爲鑴�" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="reset">閲嶇疆</button>
+            <button id="reset" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="reset">閲嶇疆</button>
             <!--        <button id="unreason" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="unreason">鏌ョ湅寮傚父鏁版嵁</button>-->
         </div>
     </div>
@@ -296,6 +301,7 @@
             </div>
         </div>
     </div>
+
 </div>
 <script type="text/html" id="toolbar">
     <div class="layui-btn-container">
@@ -318,8 +324,8 @@
                 <li><a onclick="importExcel()" style="font-size: 12px"><i class="layui-icon layui-icon-upload"></i>瀵煎叆 Excel</a></li>
                 <li style="display: none"><input id="importExcel" type="file" onchange="upload(this)" ></li>
                 <hr>
-<!--                <li class="title">2nd menu</li>-->
-<!--                <li><a onclick="exportExcel()" style="font-size: 12px"><i class="layui-icon layui-icon-export"></i>瀵煎嚭 Excel</a></li>-->
+                <!--                <li class="title">2nd menu</li>-->
+                <!--                <li><a onclick="exportExcel()" style="font-size: 12px"><i class="layui-icon layui-icon-export"></i>瀵煎嚭 Excel</a></li>-->
             </ul>
         </div>
         <!--        <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData" style="float: right;margin-right: -10px">瀵煎嚭</button>-->
@@ -376,9 +382,9 @@
                             Address锛歂o. 188, Taizhou Bay Avenue, Taizhou Bay New Area, Taizhou City, Zhejiang Province
                         </div>
                     </div>
-<!--                    <div class="layui-row" style="font-size: xx-large; text-align: left; margin-left: 40px;">-->
-<!--                        </n>鑱氫钩閰� Polylactic Acid-->
-<!--                    </div>-->
+                    <!--                    <div class="layui-row" style="font-size: xx-large; text-align: left; margin-left: 40px;">-->
+                    <!--                        </n>鑱氫钩閰� Polylactic Acid-->
+                    <!--                    </div>-->
                     <div class="layui-row" style="alignment: center; margin-left: 65px;">
                         <table class="contain" width="400" style="overflow: hidden;font-size: xx-small;table-layout: fixed;">
                             <tr style="height: 74px" >
@@ -426,7 +432,7 @@
 <!-- 妯℃澘3 -->
 <script type="text/template" id="templatePreview1" class="template-qrcode">
     <div class="template-preview">
-    {{#each data}}
+        {{#each data}}
         <div class="layui-row" style="height: 230px;width: 750px; color:#000; margin-top: 40px">
             <div class="layui-col-xs6" style="height: auto; margin-top: 25px; margin-left: -20px">
                 <img src="../../static/image/hneLogo.png" style="display: inline-block; width: 40%;height: 30%; margin-left: 30px; color:#000;">
@@ -436,9 +442,9 @@
                 No.188 Taizhou Bay Avenue, Taizhou Bay New Area, Taizhou City, Zhejiang Province. P.R.China
             </div>
         </div>
-<!--        <div class="layui-row" style="font-size: xx-large; text-align: left; margin-left: 40px;">-->
-<!--            鑱氫钩閰� Polylactic Acid-->
-<!--        </div>-->
+        <!--        <div class="layui-row" style="font-size: xx-large; text-align: left; margin-left: 40px;">-->
+        <!--            鑱氫钩閰� Polylactic Acid-->
+        <!--        </div>-->
         <div class="layui-row" style="alignment: center; margin-left: 35px; margin-top: -20px; margin-bottom: 3.7px;">
             <table class="contain" width="500" style="overflow: hidden;table-layout: fixed; color:#000; font-size: 35px;text-align: left">
                 <tr style="height: 100px;" >
@@ -446,7 +452,7 @@
                 </tr>
                 <tr style="height: 100px; text-align: left" >
                     <td align="center" scope="col" colspan="2" style="font-weight: bold;color: black; text-align: left; padding-left: 20px"><strong>鐗屽彿: REVODE {{this.brand}}</strong></td>
-<!--                    <td align="center" colspan="1" style="font-weight: bold;color: black;overflow:hidden; white-space:normal; "><strong style="font-weight: bold;color: black;">REVODE {{this.brand}}</strong></td>-->
+                    <!--                    <td align="center" colspan="1" style="font-weight: bold;color: black;overflow:hidden; white-space:normal; "><strong style="font-weight: bold;color: black;">REVODE {{this.brand}}</strong></td>-->
                 </tr>
                 <tr style="height: 100px;text-align: left">
                     <td align="center" colspan="2" style="font-weight: bold;color: black; text-align: left; padding-left: 20px"><strong>鎵瑰彿锛歿{this.batch}}</strong></td>
@@ -467,8 +473,8 @@
                 </tr>
             </table>
         </div>
-    </br>
-    {{/each}}
+        </br>
+        {{/each}}
     </div>
 </script>
 

--
Gitblit v1.9.1