From e235d483194ab95bf62d1cfd343a172ff12781e8 Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期六, 13 四月 2024 14:58:24 +0800
Subject: [PATCH] 聚乳酸库存明细 1.批号与包号排序需同步,增加水分,挥发段,分解段搜索,按照最大最小范围,包装类型跟托盘类型增加删选功能。 2.已经出库的物料,在明细表里面隐藏掉,但是数据保留。 3.增加二个跟聚乳酸一样的明细表,分改性树脂,纯树脂库存明细表,所有功能跟总的聚乳酸库存明细表一样 4.明细表整体框架调整一下,相对压缩一下,搜索功能框看看能否弄成二行 5.表里面的包装类型与托盘类型这些不主要的信息放到指标后面 6.关于分包再处理,举例原有系统里面销售选定的10包物料,再二次重新弄后,车间打印新标签,使用新的包号,在明细表里面体现原有所有指标信息及批号,包号,牌号跟新的关联 7.出库时候时间可选历史,不要就只能出现4天 8.提取库存里面需要有最大包号跟最小包号选择

---
 src/main/webapp/views/pla/locDetlQuery.html                |  106 
 src/main/webapp/views/pla2/waitingPakin.html               |  114 +
 src/main/webapp/views/pla2/updateOwner.html                |  121 +
 src/main/webapp/views/pla3/locDetlQuery.html               |  371 +++
 src/main/webapp/views/pla3/stockOut.html                   |  131 +
 src/main/webapp/static/js/pla/plaDetl.js                   |   25 
 src/main/webapp/views/pla3/pickup.html                     |  211 ++
 src/main/webapp/views/pla3/sellout1.html                   |  340 +++
 src/main/webapp/views/pla3/updateOwner.html                |  121 +
 src/main/webapp/views/pla3/waitingPakin.html               |  114 +
 src/main/webapp/views/pla2/returned.html                   |  197 ++
 src/main/webapp/views/pla3/productionInfo.html             |  125 +
 src/main/webapp/views/pla2/locDetlQuery.html               |  371 +++
 src/main/webapp/views/pla2/update.html                     |  147 +
 src/main/webapp/views/pla3/sellout.html                    |  335 +++
 src/main/webapp/views/pla2/qualityInfo.html                |  114 +
 src/main/java/com/zy/asrs/controller/PlaController.java    |    7 
 src/main/webapp/views/pla3/plaDetl.html                    |  468 ++++
 src/main/webapp/views/pla2/plaDetl.html                    |  468 ++++
 src/main/webapp/views/pla2/stockOut.html                   |  131 +
 src/main/webapp/views/pla2/sellout1.html                   |  340 +++
 src/main/webapp/views/pla2/pickup.html                     |  211 ++
 src/main/resources/mapper/PlaMapper.xml                    |   23 
 src/main/java/com/zy/asrs/entity/Pla.java                  |   15 
 src/main/webapp/views/pla2/sellout.html                    |  335 +++
 src/main/webapp/views/pla3/update.html                     |  147 +
 src/main/java/com/zy/asrs/service/impl/PlaServiceImpl.java |   16 
 src/main/webapp/views/pla/sellout.html                     |   30 
 src/main/webapp/views/pla3/returned.html                   |  197 ++
 src/main/webapp/views/pla3/qualityInfo.html                |  114 +
 src/main/webapp/views/pla/plaDetl.html                     |   79 
 src/main/java/com/zy/asrs/mapper/PlaMapper.java            |    5 
 src/main/webapp/views/pla2/productionInfo.html             |  125 +
 33 files changed, 5,585 insertions(+), 69 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/PlaController.java b/src/main/java/com/zy/asrs/controller/PlaController.java
index 70bc1e3..da4ebed 100644
--- a/src/main/java/com/zy/asrs/controller/PlaController.java
+++ b/src/main/java/com/zy/asrs/controller/PlaController.java
@@ -62,9 +62,14 @@
             wrapper.eq("brand",param.get("brand"));
             param.remove("brand");
         }
+        // 娌℃湁閫夋嫨鐨勬椂鍊欓粯璁や笉鏄剧ず宸插嚭搴撶殑鐗╂枡
+        if (Cools.isEmpty(param.get("status"))) {
+            wrapper.ne("status", "鍏ㄩ儴鍑哄簱");
+        }
+
 
         convert(param, wrapper);
-        wrapper.orderBy("modify_time",false);
+        wrapper.orderBy("batch",true).orderBy("package_no" ,true);
         allLike(Pla.class, param.keySet(), wrapper, condition);
         return R.ok(plaService.selectPage(new Page<>(curr, limit), wrapper));
     }
diff --git a/src/main/java/com/zy/asrs/entity/Pla.java b/src/main/java/com/zy/asrs/entity/Pla.java
index 3f3c68c..55dc517 100644
--- a/src/main/java/com/zy/asrs/entity/Pla.java
+++ b/src/main/java/com/zy/asrs/entity/Pla.java
@@ -69,6 +69,21 @@
     @ExcelProperty(value = "鍖呰鍙�")
     private Integer packageNo;
 
+    //鐗屽彿
+    @ExcelProperty(value = "鍏宠仈鐗屽彿")
+    @TableField("new_brand")
+    private String newBrand;
+
+    //鎵瑰彿
+    @TableField("new_batch")
+    @ExcelProperty(value = "鍏宠仈鎵瑰彿")
+    private String newBatch;
+
+    //鍖呰鍙�
+    @TableField("new_package_no")
+    @ExcelProperty(value = "鍏宠仈鍖呰鍙�")
+    private Integer newPackageNo;
+
     //鍖呰鍙�
     @ExcelProperty(value = "鐢熶骇鏃ユ湡")
     @TableField("pro_date")
diff --git a/src/main/java/com/zy/asrs/mapper/PlaMapper.java b/src/main/java/com/zy/asrs/mapper/PlaMapper.java
index eb64e27..9c5b708 100644
--- a/src/main/java/com/zy/asrs/mapper/PlaMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/PlaMapper.java
@@ -7,6 +7,7 @@
 import org.apache.ibatis.annotations.Select;
 import org.springframework.stereotype.Repository;
 
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
@@ -17,8 +18,8 @@
     @Select("select brand, matnr,workshop, sum(weight_anfme) as weight from asr_pla_detl where brand = #{brand} GROUP BY brand,matnr,workshop ORDER BY matnr,workshop")
     List<Pla> getStockStatisAllByBrand(@Param("brand") String brand);
 
-    @Select("select brand, matnr,workshop , sum(weight_anfme) as weight from asr_pla_detl GROUP BY brand,matnr,workshop ORDER BY matnr,workshop desc")
-    List<Pla> getStockStatisAll();
+//    @Select("select brand, matnr,workshop , sum(weight_anfme) as weight from asr_pla_detl GROUP BY brand,matnr,workshop ORDER BY matnr,workshop desc")
+    List<Pla> getStockStatisAll(@Param("brand") String brand,@Param("status") String status,@Param("stime") Date stime, @Param("etime") Date etime);
 
 
     Integer getStockStatisCountAll(Map<String, Object> map);
diff --git a/src/main/java/com/zy/asrs/service/impl/PlaServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/PlaServiceImpl.java
index c87188c..6cbd4cd 100644
--- a/src/main/java/com/zy/asrs/service/impl/PlaServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/PlaServiceImpl.java
@@ -5,6 +5,7 @@
 import com.baomidou.mybatisplus.plugins.Page;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
 import com.core.common.Cools;
+import com.core.common.DateUtils;
 import com.core.exception.CoolException;
 import com.zy.asrs.entity.OrderDetl;
 import com.zy.asrs.entity.Pla;
@@ -154,11 +155,18 @@
     public Page<Pla> getStockStatisAll(Page<Pla> page) {
 
         List<Pla> plaList;
-        if(Cools.isEmpty(page.getCondition().get("brand"))){
-            plaList=baseMapper.getStockStatisAll();
-        }else {
-            plaList = baseMapper.getStockStatisAllByBrand(page.getCondition().get("brand").toString());
+        Date stime = null;
+        Date etime = null;
+        Object create_time = page.getCondition().get("create_time");
+        Object brand = page.getCondition().get("brand");
+        Object status = page.getCondition().get("status");
+        String createTime = create_time == null ? null : create_time.toString();
+        if(!Cools.isEmpty(createTime)){
+            String[] dates = createTime.split(" - ");
+            stime = DateUtils.convert(dates[0]);
+            etime = DateUtils.convert(dates[1]);
         }
+        plaList=baseMapper.getStockStatisAll(brand == null ? null:brand.toString(), status == null ? null:status.toString(),  stime,etime);
 
         double weightSum = plaList.stream().mapToDouble(Pla::getWeight).sum();
 
diff --git a/src/main/resources/mapper/PlaMapper.xml b/src/main/resources/mapper/PlaMapper.xml
new file mode 100644
index 0000000..1c1f62d
--- /dev/null
+++ b/src/main/resources/mapper/PlaMapper.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="com.zy.asrs.mapper.PlaMapper">
+    <select id="getStockStatisAll" resultType="com.zy.asrs.entity.Pla">
+        select brand, matnr,workshop, sum(weight_anfme) as weight
+        from asr_pla_detl
+        <where>
+            <if test="brand != null and brand != ''">
+                and brand = #{brand}
+            </if>
+            <if test="stime != null">
+                and pakin_time >= #{stime}
+            </if>
+            <if test="etime != null">
+                and pakin_time &lt;= #{etime}
+            </if>
+            <if test="status != null and status != ''">
+                and status = #{status}
+            </if>
+        </where>
+        GROUP BY brand,matnr,workshop ORDER BY matnr,workshop
+    </select>
+</mapper>
\ No newline at end of file
diff --git a/src/main/webapp/static/js/pla/plaDetl.js b/src/main/webapp/static/js/pla/plaDetl.js
index 4e9c560..5e25d4e 100644
--- a/src/main/webapp/static/js/pla/plaDetl.js
+++ b/src/main/webapp/static/js/pla/plaDetl.js
@@ -21,8 +21,6 @@
         ,{field: 'packageNo', align: 'center',title: '鍖呰鍙�',edit:true, sort:true}
         ,{field: 'proDate', align: 'center',title: '鐢熶骇鏃ユ湡',edit:true, width: 100}
         ,{field: 'weight', align: 'center',title: '閲嶉噺KG',edit:true,totalRow:true}
-        ,{field: 'packageType', align: 'center',title: '鍖呰绫诲瀷',edit:true}
-        ,{field: 'zpalletType', align: 'center',title: '鎵樼洏绫诲瀷',edit:true}
         ,{field: 'filmWrap', align: 'center',title: '缂犺啘',edit:true,hide:true}
         ,{field: 'fingerMelting', align: 'center',title: '鐔旀寚锛実/10min',edit:true}
         ,{field: 'water', align: 'center',title: '姘村垎锛宲pm', hide:true,edit:true}
@@ -41,6 +39,8 @@
         ,{field: 'str4', align: 'center',title: '缁村崱锛屸剝',hide:true,edit:true}
         ,{field: 'str5', align: 'center',title: '鍗婄粨鏅舵椂闂达紝min',hide:true,edit:true}
         ,{field: 'str6', align: 'center',title: '缁撴櫠搴︼紝%',hide:true,edit:true}
+        ,{field: 'packageType', align: 'center',title: '鍖呰绫诲瀷',edit:true}
+        ,{field: 'zpalletType', align: 'center',title: '鎵樼洏绫诲瀷',edit:true}
         ,{field: 'massState', align: 'center',title: '璐ㄩ噺鐘舵��',edit:true}
         ,{field: 'problem', align: 'center',title: '澶囨敞',edit:true,hide:true}
         ,{field: 'direction', align: 'center',title: '搴旂敤鏂瑰悜',edit:true,hide:true}
@@ -60,6 +60,9 @@
         ,{field: 'stockFreezeDate$', align: 'center',title: '鎿嶄綔鏃ユ湡',hide:true}
         ,{align: 'center', title: '娴佽浆鏄庣粏', toolbar: '#tbLook'}
         ,{field: 'createTime$', title: '鍒涘缓鏃堕棿', align: 'center' , sort:true}
+        ,{field: 'newBrand', align: 'center',title: '鍏宠仈鐗屽彿',edit:true}
+        ,{field: 'newBatch', align: 'center',title: '鍏宠仈鎵瑰彿',edit:true, width: 150, sort:true}
+        ,{field: 'newPackageNo', align: 'center',title: '鍏宠仈鍖呰鍙�',edit:true, sort:true}
         // ,{field: 'orderNo', align: 'center',title: '鍗曞彿', hide:true}
         // ,{field: 'pakoutTime', align: 'center',title: '鍑哄簱鏃堕棿', hide:true}
         // ,{field: 'orderWeight', align: 'center',title: '閲嶉噺', hide:true}
@@ -91,6 +94,7 @@
 layui.config({
     base: baseUrl + "/static/layui/lay/modules/"
 }).use(['table','laydate', 'form', 'admin', 'dropdown'], function() {
+    var dropdown = layui.dropdown;
     var table = layui.table;
     var $ = layui.jquery;
     var layer = layui.layer;
@@ -136,12 +140,18 @@
             });
             return arr;
         }() ],
+        where:{
+            type: function() {
+                const tabPosition = JSON.parse(sessionStorage.getItem('easyweb-iframe_tempData')).tabPosition
+                return tabPosition.match(/\d+$/)[0] === '90646' ? '鏀规�ф爲鑴�' :
+                    (tabPosition.match(/\d+$/)[0] === '90657' ? '绾爲鑴�' : '')
+                 }
+            },
         request: {
             pageName: 'curr',
             pageSize: 'limit'
         },
         parseData: function (res) {
-            console.log(res)
             return {
                 'code': res.code,
                 'msg': res.msg,
@@ -520,8 +530,11 @@
         tableReload(false);
     });
 
+    // 鐢ㄦ潵鏍囪瘑鎼滅储閲嶇疆鏃讹紝鏀规�ф爲鑴傚拰绾爲鑴備粠鐐瑰嚮浜嬩欢浼犺繃鏉ュ悕绉帮紝杩涜鐗╄川绫诲埆闄愬畾
+    let customValue = undefined
     // 閲嶇疆浜嬩欢
     form.on('submit(reset)', function (data) {
+        customValue = $(this).attr('data-value');
         reset();
     });
 
@@ -529,7 +542,8 @@
         clearFormVal($('#search-box'));
         matCodeData = [];
         tableReload();
-        locTips(false);
+
+        // locTips(false);
     }
 
     // 閲嶈浇琛ㄦ牸
@@ -542,6 +556,9 @@
         $.each($('#search-box [name]').serializeArray(), function() {
             searchData[this.name] = this.value;
         });
+        if(customValue !== undefined){
+            searchData['type'] = customValue
+        }
         (child ? parent.tableIns : tableIns).reload({
             where: searchData,
             page: {
diff --git a/src/main/webapp/views/pla/locDetlQuery.html b/src/main/webapp/views/pla/locDetlQuery.html
index 8c6be84..86f1d2a 100644
--- a/src/main/webapp/views/pla/locDetlQuery.html
+++ b/src/main/webapp/views/pla/locDetlQuery.html
@@ -17,14 +17,22 @@
             border-right: 1px solid #9F9F9F;
             border-left: 1px solid #9F9F9F;
         }
+        .layui-form.layui-card-header {
+             height: 40px;
+             padding: 0px 0px 0px;
+         }
 
         #search-box {
-            padding: 30px 0 20px 0;
+            padding: 5px 0 5px 0;
+        }
+        #search-box .layui-input-inline {
+            width: 100px;
         }
         #search-box .layui-inline:first-child {
             margin-left: 30px;
         }
         #search-box .layui-inline {
+            margin-bottom: 30px;
             margin-right: 5px;
         }
 
@@ -35,6 +43,9 @@
         #data-search-btn.layui-btn-container .layui-btn {
             margin-right: 20px;
         }
+        .layui-card-header {
+            border-bottom: none;
+        }
     </style>
 </head>
 <body>
@@ -42,10 +53,9 @@
     <span style="font-size: large; font-weight: bold">鎻愬彇搴撳瓨鍟嗗搧</span>
 </div>
 <!-- 鎼滅储鏍� -->
-<fieldset class="layui-elem-field site-demo-button" style="margin: 20px;">
-    <legend>鎼滅储鏍�</legend>
+<fieldset class="layui-elem-field site-demo-button">
     <!-- 鎼滅储鏍� -->
-    <div id="search-box" class="layui-form layui-card-header">
+    <div id="search-box">
         <div class="layui-form layui-card-header">
             <div class="layui-inline">
                 <div class="layui-input-inline">
@@ -87,12 +97,14 @@
                     </select>
                 </div>
             </div>
-            <div class="layui-inline" style="width: 300px">
-                <!--            <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: 300px">
-                    <input type="text" class="layui-input" name="create_time" id="ID-laydate-range-datetime" placeholder="璧峰鏃堕棿 - 缁堟鏃堕棿">
+            <div class="layui-inline">
+                <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-input-inline">
+                    <input class="layui-input" type="text" name="zpallet_type" placeholder="鎵樼洏绫诲瀷" autocomplete="off">
                 </div>
             </div>
             <div class="layui-inline">
@@ -100,15 +112,24 @@
                     <input class="layui-input" type="text" name="condition" placeholder="璇疯緭鍏�" autocomplete="off">
                 </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" 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 class="layui-inline" style="width: 300px">
+                <div class="layui-input-inline" style="width: 290px">
+                    <input type="text" class="layui-input" name="create_time" id="ID-laydate-range-datetime" placeholder="璧峰鏃堕棿 - 缁堟鏃堕棿">
+                </div>
             </div>
         </div>
         <div class="layui-form layui-card-header">
+            <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">
                 <div class="layui-input-inline">
                     <input class="layui-input" type="text" name="finger_meltingMin" placeholder="鏈�灏忕啍鎸�" autocomplete="off">
@@ -119,6 +140,35 @@
                     <input class="layui-input" type="text" name="finger_meltingMax" placeholder="鏈�澶х啍鎸�" autocomplete="off">
                 </div>
             </div>
+            <div class="layui-inline">
+            <div class="layui-input-inline">
+                <input class="layui-input" type="text" name="opacityMin" placeholder="鏈�灏忎笉閫忔槑搴�" autocomplete="off">
+            </div>
+        </div>
+            <div class="layui-inline">
+                <div class="layui-input-inline">
+                    <input class="layui-input" type="text" name="opacityMax" placeholder="鏈�澶т笉閫忔槑搴�" autocomplete="off">
+                </div>
+            </div>
+            <div class="layui-inline">
+                <div class="layui-input-inline">
+                    <input class="layui-input" type="text" name="waterMin" placeholder="鏈�灏忔按鍒�" autocomplete="off">
+                </div>
+            </div>
+            <div class="layui-inline">
+                <div class="layui-input-inline">
+                    <input class="layui-input" type="text" name="waterMax" placeholder="鏈�澶ф按鍒�" autocomplete="off">
+                </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" 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>
+        <!-- 寰呮坊鍔� -->
+
+        <div class="layui-form layui-card-header">
             <div class="layui-inline">
                 <div class="layui-input-inline">
                     <input class="layui-input" type="text" name="fusing_pointMin" placeholder="鏈�灏忕啍鐐�" autocomplete="off">
@@ -141,12 +191,22 @@
             </div>
             <div class="layui-inline">
                 <div class="layui-input-inline">
-                    <input class="layui-input" type="text" name="opacityMin" placeholder="鏈�灏忎笉閫忔槑搴�" autocomplete="off">
+                    <input class="layui-input" type="text" name="vadf1Min" placeholder="鏈�灏忔尌鍙戞" autocomplete="off">
                 </div>
             </div>
             <div class="layui-inline">
                 <div class="layui-input-inline">
-                    <input class="layui-input" type="text" name="opacityMax" placeholder="鏈�澶т笉閫忔槑搴�" autocomplete="off">
+                    <input class="layui-input" type="text" name="vadf1Max" placeholder="鏈�澶ф尌鍙戞" autocomplete="off">
+                </div>
+            </div>
+            <div class="layui-inline">
+                <div class="layui-input-inline">
+                    <input class="layui-input" type="text" name="vadf2Min" placeholder="鏈�灏忓垎瑙f" autocomplete="off">
+                </div>
+            </div>
+            <div class="layui-inline">
+                <div class="layui-input-inline">
+                    <input class="layui-input" type="text" name="vadf2Max" placeholder="鏈�澶у垎瑙f" autocomplete="off">
                 </div>
             </div>
         </div>
@@ -183,6 +243,12 @@
         var $ = layui.jquery;
         var layer = layui.layer;
         var layDate = layui.laydate;
+        // 鏃ユ湡鏃堕棿鑼冨洿
+        layDate.render({
+            elem: '#ID-laydate-range-datetime',
+            type: 'datetime',
+            range: true
+        });
         var form = layui.form;
         var admin = layui.admin;
         var tableMerge = layui.tableMerge;
@@ -200,8 +266,8 @@
                 return $(window).height() - otherHeight - 100; // 杩斿洖 number 绫诲瀷
             },
             //height: 'full',
-            limit: 16,
-            limits: [16, 30, 50, 100, 200, 500],
+            limit: 500,
+            limits: [500,1000],
             even: true,
             toolbar: '#toolbar',
             cellMinWidth: 50,
diff --git a/src/main/webapp/views/pla/plaDetl.html b/src/main/webapp/views/pla/plaDetl.html
index 069ab1f..846394d 100644
--- a/src/main/webapp/views/pla/plaDetl.html
+++ b/src/main/webapp/views/pla/plaDetl.html
@@ -118,6 +118,9 @@
             /*font-weight: bold;*/
             color: #000000;
         }
+        .layui-inline{
+            width: 100px;
+        }
     </style>
 </head>
 <body style="padding-bottom: 30px">
@@ -174,18 +177,14 @@
         </div>
         <div class="layui-inline">
             <div class="layui-input-inline">
-                <input class="layui-input" type="text" name="condition" placeholder="璇疯緭鍏�" autocomplete="off">
+                <input class="layui-input" type="text" name="package_type" placeholder="鍖呰绫诲瀷" autocomplete="off">
             </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" 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 class="layui-inline">
+            <div class="layui-input-inline">
+                <input class="layui-input" type="text" name="zpallet_type" placeholder="鎵樼洏绫诲瀷" autocomplete="off">
+            </div>
         </div>
-    </div>
-    <div class="layui-form layui-card-header">
         <div class="layui-inline">
             <div class="layui-input-inline">
                 <input class="layui-input" type="text" name="package_noMin" placeholder="鏈�灏忓寘鍙�" autocomplete="off">
@@ -198,6 +197,27 @@
         </div>
         <div class="layui-inline">
             <div class="layui-input-inline">
+                <input class="layui-input" type="text" name="condition" placeholder="璇疯緭鍏�" autocomplete="off">
+            </div>
+        </div>
+        <div class="layui-inline" style="width: 300px">
+            <!--            <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">
+                <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" 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>
+    <div class="layui-form layui-card-header">
+        <div class="layui-inline">
+            <div class="layui-input-inline">
                 <input class="layui-input" type="text" name="finger_meltingMin" placeholder="鏈�灏忕啍鎸�" autocomplete="off">
             </div>
         </div>
@@ -206,17 +226,26 @@
                 <input class="layui-input" type="text" name="finger_meltingMax" placeholder="鏈�澶х啍鎸�" autocomplete="off">
             </div>
         </div>
-        <div class="layui-inline" style="width: 300px">
-            <!--            <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: 300px">
-                <input type="text" class="layui-input" name="create_time" id="ID-laydate-range-datetime" placeholder="璧峰鏃堕棿 - 缁堟鏃堕棿">
+        <div class="layui-inline">
+            <div class="layui-input-inline">
+                <input class="layui-input" type="text" name="opacityMin" placeholder="鏈�灏忎笉閫忔槑搴�" autocomplete="off">
             </div>
         </div>
-    </div>
-    <div class="layui-form layui-card-header">
-
+        <div class="layui-inline">
+            <div class="layui-input-inline">
+                <input class="layui-input" type="text" name="opacityMax" placeholder="鏈�澶т笉閫忔槑搴�" autocomplete="off">
+            </div>
+        </div>
+        <div class="layui-inline">
+            <div class="layui-input-inline">
+                <input class="layui-input" type="text" name="waterMin" placeholder="鏈�灏忔按鍒�" autocomplete="off">
+            </div>
+        </div>
+        <div class="layui-inline">
+            <div class="layui-input-inline">
+                <input class="layui-input" type="text" name="waterMax" placeholder="鏈�澶ф按鍒�" autocomplete="off">
+            </div>
+        </div>
         <div class="layui-inline">
             <div class="layui-input-inline">
                 <input class="layui-input" type="text" name="fusing_pointMin" placeholder="鏈�灏忕啍鐐�" autocomplete="off">
@@ -239,12 +268,22 @@
         </div>
         <div class="layui-inline">
             <div class="layui-input-inline">
-                <input class="layui-input" type="text" name="opacityMin" placeholder="鏈�灏忎笉閫忔槑搴�" autocomplete="off">
+                <input class="layui-input" type="text" name="vadf1Min" placeholder="鏈�灏忔尌鍙戞" autocomplete="off">
             </div>
         </div>
         <div class="layui-inline">
             <div class="layui-input-inline">
-                <input class="layui-input" type="text" name="opacityMax" placeholder="鏈�澶т笉閫忔槑搴�" autocomplete="off">
+                <input class="layui-input" type="text" name="vadf1Max" placeholder="鏈�澶ф尌鍙戞" autocomplete="off">
+            </div>
+        </div>
+        <div class="layui-inline">
+            <div class="layui-input-inline">
+                <input class="layui-input" type="text" name="vadf2Min" placeholder="鏈�灏忓垎瑙f" autocomplete="off">
+            </div>
+        </div>
+        <div class="layui-inline">
+            <div class="layui-input-inline">
+                <input class="layui-input" type="text" name="vadf2Max" placeholder="鏈�澶у垎瑙f" autocomplete="off">
             </div>
         </div>
     </div>
diff --git a/src/main/webapp/views/pla/sellout.html b/src/main/webapp/views/pla/sellout.html
index 0ad9bf3..14fdf90 100644
--- a/src/main/webapp/views/pla/sellout.html
+++ b/src/main/webapp/views/pla/sellout.html
@@ -85,24 +85,12 @@
                 </div>
             </div>
         </div>
-
-        <div class="layui-form layui-card-header" >
-            <label class="layui-form-label"><span class="not-null">*</span>閫夋嫨鍙戣揣鏃堕棿锛�</label> </br>
-            <i class="layui-icon layui-icon-date" style="font-size: 30px; color: #3F3F3F;"></i>
-            <div class="layui-form-item">
-                <button id="btn-day1-am" type="button" class="delivery layui-btn layui-btn-radius layui-btn-primary">浠婂ぉ涓嬪崍 80 鉁�</button>
-                <button id="btn-day2-am" type="button" class="delivery layui-btn layui-btn-radius layui-btn-primary">鏄庡ぉ涓嬪崍</button>
-                <button id="btn-day3-am" type="button" class="delivery layui-btn layui-btn-radius layui-btn-primary">鍚庡ぉ涓嬪崍</button>
-                <button id="btn-day4-am" type="button" class="delivery layui-btn layui-btn-radius layui-btn-primary">鍚庡ぉ涓嬪崍</button>
-            </div>
-            <div class="layui-form-item ">
-                <button id="btn-day1-pm" type="button" class="delivery layui-btn layui-btn-radius layui-btn-primary">浠婂ぉ涓嬪崍</button>
-                <button id="btn-day2-pm" type="button" class="delivery layui-btn layui-btn-radius layui-btn-primary">鏄庡ぉ涓嬪崍</button>
-                <button id="btn-day3-pm" type="button" class="delivery layui-btn layui-btn-radius layui-btn-primary">鍚庡ぉ涓嬪崍</button>
-                <button id="btn-day4-pm" type="button" class="delivery layui-btn layui-btn-radius layui-btn-primary">鍚庡ぉ涓嬪崍</button>
+        <div class="layui-inline"  style="width:83%; margin-bottom: 5px;">
+            <label class="layui-form-label"><span class="not-null">*</span>鍙戣揣鏃堕棿锛�</label>
+            <div class="layui-input-inline">
+                <input type="text" class="layui-input" id="pakoutTime">
             </div>
         </div>
