From 19c9d6fa6eb8cac0898886e1a9508f8a83792f3f Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@63.com> Date: 星期二, 08 十一月 2022 15:13:40 +0800 Subject: [PATCH] # --- src/main/webapp/static/js/order/order.js | 324 +++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 234 insertions(+), 90 deletions(-) diff --git a/src/main/webapp/static/js/order/order.js b/src/main/webapp/static/js/order/order.js index 895ec78..73503ce 100644 --- a/src/main/webapp/static/js/order/order.js +++ b/src/main/webapp/static/js/order/order.js @@ -1,29 +1,141 @@ var pageCurr; +var pageCount = 0; +var treeCond; +var admin; layui.config({ base: baseUrl + "/static/layui/lay/modules/" -}).use(['table','laydate', 'form', 'admin'], function(){ +}).extend({ + cascader: 'cascader/cascader', +}).use(['table','laydate', 'form', 'admin', 'xmSelect', 'element', 'cascader', 'tree', 'dropdown'], function(){ var table = layui.table; var $ = layui.jquery; var layer = layui.layer; var layDate = layui.laydate; var form = layui.form; - var admin = layui.admin; + admin = layui.admin; + var xmSelect = layui.xmSelect; + var cascader = layui.cascader; + var tree = layui.tree; + var dropdown = layui.dropdown; + + $('#organization').html(localStorage.getItem('nickname') + ' <i class="layui-icon"></i>'); + + // 閮ㄩ棬浜哄憳 绛涢�� + dropdown.render({ + elem: '#organization' + ,content: ['<div id="organizationTree" style="height: calc(100vh - 525px);border: none"></div>'].join('') + ,style: 'width: 370px; height: 350px; padding: 0 15px; box-shadow: 1px 1px 30px rgb(0 0 0 / 12%);' + ,ready: function(){ + loadTree(); + } + }); + + // 鏁版嵁鍚屾 + dropdown.render({ + elem: '#data-btn' + ,align: 'right' + ,style: 'border-radius: 5px;' + ,className: 'site-dropdown-demo' + ,data: [ + { + title: '妯℃澘涓嬭浇' + ,templet: '<i class="layui-icon layui-icon-template-1"></i>{{d.title}}' + ,id: 1 + }, + { + title: '瀵煎叆 Excel' + ,templet: '<i class="layui-icon layui-icon-upload"></i>{{d.title}}' + ,id: 2 + }, + {type: '-'}, //鍒嗗壊绾� + { + title: '瀵煎嚭 Excel' + ,templet: '<i class="layui-icon layui-icon-export"></i>{{d.title}}' + ,id: 3 + } + ] + ,click: async function(item){ + switch (item.id) { + case 1: + // 妯℃澘涓嬭浇 + layer.load(1, {shade: [0.1,'#fff']}); + location.href = baseUrl + "/mould/鐢叉柟鍗曚綅瀵煎叆妯℃澘.xls"; + layer.closeAll('loading'); + break + case 2: + // 瀵煎叆 Excel + $("#importExcel").trigger("click"); + break + case 3: + // 瀵煎嚭 Excel + layer.msg("鏉ヤ笉鍙婂仛锛岀瓑绛�", {icon: 6}); + break + default: + break + } + } + }); + + // 鏍戝舰鍥� + var organizationTree; + window.loadTree = function(condition){ + var loadIndex = layer.load(2); + $.ajax({ + url: baseUrl+"/dept/user/tree/auth", + headers: {'token': localStorage.getItem('token')}, + data: { + 'condition': condition + }, + method: 'POST', + success: function (res) { + layer.close(loadIndex); + if (res.code === 200){ + organizationTree = tree.render({ + elem: '#organizationTree', + id: 'organizationTree', + onlyIconControl: true, + data: res.data, + click: function (obj) { + treeCond = { + key: obj.data.key, + val: obj.data.id + } + $('#organization').html(obj.data.title + ' <i class="layui-icon"></i>'); + $('#organizationTree').find('.ew-tree-click').removeClass('ew-tree-click'); + $(obj.elem).children('.layui-tree-entry').addClass('ew-tree-click'); + clearFormVal($('#search-box')); + tableIns.reload({ + where: {[obj.data.key]: obj.data.id}, + page: {curr: 1} + }); + } + }); + treeData = res.data; + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + } else { + layer.msg(res.msg) + } + } + }) + } // 鏁版嵁娓叉煋 tableIns = table.render({ elem: '#order', headers: {token: localStorage.getItem('token')}, - url: baseUrl+'/order/list/auth', + url: baseUrl+'/order/page/auth', page: true, limit: 15, limits: [15, 30, 50, 100, 200, 500], - toolbar: '#toolbar', - cellMinWidth: 50, - height: 'full-120', + // cellMinWidth: 100, + height: 'full-148', + // size: 'sm', + skin: 'line', cols: [[ {type: 'checkbox'} - ,{field: 'id', align: 'center',title: 'ID'} - ,{field: 'hostId$', align: 'center',title: '鎵�灞炲晢鎴�'} + // ,{field: 'id', align: 'center',title: 'ID'} + // ,{field: 'hostId$', align: 'center',title: '鎵�灞炲晢鎴�'} ,{field: 'deptId$', align: 'center',title: '鎵�灞為儴闂�'} ,{field: 'userId$', align: 'center',title: '鎵�灞炰汉鍛�'} ,{field: 'cstmrId$', align: 'center',title: '鐢叉柟鍗曚綅'} @@ -33,18 +145,18 @@ ,{field: 'company$', align: 'center',title: '鎵�灞炲叕鍙�'} ,{field: 'remarks', align: 'center',title: '澶囨敞'} ,{field: 'director$', align: 'center',title: '璐熻矗浜�'} - ,{field: 'province', align: 'center',title: '鐪�'} - ,{field: 'city', align: 'center',title: '甯�'} - ,{field: 'district', align: 'center',title: '鍘�'} - ,{field: 'town', align: 'center',title: '闀�'} - ,{field: 'addr', align: 'center',title: '璇︾粏鍦板潃'} - ,{field: 'files', 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: '娉ㄩ噴'} + ,{field: 'province', align: 'center',title: '鐪�', hide: true} + ,{field: 'city', align: 'center',title: '甯�', hide: true} + ,{field: 'district', align: 'center',title: '鍘�', hide: true} + ,{field: 'town', align: 'center',title: '闀�', hide: true} + ,{field: 'addr', align: 'center',title: '璇︾粏鍦板潃', hide: true} + ,{field: 'files', align: 'center',title: '闄勪欢', hide: true} + ,{field: 'status$', align: 'center',title: '鐘舵��', hide: true} + ,{field: 'createBy$', align: 'center',title: '娣诲姞浜哄憳', hide: true} + ,{field: 'createTime$', align: 'center',title: '娣诲姞鏃堕棿', hide: true} + ,{field: 'updateBy$', align: 'center',title: '淇敼浜哄憳', hide: true} + ,{field: 'updateTime$', align: 'center',title: '淇敼鏃堕棿', hide: true} + ,{field: 'memo', align: 'center',title: '娉ㄩ噴', hide: true} ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:120} ]], @@ -68,8 +180,26 @@ top.location.href = baseUrl+"/"; } pageCurr=curr; + pageCount = count; limit(); } + }); + + // 娣诲姞 + $("#orderAddBtn").click(function () { + showEditModel(); + }); + + // 鍒犻櫎 + form.on('submit(orderDel)', function (data) { + let checkStatus = layui.table.checkStatus('order').data; + if (checkStatus.length === 0) { + layer.msg('璇烽�夋嫨瑕佸垹闄ょ殑鏁版嵁', {icon: 2}); + return; + } + del(checkStatus.map(function (d) { + return d.id; + })); }); // 鐩戝惉鎺掑簭浜嬩欢 @@ -86,67 +216,23 @@ }); }); - // 鐩戝惉澶村伐鍏锋爮浜嬩欢 - 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 exportData = {}; - $.each($('#search-box [name]').serializeArray(), function() { - exportData[this.name] = this.value; - }); - var param = { - 'order': exportData, - 'fields': fields - }; - $.ajax({ - url: baseUrl+"/order/export/auth", - headers: {'token': localStorage.getItem('token')}, - data: JSON.stringify(param), - dataType:'json', - 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 'more': + top.orderByMore = data.id; + admin.popupRight({ + type: 1, + window: "top", + area: "1250px", + url: "order_more.html", + end: function () { + // $(".layui-laypage-btn")[0].click(); + } + }) + break; case 'edit': showEditModel(data); break; @@ -225,15 +311,10 @@ // 鎼滅储 form.on('submit(search)', function (data) { pageCurr = 1; + pageCount = 0; tableReload(false); }); - // 閲嶇疆 - form.on('submit(reset)', function (data) { - pageCurr = 1; - clearFormVal($('#search-box')); - tableReload(false); - }); // 鏃堕棿閫夋嫨鍣� function layDateRender(data) { @@ -258,6 +339,19 @@ } layDateRender(); + // 鐪佸競鍖洪�夋嫨 + function cascaderRender() { + cascader.render({ + elem: '#cascaderVal', + data: citysData, + itemHeight: '250px', + filterable: true, + onChange: function (values, data) { + // console.log(values);console.log(data); + } + }); + } + }); // 鍏抽棴鍔ㄤ綔 @@ -265,13 +359,63 @@ parent.layer.closeAll(); }); -function tableReload(child) { - var searchData = {}; - $.each($('#search-box [name]').serializeArray(), function() { - searchData[this.name] = this.value; +function tableReload() { + if (pageCount === 0) { + let searchData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + searchData[this.name] = this.value; + }); + if (treeCond) { + searchData[treeCond.key] = treeCond.val; + } + tableIns.reload({ + where: searchData, + page: {curr: pageCurr} + }); + } else { + $(".layui-laypage-btn")[0].click(); + } +} + +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){ }); - tableIns.reload({ - where: searchData, - page: {curr: pageCurr} - }); +} +function uploadComplete(evt) { + let res = JSON.parse(evt.target.responseText); + if(res.code === 200) { + layer.msg(res.msg, {icon: 1}); + tableReload(); + } 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