From 6a31e3759855f9649a323d2a8dd0dfed0cc43319 Mon Sep 17 00:00:00 2001
From: lsh <1>
Date: 星期二, 23 一月 2024 09:27:58 +0800
Subject: [PATCH] #

---
 src/main/webapp/static/js/order/order.js | 1002 ++++++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 787 insertions(+), 215 deletions(-)

diff --git a/src/main/webapp/static/js/order/order.js b/src/main/webapp/static/js/order/order.js
index 40a8a13..c00e96f 100644
--- a/src/main/webapp/static/js/order/order.js
+++ b/src/main/webapp/static/js/order/order.js
@@ -1,64 +1,62 @@
-var pageCurr;
+var insTbCount = 0;
+var tableCache2 = [];
 layui.config({
     base: baseUrl + "/static/layui/lay/modules/"
-}).use(['table','laydate', 'form', 'admin'], function(){
-    var table = layui.table;
+}).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 layDate = layui.laydate;
     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;
 
-    // 鏁版嵁娓叉煋
-    tableIns = table.render({
+    // 娓叉煋鎼滅储妯℃澘
+    $.ajax({
+        url: baseUrl+"/docType/list/auth",
+        headers: {'token': localStorage.getItem('token')},
+        data: {
+            limit: 9999
+        },
+        method: 'POST',
+        success: function (res) {
+            if (res.code === 200){
+                let template = Handlebars.compile($('#docTypeTpl').html());
+                $('#docType-query').html(template(res.data));
+                layui.form.render('select');
+            } else if (res.code === 403){
+                top.location.href = baseUrl+"/";
+            } else {
+                layer.msg(res.msg, {icon: 2})
+            }
+        }
+    })
+
+    // 娓叉煋琛ㄦ牸
+    var insTb = table.render({
         elem: '#order',
+        url: baseUrl+'/order/head/page/auth',
         headers: {token: localStorage.getItem('token')},
-        url: baseUrl+'/order/list/auth',
         page: true,
-        limit: 15,
-        limits: [15, 30, 50, 100, 200, 500],
-        toolbar: '#toolbar',
-        cellMinWidth: 50,
-        height: 'full-120',
+        cellMinWidth: 100,
         cols: [[
-            {type: 'checkbox'}
-            ,{field: 'id', align: 'center',title: 'ID'}
-            ,{field: 'uuid', align: 'center',title: '缂栧彿'}
-            ,{field: 'orderNo', align: 'center',title: '璁㈠崟缂栧彿'}
-            ,{field: 'orderTime', align: 'center',title: '鍗曟嵁鏃ユ湡'}
-            ,{field: 'docType$', align: 'center',title: '鍗曟嵁绫诲瀷'}
-            ,{field: 'itemId$', align: 'center',title: '椤圭洰缂栧彿'}
-            ,{field: 'itemName', align: 'center',title: ''}
-            ,{field: 'allotItemId$', align: 'center',title: '璋冩嫧椤圭洰缂栧彿'}
-            ,{field: 'defNumber', align: 'center',title: '鍒濆绁ㄦ嵁鍙�'}
-            ,{field: 'number', align: 'center',title: '绁ㄦ嵁鍙�'}
-            ,{field: 'cstmr$', align: 'center',title: '瀹㈡埛缂栧彿'}
-            ,{field: 'cstmrName', align: 'center',title: '瀹㈡埛'}
-            ,{field: 'tel', align: 'center',title: '鑱旂郴鏂瑰紡'}
-            ,{field: 'operMemb', align: 'center',title: '鎿嶄綔浜哄憳'}
-            ,{field: 'totalFee', align: 'center',title: '鍚堣閲戦'}
-            ,{field: 'discount', align: 'center',title: '浼樻儬鐜�'}
-            ,{field: 'discountFee', align: 'center',title: '浼樻儬閲戦'}
-            ,{field: 'otherFee', align: 'center',title: '閿�鍞垨閲囪喘璐圭敤鍚堣'}
-            ,{field: 'actFee', align: 'center',title: '瀹炰粯閲戦'}
-            ,{field: 'payType$', align: 'center',title: '浠樻绫诲瀷'}
-            ,{field: 'salesman', align: 'center',title: '涓氬姟鍛�'}
-            ,{field: 'accountDay', align: 'center',title: '缁撶畻澶╂暟'}
-            ,{field: 'postFeeType$', align: 'center',title: '閭垂鏀粯绫诲瀷'}
-            ,{field: 'postFee', align: 'center',title: '閭垂'}
-            ,{field: 'payTime$', align: 'center',title: '浠樻鏃堕棿'}
-            ,{field: 'sendTime$', align: 'center',title: '鍙戣揣鏃堕棿'}
-            ,{field: 'shipName', align: 'center',title: '鐗╂祦鍚嶇О'}
-            ,{field: 'shipCode', align: 'center',title: '鐗╂祦鍗曞彿'}
-            ,{field: 'settle$', align: 'center',title: '璁㈠崟鐘舵��'}
-            ,{field: 'status$', align: 'center',title: '鐘舵��'}
-            ,{field: 'createBy$', align: 'center',title: '娣诲姞浜哄憳'}
-            ,{field: 'createTime$', align: 'center',title: '娣诲姞鏃堕棿'}
-            ,{field: 'updateBy$', align: 'center',title: '淇敼浜哄憳'}
-            ,{field: 'updateTime$', align: 'center',title: '淇敼鏃堕棿'}
-            ,{field: 'memo', align: 'center',title: '澶囨敞'}
-
-            ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:120}
+            {type: 'numbers'},
+            {field: 'orderNo', title: '鍗曟嵁缂栧彿', templet: '#orderNoTpl'},
+            {field: 'docType$', align: 'center', title: '绫诲瀷',  minWidth: 160, width: 160},
+            {field: 'tkType', align: 'center', title: 'TK',  minWidth: 160, width: 160,hide: true},
+            {align: 'center', title: '鏄庣粏', toolbar: '#tbLook', minWidth: 160, width: 160},
+            {field: 'createTime$', title: '鍒涘缓鏃堕棿', minWidth: 200, width: 200},
+            {field: 'settle$', align: 'center', title: '鐘舵��', templet: '#settleTpl',  minWidth: 160, width: 160},
+            {field: 'memo', align: 'center',title: '澶囨敞', hide: true},
+            {align: 'center', title: '鎿嶄綔', toolbar: '#operate', width: 240}
         ]],
         request: {
             pageName: 'curr',
@@ -75,122 +73,272 @@
         response: {
             statusCode: 200
         },
-        done: function(res, curr, count) {
+        done: function (res, curr, count) {
+            limit();
             if (res.code === 403) {
                 top.location.href = baseUrl+"/";
             }
-            pageCurr=curr;
-            limit();
+            insTbCount = count;
         }
     });
 
-    // 鐩戝惉鎺掑簭浜嬩欢
-    table.on('sort(order)', function (obj) {
-        var searchData = {};
-        $.each($('#search-box [name]').serializeArray(), function() {
-            searchData[this.name] = this.value;
-        });
-        searchData['orderByField'] = obj.field;
-        searchData['orderByType'] = obj.type;
-        tableIns.reload({
-            where: searchData,
-            page: {curr: 1}
-        });
+    // 鎼滅储
+    form.on('submit(tbSearch)', function (data) {
+        insTb.reload({where: data.field, page: {curr: 1}});
     });
 
-    // 鐩戝惉澶村伐鍏锋爮浜嬩欢
-    table.on('toolbar(order)', function (obj) {
-        var checkStatus = table.checkStatus(obj.config.id).data;
-        switch(obj.event) {
-            case 'addData':
-                showEditModel();
-                break;
-            case 'deleteData':
-               if (checkStatus.length === 0) {
-                   layer.msg('璇烽�夋嫨瑕佸垹闄ょ殑鏁版嵁', {icon: 2});
-                   return;
-               }
-               del(checkStatus.map(function (d) {
-                   return d.id;
-               }));
-               break;
-            case 'exportData':
-                admin.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function(){
-                    var titles=[];
-                    var fields=[];
-                    obj.config.cols[0].map(function (col) {
-                        if (col.type === 'normal' && col.hide === false && col.toolbar == null) {
-                            titles.push(col.title);
-                            fields.push(col.field);
+    //澶氭枃浠跺垪琛�
+    var uploadListIns = upload.render({
+        elem: '#data-btn-file2'
+        ,elemList: $('#data-btn-file3') //鍒楄〃鍏冪礌瀵硅薄
+        ,url: baseUrl+'/order/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){ //娉ㄦ剰锛歩ndex 鍙傛暟涓� layui 2.6.6 鏂板
+            element.progress('progress-demo-'+ index, 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+'/order/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>';
+
+                            // 灏唗r鍏冪礌娣诲姞鍒扮洰鏍噒able涓�
+                            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+'/orderDetl/list/auth',
+                        where: {
+                            order_id: data.id
+                        },
+                        page: true,
+                        cellMinWidth: 100,
+                        cols: [[
+                            {type: 'numbers'},
+                            {field: 'matnr', title: '鍟嗗搧缂栫爜', width: 160},
+                            {field: 'maktx', title: '鍟嗗搧鍚嶇О', width: 160},
+                            {field: 'batch', title: '绠卞彿'},
+                            {field: 'anfme', title: '鏈ㄧ涓摐绠旀暟閲�'},
+                            // {field: 'workQty', title: '浣滀笟鏁伴噺'},
+
+                            // {field: 'unit', title: '鍗曚綅'},
+                            // {
+                            //     field: 'createTime$', title: '鍒涘缓鏃堕棿', sort: true, templet: function (d) {
+                            //         return util.toDateString(d.createTime);
+                            //     },  width: 180
+                            // },
+                            // {field: 'inQty', title: '宸插叆搴撻噺'},
+                            // {field: 'color', title: '棰滆壊'},
+                            {field: 'specs', title: '瑙勬牸'},
+                            {field: 'qty$', title: '鐘舵��', style: 'font-weight: bold'},
+                            {field: 'source$', title: '鏄惁纭', style: 'font-weight: bold'}
+                        ]],
+                        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;
                         }
-                    });
-                    var exportData = {};
-                    $.each($('#search-box [name]').serializeArray(), function() {
-                        exportData[this.name] = this.value;
-                    });
-                    var param = {
-                        'order': exportData,
-                        'fields': fields
-                    };
+                        if (nList[xi].anfme < nList[xi].workQty){
+                            layer.msg('鏁伴噺涓嶈兘灏忎簬宸蹭綔涓氭暟閲�', {icon: 2});
+                            return false;
+                        }
+                    }
+                    layer.load(2);
                     $.ajax({
-                        url: baseUrl+"/order/export/auth",
+                        url: baseUrl+"/order/form/" + (isExpAdd?"add":"modify") + "/auth",
                         headers: {'token': localStorage.getItem('token')},
-                        data: JSON.stringify(param),
-                        dataType:'json',
+                        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();
-                            if (res.code === 200) {
-                                table.exportFile(titles,res.data,'xls');
-                            } else if (res.code === 403) {
-                                top.location.href = baseUrl+"/";
-                            } else {
-                                layer.msg(res.msg, {icon: 2})
-                            }
-                        }
-                    });
-                });
-                break;
-        }
-    });
-
-    // 鐩戝惉琛屽伐鍏蜂簨浠�
-    table.on('tool(order)', function(obj){
-        var data = obj.data;
-        switch (obj.event) {
-            case 'edit':
-                showEditModel(data);
-                break;
-            case "del":
-                del([data.id]);
-                break;
-        }
-    });
-
-    /* 寮圭獥 - 鏂板銆佷慨鏀� */
-    function showEditModel(mData) {
-        admin.open({
-            type: 1,
-            area: '600px',
-            title: (mData ? '淇敼' : '娣诲姞') + '璁㈠崟鐘舵��',
-            content: $('#editDialog').html(),
-            success: function (layero, dIndex) {
-                layDateRender(mData);
-                form.val('detail', mData);
-                form.on('submit(editSubmit)', function (data) {
-                    var loadIndex = layer.load(2);
-                    $.ajax({
-                        url: baseUrl+"/order/"+(mData?'update':'add')+"/auth",
-                        headers: {'token': localStorage.getItem('token')},
-                        data: data.field,
-                        method: 'POST',
-                        success: function (res) {
-                            layer.close(loadIndex);
+                            layer.closeAll('loading');
                             if (res.code === 200){
                                 layer.close(dIndex);
+                                $(".layui-laypage-btn")[0].click();
                                 layer.msg(res.msg, {icon: 1});
-                                tableReload();
                             } else if (res.code === 403){
                                 top.location.href = baseUrl+"/";
                             }else {
@@ -200,33 +348,213 @@
                     })
                     return false;
                 });
-                $(layero).children('.layui-layer-content').css('overflow', 'visible');
-                layui.form.render('select');
+                // 鏄庣粏琛ㄦ牸
+                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+"/order/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 del(ids) {
-        layer.confirm('纭畾瑕佸垹闄ら�変腑鏁版嵁鍚楋紵', {
-            skin: 'layui-layer-admin',
-            shade: .1
+    // 鍒犻櫎鍗曟嵁
+    function doDel(orderId) {
+        layer.confirm('纭畾瑕佸垹闄ゅ悧锛�', {
+            shade: .1,
+            skin: 'layui-layer-admin'
         }, function (i) {
             layer.close(i);
-            var loadIndex = layer.load(2);
+            layer.load(2);
             $.ajax({
                 url: baseUrl+"/order/delete/auth",
                 headers: {'token': localStorage.getItem('token')},
-                data: {ids: ids},
+                data: {
+                    orderId: orderId
+                },
                 method: 'POST',
                 success: function (res) {
-                    layer.close(loadIndex);
+                    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});
-                        tableReload();
                     } else if (res.code === 403){
                         top.location.href = baseUrl+"/";
-                    } else {
+                    }else {
                         layer.msg(res.msg, {icon: 2});
                     }
                 }
@@ -234,61 +562,305 @@
         });
     }
 
-    // 鎼滅储
-    form.on('submit(search)', function (data) {
-        pageCurr = 1;
-        tableReload(false);
-    });
-
-    // 閲嶇疆
-    form.on('submit(reset)', function (data) {
-        pageCurr = 1;
-        clearFormVal($('#search-box'));
-        tableReload(false);
-    });
-
-    // 鏃堕棿閫夋嫨鍣�
-    function layDateRender(data) {
-        setTimeout(function () {
-            layDate.render({
-                elem: '#payTime\\$',
-                type: 'datetime',
-                value: data!==undefined?data['payTime\\$']:null
-            });
-            layDate.render({
-                elem: '#sendTime\\$',
-                type: 'datetime',
-                value: data!==undefined?data['sendTime\\$']:null
-            });
-            layDate.render({
-                elem: '#createTime\\$',
-                type: 'datetime',
-                value: data!==undefined?data['createTime\\$']:null
-            });
-            layDate.render({
-                elem: '#updateTime\\$',
-                type: 'datetime',
-                value: data!==undefined?data['updateTime\\$']:null
-            });
-
-        }, 300);
+    // 淇敼璁㈠崟鐘舵��
+    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+"/order/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});
+                    }
+                }
+            })
+        });
     }
-    layDateRender();
 
-});
+    // 浠诲姟杩芥函
+    function showWrkTrace(orderId) {
+        let loadIndex = layer.msg('璇锋眰涓�...', {icon: 16, shade: 0.01, time: false});
+        $.ajax({
+            url: baseUrl+"/order/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});
+                }
+            }
+        })
+    }
 
-// 鍏抽棴鍔ㄤ綔
-$(document).on('click','#data-detail-close', function () {
-    parent.layer.closeAll();
-});
-
-function tableReload(child) {
-    var searchData = {};
-    $.each($('#search-box [name]').serializeArray(), function() {
-        searchData[this.name] = this.value;
+    layDate.render({
+        elem: '.layui-laydate-range'
+        ,type: 'datetime'
+        ,range: true
     });
-    tableIns.reload({
-        where: searchData,
-        page: {curr: pageCurr}
-     });
-}
+
+    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'},
+                                    {field: 'specs', 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 寮�鍚浠g爜鍙姝㈢偣鍑昏鎸夐挳鍏抽棴
+                        }
+                    });
+                } 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('姝e湪鐢熸垚鍑哄簱浠诲姟......', {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})
+                }
+            }
+        });
+    }
+});

--
Gitblit v1.9.1