var example = null; var pers = null; var form = null; layui.use(['layer','form'], function () { var layer = layui.layer; form = layui.form; form.render(); form.verify(); pers = checkPermission(); init(); $("#searchBt").click(function () { example.ajax.reload(); }); $("#saveZipButton").click(function(){ importExcel(); }); $(document).ready(function() { getPro(); // 初始化时加载分包下拉列表 }); }); //重置 $("#resetBt").click(function () { $("#proId").val(""); $("#lumpProcess").val(""); $("#pilePosition").val(""); $("#towerType").val(""); $("#terrain").val(""); layui.form.render('select'); example.ajax.reload(); }); //查询 function init() { example = $('#dt-table').DataTable({ "searching": false, "processing": true, //加载数据时显示进度状态 "serverSide": true, "pagingType": "full_numbers", //首页|尾页 "language": { "url": ctxPath + "/js/plugin/datatables/Chinese.lang" }, "ajax": { "url": ctxPath + "/totalProWorkloadManage/getTotalProWorkloadList", "type": "post", "data": function (d) { d.proId = $("#proId").val(); d.lumpProcess = $("#lumpProcess").val(); d.pilePosition = $("#pilePosition").val(); d.towerType = $("#towerType").val(); d.terrain = $("#terrain").val(); }, "error": function (xhr, textStatus, errorThrown) { var msg = xhr.responseText; console.log(msg); var response = JSON.parse(msg); var code = response.code; var message = response.message; if (code == 400) { layer.msg(message); } else if (code == 401) { localStorage.removeItem("token"); layer.msg("token过期,请先登录", {shift: -1, time: 1000}, function () { location.href = ctxPath + '/login.html'; }); } else if (code == 403) { console.log("未授权:" + message); layer.msg('未授权'); } else if (code == 500) { console.log('系统错误:' + message); } } }, "lengthMenu": [ [10, 20, 50], [10, 20, 50] ], // 设置每页显示数据量选项 "drawCallback": function() { // alert( '表格重绘了' ); var thisDataTable = $('#dt-table').DataTable(); $(".pagination").append("
  • " + "" + "确认
  • "); //点击按钮跳转指定页数 $('#dataTable-btn').click(function (e) { if ($("#changePage").val() && $("#changePage").val() > 0) { var redirectpage = $("#changePage").val() - 1; } else { var redirectpage = 0; } thisDataTable.page(redirectpage).draw( 'page' ); }); //敲击回车键跳转指定页数 $("#changePage").keypress(function (e) { if(event.keyCode==13){ if ($("#changePage").val() && $("#changePage").val() > 0) { var redirectpage = $("#changePage").val() - 1; } else { var redirectpage = 0; } thisDataTable.page(redirectpage).draw( 'page' ); } }); }, "dom": "<'dt-toolbar'r>t<'dt-toolbar-footer'<'col-sm-4 col-xs-4 hidden-xs'i><'col-xs-8 col-sm-8' p v>><'dt-table-length'l>", "columns": [ { "width": "5%", "orderable": false, data: function (row, type, set, meta) { var c = meta.settings._iDisplayStart + meta.row + 1; return c; } }, {"data": "proName", "defaultContent": ""}, {"data": "lumpProcess", "defaultContent": ""}, {"data": "pilePosition", "defaultContent": ""}, {"data": "towerType", "defaultContent": ""}, {"data": "terrain", "defaultContent": ""}, {"data": "userName", "defaultContent": ""}, {"data": "updatedTime", "defaultContent": ""}, { "data": "", "defaultContent": "", "orderable": false, "render": function (data, type, row) { var id = row['id']; var html = ''; html += buttonUpdateView(id, "", pers); html += buttonDelView(id, "", pers); return html; } }, ], "order": [[1, "desc"],[2, "desc"],[3, "desc"],[4, "desc"],[5, "desc"],[6, "desc"],[7, "desc"]] //在栏目列上显示排序功能 }); } //添加数据 function insertProWorkload() { localStorage.setItem("smallSubId", '-1'); let index = layer.open({ title: ['新增', 'color:#3B70A1;background-color:#E8ECEB;font-size:20px'], type: 2, content: 'totalProWorkloadManageForm.html', area: ['50%', '60%'], maxmin: false, btn: ['确定','关闭'], success: function (layero, index) { var myIframe = window[layero.find('iframe')[0]['name']]; myIframe.getPros(); //aaa()为子页面的方法 }, yes: function (index, layero) { // 获取弹出层中的form表单元素 var formSubmit = layer.getChildFrame('form', index); var submited = formSubmit.find('button')[0]; // 触发点击事件,会对表单进行验证,验证成功则提交表单,失败则返回错误信息 // var myIframe = window[layero.find('iframe')[0]['name']]; // myIframe.selectCheck(); //aaa()为子页面的方法 submited.click(); example.ajax.reload(); // 刷新页面 }, }); // layer.close(index); } // 修改按钮 function buttonUpdateView(id, permission, pers) { if (permission != "") { if ($.inArray(permission, pers) < 0) { return ""; } } var btn = $(""); return btn.prop("outerHTML"); } /** * 修改 * */ function updateView(id) { localStorage.setItem("totalProId", id); layer.open({ title: ['修改', 'color:#3B70A1;background-color:#E8ECEB;font-size:20px'], type: 2, content: 'totalProWorkloadManageForm.html', area: ['50%', '60%'], maxmin: false, btn: ['确定','关闭'], success: function (layero, index) { var myIframe = window[layero.find('iframe')[0]['name']]; myIframe.selectCheck(); //aaa()为子页面的方法 }, yes: function (index, layero) { // 获取弹出层中的form表单元素 var formSubmit = layer.getChildFrame('form', index); var submited = formSubmit.find('button')[0]; // 触发点击事件,会对表单进行验证,验证成功则提交表单,失败则返回错误信息 // var myIframe = window[layero.find('iframe')[0]['name']]; // myIframe.selectCheck(); //aaa()为子页面的方法 submited.click(); }, }); } // 删除按钮 function buttonDelView(id, permission, pers) { if (permission != "") { if ($.inArray(permission, pers) < 0) { return ""; } } var btn = $(""); return btn.prop("outerHTML"); } /** * 删除工程 * */ function delView(id) { layer.confirm("确定删除吗?",function () { $.ajax({ type: 'post', url: ctxPath + '/totalProWorkloadManage/delTotalProWorkloadById', data: {id:id}, dataType: 'json', success: function (data) { if (data.resMsg == "删除成功") { layer.alert('删除成功', {icon: 1}); example.ajax.reload(); // 刷新页面 } else { layer.msg(data.resMsg, {icon: 2}); example.ajax.reload(); // 刷新页面 } } }) }) } /** * 获取工程 * */ function getPro() { $("#proId").html(""); $.ajax({ type: 'post', url: ctxPath + '/totalProWorkloadManage/getProName', data: {}, async: false, success: function (data) { var html = ''; for (var i = 0; i < data.data.length; i++) { html += ''; } $("#proId").html(html); form.render(); //这里就是我们要渲染的地方了 } }) } //导出excel表格 function exportTotalProject() { var proId = $("#proId").val(); var lumpProcess = $("#lumpProcess").val(); var pilePosition = $("#pilePosition").val(); var towerType = $("#towerType").val(); var terrain = $("#terrain").val(); var token = localStorage.getItem("token"); var loadingMsg = layer.msg('下载中,请稍候...', {icon: 16, scrollbar: false, time: 0}); var url = ctxPath + "/totalProWorkloadManage/exportBtnOut?proId=" + proId + "&lumpProcess=" + lumpProcess + "&pilePosition=" + pilePosition + "&towerType=" + towerType + "&terrain=" + terrain + "&token=" + token; var xhr = new XMLHttpRequest(); xhr.open("get", url, true); xhr.responseType = "blob"; // 转换流 xhr.onload = function () { layer.close(loadingMsg); if (this.status === 200) { var blob = this.response; var a = document.createElement("a"); var url = window.URL.createObjectURL(blob); a.href = url; a.download = "工程总工作量信息.xlsx"; // 文件名 }else { layer.msg('发生异常,请稍后重试', {icon: 16, scrollbar: false, time: 2000}); } a.click() window.URL.revokeObjectURL(url) }; xhr.send(); } //导入Excel表格 function importExcel(data) { var formData = new FormData($('form')[0]); var name = $("#articleImageFile").val(); if (name == null || name == "") { return; } if (!(name.endsWith(".xls") || name.endsWith(".xlsx") || name.endsWith(".xlsm"))) { layer.msg("请上传正确的Excel表格!"); $("#articleImageFile").val(""); return; } formData.append("file", $("#articleImageFile")[0].files[0]); var idx = layer.msg('正在提交数据,请稍等...', { icon: 16 , shade: 0.01 , time: '-1' }); $.ajax({ url: ctxPath + "/totalProWorkloadManage/importExcel", type: 'POST', async: true, data: formData, timeout: 20000, // 告诉jQuery不要去处理发送的数据 processData: false, // 告诉jQuery不要去设置Content-Type请求头 contentType: false, success: function (data) { console.log(data); layer.close(idx); if(data.indexOf("导入成功") !=-1){ layer.alert(data, {icon: 1}); }else if(data.indexOf("导入失败") !=-1){ layer.alert(data, {icon: 2}); }else if(data.indexOf("为空") !=-1){ layer.alert(data, {icon: 2}); } setTimeout(function () { example.ajax.reload(); },3000) // example.ajax.reload(); // 刷新页面 }, error: function (XMLHttpRequest, textStatus, errorThrown) { console.log(JSON.stringify(errorThrown)); layer.close(idx); } }); $("#articleImageFile").val(""); } //模板下载 function templatedownload() { window.location.href = ctxPath + "/download/download?filename=工程总工作量导入模板.xlsx"; }