From 983c8fc9697223956db395af1b781ddb75c6e0b5 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期一, 17 十月 2022 16:01:04 +0800
Subject: [PATCH] #

---
 src/main/webapp/static/js/order/out.js |  228 ++++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 202 insertions(+), 26 deletions(-)

diff --git a/src/main/webapp/static/js/order/out.js b/src/main/webapp/static/js/order/out.js
index c695fb7..5a6ac6e 100644
--- a/src/main/webapp/static/js/order/out.js
+++ b/src/main/webapp/static/js/order/out.js
@@ -4,7 +4,7 @@
     base: baseUrl + "/static/layui/lay/modules/"
 }).extend({
     notice: 'notice/notice',
-}).use(['table','laydate', 'form', 'util', 'admin', 'notice', 'treeTable', 'xmSelect', 'tableMerge'], function(){
+}).use(['table','laydate', 'form', 'util', 'admin', 'notice', 'treeTable', 'xmSelect', 'tableMerge', 'tableX'], function(){
     var table = layui.table;
     var $ = layui.jquery;
     var layer = layui.layer;
@@ -16,6 +16,7 @@
     var treeTable = layui.treeTable;
     var xmSelect = layui.xmSelect;
     var tableMerge = layui.tableMerge;
+    var tableX = layui.tableX;
 
     insTb2 = table.render({
         elem: '#orderDetlTable',
@@ -26,6 +27,7 @@
         limits: [15, 30, 50, 100, 200, 500],
         toolbar: '#orderDetToolbar',
         height: 'full-120',
+        where: {order_id: 9999999999},
         cols: [[
             {type: 'checkbox'}
             ,{type: 'numbers', title: '#'}
@@ -77,6 +79,7 @@
             limit();
         }
     });
+
     /* 琛ㄦ牸2鎼滅储 */
     form.on('submit(sensorTbSearch)', function (data) {
         insTb2.reload({where: data.field, page: {curr: 1}});
@@ -85,6 +88,7 @@
 
     /* 琛ㄦ牸2澶村伐鍏锋爮鐐瑰嚮浜嬩欢 */
     table.on('toolbar(orderDetlTable)', function (obj) {
+
         var checkStatus = table.checkStatus(obj.config.id).data;
         if (obj.event === 'pakoutPreview') { // 娣诲姞
             if (checkStatus.length === 0) {
@@ -134,7 +138,7 @@
                         type: 1
                         ,title: false
                         ,closeBtn: false
-                        ,offset: '100px'
+                        ,offset: '50px'
                         ,area: ['1200px', '700px']
                         ,shade: 0.5
                         ,shadeClose: false
@@ -158,7 +162,7 @@
                                     {field: 'anfme', title: '鏁伴噺', align: 'center', width: 90, style: 'font-weight: bold'},
                                     {field: 'locNo', title: '璐т綅', align: 'center', width: 100, templet: '#locNoTpl'},
                                     {field: 'staNos', align: 'center', title: '鍑哄簱绔�', merge: ['locNo'], templet: '#tbBasicTbStaNos'},
-                                    {type: 'checkbox', merge: ['locNo']},
+                                    // {type: 'checkbox', merge: ['locNo']},
                                 ]],
                                 done: function (res) {
                                     tableMerge.render(this);
@@ -175,33 +179,34 @@
                                         tableCache[i]['staNo'] = Number(obj.elem.value);
                                     }
                                 }
-                                // data['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);
+                                modifySta();
                             });
                             // 鎵归噺淇敼鍑哄簱绔� - 绔欑偣閫夋嫨
-                            function modifySta(stoPreTabData) {
+                            function modifySta() {
                                 // 鍑哄簱绔欏彇浜ら泦
                                 let staBatchSelectVal = [];
-                                for(let i = 0; i<stoPreTabData.length; i++) {
-                                    if (i === 0) {
-                                        staBatchSelectVal = stoPreTabData[i].staNos;
-                                    } else {
-                                        let staNos = stoPreTabData[i].staNos;
-                                        staBatchSelectVal = staBatchSelectVal.filter( val => {
-                                                return new Set(staNos).has(val)
-                                            }
-                                        )
+                                for(let i = 0; i<tableCache.length; i++) {
+                                    let staNos = tableCache[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,
@@ -215,15 +220,22 @@
                                         $('#batchSelectStaBox').html(template({list: staBatchSelectVal}));
                                         // 纭
                                         form.on('submit(staBatchSelectConfirm)', function (obj) {
-                                            let batchSta = obj.field.batchSta;
-                                            console.log(batchSta)
+                                            let loadIdx = layer.load(2);
+                                            let batchSta = Number(obj.field.batchSta);
+                                            let arr = [];
                                             for (let i = 0; i<tableCache.length; i++) {
-                                                tableCache[i]['staNo'] = Number(181);
+                                                tableCache[i]['staNo'] = batchSta;
+                                                arr.push(i);
                                             }
-                                            stoPreTabIdx.reload({data: tableCache})
-                                            $('.order-sta-select').val(181);
+                                            stoPreTabIdx.reload({data: tableCache});
+                                            arr.forEach(item => {
+                                                $('div[lay-id=stoPreTab] tr[data-index="' + item + '"] .order-sta-select').val(batchSta);
+                                            });
                                             layui.form.render('select');
-                                            layer.close(ddIndex);
+                                            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;
                                         });
                                         // 寮圭獥涓嶅嚭鐜版粴鍔ㄦ潯
@@ -319,6 +331,148 @@
         })
     })
 
+    window.pakoutPreview = pakoutPreview;
+
+    // 鍚堝苟鍑哄簱
+    form.on('submit(mergeOut)', function (data) {
+        let checkStatus = layui.table.checkStatus('originTable').data;
+        if (checkStatus.length < 2) {
+            layer.msg("璇疯嚦灏戦�夋嫨涓ゆ潯浠ヤ笂鍚堝苟鏁版嵁", {icon: 7});
+            return false;
+        }
+        showMerge(checkStatus.map(function (d) {
+            return d.id;
+        }));
+    });
+
+    // 璁㈠崟鍚堝苟绐楀彛
+    function showMerge(orderIds) {
+        let loadIndex = layer.load(2);
+        $.ajax({
+            url: baseUrl+"/order/merge/preview/auth",
+            headers: {'token': localStorage.getItem('token')},
+            method: 'GET',
+            data: {
+                orderIds: orderIds
+            },
+            success: function (res) {
+                layer.close(loadIndex);
+                if (res.code === 200){
+                    admin.open({
+                        type: 1,
+                        title: '璁㈠崟鍚堝苟 銆� 鏁伴噺锛�' + orderIds.length + " 銆�",
+                        content: $('#mergeDialog').html(),
+                        area: '900px',
+                        success: function (layero, dIndex) {
+                            $('#newOrderNo').val(res.data.newOrderNo);
+                            // 娓叉煋瀹㈡埛鍒楄〃
+                            let cstmrVal = xmSelect.render({
+                                el: '#cstmrSelect',
+                                radio: true,
+                                clickClose: true,
+                                filterable: true,
+                                create: function(val, arr){
+                                    if(arr.length === 0){
+                                        return {
+                                            name:  val,
+                                            value: val
+                                        }
+                                    }
+                                },
+                                model: {
+                                    icon: 'hidden',
+                                    label: {
+                                        type: 'text',
+                                    }
+                                },
+                                data: res.data.cstmrs
+                            })
+                            // 娓叉煋鏄庣粏
+                            let xxDataList = res.data.orderDetls;
+                            let tbOptions = {
+                                elem: '#mergeTable',
+                                headers: {token: localStorage.getItem('token')},
+                                data: xxDataList,
+                                limit: 9999,
+                                height: '350px;',
+                                cellMinWidth: 100,
+                                cols: [[
+                                    {type: 'numbers', title: '#'},
+                                    {field: 'matnr', title: '鍟嗗搧缂栫爜', minWidth: 170},
+                                    {field: 'maktx', title: '鍟嗗搧鍚嶇О'},
+                                    {field: 'batch', title: '鎵瑰彿'},
+                                    {field: 'anfme', title: '鏁伴噺', minWidth: 80, width: 80},
+                                    {field: 'unitPrice', title: '鍗曚环(淇敼)', style: 'color: blue;font-weight: bold', edit: true, minWidth: 120, width: 120, fixed: 'right'},
+                                    // {align: 'center', title: '鎿嶄綔', toolbar: '#formSSXMTableBar', minWidth: 80, width: 80}
+                                ]],
+                                done: function (res) {
+                                    $(layero).find('.layui-table-view').css('margin', '0');
+                                }
+                            };
+                            let insMergeTb = table.render(tbOptions);
+                            // 浠锋牸淇敼
+                            table.on('edit(mergeTable)', function (obj) {
+                                let unitPrice = Number(obj.value);
+                                if (isNaN(unitPrice)) {
+                                    layer.msg("璇疯緭鍏ユ暟瀛�", {icon: 2});
+                                } else {
+                                    if (unitPrice > 0) {
+                                        for (let i=0;i<xxDataList.length;i++){
+                                            if (xxDataList[i]["matnr"] === obj.data.matnr && xxDataList[i]["batch"] === obj.data.batch){
+                                                xxDataList[i]["unitPrice"] = unitPrice;
+                                                break;
+                                            }
+                                        }
+                                    } else {
+                                        layer.msg("鏁伴噺蹇呴』澶т簬闆�", {icon: 2});
+                                    }
+                                }
+                                insMergeTb.reload({data: xxDataList});
+                            });
+                            // 鍚堝苟琛ㄥ崟鎻愪氦浜嬩欢
+                            form.on('submit(mergeSubmit)', function (data) {
+                                let nList = admin.util.deepClone(xxDataList);
+                                data.field.cstmr = cstmrVal.getValue()[0] ? cstmrVal.getValue()[0].name : null;
+                                layer.load(2);
+                                $.ajax({
+                                    url: baseUrl+"/delivery/merge/auth",
+                                    headers: {'token': localStorage.getItem('token')},
+                                    data: JSON.stringify({
+                                        oldOrderIds: orderIds,
+                                        orderNo: data.field.newOrderNo,
+                                        cstmr: data.field.cstmr,
+                                        orderDetls: 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;
+                            });
+                            $(layero).children('.layui-layer-content').css('overflow', 'visible');
+                        }
+                    });
+                } else if (res.code === 403){
+                    top.location.href = baseUrl+"/";
+                } else {
+                    layer.msg(res.msg, {icon: 2})
+                }
+            }
+        })
+    }
+
+
 });
 
 function tableReload(child) {
@@ -334,3 +488,25 @@
     });
 }
 
+/**
+ * 涓�閿嚭搴�
+ */
+function autoOut(orderId) {
+    let loadIndex = layer.msg('璇锋眰涓�...', {icon: 16, shade: 0.01, time: false});
+    $.ajax({
+        url: baseUrl + "/out/pakout/orderDetlIds/auth",
+        headers: {'token': localStorage.getItem('token')},
+        data: { orderId : orderId },
+        method: 'POST',
+        success: function (res) {
+            layer.close(loadIndex);
+            if (res.code === 200){
+                pakoutPreview(res.data);
+            } else if (res.code === 403){
+                top.location.href = baseUrl+"/";
+            } else {
+                layer.msg(res.msg, {icon: 2});
+            }
+        }
+    })
+}

--
Gitblit v1.9.1