var insTbCount = 0; 
 | 
var tableCache2 = []; 
 | 
layui.config({ 
 | 
    base: baseUrl + "/static/layui/lay/modules/" 
 | 
}).extend({ 
 | 
    notice: 'notice/notice', 
 | 
}).use(['layer', 'form', 'table', 'upload', 'element', 'util', 'admin', 'xmSelect', 'laydate', 'tableMerge', 'notice'], function () { 
 | 
    var $ = layui.jquery; 
 | 
    var layer = layui.layer; 
 | 
    var form = layui.form; 
 | 
    var table = layui.table; 
 | 
    var util = layui.util; 
 | 
    var upload = layui.upload; 
 | 
    var admin = layui.admin; 
 | 
    var xmSelect = layui.xmSelect; 
 | 
    var layDate = layui.laydate; 
 | 
    var laytpl = layui.laytpl; 
 | 
    var tableMerge = layui.tableMerge; 
 | 
    var notice = layui.notice; 
 | 
    var element = layui.element; 
 | 
  
 | 
  
 | 
    // 渲染表格 
 | 
    var insTb = table.render({ 
 | 
        elem: '#order', 
 | 
        url: baseUrl + '/review/head/page/auth', 
 | 
        headers: {token: localStorage.getItem('token')}, 
 | 
        page: true, 
 | 
        cellMinWidth: 100, 
 | 
        toolbar: '#toolbar', 
 | 
        cols: [[ 
 | 
            {type: 'checkbox', fixed: 'left'}, 
 | 
            {field: 'orderNo', title: '单据编号'}, 
 | 
            {field: 'cstmrName', align: 'center', title: '客户名称'}, 
 | 
            {align: 'center', title: '明细', toolbar: '#tbLook', minWidth: 250, width: 250}, 
 | 
            {field: 'createTime$', title: '创建时间', minWidth: 200, width: 200}, 
 | 
            {field: 'settle$', align: 'center', title: '状态', templet: '#settleTpl', minWidth: 160, width: 160}, 
 | 
            //{field: 'memo', align: 'center',title: '备注'}, 
 | 
            {align: 'center', title: '操作', toolbar: '#operate', width: 240} 
 | 
        ]], 
 | 
        request: { 
 | 
            pageName: 'curr', 
 | 
            pageSize: 'limit' 
 | 
        }, 
 | 
        parseData: function (res) { 
 | 
            return { 
 | 
                'code': res.code, 
 | 
                'msg': res.msg, 
 | 
                'count': res.data.total, 
 | 
                'data': res.data.records 
 | 
            } 
 | 
        }, 
 | 
        response: { 
 | 
            statusCode: 200 
 | 
        }, 
 | 
        done: function (res, curr, count) { 
 | 
            limit(); 
 | 
            if (res.code === 403) { 
 | 
                top.location.href = baseUrl + "/"; 
 | 
            } 
 | 
            insTbCount = count; 
 | 
        } 
 | 
    }); 
 | 
  
 | 
  
 | 
    // 
 | 
    table.on('toolbar(order)', function (obj) { 
 | 
        console.info("121211") 
 | 
        var checkStatus = table.checkStatus(obj.config.id); 
 | 
        console.info(obj) 
 | 
        console.info(checkStatus) 
 | 
        layer.confirm('确定导出Excel吗', {shadeClose: true}, function () { 
 | 
            var ids = ''; 
 | 
            for (const o in checkStatus.data) { 
 | 
                console.info(o) 
 | 
                //ids.push(checkStatus.data[o].id) 
 | 
                ids =ids + checkStatus.data[o].id + "," 
 | 
            } 
 | 
            location.href = baseUrl + "/exportReview?ids=" + ids; 
 | 
            layer.closeAll(); 
 | 
        }); 
 | 
    }); 
 | 
  
 | 
  
 | 
    // 搜索 
 | 
    form.on('submit(tbSearch)', function (data) { 
 | 
        insTb.reload({where: data.field, page: {curr: 1}}); 
 | 
    }); 
 | 
  
 | 
    //多文件列表 
 | 
    var uploadListIns = upload.render({ 
 | 
        elem: '#data-btn-file2' 
 | 
        , elemList: $('#data-btn-file3') //列表元素对象 
 | 
        , url: baseUrl + '/review/insert/labelUp/file/auth' 
 | 
        , accept: 'file' 
 | 
        , multiple: true 
 | 
        , number: 10 
 | 
        , auto: false 
 | 
        , bindAction: '#testListAction' 
 | 
        , choose: function (obj) { 
 | 
            // 赋值 
 | 
            this.data.orderId = $('.layui-layer-title').text() 
 | 
            var that = this; 
 | 
            var files = this.files = obj.pushFile(); //将每次选择的文件追加到文件队列 
 | 
            //读取本地文件 
 | 
            obj.preview(function (index, file, result) { 
 | 
                var tr = $(['<tr id="upload-' + index + '">' 
 | 
                    , '<td>' + file.name + '</td>' 
 | 
                    , '<td>' + (file.size / 1014).toFixed(1) + 'kb</td>' 
 | 
                    , '<td><div class="layui-progress" lay-filter="progress-demo-' + index + '"><div class="layui-progress-bar" lay-percent=""></div></div></td>' 
 | 
                    , '<td>' 
 | 
                    , '<button class="layui-btn layui-btn-xs demo-reload layui-hide">重传</button>' 
 | 
                    // ,'<button class="layui-btn layui-btn-xs layui-btn-danger demo-delete">删除</button>' 
 | 
                    , '</td>' 
 | 
                    , '</tr>'].join('')); 
 | 
  
 | 
                //单个重传 
 | 
                tr.find('.demo-reload').on('click', function () { 
 | 
                    obj.upload(index, file); 
 | 
                }); 
 | 
  
 | 
                //删除 
 | 
                tr.find('.demo-delete').on('click', function () { 
 | 
                    delete files[index]; //删除对应的文件 
 | 
                    tr.remove(); 
 | 
                    uploadListIns.config.elem.next()[0].value = ''; //清空 input file 值,以免删除后出现同名文件不可选 
 | 
                }); 
 | 
  
 | 
                that.elemList.append(tr); 
 | 
                element.render('progress'); //渲染新加的进度条组件 
 | 
            }); 
 | 
        } 
 | 
        , done: function (res, index, upload) { //成功的回调 
 | 
            var that = this; 
 | 
            //if(res.code == 0){ //上传成功 
 | 
            var tr = that.elemList.find('tr#upload-' + index) 
 | 
                , tds = tr.children(); 
 | 
            tds.eq(3).html(''); //清空操作 
 | 
            delete this.files[index]; //删除文件队列已经上传成功的文件 
 | 
            return; 
 | 
            //} 
 | 
            this.error(index, upload); 
 | 
        } 
 | 
        , allDone: function (obj) { //多文件上传完毕后的状态回调 
 | 
            console.log(obj) 
 | 
        } 
 | 
        , error: function (index, upload) { //错误回调 
 | 
            var that = this; 
 | 
            var tr = that.elemList.find('tr#upload-' + index) 
 | 
                , tds = tr.children(); 
 | 
            tds.eq(3).find('.demo-reload').removeClass('layui-hide'); //显示重传 
 | 
        } 
 | 
        , progress: function (n, elem, e, index) { //注意:index 参数为 layui 2.6.6 新增 
 | 
            element.progress('progress-demo-' + index, n + '%'); //执行进度条。n 即为返回的进度百分比 
 | 
        } 
 | 
    }); 
 | 
  
 | 
    // 添加 
 | 
    $("#orderAddBtn").click(function () { 
 | 
        showEditModel(); 
 | 
    }); 
 | 
  
 | 
    // 工具条点击事件 
 | 
    table.on('tool(order)', function (obj) { 
 | 
        var data = obj.data; 
 | 
        var layEvent = obj.event; 
 | 
        if (layEvent === 'edit') { 
 | 
            showEditModel(data); 
 | 
        } else if (layEvent === 'wrkTrace') { 
 | 
            showWrkTrace(data.id); 
 | 
        } else if (layEvent === 'del') { 
 | 
            doDel(data.id); 
 | 
        } else if (layEvent === 'labelUp') { 
 | 
            //上传标签 
 | 
            // 打开弹窗 
 | 
            // 构建带参数的内容 
 | 
            layer.open({ 
 | 
                area: '1020px', 
 | 
                type: 1, 
 | 
                title: '上传文件-' + data.id, 
 | 
                content: $('#myModal') 
 | 
            }); 
 | 
            // 获取路径下的文件列表,使用 jQuery 的 ajax 方法 
 | 
            $.ajax({ 
 | 
                url: baseUrl + '/review/view/labelUp/file/auth', 
 | 
                data: { 
 | 
                    orderId: data.id 
 | 
                }, 
 | 
                success: function (response) { 
 | 
                    if (response.code == 200) { 
 | 
                        var targetTable = document.getElementById("data-btn-file3"); 
 | 
                        targetTable.innerHTML = ''; 
 | 
                        // 将获取到的文件列表添加到文件队列中进行显示 
 | 
                        response.data.forEach(function (file, index) { 
 | 
                            // 创建tr元素 
 | 
                            var tr = document.createElement("tr"); 
 | 
                            tr.id = "upload-" + index; 
 | 
                            tr.innerHTML = '<td>' + file.name + '</td>' 
 | 
                                + '<td>' + (file.size / 1024).toFixed(1) + 'kb</td>' 
 | 
                                + '<td><div class="layui-progress" lay-filter="progress-demo-' + index + '"><div class="layui-progress-bar" lay-percent=""></div></div></td>' 
 | 
                                + '<td>' 
 | 
                                + '<button class="layui-btn layui-btn-xs demo-reload layui-hide">重传</button>' 
 | 
                                // + '<button class="layui-btn layui-btn-xs layui-btn-danger demo-delete">删除</button>' 
 | 
                                + '</td>'; 
 | 
  
 | 
                            // 将tr元素添加到目标table中 
 | 
                            targetTable.appendChild(tr); 
 | 
                        }); 
 | 
                    } else { 
 | 
                        console.log('Failed to get file list error.'); 
 | 
                    } 
 | 
                }, 
 | 
                error: function () { 
 | 
                    console.log('Failed to get file list.'); 
 | 
                } 
 | 
            }); 
 | 
        } else if (layEvent === 'refundLoc') { 
 | 
            //退库 
 | 
            pakoutPreview([data.id]); 
 | 
        } else if (layEvent === 'complete') { 
 | 
            doModify(data.id, data.orderNo, 4); 
 | 
        } else if (layEvent === 'look') { 
 | 
            var $a = $(obj.tr).find('a[lay-event="look"]'); 
 | 
            var offset = $a.offset(); 
 | 
            var top = offset.top; 
 | 
            var left = offset.left; 
 | 
            layer.open({ 
 | 
                type: 1, 
 | 
                title: false, 
 | 
                area: '1020px', 
 | 
                offset: [top + 'px', (left - 530 + $a.outerWidth()) + 'px'], 
 | 
                shade: .01, 
 | 
                shadeClose: true, 
 | 
                fixed: false, 
 | 
                content: '<table id="lookSSXMTable" lay-filter="lookSSXMTable"></table>', 
 | 
                success: function (layero) { 
 | 
                    table.render({ 
 | 
                        elem: '#lookSSXMTable', 
 | 
                        headers: {token: localStorage.getItem('token')}, 
 | 
                        url: baseUrl + '/reviewDetl/list/auth', 
 | 
                        where: { 
 | 
                            order_id: data.id 
 | 
                        }, 
 | 
                        page: true, 
 | 
                        cellMinWidth: 100, 
 | 
                        cols: [[ 
 | 
                            //{field: 'matnr', title: '物质编码'}, 
 | 
                            //{field: 'maktx', title: '产品名称'}, 
 | 
                            {field: 'specs', title: '规格型号'}, 
 | 
                            {field: 'batch', title: '批次号'}, 
 | 
                            //{field: 'model', title: '卷号'}, 
 | 
                            {field: 'anfme', title: '出库数量'}, 
 | 
                            //{field: 'deadTime', title: '出库日期'}, 
 | 
                            {field: 'inspect$', title: '复核状态'}, 
 | 
                            {field: 'threeCode', title: '复核人'}, 
 | 
                            {field: 'memo', title: '复核备注'} 
 | 
                        ]], 
 | 
                        request: { 
 | 
                            pageName: 'curr', 
 | 
                            pageSize: 'limit' 
 | 
                        }, 
 | 
                        parseData: function (res) { 
 | 
                            return { 
 | 
                                'code': res.code, 
 | 
                                'msg': res.msg, 
 | 
                                'count': res.data.total, 
 | 
                                'data': res.data.records 
 | 
                            } 
 | 
                        }, 
 | 
                        response: { 
 | 
                            statusCode: 200 
 | 
                        }, 
 | 
                        done: function () { 
 | 
                            $(layero).find('.layui-table-view').css('margin', '0'); 
 | 
                        }, 
 | 
                        size: '' 
 | 
                    }); 
 | 
                } 
 | 
            }); 
 | 
        } 
 | 
    }); 
 | 
  
 | 
    // 显示表单弹窗 
 | 
    function showEditModel(expTpe) { 
 | 
        admin.open({ 
 | 
            type: 1, 
 | 
            title: (expTpe ? '修改' : '添加') + '单据', 
 | 
            content: $('#editDialog').html(), 
 | 
            area: '1300px', 
 | 
            success: function (layero, dIndex) { 
 | 
                $(layero).children('.layui-layer-content').css('overflow', 'visible'); 
 | 
                var isExpAdd = !expTpe; 
 | 
                // 回显数据 
 | 
                form.val('editForm', expTpe); 
 | 
                if (expTpe) { 
 | 
                    $('#orderNo').attr("disabled", "disabled"); 
 | 
                } 
 | 
                // 表单提交事件 
 | 
                form.on('submit(orderEditSubmit)', function (data) { 
 | 
                    // 组装数据 
 | 
                    if (xxDataList.length <= 0) { 
 | 
                        layer.tips('请添加单据明细', '#matAddBtnComment', {tips: [1, '#ff4c4c']}); 
 | 
                        return false; 
 | 
                    } 
 | 
                    let nList = admin.util.deepClone(xxDataList); 
 | 
                    for (let xi = 0; xi < nList.length; xi++) { 
 | 
                        if (nList[xi].anfme <= 0) { 
 | 
                            layer.msg('明细修改数量不合法', {icon: 2}); 
 | 
                            return false; 
 | 
                        } 
 | 
                        if (nList[xi].anfme < nList[xi].workQty) { 
 | 
                            layer.msg('数量不能小于已作业数量', {icon: 2}); 
 | 
                            return false; 
 | 
                        } 
 | 
                    } 
 | 
                    layer.load(2); 
 | 
                    $.ajax({ 
 | 
                        url: baseUrl + "/review/form/" + (isExpAdd ? "add" : "modify") + "/auth", 
 | 
                        headers: {'token': localStorage.getItem('token')}, 
 | 
                        data: JSON.stringify({ 
 | 
                            orderId: Number(data.field.id), 
 | 
                            docType: Number(data.field.docType), 
 | 
                            orderNo: data.field.orderNo, 
 | 
                            orderDetlList: nList 
 | 
                        }), 
 | 
                        contentType: 'application/json;charset=UTF-8', 
 | 
                        method: 'POST', 
 | 
                        success: function (res) { 
 | 
                            layer.closeAll('loading'); 
 | 
                            if (res.code === 200) { 
 | 
                                layer.close(dIndex); 
 | 
                                $(".layui-laypage-btn")[0].click(); 
 | 
                                layer.msg(res.msg, {icon: 1}); 
 | 
                            } else if (res.code === 403) { 
 | 
                                top.location.href = baseUrl + "/"; 
 | 
                            } else { 
 | 
                                layer.msg(res.msg, {icon: 2}); 
 | 
                            } 
 | 
                        } 
 | 
                    }) 
 | 
                    return false; 
 | 
                }); 
 | 
                // 明细表格 
 | 
                var xxDataList = []; 
 | 
                var tbOptions = { 
 | 
                    elem: '#formSSXMTable', 
 | 
                    headers: {token: localStorage.getItem('token')}, 
 | 
                    data: xxDataList, 
 | 
                    page: true, 
 | 
                    height: '350px;', 
 | 
                    cellMinWidth: 100, 
 | 
                    cols: [[ 
 | 
                        {type: 'numbers', title: '#'}, 
 | 
                        {field: 'matnr', title: '规格', width: 160}, 
 | 
                        {field: 'maktx', title: '商品名称', width: 200}, 
 | 
                        {field: 'batch', title: '箱号', edit: true}, 
 | 
                        {field: 'specs', title: '接头'}, 
 | 
                        { 
 | 
                            field: 'anfme', 
 | 
                            title: '数量(修改)', 
 | 
                            style: 'color: blue;font-weight: bold', 
 | 
                            edit: true, 
 | 
                            minWidth: 110, 
 | 
                            width: 110 
 | 
                        }, 
 | 
                        {field: 'workQty', title: '作业数量', minWidth: 100, width: 100}, 
 | 
                        // {field: 'unit', title: '单位', width: 80}, 
 | 
                        {field: 'memo', title: '备注', edit: true}, 
 | 
                        { 
 | 
                            align: 'center', 
 | 
                            title: '操作', 
 | 
                            toolbar: '#formSSXMTableBar', 
 | 
                            minWidth: 80, 
 | 
                            width: 80, 
 | 
                            fixed: 'right' 
 | 
                        } 
 | 
                    ]], 
 | 
                    done: function (res) { 
 | 
                        $(layero).find('.layui-table-view').css('margin', '0'); 
 | 
                    }, 
 | 
                    size: '' 
 | 
                }; 
 | 
                if (!isExpAdd) { 
 | 
                    $.ajax({ 
 | 
                        url: baseUrl + "/review/detl/all/auth?orderId=" + expTpe.id, 
 | 
                        headers: {'token': localStorage.getItem('token')}, 
 | 
                        method: 'GET', 
 | 
                        async: false, 
 | 
                        success: function (res) { 
 | 
                            if (res.code === 200) { 
 | 
                                xxDataList = res.data; 
 | 
                                tbOptions.data = xxDataList; 
 | 
                            } else if (res.code === 403) { 
 | 
                                top.location.href = baseUrl + "/"; 
 | 
                            } else { 
 | 
                                layer.msg(res.msg, {icon: 2}) 
 | 
                            } 
 | 
                        } 
 | 
                    }) 
 | 
                } 
 | 
                var insTbSSXM = table.render(tbOptions); 
 | 
                // 工具条点击事件 
 | 
                table.on('tool(formSSXMTable)', function (obj) { 
 | 
                    var data = obj.data; 
 | 
                    var layEvent = obj.event; 
 | 
                    if (layEvent === 'edit') { 
 | 
                        showEditModel2(data); 
 | 
                    } else if (layEvent === 'del') { 
 | 
                        if (data.workQty > 0) { 
 | 
                            layer.msg("已存在作业数量,不能删除", {icon: 2}); 
 | 
                            return; 
 | 
                        } 
 | 
                        layer.confirm('确定要删除吗?', { 
 | 
                            shade: .1, 
 | 
                            skin: 'layui-layer-admin' 
 | 
                        }, function (i) { 
 | 
                            layer.close(i); 
 | 
                            for (var j = 0; j < xxDataList.length; j++) { 
 | 
                                if (xxDataList[j].matnr === data.matnr && xxDataList[j].batch === data.batch) { 
 | 
                                    xxDataList.splice(j, 1); 
 | 
                                    break; 
 | 
                                } 
 | 
                            } 
 | 
                            insTbSSXM.reload({data: xxDataList, page: {curr: 1}}); 
 | 
                        }); 
 | 
                    } 
 | 
                }); 
 | 
                // 明细数据修改 
 | 
                table.on('edit(formSSXMTable)', function (obj) { 
 | 
                    let index = obj.tr.attr("data-index"); 
 | 
                    let data = xxDataList[index]; 
 | 
                    if (obj.field === 'anfme') { 
 | 
                        let vle = Number(obj.value); 
 | 
                        if (isNaN(vle)) { 
 | 
                            layer.msg("请输入数字", {icon: 2}); 
 | 
                            return false; 
 | 
                        } else { 
 | 
                            if (vle <= 0) { 
 | 
                                layer.msg("数量必须大于零", {icon: 2}); 
 | 
                                // data[obj.field] = 0; 
 | 
                                // insTbSSXM.reload({data: xxDataList}); 
 | 
                                return false; 
 | 
                            } 
 | 
                            if (obj.value < data.workQty) { 
 | 
                                layer.msg("输入数量不能小于作业中数量", {icon: 2}); 
 | 
                                // data[obj.field] = 0; 
 | 
                                // insTbSSXM.reload({data: xxDataList}); 
 | 
                                return false; 
 | 
                            } 
 | 
                        } 
 | 
                    } 
 | 
                    data[obj.field] = obj.value; 
 | 
                    insTbSSXM.reload({data: xxDataList}); 
 | 
                }); 
 | 
  
 | 
                $('#matAddBtnComment').click(function () { 
 | 
                    showEditModel2(); 
 | 
                }); 
 | 
  
 | 
                // 显示添加明细表单弹窗 
 | 
                function showEditModel2(exp) { 
 | 
                    admin.open({ 
 | 
                        type: 1, 
 | 
                        offset: '150px', 
 | 
                        area: '680px', 
 | 
                        title: (exp ? '修改' : '添加') + '明细', 
 | 
                        content: $('#matEditDialog').html(), 
 | 
                        success: function (layero, dIndex) { 
 | 
                            // 回显数据 
 | 
                            form.val('matEditForm', exp); 
 | 
                            // 表单提交事件 
 | 
                            form.on('submit(matEditSubmit)', function (data) { 
 | 
                                let selectList = matXmSelect.getValue(); 
 | 
                                for (let i = 0; i < selectList.length; i++) { 
 | 
                                    let item = selectList[i]; 
 | 
                                    // 查询物料详情 
 | 
                                    $.ajax({ 
 | 
                                        url: baseUrl + "/mat/covert/" + item.value + "/auth", 
 | 
                                        headers: {'token': localStorage.getItem('token')}, 
 | 
                                        method: 'GET', 
 | 
                                        async: false, 
 | 
                                        success: function (res) { 
 | 
                                            if (res.code === 200) { 
 | 
                                                xxDataList.push(res.data); 
 | 
                                                insTbSSXM.reload({data: xxDataList, page: {curr: 1}}); 
 | 
                                            } else if (res.code === 403) { 
 | 
                                                top.location.href = baseUrl + "/"; 
 | 
                                            } else { 
 | 
                                                layer.msg(res.msg, {icon: 2}) 
 | 
                                            } 
 | 
                                        } 
 | 
                                    }) 
 | 
                                } 
 | 
                                layer.close(dIndex); 
 | 
                                return false; 
 | 
                            }); 
 | 
                            // 渲染物料选择 
 | 
                            var matXmSelect = xmSelect.render({ 
 | 
                                el: '#mat', 
 | 
                                style: { 
 | 
                                    width: '340px', 
 | 
                                }, 
 | 
                                autoRow: true, 
 | 
                                toolbar: {show: true}, 
 | 
                                filterable: true, 
 | 
                                remoteSearch: true, 
 | 
                                remoteMethod: function (val, cb, show) { 
 | 
                                    $.ajax({ 
 | 
                                        url: baseUrl + "/mat/all/get/kv", 
 | 
                                        headers: {'token': localStorage.getItem('token')}, 
 | 
                                        data: { 
 | 
                                            condition: val 
 | 
                                        }, 
 | 
                                        method: 'POST', 
 | 
                                        success: function (res) { 
 | 
                                            if (res.code === 200) { 
 | 
                                                cb(res.data) 
 | 
                                            } else { 
 | 
                                                cb([]); 
 | 
                                                layer.msg(res.msg, {icon: 2}); 
 | 
                                            } 
 | 
                                        } 
 | 
                                    }); 
 | 
                                } 
 | 
                            }) 
 | 
                            // 弹窗不出现滚动条 
 | 
                            $(layero).children('.layui-layer-content').css('overflow', 'visible'); 
 | 
                            layui.form.render('select'); 
 | 
                        } 
 | 
                    }); 
 | 
                } 
 | 
  
 | 
            } 
 | 
        }); 
 | 
    } 
 | 
  
 | 
    // 删除单据 
 | 
    function doDel(orderId) { 
 | 
        layer.confirm('确定要删除吗?', { 
 | 
            shade: .1, 
 | 
            skin: 'layui-layer-admin' 
 | 
        }, function (i) { 
 | 
            layer.close(i); 
 | 
            layer.load(2); 
 | 
            $.ajax({ 
 | 
                url: baseUrl + "/review/delete/auth", 
 | 
                headers: {'token': localStorage.getItem('token')}, 
 | 
                data: { 
 | 
                    orderId: orderId 
 | 
                }, 
 | 
                method: 'POST', 
 | 
                success: function (res) { 
 | 
                    layer.closeAll('loading'); 
 | 
                    if (res.code === 200) { 
 | 
                        if (insTbCount === 0) { 
 | 
                            insTb.reload({page: {curr: 1}}); 
 | 
                        } else { 
 | 
                            $(".layui-laypage-btn")[0].click(); 
 | 
                        } 
 | 
                        layer.msg(res.msg, {icon: 1}); 
 | 
                    } else if (res.code === 403) { 
 | 
                        top.location.href = baseUrl + "/"; 
 | 
                    } else { 
 | 
                        layer.msg(res.msg, {icon: 2}); 
 | 
                    } 
 | 
                } 
 | 
            }) 
 | 
        }); 
 | 
    } 
 | 
  
 | 
    // 修改订单状态 
 | 
    function doModify(orderId, orderNo, settle) { 
 | 
        layer.confirm('确定要手动完结吗?', { 
 | 
            shade: .1, 
 | 
            skin: 'layui-layer-admin' 
 | 
        }, function (i) { 
 | 
            layer.close(i); 
 | 
            layer.load(2); 
 | 
            console.log(orderId); 
 | 
            console.log(settle); 
 | 
            $.ajax({ 
 | 
                url: baseUrl + "/review/update/auth", 
 | 
                headers: {'token': localStorage.getItem('token')}, 
 | 
                data: { 
 | 
                    id: orderId, 
 | 
                    orderNo: orderNo, 
 | 
                    settle: settle 
 | 
                }, 
 | 
                method: 'POST', 
 | 
                success: function (res) { 
 | 
                    layer.closeAll('loading'); 
 | 
                    if (res.code === 200) { 
 | 
                        if (insTbCount === 0) { 
 | 
                            insTb.reload({page: {curr: 1}}); 
 | 
                        } else { 
 | 
                            $(".layui-laypage-btn")[0].click(); 
 | 
                        } 
 | 
                        layer.msg(res.msg, {icon: 1}); 
 | 
                    } else if (res.code === 403) { 
 | 
                        top.location.href = baseUrl + "/"; 
 | 
                    } else { 
 | 
                        layer.msg(res.msg, {icon: 2}); 
 | 
                    } 
 | 
                } 
 | 
            }) 
 | 
        }); 
 | 
    } 
 | 
  
 | 
    // 任务追溯 
 | 
    function showWrkTrace(orderId) { 
 | 
        let loadIndex = layer.msg('请求中...', {icon: 16, shade: 0.01, time: false}); 
 | 
        $.ajax({ 
 | 
            url: baseUrl + "/review/wrk/trace/auth", 
 | 
            headers: {'token': localStorage.getItem('token')}, 
 | 
            data: { 
 | 
                orderId: orderId 
 | 
            }, 
 | 
            method: 'POST', 
 | 
            success: function (res) { 
 | 
                layer.close(loadIndex); 
 | 
                if (res.code === 200) { 
 | 
                    laytpl(wrkTraceDialog.innerHTML).render(res.data, function (html) { 
 | 
                        admin.open({ 
 | 
                            type: 1, 
 | 
                            title: '任务追溯', 
 | 
                            area: ['800px', '450px'], 
 | 
                            shadeClose: true, 
 | 
                            content: html, 
 | 
                            success: function (layero, dIndex) { 
 | 
                                $(layero).children('.layui-layer-content').css('overflow', 'visible'); 
 | 
                                /** 统计图表 */ 
 | 
                                var traceCharts = echarts.init(document.getElementById('wrkTraceCharts')); 
 | 
                                var traceOptions = { 
 | 
                                    title: { 
 | 
                                        text: '总量/作业/完成', x: 'center', y: '38%', 
 | 
                                        textStyle: {fontSize: 18, color: '#262626', fontWeight: 'normal'}, 
 | 
                                        subtextStyle: {fontSize: 36, color: '#10B4E8'}, 
 | 
                                        itemGap: 20 
 | 
                                    }, 
 | 
                                    color: ['#10B4E8', '#E0E0E0', '#FF0000'], 
 | 
                                    tooltip: {trigger: 'item'}, 
 | 
                                    series: [{ 
 | 
                                        name: '箱子数量', 
 | 
                                        type: 'pie', 
 | 
                                        radius: ['75%', '80%'], 
 | 
                                        label: {normal: {show: false}} 
 | 
                                    }] 
 | 
                                }; 
 | 
                                traceCharts.setOption(traceOptions); 
 | 
                                // 赋值 
 | 
                                traceCharts.setOption({ 
 | 
                                    title: { 
 | 
                                        subtext: res.data.totalQty + "/" + res.data.wrkQty + "/" + res.data.endQty 
 | 
                                    }, 
 | 
                                    series: [ 
 | 
                                        { 
 | 
                                            data: [ 
 | 
                                                {name: '已作业', value: res.data.wrkQty}, 
 | 
                                                { 
 | 
                                                    name: '未作业', 
 | 
                                                    value: res.data.totalQty - res.data.wrkQty - res.data.lackQty 
 | 
                                                }, 
 | 
                                                {name: '库存不足', value: res.data.lackQty}, 
 | 
                                            ] 
 | 
                                        } 
 | 
                                    ] 
 | 
                                }); 
 | 
                            } 
 | 
                        }); 
 | 
                    }); 
 | 
                } else if (res.code === 403) { 
 | 
                    top.location.href = baseUrl + "/"; 
 | 
                } else { 
 | 
                    layer.msg(res.msg, {icon: 2}); 
 | 
                } 
 | 
            } 
 | 
        }) 
 | 
    } 
 | 
  
 | 
    layDate.render({ 
 | 
        elem: '.layui-laydate-range' 
 | 
        , type: 'datetime' 
 | 
        , range: true 
 | 
    }); 
 | 
  
 | 
    function pakoutPreview(ids) { 
 | 
        let loadIndex = layer.load(2); 
 | 
        $.ajax({ 
 | 
            url: baseUrl + "/out/refund/loc/preview/auth", 
 | 
            headers: {'token': localStorage.getItem('token')}, 
 | 
            contentType: 'application/json;charset=UTF-8', 
 | 
            data: JSON.stringify(ids), 
 | 
            method: 'POST', 
 | 
            success: function (res) { 
 | 
                layer.close(loadIndex); 
 | 
                var tableCache; 
 | 
                if (res.code === 200) { 
 | 
                    layer.open({ 
 | 
                        type: 1 
 | 
                        , title: false 
 | 
                        , closeBtn: false 
 | 
                        , offset: '50px' 
 | 
                        , area: ['1500px', '700px'] 
 | 
                        , shade: 0.5 
 | 
                        , shadeClose: false 
 | 
                        , btn: ['生成退库单', '稍后处理'] 
 | 
                        , btnAlign: 'c' 
 | 
                        , moveType: 1 //拖拽模式,0或者1 
 | 
                        , content: $('#pakoutPreviewBox').html() 
 | 
                        , success: function (layero, index) { 
 | 
                            stoPreTabIdx = table.render({ 
 | 
                                elem: '#stoPreTab', 
 | 
                                data: res.data, 
 | 
                                height: 520, 
 | 
                                page: false, 
 | 
                                limit: Number.MAX_VALUE, 
 | 
                                cellMinWidth: 100, 
 | 
                                cols: [[ 
 | 
                                    {type: 'checkbox'}, 
 | 
                                    // {type: 'checkbox', merge: ['orderNo']}, 
 | 
                                    {field: 'orderNo', title: '单据编号', align: 'center'}, 
 | 
                                    // {field: 'orderNo', title: '单据编号', merge: true, align: 'center'}, 
 | 
                                    {field: 'title', title: '商品', align: 'center', width: 350}, 
 | 
                                    // {field: 'title', title: '商品', merge: true, align: 'center', width: 350}, 
 | 
                                    {field: 'batch', title: '箱号', align: 'center'}, 
 | 
                                    {field: 'model', title: '卷号', align: 'center', hide: false}, 
 | 
                                    {field: 'specs', title: '接头', align: 'center'}, 
 | 
                                    // {field: 'brand', title: '木箱类型', align: 'center'}, 
 | 
                                    {field: 'brand$', title: '木箱类型', align: 'center'}, 
 | 
                                    {field: 'zpallet', title: '托盘码', align: 'center'}, 
 | 
                                    { 
 | 
                                        field: 'anfme', 
 | 
                                        title: '数量', 
 | 
                                        align: 'center', 
 | 
                                        width: 90, 
 | 
                                        style: 'font-weight: bold' 
 | 
                                    }, 
 | 
                                    { 
 | 
                                        field: 'count', 
 | 
                                        title: '数量', 
 | 
                                        align: 'center', 
 | 
                                        width: 90, 
 | 
                                        style: 'font-weight: bold' 
 | 
                                    }, 
 | 
                                    {field: 'locNo', title: '货位', align: 'center', width: 100, templet: '#locNoTpl'}, 
 | 
                                    {field: 'tkType$', title: 'TK标记', align: 'center', width: 100}, 
 | 
                                    // {field: 'staNos', align: 'center', title: '出库站', merge: ['locNo'], templet: '#tbBasicTbStaNos'}, 
 | 
                                    // {type: 'checkbox', merge: ['locNo']}, 
 | 
                                ]], 
 | 
                                done: function (res) { 
 | 
                                    tableMerge.render(this); 
 | 
                                    $('.layui-table-body.layui-table-main').css("overflow", "auto"); 
 | 
                                    tableCache = tableData = table.cache.stoPreTab; 
 | 
                                } 
 | 
                            }); 
 | 
                            // 修改出库站 
 | 
                            form.on('select(tbBasicTbStaNos)', function (obj) { 
 | 
                                let index = obj.othis.parents('tr').attr("data-index"); 
 | 
                                let data = tableCache[index]; 
 | 
                                for (let i = 0; i < tableCache.length; i++) { 
 | 
                                    if (tableCache[i].locNo === data.locNo) { 
 | 
                                        tableCache[i]['staNo'] = Number(obj.elem.value); 
 | 
                                    } 
 | 
                                } 
 | 
                                obj.othis.children().find("input").css("color", "blue"); 
 | 
                                return false; 
 | 
                            }); 
 | 
                            // 批量修改出库站 
 | 
                            form.on('submit(batchModifySta)', function () { 
 | 
                                let stoPreTabData = layui.table.checkStatus('stoPreTab').data; 
 | 
                                if (stoPreTabData.length < 1) { 
 | 
                                    layer.msg("请至少选择一条以上合并数据", {icon: 7}); 
 | 
                                    return false; 
 | 
                                } 
 | 
                                modifySta(stoPreTabData); 
 | 
                            }); 
 | 
  
 | 
                            // 批量修改出库站 - 站点选择 
 | 
                            function modifySta(stoPreTabData) { 
 | 
                                // 出库站取交集 
 | 
                                let staBatchSelectVal = []; 
 | 
                                for (let i = 0; i < stoPreTabData.length; i++) { 
 | 
                                    let staNos = stoPreTabData[i].staNos; 
 | 
                                    if (staNos !== null) { 
 | 
                                        if (staBatchSelectVal.length === 0) { 
 | 
                                            staBatchSelectVal = staNos; 
 | 
                                        } else { 
 | 
                                            staBatchSelectVal = staBatchSelectVal.filter(val => { 
 | 
                                                    return new Set(staNos).has(val) 
 | 
                                                } 
 | 
                                            ) 
 | 
                                        } 
 | 
                                    } 
 | 
                                } 
 | 
                                if (staBatchSelectVal.length === 0) { 
 | 
                                    layer.msg("出库站没有交集,无法批量修改", {icon: 2}); 
 | 
                                    return; 
 | 
                                } 
 | 
                                admin.open({ 
 | 
                                    type: 1, 
 | 
                                    area: '300px', 
 | 
                                    offset: 'auto', 
 | 
                                    title: '请选择站点', 
 | 
                                    content: $('#staBatchSelectDialog').html(), 
 | 
                                    success: function (layero, ddIndex) { 
 | 
                                        // 渲染下拉框 
 | 
                                        let template = Handlebars.compile($('#batchStaSelectTpl').html()); 
 | 
                                        $('#batchSelectStaBox').html(template({list: staBatchSelectVal})); 
 | 
                                        // 确认 
 | 
                                        form.on('submit(staBatchSelectConfirm)', function (obj) { 
 | 
                                            let loadIdx = layer.load(2); 
 | 
                                            let batchSta = Number(obj.field.batchSta); 
 | 
                                            let arr = []; 
 | 
                                            for (let j = 0; j < stoPreTabData.length; j++) { 
 | 
                                                for (let i = 0; i < tableCache.length; i++) { 
 | 
                                                    if (tableCache[i].orderNo === stoPreTabData[j].orderNo 
 | 
                                                        && tableCache[i].matnr === stoPreTabData[j].matnr 
 | 
                                                        && tableCache[i].locNo === stoPreTabData[j].locNo) { 
 | 
                                                        tableCache[i]['staNo'] = batchSta; 
 | 
                                                        arr.push(i); 
 | 
                                                    } 
 | 
                                                } 
 | 
                                            } 
 | 
                                            stoPreTabIdx.reload({data: tableCache}); 
 | 
                                            arr.forEach(item => { 
 | 
                                                $('div[lay-id=stoPreTab] tr[data-index="' + item + '"] .order-sta-select').val(batchSta); 
 | 
                                            }); 
 | 
                                            layui.form.render('select'); 
 | 
                                            arr.forEach(item => { 
 | 
                                                $('div[lay-id=stoPreTab] tr[data-index="' + item + '"] .layui-select-title').find("input").css("color", "blue"); 
 | 
                                            }); 
 | 
                                            layer.close(loadIdx); 
 | 
                                            layer.close(ddIndex); 
 | 
                                            return false; 
 | 
                                        }); 
 | 
                                        // 弹窗不出现滚动条 
 | 
                                        $(layero).children('.layui-layer-content').css('overflow', 'visible'); 
 | 
                                        layui.form.render('select'); 
 | 
                                    }, 
 | 
                                }) 
 | 
                            } 
 | 
  
 | 
                        } 
 | 
                        , yes: function (index, layero) { 
 | 
                            //按钮【退库】的回调 
 | 
                            pakout(tableCache2, index); 
 | 
                            tableCache2 = [] 
 | 
                        } 
 | 
                        , btn2: function (index, layero) { 
 | 
                            //按钮【稍后处理】的回调 
 | 
                            layer.close(index) 
 | 
                            tableCache2 = [] 
 | 
                            //return false 开启该代码可禁止点击该按钮关闭 
 | 
                        } 
 | 
                    }); 
 | 
                } else if (res.code === 403) { 
 | 
                    top.location.href = baseUrl + "/"; 
 | 
                } else { 
 | 
                    layer.msg(res.msg, {icon: 2}) 
 | 
                } 
 | 
            } 
 | 
        }) 
 | 
  
 | 
        // 复选框事件 
 | 
        table.on('checkbox(stoPreTab)', function (obj) { 
 | 
            tableCache2.push(obj.data) 
 | 
        }); 
 | 
    } 
 | 
  
 | 
    function pakout(tableCache, layerIndex) { 
 | 
        // let loadIndex = layer.load(2); 
 | 
        notice.msg('正在生成出库任务......', {icon: 4}); 
 | 
        $.ajax({ 
 | 
            url: baseUrl + "/out/refund/loc/auth", 
 | 
            headers: {'token': localStorage.getItem('token')}, 
 | 
            contentType: 'application/json;charset=UTF-8', 
 | 
            data: JSON.stringify(tableCache), 
 | 
            method: 'POST', 
 | 
            success: function (res) { 
 | 
                notice.destroy(); 
 | 
                if (res.code === 200) { 
 | 
                    layer.close(layerIndex); 
 | 
                    layer.msg(res.msg, {icon: 1}); 
 | 
                    insTb.reload({where: null}); 
 | 
                    insTb2.reload({where: null, page: {curr: 1}}); 
 | 
                } else if (res.code === 403) { 
 | 
                    top.location.href = baseUrl + "/"; 
 | 
                } else { 
 | 
                    layer.msg(res.msg, {icon: 2}) 
 | 
                } 
 | 
            } 
 | 
        }); 
 | 
    } 
 | 
}); 
 |