自动化立体仓库 - WMS系统
聚乳酸库存明细
1.批号与包号排序需同步,增加水分,挥发段,分解段搜索,按照最大最小范围,包装类型跟托盘类型增加删选功能。
2.已经出库的物料,在明细表里面隐藏掉,但是数据保留。
3.增加二个跟聚乳酸一样的明细表,分改性树脂,纯树脂库存明细表,所有功能跟总的聚乳酸库存明细表一样
4.明细表整体框架调整一下,相对压缩一下,搜索功能框看看能否弄成二行
5.表里面的包装类型与托盘类型这些不主要的信息放到指标后面
6.关于分包再处理,举例原有系统里面销售选定的10包物料,再二次重新弄后,车间打印新标签,使用新的包号,在明细表里面体现原有所有指标信息及批号,包号,牌号跟新的关联
7.出库时候时间可选历史,不要就只能出现4天
8.提取库存里面需要有最大包号跟最小包号选择
8个文件已修改
25个文件已添加
5654 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/PlaController.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/Pla.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/PlaMapper.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/PlaServiceImpl.java 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/PlaMapper.xml 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/js/pla/plaDetl.js 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/pla/locDetlQuery.html 106 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/pla/plaDetl.html 79 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/pla/sellout.html 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/pla2/locDetlQuery.html 371 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/pla2/pickup.html 211 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/pla2/plaDetl.html 468 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/pla2/productionInfo.html 125 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/pla2/qualityInfo.html 114 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/pla2/returned.html 197 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/pla2/sellout.html 335 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/pla2/sellout1.html 340 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/pla2/stockOut.html 131 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/pla2/update.html 147 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/pla2/updateOwner.html 121 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/pla2/waitingPakin.html 114 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/pla3/locDetlQuery.html 371 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/pla3/pickup.html 211 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/pla3/plaDetl.html 468 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/pla3/productionInfo.html 125 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/pla3/qualityInfo.html 114 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/pla3/returned.html 197 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/pla3/sellout.html 335 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/pla3/sellout1.html 340 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/pla3/stockOut.html 131 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/pla3/update.html 147 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/pla3/updateOwner.html 121 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/pla3/waitingPakin.html 114 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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));
    }
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")
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);
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();
src/main/resources/mapper/PlaMapper.xml
New file
@@ -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>
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: '熔指,g/10min',edit:true}
        ,{field: 'water', align: 'center',title: '水分,ppm', 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: {
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="最小分解段" autocomplete="off">
                </div>
            </div>
            <div class="layui-inline">
                <div class="layui-input-inline">
                    <input class="layui-input" type="text" name="vadf2Max" placeholder="最大分解段" 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,
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="最小分解段" autocomplete="off">
            </div>
        </div>
        <div class="layui-inline">
            <div class="layui-input-inline">
                <input class="layui-input" type="text" name="vadf2Max" placeholder="最大分解段" autocomplete="off">
            </div>
        </div>
    </div>
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;
            }
src/main/webapp/views/pla2/locDetlQuery.html
New file
@@ -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="最小分解段" autocomplete="off">
                </div>
            </div>
            <div class="layui-inline">
                <div class="layui-input-inline">
                    <input class="layui-input" type="text" name="vadf2Max" placeholder="最大分解段" 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>
src/main/webapp/views/pla2/pickup.html
New file
@@ -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>
src/main/webapp/views/pla2/plaDetl.html
New file
@@ -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="最小分解段" autocomplete="off">
            </div>
        </div>
        <div class="layui-inline">
            <div class="layui-input-inline">
                <input class="layui-input" type="text" name="vadf2Max" placeholder="最大分解段" 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">解冻</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="正常|冻结" 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:No. 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>
src/main/webapp/views/pla2/productionInfo.html
New file
@@ -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>
src/main/webapp/views/pla2/qualityInfo.html
New file
@@ -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>
src/main/webapp/views/pla2/returned.html
New file
@@ -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>
src/main/webapp/views/pla2/sellout.html
New file
@@ -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>
src/main/webapp/views/pla2/sellout1.html
New file
@@ -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>
src/main/webapp/views/pla2/stockOut.html
New file
@@ -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">出库口:</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>
src/main/webapp/views/pla2/update.html
New file
@@ -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>
src/main/webapp/views/pla2/updateOwner.html
New file
@@ -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>
src/main/webapp/views/pla2/waitingPakin.html
New file
@@ -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>
src/main/webapp/views/pla3/locDetlQuery.html
New file
@@ -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="最小分解段" autocomplete="off">
                </div>
            </div>
            <div class="layui-inline">
                <div class="layui-input-inline">
                    <input class="layui-input" type="text" name="vadf2Max" placeholder="最大分解段" 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>
src/main/webapp/views/pla3/pickup.html
New file
@@ -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>
src/main/webapp/views/pla3/plaDetl.html
New file
@@ -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="最小分解段" autocomplete="off">
            </div>
        </div>
        <div class="layui-inline">
            <div class="layui-input-inline">
                <input class="layui-input" type="text" name="vadf2Max" placeholder="最大分解段" 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">解冻</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="正常|冻结" 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:No. 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>
src/main/webapp/views/pla3/productionInfo.html
New file
@@ -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>
src/main/webapp/views/pla3/qualityInfo.html
New file
@@ -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>
src/main/webapp/views/pla3/returned.html
New file
@@ -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>
src/main/webapp/views/pla3/sellout.html
New file
@@ -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>
src/main/webapp/views/pla3/sellout1.html
New file
@@ -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>
src/main/webapp/views/pla3/stockOut.html
New file
@@ -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">出库口:</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>
src/main/webapp/views/pla3/update.html
New file
@@ -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>
src/main/webapp/views/pla3/updateOwner.html
New file
@@ -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>
src/main/webapp/views/pla3/waitingPakin.html
New file
@@ -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>