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(); var today = getNowTime(); // 假设你的 getNowTime() 返回 'yyyy-MM-dd' 格式 $('#test6').val(today + ' - ' + today); laydate.render({ elem: '#test6', range: true, min: $('#hidMinListDate').val(), max: $('#hidMaxListDate').val() }); $("#searchBt").click(function () { var dateRange = $.trim($('#test6').val()); if (!dateRange) { return layer.msg('请选择日期范围', { icon: 2, time: 2000 }); } example.ajax.reload(); }); init(); }); }) function init() { example = $('#dt-table').DataTable({ "searching": false, "processing": true, //加载数据时显示进度状态 "serverSide": true, "language": { "url": "../../../js/plugin/datatables/Chinese.lang" }, "ajax": { "url": smz_ht_url + "/faceContrast", "type": "get", "data": function (d) { var dateRange = $.trim($('#test6').val()); var parts = dateRange.split(' - '); var startTime = parts[0]; var endTime = parts[1]; d.name = $("#name").val(); d.subName = $("#subName").val(); d.teamName = $("#teamName").val(); d.proId = $("#proId").val(); d.status = $("#status").val(); d.startTime = startTime; d.endTime = endTime; }, "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 = smz_ht_url + '/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","orderable": false,width: '6%'}, {"data": "idNumber","orderable": false,width: '8%'}, {"data": "postName","orderable": false,width: '6%'}, // {"data": "orgName",width: '10%'}, {"data": "proName","orderable": false,width: '10%'}, {"data": "status",width: '6%',"orderable": false}, {"data": "subName","orderable": false,width: '10%'}, {"data": "teamName","orderable": false,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": [] //在栏目列上显示排序功能 }); } /** * 查看 * */ function view(exitTime,einTime,idNumber,proId,name,proName,subId,teamId,gz,effectDate) { var dateRange = $.trim($('#test6').val()); var parts = dateRange.split(' - '); var startTime = parts[0]; var endTime = parts[1]; 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: ['97.5%', '97.5%'], 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("smz-token"); var name = $("#name").val(); var teamName = $("#teamName").val(); var subName = $("#subName").val(); var proId = $("#proId").val(); var status = $("#status").val(); var dateRange = $.trim($('#test6').val()); var parts = dateRange.split(' - '); var startTime = parts[0]; var endTime = parts[1]; var index = top.layer.msg('数据较多,请稍等。。。', { icon: 4, time: 5000 //2秒关闭(如果不配置,默认是3秒) }); window.location.href = smz_ht_url + "/faceContrast/exportWorkerAttendance?name=" + name + "&teamName=" + teamName +"&subName=" + subName + "&proId=" + proId + "&status=" + status + "&startTime=" + startTime + "&endTime=" + endTime+"&token=" + token; } /** * 下载 */ function downloadWorks() { var token = localStorage.getItem("smz-token"); var name = $("#name").val(); var teamName = $("#teamName").val(); var subName = $("#subName").val(); var proId = $("#proId").val(); var status = $("#status").val(); var dateRange = $.trim($('#test6').val()); var parts = dateRange.split(' - '); var startTime = parts[0]; var endTime = parts[1]; var loadingMsg = layer.msg('下载中,请稍候...', {icon: 16, scrollbar: false, time: 0}); var url = smz_ht_url + "/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: smz_ht_url + '/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); } }); }