From 921e4e762efa53b10659fa173dbddab86f946a44 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@63.com> Date: 星期六, 19 十一月 2022 09:19:00 +0800 Subject: [PATCH] # --- src/main/webapp/static/js/plan/plan.js | 283 +++++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 239 insertions(+), 44 deletions(-) diff --git a/src/main/webapp/static/js/plan/plan.js b/src/main/webapp/static/js/plan/plan.js index d0b73ea..74b8f6a 100644 --- a/src/main/webapp/static/js/plan/plan.js +++ b/src/main/webapp/static/js/plan/plan.js @@ -1,18 +1,126 @@ var pageCurr; var pageCount = 0; +var treeCond; +var admin; layui.config({ base: baseUrl + "/static/layui/lay/modules/" }).extend({ steps: 'steps/steps', -}).use(['table','laydate', 'form', 'admin', 'xmSelect', 'steps'], function(){ + cascader: 'cascader/cascader', +}).use(['table','laydate', 'form', 'admin', 'xmSelect', 'steps', '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 steps = layui.steps; + 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({ @@ -22,9 +130,10 @@ 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'} @@ -83,6 +192,23 @@ } }); + // 娣诲姞 + $("#planAddBtn").click(function () { + showEditModel(); + }); + + // 鍒犻櫎 + form.on('submit(planDel)', function (data) { + let checkStatus = layui.table.checkStatus('plan').data; + if (checkStatus.length === 0) { + layer.msg('璇烽�夋嫨瑕佸垹闄ょ殑鏁版嵁', {icon: 2}); + return; + } + del(checkStatus.map(function (d) { + return d.id; + })); + }); + // 鐩戝惉鎺掑簭浜嬩欢 table.on('sort(plan)', function (obj) { var searchData = {}; @@ -113,44 +239,6 @@ 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 = { - 'plan': exportData, - 'fields': fields - }; - $.ajax({ - url: baseUrl+"/plan/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; } }); @@ -158,6 +246,42 @@ table.on('tool(plan)', function(obj){ var data = obj.data; switch (obj.event) { + case 'more': + top.planByMore = data.id; + admin.popupRight({ + type: 1, + window: "top", + area: "1250px", + url: "plan_more.html", + end: function () { + // $(".layui-laypage-btn")[0].click(); + } + }) + break; + case 'cstmrMore': + top.cstmrByMore = data.cstmrId; + admin.popupRight({ + type: 1, + window: "top", + area: "1250px", + url: "../cstmr/cstmr_more.html", + end: function () { + // $(".layui-laypage-btn")[0].click(); + } + }) + break; + case 'orderMore': + top.orderByMore = data.orderId; + admin.popupRight({ + type: 1, + window: "top", + area: "1250px", + url: "../order/order_more.html", + end: function () { + // $(".layui-laypage-btn")[0].click(); + } + }) + break; case 'edit': showEditModel(data); break; @@ -172,7 +296,7 @@ admin.open({ type: 1, area: '600px', - title: (mData ? '淇敼' : '娣诲姞') + '', + title: (mData ? '淇敼' : '娣诲姞') + '鍞墠瑙勫垝鐢宠鍗�', content: $('#editDialog').html(), success: function (layero, dIndex) { layDateRender(mData); @@ -335,6 +459,34 @@ }); } + window.loadOrderSel = function () { + return xmSelect.render({ + el: '#orderXmlSel', + autoRow: true, + filterable: true, + remoteSearch: true, + radio: true, + remoteMethod: function (val, cb, show) { + $.ajax({ + url: baseUrl + "/order/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.loadCstmrSel = function () { return xmSelect.render({ el: '#cstmrXmlSel', @@ -441,3 +593,46 @@ $(".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 + "/plan/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}); + 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