-
         <div id="data-detail-btn" class="layui-btn-container layui-form-item">
             <div id="data-detail-submit-save" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="save">淇濆瓨</div>
             <div id="data-detail-submit-edit" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="edit">淇敼</div>
@@ -201,6 +189,12 @@
         var form = layui.form;
         var layer = layui.layer;
         var table = layui.table;
+        var laydate = layui.laydate;
+        // 鏃ユ湡鏃堕棿閫夋嫨鍣�
+        laydate.render({
+            elem: '#pakoutTime',
+            type: 'datetime'
+        });
 
         form.on('submit(edit)', function () {
             var dataList = [];
@@ -255,10 +249,10 @@
                 checkData[i].orderWeight = detailData[i] ? detailData[i].weight : checkData[i].weightAnfme;
                 checkData[i].allocate = $('#allocate').val();
                 checkData[i].memo = $('#memo').val();
-                checkData[i].pakoutTime = deliveryTime;
+                checkData[i].pakoutTime = $('#pakoutTime').val();
             }
 
-            if(!deliveryTime){
+            if(!$('#pakoutTime').val()){
                 layer.msg("璇烽�夋嫨鍙戣揣鏃堕棿");
                 return;
             }
diff --git a/src/main/webapp/views/pla2/locDetlQuery.html b/src/main/webapp/views/pla2/locDetlQuery.html
new file mode 100644
index 0000000..a2a078f
--- /dev/null
+++ b/src/main/webapp/views/pla2/locDetlQuery.html
@@ -0,0 +1,371 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="utf-8">
+    <title></title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+    <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all">
+    <link rel="stylesheet" href="../../static/css/admin.css?v=318" media="all">
+    <link rel="stylesheet" href="../../static/css/cool.css" media="all">
+    <link rel="stylesheet" href="../../static/css/common.css" media="all">
+    <style>
+        body {
+        }
+        .layui-table-box {
+            border-right: 1px solid #9F9F9F;
+            border-left: 1px solid #9F9F9F;
+        }
+
+        #search-box {
+            padding: 30px 0 20px 0;
+        }
+        #search-box .layui-inline:first-child {
+            margin-left: 30px;
+        }
+        #search-box .layui-inline {
+            margin-right: 5px;
+        }
+
+        #data-search-btn {
+            margin-left: 10px;
+            display: inline-block;
+        }
+        #data-search-btn.layui-btn-container .layui-btn {
+            margin-right: 20px;
+        }
+    </style>
+</head>
+<body>
+<div style="padding: 25px; line-height: 22px; background-color: #393D49; color: #fff; font-weight: 300;">
+    <span style="font-size: large; font-weight: bold">鎻愬彇搴撳瓨鍟嗗搧</span>
+</div>
+<!-- 鎼滅储鏍� -->
+<fieldset class="layui-elem-field site-demo-button" style="margin: 20px;">
+    <legend>鎼滅储鏍�</legend>
+    <!-- 鎼滅储鏍� -->
+    <div id="search-box">
+            <div class="layui-form layui-card-header">
+            <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">-->
+<!--                <div class="layui-input-inline">-->
+<!--                    <input class="layui-input" type="text" name="package_no" placeholder="鍖呭彿" autocomplete="off">-->
+<!--                </div>-->
+<!--            </div>-->
+            <div class="layui-inline">
+                <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()>
+                    <div class="cool-auto-complete-window">
+                        <input class="cool-auto-complete-window-input" data-key="matMaktxQueryByMaktx" onkeyup="autoLoad(this.getAttribute('data-key'))">
+                        <select class="cool-auto-complete-window-select" data-key="matMaktxQueryByMaktxSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
+                        </select>
+                    </div>
+                </div>
+            </div>
+            <div class="layui-inline">
+                <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-input-inline">
+                    <!--                <input class="layui-input" type="text" name="status" placeholder="鐘舵��" autocomplete="off">-->
+                    <select name="status">
+                        <option value="">閫夋嫨鐘舵��</option>
+                        <option value="鏆傚叆搴�">鏆傚叆搴�</option>
+                        <option value="寰呭叆搴�">寰呭叆搴�</option>
+                        <option value="宸插叆搴�" selected>宸插叆搴�</option>
+                        <option value="寰呭嚭搴�">寰呭嚭搴�</option>
+                        <option value="閮ㄥ垎鍑哄簱">閮ㄥ垎鍑哄簱</option>
+                        <option value="鍏ㄩ儴鍑哄簱">鍏ㄩ儴鍑哄簱</option>
+                    </select>
+                </div>
+            </div>
+            <div class="layui-inline">
+                <div class="layui-input-inline">
+                    <input class="layui-input" type="text" name="condition" placeholder="璇疯緭鍏�" autocomplete="off">
+                </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" 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>
+        <div class="layui-form layui-card-header">
+            <div class="layui-inline">
+                <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-input-inline">
+                    <input class="layui-input" type="text" name="zpallet_type" placeholder="鎵樼洏绫诲瀷" autocomplete="off">
+                </div>
+            </div>
+            <div class="layui-inline" style="width: 300px">
+                <div class="layui-input-inline" style="width: 300px">
+                    <input type="text" class="layui-input" name="create_time" id="ID-laydate-range-datetime" placeholder="璧峰鏃堕棿 - 缁堟鏃堕棿">
+                </div>
+            </div>
+        </div>
+        <div class="layui-form layui-card-header">
+            <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">
+                <div class="layui-input-inline">
+                    <input class="layui-input" type="text" name="finger_meltingMin" placeholder="鏈�灏忕啍鎸�" autocomplete="off">
+                </div>
+            </div>
+            <div class="layui-inline">
+                <div class="layui-input-inline">
+                    <input class="layui-input" type="text" name="finger_meltingMax" placeholder="鏈�澶х啍鎸�" autocomplete="off">
+                </div>
+            </div>
+            <div class="layui-inline">
+            <div class="layui-input-inline">
+                <input class="layui-input" type="text" name="opacityMin" placeholder="鏈�灏忎笉閫忔槑搴�" autocomplete="off">
+            </div>
+        </div>
+            <div class="layui-inline">
+                <div class="layui-input-inline">
+                    <input class="layui-input" type="text" name="opacityMax" placeholder="鏈�澶т笉閫忔槑搴�" autocomplete="off">
+                </div>
+            </div>
+            <div class="layui-inline">
+                <div class="layui-input-inline">
+                    <input class="layui-input" type="text" name="waterMin" placeholder="鏈�灏忔按鍒�" autocomplete="off">
+                </div>
+            </div>
+            <div class="layui-inline">
+                <div class="layui-input-inline">
+                    <input class="layui-input" type="text" name="waterMax" placeholder="鏈�澶ф按鍒�" autocomplete="off">
+                </div>
+            </div>
+        </div>
+        <div class="layui-form layui-card-header">
+            <div class="layui-inline">
+                <div class="layui-input-inline">
+                    <input class="layui-input" type="text" name="fusing_pointMin" placeholder="鏈�灏忕啍鐐�" autocomplete="off">
+                </div>
+            </div>
+            <div class="layui-inline">
+                <div class="layui-input-inline">
+                    <input class="layui-input" type="text" name="fusing_pointMax" placeholder="鏈�澶х啍鐐�" autocomplete="off">
+                </div>
+            </div>
+            <div class="layui-inline">
+                <div class="layui-input-inline">
+                    <input class="layui-input" type="text" name="yellownessMin" placeholder="鏈�灏忛粍搴�" autocomplete="off">
+                </div>
+            </div>
+            <div class="layui-inline">
+                <div class="layui-input-inline">
+                    <input class="layui-input" type="text" name="yellownessMax" placeholder="鏈�澶ч粍搴�" autocomplete="off">
+                </div>
+            </div>
+            <div class="layui-inline">
+                <div class="layui-input-inline">
+                    <input class="layui-input" type="text" name="vadf1Min" placeholder="鏈�灏忔尌鍙戞" autocomplete="off">
+                </div>
+            </div>
+            <div class="layui-inline">
+                <div class="layui-input-inline">
+                    <input class="layui-input" type="text" name="vadf1Max" placeholder="鏈�澶ф尌鍙戞" autocomplete="off">
+                </div>
+            </div>
+            <div class="layui-inline">
+                <div class="layui-input-inline">
+                    <input class="layui-input" type="text" name="vadf2Min" placeholder="鏈�灏忓垎瑙f" autocomplete="off">
+                </div>
+            </div>
+            <div class="layui-inline">
+                <div class="layui-input-inline">
+                    <input class="layui-input" type="text" name="vadf2Max" placeholder="鏈�澶у垎瑙f" autocomplete="off">
+                </div>
+            </div>
+        </div>
+    </div>
+</fieldset>
+
+<script type="text/html" id="toolbar">
+    <div class="layui-btn-container">
+        <button class="layui-btn" id="btn-confirm" lay-event="confirm" style="">鎻愬彇</button>
+    </div>
+</script>
+
+<div class="layui-form">
+    <table class="layui-hide" id="stockOut" lay-filter="stockOut"></table>
+</div>
+
+<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
+<script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/handlebars/handlebars-v4.5.3.js"></script>
+
+</body>
+<script>
+
+    function getCol() {
+        return plaCols;
+    }
+
+    layui.config({
+        base: baseUrl + "/static/layui/lay/modules/"
+    }).use(['table','laydate', 'form', 'admin', 'tableMerge'], function() {
+        var table = layui.table;
+        var $ = layui.jquery;
+        var layer = layui.layer;
+        var layDate = layui.laydate;
+        // 鏃ユ湡鏃堕棿鑼冨洿
+        layDate.render({
+            elem: '#ID-laydate-range-datetime',
+            type: 'datetime',
+            range: true
+        });
+        var form = layui.form;
+        var admin = layui.admin;
+        var tableMerge = layui.tableMerge;
+
+        // 鏁版嵁娓叉煋
+        locDetlTableIns = table.render({
+            elem: '#stockOut',
+            headers: {token: localStorage.getItem('token')},
+            url: baseUrl+'/pla/list/auth?step=2',
+            page: true,
+            totalRow: true, // 寮�鍚悎璁¤
+            height: function(){
+                var otherHeight = $('.function-area').outerHeight() + $('#search-box').outerHeight(); // 鑷畾涔夊叾浠栧尯鍩熺殑楂樺害
+                console.log($(window).height() - otherHeight);
+                return $(window).height() - otherHeight - 100; // 杩斿洖 number 绫诲瀷
+            },
+            //height: 'full',
+            limit: 500,
+            limits: [500,1000],
+            even: true,
+            toolbar: '#toolbar',
+            cellMinWidth: 50,
+            cols: [function(){
+                var arr = getCol();
+
+                // 鍒濆鍖栫瓫閫夌姸鎬�
+                var local = layui.data('table-filter-test'); // 鑾峰彇瀵瑰簲鐨勬湰鍦拌褰�
+                layui.each(arr, function(index, item){
+                    if(item.field in local){
+                        item.hide = local[item.field];
+                    }
+                });
+                return arr;
+            }() ],
+            request: {
+                pageName: 'curr',
+                pageSize: 'limit'
+            },
+            parseData: function (res) {
+                console.log(res)
+                return {
+                    'code': res.code,
+                    'msg': res.msg,
+                    'count': res.data.total,
+                    'data': res.data.records,
+                }
+            },
+            response: {
+                statusCode: 200
+            },
+            done: function(res, curr, count) {
+                // 璁板綍绛涢�夌姸鎬�
+                var that = this;
+                that.elem.next().on('mousedown', 'input[lay-filter="LAY_TABLE_TOOL_COLS"]+', function(){
+                    var input = $(this).prev()[0];
+                    // 姝ゅ琛ㄥ悕鍙换鎰忓畾涔�
+                    layui.data('table-filter-test', {
+                        key: input.name
+                        ,value: input.checked
+                    })
+                });
+
+                //$(".lavui-table-grid-down").hide();
+                if (res.code === 403) {
+                    top.location.href = baseUrl+"/";
+                }
+                tableData = table.cache.locDetl;
+                console.log(tableData);
+                pageCurr=curr;
+                limit();
+                form.on('checkbox(tableCheckbox)', function (data) {
+                    var _index = $(data.elem).attr('table-index')||0;
+                    if(data.elem.checked){
+                        res.data[_index][data.value] = 'Y';
+                    }else{
+                        res.data[_index][data.value] = 'N';
+                    }
+                });
+                let headerTop = $('.layui-table-header').offset().top; //鑾峰彇琛ㄦ牸澶村埌鏂囨。椤堕儴鐨勮窛绂�
+                let headerPage = $('.layui-table-page').offset().top; //鑾峰彇琛ㄦ牸搴曢儴鏂囨。椤堕儴鐨勮窛绂�
+                $(window).scroll(function () {
+                    if ((headerTop - $(window).scrollTop()) < 0) { //瓒呰繃浜�
+                        $('.layui-table-header').addClass('table-header-fixed'); //娣诲姞鏍峰紡锛屽浐瀹氫綇琛ㄥご
+                    } else { //娌¤秴杩�
+                        $('.layui-table-header').removeClass('table-header-fixed'); //绉婚櫎鏍峰紡
+                    }
+                });
+            }
+        });
+
+        // 鐩戝惉澶村伐鍏锋爮浜嬩欢
+        table.on('toolbar(stockOut)', function (obj) {
+            var checkStatus = table.checkStatus(obj.config.id);
+            var data = checkStatus.data;
+            switch(obj.event) {
+                case 'confirm':
+                    if (data.length === 0){
+                        layer.msg("璇烽�夋嫨鏁版嵁");
+                        return;
+                    }
+                    parent.addTableData(data);
+                    break;
+            }
+        });
+
+        // 鎼滅储鏍忔悳绱簨浠�
+        form.on('submit(search)', function (data) {
+            tableReload();
+        });
+
+        layDate.render({
+            elem: '.layui-laydate-range'
+            ,type: 'datetime'
+            ,range: true
+        });
+    })
+
+    function tableReload() {
+        var searchData = {};
+        $.each($('#search-box [name]').serializeArray(), function() {
+            searchData[this.name] = this.value;
+        });
+        locDetlTableIns.reload({
+            where: searchData,
+        });
+    }
+</script>
+</html>
+
diff --git a/src/main/webapp/views/pla2/pickup.html b/src/main/webapp/views/pla2/pickup.html
new file mode 100644
index 0000000..90a3b19
--- /dev/null
+++ b/src/main/webapp/views/pla2/pickup.html
@@ -0,0 +1,211 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="utf-8">
+    <title></title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+    <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all">
+    <link rel="stylesheet" href="../../static/css/cool.css" media="all">
+    <link rel="stylesheet" href="../../static/css/common.css" media="all">
+</head>
+<body>
+
+<!-- 璇︽儏 -->
+<div id="data-detail" class="layer_self_wrap">
+    <form id="detail" class="layui-form" style="text-align: center">
+        <div class="layui-inline"  style="width:83%;margin-top: 0px;margin-bottom: 5px;">
+            <label class="layui-form-label"><span class="not-null">*</span>璁㈠崟鍙枫��锛�</label>
+            <div class="layui-input-inline">
+                <input id="orderNo" class="layui-input" type="text" lay-verify="required" >
+            </div>
+        </div>
+        <div class="layui-form layui-card-header">
+            <div class="layui-inline"  style="width:83%; margin-bottom: 5px;">
+                <label class="layui-form-label"><span class="not-null">*</span>鍙栬揣閲嶉噺锛�</label>
+                <div class="layui-input-inline">
+                    <input id="weight" class="layui-input" type="text" lay-verify="required" placeholder="KG">
+                </div>
+            </div>
+        </div>
+
+        <div class="layui-form layui-card-header">
+            <div class="layui-inline"  style="width:83%; margin-bottom: 5px;">
+                <label class="layui-form-label"></span>澶囥��銆�娉細</label>
+                <div class="layui-input-inline">
+                    <input id="memo" class="layui-input" type="text">
+                </div>
+            </div>
+        </div>
+
+        <div class="layui-form layui-card-header" >
+            <label class="layui-form-label"><span class="not-null">*</span>閫夋嫨鍙戣揣鏃堕棿锛�</label> </br>
+            <i class="layui-icon layui-icon-date" style="font-size: 30px; color: #3F3F3F;"></i>
+            <div class="layui-form-item">
+                <button id="btn-day1-am" type="button" class="delivery layui-btn layui-btn-radius layui-btn-primary">浠婂ぉ涓嬪崍 80 鉁�</button>
+                <button id="btn-day2-am" type="button" class="delivery layui-btn layui-btn-radius layui-btn-primary">鏄庡ぉ涓嬪崍</button>
+                <button id="btn-day3-am" type="button" class="delivery layui-btn layui-btn-radius layui-btn-primary">鍚庡ぉ涓嬪崍</button>
+                <button id="btn-day4-am" type="button" class="delivery layui-btn layui-btn-radius layui-btn-primary">鍚庡ぉ涓嬪崍</button>
+            </div>
+            <div class="layui-form-item ">
+                <button id="btn-day1-pm" type="button" class="delivery layui-btn layui-btn-radius layui-btn-primary">浠婂ぉ涓嬪崍</button>
+                <button id="btn-day2-pm" type="button" class="delivery layui-btn layui-btn-radius layui-btn-primary">鏄庡ぉ涓嬪崍</button>
+                <button id="btn-day3-pm" type="button" class="delivery layui-btn layui-btn-radius layui-btn-primary">鍚庡ぉ涓嬪崍</button>
+                <button id="btn-day4-pm" type="button" class="delivery layui-btn layui-btn-radius layui-btn-primary">鍚庡ぉ涓嬪崍</button>
+            </div>
+        </div>
+
+        <div id="data-detail-btn" class="layui-btn-container layui-form-item">
+            <div id="data-detail-submit-save" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="save">淇濆瓨</div>
+            <div id="data-detail-submit-edit" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="edit">淇敼</div>
+            <div id="data-detail-close" type="button" class="layui-btn" lay-submit lay-filter="close">鍏抽棴</div>
+        </div>
+
+    </form>
+</div>
+</body>
+<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
+<script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/pla/plaDetl.js" charset="utf-8"></script>
+</html>
+<script>
+    var checkData = [];
+    var deliveryTime;
+    function child(data){
+        checkData = data;
+        delivery();
+
+    }
+
+    function delivery(){
+        $.ajax({
+            url: baseUrl+"/plaQty/delivery/auth",
+            headers: {'token': localStorage.getItem('token')},
+            contentType:'application/json;charset=UTF-8',
+            method: 'POST',
+            async: false,
+            success: function (res) {
+                if (res.code === 200){
+                    $('#btn-day1-am').text(res.data[0].text);
+                    $('#btn-day1-pm').text(res.data[1].text);
+                    $('#btn-day2-am').text(res.data[2].text);
+                    $('#btn-day2-pm').text(res.data[3].text);
+                    $('#btn-day3-am').text(res.data[4].text);
+                    $('#btn-day3-pm').text(res.data[5].text);
+                    $('#btn-day4-am').text(res.data[6].text);
+                    $('#btn-day4-pm').text(res.data[7].text);
+                    $("#btn-day1-am").hover(function(){
+                        $(this).attr("title", res.data[0].user);
+                    }, function(){
+                        $(this).removeAttr("title");
+                    });
+
+                } else if (res.code === 403){
+                    layer.msg(res.msg, {icon: 2})
+                    return;
+                }else {
+                    layer.msg(res.msg, {icon: 2})
+                    return;
+                }
+            }
+        })
+    }
+
+    $('.delivery').click(function (){
+        delivery();
+        deliveryTime = this.textContent;
+        this.append(' 鉁�');
+        $('.delivery').addClass('layui-btn-primary');
+        this.classList.remove('layui-btn-primary');
+
+    })
+
+    layui.use(['table','laydate', 'form'], function(){
+        var form = layui.form;
+        var layer = layui.layer;
+        var table = layui.table;
+
+        // 鏁版嵁淇敼鍔ㄤ綔
+        form.on('submit(save)', function () {
+
+            for(var i in checkData){
+                checkData[i].packageType = $('#packageTypeV').val();
+                checkData[i].zpalletType = $('#zpalletTypeV').val();
+                checkData[i].filmWrap = $('#filmWrapV').val();
+                checkData[i].step = 3;
+            }
+
+            checkData[0].type = "pickup";
+
+            checkData[0].orderNo = $('#orderNo').val();
+            checkData[0].customer = $('#customerV').val() ? $('#customerV').val() : "";
+            checkData[0].phone = $('#phone').val() ? $('#phone').val() : " ";
+            checkData[0].addr = $('#addr').val() ? $('#addr').val() : " ";
+            checkData[0].orderWeight = $('#weight').val();
+            checkData[0].allocate = $('#allocateV').val() ? $('#allocateV').val() : "";
+            checkData[0].memo = $('#memo').val() ? $('#memo').val() : "";
+            if(!deliveryTime){
+                layer.msg("璇烽�夋嫨鍙戣揣鏃堕棿");
+                return;
+            }
+            checkData[0].pakoutTime = deliveryTime;
+
+            $.ajax({
+                url: baseUrl+"/pla/sellout/auth",
+                headers: {'token': localStorage.getItem('token')},
+                data: JSON.stringify(checkData),
+                contentType:'application/json;charset=UTF-8',
+                method: 'POST',
+                async: false,
+                success: function (res) {
+                    if (res.code === 200){
+                        layer.msg("淇敼鎴愬姛");
+                        tableReload(true);
+                    } else if (res.code === 403){
+                        layer.msg(res.msg, {icon: 2})
+                        return;
+                    }else {
+                        layer.msg(res.msg, {icon: 2})
+                        return;
+                    }
+                    parent.layer.closeAll();
+                }
+            })
+        });
+
+        function tableReload(child) {
+            var searchData = {};
+            $.each($('#search-box [name]').serializeArray(), function() {
+                searchData[this.name] = this.value;
+            });
+            (child ? parent.tableIns : tableIns).reload({
+                where: searchData,
+                page: {
+                    curr: 1
+                },
+                done: function (res, curr, count) {
+                    if (res.code === 403) {
+                        top.location.href = baseUrl+"/";
+                    }
+                    pageCurr=curr;
+                    if (res.data.length === 0 && count !== 0) {
+                        tableIns.reload({
+                            where: searchData,
+                            page: {
+                                curr: pageCurr-1
+                            }
+                        });
+                        pageCurr -= 1;
+                    }
+                    limit(child);
+                }
+            });
+        }
+
+    })
+
+</script>
+
diff --git a/src/main/webapp/views/pla2/plaDetl.html b/src/main/webapp/views/pla2/plaDetl.html
new file mode 100644
index 0000000..efb3158
--- /dev/null
+++ b/src/main/webapp/views/pla2/plaDetl.html
@@ -0,0 +1,468 @@
+<!DOCTYPE html>
+<html lang="en" xmlns="http://www.w3.org/1999/html">
+<head>
+    <meta charset="utf-8">
+    <title></title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+    <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all">
+    <link rel="stylesheet" href="../../static/css/admin.css?v=318" media="all">
+    <link rel="stylesheet" href="../../static/css/cool.css" media="all">
+
+    <style>
+        html {
+            height: 100%;
+            padding: 10px;
+            background-color: #f1f1f1;
+            box-sizing: border-box;
+        }
+        body {
+            background-color: #fff;
+            border-radius: 5px;
+            box-shadow: 0 0 3px rgba(0,0,0,.3);
+        }
+
+        /* search */
+        .layui-card-header {
+            border-bottom: none;
+        }
+        .search-box {
+            padding: 30px 0 10px 0;
+        }
+        #search-box .layui-inline:first-child {
+            margin-left: 30px;
+        }
+        #search-box .layui-inline {
+            margin-right: 5px;
+        }
+
+        #data-search-btn {
+            margin-left: 10px;
+            display: inline-block;
+        }
+        #data-search-btn.layui-btn-container .layui-btn {
+            margin-right: 20px;
+        }
+
+        /* add */
+        .function-area {
+            padding: 15px 0 20px 40px;
+        }
+        .function-btn {
+            font-size: 16px;
+            padding: 1px 1px 1px 1px;
+            width: 120px;
+            height: 40px;
+            border-color: #2b425b;
+            border-radius: 4px;
+            border-width: 1px;
+            background: none;
+            border-style: solid;
+            transition: 0.4s;
+            cursor: pointer;
+        }
+        .function-btn1 {
+            font-size: 16px;
+            padding: 1px 1px 1px 1px;
+            width: 150px;
+            height: 40px;
+            border-color: #2b425b;
+            border-radius: 4px;
+            border-width: 1px;
+            background: none;
+            border-style: solid;
+            transition: 0.4s;
+            cursor: pointer;
+        }
+        .function-btn:hover {
+            background-color: #2b425b;
+            color: #fff;
+        }
+        .function-btn1:hover {
+            background-color: #2b425b;
+            color: #fff;
+        }
+
+        #mat-query {
+            /*display: none;*/
+        }
+        #btn-adjust {
+            /*display: none;*/
+        }
+
+        .layui-table-cell {
+            text-align: center;
+            line-height: 20px !important;
+            vertical-align: middle;
+            height: auto;
+            overflow: visible;
+            text-overflow: inherit;
+            white-space: normal;
+
+        }
+        .table-header-fixed {
+            top: 0;
+            position: fixed;
+            z-index: 999;
+        }
+        /* ------------------------- 鎵撳嵃琛ㄦ牸 -----------------------  */
+        .template-preview {
+            height: 400px;
+            display: inline-block;
+        }
+        .contain td {
+            border: 0px solid #000;
+            white-space:nowrap;
+            /*font-family: 榛戜綋;*/
+            /*font-weight: bold;*/
+            color: #000000;
+        }
+        .layui-inline{
+            width: 100px;
+        }
+    </style>
+</head>
+<body style="padding-bottom: 30px">
+
+<hr>
+
+<!-- 鍔熻兘鍖� -->
+<div class="function-area">
+<!--    <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="returned" style="alignment: right; display: none" class="function-btn">閫�鍥�</button>
+    <button id="updateOwner" style="alignment: right; display: none" class="function-btn">鍙樻洿涓讳綋</button>
+</div>
+
+<!-- 鎼滅储鏍� -->
+<div id="search-box" >
+    <div class="layui-form layui-card-header">
+        <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">
+            <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()>
+                <div class="cool-auto-complete-window">
+                    <input class="cool-auto-complete-window-input" data-key="matMaktxQueryByMaktx" onkeyup="autoLoad(this.getAttribute('data-key'))">
+                    <select class="cool-auto-complete-window-select" data-key="matMaktxQueryByMaktxSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
+                    </select>
+                </div>
+            </div>
+        </div>
+        <div class="layui-inline" style="display: none;">
+            <div class="layui-input-inline">
+                <input class="layui-input" type="text" name="type" value="鏀规�ф爲鑴�" placeholder="鐗╄祫绫诲埆" autocomplete="off">
+            </div>
+        </div>
+        <div class="layui-inline">
+            <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>
+                    <option value="寰呭叆搴�">寰呭叆搴�</option>
+                    <option value="宸插叆搴�">宸插叆搴�</option>
+                    <option value="寰呭嚭搴�">寰呭嚭搴�</option>
+                    <option value="閮ㄥ垎鍑哄簱">閮ㄥ垎鍑哄簱</option>
+                    <option value="鍏ㄩ儴鍑哄簱">鍏ㄩ儴鍑哄簱</option>
+                </select>
+            </div>
+        </div>
+        <div class="layui-inline">
+            <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-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">
+            <div class="layui-input-inline">
+                <input class="layui-input" type="text" name="condition" placeholder="璇疯緭鍏�" autocomplete="off">
+            </div>
+        </div>
+        <div class="layui-inline" style="width: 300px">
+            <!--            <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>
+        </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="unreason" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="unreason">鏌ョ湅寮傚父鏁版嵁</button>-->
+        </div>
+    </div>
+    <div class="layui-form layui-card-header">
+        <div class="layui-inline">
+            <div class="layui-input-inline">
+                <input class="layui-input" type="text" name="finger_meltingMin" placeholder="鏈�灏忕啍鎸�" autocomplete="off">
+            </div>
+        </div>
+        <div class="layui-inline">
+            <div class="layui-input-inline">
+                <input class="layui-input" type="text" name="finger_meltingMax" placeholder="鏈�澶х啍鎸�" autocomplete="off">
+            </div>
+        </div>
+        <div class="layui-inline">
+            <div class="layui-input-inline">
+                <input class="layui-input" type="text" name="opacityMin" placeholder="鏈�灏忎笉閫忔槑搴�" autocomplete="off">
+            </div>
+        </div>
+        <div class="layui-inline">
+            <div class="layui-input-inline">
+                <input class="layui-input" type="text" name="opacityMax" placeholder="鏈�澶т笉閫忔槑搴�" autocomplete="off">
+            </div>
+        </div>
+        <div class="layui-inline">
+            <div class="layui-input-inline">
+                <input class="layui-input" type="text" name="waterMin" placeholder="鏈�灏忔按鍒�" autocomplete="off">
+            </div>
+        </div>
+        <div class="layui-inline">
+            <div class="layui-input-inline">
+                <input class="layui-input" type="text" name="waterMax" placeholder="鏈�澶ф按鍒�" autocomplete="off">
+            </div>
+        </div>
+        <div class="layui-inline">
+            <div class="layui-input-inline">
+                <input class="layui-input" type="text" name="fusing_pointMin" placeholder="鏈�灏忕啍鐐�" autocomplete="off">
+            </div>
+        </div>
+        <div class="layui-inline">
+            <div class="layui-input-inline">
+                <input class="layui-input" type="text" name="fusing_pointMax" placeholder="鏈�澶х啍鐐�" autocomplete="off">
+            </div>
+        </div>
+        <div class="layui-inline">
+            <div class="layui-input-inline">
+                <input class="layui-input" type="text" name="yellownessMin" placeholder="鏈�灏忛粍搴�" autocomplete="off">
+            </div>
+        </div>
+        <div class="layui-inline">
+            <div class="layui-input-inline">
+                <input class="layui-input" type="text" name="yellownessMax" placeholder="鏈�澶ч粍搴�" autocomplete="off">
+            </div>
+        </div>
+        <div class="layui-inline">
+            <div class="layui-input-inline">
+                <input class="layui-input" type="text" name="vadf1Min" placeholder="鏈�灏忔尌鍙戞" autocomplete="off">
+            </div>
+        </div>
+        <div class="layui-inline">
+            <div class="layui-input-inline">
+                <input class="layui-input" type="text" name="vadf1Max" placeholder="鏈�澶ф尌鍙戞" autocomplete="off">
+            </div>
+        </div>
+        <div class="layui-inline">
+            <div class="layui-input-inline">
+                <input class="layui-input" type="text" name="vadf2Min" placeholder="鏈�灏忓垎瑙f" autocomplete="off">
+            </div>
+        </div>
+        <div class="layui-inline">
+            <div class="layui-input-inline">
+                <input class="layui-input" type="text" name="vadf2Max" placeholder="鏈�澶у垎瑙f" autocomplete="off">
+            </div>
+        </div>
+    </div>
+</div>
+<script type="text/html" id="toolbar">
+    <div class="layui-btn-container">
+        <button class="layui-btn layui-btn-sm layui-btn-danger" id="btn-delete" lay-event="deleteData" style="display: none">鍒犻櫎</button>
+        <button class="layui-btn layui-btn-sm layui-btn-danger" id="btn-update" lay-event="updateData" style="display: none">淇敼</button>
+        <button class="layui-btn layui-btn-sm layui-btn-danger" id="btn-viladate" lay-event="viladate" style="display: none">鏍¢獙</button>
+        <button class="layui-btn layui-btn-sm layui-btn-danger " id="btn-freeze" lay-event="freezeData" style="display: none">鍐荤粨</button>
+        <button class="layui-btn layui-btn-sm layui-btn-checked " id="btn-disfreeze" lay-event="disFreezeData" style="display: none">瑙e喕</button>
+        <button class="layui-btn layui-btn-sm layui-btn-checked " id="btn-printBatch" lay-event="btnPrintBatch" >鎵归噺鎵撳嵃</button>
+        <!-- 鍟嗗搧/鐗╂枡 鏁版嵁涓績 -->
+        <button style="float: right" class="layui-btn layui-btn-sm layui-btn-checked " id="btn-exportMoudle" onclick="excelMouldDownload()" >妯℃澘涓嬭浇</button>
+        <button style="float: right" class="layui-btn layui-btn-sm layui-btn-checked " id="btn-import" onclick="importExcel()" >瀵煎叆excel</button>
+
+        <div class="dropdown-menu" style="float: right; display: none">
+            <button id="syncData" style="display: none;" class="layui-btn layui-btn-primary layui-border-black icon-btn layui-btn-sm">&nbsp;鏁版嵁鍚屾 <i class="layui-icon layui-icon-drop"></i></button>
+            <ul class="dropdown-menu-nav dark">
+                <div class="dropdown-anchor"></div>
+                <li class="title">1st menu</li>
+                <li><a onclick="excelMouldDownload()" style="font-size: 12px"><i class="layui-icon layui-icon-template-1"></i>妯℃澘涓嬭浇</a></li>
+                <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>-->
+            </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>-->
+    </div>
+</script>
+
+<script type="text/html" id="stockFreezeTpl">
+    <input type="checkbox" disabled name="stockFreeze" value="{{d.stockFreeze}}" lay-skin="switch" lay-text="姝e父|鍐荤粨" lay-filter="stockFreezeSwitch" {{ d.stockFreeze === 1 ? 'checked' : '' }}>
+</script>
+
+<!-- 琛� -->
+<script type="text/html" id="operate">
+    <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="remove">绉婚櫎</a>
+</script>
+
+<!-- 琛ㄦ牸 -->
+<table class="layui-table"  id="plaDetl" lay-filter="plaDetl"></table>
+
+<script type="text/html" id="tbLook">
+    <span class="layui-text">
+        <a href="javascript:;" lay-event="look">
+            <i class="layui-icon" style="font-size: 12px;">&#xe61a;</i> 鏌ョ湅
+        </a>
+    </span>
+</script>
+
+<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
+<script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/handlebars/handlebars-v4.5.3.js"></script>
+<script type="text/javascript" src="../../static/js/pla/plaDetl.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/jquery/jQuery.print.js"></script>
+
+<!-- 鎵撳嵃鎿嶄綔寮圭獥 -->
+<div id="printDataDiv" style="display: none;padding: 20px">
+    <div class="layui-form" style="text-align: center">
+        <hr>
+        <!--鍗曢�夋-->
+        <div class="layui-form-item" style="display: inline-block; margin-bottom: 10px">
+            <input type="radio" name="selectTemplate" value="1" title="妯℃澘涓�"  lay-filter="selectTemplateRadio" checked="">
+        </div>
+        <fieldset class="layui-elem-field site-demo-button" style="margin-top: 30px;text-align: center;">
+            <legend>鎵撳嵃棰勮</legend>
+            <div id="template-container" style="margin: 20px;text-align: center">
+                <!-- 棰勮鍥� 3 -->
+                <div id="template-preview-1" class="template-preview" style="display: block">
+                    <div class="layui-row">
+                        <div class="layui-col-xs4" style="height: auto">
+                            <img src="../../static/image/hneLogo.jpg" style="display: inline-block; width: 40%;height: 30%">
+                        </div>
+                        <div class="layui-col-xs8" style="margin-left: -40px; margin-top: 20px; text-align: left">
+                            娴欐睙鐪佸彴宸炲競鍙板窞婀炬柊鍖哄彴宸炴咕澶ч亾188鍙�</br>
+                            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="alignment: center; margin-left: 65px;">
+                        <table class="contain" width="400" style="overflow: hidden;font-size: xx-small;table-layout: fixed;">
+                            <tr style="height: 74px" >
+                                <td align="center" scope="col" colspan="4" style="font-size: x-large; font-weight: bold;"><strong style="font-weight: bold;color: black;">鑱氫钩閰� Polylactic Acid</strong></td>
+                            </tr>
+                            <tr style="height: 74px">
+                                <td align="center" scope="col" colspan="1">鐗屽彿</td>
+                                <td align="center" scope="col" colspan="1" style="">xxxxxx-xx/xx</td>
+                                <td align="center" scope="col" colspan="2" rowspan="2">
+                                    <img class="template-code template-qrcode" src="" width="80%">
+                                    <div style="letter-spacing: 1px;margin-top: 1px; text-align: center">
+                                        <span>xxxxxx</span>
+                                    </div>
+                                </td>
+                            </tr>
+                            <tr style="height: 74px">
+                                <td align="center" colspan="1" style="text-align: left; padding-left: 20px" >閲嶉噺</td>
+                                <td align="center" colspan="1" style="overflow:hidden; white-space:nowrap; text-overflow:ellipsis;">xxxxxxx</td>
+                            </tr>
+                            <tr style="height: 74px">
+                                <td align="center" colspan="1">鎵瑰彿</td>
+                                <td align="center" colspan="1" style="overflow:hidden; white-space:nowrap; text-overflow:ellipsis;">xxxxxxx</td>
+                                <td align="center" colspan="1">鍖呭彿</td>
+                                <td align="center" colspan="1" style="overflow:hidden; white-space:nowrap; text-overflow:ellipsis;">xxxxxxx</td>
+                            </tr>
+                        </table>
+                    </div>
+                </div>
+            </div>
+        </fieldset>
+
+        <button class="layui-btn" id="doPrint" lay-submit lay-filter="doPrint" style="margin-top: 20px">纭畾</button>
+    </div>
+</div>
+
+<div id="box" style="display: block"></div>
+
+<!-- 鍒濆鍖栨墦鍗版ā鏉跨殑鏉″舰鐮� -->
+<script type="text/javascript">
+    $('.template-barcode').attr("src", baseUrl+"/mac/code/auth?type=1&param=123");
+    $('.template-qrcode').attr("src", baseUrl+"/mac/code/auth?type=2&param=123");
+</script>
+
+<!-- 妯℃澘寮曟搸 -->
+<!-- 妯℃澘3 -->
+<script type="text/template" id="templatePreview1" class="template-qrcode">
+    <div class="template-preview">
+    {{#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;">
+            </div>
+            <div class="layui-col-xs6" style="margin-left: -185px;margin-right: 30px; margin-top: 80px; text-align: left; font-size: 20px; font-weight:bold">
+                娴欐睙鐪佸彴宸炲競鍙板窞婀炬柊鍖哄彴宸炴咕澶ч亾188鍙�</br>
+                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="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;" >
+                    <td align="center" scope="col" colspan="4" style="font-weight: bold; text-align: left; padding-left: 20px"><strong style="font-weight: bold;color: black;">鑱氫钩閰� Polylactic Acid</strong></td>
+                </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>-->
+                </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>
+                    <!--                    <td align="center" colspan="1" style="font-weight: bold;color: black;overflow:hidden; white-space:nowrap; text-overflow:ellipsis;"><strong style="font-weight: bold;color: black;">{{this.weightAnfme}} KG</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.weight}} kg</strong></td>
+                    <!--                    <td align="center" colspan="1" style="font-weight: bold;color: black;overflow:hidden; white-space:nowrap; text-overflow:ellipsis;"><strong style="font-weight: bold;color: black;">{{this.weightAnfme}} KG</strong></td>-->
+                    <td align="center" scope="col" colspan="2" rowspan="2">
+                        <img class="template-code template-qrcode" src="{{this.barcodeUrl}}" width="80%">
+                    </td>
+                </tr>
+                <tr style="height: 100px;text-align: left">
+                    <td align="center" colspan="2" rowspan="1" style="font-weight: bold;color: black; text-align: left; padding-left: 20px"><strong>杩借釜鐮侊細{{this.line}} {{this.packageNo$}}</strong></td>
+                    <!--                    <td align="center" colspan="1" style="font-weight: bold;color: black;overflow:hidden; white-space:nowrap; text-overflow:ellipsis;"><strong style="font-weight: bold;color: black;">{{this.weightAnfme}} KG</strong></td>-->
+                </tr>
+                <tr style="height: 100px;text-align: left">
+                </tr>
+            </table>
+        </div>
+    </br>
+    {{/each}}
+    </div>
+</script>
+
+</body>
+</html>
+
diff --git a/src/main/webapp/views/pla2/productionInfo.html b/src/main/webapp/views/pla2/productionInfo.html
new file mode 100644
index 0000000..df9b0bf
--- /dev/null
+++ b/src/main/webapp/views/pla2/productionInfo.html
@@ -0,0 +1,125 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="utf-8">
+    <title></title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+    <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all">
+    <link rel="stylesheet" href="../../static/css/admin.css?v=318" media="all">
+    <link rel="stylesheet" href="../../static/css/cool.css" media="all">
+    <link rel="stylesheet" href="../../static/css/common.css" media="all">
+    <style>
+        html {
+            height: 100%;
+            padding: 10px;
+            background-color: #f1f1f1;
+            box-sizing: border-box;
+        }
+        body {
+            background-color: #fff;
+            border-radius: 5px;
+            box-shadow: 0 0 3px rgba(0,0,0,.3);
+        }
+
+        /* search */
+        .layui-card-header {
+            border-bottom: none;
+        }
+        #search-box {
+            padding: 30px 0 10px 0;
+        }
+        #search-box .layui-inline:first-child {
+            margin-left: 30px;
+        }
+        #search-box .layui-inline {
+            margin-right: 5px;
+        }
+
+        #data-search-btn {
+            margin-left: 10px;
+            display: inline-block;
+        }
+        #data-search-btn.layui-btn-container .layui-btn {
+            margin-right: 20px;
+        }
+
+        /* add */
+        .function-area {
+            padding: 15px 0 20px 40px;
+        }
+        .function-btn {
+            font-size: 16px;
+            padding: 1px 1px 1px 1px;
+            width: 120px;
+            height: 40px;
+            border-color: #2b425b;
+            border-radius: 4px;
+            border-width: 1px;
+            background: none;
+            border-style: solid;
+            transition: 0.4s;
+            cursor: pointer;
+        }
+        .function-btn:hover {
+            background-color: #2b425b;
+            color: #fff;
+        }
+
+        #mat-query {
+            /*display: none;*/
+        }
+        #btn-adjust {
+            /*display: none;*/
+        }
+        .layui-table-cell {
+            text-align: center;
+            line-height: 20px !important;
+            vertical-align: middle;
+            height: auto;
+            overflow: visible;
+            text-overflow: inherit;
+            white-space: normal;
+
+        }
+    </style>
+</head>
+<body style="padding-bottom: 30px">
+
+<hr>
+
+<!-- 鍔熻兘鍖� -->
+<div class="function-area">
+    <button id="add" class="function-btn">鏂板</button>
+    <button id="delete" class="function-btn">鍒犻櫎</button>
+    <button id="submit" style="alignment: right" class="function-btn">鎻愪氦</button>
+</div>
+
+<!-- 琛� -->
+<script type="text/html" id="operate">
+    <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="remove">绉婚櫎</a>
+</script>
+
+<!-- 琛ㄦ牸 -->
+<table class="layui-table" id="productionInfoTable" lay-filter="productionInfoTable"></table>
+
+
+<script type="text/html" id="packageCheck">
+    <select name="packageType" lay-filter="selectDemo1" data-key="packageType">
+        <option value="">璇烽�夋嫨</option>
+        <option value="1">1</option>
+    </select>
+</script>
+
+
+<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
+<script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/handlebars/handlebars-v4.5.3.js"></script>
+<script type="text/javascript" src="../../static/js/pla/productionInfo.js" charset="utf-8"></script>
+
+</body>
+</html>
+
diff --git a/src/main/webapp/views/pla2/qualityInfo.html b/src/main/webapp/views/pla2/qualityInfo.html
new file mode 100644
index 0000000..f18b30d
--- /dev/null
+++ b/src/main/webapp/views/pla2/qualityInfo.html
@@ -0,0 +1,114 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="utf-8">
+    <title></title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+    <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all">
+    <link rel="stylesheet" href="../../static/css/admin.css?v=318" media="all">
+    <link rel="stylesheet" href="../../static/css/cool.css" media="all">
+    <link rel="stylesheet" href="../../static/css/common.css" media="all">
+    <style>
+        html {
+            height: 100%;
+            padding: 10px;
+            background-color: #f1f1f1;
+            box-sizing: border-box;
+        }
+        body {
+            background-color: #fff;
+            border-radius: 5px;
+            box-shadow: 0 0 3px rgba(0,0,0,.3);
+        }
+
+        /* search */
+        .layui-card-header {
+            border-bottom: none;
+        }
+        #search-box {
+            padding: 30px 0 10px 0;
+        }
+        #search-box .layui-inline:first-child {
+            margin-left: 30px;
+        }
+        #search-box .layui-inline {
+            margin-right: 5px;
+        }
+
+        #data-search-btn {
+            margin-left: 10px;
+            display: inline-block;
+        }
+        #data-search-btn.layui-btn-container .layui-btn {
+            margin-right: 20px;
+        }
+
+        /* add */
+        .function-area {
+            padding: 15px 0 20px 40px;
+        }
+        .function-btn {
+            font-size: 16px;
+            padding: 1px 1px 1px 1px;
+            width: 120px;
+            height: 40px;
+            border-color: #2b425b;
+            border-radius: 4px;
+            border-width: 1px;
+            background: none;
+            border-style: solid;
+            transition: 0.4s;
+            cursor: pointer;
+        }
+        .function-btn:hover {
+            background-color: #2b425b;
+            color: #fff;
+        }
+
+        #mat-query {
+            /*display: none;*/
+        }
+        #btn-adjust {
+            /*display: none;*/
+        }
+        .layui-table-cell {
+            text-align: center;
+            line-height: 20px !important;
+            vertical-align: middle;
+            height: auto;
+            overflow: visible;
+            text-overflow: inherit;
+            white-space: normal;
+
+        }
+    </style>
+</head>
+<body style="padding-bottom: 30px">
+
+<hr>
+
+<!-- 鍔熻兘鍖� -->
+<div class="function-area">
+    <button id="submit" style="alignment: right" class="function-btn">鎻愪氦</button>
+</div>
+
+<!-- 琛� -->
+<script type="text/html" id="operate">
+    <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="remove">绉婚櫎</a>
+</script>
+
+<!-- 琛ㄦ牸 -->
+<table class="layui-table" id="qualityInfoTable" lay-filter="qualityInfoTable"></table>
+
+<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
+<script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/handlebars/handlebars-v4.5.3.js"></script>
+<script type="text/javascript" src="../../static/js/pla/qualityInfo.js" charset="utf-8"></script>
+
+</body>
+</html>
+
diff --git a/src/main/webapp/views/pla2/returned.html b/src/main/webapp/views/pla2/returned.html
new file mode 100644
index 0000000..1442583
--- /dev/null
+++ b/src/main/webapp/views/pla2/returned.html
@@ -0,0 +1,197 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="utf-8">
+    <title></title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+    <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all">
+    <link rel="stylesheet" href="../../static/css/cool.css" media="all">
+    <link rel="stylesheet" href="../../static/css/common.css" media="all">
+</head>
+<body>
+
+<!-- 璇︽儏 -->
+<div id="data-detail" class="layer_self_wrap">
+    <form id="detail" class="layui-form" style="text-align: center">
+        <div class="layui-inline"  style="width:83%;margin-top: 0px;margin-bottom: 5px;">
+            <label class="layui-form-label"><span class="not-null">*</span>璁㈠崟鍙枫��锛�</label>
+            <div class="layui-input-inline cool-auto-complete">
+                <input id="orderNo" class="layui-input" type="text" style="display: none" lay-verify="required">
+                <input id="orderNoV" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" onchange="tableReload()" type="text" onfocus=this.blur()>
+                <div class="cool-auto-complete-window">
+                    <input class="cool-auto-complete-window-input" data-key="orderNoQueryByorderNo" onkeyup="autoLoad(this.getAttribute('data-key'))">
+                    <select class="cool-auto-complete-window-select" data-key="orderNoQueryByorderNoSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
+                    </select>
+                </div>
+            </div>
+        </div>
+        <div class="layui-inline"  style="width:83%; margin-bottom: 5px;">
+            <label class="layui-form-label">瀹㈡埛鍚嶇О锛�</label>
+            <div class="layui-input-inline">
+                <input id="customer" class="layui-input" type="text" readonly="readonly">
+            </div>
+        </div>
+        <div class="layui-inline"  style="width:83%; margin-bottom: 5px;">
+            <label class="layui-form-label"><span class="not-null">*</span>閫�鍥炰骇鍝侊細</label>
+            <div class="layui-input-block">
+                <table id="formSSXMTable" lay-filter="formSSXMTable"></table>
+            </div>
+        </div>
+
+        <div class="layui-form layui-card-header">
+            <div class="layui-inline"  style="width:83%; margin-bottom: 5px;">
+                <label class="layui-form-label"></span>澶囥��銆�娉細</label>
+                <div class="layui-input-inline">
+                    <input id="memo" class="layui-input" type="text">
+                </div>
+            </div>
+        </div>
+
+
+
+        <div id="data-detail-btn" class="layui-btn-container layui-form-item">
+            <div id="data-detail-submit-save" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="save">淇濆瓨</div>
+            <div id="data-detail-submit-edit" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="edit">淇敼</div>
+            <div id="data-detail-close" type="button" class="layui-btn" lay-submit lay-filter="close">鍏抽棴</div>
+        </div>
+
+    </form>
+</div>
+</body>
+<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
+<script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/pla/plaDetl.js" charset="utf-8"></script>
+</html>
+<script>
+    var checkData = [];
+
+    layui.use(['table','laydate', 'form'], function(){
+        var form = layui.form;
+        var layer = layui.layer;
+        var table = layui.table;
+
+        table.render({
+            elem: '#formSSXMTable',
+            height: 312,
+            headers: {token: localStorage.getItem('token')},
+            url: baseUrl+'/plaQty/orderDetail/auth',
+            page: true,
+            limit: 16,
+            limits: [16, 30, 50, 100, 200, 500],
+            cols: [[
+                {type: 'checkbox'},
+                {field: 'batch', title: '鎵瑰彿'},
+                {field: 'packageNo', title: '鍖呭彿'},
+                {field: 'orderWeight', title: '閲嶉噺'}
+
+            ]],
+            request: {
+                pageName: 'curr',
+                pageSize: 'limit'
+            },
+            parseData: function (res) {
+                console.log(res)
+                return {
+                    'code': res.code,
+                    'msg': res.msg,
+                    'count': res.data.total,
+                    'data': res.data.records
+                }
+            },
+            response: {
+                statusCode: 200
+            },
+            done: function(res, curr, count) {
+                if (res.code === 403) {
+                    top.location.href = baseUrl+"/";
+                }
+                tableData = table.cache.locDetl;
+                console.log(tableData);
+                pageCurr=curr;
+                limit();
+                form.on('checkbox(tableCheckbox)', function (data) {
+                    var _index = $(data.elem).attr('table-index')||0;
+                    if(data.elem.checked){
+                        res.data[_index][data.value] = 'Y';
+                    }else{
+                        res.data[_index][data.value] = 'N';
+                    }
+                });
+            }
+        });
+
+        // 鏁版嵁淇敼鍔ㄤ綔
+        form.on('submit(save)', function () {
+            let data = table.cache.formSSXMTable;
+            let dataSave = [];
+            for(var i in data){
+                if(data[i].LAY_CHECKED){
+                    data[i].memo = $('#memo').val();
+                    dataSave.push(data[i]);
+                }
+            }
+            if(!dataSave || dataSave.length < 1){
+                layer.msg("鏈嬀閫夋彁浜ら」锛屾棤娉曟彁浜�");
+                return;
+            }
+            $.ajax({
+                url: baseUrl+"/pla/returned/auth",
+                headers: {'token': localStorage.getItem('token')},
+                data: JSON.stringify(dataSave),
+                contentType:'application/json;charset=UTF-8',
+                method: 'POST',
+                async: false,
+                success: function (res) {
+                    if (res.code === 200){
+                        layer.msg("鎻愪氦鎴愬姛");
+                        table.reload('productionInfoTable',{
+                            data: dataOld
+                        })
+                        parent.layer.closeAll();
+                    } else if (res.code === 403){
+
+                    }else {
+                        layer.msg(res.msg, {icon: 2})
+                    }
+                }
+            })
+        });
+
+        function tableReload(child) {
+            var searchData = {};
+            $.each($('#search-box [name]').serializeArray(), function() {
+                searchData[this.name] = this.value;
+            });
+            (child ? parent.tableIns : tableIns).reload({
+                where: searchData,
+                page: {
+                    curr: 1
+                },
+                done: function (res, curr, count) {
+                    if (res.code === 403) {
+                        top.location.href = baseUrl+"/";
+                    }
+                    pageCurr=curr;
+                    if (res.data.length === 0 && count !== 0) {
+                        tableIns.reload({
+                            where: searchData,
+                            page: {
+                                curr: pageCurr-1
+                            }
+                        });
+                        pageCurr -= 1;
+                    }
+                    limit(child);
+                }
+            });
+        }
+
+    })
+
+
+</script>
+
diff --git a/src/main/webapp/views/pla2/sellout.html b/src/main/webapp/views/pla2/sellout.html
new file mode 100644
index 0000000..14fdf90
--- /dev/null
+++ b/src/main/webapp/views/pla2/sellout.html
@@ -0,0 +1,335 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="utf-8">
+    <title></title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+    <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all">
+    <link rel="stylesheet" href="../../static/css/cool.css" media="all">
+    <link rel="stylesheet" href="../../static/css/common.css" media="all">
+</head>
+<body>
+
+<!-- 璇︽儏 -->
+<div id="data-detail" class="layer_self_wrap">
+    <form id="detail" class="layui-form" style="text-align: center">
+        <div class="layui-form layui-card-header">
+            <div class="layui-inline"  style="width:83%;margin-top: 0px;margin-bottom: 5px;">
+                <label class="layui-form-label"><span class="not-null">*</span>璁㈠崟銆�鍙凤細</label>
+                <div class="layui-input-inline cool-auto-complete">
+                    <input id="orderNo" class="layui-input" type="text" style="display: none" lay-verify="required">
+                    <input id="orderNoV" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" onfocus=this.blur()>
+                    <div class="cool-auto-complete-window">
+                        <input class="cool-auto-complete-window-input" data-key="orderQueryByorderId" onkeyup="autoLoad(this.getAttribute('data-key'))">
+                        <select class="cool-auto-complete-window-select" data-key="orderQueryByorderIdSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
+                        </select>
+                    </div>
+                </div>
+            </div>
+            <div class="layui-inline"  style="width:40%;margin-top: 0px;margin-bottom: 5px;">
+                <label class="layui-form-label"><span class="not-null">*</span>鐗屻��銆�鍙凤細</label>
+                <div class="layui-input-inline cool-auto-complete">
+                    <input id="maktx" class="layui-input" type="text" style="display: none" lay-verify="required">
+                    <input id="maktxV" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" onfocus=this.blur()>
+                    <div class="cool-auto-complete-window">
+                        <input class="cool-auto-complete-window-input" data-key="orderDetlQueryByMaktx" onkeyup="autoLoad(this.getAttribute('data-key'))">
+                        <select class="cool-auto-complete-window-select" data-key="orderDetlQueryByMaktxSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
+                        </select>
+                    </div>
+                </div>
+            </div>
+            <div class="layui-inline"  style="width:40%; margin-bottom: 5px;">
+                <label class="layui-form-label"><span class="not-null">*</span>璁㈠崟閲嶉噺锛�</label>
+                <div class="layui-input-inline">
+                    <input id="weight" class="layui-input" type="text" lay-verify="required" readonly="readonly">
+                </div>
+            </div>
+            <div class="layui-inline"  style="width:40%;margin-top: 0px;margin-bottom: 5px;">
+                <label class="layui-form-label">瀹㈡埛鍚嶇О锛�</label>
+                <div class="layui-input-inline">
+                    <input id="customer" class="layui-input" type="text" readonly="readonly">
+                </div>
+            </div>
+            <div class="layui-inline"  style="width:40%;margin-top: 0px;margin-bottom: 5px;">
+                <label class="layui-form-label">瀹㈡埛鐢佃瘽锛�</label>
+                <div class="layui-input-inline">
+                    <input id="phone" class="layui-input" type="text" readonly="readonly">
+                </div>
+            </div>
+            <div class="layui-inline"  style="width:83%; margin-bottom: 5px;">
+                <label class="layui-form-label">瀹㈡埛鍦板潃锛�</label>
+                <div class="layui-input-inline">
+                    <input id="addr" class="layui-input" type="text" readonly="readonly">
+                </div>
+            </div>
+            <div class="layui-inline"  style="width:83%; margin-bottom: 5px;">
+                <label class="layui-form-label"><span class="not-null">*</span>鍙戣揣閲嶉噺锛�</label>
+                <div class="layui-input-inline">
+                    <input id="qtyWeight" class="layui-input" type="text" lay-verify="required" readonly="readonly">
+                </div>
+            </div>
+        </div>
+        <div class="layui-form layui-card-header">
+            <div class="layui-inline"  style="width:83%; margin-bottom: 5px;">
+                <label class="layui-form-label">璋冩嫧銆�鍒帮細</label>
+                <div class="layui-input-inline">
+                    <input id="allocate" class="layui-input" type="text" readonly="readonly">
+                </div>
+            </div>
+            <div class="layui-inline"  style="width:83%; margin-bottom: 5px;">
+                <label class="layui-form-label"></span>澶囥��銆�娉細</label>
+                <div class="layui-input-inline">
+                    <input id="memo" class="layui-input" type="text">
+                </div>
+            </div>
+        </div>
+        <div class="layui-inline"  style="width:83%; margin-bottom: 5px;">
+            <label class="layui-form-label"><span class="not-null">*</span>鍙戣揣鏃堕棿锛�</label>
+            <div class="layui-input-inline">
+                <input type="text" class="layui-input" id="pakoutTime">
+            </div>
+        </div>
+        <div id="data-detail-btn" class="layui-btn-container layui-form-item">
+            <div id="data-detail-submit-save" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="save">淇濆瓨</div>
+            <div id="data-detail-submit-edit" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="edit">淇敼</div>
+            <div id="data-detail-close" type="button" class="layui-btn" lay-submit lay-filter="close">鍏抽棴</div>
+        </div>
+
+    </form>
+</div>
+</body>
+<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
+<script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/pla/plaDetl.js" charset="utf-8"></script>
+
+<!-- 琛ㄥ崟寮圭獥 -->
+<script type="text/html" id="editDialog">
+    <form id="editForm" lay-filter="editForm" class="layui-form" style="text-align: center">
+        <table class="layui-table" id="detailTable" lay-filter="detailTable"></table>
+        <div class="layui-btn-container layui-form-item">
+            <button class="layui-btn layui-btn-normal" type="button" lay-submit ew-event="closeDialog">鍙栨秷</button>
+            <button class="layui-btn layui-btn-normal" type="button" lay-submit lay-filter="detailEditSubmit" lay-submit>淇濆瓨</button>
+        </div>
+    </form>
+</script>
+
+
+</html>
+<script>
+
+    $('body').keydown(function () {
+        if (event.keyCode === 13) {
+            return;
+        }
+    });
+
+    var checkData = [];
+    var detailData = [];
+    var deliveryTime;
+    function child(data){
+        checkData = data;
+        var allWeight = 0;
+        for (var i in checkData){
+            allWeight += (checkData[i].weightAnfme - checkData[i].qtyAnfme)
+        }
+        $('#qtyWeight').val(allWeight);
+        delivery();
+
+    }
+
+    //鏄剧ず4澶╁唴棰勭害鍑哄簱鐨勬椂闂�
+    function delivery(){
+        $.ajax({
+            url: baseUrl+"/plaQty/delivery/auth",
+            headers: {'token': localStorage.getItem('token')},
+            contentType:'application/json;charset=UTF-8',
+            method: 'POST',
+            async: false,
+            success: function (res) {
+                if (res.code === 200){
+                    $('#btn-day1-am').text(res.data[0].text);
+                    $('#btn-day1-pm').text(res.data[1].text);
+                    $('#btn-day2-am').text(res.data[2].text);
+                    $('#btn-day2-pm').text(res.data[3].text);
+                    $('#btn-day3-am').text(res.data[4].text);
+                    $('#btn-day3-pm').text(res.data[5].text);
+                    $('#btn-day4-am').text(res.data[6].text);
+                    $('#btn-day4-pm').text(res.data[7].text);
+                    $("#btn-day1-am").hover(function(){
+                        $(this).attr("title", res.data[0].user);
+                    }, function(){
+                        $(this).removeAttr("title");
+                    });
+
+                } else if (res.code === 403){
+                    layer.msg(res.msg, {icon: 2})
+                    return;
+                }else {
+                    layer.msg(res.msg, {icon: 2})
+                    return;
+                }
+            }
+        })
+    }
+
+    $('.delivery').click(function (){
+        delivery();
+        deliveryTime = this.textContent;
+        this.append(' 鉁�');
+        $('.delivery').addClass('layui-btn-primary');
+        this.classList.remove('layui-btn-primary');
+
+    })
+
+    layui.use(['table','laydate', 'form'], function(){
+        var form = layui.form;
+        var layer = layui.layer;
+        var table = layui.table;
+        var laydate = layui.laydate;
+        // 鏃ユ湡鏃堕棿閫夋嫨鍣�
+        laydate.render({
+            elem: '#pakoutTime',
+            type: 'datetime'
+        });
+
+        form.on('submit(edit)', function () {
+            var dataList = [];
+            for (var i in checkData){
+                var data = {
+                    "batch" : checkData[i].batch,
+                    "packageNo" : checkData[i].packageNo,
+                    "weight" : checkData[i].weightAnfme - checkData[i].qtyAnfme,
+                }
+                dataList.push(data);
+            }
+            if(detailData.length > 0){
+                dataList = detailData;
+            }
+            layer.open({
+                type: 1,
+                title: "鏁伴噺淇敼",
+                content: $('#editDialog').html(),
+                area: ['700px', top.detailHeight],
+                success: function (layero, dIndex) {
+                    // 鏄庣粏琛ㄦ牸
+                    tableIns = table.render({
+                        elem: '#detailTable',
+                        data: dataList,
+                        limit: 100,
+                        even: true,
+                        height: '400px',
+                        cellMinWidth: 50,
+                        cols: [[
+                            {field: 'batch', title: '鎵瑰彿', width: 160},
+                            {field: 'packageNo', title: '鍖呭彿', width: 200},
+                            {field: 'weight', title: '鏁伴噺',edit: true},
+                        ]],
+                    });
+                }
+            })
+        })
+
+        // 鏁版嵁鎻愪氦鍔ㄤ綔
+        form.on('submit(save)', function () {
+
+            if($('#maktxV').val() != checkData[0].brand){
+                layer.msg("閫変腑鐨勫簱瀛樼墝鍙蜂笌璁㈠崟鐗屽彿涓嶄竴鑷达紝璇烽噸鏂伴�夋嫨璁㈠崟");
+                return;
+            }
+
+            for (var i in checkData){
+                checkData[i].orderNo = $('#orderNoV').val();
+                checkData[i].customer = $('#customer').val();
+                checkData[i].phone = $('#phone').val();
+                checkData[i].addr = $('#addr').val();
+                checkData[i].orderWeight = detailData[i] ? detailData[i].weight : checkData[i].weightAnfme;
+                checkData[i].allocate = $('#allocate').val();
+                checkData[i].memo = $('#memo').val();
+                checkData[i].pakoutTime = $('#pakoutTime').val();
+            }
+
+            if(!$('#pakoutTime').val()){
+                layer.msg("璇烽�夋嫨鍙戣揣鏃堕棿");
+                return;
+            }
+
+            $.ajax({
+                url: baseUrl+"/pla/sellout/auth",
+                headers: {'token': localStorage.getItem('token')},
+                data: JSON.stringify(checkData),
+                contentType:'application/json;charset=UTF-8',
+                method: 'POST',
+                async: false,
+                success: function (res) {
+                    if (res.code === 200){
+                        layer.msg("淇敼鎴愬姛");
+                        tableReload(true);
+                        parent.clearTable();
+                    } else if (res.code === 403){
+                        layer.msg(res.msg, {icon: 2})
+                        return;
+                    }else {
+                        layer.msg(res.msg, {icon: 2})
+                        return;
+                    }
+                    parent.layer.closeAll();
+                }
+            })
+        });
+
+        form.on('submit(detailEditSubmit)', function () {
+
+            detailData = table.cache.detailTable;
+            var allWeight = +0;
+            for (var i in checkData){
+                //妫�娴嬩慨鏀圭殑鏁伴噺鏄惁灏忎簬绛変簬鏈�澶у彲鍑哄簱鏁伴噺
+                if(detailData[i].weight <= checkData[i].weightAnfme - checkData[i].qtyAnfme){
+                    checkData[i].orderWeight = detailData[i].weight;
+                    allWeight = allWeight + Number(detailData[i].weight);
+                }else {
+                    layer.msg("鎵瑰彿锛�" + detailData[i].batch + "锛屽寘鍙凤細" + detailData[i].packageNo + "鍙嚭搴撻噸閲忓皬浜庝慨鏀瑰悗鐨勬暟閲忥紝璇烽噸鏂板~鍐�");
+                    return;
+                }
+            }
+            $('#qtyWeight').val(allWeight);
+            layer.closeAll();
+        })
+
+
+        function tableReload(child) {
+            var searchData = {};
+            $.each($('#search-box [name]').serializeArray(), function() {
+                searchData[this.name] = this.value;
+            });
+            (child ? parent.tableIns : tableIns).reload({
+                where: searchData,
+                page: {
+                    curr: 1
+                },
+                done: function (res, curr, count) {
+                    if (res.code === 403) {
+                        top.location.href = baseUrl+"/";
+                    }
+                    pageCurr=curr;
+                    if (res.data.length === 0 && count !== 0) {
+                        tableIns.reload({
+                            where: searchData,
+                            page: {
+                                curr: pageCurr-1
+                            }
+                        });
+                        pageCurr -= 1;
+                    }
+                    limit(child);
+                }
+            });
+        }
+
+    })
+
+</script>
+
diff --git a/src/main/webapp/views/pla2/sellout1.html b/src/main/webapp/views/pla2/sellout1.html
new file mode 100644
index 0000000..8f64ff7
--- /dev/null
+++ b/src/main/webapp/views/pla2/sellout1.html
@@ -0,0 +1,340 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="utf-8">
+    <title></title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+    <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all">
+    <link rel="stylesheet" href="../../static/css/cool.css" media="all">
+    <link rel="stylesheet" href="../../static/css/common.css" media="all">
+</head>
+<body>
+
+<!-- 璇︽儏 -->
+<div id="data-detail" class="layer_self_wrap">
+    <form id="detail" class="layui-form" style="text-align: center">
+        <div class="layui-form layui-card-header">
+            <div class="layui-inline"  style="width:83%;margin-top: 0px;margin-bottom: 5px;">
+                <label class="layui-form-label"><span class="not-null">*</span>璁㈠崟銆�鍙凤細</label>
+                <div class="layui-input-inline cool-auto-complete">
+                    <input id="orderNo" class="layui-input" type="text" style="display: none" lay-verify="required">
+                    <input id="orderNoV" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" onfocus=this.blur()>
+                    <div class="cool-auto-complete-window">
+                        <input class="cool-auto-complete-window-input" data-key="orderQueryByorderId" onkeyup="autoLoad(this.getAttribute('data-key'))">
+                        <select class="cool-auto-complete-window-select" data-key="orderQueryByorderIdSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
+                        </select>
+                    </div>
+                </div>
+            </div>
+            <div class="layui-inline"  style="width:40%;margin-top: 0px;margin-bottom: 5px;">
+                <label class="layui-form-label"><span class="not-null">*</span>鐗屻��銆�鍙凤細</label>
+                <div class="layui-input-inline cool-auto-complete">
+                    <input id="maktx" class="layui-input" type="text" style="display: none" lay-verify="required">
+                    <input id="maktxV" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" onfocus=this.blur()>
+                    <div class="cool-auto-complete-window">
+                        <input class="cool-auto-complete-window-input" data-key="orderDetlQueryByMaktx" onkeyup="autoLoad(this.getAttribute('data-key'))">
+                        <select class="cool-auto-complete-window-select" data-key="orderDetlQueryByMaktxSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
+                        </select>
+                    </div>
+                </div>
+            </div>
+            <div class="layui-inline"  style="width:40%; margin-bottom: 5px;">
+                <label class="layui-form-label"><span class="not-null">*</span>璁㈠崟閲嶉噺锛�</label>
+                <div class="layui-input-inline">
+                    <input id="weight" class="layui-input" type="text" lay-verify="required" readonly="readonly">
+                </div>
+            </div>
+            <div class="layui-inline"  style="width:40%;margin-top: 0px;margin-bottom: 5px;">
+                <label class="layui-form-label">瀹㈡埛鍚嶇О锛�</label>
+                <div class="layui-input-inline">
+                    <input id="customer" class="layui-input" type="text" readonly="readonly">
+                </div>
+            </div>
+            <div class="layui-inline"  style="width:40%;margin-top: 0px;margin-bottom: 5px;">
+                <label class="layui-form-label">瀹㈡埛鐢佃瘽锛�</label>
+                <div class="layui-input-inline">
+                    <input id="phone" class="layui-input" type="text" readonly="readonly">
+                </div>
+            </div>
+            <div class="layui-inline"  style="width:83%; margin-bottom: 5px;">
+                <label class="layui-form-label">瀹㈡埛鍦板潃锛�</label>
+                <div class="layui-input-inline">
+                    <input id="addr" class="layui-input" type="text" readonly="readonly">
+                </div>
+            </div>
+            <div class="layui-inline"  style="width:83%; margin-bottom: 5px;">
+                <label class="layui-form-label"><span class="not-null">*</span>鍙戣揣閲嶉噺锛�</label>
+                <div class="layui-input-inline">
+                    <input id="qtyWeight" class="layui-input" type="text" lay-verify="required" readonly="readonly">
+                </div>
+            </div>
+        </div>
+        <div class="layui-form layui-card-header">
+            <div class="layui-inline"  style="width:83%; margin-bottom: 5px;">
+                <label class="layui-form-label">璋冩嫧銆�鍒帮細</label>
+                <div class="layui-input-inline">
+                    <input id="allocate" class="layui-input" type="text" readonly="readonly">
+                </div>
+            </div>
+            <div class="layui-inline"  style="width:83%; margin-bottom: 5px;">
+                <label class="layui-form-label"></span>澶囥��銆�娉細</label>
+                <div class="layui-input-inline">
+                    <input id="memo" class="layui-input" type="text">
+                </div>
+            </div>
+        </div>
+
+        <div class="layui-form layui-card-header" >
+            <label class="layui-form-label"><span class="not-null">*</span>閫夋嫨鍙戣揣鏃堕棿锛�</label> </br>
+            <i class="layui-icon layui-icon-date" style="font-size: 30px; color: #3F3F3F;"></i>
+            <div class="layui-form-item">
+                <button id="btn-day1-am" type="button" class="delivery layui-btn layui-btn-radius layui-btn-primary">浠婂ぉ涓嬪崍 80 鉁�</button>
+                <button id="btn-day2-am" type="button" class="delivery layui-btn layui-btn-radius layui-btn-primary">鏄庡ぉ涓嬪崍</button>
+                <button id="btn-day3-am" type="button" class="delivery layui-btn layui-btn-radius layui-btn-primary">鍚庡ぉ涓嬪崍</button>
+                <button id="btn-day4-am" type="button" class="delivery layui-btn layui-btn-radius layui-btn-primary">鍚庡ぉ涓嬪崍</button>
+            </div>
+            <div class="layui-form-item ">
+                <button id="btn-day1-pm" type="button" class="delivery layui-btn layui-btn-radius layui-btn-primary">浠婂ぉ涓嬪崍</button>
+                <button id="btn-day2-pm" type="button" class="delivery layui-btn layui-btn-radius layui-btn-primary">鏄庡ぉ涓嬪崍</button>
+                <button id="btn-day3-pm" type="button" class="delivery layui-btn layui-btn-radius layui-btn-primary">鍚庡ぉ涓嬪崍</button>
+                <button id="btn-day4-pm" type="button" class="delivery layui-btn layui-btn-radius layui-btn-primary">鍚庡ぉ涓嬪崍</button>
+            </div>
+        </div>
+
+        <div id="data-detail-btn" class="layui-btn-container layui-form-item">
+            <div id="data-detail-submit-save" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="save">淇濆瓨</div>
+            <div id="data-detail-submit-edit" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="edit">淇敼</div>
+            <div id="data-detail-close" type="button" class="layui-btn" lay-submit lay-filter="close">鍏抽棴</div>
+        </div>
+
+    </form>
+</div>
+</body>
+<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
+<script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/pla/plaDetl.js" charset="utf-8"></script>
+
+<!-- 琛ㄥ崟寮圭獥 -->
+<script type="text/html" id="editDialog">
+    <form id="editForm" lay-filter="editForm" class="layui-form" style="text-align: center">
+        <table class="layui-table" id="detailTable" lay-filter="detailTable"></table>
+        <div class="layui-btn-container layui-form-item">
+            <button class="layui-btn layui-btn-normal" type="button" lay-submit ew-event="closeDialog">鍙栨秷</button>
+            <button class="layui-btn layui-btn-normal" type="button" lay-submit lay-filter="detailEditSubmit" lay-submit>淇濆瓨</button>
+        </div>
+    </form>
+</script>
+
+
+</html>
+<script>
+
+    $('body').keydown(function () {
+        if (event.keyCode === 13) {
+            return;
+        }
+    });
+
+    var checkData = [];
+    var detailData = [];
+    var deliveryTime;
+    function child(data){
+        checkData = data;
+        var allWeight = 0;
+        for (var i in checkData){
+            allWeight += (checkData[i].weightAnfme - checkData[i].qtyAnfme)
+        }
+        $('#qtyWeight').val(allWeight);
+        delivery();
+
+    }
+
+    //鏄剧ず4澶╁唴棰勭害鍑哄簱鐨勬椂闂�
+    function delivery(){
+        $.ajax({
+            url: baseUrl+"/plaQty/delivery/auth",
+            headers: {'token': localStorage.getItem('token')},
+            contentType:'application/json;charset=UTF-8',
+            method: 'POST',
+            async: false,
+            success: function (res) {
+                if (res.code === 200){
+                    $('#btn-day1-am').text(res.data[0].text);
+                    $('#btn-day1-pm').text(res.data[1].text);
+                    $('#btn-day2-am').text(res.data[2].text);
+                    $('#btn-day2-pm').text(res.data[3].text);
+                    $('#btn-day3-am').text(res.data[4].text);
+                    $('#btn-day3-pm').text(res.data[5].text);
+                    $('#btn-day4-am').text(res.data[6].text);
+                    $('#btn-day4-pm').text(res.data[7].text);
+                    $("#btn-day1-am").hover(function(){
+                        $(this).attr("title", res.data[0].user);
+                    }, function(){
+                        $(this).removeAttr("title");
+                    });
+
+                } else if (res.code === 403){
+                    layer.msg(res.msg, {icon: 2})
+                    return;
+                }else {
+                    layer.msg(res.msg, {icon: 2})
+                    return;
+                }
+            }
+        })
+    }
+
+    $('.delivery').click(function (){
+        delivery();
+        deliveryTime = this.textContent;
+        this.append(' 鉁�');
+        $('.delivery').addClass('layui-btn-primary');
+        this.classList.remove('layui-btn-primary');
+
+    })
+
+    layui.use(['table','laydate', 'form'], function(){
+        var form = layui.form;
+        var layer = layui.layer;
+        var table = layui.table;
+
+        form.on('submit(edit)', function () {
+            var dataList = [];
+            for (var i in checkData){
+                var data = {
+                    "batch" : checkData[i].batch,
+                    "packageNo" : checkData[i].packageNo,
+                    "weight" : checkData[i].weightAnfme - checkData[i].qtyAnfme,
+                }
+                dataList.push(data);
+            }
+            if(detailData.length > 0){
+                dataList = detailData;
+            }
+            layer.open({
+                type: 1,
+                title: "鏁伴噺淇敼",
+                content: $('#editDialog').html(),
+                area: '700px',
+                success: function (layero, dIndex) {
+                    // 鏄庣粏琛ㄦ牸
+                    tableIns = table.render({
+                        elem: '#detailTable',
+                        data: dataList,
+                        limit: 100,
+                        even: true,
+                        cellMinWidth: 50,
+                        cols: [[
+                            {field: 'batch', title: '鎵瑰彿', width: 160},
+                            {field: 'packageNo', title: '鍖呭彿', width: 200},
+                            {field: 'weight', title: '鏁伴噺',edit: true},
+                        ]],
+                    });
+                }
+            })
+        })
+
+        // 鏁版嵁鎻愪氦鍔ㄤ綔
+        form.on('submit(save)', function () {
+
+            if($('#maktxV').val() != checkData[0].brand){
+                layer.msg("閫変腑鐨勫簱瀛樼墝鍙蜂笌璁㈠崟鐗屽彿涓嶄竴鑷达紝璇烽噸鏂伴�夋嫨璁㈠崟");
+                return;
+            }
+
+            for (var i in checkData){
+                checkData[i].orderNo = $('#orderNoV').val();
+                checkData[i].customer = $('#customer').val();
+                checkData[i].phone = $('#phone').val();
+                checkData[i].addr = $('#addr').val();
+                checkData[i].orderWeight = detailData[i] ? detailData[i].weight : checkData[i].weightAnfme;
+                checkData[i].allocate = $('#allocate').val();
+                checkData[i].memo = $('#memo').val();
+                checkData[i].pakoutTime = deliveryTime;
+            }
+
+            if(!deliveryTime){
+                layer.msg("璇烽�夋嫨鍙戣揣鏃堕棿");
+                return;
+            }
+
+            $.ajax({
+                url: baseUrl+"/pla/sellout/auth",
+                headers: {'token': localStorage.getItem('token')},
+                data: JSON.stringify(checkData),
+                contentType:'application/json;charset=UTF-8',
+                method: 'POST',
+                async: false,
+                success: function (res) {
+                    if (res.code === 200){
+                        layer.msg("淇敼鎴愬姛");
+                        tableReload(true);
+                        parent.clearTable();
+                    } else if (res.code === 403){
+                        layer.msg(res.msg, {icon: 2})
+                        return;
+                    }else {
+                        layer.msg(res.msg, {icon: 2})
+                        return;
+                    }
+                    parent.layer.closeAll();
+                }
+            })
+        });
+
+        form.on('submit(detailEditSubmit)', function () {
+
+            detailData = table.cache.detailTable;
+            var allWeight = +0;
+            for (var i in checkData){
+                //妫�娴嬩慨鏀圭殑鏁伴噺鏄惁灏忎簬绛変簬鏈�澶у彲鍑哄簱鏁伴噺
+                if(detailData[i].weight <= checkData[i].weightAnfme - checkData[i].qtyAnfme){
+                    checkData[i].orderWeight = detailData[i].weight;
+                    allWeight = allWeight + Number(detailData[i].weight);
+                }else {
+                    layer.msg("鎵瑰彿锛�" + detailData[i].batch + "锛屽寘鍙凤細" + detailData[i].packageNo + "鍙嚭搴撻噸閲忓皬浜庝慨鏀瑰悗鐨勬暟閲忥紝璇烽噸鏂板~鍐�");
+                    return;
+                }
+            }
+            $('#qtyWeight').val(allWeight);
+            layer.closeAll();
+        })
+
+
+        function tableReload(child) {
+            var searchData = {};
+            $.each($('#search-box [name]').serializeArray(), function() {
+                searchData[this.name] = this.value;
+            });
+            (child ? parent.tableIns : tableIns).reload({
+                where: searchData,
+                page: {
+                    curr: 1
+                },
+                done: function (res, curr, count) {
+                    if (res.code === 403) {
+                        top.location.href = baseUrl+"/";
+                    }
+                    pageCurr=curr;
+                    if (res.data.length === 0 && count !== 0) {
+                        tableIns.reload({
+                            where: searchData,
+                            page: {
+                                curr: pageCurr-1
+                            }
+                        });
+                        pageCurr -= 1;
+                    }
+                    limit(child);
+                }
+            });
+        }
+
+    })
+
+</script>
+
diff --git a/src/main/webapp/views/pla2/stockOut.html b/src/main/webapp/views/pla2/stockOut.html
new file mode 100644
index 0000000..43759e9
--- /dev/null
+++ b/src/main/webapp/views/pla2/stockOut.html
@@ -0,0 +1,131 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="utf-8">
+    <title></title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+    <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all">
+    <link rel="stylesheet" href="../../static/css/admin.css?v=318" media="all">
+    <link rel="stylesheet" href="../../static/css/cool.css" media="all">
+    <link rel="stylesheet" href="../../static/css/common.css" media="all">
+    <style>
+        html {
+            height: 100%;
+            padding: 10px;
+            background-color: #f1f1f1;
+            box-sizing: border-box;
+        }
+        body {
+            background-color: #fff;
+            border-radius: 5px;
+            box-shadow: 0 0 3px rgba(0,0,0,.3);
+            padding-bottom: 20px;
+        }
+
+        #staNoSpan {
+            text-align: center;
+            display: inline-block;
+            width: 100px;
+            font-size: 13px;
+        }
+        .layui-btn-container .layui-form-select {
+            display: inline-block;
+            width: 150px;
+            height: 30px;
+        }
+        .layui-btn-container .layui-form-select.layui-form-selected {
+            display: inline-block;
+            width: 150px;
+        }
+        .layui-btn-container .layui-select-title input {
+            font-size: 13px;
+        }
+        .layui-btn-container .layui-anim.layui-anim-upbit dd {
+            font-size: 13px;
+        }
+
+        #btn-outbound {
+            margin-left: 60px;
+            display: none;
+        }
+
+        /*----------------------------------*/
+        .function-area {
+            padding: 20px 50px;
+        }
+        .function-btn {
+            font-size: 16px;
+            padding: 1px 2px;
+            width: 100px;
+            height: 50px;
+            border-color: #2b425b;
+            border-radius: 4px;
+            border-width: 2px;
+            background: none;
+            border-style: solid;
+            transition: 0.4s;
+            cursor: pointer;
+            letter-spacing: 1.5px;
+        }
+        .function-btn:hover {
+            background-color: #2b425b;
+            color: #fff;
+        }
+
+        #mat-query {
+            display: none;
+        }
+    </style>
+</head>
+<body>
+
+<!-- 鍔熻兘鍖� -->
+<div class="function-area">
+    <button id="mat-query" class="function-btn">鎻愬彇搴撳瓨</button>
+</div>
+
+<hr>
+
+<!-- 琛ㄦ牸 -->
+<div style="padding-bottom: 5px; margin-bottom: 45px">
+
+    <!-- 澶撮儴 -->
+    <script type="text/html" id="toolbar">
+        <div class="layui-form">
+            <div class="layui-btn-container">
+                <!-- 1.閫夋嫨鍑哄簱鍙� -->
+<!--                <span id="staNoSpan">鍑哄簱鍙o細</span>-->
+<!--                <select id="staNoSelect" lay-verify="required">-->
+<!--                    <option value="">璇烽�夋嫨绔欑偣</option>-->
+<!--                </select>-->
+                <!-- 2.鍚姩鍑哄簱 -->
+                <button class="layui-btn layui-btn-lg" id="btn-outbound" lay-event="outbound">鍑哄簱</button>
+            </div>
+        </div>
+    </script>
+
+    <!-- 琛� -->
+    <script type="text/html" id="operate">
+        <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="remove">绉婚櫎</a>
+    </script>
+
+    <table class="layui-table" id="chooseData" lay-filter="chooseData"></table>
+</div>
+
+<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
+<script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/handlebars/handlebars-v4.5.3.js"></script>
+<script type="text/javascript" src="../../static/js/pla/stockOut.js" charset="utf-8"></script>
+
+<script type="text/template" id="takeSiteSelectTemplate">
+    {{#each data}}
+    <option value="{{siteId}}">{{desc}}</option>
+    {{/each}}
+</script>
+</body>
+</html>
+
diff --git a/src/main/webapp/views/pla2/update.html b/src/main/webapp/views/pla2/update.html
new file mode 100644
index 0000000..ca3b65d
--- /dev/null
+++ b/src/main/webapp/views/pla2/update.html
@@ -0,0 +1,147 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="utf-8">
+    <title></title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+    <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all">
+    <link rel="stylesheet" href="../../static/css/cool.css" media="all">
+    <link rel="stylesheet" href="../../static/css/common.css" media="all">
+</head>
+<body>
+
+<!-- 璇︽儏 -->
+<div id="data-detail" class="layer_self_wrap">
+    <form id="detail" class="layui-form" style="text-align: center">
+
+        <div class="layui-inline"  style="width:80%;">
+            <label class="layui-form-label">鎹㈠寘瑁咃細</label>
+            <div class="layui-input-inline cool-auto-complete">
+                <input id="packageType" class="layui-input" type="text" style="display: none">
+                <input id="packageTypeV" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" onfocus=this.blur()>
+                <div class="cool-auto-complete-window">
+                    <input class="cool-auto-complete-window-input" data-key="configTypeQueryByPackageType" data-value="packageType" onkeyup="autoLoad(this.getAttribute('data-key'))">
+                    <select class="cool-auto-complete-window-select" data-key="configTypeQueryByPackageTypeSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
+                    </select>
+                </div>
+            </div>
+        </div>
+        <div class="layui-inline"  style="width:80%;">
+            <label class="layui-form-label">鎹㈡墭鐩橈細</label>
+            <div class="layui-input-inline cool-auto-complete">
+                <input id="zpalletType" class="layui-input" type="text" style="display: none">
+                <input id="zpalletTypeV" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" onfocus=this.blur()>
+                <div class="cool-auto-complete-window">
+                    <input class="cool-auto-complete-window-input" data-key="configTypeQueryByzpalletType" data-value="zpalletType" onkeyup="autoLoad(this.getAttribute('data-key'))">
+                    <select class="cool-auto-complete-window-select" data-key="configTypeQueryByzpalletTypeSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
+                    </select>
+                </div>
+            </div>
+        </div>
+        <div class="layui-inline"  style="width:80%;">
+            <label class="layui-form-label">缂犺啘锛�</label>
+            <div class="layui-input-inline cool-auto-complete">
+                <input id="filmWrap" class="layui-input" type="text" style="display: none" >
+                <input id="filmWrapV" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" onfocus=this.blur()>
+                <div class="cool-auto-complete-window">
+                    <input class="cool-auto-complete-window-input" data-key="configTypeQueryByfilmWrap" data-value="filmWrap" onkeyup="autoLoad(this.getAttribute('data-key'))">
+                    <select class="cool-auto-complete-window-select" data-key="configTypeQueryByfilmWrapSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
+                    </select>
+                </div>
+            </div>
+        </div>
+
+        <div id="data-detail-btn" class="layui-btn-container layui-form-item">
+            <div id="data-detail-submit-save" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="save">淇濆瓨</div>
+            <div id="data-detail-submit-edit" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="edit">淇敼</div>
+            <div id="data-detail-close" type="button" class="layui-btn" lay-submit lay-filter="close">鍏抽棴</div>
+        </div>
+
+    </form>
+</div>
+</body>
+<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
+<script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/pla/plaDetl.js" charset="utf-8"></script>
+</html>
+<script>
+    var checkData = [];
+    function child(data){
+        checkData = data;
+    }
+
+    layui.use(['table','laydate', 'form'], function(){
+        var form = layui.form;
+        var layer = layui.layer;
+        var table = layui.table;
+
+        // 鏁版嵁淇敼鍔ㄤ綔
+        form.on('submit(save)', function () {
+
+            for(var i in checkData){
+                checkData[i].packageType = $('#packageTypeV').val() ? $('#packageTypeV').val() : checkData[i].packageType;
+                checkData[i].zpalletType = $('#zpalletTypeV').val() ? $('#zpalletTypeV').val() : checkData[i].zpalletType;
+                checkData[i].filmWrap = $('#filmWrapV').val() ? $('#filmWrapV').val() : checkData[i].filmWrap;
+                checkData[i].step = 2;
+            }
+
+            $.ajax({
+                url: baseUrl+"/pla/update/auth",
+                headers: {'token': localStorage.getItem('token')},
+                data: JSON.stringify(checkData),
+                contentType:'application/json;charset=UTF-8',
+                method: 'POST',
+                async: false,
+                success: function (res) {
+                    if (res.code === 200){
+                        layer.msg("淇敼鎴愬姛");
+                        tableReload(true);
+                    } else if (res.code === 403){
+                        layer.msg(res.msg, {icon: 2})
+                        return;
+                    }else {
+                        layer.msg(res.msg, {icon: 2})
+                        return;
+                    }
+                    parent.layer.closeAll();
+                }
+            })
+        });
+
+        function tableReload(child) {
+            var searchData = {};
+            $.each($('#search-box [name]').serializeArray(), function() {
+                searchData[this.name] = this.value;
+            });
+            (child ? parent.tableIns : tableIns).reload({
+                where: searchData,
+                page: {
+                    curr: 1
+                },
+                done: function (res, curr, count) {
+                    if (res.code === 403) {
+                        top.location.href = baseUrl+"/";
+                    }
+                    pageCurr=curr;
+                    if (res.data.length === 0 && count !== 0) {
+                        tableIns.reload({
+                            where: searchData,
+                            page: {
+                                curr: pageCurr-1
+                            }
+                        });
+                        pageCurr -= 1;
+                    }
+                    limit(child);
+                }
+            });
+        }
+
+    })
+
+</script>
+
diff --git a/src/main/webapp/views/pla2/updateOwner.html b/src/main/webapp/views/pla2/updateOwner.html
new file mode 100644
index 0000000..247328b
--- /dev/null
+++ b/src/main/webapp/views/pla2/updateOwner.html
@@ -0,0 +1,121 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="utf-8">
+    <title></title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+    <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all">
+    <link rel="stylesheet" href="../../static/css/cool.css" media="all">
+    <link rel="stylesheet" href="../../static/css/common.css" media="all">
+</head>
+<body>
+
+<!-- 璇︽儏 -->
+<div id="data-detail" class="layer_self_wrap">
+    <form id="detail" class="layui-form" style="text-align: center">
+
+        <div class="layui-inline"  style="width:80%;">
+            <label class="layui-form-label">鍙樻洿涓讳綋锛�</label>
+            <div class="layui-input-inline cool-auto-complete">
+                <input id="owner" class="layui-input" type="text" style="display: none">
+                <input id="ownerV" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" onfocus=this.blur()>
+                <div class="cool-auto-complete-window">
+                    <input class="cool-auto-complete-window-input" data-key="configTypeQueryByOwner" data-value="owner" onkeyup="autoLoad(this.getAttribute('data-key'))">
+                    <select class="cool-auto-complete-window-select" data-key="configTypeQueryByOwnerSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
+                    </select>
+                </div>
+            </div>
+        </div>
+
+        <div id="data-detail-btn" class="layui-btn-container layui-form-item">
+            <div id="data-detail-submit-save" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="save">淇濆瓨</div>
+            <div id="data-detail-submit-edit" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="edit">淇敼</div>
+            <div id="data-detail-close" type="button" class="layui-btn" lay-submit lay-filter="close">鍏抽棴</div>
+        </div>
+
+    </form>
+</div>
+</body>
+<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
+<script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/pla/plaDetl.js" charset="utf-8"></script>
+</html>
+<script>
+    var checkData = [];
+    function child(data){
+        checkData = data;
+    }
+
+    layui.use(['table','laydate', 'form'], function(){
+        var form = layui.form;
+        var layer = layui.layer;
+        var table = layui.table;
+
+        // 鏁版嵁淇敼鍔ㄤ綔
+        form.on('submit(save)', function () {
+
+            for(var i in checkData){
+                checkData[i].owner = $('#ownerV').val() ? $('#ownerV').val() : checkData[i].packageType;
+                checkData[i].step = 2;
+            }
+
+            $.ajax({
+                url: baseUrl+"/pla/update/auth",
+                headers: {'token': localStorage.getItem('token')},
+                data: JSON.stringify(checkData),
+                contentType:'application/json;charset=UTF-8',
+                method: 'POST',
+                async: false,
+                success: function (res) {
+                    if (res.code === 200){
+                        layer.msg("淇敼鎴愬姛");
+                        tableReload(true);
+                    } else if (res.code === 403){
+                        layer.msg(res.msg, {icon: 2})
+                        return;
+                    }else {
+                        layer.msg(res.msg, {icon: 2})
+                        return;
+                    }
+                    parent.layer.closeAll();
+                }
+            })
+        });
+
+        function tableReload(child) {
+            var searchData = {};
+            $.each($('#search-box [name]').serializeArray(), function() {
+                searchData[this.name] = this.value;
+            });
+            (child ? parent.tableIns : tableIns).reload({
+                where: searchData,
+                page: {
+                    curr: 1
+                },
+                done: function (res, curr, count) {
+                    if (res.code === 403) {
+                        top.location.href = baseUrl+"/";
+                    }
+                    pageCurr=curr;
+                    if (res.data.length === 0 && count !== 0) {
+                        tableIns.reload({
+                            where: searchData,
+                            page: {
+                                curr: pageCurr-1
+                            }
+                        });
+                        pageCurr -= 1;
+                    }
+                    limit(child);
+                }
+            });
+        }
+
+    })
+
+</script>
+
diff --git a/src/main/webapp/views/pla2/waitingPakin.html b/src/main/webapp/views/pla2/waitingPakin.html
new file mode 100644
index 0000000..4a03807
--- /dev/null
+++ b/src/main/webapp/views/pla2/waitingPakin.html
@@ -0,0 +1,114 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="utf-8">
+    <title></title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+    <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all">
+    <link rel="stylesheet" href="../../static/css/admin.css?v=318" media="all">
+    <link rel="stylesheet" href="../../static/css/cool.css" media="all">
+    <link rel="stylesheet" href="../../static/css/common.css" media="all">
+    <style>
+        html {
+            height: 100%;
+            padding: 10px;
+            background-color: #f1f1f1;
+            box-sizing: border-box;
+        }
+        body {
+            background-color: #fff;
+            border-radius: 5px;
+            box-shadow: 0 0 3px rgba(0,0,0,.3);
+        }
+
+        /* search */
+        .layui-card-header {
+            border-bottom: none;
+        }
+        #search-box {
+            padding: 30px 0 10px 0;
+        }
+        #search-box .layui-inline:first-child {
+            margin-left: 30px;
+        }
+        #search-box .layui-inline {
+            margin-right: 5px;
+        }
+
+        #data-search-btn {
+            margin-left: 10px;
+            display: inline-block;
+        }
+        #data-search-btn.layui-btn-container .layui-btn {
+            margin-right: 20px;
+        }
+
+        /* add */
+        .function-area {
+            padding: 15px 0 20px 40px;
+        }
+        .function-btn {
+            font-size: 16px;
+            padding: 1px 1px 1px 1px;
+            width: 120px;
+            height: 40px;
+            border-color: #2b425b;
+            border-radius: 4px;
+            border-width: 1px;
+            background: none;
+            border-style: solid;
+            transition: 0.4s;
+            cursor: pointer;
+        }
+        .function-btn:hover {
+            background-color: #2b425b;
+            color: #fff;
+        }
+
+        #mat-query {
+            /*display: none;*/
+        }
+        #btn-adjust {
+            /*display: none;*/
+        }
+        .layui-table-cell {
+            text-align: center;
+            line-height: 20px !important;
+            vertical-align: middle;
+            height: auto;
+            overflow: visible;
+            text-overflow: inherit;
+            white-space: normal;
+
+        }
+    </style>
+</head>
+<body style="padding-bottom: 30px">
+
+<hr>
+
+<!-- 鍔熻兘鍖� -->
+<div class="function-area">
+    <button id="submit" style="alignment: right" class="function-btn">閫氱煡鍏ュ簱</button>
+</div>
+
+<!-- 琛� -->
+<script type="text/html" id="operate">
+    <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="remove">绉婚櫎</a>
+</script>
+
+<!-- 琛ㄦ牸 -->
+<table class="layui-table" id="waitingPakinTable" lay-filter="qualityInfoTable"></table>
+
+<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
+<script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/handlebars/handlebars-v4.5.3.js"></script>
+<script type="text/javascript" src="../../static/js/pla/waitingPakin.js" charset="utf-8"></script>
+
+</body>
+</html>
+
diff --git a/src/main/webapp/views/pla3/locDetlQuery.html b/src/main/webapp/views/pla3/locDetlQuery.html
new file mode 100644
index 0000000..a2a078f
--- /dev/null
+++ b/src/main/webapp/views/pla3/locDetlQuery.html
@@ -0,0 +1,371 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="utf-8">
+    <title></title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+    <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all">
+    <link rel="stylesheet" href="../../static/css/admin.css?v=318" media="all">
+    <link rel="stylesheet" href="../../static/css/cool.css" media="all">
+    <link rel="stylesheet" href="../../static/css/common.css" media="all">
+    <style>
+        body {
+        }
+        .layui-table-box {
+            border-right: 1px solid #9F9F9F;
+            border-left: 1px solid #9F9F9F;
+        }
+
+        #search-box {
+            padding: 30px 0 20px 0;
+        }
+        #search-box .layui-inline:first-child {
+            margin-left: 30px;
+        }
+        #search-box .layui-inline {
+            margin-right: 5px;
+        }
+
+        #data-search-btn {
+            margin-left: 10px;
+            display: inline-block;
+        }
+        #data-search-btn.layui-btn-container .layui-btn {
+            margin-right: 20px;
+        }
+    </style>
+</head>
+<body>
+<div style="padding: 25px; line-height: 22px; background-color: #393D49; color: #fff; font-weight: 300;">
+    <span style="font-size: large; font-weight: bold">鎻愬彇搴撳瓨鍟嗗搧</span>
+</div>
+<!-- 鎼滅储鏍� -->
+<fieldset class="layui-elem-field site-demo-button" style="margin: 20px;">
+    <legend>鎼滅储鏍�</legend>
+    <!-- 鎼滅储鏍� -->
+    <div id="search-box">
+            <div class="layui-form layui-card-header">
+            <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">-->
+<!--                <div class="layui-input-inline">-->
+<!--                    <input class="layui-input" type="text" name="package_no" placeholder="鍖呭彿" autocomplete="off">-->
+<!--                </div>-->
+<!--            </div>-->
+            <div class="layui-inline">
+                <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()>
+                    <div class="cool-auto-complete-window">
+                        <input class="cool-auto-complete-window-input" data-key="matMaktxQueryByMaktx" onkeyup="autoLoad(this.getAttribute('data-key'))">
+                        <select class="cool-auto-complete-window-select" data-key="matMaktxQueryByMaktxSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
+                        </select>
+                    </div>
+                </div>
+            </div>
+            <div class="layui-inline">
+                <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-input-inline">
+                    <!--                <input class="layui-input" type="text" name="status" placeholder="鐘舵��" autocomplete="off">-->
+                    <select name="status">
+                        <option value="">閫夋嫨鐘舵��</option>
+                        <option value="鏆傚叆搴�">鏆傚叆搴�</option>
+                        <option value="寰呭叆搴�">寰呭叆搴�</option>
+                        <option value="宸插叆搴�" selected>宸插叆搴�</option>
+                        <option value="寰呭嚭搴�">寰呭嚭搴�</option>
+                        <option value="閮ㄥ垎鍑哄簱">閮ㄥ垎鍑哄簱</option>
+                        <option value="鍏ㄩ儴鍑哄簱">鍏ㄩ儴鍑哄簱</option>
+                    </select>
+                </div>
+            </div>
+            <div class="layui-inline">
+                <div class="layui-input-inline">
+                    <input class="layui-input" type="text" name="condition" placeholder="璇疯緭鍏�" autocomplete="off">
+                </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" 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>
+        <div class="layui-form layui-card-header">
+            <div class="layui-inline">
+                <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-input-inline">
+                    <input class="layui-input" type="text" name="zpallet_type" placeholder="鎵樼洏绫诲瀷" autocomplete="off">
+                </div>
+            </div>
+            <div class="layui-inline" style="width: 300px">
+                <div class="layui-input-inline" style="width: 300px">
+                    <input type="text" class="layui-input" name="create_time" id="ID-laydate-range-datetime" placeholder="璧峰鏃堕棿 - 缁堟鏃堕棿">
+                </div>
+            </div>
+        </div>
+        <div class="layui-form layui-card-header">
+            <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">
+                <div class="layui-input-inline">
+                    <input class="layui-input" type="text" name="finger_meltingMin" placeholder="鏈�灏忕啍鎸�" autocomplete="off">
+                </div>
+            </div>
+            <div class="layui-inline">
+                <div class="layui-input-inline">
+                    <input class="layui-input" type="text" name="finger_meltingMax" placeholder="鏈�澶х啍鎸�" autocomplete="off">
+                </div>
+            </div>
+            <div class="layui-inline">
+            <div class="layui-input-inline">
+                <input class="layui-input" type="text" name="opacityMin" placeholder="鏈�灏忎笉閫忔槑搴�" autocomplete="off">
+            </div>
+        </div>
+            <div class="layui-inline">
+                <div class="layui-input-inline">
+                    <input class="layui-input" type="text" name="opacityMax" placeholder="鏈�澶т笉閫忔槑搴�" autocomplete="off">
+                </div>
+            </div>
+            <div class="layui-inline">
+                <div class="layui-input-inline">
+                    <input class="layui-input" type="text" name="waterMin" placeholder="鏈�灏忔按鍒�" autocomplete="off">
+                </div>
+            </div>
+            <div class="layui-inline">
+                <div class="layui-input-inline">
+                    <input class="layui-input" type="text" name="waterMax" placeholder="鏈�澶ф按鍒�" autocomplete="off">
+                </div>
+            </div>
+        </div>
+        <div class="layui-form layui-card-header">
+            <div class="layui-inline">
+                <div class="layui-input-inline">
+                    <input class="layui-input" type="text" name="fusing_pointMin" placeholder="鏈�灏忕啍鐐�" autocomplete="off">
+                </div>
+            </div>
+            <div class="layui-inline">
+                <div class="layui-input-inline">
+                    <input class="layui-input" type="text" name="fusing_pointMax" placeholder="鏈�澶х啍鐐�" autocomplete="off">
+                </div>
+            </div>
+            <div class="layui-inline">
+                <div class="layui-input-inline">
+                    <input class="layui-input" type="text" name="yellownessMin" placeholder="鏈�灏忛粍搴�" autocomplete="off">
+                </div>
+            </div>
+            <div class="layui-inline">
+                <div class="layui-input-inline">
+                    <input class="layui-input" type="text" name="yellownessMax" placeholder="鏈�澶ч粍搴�" autocomplete="off">
+                </div>
+            </div>
+            <div class="layui-inline">
+                <div class="layui-input-inline">
+                    <input class="layui-input" type="text" name="vadf1Min" placeholder="鏈�灏忔尌鍙戞" autocomplete="off">
+                </div>
+            </div>
+            <div class="layui-inline">
+                <div class="layui-input-inline">
+                    <input class="layui-input" type="text" name="vadf1Max" placeholder="鏈�澶ф尌鍙戞" autocomplete="off">
+                </div>
+            </div>
+            <div class="layui-inline">
+                <div class="layui-input-inline">
+                    <input class="layui-input" type="text" name="vadf2Min" placeholder="鏈�灏忓垎瑙f" autocomplete="off">
+                </div>
+            </div>
+            <div class="layui-inline">
+                <div class="layui-input-inline">
+                    <input class="layui-input" type="text" name="vadf2Max" placeholder="鏈�澶у垎瑙f" autocomplete="off">
+                </div>
+            </div>
+        </div>
+    </div>
+</fieldset>
+
+<script type="text/html" id="toolbar">
+    <div class="layui-btn-container">
+        <button class="layui-btn" id="btn-confirm" lay-event="confirm" style="">鎻愬彇</button>
+    </div>
+</script>
+
+<div class="layui-form">
+    <table class="layui-hide" id="stockOut" lay-filter="stockOut"></table>
+</div>
+
+<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
+<script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/handlebars/handlebars-v4.5.3.js"></script>
+
+</body>
+<script>
+
+    function getCol() {
+        return plaCols;
+    }
+
+    layui.config({
+        base: baseUrl + "/static/layui/lay/modules/"
+    }).use(['table','laydate', 'form', 'admin', 'tableMerge'], function() {
+        var table = layui.table;
+        var $ = layui.jquery;
+        var layer = layui.layer;
+        var layDate = layui.laydate;
+        // 鏃ユ湡鏃堕棿鑼冨洿
+        layDate.render({
+            elem: '#ID-laydate-range-datetime',
+            type: 'datetime',
+            range: true
+        });
+        var form = layui.form;
+        var admin = layui.admin;
+        var tableMerge = layui.tableMerge;
+
+        // 鏁版嵁娓叉煋
+        locDetlTableIns = table.render({
+            elem: '#stockOut',
+            headers: {token: localStorage.getItem('token')},
+            url: baseUrl+'/pla/list/auth?step=2',
+            page: true,
+            totalRow: true, // 寮�鍚悎璁¤
+            height: function(){
+                var otherHeight = $('.function-area').outerHeight() + $('#search-box').outerHeight(); // 鑷畾涔夊叾浠栧尯鍩熺殑楂樺害
+                console.log($(window).height() - otherHeight);
+                return $(window).height() - otherHeight - 100; // 杩斿洖 number 绫诲瀷
+            },
+            //height: 'full',
+            limit: 500,
+            limits: [500,1000],
+            even: true,
+            toolbar: '#toolbar',
+            cellMinWidth: 50,
+            cols: [function(){
+                var arr = getCol();
+
+                // 鍒濆鍖栫瓫閫夌姸鎬�
+                var local = layui.data('table-filter-test'); // 鑾峰彇瀵瑰簲鐨勬湰鍦拌褰�
+                layui.each(arr, function(index, item){
+                    if(item.field in local){
+                        item.hide = local[item.field];
+                    }
+                });
+                return arr;
+            }() ],
+            request: {
+                pageName: 'curr',
+                pageSize: 'limit'
+            },
+            parseData: function (res) {
+                console.log(res)
+                return {
+                    'code': res.code,
+                    'msg': res.msg,
+                    'count': res.data.total,
+                    'data': res.data.records,
+                }
+            },
+            response: {
+                statusCode: 200
+            },
+            done: function(res, curr, count) {
+                // 璁板綍绛涢�夌姸鎬�
+                var that = this;
+                that.elem.next().on('mousedown', 'input[lay-filter="LAY_TABLE_TOOL_COLS"]+', function(){
+                    var input = $(this).prev()[0];
+                    // 姝ゅ琛ㄥ悕鍙换鎰忓畾涔�
+                    layui.data('table-filter-test', {
+                        key: input.name
+                        ,value: input.checked
+                    })
+                });
+
+                //$(".lavui-table-grid-down").hide();
+                if (res.code === 403) {
+                    top.location.href = baseUrl+"/";
+                }
+                tableData = table.cache.locDetl;
+                console.log(tableData);
+                pageCurr=curr;
+                limit();
+                form.on('checkbox(tableCheckbox)', function (data) {
+                    var _index = $(data.elem).attr('table-index')||0;
+                    if(data.elem.checked){
+                        res.data[_index][data.value] = 'Y';
+                    }else{
+                        res.data[_index][data.value] = 'N';
+                    }
+                });
+                let headerTop = $('.layui-table-header').offset().top; //鑾峰彇琛ㄦ牸澶村埌鏂囨。椤堕儴鐨勮窛绂�
+                let headerPage = $('.layui-table-page').offset().top; //鑾峰彇琛ㄦ牸搴曢儴鏂囨。椤堕儴鐨勮窛绂�
+                $(window).scroll(function () {
+                    if ((headerTop - $(window).scrollTop()) < 0) { //瓒呰繃浜�
+                        $('.layui-table-header').addClass('table-header-fixed'); //娣诲姞鏍峰紡锛屽浐瀹氫綇琛ㄥご
+                    } else { //娌¤秴杩�
+                        $('.layui-table-header').removeClass('table-header-fixed'); //绉婚櫎鏍峰紡
+                    }
+                });
+            }
+        });
+
+        // 鐩戝惉澶村伐鍏锋爮浜嬩欢
+        table.on('toolbar(stockOut)', function (obj) {
+            var checkStatus = table.checkStatus(obj.config.id);
+            var data = checkStatus.data;
+            switch(obj.event) {
+                case 'confirm':
+                    if (data.length === 0){
+                        layer.msg("璇烽�夋嫨鏁版嵁");
+                        return;
+                    }
+                    parent.addTableData(data);
+                    break;
+            }
+        });
+
+        // 鎼滅储鏍忔悳绱簨浠�
+        form.on('submit(search)', function (data) {
+            tableReload();
+        });
+
+        layDate.render({
+            elem: '.layui-laydate-range'
+            ,type: 'datetime'
+            ,range: true
+        });
+    })
+
+    function tableReload() {
+        var searchData = {};
+        $.each($('#search-box [name]').serializeArray(), function() {
+            searchData[this.name] = this.value;
+        });
+        locDetlTableIns.reload({
+            where: searchData,
+        });
+    }
+</script>
+</html>
+
diff --git a/src/main/webapp/views/pla3/pickup.html b/src/main/webapp/views/pla3/pickup.html
new file mode 100644
index 0000000..90a3b19
--- /dev/null
+++ b/src/main/webapp/views/pla3/pickup.html
@@ -0,0 +1,211 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="utf-8">
+    <title></title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+    <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all">
+    <link rel="stylesheet" href="../../static/css/cool.css" media="all">
+    <link rel="stylesheet" href="../../static/css/common.css" media="all">
+</head>
+<body>
+
+<!-- 璇︽儏 -->
+<div id="data-detail" class="layer_self_wrap">
+    <form id="detail" class="layui-form" style="text-align: center">
+        <div class="layui-inline"  style="width:83%;margin-top: 0px;margin-bottom: 5px;">
+            <label class="layui-form-label"><span class="not-null">*</span>璁㈠崟鍙枫��锛�</label>
+            <div class="layui-input-inline">
+                <input id="orderNo" class="layui-input" type="text" lay-verify="required" >
+            </div>
+        </div>
+        <div class="layui-form layui-card-header">
+            <div class="layui-inline"  style="width:83%; margin-bottom: 5px;">
+                <label class="layui-form-label"><span class="not-null">*</span>鍙栬揣閲嶉噺锛�</label>
+                <div class="layui-input-inline">
+                    <input id="weight" class="layui-input" type="text" lay-verify="required" placeholder="KG">
+                </div>
+            </div>
+        </div>
+
+        <div class="layui-form layui-card-header">
+            <div class="layui-inline"  style="width:83%; margin-bottom: 5px;">
+                <label class="layui-form-label"></span>澶囥��銆�娉細</label>
+                <div class="layui-input-inline">
+                    <input id="memo" class="layui-input" type="text">
+                </div>
+            </div>
+        </div>
+
+        <div class="layui-form layui-card-header" >
+            <label class="layui-form-label"><span class="not-null">*</span>閫夋嫨鍙戣揣鏃堕棿锛�</label> </br>
+            <i class="layui-icon layui-icon-date" style="font-size: 30px; color: #3F3F3F;"></i>
+            <div class="layui-form-item">
+                <button id="btn-day1-am" type="button" class="delivery layui-btn layui-btn-radius layui-btn-primary">浠婂ぉ涓嬪崍 80 鉁�</button>
+                <button id="btn-day2-am" type="button" class="delivery layui-btn layui-btn-radius layui-btn-primary">鏄庡ぉ涓嬪崍</button>
+                <button id="btn-day3-am" type="button" class="delivery layui-btn layui-btn-radius layui-btn-primary">鍚庡ぉ涓嬪崍</button>
+                <button id="btn-day4-am" type="button" class="delivery layui-btn layui-btn-radius layui-btn-primary">鍚庡ぉ涓嬪崍</button>
+            </div>
+            <div class="layui-form-item ">
+                <button id="btn-day1-pm" type="button" class="delivery layui-btn layui-btn-radius layui-btn-primary">浠婂ぉ涓嬪崍</button>
+                <button id="btn-day2-pm" type="button" class="delivery layui-btn layui-btn-radius layui-btn-primary">鏄庡ぉ涓嬪崍</button>
+                <button id="btn-day3-pm" type="button" class="delivery layui-btn layui-btn-radius layui-btn-primary">鍚庡ぉ涓嬪崍</button>
+                <button id="btn-day4-pm" type="button" class="delivery layui-btn layui-btn-radius layui-btn-primary">鍚庡ぉ涓嬪崍</button>
+            </div>
+        </div>
+
+        <div id="data-detail-btn" class="layui-btn-container layui-form-item">
+            <div id="data-detail-submit-save" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="save">淇濆瓨</div>
+            <div id="data-detail-submit-edit" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="edit">淇敼</div>
+            <div id="data-detail-close" type="button" class="layui-btn" lay-submit lay-filter="close">鍏抽棴</div>
+        </div>
+
+    </form>
+</div>
+</body>
+<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
+<script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/pla/plaDetl.js" charset="utf-8"></script>
+</html>
+<script>
+    var checkData = [];
+    var deliveryTime;
+    function child(data){
+        checkData = data;
+        delivery();
+
+    }
+
+    function delivery(){
+        $.ajax({
+            url: baseUrl+"/plaQty/delivery/auth",
+            headers: {'token': localStorage.getItem('token')},
+            contentType:'application/json;charset=UTF-8',
+            method: 'POST',
+            async: false,
+            success: function (res) {
+                if (res.code === 200){
+                    $('#btn-day1-am').text(res.data[0].text);
+                    $('#btn-day1-pm').text(res.data[1].text);
+                    $('#btn-day2-am').text(res.data[2].text);
+                    $('#btn-day2-pm').text(res.data[3].text);
+                    $('#btn-day3-am').text(res.data[4].text);
+                    $('#btn-day3-pm').text(res.data[5].text);
+                    $('#btn-day4-am').text(res.data[6].text);
+                    $('#btn-day4-pm').text(res.data[7].text);
+                    $("#btn-day1-am").hover(function(){
+                        $(this).attr("title", res.data[0].user);
+                    }, function(){
+                        $(this).removeAttr("title");
+                    });
+
+                } else if (res.code === 403){
+                    layer.msg(res.msg, {icon: 2})
+                    return;
+                }else {
+                    layer.msg(res.msg, {icon: 2})
+                    return;
+                }
+            }
+        })
+    }
+
+    $('.delivery').click(function (){
+        delivery();
+        deliveryTime = this.textContent;
+        this.append(' 鉁�');
+        $('.delivery').addClass('layui-btn-primary');
+        this.classList.remove('layui-btn-primary');
+
+    })
+
+    layui.use(['table','laydate', 'form'], function(){
+        var form = layui.form;
+        var layer = layui.layer;
+        var table = layui.table;
+
+        // 鏁版嵁淇敼鍔ㄤ綔
+        form.on('submit(save)', function () {
+
+            for(var i in checkData){
+                checkData[i].packageType = $('#packageTypeV').val();
+                checkData[i].zpalletType = $('#zpalletTypeV').val();
+                checkData[i].filmWrap = $('#filmWrapV').val();
+                checkData[i].step = 3;
+            }
+
+            checkData[0].type = "pickup";
+
+            checkData[0].orderNo = $('#orderNo').val();
+            checkData[0].customer = $('#customerV').val() ? $('#customerV').val() : "";
+            checkData[0].phone = $('#phone').val() ? $('#phone').val() : " ";
+            checkData[0].addr = $('#addr').val() ? $('#addr').val() : " ";
+            checkData[0].orderWeight = $('#weight').val();
+            checkData[0].allocate = $('#allocateV').val() ? $('#allocateV').val() : "";
+            checkData[0].memo = $('#memo').val() ? $('#memo').val() : "";
+            if(!deliveryTime){
+                layer.msg("璇烽�夋嫨鍙戣揣鏃堕棿");
+                return;
+            }
+            checkData[0].pakoutTime = deliveryTime;
+
+            $.ajax({
+                url: baseUrl+"/pla/sellout/auth",
+                headers: {'token': localStorage.getItem('token')},
+                data: JSON.stringify(checkData),
+                contentType:'application/json;charset=UTF-8',
+                method: 'POST',
+                async: false,
+                success: function (res) {
+                    if (res.code === 200){
+                        layer.msg("淇敼鎴愬姛");
+                        tableReload(true);
+                    } else if (res.code === 403){
+                        layer.msg(res.msg, {icon: 2})
+                        return;
+                    }else {
+                        layer.msg(res.msg, {icon: 2})
+                        return;
+                    }
+                    parent.layer.closeAll();
+                }
+            })
+        });
+
+        function tableReload(child) {
+            var searchData = {};
+            $.each($('#search-box [name]').serializeArray(), function() {
+                searchData[this.name] = this.value;
+            });
+            (child ? parent.tableIns : tableIns).reload({
+                where: searchData,
+                page: {
+                    curr: 1
+                },
+                done: function (res, curr, count) {
+                    if (res.code === 403) {
+                        top.location.href = baseUrl+"/";
+                    }
+                    pageCurr=curr;
+                    if (res.data.length === 0 && count !== 0) {
+                        tableIns.reload({
+                            where: searchData,
+                            page: {
+                                curr: pageCurr-1
+                            }
+                        });
+                        pageCurr -= 1;
+                    }
+                    limit(child);
+                }
+            });
+        }
+
+    })
+
+</script>
+
diff --git a/src/main/webapp/views/pla3/plaDetl.html b/src/main/webapp/views/pla3/plaDetl.html
new file mode 100644
index 0000000..b56c1d8
--- /dev/null
+++ b/src/main/webapp/views/pla3/plaDetl.html
@@ -0,0 +1,468 @@
+<!DOCTYPE html>
+<html lang="en" xmlns="http://www.w3.org/1999/html">
+<head>
+    <meta charset="utf-8">
+    <title></title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+    <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all">
+    <link rel="stylesheet" href="../../static/css/admin.css?v=318" media="all">
+    <link rel="stylesheet" href="../../static/css/cool.css" media="all">
+
+    <style>
+        html {
+            height: 100%;
+            padding: 10px;
+            background-color: #f1f1f1;
+            box-sizing: border-box;
+        }
+        body {
+            background-color: #fff;
+            border-radius: 5px;
+            box-shadow: 0 0 3px rgba(0,0,0,.3);
+        }
+
+        /* search */
+        .layui-card-header {
+            border-bottom: none;
+        }
+        .search-box {
+            padding: 30px 0 10px 0;
+        }
+        #search-box .layui-inline:first-child {
+            margin-left: 30px;
+        }
+        #search-box .layui-inline {
+            margin-right: 5px;
+        }
+
+        #data-search-btn {
+            margin-left: 10px;
+            display: inline-block;
+        }
+        #data-search-btn.layui-btn-container .layui-btn {
+            margin-right: 20px;
+        }
+
+        /* add */
+        .function-area {
+            padding: 15px 0 20px 40px;
+        }
+        .function-btn {
+            font-size: 16px;
+            padding: 1px 1px 1px 1px;
+            width: 120px;
+            height: 40px;
+            border-color: #2b425b;
+            border-radius: 4px;
+            border-width: 1px;
+            background: none;
+            border-style: solid;
+            transition: 0.4s;
+            cursor: pointer;
+        }
+        .function-btn1 {
+            font-size: 16px;
+            padding: 1px 1px 1px 1px;
+            width: 150px;
+            height: 40px;
+            border-color: #2b425b;
+            border-radius: 4px;
+            border-width: 1px;
+            background: none;
+            border-style: solid;
+            transition: 0.4s;
+            cursor: pointer;
+        }
+        .function-btn:hover {
+            background-color: #2b425b;
+            color: #fff;
+        }
+        .function-btn1:hover {
+            background-color: #2b425b;
+            color: #fff;
+        }
+
+        #mat-query {
+            /*display: none;*/
+        }
+        #btn-adjust {
+            /*display: none;*/
+        }
+
+        .layui-table-cell {
+            text-align: center;
+            line-height: 20px !important;
+            vertical-align: middle;
+            height: auto;
+            overflow: visible;
+            text-overflow: inherit;
+            white-space: normal;
+
+        }
+        .table-header-fixed {
+            top: 0;
+            position: fixed;
+            z-index: 999;
+        }
+        /* ------------------------- 鎵撳嵃琛ㄦ牸 -----------------------  */
+        .template-preview {
+            height: 400px;
+            display: inline-block;
+        }
+        .contain td {
+            border: 0px solid #000;
+            white-space:nowrap;
+            /*font-family: 榛戜綋;*/
+            /*font-weight: bold;*/
+            color: #000000;
+        }
+        .layui-inline{
+            width: 100px;
+        }
+    </style>
+</head>
+<body style="padding-bottom: 30px">
+
+<hr>
+
+<!-- 鍔熻兘鍖� -->
+<div class="function-area">
+<!--    <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="returned" style="alignment: right; display: none" class="function-btn">閫�鍥�</button>
+    <button id="updateOwner" style="alignment: right; display: none" class="function-btn">鍙樻洿涓讳綋</button>
+</div>
+
+<!-- 鎼滅储鏍� -->
+<div id="search-box" >
+    <div class="layui-form layui-card-header">
+        <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">
+            <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()>
+                <div class="cool-auto-complete-window">
+                    <input class="cool-auto-complete-window-input" data-key="matMaktxQueryByMaktx" onkeyup="autoLoad(this.getAttribute('data-key'))">
+                    <select class="cool-auto-complete-window-select" data-key="matMaktxQueryByMaktxSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
+                    </select>
+                </div>
+            </div>
+        </div>
+        <div class="layui-inline" style="display: none;">
+            <div class="layui-input-inline">
+                <input class="layui-input" type="text" name="type" value="绾爲鑴�" placeholder="鐗╄祫绫诲埆" autocomplete="off">
+            </div>
+        </div>
+        <div class="layui-inline">
+            <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>
+                    <option value="寰呭叆搴�">寰呭叆搴�</option>
+                    <option value="宸插叆搴�">宸插叆搴�</option>
+                    <option value="寰呭嚭搴�">寰呭嚭搴�</option>
+                    <option value="閮ㄥ垎鍑哄簱">閮ㄥ垎鍑哄簱</option>
+                    <option value="鍏ㄩ儴鍑哄簱">鍏ㄩ儴鍑哄簱</option>
+                </select>
+            </div>
+        </div>
+        <div class="layui-inline">
+            <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-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">
+            <div class="layui-input-inline">
+                <input class="layui-input" type="text" name="condition" placeholder="璇疯緭鍏�" autocomplete="off">
+            </div>
+        </div>
+        <div class="layui-inline" style="width: 300px">
+            <!--            <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>
+        </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="unreason" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="unreason">鏌ョ湅寮傚父鏁版嵁</button>-->
+        </div>
+    </div>
+    <div class="layui-form layui-card-header">
+        <div class="layui-inline">
+            <div class="layui-input-inline">
+                <input class="layui-input" type="text" name="finger_meltingMin" placeholder="鏈�灏忕啍鎸�" autocomplete="off">
+            </div>
+        </div>
+        <div class="layui-inline">
+            <div class="layui-input-inline">
+                <input class="layui-input" type="text" name="finger_meltingMax" placeholder="鏈�澶х啍鎸�" autocomplete="off">
+            </div>
+        </div>
+        <div class="layui-inline">
+            <div class="layui-input-inline">
+                <input class="layui-input" type="text" name="opacityMin" placeholder="鏈�灏忎笉閫忔槑搴�" autocomplete="off">
+            </div>
+        </div>
+        <div class="layui-inline">
+            <div class="layui-input-inline">
+                <input class="layui-input" type="text" name="opacityMax" placeholder="鏈�澶т笉閫忔槑搴�" autocomplete="off">
+            </div>
+        </div>
+        <div class="layui-inline">
+            <div class="layui-input-inline">
+                <input class="layui-input" type="text" name="waterMin" placeholder="鏈�灏忔按鍒�" autocomplete="off">
+            </div>
+        </div>
+        <div class="layui-inline">
+            <div class="layui-input-inline">
+                <input class="layui-input" type="text" name="waterMax" placeholder="鏈�澶ф按鍒�" autocomplete="off">
+            </div>
+        </div>
+        <div class="layui-inline">
+            <div class="layui-input-inline">
+                <input class="layui-input" type="text" name="fusing_pointMin" placeholder="鏈�灏忕啍鐐�" autocomplete="off">
+            </div>
+        </div>
+        <div class="layui-inline">
+            <div class="layui-input-inline">
+                <input class="layui-input" type="text" name="fusing_pointMax" placeholder="鏈�澶х啍鐐�" autocomplete="off">
+            </div>
+        </div>
+        <div class="layui-inline">
+            <div class="layui-input-inline">
+                <input class="layui-input" type="text" name="yellownessMin" placeholder="鏈�灏忛粍搴�" autocomplete="off">
+            </div>
+        </div>
+        <div class="layui-inline">
+            <div class="layui-input-inline">
+                <input class="layui-input" type="text" name="yellownessMax" placeholder="鏈�澶ч粍搴�" autocomplete="off">
+            </div>
+        </div>
+        <div class="layui-inline">
+            <div class="layui-input-inline">
+                <input class="layui-input" type="text" name="vadf1Min" placeholder="鏈�灏忔尌鍙戞" autocomplete="off">
+            </div>
+        </div>
+        <div class="layui-inline">
+            <div class="layui-input-inline">
+                <input class="layui-input" type="text" name="vadf1Max" placeholder="鏈�澶ф尌鍙戞" autocomplete="off">
+            </div>
+        </div>
+        <div class="layui-inline">
+            <div class="layui-input-inline">
+                <input class="layui-input" type="text" name="vadf2Min" placeholder="鏈�灏忓垎瑙f" autocomplete="off">
+            </div>
+        </div>
+        <div class="layui-inline">
+            <div class="layui-input-inline">
+                <input class="layui-input" type="text" name="vadf2Max" placeholder="鏈�澶у垎瑙f" autocomplete="off">
+            </div>
+        </div>
+    </div>
+</div>
+<script type="text/html" id="toolbar">
+    <div class="layui-btn-container">
+        <button class="layui-btn layui-btn-sm layui-btn-danger" id="btn-delete" lay-event="deleteData" style="display: none">鍒犻櫎</button>
+        <button class="layui-btn layui-btn-sm layui-btn-danger" id="btn-update" lay-event="updateData" style="display: none">淇敼</button>
+        <button class="layui-btn layui-btn-sm layui-btn-danger" id="btn-viladate" lay-event="viladate" style="display: none">鏍¢獙</button>
+        <button class="layui-btn layui-btn-sm layui-btn-danger " id="btn-freeze" lay-event="freezeData" style="display: none">鍐荤粨</button>
+        <button class="layui-btn layui-btn-sm layui-btn-checked " id="btn-disfreeze" lay-event="disFreezeData" style="display: none">瑙e喕</button>
+        <button class="layui-btn layui-btn-sm layui-btn-checked " id="btn-printBatch" lay-event="btnPrintBatch" >鎵归噺鎵撳嵃</button>
+        <!-- 鍟嗗搧/鐗╂枡 鏁版嵁涓績 -->
+        <button style="float: right" class="layui-btn layui-btn-sm layui-btn-checked " id="btn-exportMoudle" onclick="excelMouldDownload()" >妯℃澘涓嬭浇</button>
+        <button style="float: right" class="layui-btn layui-btn-sm layui-btn-checked " id="btn-import" onclick="importExcel()" >瀵煎叆excel</button>
+
+        <div class="dropdown-menu" style="float: right; display: none">
+            <button id="syncData" style="display: none;" class="layui-btn layui-btn-primary layui-border-black icon-btn layui-btn-sm">&nbsp;鏁版嵁鍚屾 <i class="layui-icon layui-icon-drop"></i></button>
+            <ul class="dropdown-menu-nav dark">
+                <div class="dropdown-anchor"></div>
+                <li class="title">1st menu</li>
+                <li><a onclick="excelMouldDownload()" style="font-size: 12px"><i class="layui-icon layui-icon-template-1"></i>妯℃澘涓嬭浇</a></li>
+                <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>-->
+            </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>-->
+    </div>
+</script>
+
+<script type="text/html" id="stockFreezeTpl">
+    <input type="checkbox" disabled name="stockFreeze" value="{{d.stockFreeze}}" lay-skin="switch" lay-text="姝e父|鍐荤粨" lay-filter="stockFreezeSwitch" {{ d.stockFreeze === 1 ? 'checked' : '' }}>
+</script>
+
+<!-- 琛� -->
+<script type="text/html" id="operate">
+    <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="remove">绉婚櫎</a>
+</script>
+
+<!-- 琛ㄦ牸 -->
+<table class="layui-table"  id="plaDetl" lay-filter="plaDetl"></table>
+
+<script type="text/html" id="tbLook">
+    <span class="layui-text">
+        <a href="javascript:;" lay-event="look">
+            <i class="layui-icon" style="font-size: 12px;">&#xe61a;</i> 鏌ョ湅
+        </a>
+    </span>
+</script>
+
+<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
+<script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/handlebars/handlebars-v4.5.3.js"></script>
+<script type="text/javascript" src="../../static/js/pla/plaDetl.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/jquery/jQuery.print.js"></script>
+
+<!-- 鎵撳嵃鎿嶄綔寮圭獥 -->
+<div id="printDataDiv" style="display: none;padding: 20px">
+    <div class="layui-form" style="text-align: center">
+        <hr>
+        <!--鍗曢�夋-->
+        <div class="layui-form-item" style="display: inline-block; margin-bottom: 10px">
+            <input type="radio" name="selectTemplate" value="1" title="妯℃澘涓�"  lay-filter="selectTemplateRadio" checked="">
+        </div>
+        <fieldset class="layui-elem-field site-demo-button" style="margin-top: 30px;text-align: center;">
+            <legend>鎵撳嵃棰勮</legend>
+            <div id="template-container" style="margin: 20px;text-align: center">
+                <!-- 棰勮鍥� 3 -->
+                <div id="template-preview-1" class="template-preview" style="display: block">
+                    <div class="layui-row">
+                        <div class="layui-col-xs4" style="height: auto">
+                            <img src="../../static/image/hneLogo.jpg" style="display: inline-block; width: 40%;height: 30%">
+                        </div>
+                        <div class="layui-col-xs8" style="margin-left: -40px; margin-top: 20px; text-align: left">
+                            娴欐睙鐪佸彴宸炲競鍙板窞婀炬柊鍖哄彴宸炴咕澶ч亾188鍙�</br>
+                            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="alignment: center; margin-left: 65px;">
+                        <table class="contain" width="400" style="overflow: hidden;font-size: xx-small;table-layout: fixed;">
+                            <tr style="height: 74px" >
+                                <td align="center" scope="col" colspan="4" style="font-size: x-large; font-weight: bold;"><strong style="font-weight: bold;color: black;">鑱氫钩閰� Polylactic Acid</strong></td>
+                            </tr>
+                            <tr style="height: 74px">
+                                <td align="center" scope="col" colspan="1">鐗屽彿</td>
+                                <td align="center" scope="col" colspan="1" style="">xxxxxx-xx/xx</td>
+                                <td align="center" scope="col" colspan="2" rowspan="2">
+                                    <img class="template-code template-qrcode" src="" width="80%">
+                                    <div style="letter-spacing: 1px;margin-top: 1px; text-align: center">
+                                        <span>xxxxxx</span>
+                                    </div>
+                                </td>
+                            </tr>
+                            <tr style="height: 74px">
+                                <td align="center" colspan="1" style="text-align: left; padding-left: 20px" >閲嶉噺</td>
+                                <td align="center" colspan="1" style="overflow:hidden; white-space:nowrap; text-overflow:ellipsis;">xxxxxxx</td>
+                            </tr>
+                            <tr style="height: 74px">
+                                <td align="center" colspan="1">鎵瑰彿</td>
+                                <td align="center" colspan="1" style="overflow:hidden; white-space:nowrap; text-overflow:ellipsis;">xxxxxxx</td>
+                                <td align="center" colspan="1">鍖呭彿</td>
+                                <td align="center" colspan="1" style="overflow:hidden; white-space:nowrap; text-overflow:ellipsis;">xxxxxxx</td>
+                            </tr>
+                        </table>
+                    </div>
+                </div>
+            </div>
+        </fieldset>
+
+        <button class="layui-btn" id="doPrint" lay-submit lay-filter="doPrint" style="margin-top: 20px">纭畾</button>
+    </div>
+</div>
+
+<div id="box" style="display: block"></div>
+
+<!-- 鍒濆鍖栨墦鍗版ā鏉跨殑鏉″舰鐮� -->
+<script type="text/javascript">
+    $('.template-barcode').attr("src", baseUrl+"/mac/code/auth?type=1&param=123");
+    $('.template-qrcode').attr("src", baseUrl+"/mac/code/auth?type=2&param=123");
+</script>
+
+<!-- 妯℃澘寮曟搸 -->
+<!-- 妯℃澘3 -->
+<script type="text/template" id="templatePreview1" class="template-qrcode">
+    <div class="template-preview">
+    {{#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;">
+            </div>
+            <div class="layui-col-xs6" style="margin-left: -185px;margin-right: 30px; margin-top: 80px; text-align: left; font-size: 20px; font-weight:bold">
+                娴欐睙鐪佸彴宸炲競鍙板窞婀炬柊鍖哄彴宸炴咕澶ч亾188鍙�</br>
+                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="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;" >
+                    <td align="center" scope="col" colspan="4" style="font-weight: bold; text-align: left; padding-left: 20px"><strong style="font-weight: bold;color: black;">鑱氫钩閰� Polylactic Acid</strong></td>
+                </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>-->
+                </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>
+                    <!--                    <td align="center" colspan="1" style="font-weight: bold;color: black;overflow:hidden; white-space:nowrap; text-overflow:ellipsis;"><strong style="font-weight: bold;color: black;">{{this.weightAnfme}} KG</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.weight}} kg</strong></td>
+                    <!--                    <td align="center" colspan="1" style="font-weight: bold;color: black;overflow:hidden; white-space:nowrap; text-overflow:ellipsis;"><strong style="font-weight: bold;color: black;">{{this.weightAnfme}} KG</strong></td>-->
+                    <td align="center" scope="col" colspan="2" rowspan="2">
+                        <img class="template-code template-qrcode" src="{{this.barcodeUrl}}" width="80%">
+                    </td>
+                </tr>
+                <tr style="height: 100px;text-align: left">
+                    <td align="center" colspan="2" rowspan="1" style="font-weight: bold;color: black; text-align: left; padding-left: 20px"><strong>杩借釜鐮侊細{{this.line}} {{this.packageNo$}}</strong></td>
+                    <!--                    <td align="center" colspan="1" style="font-weight: bold;color: black;overflow:hidden; white-space:nowrap; text-overflow:ellipsis;"><strong style="font-weight: bold;color: black;">{{this.weightAnfme}} KG</strong></td>-->
+                </tr>
+                <tr style="height: 100px;text-align: left">
+                </tr>
+            </table>
+        </div>
+    </br>
+    {{/each}}
+    </div>
+</script>
+
+</body>
+</html>
+
diff --git a/src/main/webapp/views/pla3/productionInfo.html b/src/main/webapp/views/pla3/productionInfo.html
new file mode 100644
index 0000000..df9b0bf
--- /dev/null
+++ b/src/main/webapp/views/pla3/productionInfo.html
@@ -0,0 +1,125 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="utf-8">
+    <title></title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+    <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all">
+    <link rel="stylesheet" href="../../static/css/admin.css?v=318" media="all">
+    <link rel="stylesheet" href="../../static/css/cool.css" media="all">
+    <link rel="stylesheet" href="../../static/css/common.css" media="all">
+    <style>
+        html {
+            height: 100%;
+            padding: 10px;
+            background-color: #f1f1f1;
+            box-sizing: border-box;
+        }
+        body {
+            background-color: #fff;
+            border-radius: 5px;
+            box-shadow: 0 0 3px rgba(0,0,0,.3);
+        }
+
+        /* search */
+        .layui-card-header {
+            border-bottom: none;
+        }
+        #search-box {
+            padding: 30px 0 10px 0;
+        }
+        #search-box .layui-inline:first-child {
+            margin-left: 30px;
+        }
+        #search-box .layui-inline {
+            margin-right: 5px;
+        }
+
+        #data-search-btn {
+            margin-left: 10px;
+            display: inline-block;
+        }
+        #data-search-btn.layui-btn-container .layui-btn {
+            margin-right: 20px;
+        }
+
+        /* add */
+        .function-area {
+            padding: 15px 0 20px 40px;
+        }
+        .function-btn {
+            font-size: 16px;
+            padding: 1px 1px 1px 1px;
+            width: 120px;
+            height: 40px;
+            border-color: #2b425b;
+            border-radius: 4px;
+            border-width: 1px;
+            background: none;
+            border-style: solid;
+            transition: 0.4s;
+            cursor: pointer;
+        }
+        .function-btn:hover {
+            background-color: #2b425b;
+            color: #fff;
+        }
+
+        #mat-query {
+            /*display: none;*/
+        }
+        #btn-adjust {
+            /*display: none;*/
+        }
+        .layui-table-cell {
+            text-align: center;
+            line-height: 20px !important;
+            vertical-align: middle;
+            height: auto;
+            overflow: visible;
+            text-overflow: inherit;
+            white-space: normal;
+
+        }
+    </style>
+</head>
+<body style="padding-bottom: 30px">
+
+<hr>
+
+<!-- 鍔熻兘鍖� -->
+<div class="function-area">
+    <button id="add" class="function-btn">鏂板</button>
+    <button id="delete" class="function-btn">鍒犻櫎</button>
+    <button id="submit" style="alignment: right" class="function-btn">鎻愪氦</button>
+</div>
+
+<!-- 琛� -->
+<script type="text/html" id="operate">
+    <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="remove">绉婚櫎</a>
+</script>
+
+<!-- 琛ㄦ牸 -->
+<table class="layui-table" id="productionInfoTable" lay-filter="productionInfoTable"></table>
+
+
+<script type="text/html" id="packageCheck">
+    <select name="packageType" lay-filter="selectDemo1" data-key="packageType">
+        <option value="">璇烽�夋嫨</option>
+        <option value="1">1</option>
+    </select>
+</script>
+
+
+<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
+<script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/handlebars/handlebars-v4.5.3.js"></script>
+<script type="text/javascript" src="../../static/js/pla/productionInfo.js" charset="utf-8"></script>
+
+</body>
+</html>
+
diff --git a/src/main/webapp/views/pla3/qualityInfo.html b/src/main/webapp/views/pla3/qualityInfo.html
new file mode 100644
index 0000000..f18b30d
--- /dev/null
+++ b/src/main/webapp/views/pla3/qualityInfo.html
@@ -0,0 +1,114 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="utf-8">
+    <title></title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+    <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all">
+    <link rel="stylesheet" href="../../static/css/admin.css?v=318" media="all">
+    <link rel="stylesheet" href="../../static/css/cool.css" media="all">
+    <link rel="stylesheet" href="../../static/css/common.css" media="all">
+    <style>
+        html {
+            height: 100%;
+            padding: 10px;
+            background-color: #f1f1f1;
+            box-sizing: border-box;
+        }
+        body {
+            background-color: #fff;
+            border-radius: 5px;
+            box-shadow: 0 0 3px rgba(0,0,0,.3);
+        }
+
+        /* search */
+        .layui-card-header {
+            border-bottom: none;
+        }
+        #search-box {
+            padding: 30px 0 10px 0;
+        }
+        #search-box .layui-inline:first-child {
+            margin-left: 30px;
+        }
+        #search-box .layui-inline {
+            margin-right: 5px;
+        }
+
+        #data-search-btn {
+            margin-left: 10px;
+            display: inline-block;
+        }
+        #data-search-btn.layui-btn-container .layui-btn {
+            margin-right: 20px;
+        }
+
+        /* add */
+        .function-area {
+            padding: 15px 0 20px 40px;
+        }
+        .function-btn {
+            font-size: 16px;
+            padding: 1px 1px 1px 1px;
+            width: 120px;
+            height: 40px;
+            border-color: #2b425b;
+            border-radius: 4px;
+            border-width: 1px;
+            background: none;
+            border-style: solid;
+            transition: 0.4s;
+            cursor: pointer;
+        }
+        .function-btn:hover {
+            background-color: #2b425b;
+            color: #fff;
+        }
+
+        #mat-query {
+            /*display: none;*/
+        }
+        #btn-adjust {
+            /*display: none;*/
+        }
+        .layui-table-cell {
+            text-align: center;
+            line-height: 20px !important;
+            vertical-align: middle;
+            height: auto;
+            overflow: visible;
+            text-overflow: inherit;
+            white-space: normal;
+
+        }
+    </style>
+</head>
+<body style="padding-bottom: 30px">
+
+<hr>
+
+<!-- 鍔熻兘鍖� -->
+<div class="function-area">
+    <button id="submit" style="alignment: right" class="function-btn">鎻愪氦</button>
+</div>
+
+<!-- 琛� -->
+<script type="text/html" id="operate">
+    <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="remove">绉婚櫎</a>
+</script>
+
+<!-- 琛ㄦ牸 -->
+<table class="layui-table" id="qualityInfoTable" lay-filter="qualityInfoTable"></table>
+
+<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
+<script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/handlebars/handlebars-v4.5.3.js"></script>
+<script type="text/javascript" src="../../static/js/pla/qualityInfo.js" charset="utf-8"></script>
+
+</body>
+</html>
+
diff --git a/src/main/webapp/views/pla3/returned.html b/src/main/webapp/views/pla3/returned.html
new file mode 100644
index 0000000..1442583
--- /dev/null
+++ b/src/main/webapp/views/pla3/returned.html
@@ -0,0 +1,197 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="utf-8">
+    <title></title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+    <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all">
+    <link rel="stylesheet" href="../../static/css/cool.css" media="all">
+    <link rel="stylesheet" href="../../static/css/common.css" media="all">
+</head>
+<body>
+
+<!-- 璇︽儏 -->
+<div id="data-detail" class="layer_self_wrap">
+    <form id="detail" class="layui-form" style="text-align: center">
+        <div class="layui-inline"  style="width:83%;margin-top: 0px;margin-bottom: 5px;">
+            <label class="layui-form-label"><span class="not-null">*</span>璁㈠崟鍙枫��锛�</label>
+            <div class="layui-input-inline cool-auto-complete">
+                <input id="orderNo" class="layui-input" type="text" style="display: none" lay-verify="required">
+                <input id="orderNoV" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" onchange="tableReload()" type="text" onfocus=this.blur()>
+                <div class="cool-auto-complete-window">
+                    <input class="cool-auto-complete-window-input" data-key="orderNoQueryByorderNo" onkeyup="autoLoad(this.getAttribute('data-key'))">
+                    <select class="cool-auto-complete-window-select" data-key="orderNoQueryByorderNoSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
+                    </select>
+                </div>
+            </div>
+        </div>
+        <div class="layui-inline"  style="width:83%; margin-bottom: 5px;">
+            <label class="layui-form-label">瀹㈡埛鍚嶇О锛�</label>
+            <div class="layui-input-inline">
+                <input id="customer" class="layui-input" type="text" readonly="readonly">
+            </div>
+        </div>
+        <div class="layui-inline"  style="width:83%; margin-bottom: 5px;">
+            <label class="layui-form-label"><span class="not-null">*</span>閫�鍥炰骇鍝侊細</label>
+            <div class="layui-input-block">
+                <table id="formSSXMTable" lay-filter="formSSXMTable"></table>
+            </div>
+        </div>
+
+        <div class="layui-form layui-card-header">
+            <div class="layui-inline"  style="width:83%; margin-bottom: 5px;">
+                <label class="layui-form-label"></span>澶囥��銆�娉細</label>
+                <div class="layui-input-inline">
+                    <input id="memo" class="layui-input" type="text">
+                </div>
+            </div>
+        </div>
+
+
+
+        <div id="data-detail-btn" class="layui-btn-container layui-form-item">
+            <div id="data-detail-submit-save" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="save">淇濆瓨</div>
+            <div id="data-detail-submit-edit" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="edit">淇敼</div>
+            <div id="data-detail-close" type="button" class="layui-btn" lay-submit lay-filter="close">鍏抽棴</div>
+        </div>
+
+    </form>
+</div>
+</body>
+<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
+<script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/pla/plaDetl.js" charset="utf-8"></script>
+</html>
+<script>
+    var checkData = [];
+
+    layui.use(['table','laydate', 'form'], function(){
+        var form = layui.form;
+        var layer = layui.layer;
+        var table = layui.table;
+
+        table.render({
+            elem: '#formSSXMTable',
+            height: 312,
+            headers: {token: localStorage.getItem('token')},
+            url: baseUrl+'/plaQty/orderDetail/auth',
+            page: true,
+            limit: 16,
+            limits: [16, 30, 50, 100, 200, 500],
+            cols: [[
+                {type: 'checkbox'},
+                {field: 'batch', title: '鎵瑰彿'},
+                {field: 'packageNo', title: '鍖呭彿'},
+                {field: 'orderWeight', title: '閲嶉噺'}
+
+            ]],
+            request: {
+                pageName: 'curr',
+                pageSize: 'limit'
+            },
+            parseData: function (res) {
+                console.log(res)
+                return {
+                    'code': res.code,
+                    'msg': res.msg,
+                    'count': res.data.total,
+                    'data': res.data.records
+                }
+            },
+            response: {
+                statusCode: 200
+            },
+            done: function(res, curr, count) {
+                if (res.code === 403) {
+                    top.location.href = baseUrl+"/";
+                }
+                tableData = table.cache.locDetl;
+                console.log(tableData);
+                pageCurr=curr;
+                limit();
+                form.on('checkbox(tableCheckbox)', function (data) {
+                    var _index = $(data.elem).attr('table-index')||0;
+                    if(data.elem.checked){
+                        res.data[_index][data.value] = 'Y';
+                    }else{
+                        res.data[_index][data.value] = 'N';
+                    }
+                });
+            }
+        });
+
+        // 鏁版嵁淇敼鍔ㄤ綔
+        form.on('submit(save)', function () {
+            let data = table.cache.formSSXMTable;
+            let dataSave = [];
+            for(var i in data){
+                if(data[i].LAY_CHECKED){
+                    data[i].memo = $('#memo').val();
+                    dataSave.push(data[i]);
+                }
+            }
+            if(!dataSave || dataSave.length < 1){
+                layer.msg("鏈嬀閫夋彁浜ら」锛屾棤娉曟彁浜�");
+                return;
+            }
+            $.ajax({
+                url: baseUrl+"/pla/returned/auth",
+                headers: {'token': localStorage.getItem('token')},
+                data: JSON.stringify(dataSave),
+                contentType:'application/json;charset=UTF-8',
+                method: 'POST',
+                async: false,
+                success: function (res) {
+                    if (res.code === 200){
+                        layer.msg("鎻愪氦鎴愬姛");
+                        table.reload('productionInfoTable',{
+                            data: dataOld
+                        })
+                        parent.layer.closeAll();
+                    } else if (res.code === 403){
+
+                    }else {
+                        layer.msg(res.msg, {icon: 2})
+                    }
+                }
+            })
+        });
+
+        function tableReload(child) {
+            var searchData = {};
+            $.each($('#search-box [name]').serializeArray(), function() {
+                searchData[this.name] = this.value;
+            });
+            (child ? parent.tableIns : tableIns).reload({
+                where: searchData,
+                page: {
+                    curr: 1
+                },
+                done: function (res, curr, count) {
+                    if (res.code === 403) {
+                        top.location.href = baseUrl+"/";
+                    }
+                    pageCurr=curr;
+                    if (res.data.length === 0 && count !== 0) {
+                        tableIns.reload({
+                            where: searchData,
+                            page: {
+                                curr: pageCurr-1
+                            }
+                        });
+                        pageCurr -= 1;
+                    }
+                    limit(child);
+                }
+            });
+        }
+
+    })
+
+
+</script>
+
diff --git a/src/main/webapp/views/pla3/sellout.html b/src/main/webapp/views/pla3/sellout.html
new file mode 100644
index 0000000..14fdf90
--- /dev/null
+++ b/src/main/webapp/views/pla3/sellout.html
@@ -0,0 +1,335 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="utf-8">
+    <title></title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+    <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all">
+    <link rel="stylesheet" href="../../static/css/cool.css" media="all">
+    <link rel="stylesheet" href="../../static/css/common.css" media="all">
+</head>
+<body>
+
+<!-- 璇︽儏 -->
+<div id="data-detail" class="layer_self_wrap">
+    <form id="detail" class="layui-form" style="text-align: center">
+        <div class="layui-form layui-card-header">
+            <div class="layui-inline"  style="width:83%;margin-top: 0px;margin-bottom: 5px;">
+                <label class="layui-form-label"><span class="not-null">*</span>璁㈠崟銆�鍙凤細</label>
+                <div class="layui-input-inline cool-auto-complete">
+                    <input id="orderNo" class="layui-input" type="text" style="display: none" lay-verify="required">
+                    <input id="orderNoV" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" onfocus=this.blur()>
+                    <div class="cool-auto-complete-window">
+                        <input class="cool-auto-complete-window-input" data-key="orderQueryByorderId" onkeyup="autoLoad(this.getAttribute('data-key'))">
+                        <select class="cool-auto-complete-window-select" data-key="orderQueryByorderIdSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
+                        </select>
+                    </div>
+                </div>
+            </div>
+            <div class="layui-inline"  style="width:40%;margin-top: 0px;margin-bottom: 5px;">
+                <label class="layui-form-label"><span class="not-null">*</span>鐗屻��銆�鍙凤細</label>
+                <div class="layui-input-inline cool-auto-complete">
+                    <input id="maktx" class="layui-input" type="text" style="display: none" lay-verify="required">
+                    <input id="maktxV" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" onfocus=this.blur()>
+                    <div class="cool-auto-complete-window">
+                        <input class="cool-auto-complete-window-input" data-key="orderDetlQueryByMaktx" onkeyup="autoLoad(this.getAttribute('data-key'))">
+                        <select class="cool-auto-complete-window-select" data-key="orderDetlQueryByMaktxSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
+                        </select>
+                    </div>
+                </div>
+            </div>
+            <div class="layui-inline"  style="width:40%; margin-bottom: 5px;">
+                <label class="layui-form-label"><span class="not-null">*</span>璁㈠崟閲嶉噺锛�</label>
+                <div class="layui-input-inline">
+                    <input id="weight" class="layui-input" type="text" lay-verify="required" readonly="readonly">
+                </div>
+            </div>
+            <div class="layui-inline"  style="width:40%;margin-top: 0px;margin-bottom: 5px;">
+                <label class="layui-form-label">瀹㈡埛鍚嶇О锛�</label>
+                <div class="layui-input-inline">
+                    <input id="customer" class="layui-input" type="text" readonly="readonly">
+                </div>
+            </div>
+            <div class="layui-inline"  style="width:40%;margin-top: 0px;margin-bottom: 5px;">
+                <label class="layui-form-label">瀹㈡埛鐢佃瘽锛�</label>
+                <div class="layui-input-inline">
+                    <input id="phone" class="layui-input" type="text" readonly="readonly">
+                </div>
+            </div>
+            <div class="layui-inline"  style="width:83%; margin-bottom: 5px;">
+                <label class="layui-form-label">瀹㈡埛鍦板潃锛�</label>
+                <div class="layui-input-inline">
+                    <input id="addr" class="layui-input" type="text" readonly="readonly">
+                </div>
+            </div>
+            <div class="layui-inline"  style="width:83%; margin-bottom: 5px;">
+                <label class="layui-form-label"><span class="not-null">*</span>鍙戣揣閲嶉噺锛�</label>
+                <div class="layui-input-inline">
+                    <input id="qtyWeight" class="layui-input" type="text" lay-verify="required" readonly="readonly">
+                </div>
+            </div>
+        </div>
+        <div class="layui-form layui-card-header">
+            <div class="layui-inline"  style="width:83%; margin-bottom: 5px;">
+                <label class="layui-form-label">璋冩嫧銆�鍒帮細</label>
+                <div class="layui-input-inline">
+                    <input id="allocate" class="layui-input" type="text" readonly="readonly">
+                </div>
+            </div>
+            <div class="layui-inline"  style="width:83%; margin-bottom: 5px;">
+                <label class="layui-form-label"></span>澶囥��銆�娉細</label>
+                <div class="layui-input-inline">
+                    <input id="memo" class="layui-input" type="text">
+                </div>
+            </div>
+        </div>
+        <div class="layui-inline"  style="width:83%; margin-bottom: 5px;">
+            <label class="layui-form-label"><span class="not-null">*</span>鍙戣揣鏃堕棿锛�</label>
+            <div class="layui-input-inline">
+                <input type="text" class="layui-input" id="pakoutTime">
+            </div>
+        </div>
+        <div id="data-detail-btn" class="layui-btn-container layui-form-item">
+            <div id="data-detail-submit-save" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="save">淇濆瓨</div>
+            <div id="data-detail-submit-edit" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="edit">淇敼</div>
+            <div id="data-detail-close" type="button" class="layui-btn" lay-submit lay-filter="close">鍏抽棴</div>
+        </div>
+
+    </form>
+</div>
+</body>
+<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
+<script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/pla/plaDetl.js" charset="utf-8"></script>
+
+<!-- 琛ㄥ崟寮圭獥 -->
+<script type="text/html" id="editDialog">
+    <form id="editForm" lay-filter="editForm" class="layui-form" style="text-align: center">
+        <table class="layui-table" id="detailTable" lay-filter="detailTable"></table>
+        <div class="layui-btn-container layui-form-item">
+            <button class="layui-btn layui-btn-normal" type="button" lay-submit ew-event="closeDialog">鍙栨秷</button>
+            <button class="layui-btn layui-btn-normal" type="button" lay-submit lay-filter="detailEditSubmit" lay-submit>淇濆瓨</button>
+        </div>
+    </form>
+</script>
+
+
+</html>
+<script>
+
+    $('body').keydown(function () {
+        if (event.keyCode === 13) {
+            return;
+        }
+    });
+
+    var checkData = [];
+    var detailData = [];
+    var deliveryTime;
+    function child(data){
+        checkData = data;
+        var allWeight = 0;
+        for (var i in checkData){
+            allWeight += (checkData[i].weightAnfme - checkData[i].qtyAnfme)
+        }
+        $('#qtyWeight').val(allWeight);
+        delivery();
+
+    }
+
+    //鏄剧ず4澶╁唴棰勭害鍑哄簱鐨勬椂闂�
+    function delivery(){
+        $.ajax({
+            url: baseUrl+"/plaQty/delivery/auth",
+            headers: {'token': localStorage.getItem('token')},
+            contentType:'application/json;charset=UTF-8',
+            method: 'POST',
+            async: false,
+            success: function (res) {
+                if (res.code === 200){
+                    $('#btn-day1-am').text(res.data[0].text);
+                    $('#btn-day1-pm').text(res.data[1].text);
+                    $('#btn-day2-am').text(res.data[2].text);
+                    $('#btn-day2-pm').text(res.data[3].text);
+                    $('#btn-day3-am').text(res.data[4].text);
+                    $('#btn-day3-pm').text(res.data[5].text);
+                    $('#btn-day4-am').text(res.data[6].text);
+                    $('#btn-day4-pm').text(res.data[7].text);
+                    $("#btn-day1-am").hover(function(){
+                        $(this).attr("title", res.data[0].user);
+                    }, function(){
+                        $(this).removeAttr("title");
+                    });
+
+                } else if (res.code === 403){
+                    layer.msg(res.msg, {icon: 2})
+                    return;
+                }else {
+                    layer.msg(res.msg, {icon: 2})
+                    return;
+                }
+            }
+        })
+    }
+
+    $('.delivery').click(function (){
+        delivery();
+        deliveryTime = this.textContent;
+        this.append(' 鉁�');
+        $('.delivery').addClass('layui-btn-primary');
+        this.classList.remove('layui-btn-primary');
+
+    })
+
+    layui.use(['table','laydate', 'form'], function(){
+        var form = layui.form;
+        var layer = layui.layer;
+        var table = layui.table;
+        var laydate = layui.laydate;
+        // 鏃ユ湡鏃堕棿閫夋嫨鍣�
+        laydate.render({
+            elem: '#pakoutTime',
+            type: 'datetime'
+        });
+
+        form.on('submit(edit)', function () {
+            var dataList = [];
+            for (var i in checkData){
+                var data = {
+                    "batch" : checkData[i].batch,
+                    "packageNo" : checkData[i].packageNo,
+                    "weight" : checkData[i].weightAnfme - checkData[i].qtyAnfme,
+                }
+                dataList.push(data);
+            }
+            if(detailData.length > 0){
+                dataList = detailData;
+            }
+            layer.open({
+                type: 1,
+                title: "鏁伴噺淇敼",
+                content: $('#editDialog').html(),
+                area: ['700px', top.detailHeight],
+                success: function (layero, dIndex) {
+                    // 鏄庣粏琛ㄦ牸
+                    tableIns = table.render({
+                        elem: '#detailTable',
+                        data: dataList,
+                        limit: 100,
+                        even: true,
+                        height: '400px',
+                        cellMinWidth: 50,
+                        cols: [[
+                            {field: 'batch', title: '鎵瑰彿', width: 160},
+                            {field: 'packageNo', title: '鍖呭彿', width: 200},
+                            {field: 'weight', title: '鏁伴噺',edit: true},
+                        ]],
+                    });
+                }
+            })
+        })
+
+        // 鏁版嵁鎻愪氦鍔ㄤ綔
+        form.on('submit(save)', function () {
+
+            if($('#maktxV').val() != checkData[0].brand){
+                layer.msg("閫変腑鐨勫簱瀛樼墝鍙蜂笌璁㈠崟鐗屽彿涓嶄竴鑷达紝璇烽噸鏂伴�夋嫨璁㈠崟");
+                return;
+            }
+
+            for (var i in checkData){
+                checkData[i].orderNo = $('#orderNoV').val();
+                checkData[i].customer = $('#customer').val();
+                checkData[i].phone = $('#phone').val();
+                checkData[i].addr = $('#addr').val();
+                checkData[i].orderWeight = detailData[i] ? detailData[i].weight : checkData[i].weightAnfme;
+                checkData[i].allocate = $('#allocate').val();
+                checkData[i].memo = $('#memo').val();
+                checkData[i].pakoutTime = $('#pakoutTime').val();
+            }
+
+            if(!$('#pakoutTime').val()){
+                layer.msg("璇烽�夋嫨鍙戣揣鏃堕棿");
+                return;
+            }
+
+            $.ajax({
+                url: baseUrl+"/pla/sellout/auth",
+                headers: {'token': localStorage.getItem('token')},
+                data: JSON.stringify(checkData),
+                contentType:'application/json;charset=UTF-8',
+                method: 'POST',
+                async: false,
+                success: function (res) {
+                    if (res.code === 200){
+                        layer.msg("淇敼鎴愬姛");
+                        tableReload(true);
+                        parent.clearTable();
+                    } else if (res.code === 403){
+                        layer.msg(res.msg, {icon: 2})
+                        return;
+                    }else {
+                        layer.msg(res.msg, {icon: 2})
+                        return;
+                    }
+                    parent.layer.closeAll();
+                }
+            })
+        });
+
+        form.on('submit(detailEditSubmit)', function () {
+
+            detailData = table.cache.detailTable;
+            var allWeight = +0;
+            for (var i in checkData){
+                //妫�娴嬩慨鏀圭殑鏁伴噺鏄惁灏忎簬绛変簬鏈�澶у彲鍑哄簱鏁伴噺
+                if(detailData[i].weight <= checkData[i].weightAnfme - checkData[i].qtyAnfme){
+                    checkData[i].orderWeight = detailData[i].weight;
+                    allWeight = allWeight + Number(detailData[i].weight);
+                }else {
+                    layer.msg("鎵瑰彿锛�" + detailData[i].batch + "锛屽寘鍙凤細" + detailData[i].packageNo + "鍙嚭搴撻噸閲忓皬浜庝慨鏀瑰悗鐨勬暟閲忥紝璇烽噸鏂板~鍐�");
+                    return;
+                }
+            }
+            $('#qtyWeight').val(allWeight);
+            layer.closeAll();
+        })
+
+
+        function tableReload(child) {
+            var searchData = {};
+            $.each($('#search-box [name]').serializeArray(), function() {
+                searchData[this.name] = this.value;
+            });
+            (child ? parent.tableIns : tableIns).reload({
+                where: searchData,
+                page: {
+                    curr: 1
+                },
+                done: function (res, curr, count) {
+                    if (res.code === 403) {
+                        top.location.href = baseUrl+"/";
+                    }
+                    pageCurr=curr;
+                    if (res.data.length === 0 && count !== 0) {
+                        tableIns.reload({
+                            where: searchData,
+                            page: {
+                                curr: pageCurr-1
+                            }
+                        });
+                        pageCurr -= 1;
+                    }
+                    limit(child);
+                }
+            });
+        }
+
+    })
+
+</script>
+
diff --git a/src/main/webapp/views/pla3/sellout1.html b/src/main/webapp/views/pla3/sellout1.html
new file mode 100644
index 0000000..8f64ff7
--- /dev/null
+++ b/src/main/webapp/views/pla3/sellout1.html
@@ -0,0 +1,340 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="utf-8">
+    <title></title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+    <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all">
+    <link rel="stylesheet" href="../../static/css/cool.css" media="all">
+    <link rel="stylesheet" href="../../static/css/common.css" media="all">
+</head>
+<body>
+
+<!-- 璇︽儏 -->
+<div id="data-detail" class="layer_self_wrap">
+    <form id="detail" class="layui-form" style="text-align: center">
+        <div class="layui-form layui-card-header">
+            <div class="layui-inline"  style="width:83%;margin-top: 0px;margin-bottom: 5px;">
+                <label class="layui-form-label"><span class="not-null">*</span>璁㈠崟銆�鍙凤細</label>
+                <div class="layui-input-inline cool-auto-complete">
+                    <input id="orderNo" class="layui-input" type="text" style="display: none" lay-verify="required">
+                    <input id="orderNoV" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" onfocus=this.blur()>
+                    <div class="cool-auto-complete-window">
+                        <input class="cool-auto-complete-window-input" data-key="orderQueryByorderId" onkeyup="autoLoad(this.getAttribute('data-key'))">
+                        <select class="cool-auto-complete-window-select" data-key="orderQueryByorderIdSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
+                        </select>
+                    </div>
+                </div>
+            </div>
+            <div class="layui-inline"  style="width:40%;margin-top: 0px;margin-bottom: 5px;">
+                <label class="layui-form-label"><span class="not-null">*</span>鐗屻��銆�鍙凤細</label>
+                <div class="layui-input-inline cool-auto-complete">
+                    <input id="maktx" class="layui-input" type="text" style="display: none" lay-verify="required">
+                    <input id="maktxV" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" onfocus=this.blur()>
+                    <div class="cool-auto-complete-window">
+                        <input class="cool-auto-complete-window-input" data-key="orderDetlQueryByMaktx" onkeyup="autoLoad(this.getAttribute('data-key'))">
+                        <select class="cool-auto-complete-window-select" data-key="orderDetlQueryByMaktxSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
+                        </select>
+                    </div>
+                </div>
+            </div>
+            <div class="layui-inline"  style="width:40%; margin-bottom: 5px;">
+                <label class="layui-form-label"><span class="not-null">*</span>璁㈠崟閲嶉噺锛�</label>
+                <div class="layui-input-inline">
+                    <input id="weight" class="layui-input" type="text" lay-verify="required" readonly="readonly">
+                </div>
+            </div>
+            <div class="layui-inline"  style="width:40%;margin-top: 0px;margin-bottom: 5px;">
+                <label class="layui-form-label">瀹㈡埛鍚嶇О锛�</label>
+                <div class="layui-input-inline">
+                    <input id="customer" class="layui-input" type="text" readonly="readonly">
+                </div>
+            </div>
+            <div class="layui-inline"  style="width:40%;margin-top: 0px;margin-bottom: 5px;">
+                <label class="layui-form-label">瀹㈡埛鐢佃瘽锛�</label>
+                <div class="layui-input-inline">
+                    <input id="phone" class="layui-input" type="text" readonly="readonly">
+                </div>
+            </div>
+            <div class="layui-inline"  style="width:83%; margin-bottom: 5px;">
+                <label class="layui-form-label">瀹㈡埛鍦板潃锛�</label>
+                <div class="layui-input-inline">
+                    <input id="addr" class="layui-input" type="text" readonly="readonly">
+                </div>
+            </div>
+            <div class="layui-inline"  style="width:83%; margin-bottom: 5px;">
+                <label class="layui-form-label"><span class="not-null">*</span>鍙戣揣閲嶉噺锛�</label>
+                <div class="layui-input-inline">
+                    <input id="qtyWeight" class="layui-input" type="text" lay-verify="required" readonly="readonly">
+                </div>
+            </div>
+        </div>
+        <div class="layui-form layui-card-header">
+            <div class="layui-inline"  style="width:83%; margin-bottom: 5px;">
+                <label class="layui-form-label">璋冩嫧銆�鍒帮細</label>
+                <div class="layui-input-inline">
+                    <input id="allocate" class="layui-input" type="text" readonly="readonly">
+                </div>
+            </div>
+            <div class="layui-inline"  style="width:83%; margin-bottom: 5px;">
+                <label class="layui-form-label"></span>澶囥��銆�娉細</label>
+                <div class="layui-input-inline">
+                    <input id="memo" class="layui-input" type="text">
+                </div>
+            </div>
+        </div>
+
+        <div class="layui-form layui-card-header" >
+            <label class="layui-form-label"><span class="not-null">*</span>閫夋嫨鍙戣揣鏃堕棿锛�</label> </br>
+            <i class="layui-icon layui-icon-date" style="font-size: 30px; color: #3F3F3F;"></i>
+            <div class="layui-form-item">
+                <button id="btn-day1-am" type="button" class="delivery layui-btn layui-btn-radius layui-btn-primary">浠婂ぉ涓嬪崍 80 鉁�</button>
+                <button id="btn-day2-am" type="button" class="delivery layui-btn layui-btn-radius layui-btn-primary">鏄庡ぉ涓嬪崍</button>
+                <button id="btn-day3-am" type="button" class="delivery layui-btn layui-btn-radius layui-btn-primary">鍚庡ぉ涓嬪崍</button>
+                <button id="btn-day4-am" type="button" class="delivery layui-btn layui-btn-radius layui-btn-primary">鍚庡ぉ涓嬪崍</button>
+            </div>
+            <div class="layui-form-item ">
+                <button id="btn-day1-pm" type="button" class="delivery layui-btn layui-btn-radius layui-btn-primary">浠婂ぉ涓嬪崍</button>
+                <button id="btn-day2-pm" type="button" class="delivery layui-btn layui-btn-radius layui-btn-primary">鏄庡ぉ涓嬪崍</button>
+                <button id="btn-day3-pm" type="button" class="delivery layui-btn layui-btn-radius layui-btn-primary">鍚庡ぉ涓嬪崍</button>
+                <button id="btn-day4-pm" type="button" class="delivery layui-btn layui-btn-radius layui-btn-primary">鍚庡ぉ涓嬪崍</button>
+            </div>
+        </div>
+
+        <div id="data-detail-btn" class="layui-btn-container layui-form-item">
+            <div id="data-detail-submit-save" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="save">淇濆瓨</div>
+            <div id="data-detail-submit-edit" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="edit">淇敼</div>
+            <div id="data-detail-close" type="button" class="layui-btn" lay-submit lay-filter="close">鍏抽棴</div>
+        </div>
+
+    </form>
+</div>
+</body>
+<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
+<script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/pla/plaDetl.js" charset="utf-8"></script>
+
+<!-- 琛ㄥ崟寮圭獥 -->
+<script type="text/html" id="editDialog">
+    <form id="editForm" lay-filter="editForm" class="layui-form" style="text-align: center">
+        <table class="layui-table" id="detailTable" lay-filter="detailTable"></table>
+        <div class="layui-btn-container layui-form-item">
+            <button class="layui-btn layui-btn-normal" type="button" lay-submit ew-event="closeDialog">鍙栨秷</button>
+            <button class="layui-btn layui-btn-normal" type="button" lay-submit lay-filter="detailEditSubmit" lay-submit>淇濆瓨</button>
+        </div>
+    </form>
+</script>
+
+
+</html>
+<script>
+
+    $('body').keydown(function () {
+        if (event.keyCode === 13) {
+            return;
+        }
+    });
+
+    var checkData = [];
+    var detailData = [];
+    var deliveryTime;
+    function child(data){
+        checkData = data;
+        var allWeight = 0;
+        for (var i in checkData){
+            allWeight += (checkData[i].weightAnfme - checkData[i].qtyAnfme)
+        }
+        $('#qtyWeight').val(allWeight);
+        delivery();
+
+    }
+
+    //鏄剧ず4澶╁唴棰勭害鍑哄簱鐨勬椂闂�
+    function delivery(){
+        $.ajax({
+            url: baseUrl+"/plaQty/delivery/auth",
+            headers: {'token': localStorage.getItem('token')},
+            contentType:'application/json;charset=UTF-8',
+            method: 'POST',
+            async: false,
+            success: function (res) {
+                if (res.code === 200){
+                    $('#btn-day1-am').text(res.data[0].text);
+                    $('#btn-day1-pm').text(res.data[1].text);
+                    $('#btn-day2-am').text(res.data[2].text);
+                    $('#btn-day2-pm').text(res.data[3].text);
+                    $('#btn-day3-am').text(res.data[4].text);
+                    $('#btn-day3-pm').text(res.data[5].text);
+                    $('#btn-day4-am').text(res.data[6].text);
+                    $('#btn-day4-pm').text(res.data[7].text);
+                    $("#btn-day1-am").hover(function(){
+                        $(this).attr("title", res.data[0].user);
+                    }, function(){
+                        $(this).removeAttr("title");
+                    });
+
+                } else if (res.code === 403){
+                    layer.msg(res.msg, {icon: 2})
+                    return;
+                }else {
+                    layer.msg(res.msg, {icon: 2})
+                    return;
+                }
+            }
+        })
+    }
+
+    $('.delivery').click(function (){
+        delivery();
+        deliveryTime = this.textContent;
+        this.append(' 鉁�');
+        $('.delivery').addClass('layui-btn-primary');
+        this.classList.remove('layui-btn-primary');
+
+    })
+
+    layui.use(['table','laydate', 'form'], function(){
+        var form = layui.form;
+        var layer = layui.layer;
+        var table = layui.table;
+
+        form.on('submit(edit)', function () {
+            var dataList = [];
+            for (var i in checkData){
+                var data = {
+                    "batch" : checkData[i].batch,
+                    "packageNo" : checkData[i].packageNo,
+                    "weight" : checkData[i].weightAnfme - checkData[i].qtyAnfme,
+                }
+                dataList.push(data);
+            }
+            if(detailData.length > 0){
+                dataList = detailData;
+            }
+            layer.open({
+                type: 1,
+                title: "鏁伴噺淇敼",
+                content: $('#editDialog').html(),
+                area: '700px',
+                success: function (layero, dIndex) {
+                    // 鏄庣粏琛ㄦ牸
+                    tableIns = table.render({
+                        elem: '#detailTable',
+                        data: dataList,
+                        limit: 100,
+                        even: true,
+                        cellMinWidth: 50,
+                        cols: [[
+                            {field: 'batch', title: '鎵瑰彿', width: 160},
+                            {field: 'packageNo', title: '鍖呭彿', width: 200},
+                            {field: 'weight', title: '鏁伴噺',edit: true},
+                        ]],
+                    });
+                }
+            })
+        })
+
+        // 鏁版嵁鎻愪氦鍔ㄤ綔
+        form.on('submit(save)', function () {
+
+            if($('#maktxV').val() != checkData[0].brand){
+                layer.msg("閫変腑鐨勫簱瀛樼墝鍙蜂笌璁㈠崟鐗屽彿涓嶄竴鑷达紝璇烽噸鏂伴�夋嫨璁㈠崟");
+                return;
+            }
+
+            for (var i in checkData){
+                checkData[i].orderNo = $('#orderNoV').val();
+                checkData[i].customer = $('#customer').val();
+                checkData[i].phone = $('#phone').val();
+                checkData[i].addr = $('#addr').val();
+                checkData[i].orderWeight = detailData[i] ? detailData[i].weight : checkData[i].weightAnfme;
+                checkData[i].allocate = $('#allocate').val();
+                checkData[i].memo = $('#memo').val();
+                checkData[i].pakoutTime = deliveryTime;
+            }
+
+            if(!deliveryTime){
+                layer.msg("璇烽�夋嫨鍙戣揣鏃堕棿");
+                return;
+            }
+
+            $.ajax({
+                url: baseUrl+"/pla/sellout/auth",
+                headers: {'token': localStorage.getItem('token')},
+                data: JSON.stringify(checkData),
+                contentType:'application/json;charset=UTF-8',
+                method: 'POST',
+                async: false,
+                success: function (res) {
+                    if (res.code === 200){
+                        layer.msg("淇敼鎴愬姛");
+                        tableReload(true);
+                        parent.clearTable();
+                    } else if (res.code === 403){
+                        layer.msg(res.msg, {icon: 2})
+                        return;
+                    }else {
+                        layer.msg(res.msg, {icon: 2})
+                        return;
+                    }
+                    parent.layer.closeAll();
+                }
+            })
+        });
+
+        form.on('submit(detailEditSubmit)', function () {
+
+            detailData = table.cache.detailTable;
+            var allWeight = +0;
+            for (var i in checkData){
+                //妫�娴嬩慨鏀圭殑鏁伴噺鏄惁灏忎簬绛変簬鏈�澶у彲鍑哄簱鏁伴噺
+                if(detailData[i].weight <= checkData[i].weightAnfme - checkData[i].qtyAnfme){
+                    checkData[i].orderWeight = detailData[i].weight;
+                    allWeight = allWeight + Number(detailData[i].weight);
+                }else {
+                    layer.msg("鎵瑰彿锛�" + detailData[i].batch + "锛屽寘鍙凤細" + detailData[i].packageNo + "鍙嚭搴撻噸閲忓皬浜庝慨鏀瑰悗鐨勬暟閲忥紝璇烽噸鏂板~鍐�");
+                    return;
+                }
+            }
+            $('#qtyWeight').val(allWeight);
+            layer.closeAll();
+        })
+
+
+        function tableReload(child) {
+            var searchData = {};
+            $.each($('#search-box [name]').serializeArray(), function() {
+                searchData[this.name] = this.value;
+            });
+            (child ? parent.tableIns : tableIns).reload({
+                where: searchData,
+                page: {
+                    curr: 1
+                },
+                done: function (res, curr, count) {
+                    if (res.code === 403) {
+                        top.location.href = baseUrl+"/";
+                    }
+                    pageCurr=curr;
+                    if (res.data.length === 0 && count !== 0) {
+                        tableIns.reload({
+                            where: searchData,
+                            page: {
+                                curr: pageCurr-1
+                            }
+                        });
+                        pageCurr -= 1;
+                    }
+                    limit(child);
+                }
+            });
+        }
+
+    })
+
+</script>
+
diff --git a/src/main/webapp/views/pla3/stockOut.html b/src/main/webapp/views/pla3/stockOut.html
new file mode 100644
index 0000000..43759e9
--- /dev/null
+++ b/src/main/webapp/views/pla3/stockOut.html
@@ -0,0 +1,131 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="utf-8">
+    <title></title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+    <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all">
+    <link rel="stylesheet" href="../../static/css/admin.css?v=318" media="all">
+    <link rel="stylesheet" href="../../static/css/cool.css" media="all">
+    <link rel="stylesheet" href="../../static/css/common.css" media="all">
+    <style>
+        html {
+            height: 100%;
+            padding: 10px;
+            background-color: #f1f1f1;
+            box-sizing: border-box;
+        }
+        body {
+            background-color: #fff;
+            border-radius: 5px;
+            box-shadow: 0 0 3px rgba(0,0,0,.3);
+            padding-bottom: 20px;
+        }
+
+        #staNoSpan {
+            text-align: center;
+            display: inline-block;
+            width: 100px;
+            font-size: 13px;
+        }
+        .layui-btn-container .layui-form-select {
+            display: inline-block;
+            width: 150px;
+            height: 30px;
+        }
+        .layui-btn-container .layui-form-select.layui-form-selected {
+            display: inline-block;
+            width: 150px;
+        }
+        .layui-btn-container .layui-select-title input {
+            font-size: 13px;
+        }
+        .layui-btn-container .layui-anim.layui-anim-upbit dd {
+            font-size: 13px;
+        }
+
+        #btn-outbound {
+            margin-left: 60px;
+            display: none;
+        }
+
+        /*----------------------------------*/
+        .function-area {
+            padding: 20px 50px;
+        }
+        .function-btn {
+            font-size: 16px;
+            padding: 1px 2px;
+            width: 100px;
+            height: 50px;
+            border-color: #2b425b;
+            border-radius: 4px;
+            border-width: 2px;
+            background: none;
+            border-style: solid;
+            transition: 0.4s;
+            cursor: pointer;
+            letter-spacing: 1.5px;
+        }
+        .function-btn:hover {
+            background-color: #2b425b;
+            color: #fff;
+        }
+
+        #mat-query {
+            display: none;
+        }
+    </style>
+</head>
+<body>
+
+<!-- 鍔熻兘鍖� -->
+<div class="function-area">
+    <button id="mat-query" class="function-btn">鎻愬彇搴撳瓨</button>
+</div>
+
+<hr>
+
+<!-- 琛ㄦ牸 -->
+<div style="padding-bottom: 5px; margin-bottom: 45px">
+
+    <!-- 澶撮儴 -->
+    <script type="text/html" id="toolbar">
+        <div class="layui-form">
+            <div class="layui-btn-container">
+                <!-- 1.閫夋嫨鍑哄簱鍙� -->
+<!--                <span id="staNoSpan">鍑哄簱鍙o細</span>-->
+<!--                <select id="staNoSelect" lay-verify="required">-->
+<!--                    <option value="">璇烽�夋嫨绔欑偣</option>-->
+<!--                </select>-->
+                <!-- 2.鍚姩鍑哄簱 -->
+                <button class="layui-btn layui-btn-lg" id="btn-outbound" lay-event="outbound">鍑哄簱</button>
+            </div>
+        </div>
+    </script>
+
+    <!-- 琛� -->
+    <script type="text/html" id="operate">
+        <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="remove">绉婚櫎</a>
+    </script>
+
+    <table class="layui-table" id="chooseData" lay-filter="chooseData"></table>
+</div>
+
+<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
+<script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/handlebars/handlebars-v4.5.3.js"></script>
+<script type="text/javascript" src="../../static/js/pla/stockOut.js" charset="utf-8"></script>
+
+<script type="text/template" id="takeSiteSelectTemplate">
+    {{#each data}}
+    <option value="{{siteId}}">{{desc}}</option>
+    {{/each}}
+</script>
+</body>
+</html>
+
diff --git a/src/main/webapp/views/pla3/update.html b/src/main/webapp/views/pla3/update.html
new file mode 100644
index 0000000..ca3b65d
--- /dev/null
+++ b/src/main/webapp/views/pla3/update.html
@@ -0,0 +1,147 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="utf-8">
+    <title></title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+    <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all">
+    <link rel="stylesheet" href="../../static/css/cool.css" media="all">
+    <link rel="stylesheet" href="../../static/css/common.css" media="all">
+</head>
+<body>
+
+<!-- 璇︽儏 -->
+<div id="data-detail" class="layer_self_wrap">
+    <form id="detail" class="layui-form" style="text-align: center">
+
+        <div class="layui-inline"  style="width:80%;">
+            <label class="layui-form-label">鎹㈠寘瑁咃細</label>
+            <div class="layui-input-inline cool-auto-complete">
+                <input id="packageType" class="layui-input" type="text" style="display: none">
+                <input id="packageTypeV" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" onfocus=this.blur()>
+                <div class="cool-auto-complete-window">
+                    <input class="cool-auto-complete-window-input" data-key="configTypeQueryByPackageType" data-value="packageType" onkeyup="autoLoad(this.getAttribute('data-key'))">
+                    <select class="cool-auto-complete-window-select" data-key="configTypeQueryByPackageTypeSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
+                    </select>
+                </div>
+            </div>
+        </div>
+        <div class="layui-inline"  style="width:80%;">
+            <label class="layui-form-label">鎹㈡墭鐩橈細</label>
+            <div class="layui-input-inline cool-auto-complete">
+                <input id="zpalletType" class="layui-input" type="text" style="display: none">
+                <input id="zpalletTypeV" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" onfocus=this.blur()>
+                <div class="cool-auto-complete-window">
+                    <input class="cool-auto-complete-window-input" data-key="configTypeQueryByzpalletType" data-value="zpalletType" onkeyup="autoLoad(this.getAttribute('data-key'))">
+                    <select class="cool-auto-complete-window-select" data-key="configTypeQueryByzpalletTypeSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
+                    </select>
+                </div>
+            </div>
+        </div>
+        <div class="layui-inline"  style="width:80%;">
+            <label class="layui-form-label">缂犺啘锛�</label>
+            <div class="layui-input-inline cool-auto-complete">
+                <input id="filmWrap" class="layui-input" type="text" style="display: none" >
+                <input id="filmWrapV" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" onfocus=this.blur()>
+                <div class="cool-auto-complete-window">
+                    <input class="cool-auto-complete-window-input" data-key="configTypeQueryByfilmWrap" data-value="filmWrap" onkeyup="autoLoad(this.getAttribute('data-key'))">
+                    <select class="cool-auto-complete-window-select" data-key="configTypeQueryByfilmWrapSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
+                    </select>
+                </div>
+            </div>
+        </div>
+
+        <div id="data-detail-btn" class="layui-btn-container layui-form-item">
+            <div id="data-detail-submit-save" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="save">淇濆瓨</div>
+            <div id="data-detail-submit-edit" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="edit">淇敼</div>
+            <div id="data-detail-close" type="button" class="layui-btn" lay-submit lay-filter="close">鍏抽棴</div>
+        </div>
+
+    </form>
+</div>
+</body>
+<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
+<script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/pla/plaDetl.js" charset="utf-8"></script>
+</html>
+<script>
+    var checkData = [];
+    function child(data){
+        checkData = data;
+    }
+
+    layui.use(['table','laydate', 'form'], function(){
+        var form = layui.form;
+        var layer = layui.layer;
+        var table = layui.table;
+
+        // 鏁版嵁淇敼鍔ㄤ綔
+        form.on('submit(save)', function () {
+
+            for(var i in checkData){
+                checkData[i].packageType = $('#packageTypeV').val() ? $('#packageTypeV').val() : checkData[i].packageType;
+                checkData[i].zpalletType = $('#zpalletTypeV').val() ? $('#zpalletTypeV').val() : checkData[i].zpalletType;
+                checkData[i].filmWrap = $('#filmWrapV').val() ? $('#filmWrapV').val() : checkData[i].filmWrap;
+                checkData[i].step = 2;
+            }
+
+            $.ajax({
+                url: baseUrl+"/pla/update/auth",
+                headers: {'token': localStorage.getItem('token')},
+                data: JSON.stringify(checkData),
+                contentType:'application/json;charset=UTF-8',
+                method: 'POST',
+                async: false,
+                success: function (res) {
+                    if (res.code === 200){
+                        layer.msg("淇敼鎴愬姛");
+                        tableReload(true);
+                    } else if (res.code === 403){
+                        layer.msg(res.msg, {icon: 2})
+                        return;
+                    }else {
+                        layer.msg(res.msg, {icon: 2})
+                        return;
+                    }
+                    parent.layer.closeAll();
+                }
+            })
+        });
+
+        function tableReload(child) {
+            var searchData = {};
+            $.each($('#search-box [name]').serializeArray(), function() {
+                searchData[this.name] = this.value;
+            });
+            (child ? parent.tableIns : tableIns).reload({
+                where: searchData,
+                page: {
+                    curr: 1
+                },
+                done: function (res, curr, count) {
+                    if (res.code === 403) {
+                        top.location.href = baseUrl+"/";
+                    }
+                    pageCurr=curr;
+                    if (res.data.length === 0 && count !== 0) {
+                        tableIns.reload({
+                            where: searchData,
+                            page: {
+                                curr: pageCurr-1
+                            }
+                        });
+                        pageCurr -= 1;
+                    }
+                    limit(child);
+                }
+            });
+        }
+
+    })
+
+</script>
+
diff --git a/src/main/webapp/views/pla3/updateOwner.html b/src/main/webapp/views/pla3/updateOwner.html
new file mode 100644
index 0000000..247328b
--- /dev/null
+++ b/src/main/webapp/views/pla3/updateOwner.html
@@ -0,0 +1,121 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="utf-8">
+    <title></title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+    <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all">
+    <link rel="stylesheet" href="../../static/css/cool.css" media="all">
+    <link rel="stylesheet" href="../../static/css/common.css" media="all">
+</head>
+<body>
+
+<!-- 璇︽儏 -->
+<div id="data-detail" class="layer_self_wrap">
+    <form id="detail" class="layui-form" style="text-align: center">
+
+        <div class="layui-inline"  style="width:80%;">
+            <label class="layui-form-label">鍙樻洿涓讳綋锛�</label>
+            <div class="layui-input-inline cool-auto-complete">
+                <input id="owner" class="layui-input" type="text" style="display: none">
+                <input id="ownerV" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" onfocus=this.blur()>
+                <div class="cool-auto-complete-window">
+                    <input class="cool-auto-complete-window-input" data-key="configTypeQueryByOwner" data-value="owner" onkeyup="autoLoad(this.getAttribute('data-key'))">
+                    <select class="cool-auto-complete-window-select" data-key="configTypeQueryByOwnerSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
+                    </select>
+                </div>
+            </div>
+        </div>
+
+        <div id="data-detail-btn" class="layui-btn-container layui-form-item">
+            <div id="data-detail-submit-save" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="save">淇濆瓨</div>
+            <div id="data-detail-submit-edit" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="edit">淇敼</div>
+            <div id="data-detail-close" type="button" class="layui-btn" lay-submit lay-filter="close">鍏抽棴</div>
+        </div>
+
+    </form>
+</div>
+</body>
+<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
+<script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/pla/plaDetl.js" charset="utf-8"></script>
+</html>
+<script>
+    var checkData = [];
+    function child(data){
+        checkData = data;
+    }
+
+    layui.use(['table','laydate', 'form'], function(){
+        var form = layui.form;
+        var layer = layui.layer;
+        var table = layui.table;
+
+        // 鏁版嵁淇敼鍔ㄤ綔
+        form.on('submit(save)', function () {
+
+            for(var i in checkData){
+                checkData[i].owner = $('#ownerV').val() ? $('#ownerV').val() : checkData[i].packageType;
+                checkData[i].step = 2;
+            }
+
+            $.ajax({
+                url: baseUrl+"/pla/update/auth",
+                headers: {'token': localStorage.getItem('token')},
+                data: JSON.stringify(checkData),
+                contentType:'application/json;charset=UTF-8',
+                method: 'POST',
+                async: false,
+                success: function (res) {
+                    if (res.code === 200){
+                        layer.msg("淇敼鎴愬姛");
+                        tableReload(true);
+                    } else if (res.code === 403){
+                        layer.msg(res.msg, {icon: 2})
+                        return;
+                    }else {
+                        layer.msg(res.msg, {icon: 2})
+                        return;
+                    }
+                    parent.layer.closeAll();
+                }
+            })
+        });
+
+        function tableReload(child) {
+            var searchData = {};
+            $.each($('#search-box [name]').serializeArray(), function() {
+                searchData[this.name] = this.value;
+            });
+            (child ? parent.tableIns : tableIns).reload({
+                where: searchData,
+                page: {
+                    curr: 1
+                },
+                done: function (res, curr, count) {
+                    if (res.code === 403) {
+                        top.location.href = baseUrl+"/";
+                    }
+                    pageCurr=curr;
+                    if (res.data.length === 0 && count !== 0) {
+                        tableIns.reload({
+                            where: searchData,
+                            page: {
+                                curr: pageCurr-1
+                            }
+                        });
+                        pageCurr -= 1;
+                    }
+                    limit(child);
+                }
+            });
+        }
+
+    })
+
+</script>
+
diff --git a/src/main/webapp/views/pla3/waitingPakin.html b/src/main/webapp/views/pla3/waitingPakin.html
new file mode 100644
index 0000000..4a03807
--- /dev/null
+++ b/src/main/webapp/views/pla3/waitingPakin.html
@@ -0,0 +1,114 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="utf-8">
+    <title></title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+    <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all">
+    <link rel="stylesheet" href="../../static/css/admin.css?v=318" media="all">
+    <link rel="stylesheet" href="../../static/css/cool.css" media="all">
+    <link rel="stylesheet" href="../../static/css/common.css" media="all">
+    <style>
+        html {
+            height: 100%;
+            padding: 10px;
+            background-color: #f1f1f1;
+            box-sizing: border-box;
+        }
+        body {
+            background-color: #fff;
+            border-radius: 5px;
+            box-shadow: 0 0 3px rgba(0,0,0,.3);
+        }
+
+        /* search */
+        .layui-card-header {
+            border-bottom: none;
+        }
+        #search-box {
+            padding: 30px 0 10px 0;
+        }
+        #search-box .layui-inline:first-child {
+            margin-left: 30px;
+        }
+        #search-box .layui-inline {
+            margin-right: 5px;
+        }
+
+        #data-search-btn {
+            margin-left: 10px;
+            display: inline-block;
+        }
+        #data-search-btn.layui-btn-container .layui-btn {
+            margin-right: 20px;
+        }
+
+        /* add */
+        .function-area {
+            padding: 15px 0 20px 40px;
+        }
+        .function-btn {
+            font-size: 16px;
+            padding: 1px 1px 1px 1px;
+            width: 120px;
+            height: 40px;
+            border-color: #2b425b;
+            border-radius: 4px;
+            border-width: 1px;
+            background: none;
+            border-style: solid;
+            transition: 0.4s;
+            cursor: pointer;
+        }
+        .function-btn:hover {
+            background-color: #2b425b;
+            color: #fff;
+        }
+
+        #mat-query {
+            /*display: none;*/
+        }
+        #btn-adjust {
+            /*display: none;*/
+        }
+        .layui-table-cell {
+            text-align: center;
+            line-height: 20px !important;
+            vertical-align: middle;
+            height: auto;
+            overflow: visible;
+            text-overflow: inherit;
+            white-space: normal;
+
+        }
+    </style>
+</head>
+<body style="padding-bottom: 30px">
+
+<hr>
+
+<!-- 鍔熻兘鍖� -->
+<div class="function-area">
+    <button id="submit" style="alignment: right" class="function-btn">閫氱煡鍏ュ簱</button>
+</div>
+
+<!-- 琛� -->
+<script type="text/html" id="operate">
+    <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="remove">绉婚櫎</a>
+</script>
+
+<!-- 琛ㄦ牸 -->
+<table class="layui-table" id="waitingPakinTable" lay-filter="qualityInfoTable"></table>
+
+<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
+<script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/handlebars/handlebars-v4.5.3.js"></script>
+<script type="text/javascript" src="../../static/js/pla/waitingPakin.js" charset="utf-8"></script>
+
+</body>
+</html>
+

--
Gitblit v1.9.1