let table; let form; let pageNum, limitSize; layui.use(['layer', 'form', 'element','laydate'], function () { //初始化下拉选 form = layui.form; form.render(); //更新全部 laydate = layui.laydate; laydate.render({ elem: '#createTime',//指定元素 元素选择器 type: 'date', //选择时间类型 可选值:year(年) month(年月) date(年月日) time(时分秒) datetime(年月日时分秒) trigger: 'click', range: true, format: 'yyyy-MM-dd', //时间格式 常用时间格式:yyyy-MM-dd HH:mm:ss // btns: ['now', 'confirm'], //选择框右下角显示的按钮 清除-现在-确定 }); laydate.render({ elem: '#updateTime',//指定元素 元素选择器 type: 'date', //选择时间类型 可选值:year(年) month(年月) date(年月日) time(时分秒) datetime(年月日时分秒) trigger: 'click', range: true, format: 'yyyy-MM-dd', //时间格式 常用时间格式:yyyy-MM-dd HH:mm:ss // btns: ['now', 'confirm'], //选择框右下角显示的按钮 清除-现在-确定 }); laydate.render({ elem: '#times',//指定元素 元素选择器 type: 'date', //选择时间类型 可选值:year(年) month(年月) date(年月日) time(时分秒) datetime(年月日时分秒) trigger: 'click', range: true, format: 'yyyy-MM-dd', //时间格式 常用时间格式:yyyy-MM-dd HH:mm:ss // btns: ['now', 'confirm'], //选择框右下角显示的按钮 清除-现在-确定 }); $('#export').click(function () { var tableName = $("#tableName").val(); console.log(tableName); var nowDay=getDay(); if(tableName){ exportData(tableName,nowDay); }else{ let nums=1; var selectElement = document.getElementById('tableName'); var selectedValues = []; for (var i = 0; i < selectElement.options.length; i++) { if(selectElement.options[i].value){ if(selectElement.options[i].value){ exportData(selectElement.options[i].value,nowDay); sleep(5); nums++; selectedValues.push(selectElement.options[i].value); console.log(selectElement.options[i].value); console.log(nums); } } } console.log(selectedValues.join("@")); } }); }) function sleep(seconds) { return new Promise(resolve => setTimeout(resolve, seconds * 1000)); } //导出 function exportData(table,nowDay) { let loadingMsg = layer.msg("数据导出中,请稍候...", {icon: 16, scrollbar: false, time: 0,}); let url = dataUrl + "proteam/pot/export/exportDataExcel?" + setData(getReqParams(table)) + '&token='+token; let xhr = new XMLHttpRequest(); let a = document.createElement("a"); xhr.open("get", url, true); xhr.responseType = "blob"; // 转换流 xhr.setRequestHeader("encrypt", sm3(JSON.stringify( getReqParams(pageNum, limitSize) ))); xhr.onload = function () { layer.close(loadingMsg); if (this.status === 200) { let url = window.URL.createObjectURL(new Blob([this.response])) let link = document.createElement('a') link.style.display = 'none' link.href = url link.setAttribute('download', table+"-"+nowDay+".xlsx") document.body.appendChild(link) link.click() // 释放URL对象所占资源 window.URL.revokeObjectURL(url) // 用完即删 document.body.removeChild(link) } else { layer.msg("数据发生异常,请稍后重试", {icon: 16, scrollbar: false, time: 2000}); } }; xhr.send(); } function getReqParams(tableName) { let createTime=$("#createTime").val(); let updateTime=$("#updateTime").val(); let times=$("#times").val(); var createStartTime=""; var createEndTime=""; var updateStartTime=""; var updateEndTime=""; var startTime=""; var endTime=""; if(createTime){ createStartTime=createTime.split(" - ")[0]; createEndTime=createTime.split(" - ")[1]; } if(updateTime){ updateStartTime=updateTime.split(" - ")[0]; updateEndTime=updateTime.split(" - ")[1]; } if(times){ startTime=times.split(" - ")[0]; endTime=times.split(" - ")[1]; } let obj = {}; obj = { type:tableName, createStartTime:createStartTime, createEndTime:createEndTime, updateStartTime:updateStartTime, updateEndTime:updateEndTime, startTime:startTime, endTime:endTime }; return obj; }