var example = null; var pers = null; $(function () { layui.use(['layer', 'laydate', 'form'], function () { var layer = layui.layer; var laydate = layui.laydate; var form = layui.form; getPro(form); pers = checkPermission(); init(); var minListDate = $('#hidMinListDate').val();//最小可选时间,例:1990-02-01 var maxListDate = $('#hidMaxListDate').val();//最大可选时间,例:2200-12-31 $('#startTime').val(getNowTime()); $('#endTime').val(getNowTime()); var begin = "#startTime", end = "#endTime";//开始时间选择框、结束时间选择框:文本框 var endChange = function (val, date) { if (date && date.year) begindate.config.max = { year: date.year, month: date.month - 1,//必须减1才是正确值 date: date.date, hours: date.hours, minutes: date.minutes, seconds: date.seconds }; else { var dateInit = new Date(maxListDate.replace(/-/g, "/")); begindate.config.max = { year: dateInit.getFullYear(), month: dateInit.getMonth(), date: dateInit.getDate(), hours: dateInit.getHours(), minutes: dateInit.getMinutes(), seconds: dateInit.getSeconds() }; } }; var beginChange = function (val, date) { if (date && date.year) enddate.config.min = { year: date.year, month: date.month - 1, date: date.date, hours: date.hours, minutes: date.minutes, seconds: date.seconds }; else { var dateInit = new Date(minListDate.replace(/-/g, "/")); enddate.config.min = { year: dateInit.getFullYear(), month: dateInit.getMonth(), date: dateInit.getDate(), hours: dateInit.getHours(), minutes: dateInit.getMinutes(), seconds: dateInit.getSeconds() }; } }; var enddate = laydate.render({ elem: end, format: 'yyyy-MM-dd', min: minListDate, max: maxListDate, done: endChange }); var begindate = laydate.render({ elem: begin, format: 'yyyy-MM-dd', min: minListDate, max: maxListDate, done: beginChange }); $("#searchBt").click(function () { var startTime = $("#startTime").val(); var endTime = $("#endTime").val(); var dateStart = new Date(startTime); var dateEnd = new Date(endTime); var difValue = (dateEnd - dateStart) / (1000 * 60 * 60 * 24); if ((startTime == '' && endTime != '') || (startTime != '' && endTime == '')) { return top.layer.msg('时间填写不完整', { icon: 2, time: 2000 //2秒关闭(如果不配置,默认是3秒) }); } var startDateTemp = startTime.split("-"); var endDateTemp = endTime.split("-"); var allStartDate = new Date(startDateTemp[0], startDateTemp[1], startDateTemp[2]); var allEndDate = new Date(endDateTemp[0], endDateTemp[1], endDateTemp[2]); if (allStartDate.getTime() > allEndDate.getTime()) { return top.layer.msg('时间选择不合理,请重新选择', { icon: 2, time: 2000 //2秒关闭(如果不配置,默认是3秒) }); } example.ajax.reload(); // if (difValue >= 0 && difValue <= 31) { // example.ajax.reload(); // } else { // top.layer.msg('请选择31天以内,请重新选择', { // icon: 2, // time: 2000 //2秒关闭(如果不配置,默认是3秒) // }); // } }); }); //导出 // $("#exportBt").click(function () { // exportBtn(); // }); /*$("#ssss").click(function(){ view(); });*/ }) function init() { example = $('#dt-table').DataTable({ "searching": false, "processing": true, //加载数据时显示进度状态 "serverSide": true, "language": { "url": contentPath + "/js/plugin/datatables/Chinese.lang" }, "ajax": { "url": ctxPath + "/faceContrast", "type": "get", "data": function (d) { d.name = $("#name").val(); d.subName = $("#subName").val(); d.teamName = $("#teamName").val(); d.proId = $("#proId").val(); d.status = $("#status").val(); d.startTime = $("#startTime").val(); d.endTime = $("#endTime").val(); }, "error": function (xhr, textStatus, errorThrown) { var msg = xhr.responseText; 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": "name",width: '6%'}, {"data": "idNumber",width: '8%'}, {"data": "postName",width: '6%'}, // {"data": "orgName",width: '10%'}, {"data": "proName",width: '10%'}, {"data": "status",width: '6%',"orderable": false}, {"data": "subName",width: '10%'}, {"data": "teamName",width: '10%'}, // {"data": "checkInDay",width: '5%'}, {"data": "workHours","orderable": false,width: '5%'}, {"data": "notWorkHours","orderable": false,width: '5%'}, {"data": "breakWork","orderable": false,width: '5%'}, {"data": "gz","orderable": false,width: '5%'}, {"data": "jx","orderable": false,width: '5%'}, { "data": "", "defaultContent": "",width: '5%', "orderable": false, "render": function (data, type, row) { var proId = row['proId']; var teamId = row['teamId']; var subId = row['subId']; var idNumber = row['idNumber']; var name = row['name']; var proName = row['proName']; var exitTime = row['exitTime']; var einTime = row['einTime']; var gz = row['gz']; var effectDate = row['effectDate']; var html = ''; // sys:project:view html += buttonView(exitTime,einTime,idNumber,proId,name,proName,subId,teamId, gz,effectDate,"", pers); return html; } }, ], "order": [[1, "desc"], [2, "desc"], [3, "desc"], [4, "desc"], [6, "desc"], [7, "desc"]] //在栏目列上显示排序功能 }); } /** * 查看 * */ function view(exitTime,einTime,idNumber,proId,name,proName,subId,teamId,gz,effectDate) { var startTime = $('#startTime').val(); var endTime = $('#endTime').val(); localStorage.setItem("startTime",startTime); localStorage.setItem("endTime",endTime); localStorage.setItem("idNumber", idNumber); localStorage.setItem("proId", proId); localStorage.setItem("name", name); localStorage.setItem("subId", subId); localStorage.setItem("teamId", teamId); localStorage.setItem("exitTime", exitTime); localStorage.setItem("einTime", einTime); localStorage.setItem("gz", gz); localStorage.setItem("effectDate", effectDate); var index = layer.open({ title: false, type: 2, content: './faceContrastDetail.html', area: ['80%', '96%'], maxmin: false }); } // 详情按钮 function buttonView(exitTime,einTime,idNumber,proId,name,proName,subId,teamId,gz,effectDate, permission, pers) { if (permission != "") { if ($.inArray(permission, pers) < 0) { return ""; } } var btn = $(""); return btn.prop("outerHTML"); } /** * 导出数据 */ function exportBtn() { var token = localStorage.getItem("token"); var name = $("#name").val(); var teamName = $("#teamName").val(); var subName = $("#subName").val(); var proId = $("#proId").val(); var status = $("#status").val(); var startTime = $("#startTime").val(); var endTime = $("#endTime").val(); var index = top.layer.msg('数据较多,请稍等。。。', { icon: 4, time: 5000 //2秒关闭(如果不配置,默认是3秒) }); // $.ajax({ // type: 'get', // url: ctxPath + '/faceContrast/exportWorkerAttendance', // data: { // name: name, // teamName: teamName, // orgId: orgId, // proId: proId, // status: status, // startTime: startTime, // endTime: endTime, // token: token // // }, // async: false, // success: function (data) { // console.log("成功啦"); // }, // error: function (err) { // // } // }); window.location.href = ctxPath + "/faceContrast/exportWorkerAttendance?name=" + name + "&teamName=" + teamName +"&subName=" + subName + "&proId=" + proId + "&status=" + status + "&startTime=" + startTime + "&endTime=" + endTime+"&token=" + token; // top.layer.close(index); } /** * 下载 */ function downloadWorks() { var token = localStorage.getItem("token"); var name = $("#name").val(); var teamName = $("#teamName").val(); var subName = $("#subName").val(); var proId = $("#proId").val(); var status = $("#status").val(); var startTime = $("#startTime").val(); var endTime = $("#endTime").val(); var loadingMsg = layer.msg('下载中,请稍候...', {icon: 16, scrollbar: false, time: 0}); var url = ctxPath + "/faceContrast/exportWorkerAttendanceDownload?name=" + name + "&teamName=" + teamName+ "&subName=" + subName+ "&proId=" + proId+ "&status=" + status+ "&startTime=" + startTime+"&endTime=" + endTime+ "&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 = "施工人员考勤信息-"+startTime+"~"+endTime+".xlsx"; // 文件名 }else { layer.msg('发生异常,请稍后重试', {icon: 16, scrollbar: false, time: 2000}); } a.click() window.URL.revokeObjectURL(url) }; xhr.send(); } /** * 获得当前时间 yyyy-MM-dd * @returns {string} */ function getNowTime() { var time = new Date(); var year = time.getFullYear(); var month = time.getMonth() + 1 >= 10 ? time.getMonth() + 1 : '0' + (time.getMonth() + 1); var day = time.getDate() >= 10 ? time.getDate() : '0' + time.getDate(); return year + "-" + month + "-" + day; } /** * 获取当月第一天 * @returns {string} */ function getCurrentMonthFirst() { var date = new Date(); date.setDate(1); var year = date.getFullYear(); var month = date.getMonth() + 1 > 10 ? date.getMonth() + 1 : '0' + (date.getMonth() + 1); var day = date.getDate() < 10 ? "0" + date.getDate() : date.getDate(); return year + "-" + month + "-" + day; } function getPro(form) { $("#proId").empty(); $.ajax({ type: 'post', url: ctxPath + '/users/getProInfo', data: { }, async: false, success: function (data) { var html = ''; for (var i = 0; i < data.length; i++) { html += ''; } $("#proId").html(html); form.render(); }, error: function (err) { console.log("获取工程下拉列表出错:", err); } }); }