From 405e94c5d08e89c9bf2bd0820d39ceeaa049211d Mon Sep 17 00:00:00 2001 From: whycq <913841844@qq.com> Date: 星期三, 16 十月 2024 08:11:11 +0800 Subject: [PATCH] 流水记录表 --- src/main/webapp/static/js/order/order.js | 298 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 282 insertions(+), 16 deletions(-) diff --git a/src/main/webapp/static/js/order/order.js b/src/main/webapp/static/js/order/order.js index 0922b2f..79fc2a1 100644 --- a/src/main/webapp/static/js/order/order.js +++ b/src/main/webapp/static/js/order/order.js @@ -1,4 +1,6 @@ var insTbCount = 0; +var admin; +var insTb layui.config({ base: baseUrl + "/static/layui/lay/modules/" }).use(['layer', 'form', 'table', 'util', 'admin', 'xmSelect', 'laydate'], function () { @@ -7,9 +9,10 @@ var form = layui.form; var table = layui.table; var util = layui.util; - var admin = layui.admin; + admin = layui.admin; var xmSelect = layui.xmSelect; var layDate = layui.laydate; + var laytpl = layui.laytpl; // 娓叉煋鎼滅储妯℃澘 $.ajax({ @@ -33,7 +36,7 @@ }) // 娓叉煋琛ㄦ牸 - var insTb = table.render({ + insTb = table.render({ elem: '#order', url: baseUrl+'/order/head/page/auth', headers: {token: localStorage.getItem('token')}, @@ -41,12 +44,25 @@ cellMinWidth: 100, cols: [[ {type: 'numbers'}, - {field: 'orderNo', title: '鍗曟嵁缂栧彿'}, - {field: 'docType$', align: 'center', title: '绫诲瀷', minWidth: 160, width: 160}, + {field: 'defNumber', align: 'center', title: '鎿嶄綔绯荤粺鍙�', hide: false, width: 120}, + {field: '鎿嶄綔鍗曟嵁', align: 'center', title: '鎿嶄綔鍗曟嵁', hide: true}, + {field: '鎿嶄綔绫诲瀷', align: 'center', title: '鎿嶄綔绫诲瀷', hide: true}, + {field: 'orderNo', title: '鍗曟嵁缂栧彿', templet: '#orderNoTpl'}, + //{field: 'itemName', align: 'center', title: '鏍哥畻涓讳綋'}, + {field: 'docType$', align: 'center', title: '鍗曟嵁绫诲瀷'}, + //{field: 'defNumber', align: 'center', title: '涓氬姟绫诲瀷'}, + //{field: 'postFee', align: 'center', title: '鎬绘暟閲�', minWidth: 130, width: 130}, {align: 'center', title: '鏄庣粏', toolbar: '#tbLook', minWidth: 160, width: 160}, - {field: 'createTime$', title: '鍒涘缓鏃堕棿', minWidth: 200, width: 200}, + {field: 'createTime$', title: '鍒涘缓鏃堕棿'}, + {field: 'shipCode', align: 'center',title: '鍒跺崟浜�', hide: false}, {field: 'settle$', align: 'center', title: '鐘舵��', templet: '#settleTpl', minWidth: 160, width: 160}, {field: 'memo', align: 'center',title: '澶囨敞', hide: true}, + {field: 'orderTime', align: 'center',title: '鍗曟嵁鏃ユ湡', hide: true}, + {field: 'cstmrName', align: 'center',title: '渚涘簲鍟�/瀹㈡埛缂栫爜', hide: true}, + {field: 'tel', align: 'center',title: '浠撳簱', hide: true}, + {field: 'operMemb', align: 'center',title: '鍑哄叆搴撶被鍒�', hide: true}, + {field: 'salesman', align: 'center',title: '閮ㄩ棬', hide: true}, + {align: 'center', title: '鎿嶄綔', toolbar: '#operate', width: 180} ]], request: { @@ -83,16 +99,29 @@ showEditModel(); }); + // 瀵煎叆閿�鍞崟 + $("#importOrder").click(function () { + $("#importExcel").trigger("click"); + }); + + $("#orderCheckBtn").click(function () { + $("#importExcel2").trigger("click"); + }); + // 宸ュ叿鏉$偣鍑讳簨浠� 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 === 'complete') { doModify(data.id, 4); + } else if (layEvent === 'report'){ + doReport(data.id); } else if (layEvent === 'look') { var $a = $(obj.tr).find('a[lay-event="look"]'); var offset = $a.offset(); @@ -101,7 +130,7 @@ layer.open({ type: 1, title: false, - area: '820px', + area: '1100px', offset: [top + 'px', (left - 530 + $a.outerWidth()) + 'px'], shade: .01, shadeClose: true, @@ -119,12 +148,12 @@ cellMinWidth: 100, cols: [[ {type: 'numbers'}, - {field: 'matnr', title: '鍟嗗搧缂栫爜'}, + {field: 'matnr', title: '鍟嗗搧缂栫爜', width: 160}, {field: 'maktx', title: '鍟嗗搧鍚嶇О', width: 160}, - {field: 'batch', title: '搴忓垪鐮�'}, + //{field: 'batch', title: '鎵瑰彿'}, {field: 'anfme', title: '鏁伴噺'}, {field: 'qty', title: '浣滀笟鏁伴噺', style: 'font-weight: bold'}, - {field: 'unit', title: '鍗曚綅'}, + // {field: 'unit', title: '鍗曚綅'}, // { // field: 'createTime$', title: '鍒涘缓鏃堕棿', sort: true, templet: function (d) { // return util.toDateString(d.createTime); @@ -132,7 +161,12 @@ // }, // {field: 'inQty', title: '宸插叆搴撻噺'}, // {field: 'color', title: '棰滆壊'}, - {field: 'specs', title: '瑙勬牸'} + //{field: 'specs', title: '瑙勬牸鍨嬪彿'}, + {field: 'unit', title: '璁¢噺鍗曚綅'}, + //{field: 'manu', title: '琛屽彿'}, + {field: 'threeCode', title: '閿�鍞崟鍙�'}, + {field: 'deadTime', title: '鑷敱椤�'}, + {field: 'processSts$', title: '宸ュ簭'} ]], request: { pageName: 'curr', @@ -159,13 +193,14 @@ } }); + // 鏄剧ず琛ㄥ崟寮圭獥 function showEditModel(expTpe) { admin.open({ type: 1, title: (expTpe ? '淇敼' : '娣诲姞') + '鍗曟嵁', content: $('#editDialog').html(), - area: '1300px', + area: '1600px', success: function (layero, dIndex) { $(layero).children('.layui-layer-content').css('overflow', 'visible'); var isExpAdd = !expTpe; @@ -222,25 +257,56 @@ headers: {token: localStorage.getItem('token')}, data: xxDataList, page: true, - height: '350px;', + //height: '350px;', cellMinWidth: 100, + + css: [ // 璁剧疆鍗曞厓鏍兼牱寮� + // 鍙栨秷榛樿鐨勬孩鍑洪殣钘忥紝骞惰缃�傚綋楂樺害 + '.layui-table-cell{height: 50px; line-height: 40px;}', + '.layui-table-cell .layui-colorpicker{width: 38px; height: 38px;}', + '.layui-table-cell select{height: 36px; padding: 0 5px;}' + ].join(''), cols: [[ {type: 'numbers', title: '#'}, {field: 'matnr', title: '鍟嗗搧缂栫爜', width: 160}, - {field: 'maktx', title: '鍟嗗搧鍚嶇О', width: 200}, + {field: 'maktx', title: '鍟嗗搧鍚嶇О', width: 160}, {field: 'batch', title: '搴忓垪鐮�', edit: true}, {field: 'specs', title: '瑙勬牸'}, {field: 'anfme', title: '鏁伴噺(淇敼)', style: 'color: blue;font-weight: bold', edit: true, minWidth: 110, width: 110}, + {field: 'threeCode', title: '閿�鍞鍗曞彿(淇敼)', style: 'color: blue;font-weight: bold', edit: 'text', minWidth: 110, width: 110}, + {field: 'deadTime', title: '閿�鍞鍗曡鍙�(淇敼)', style: 'color: blue;font-weight: bold', edit: 'text', minWidth: 110, width: 110}, + {field: 'processSts', title: '宸ュ簭', templet: function (d) { + var select = `<select class="layui-select" name="processSts" data-state=${d.processSts} lay-filter="processStsSelect" data-value=${d.processSts} id=${d.id}> + <option value="">閫夋嫨鐘舵��</option> + <option value="1">寰呭姞宸�</option> + <option value="2">宸插姞宸�</option> + <option value="3">鏃犻渶鍔犲伐</option> + </select>`; + return select; + }}, // {field: 'inQty', title: '宸插叆搴撻噺', minWidth: 100, width: 100}, - {field: 'unit', title: '鍗曚綅', width: 80}, + // {field: 'unit', title: '鍗曚綅', width: 80}, {field: 'memo', title: '澶囨敞' , edit: true}, {align: 'center', title: '鎿嶄綔', toolbar: '#formSSXMTableBar', minWidth: 80, width: 80, fixed: 'right'} ]], - done: function (res) { + done: function (res,curr, count) { $(layero).find('.layui-table-view').css('margin', '0'); + $(".layui-table-body").css('overflow','visible'); + $(".layui-table-box").css('overflow','visible'); + $(".layui-table-view").css('overflow','visible'); + + var tableElem = this.elem.next('.layui-table-view'); + count || tableElem.find('.layui-table-header').css('overflow', 'auto'); + layui.each(tableElem.find('select[name="processSts"]'), function (index, item) { + var elem = $(item); + elem.val(elem.data('state')).parents('div.layui-table-cell').css('overflow', 'visible'); + }); + + form.render();//鍒锋柊琛ㄥ崟 }, size: '' }; + if (!isExpAdd) { $.ajax({ url: baseUrl+"/order/detl/all/auth?orderId=" + expTpe.id, @@ -282,9 +348,24 @@ }); } }); + // 宸ュ叿鏉$偣鍑讳簨浠� + form.on('select(processStsSelect)', function (obj) { + console.log(obj) + var id = obj.elem.id + var val = obj.value + for (let item of xxDataList) { + if (item.id == id) { + item.processSts = val + } + } + }); // 鏄庣粏鏁版嵁淇敼 table.on('edit(formSSXMTable)', function (obj) { - let index = obj.tr.attr("data-index"); + let index = 0; + for (let k in xxDataList) { + if (obj.data.id === xxDataList[k].id) + index = k + } let data = xxDataList[index]; if (obj.field === 'anfme'){ let vle = Number(obj.value); @@ -417,6 +498,40 @@ }); } + // 涓婁紶瀹℃牳鍗曟嵁 + function doReport(orderId) { + layer.confirm('纭畾瑕佷笂浼犲崟鎹悧锛�', { + shade: .1, + skin: 'layui-layer-admin' + }, function (i) { + layer.close(i); + layer.load(2); + $.ajax({ + url: baseUrl+"/order/report/auth", + headers: {'token': localStorage.getItem('token')}, + data: { + orderId: orderId + }, + method: 'POST', + success: function (res) { + layer.closeAll('loading'); + if (res.code === 200){ + if (insTbCount === 0) { + insTb.reload({page: {curr: 1}}); + } else { + $(".layui-laypage-btn")[0].click(); + } + layer.msg(res.msg, {icon: 1}); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + }else { + layer.msg(res.msg, {icon: 2}); + } + } + }) + }); + } + // 淇敼璁㈠崟鐘舵�� function doModify(orderId, settle) { layer.confirm('纭畾瑕佹墜鍔ㄥ畬缁撳悧锛�', { @@ -454,9 +569,160 @@ }); } + // 浠诲姟杩芥函 + 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.wrkQty+"/"+res.data.totalQty + }, + series: [ + { + data: [ + {name: '宸蹭綔涓�', value: res.data.wrkQty}, + {name: '鏈綔涓�', value: res.data.totalQty-res.data.wrkQty-res.data.lackQty}, + {name: '搴撳瓨涓嶈冻', value: res.data.lackQty}, + ] + } + ] + }); + } + }); + }); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + }else { + layer.msg(res.msg, {icon: 2}); + } + } + }) + } + + layDate.render({ elem: '.layui-laydate-range' ,type: 'datetime' ,range: true }); }); + +function upload(obj){ + if(!obj.files) { + return; + } + var file = obj.files[0]; + admin.confirm('纭瀵煎叆 [' + file.name +'] 鏂囦欢鍚楋紵', function (index) { + layer.load(1, {shade: [0.1,'#fff']}); + var url = baseUrl + "/order/excel/import/auth"; + var form = new FormData(); + form.append("file", file); + let xhr = new XMLHttpRequest(); + xhr.open("post", url, true); + xhr.setRequestHeader('token', localStorage.getItem('token')); + xhr.onload = uploadComplete; + xhr.onerror = uploadFailed; + xhr.onloadend = function () { + layer.closeAll('loading'); + }; + // xhr.upload.onprogress = progressFunction; + xhr.upload.onloadstart = function(){ + ot = new Date().getTime(); + oloaded = 0; + }; + xhr.send(form); + }, function(index){ + }); +} +function uploadComplete(evt) { + let res = JSON.parse(evt.target.responseText); + if(res.code === 200) { + layer.msg(res.msg, {icon: 1}); + insTb.reload({page: {curr: 1}}); + } else { + alert(res.msg); + // layer.msg(res.msg, {icon: 2}); + } +} +function uploadFailed(evt) { + let res = JSON.parse(evt.target.responseText); + alert(res.msg); + // layer.msg(res.msg, {icon: 2}); +} + + +function upload2(obj){ + if(!obj.files) { + return; + } + var file = obj.files[0]; + admin.confirm('纭瀵煎叆 [' + file.name +'] 鏂囦欢鍚楋紵', function (index) { + layer.load(1, {shade: [0.1,'#fff']}); + var url = baseUrl + "/order/excel/import2/auth"; + var form = new FormData(); + form.append("file", file); + let xhr = new XMLHttpRequest(); + xhr.open("post", url, true); + xhr.setRequestHeader('token', localStorage.getItem('token')); + xhr.onload = uploadComplete; + xhr.onerror = uploadFailed; + xhr.onloadend = function () { + layer.closeAll('loading'); + }; + // xhr.upload.onprogress = progressFunction; + xhr.upload.onloadstart = function(){ + ot = new Date().getTime(); + oloaded = 0; + }; + xhr.send(form); + }, function(index){ + }); +} +function uploadComplete(evt) { + let res = JSON.parse(evt.target.responseText); + if(res.code === 200) { + layer.msg(res.msg, {icon: 1}); + insTb.reload({page: {curr: 1}}); + } else { + alert(res.msg); + // layer.msg(res.msg, {icon: 2}); + } +} +function uploadFailed(evt) { + let res = JSON.parse(evt.target.responseText); + alert(res.msg); + // layer.msg(res.msg, {icon: 2}); +} -- Gitblit v1.9.1