From e19b4d3b6a68314887f78786c36ad97339d5faaf Mon Sep 17 00:00:00 2001 From: mrzhssss <pro6@qq.com> Date: 星期四, 01 十二月 2022 10:06:21 +0800 Subject: [PATCH] # --- src/main/webapp/static/js/order/out.js | 460 +++++++++++++++++++++++++++++++-------------------------- 1 files changed, 249 insertions(+), 211 deletions(-) diff --git a/src/main/webapp/static/js/order/out.js b/src/main/webapp/static/js/order/out.js index 6a2ff74..683acc3 100644 --- a/src/main/webapp/static/js/order/out.js +++ b/src/main/webapp/static/js/order/out.js @@ -1,12 +1,10 @@ var pageCurr; -var tableData; var insTb2; -const sensorType = 5; layui.config({ base: baseUrl + "/static/layui/lay/modules/" }).extend({ notice: 'notice/notice', -}).use(['table','laydate', 'form', 'util', 'admin', 'notice', 'treeTable', 'xmSelect'], function(){ +}).use(['table','laydate', 'form', 'util', 'admin', 'notice', 'treeTable', 'xmSelect', 'tableMerge', 'tableX' , 'laytpl'], function(){ var table = layui.table; var $ = layui.jquery; var layer = layui.layer; @@ -17,97 +15,46 @@ var notice = layui.notice; var treeTable = layui.treeTable; var xmSelect = layui.xmSelect; - - // 璁惧绫诲瀷鏁版嵁 - var modelTb = treeTable.render({ - elem: '#nothing', - url: baseUrl+'/sensorModel/list/auth', - headers: {token: localStorage.getItem('token')}, - tree: { - iconIndex: 2, // 鎶樺彔鍥炬爣鏄剧ず鍦ㄧ鍑犲垪 - isPidData: true, // 鏄惁鏄痠d銆乸id褰㈠紡鏁版嵁 - idName: 'id', // id瀛楁鍚嶇О - pidName: 'parentId' // pid瀛楁鍚嶇О - }, - cols: [[ - {type: 'checkbox'} - ,{type: 'numbers'} - ,{field: 'name', align: 'left',title: '鍚嶇О', minWidth: 150} - ]], - done: function (data) { - modelTb.expandAll(); - } - }); + var tableMerge = layui.tableMerge; + var tableX = layui.tableX; + var laytpl = layui.laytpl; insTb2 = table.render({ - elem: '#sensorTable', + elem: '#orderDetlTable', headers: {token: localStorage.getItem('token')}, - url: baseUrl+'/sensor/list/auth?sensor_type='+sensorType, + url: baseUrl+'/orderDetl/pakout/list/auth', page: true, limit: 15, limits: [15, 30, 50, 100, 200, 500], - toolbar: '#sensorToolbar', - height: 'full-100', + toolbar: '#orderDetToolbar', + height: 'full-120', + where: {order_id: 9999999999}, cols: [[ {type: 'checkbox'} - // ,{field: 'id', align: 'center',title: 'ID'} - ,{field: 'hostId$', align: 'center',title: '鎵�灞為」鐩�', templet: '#hostTpl', width: 130} - // ,{field: 'sensorType$', align: 'center',title: '璁惧绫诲瀷'} - ,{field: 'uuid', align: 'center',title: '璁惧缂栫爜', width: 160} - ,{field: 'location', align: 'center',title: '鍦扮悊浣嶇疆', width: 180, style: 'font-size: 13px', hide: false} - ,{field: 'sensorModel$', align: 'center',title: '璁惧鍨嬪彿', width: 130, hide: false} - // ,{field: 'ccid', align: 'center',title: 'CCID'} - ,{field: 'sim', align: 'center',title: 'sim鍗″彿',hide: true} - // ,{field: 'name', align: 'center',title: '璁惧鍚�'} - // ,{field: 'topic', align: 'center',title: '涓婚'} - // ,{field: 'ip', align: 'center',title: 'ip'} - // ,{field: 'port', align: 'center',title: '绔彛'} - // ,{field: 'data', align: 'center',title: '鎶ユ枃'} - // ,{field: 'lon', align: 'center',title: '缁忓害'} - // ,{field: 'lat', align: 'center',title: '绾害'} - ,{field: 'signal', align: 'center',title: '淇″彿鍊�'} - ,{field: 'battery', align: 'center',title: '鐢甸噺',hide: true} - // ,{field: 'charge$', align: 'center',title: '鍏呯數鐘舵��'} - // ,{field: 'tiltX', align: 'center',title: 'x杞村�炬枩'} - // ,{field: 'tiltY', align: 'center',title: 'y杞村�炬枩'} - // ,{field: 'tiltZ', align: 'center',title: 'z杞村�炬枩'} - // ,{field: 'tilt$', align: 'center',title: '鍊炬枩鐘舵��'} - ,{field: 'tempe', align: 'center',title: '娓╁害', hide: true} - ,{ - field: 'online', title: '缃戠粶', templet: function (d) { - var strs = [ - '<span class="text-success">鍦ㄧ嚎</span>', - '<span class="text-danger">绂荤嚎</span>' - ]; - return strs[d.online?0:1]; - }, align: 'center', sort: true - } - ,{ - field: 'error', title: '鐘舵��', templet: function (d) { - var strs = [ - '<span class="layui-badge layui-badge-red">寮傚父</span>', - '<span class="layui-badge layui-badge-green">姝e父</span>' - ]; - return strs[d.error?0:1]; - }, align: 'center', sort: false, minWidth: 70, hide: false - } - // ,{field: 'worn$', align: 'center',title: '鐮存崯鐘舵��'} - // ,{field: 'overflow$', align: 'center',title: '瀹氱偣姘翠綅'} - // ,{field: 'nsAngle', align: 'center',title: '鍗楀寳瑙掑害'} - // ,{field: 'waterGage', align: 'center',title: '绠¢亾姘村帇'} - // ,{field: 'harmGas', align: 'center',title: '鏈夊姘斾綋'} - // ,{field: 'lnGas', align: 'center',title: '鍙噧姘斾綋'} - // ,{field: 'hsGas', align: 'center',title: '纭寲姘㈡皵浣�'} - // ,{field: 'reserve0', align: 'center',title: '棰勭暀0'} - // ,{field: 'reserve1', align: 'center',title: '棰勭暀1'} - // ,{field: 'status$', align: 'center',title: '鐘舵��', templet: '#statusTpl', width: 120, unresize: true} - // ,{field: 'createTime$', align: 'center',title: '娣诲姞鏃堕棿'} + ,{type: 'numbers', title: '#'} + ,{field: 'orderNo', align: 'center',title: '鍗曟嵁缂栧彿', templet: '#orderNoTpl', width: 160} + ,{field: 'matnr', align: 'center',title: '鍟嗗搧缂栫爜', width: 160} + ,{field: 'maktx', align: 'center',title: '鍟嗗搧鍚嶇О', width: 200} + ,{field: 'batch', align: 'center',title: '搴忓垪鐮�'} + ,{field: 'specs', align: 'center',title: '瑙勬牸'} + // ,{field: 'anfme', align: 'center',title: '鏁伴噺'} + // ,{field: 'qty', align: 'center',title: '浣滀笟鏁伴噺', style: 'font-weight: bold'} + ,{field: 'enableQty', align: 'center',title: '鎬绘暟閲�', style: 'font-weight: bold'} + // ,{field: 'name', align: 'center',title: '鍚嶇О'} + // ,{field: 'model', align: 'center',title: '鍨嬪彿'} + ,{field: 'unit', align: 'center',title: '鍗曚綅', hide: true} + ,{field: 'barcode', align: 'center',title: '鍟嗗搧鏉$爜', hide: true} + // ,{field: 'supplier', align: 'center',title: '渚涘簲鍟�'} + // ,{field: 'unitPrice', align: 'center',title: '鍗曚环'} + // ,{field: 'itemNum', align: 'center',title: '鍝侀」鏁�'} + // ,{field: 'count', align: 'center',title: '鏁伴噺'} + // ,{field: 'weight', align: 'center',title: '閲嶉噺'} + // ,{field: 'status$', align: 'center',title: '鐘舵��'} // ,{field: 'createBy$', align: 'center',title: '娣诲姞浜哄憳'} - ,{field: 'updateTime$', align: 'center',title: '鏇存柊鏃堕棿', minWidth: 170} + // ,{field: 'createTime$', align: 'center',title: '娣诲姞鏃堕棿'} // ,{field: 'updateBy$', align: 'center',title: '淇敼浜哄憳'} - ,{field: 'addr', align: 'center',title: '璇︾粏鍦板潃', hide: true} - ,{field: 'memo', align: 'center',title: '澶囨敞', hide: true} - + // ,{field: 'updateTime$', align: 'center',title: '淇敼鏃堕棿'} + // ,{field: 'memo', align: 'center',title: '澶囨敞'} ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width: 160} ]], request: { @@ -129,11 +76,11 @@ if (res.code === 403) { top.location.href = baseUrl+"/"; } - tableData = table.cache.sensorTable; pageCurr=curr; limit(); } }); + /* 琛ㄦ牸2鎼滅储 */ form.on('submit(sensorTbSearch)', function (data) { insTb2.reload({where: data.field, page: {curr: 1}}); @@ -141,9 +88,17 @@ }); /* 琛ㄦ牸2澶村伐鍏锋爮鐐瑰嚮浜嬩欢 */ - table.on('toolbar(sensorTable)', function (obj) { - if (obj.event === 'add') { // 娣诲姞 - showEditModel() + table.on('toolbar(orderDetlTable)', function (obj) { + + var checkStatus = table.checkStatus(obj.config.id).data; + if (obj.event === 'pakoutPreview') { // 娣诲姞 + if (checkStatus.length === 0) { + layer.msg('璇烽�夋嫨鑷冲皯涓�鏉″嚭搴撴槑缁�', {icon: 2}); + return; + } + pakoutPreview(checkStatus.map(function (d) { + return d.id; + })); } else if (obj.event === 'del') { // 鍒犻櫎 var checkRows = table.checkStatus('sensorTable'); if (checkRows.data.length === 0) { @@ -158,140 +113,199 @@ }); /* 琛ㄦ牸2宸ュ叿鏉$偣鍑讳簨浠� */ - table.on('tool(sensorTable)', function (obj) { + table.on('tool(orderDetlTable)', function (obj) { + console.log(obj); var data = obj.data; switch (obj.event) { - case 'detl': - top.sensorByDetl = data.id; + // 鍑哄簱 + case 'pakoutPreview': + pakoutPreview([data.id]) break; - // 缂栬緫 - case 'edit': - showEditModel(data); - break; - // 鍒犻櫎 - case 'del': - var ids = [data.id]; - doDelSensor({ids: ids}); - break; - // 鍩虹偣瀹氫綅 - case 'lbs': - notice.msg('璇锋眰涓�...', {icon: 4, position: "topCenter"}); - var param = { - uuid: data.uuid, - event: obj.event - }; - $.ajax({ - url: baseUrl+"/main/command/v1/auth", - headers: {'token': localStorage.getItem('token')}, - data: JSON.stringify(param), - contentType:'application/json;charset=UTF-8', - method: 'POST', - success: function (res) { - notice.destroy(); - if (res.code === 200){ - admin.open({ - title: '缁堢鍝嶅簲', - url: 'callback.html', - area: '360px', - data: { - request: param, - response: res.data - }, - tpl: true - }); - } else if (res.code === 403){ - top.location.href = baseUrl+"/"; - }else { - layer.msg(res.msg, {icon: 2}); - } - } - }) - break } }); - // 璁惧鏄庣粏灞曞紑鍥炶皟 - window.onSensorDetlDialog = function () { - }; - - - /* 鏄剧ず琛ㄥ崟寮圭獥 */ - function showEditModel(mData) { - admin.open({ - type: 1, - area: '900px', - title: (mData ? '淇敼' : '娣诲姞') + '璁惧', - content: $('#editDialog').html(), - success: function (layero, dIndex) { - // 鍥炴樉琛ㄥ崟鏁版嵁 - form.val('detail', mData); - // 鍦板浘瀹氫綅鍥炴樉 - if (mData) { - setTimeout(function () { - $("#mapIframe")[0].contentWindow.position(mData.lon, mData.lat); - }, 500) - } - // 琛ㄥ崟鎻愪氦浜嬩欢 - form.on('submit(editSubmit)', function (data) { - data.field.sensorModel = insXmSel.getValue('valueStr'); - if (isEmpty(data.field.hostId)) { - layer.msg('璇烽�夋嫨鎵�灞為」鐩�', {icon: 2}); - return false; - } - data.field.lon = $("#mapIframe").contents().find("#lon").val(); - data.field.lat = $("#mapIframe").contents().find("#lat").val(); - data.field.city = $("#mapIframe").contents().find("#city").val(); - if (isEmpty(data.field.lon) || isEmpty(data.field.lat)) { - layer.msg('璁惧涓嶅湪瀹氫綅', {icon: 2}); - return false; - } - var loadIndex = layer.load(2); - $.ajax({ - url: baseUrl+"/sensor/"+(mData?'update':'add')+"/auth?sensorType="+sensorType, - headers: {'token': localStorage.getItem('token')}, - data: data.field, - method: 'POST', - success: function (res) { - layer.close(loadIndex); - if (res.code === 200){ - layer.close(dIndex); - layer.msg(res.msg, {icon: 1}); - $(".layui-laypage-btn")[0].click(); - } else if (res.code === 403){ - top.location.href = baseUrl+"/"; - }else { - layer.msg(res.msg, {icon: 2}); + function pakoutPreview(ids) { + let loadIndex = layer.load(2); + $.ajax({ + url: baseUrl + "/out/pakout/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: ['1200px', '700px'] + ,shade: 0.5 + ,shadeClose: false + ,btn: ['绔嬪嵆鍑哄簱', '绋嶅悗澶勭悊'] + ,btnAlign: 'c' + ,moveType: 1 //鎷栨嫿妯″紡锛�0鎴栬��1 + ,content: $('#pakoutPreviewBox').html() + ,success: function(layero, index){ + console.log(res.data); + stoPreTabIdx = table.render({ + elem: '#stoPreTab', + data: res.data, + height: 520, + page: false, + limit: Number.MAX_VALUE, + cellMinWidth: 100, + cols: [[ + // {type: 'checkbox', merge: ['orderNo']}, + {field: 'orderNo', title: '鍗曟嵁缂栧彿', merge: true, align: 'center'}, + {field: 'title', title: '鍟嗗搧', merge: true, align: 'center', width: 350}, + {field: 'batch', title: '搴忓垪鐮�', align: 'center'}, + // { title: '鍓╀綑闇�姹傞噺', align: 'center' , width: 120, toolbar: '#checkNeedQty'}, + // {field: 'anfme', title: '瀹為檯鏁伴噺', align: 'center', width: 90, style: 'font-weight: bold'}, + { title: '鍑哄簱鏁伴噺', align: 'center',field: 'anfme', width: 90, style: 'font-weight: bold; color: red'}, + {field: 'locNo', title: '璐т綅', align: 'center', width: 100, templet: '#locNoTpl'}, + {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'); + }, + }) } + } - }) - return false; - }); - // 娓叉煋涓嬫媺鏍� - var insXmSel = xmSelect.render({ - el: '#modelSel', - height: '250px', - data: modelTb.options.data, - initValue: mData&&mData.sensorModel ? [mData.sensorModel] : [], - model: {label: {type: 'text'}}, - prop: { - name: 'name', - value: 'id' - }, - radio: true, - clickClose: true, - tree: { - show: true, - indent: 15, - strict: false, - expandedKeys: true - } - }); - // 寮圭獥涓嶅嚭鐜版粴鍔ㄦ潯 - $(layero).children('.layui-layer-content').css('overflow', 'visible'); - layui.form.render('select'); + ,yes: function(index, layero){ + //鎸夐挳銆愮珛鍗冲嚭搴撱�戠殑鍥炶皟 + pakout(tableCache, index); + } + ,btn2: function(index, layero){ + //鎸夐挳銆愮◢鍚庡鐞嗐�戠殑鍥炶皟 + layer.close(index) + //return false 寮�鍚浠g爜鍙姝㈢偣鍑昏鎸夐挳鍏抽棴 + } + }); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + } else { + layer.msg(res.msg, {icon: 2}) + } + } + }) + } + + function pakout(tableCache, layerIndex) { + // let loadIndex = layer.load(2); + notice.msg('姝e湪鐢熸垚鍑哄簱浠诲姟......', {icon: 4}); + $.ajax({ + url: baseUrl + "/out/pakout/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}) + } } }); } + /* 鍒犻櫎璁㈠崟 */ @@ -333,6 +347,8 @@ }) }) + window.pakoutPreview = pakoutPreview; + }); function tableReload(child) { @@ -348,3 +364,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