From 901b2ab3e0e7c592602848cfa256f34c5b0c7bb8 Mon Sep 17 00:00:00 2001 From: Junjie <540245094@qq.com> Date: 星期四, 11 一月 2024 09:57:01 +0800 Subject: [PATCH] # --- zy-asrs-wms/src/main/webapp/static/js/locDetl/locDetl.js | 651 ++++++++++++++++++++++++++++++++++------------------------ 1 files changed, 382 insertions(+), 269 deletions(-) diff --git a/zy-asrs-wms/src/main/webapp/static/js/locDetl/locDetl.js b/zy-asrs-wms/src/main/webapp/static/js/locDetl/locDetl.js index f00309c..c1a777b 100644 --- a/zy-asrs-wms/src/main/webapp/static/js/locDetl/locDetl.js +++ b/zy-asrs-wms/src/main/webapp/static/js/locDetl/locDetl.js @@ -1,15 +1,58 @@ var pageCurr; -var pageCount = 0; -layui.config({ - base: baseUrl + "/static/layui/lay/modules/" -}).use(['table','laydate', 'form', 'admin', 'xmSelect'], function(){ +function getCol() { + var cols = [ + {field: 'locNo', align: 'center',title: '搴撲綅鍙�'}, + {field: 'matnr', align: 'center',title: '鍟嗗搧缂栧彿', sort:true} + ,{field: 'maktx', align: 'center',title: '鍟嗗搧鍚嶇О', sort:true} + ,{field: 'orderNo', align: 'center',title: '鍗曟嵁缂栧彿', hide: false} + ,{field: 'batch', align: 'center',title: '搴忓垪鐮�', width: 300, sort:true} + ,{field: 'anfme', align: 'center',title: '鏁伴噺', width: 100} + ,{field: 'zpallet', align: 'center',title: '鎵樼洏鏉$爜'} + ,{field: 'memo', align: 'center',title: '缈诲寘'} + ,{field: 'owner$', align: 'center',title: '鎷ユ湁鑰�'} + + ,{field: 'specs', align: 'center',title: '閰嶇疆'} + ,{field: 'model', align: 'center',title: '浠g爜', hide: true} + ,{field: 'color', align: 'center',title: '棰滆壊', hide: true} + ,{field: 'brand', align: 'center',title: '鍝佺墝', hide: true} + ,{field: 'unit', align: 'center',title: '鍗曚綅', hide: true} + ,{field: 'price', align: 'center',title: '鍗曚环', hide: true} + ,{field: 'sku', align: 'center',title: 'sku', hide: true} + ,{field: 'units', align: 'center',title: '鍗曚綅閲�', hide: true} + ,{field: 'barcode', align: 'center',title: '鏉$爜', hide: true} + ,{field: 'origin', align: 'center',title: '浠撳簱鍙�', hide: false} + ,{field: 'manu', align: 'center',title: '鍘傚', hide: true} + ,{field: 'manuDate', align: 'center',title: '鐢熶骇鏃ユ湡', hide: true} + ,{field: 'itemNum', align: 'center',title: '鍝侀」鏁�', hide: true} + ,{field: 'safeQty', align: 'center',title: '瀹夊叏搴撳瓨閲�', hide: true} + ,{field: 'weight', align: 'center',title: '鍗曠鍑�閲�', hide: true} + ,{field: 'length', align: 'center',title: '鍗曠姣涢噸', hide: true} + ,{field: 'volume', align: 'center',title: '鍗曠浣撶Н', hide: true} + ,{field: 'threeCode', align: 'center',title: '绠卞瓙灏哄', hide: true} + ,{field: 'supp', align: 'center',title: '渚涘簲鍟�', hide: true} + ,{field: 'suppCode', align: 'center',title: '渚涘簲鍟嗙紪鐮�', hide: true} + ,{field: 'beBatch$', align: 'center',title: '鏄惁鎵规', hide: true} + ,{field: 'deadTime', align: 'center',title: '淇濊川鏈�', hide: true} + ,{field: 'deadWarn', align: 'center',title: '棰勮澶╂暟', hide: true} + ,{field: 'source$', align: 'center',title: '鍒惰喘', hide: true} + ,{field: 'check$', align: 'center',title: '瑕佹眰妫�楠�', hide: true} + ,{field: 'danger$', align: 'center',title: '鍗遍櫓鍝�', hide: true} + + ]; + + // cols.push.apply(cols, detlCols); + cols.push({field: 'modiUser$', align: 'center',title: '淇敼浜哄憳',hide: true} + ,{field: 'modiTime$', align: 'center',title: '淇敼鏃堕棿'} + ) + return cols; +} + +layui.use(['table','laydate', 'form'], function(){ var table = layui.table; var $ = layui.jquery; var layer = layui.layer; var layDate = layui.laydate; var form = layui.form; - var admin = layui.admin; - var xmSelect = layui.xmSelect; // 鏁版嵁娓叉煋 tableIns = table.render({ @@ -17,54 +60,15 @@ headers: {token: localStorage.getItem('token')}, url: baseUrl+'/locDetl/page/auth', page: true, - limit: 15, - limits: [15, 30, 50, 100, 200, 500], + limit: 20, + where:{ + unreason: false + }, + limits: [20, 30, 50, 100, 200, 500], + even: true, toolbar: '#toolbar', cellMinWidth: 50, - height: 'full-120', - cols: [[ - {type: 'checkbox'} - ,{field: 'locNo$', align: 'center',title: '搴撲綅鍙�'} - ,{field: 'zpallet', align: 'center',title: '鎵樼洏鏉$爜'} - ,{field: 'anfme', align: 'center',title: '鏁伴噺'} - ,{field: 'matnr', align: 'center',title: '鐗╂枡'} - ,{field: 'maktx', align: 'center',title: '鐗╂枡鎻忚堪'} - ,{field: 'batch', align: 'center',title: ''} - ,{field: 'orderNo', align: 'center',title: ''} - ,{field: 'specs', align: 'center',title: '浠撳簱鍙�'} - ,{field: 'model', align: 'center',title: '浠g爜', hide: true} - ,{field: 'color', align: 'center',title: '棰滆壊', hide: true} - ,{field: 'brand', align: 'center',title: '鍝佺墝', hide: true} - ,{field: 'unit', align: 'center',title: '鍗曚綅', hide: true} - ,{field: 'price', align: 'center',title: '鍗曚环', hide: true} - ,{field: 'sku', align: 'center',title: 'sku', hide: true} - ,{field: 'units', align: 'center',title: '鍗曚綅閲�', hide: true} - ,{field: 'barcode', align: 'center',title: '鏉$爜', hide: true} - ,{field: 'origin', align: 'center',title: '浠撳簱鍙�', hide: false} - ,{field: 'manu', align: 'center',title: '鍘傚', hide: true} - ,{field: 'manuDate', align: 'center',title: '鐢熶骇鏃ユ湡', hide: true} - ,{field: 'itemNum', align: 'center',title: '鍝侀」鏁�', hide: true} - ,{field: 'safeQty', align: 'center',title: '瀹夊叏搴撳瓨閲�', hide: true} - ,{field: 'weight', align: 'center',title: '鍗曠鍑�閲�', hide: true} - ,{field: 'length', align: 'center',title: '鍗曠姣涢噸', hide: true} - ,{field: 'volume', align: 'center',title: '鍗曠浣撶Н', hide: true} - ,{field: 'threeCode', align: 'center',title: '绠卞瓙灏哄', hide: true} - ,{field: 'supp', align: 'center',title: '渚涘簲鍟�', hide: true} - ,{field: 'suppCode', align: 'center',title: '渚涘簲鍟嗙紪鐮�', hide: true} - ,{field: 'beBatch$', align: 'center',title: '鏄惁鎵规', hide: true} - ,{field: 'deadTime', align: 'center',title: '淇濊川鏈�', hide: true} - ,{field: 'deadWarn', align: 'center',title: '棰勮澶╂暟', hide: true} - ,{field: 'source$', align: 'center',title: '鍒惰喘', hide: true} - ,{field: 'check$', align: 'center',title: '瑕佹眰妫�楠�', hide: true} - ,{field: 'danger$', align: 'center',title: '鍗遍櫓鍝�', hide: true} - ,{field: 'modiUser$', align: 'center',title: '淇敼浜哄憳'} - ,{field: 'modiTime$', align: 'center',title: '淇敼鏃堕棿'} - ,{field: 'appeUser$', align: 'center',title: '鍒涘缓鑰�'} - ,{field: 'appeTime$', align: 'center',title: '娣诲姞鏃堕棿'} - ,{field: 'memo', align: 'center',title: '澶囨敞'} - - ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:120} - ]], + cols: [getCol()], request: { pageName: 'curr', pageSize: 'limit' @@ -84,8 +88,16 @@ if (res.code === 403) { top.location.href = baseUrl+"/"; } - pageCurr=curr;pageCount=count; + pageCurr=curr; limit(); + form.on('checkbox(tableCheckbox)', function (data) { + var _index = $(data.elem).attr('table-index')||0; + if(data.elem.checked){ + res.data[_index][data.value] = 'Y'; + }else{ + res.data[_index][data.value] = 'N'; + } + }); } }); @@ -99,28 +111,74 @@ searchData['orderByType'] = obj.type; tableIns.reload({ where: searchData, - page: {curr: 1} + page: { + curr: 1 + }, + done: function (res, curr, count) { + if (res.code === 403) { + top.location.href = baseUrl+"/"; + } + pageCurr=curr; + limit(); + } }); }); // 鐩戝惉澶村伐鍏锋爮浜嬩欢 table.on('toolbar(locDetl)', function (obj) { - var checkStatus = table.checkStatus(obj.config.id).data; + var checkStatus = table.checkStatus(obj.config.id); switch(obj.event) { case 'addData': - showEditModel(); + layer.open({ + type: 2, + title: '鏂板', + maxmin: true, + area: [top.detailWidth, top.detailHeight], + shadeClose: false, + content: 'locDetl_detail.html', + success: function(layero, index){ + layer.getChildFrame('#data-detail-submit-edit', index).hide(); + clearFormVal(layer.getChildFrame('#detail', index)); + layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); + } + }); + break; + case 'refreshData': + tableIns.reload({ + page: { + curr: pageCurr + } + }); + limit(); break; case 'deleteData': - if (checkStatus.length === 0) { - layer.msg('璇烽�夋嫨瑕佸垹闄ょ殑鏁版嵁', {icon: 2}); - return; - } - del(checkStatus.map(function (d) { - return d.id; - })); - break; + var data = checkStatus.data; + if (data.length === 0){ + layer.msg('璇烽�夋嫨鏁版嵁'); + } else { + layer.confirm('纭畾鍒犻櫎'+(data.length===1?'姝�':data.length)+'鏉℃暟鎹悧', function(){ + $.ajax({ + url: baseUrl+"/locDetl/delete/auth", + headers: {'token': localStorage.getItem('token')}, + data: {param: JSON.stringify(data)}, + method: 'POST', + traditional:true, + success: function (res) { + if (res.code === 200){ + layer.closeAll(); + tableReload(false); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + } else { + layer.msg(res.msg) + } + } + }) + }); + } + break; case 'exportData': - admin.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function(){ + layer.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function(){ var titles=[]; var fields=[]; obj.config.cols[0].map(function (col) { @@ -134,25 +192,45 @@ exportData[this.name] = this.value; }); var param = { - 'locDetl': exportData, + 'wrkDetlLog': exportData, 'fields': fields }; + + layer.load('Loading...', { + shade: [0.1,'#fff'] + }); $.ajax({ - url: baseUrl+"/locDetl/export/auth", + url: baseUrl + "/locDetl/export/auth", headers: {'token': localStorage.getItem('token')}, data: JSON.stringify(param), - dataType:'json', contentType:'application/json;charset=UTF-8', method: 'POST', + xhrFields: { + responseType: "blob" // 璁剧疆鍝嶅簲绫诲瀷涓轰簩杩涘埗鏁版嵁 + }, success: function (res) { + // 鍒涘缓涓�涓复鏃剁殑涓嬭浇閾炬帴 + const url = window.URL.createObjectURL(res); + // 鍒涘缓涓�涓殣钘忕殑 <a> 鍏冪礌骞惰缃笅杞介摼鎺� + const a = document.createElement("a"); + a.style.display = "none"; + a.href = url; + a.download = "export.xlsx"; // 鎸囧畾涓嬭浇鐨勬枃浠跺悕 + document.body.appendChild(a); + + // 瑙﹀彂鐐瑰嚮浜嬩欢浠ュ紑濮嬩笅杞� + a.click(); + + // 娓呯悊涓存椂璧勬簮 + setTimeout(function () { + window.URL.revokeObjectURL(url); + document.body.removeChild(a); + layer.closeAll(); + }, 100); + }, + fail: function (){ + layer.msg('瀵煎嚭澶辫触', {icon: 2}) 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}) - } } }); }); @@ -164,201 +242,166 @@ table.on('tool(locDetl)', function(obj){ var data = obj.data; switch (obj.event) { + // 璇︽儏 + case 'detail': + layer.open({ + type: 2, + title: '璇︽儏', + maxmin: true, + area: [top.detailWidth, top.detailHeight], + shadeClose: false, + content: 'locDetl_detail.html', + success: function(layero, index){ + setFormVal(layer.getChildFrame('#detail', index), data, true); + top.convertDisabled(layer.getChildFrame('#data-detail :input', index), true); + layer.getChildFrame('#data-detail-submit-save,#data-detail-submit-edit,#prompt', index).hide(); + layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); + layero.find('iframe')[0].contentWindow.layui.form.render('select'); + layero.find('iframe')[0].contentWindow.layui.form.render('checkbox'); + } + }); + break; + // 缂栬緫 case 'edit': - showEditModel(data); + layer.open({ + type: 2, + title: '淇敼', + maxmin: true, + area: [top.detailWidth, top.detailHeight], + shadeClose: false, + content: 'locDetl_detail.html', + success: function(layero, index){ + layer.getChildFrame('#data-detail-submit-save', index).hide(); + setFormVal(layer.getChildFrame('#detail', index), data, false); + top.convertDisabled(layer.getChildFrame('#data-detail :input', index), false); + top.convertDisabled(layer.getChildFrame('#locNo,#matnr', index), true); + layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); + layero.find('iframe')[0].contentWindow.layui.form.render('select'); + layero.find('iframe')[0].contentWindow.layui.form.render('checkbox'); + } + }); 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) { - form.val('detail', mData); - layDateRender(mData); - form.on('submit(editSubmit)', function (data) { - var loadIndex = layer.load(2); - $.ajax({ - url: baseUrl+"/locDetl/"+(mData?'update':'add')+"/auth", - 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}); - tableReload(); - } 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'); - layui.form.render('select'); - } - }); - } - - /* 鍒犻櫎 */ - function del(ids) { - layer.confirm('纭畾瑕佸垹闄ら�変腑鏁版嵁鍚楋紵', { - skin: 'layui-layer-admin', - shade: .1 - }, function (i) { - layer.close(i); - var loadIndex = layer.load(2); - $.ajax({ - url: baseUrl+"/locDetl/delete/auth", - headers: {'token': localStorage.getItem('token')}, - data: {ids: ids}, - method: 'POST', - success: function (res) { - layer.close(loadIndex); - if (res.code === 200){ - layer.msg(res.msg, {icon: 1}); - tableReload(); - } else if (res.code === 403){ - top.location.href = baseUrl+"/"; - } else { - layer.msg(res.msg, {icon: 2}); - } - } - }) - }); - } - - // 鎼滅储 - form.on('submit(search)', function (data) { - pageCurr = 1; - tableReload(true); + // 鏁版嵁淇濆瓨鍔ㄤ綔 + form.on('submit(save)', function () { + if (banMsg != null){ + layer.msg(banMsg); + return; + } + method("add"); }); - // 閲嶇疆 + // 鏁版嵁淇敼鍔ㄤ綔 + form.on('submit(edit)', function () { + method("update") + }); + + function method(name){ + var index = layer.load(1, { + shade: [0.5,'#000'] //0.1閫忔槑搴︾殑鑳屾櫙 + }); + var data = { +// id: $('#id').val(), + locNo: $('#locNo').val(), + matnr: $('#matnr').val(), + lgnum: $('#lgnum').val(), + tbnum: $('#tbnum').val(), + tbpos: $('#tbpos').val(), + zmatid: $('#zmatid').val(), + maktx: $('#maktx').val(), + werks: $('#werks').val(), + anfme: $('#anfme').val(), + altme: $('#altme').val(), + zpallet: $('#zpallet').val(), + bname: $('#bname').val(), + memo: $('#memo').val(), + modiUser: $('#modiUser').val(), + modiTime: top.strToDate($('#modiTime\\$').val()), + appeUser: $('#appeUser').val(), + appeTime: top.strToDate($('#appeTime\\$').val()), + + }; + $.ajax({ + url: baseUrl+"/locDetl/"+name+"/auth", + headers: {'token': localStorage.getItem('token')}, + data: top.reObject(data), + method: 'POST', + success: function (res) { + if (res.code === 200){ + parent.layer.closeAll(); + parent.$(".layui-laypage-btn")[0].click(); + $("#data-detail :input").each(function () { + $(this).val(""); + }); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + }else { + layer.msg(res.msg) + } + layer.close(index); + } + }) + } + + // 澶嶉�夋浜嬩欢 + form.on('checkbox(detailCheckbox)', function (data) { + var el = data.elem; + if (el.checked) { + $(el).val('Y'); + } else { + $(el).val('N'); + } + }); + + // 鎼滅储鏍忔悳绱簨浠� + form.on('submit(search)', function (data) { + pageCurr = 1; + tableReload(false); + }); + + + // 鎼滅储鏍忛噸缃簨浠� form.on('submit(reset)', function (data) { pageCurr = 1; clearFormVal($('#search-box')); - tableReload(true); + tableReload(false); + }); + + //鏌ョ湅寮傚父鏁版嵁 + form.on('submit(unreason)', function (data) { + pageCurr = 1; + + tableIns.reload({ + where: { + unreason: true + }, + page: { + curr: pageCurr + }, + done: function (res, curr, count) { + + if (res.code === 403) { + top.location.href = baseUrl+"/"; + } + pageCurr=curr; + + limit(child); + } + }); }); // 鏃堕棿閫夋嫨鍣� - function layDateRender(data) { - setTimeout(function () { - layDate.render({ - elem: '.layui-laydate-range' - ,type: 'datetime' - ,range: true - }); - layDate.render({ - elem: '#modiTime\\$', - type: 'datetime', - value: data!==undefined?data['modiTime$']:null - }); - layDate.render({ - elem: '#appeTime\\$', - type: 'datetime', - value: data!==undefined?data['appeTime$']:null - }); - - }, 100); - } - layDateRender(); - - window.loadLocMastSel = function () { - return xmSelect.render({ - el: '#locMastXmlSel', - autoRow: true, - filterable: true, - remoteSearch: true, - radio: true, - remoteMethod: function (val, cb, show) { - $.ajax({ - url: baseUrl + "/locMast/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}); - } - } - }); - } - }); - } - - window.loadUserSel = function () { - return xmSelect.render({ - el: '#userXmlSel', - autoRow: true, - filterable: true, - remoteSearch: true, - radio: true, - remoteMethod: function (val, cb, show) { - $.ajax({ - url: baseUrl + "/user/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}); - } - } - }); - } - }); - } - - window.loadUserSel = function () { - return xmSelect.render({ - el: '#userXmlSel', - autoRow: true, - filterable: true, - remoteSearch: true, - radio: true, - remoteMethod: function (val, cb, show) { - $.ajax({ - url: baseUrl + "/user/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}); - } - } - }); - } - }); - } - + layDate.render({ + elem: '#modiTime\\$', + type: 'datetime' + }); + layDate.render({ + elem: '#appeTime\\$', + type: 'datetime' + }); }); @@ -368,17 +411,87 @@ parent.layer.closeAll(); }); -function tableReload(search) { - if (pageCount === 0 || search) { - let searchData = {}; - $.each($('#search-box [name]').serializeArray(), function() { - searchData[this.name] = this.value; - }); - tableIns.reload({ - where: searchData, - page: {curr: pageCurr} - }); - } else { - $(".layui-laypage-btn")[0].click(); +function tableReload(child) { + var searchData = { + unreason: false + }; + $.each($('#search-box [name]').serializeArray(), function() { + searchData[this.name] = this.value; + }); + (child ? parent.tableIns : tableIns).reload({ + where: searchData, + page: { + curr: pageCurr + }, + done: function (res, curr, count) { + if (res.code === 403) { + top.location.href = baseUrl+"/"; + } + pageCurr=curr; + if (res.data.length === 0 && count !== 0) { + tableIns.reload({ + where: searchData, + page: { + curr: pageCurr-1 + } + }); + pageCurr -= 1; + } + limit(child); + } + }); +} + +function setFormVal(el, data, showImg) { + for (var val in data) { + var find = el.find(":input[id='" + val + "']"); + if (find[0]!=null){ + if (find[0].type === 'checkbox'){ + if (data[val]==='Y'){ + find.attr("checked","checked"); + find.val('Y'); + } else { + find.remove("checked"); + find.val('N'); + } + continue; + } + } + find.val(data[val]); + if (showImg){ + var next = find.next(); + if (next.get(0)){ + if (next.get(0).localName === "img") { + find.hide(); + next.attr("src", data[val]); + next.show(); + } + } + } } } + +function clearFormVal(el) { + $(':input', el) + .val('') + .removeAttr('checked') + .removeAttr('selected'); +} + +function detailScreen(index) { + var detail = layer.getChildFrame('#data-detail', index); + var height = detail.height()+60; + if (height > ($(window).height()*0.9)) { + height = ($(window).height()*0.8); + } + layer.style(index, { +// top: (($(window).height()-height)/3)+"px", + height: height+'px' + }); +} + +$('body').keydown(function () { + if (event.keyCode === 13) { + $("#search").click(); + } +}); -- Gitblit v1.9.1