var example = null; var pers = null; var token = localStorage.getItem("token"); var num = 0; $(function () { layui.use(['laydate','form','layer'], function () { var layer = layui.layer; var laydate = layui.laydate; var form = layui.form; form.render(); form.verify(); getOrg(form); var orgId = $("#orgId").val(); getProject(form, orgId); form.on('select(orgId)', function (data) { getProject(form, data.value); }); pers = checkPermission(); 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秒) }); } init(); }); $("#generateData").click(function () { if(num != 0){ generatePayrollForm(); }else{ layer.msg('无人员数据'); } }); $("#downInformation").click(function () { downLoad(); }); }); }); function init() { example = $('#dt-table').DataTable({ "sort": false, "destroy": true, "searching": false, "processing": true, //加载数据时显示进度状态 "serverSide": true, "pagingType": "full_numbers", //首页|尾页 "language": { "url": ctxPath + "/js/plugin/datatables/Chinese.lang" }, "ajax": { "url": ctxPath + "/GenetatePayroll/getPayrollDetails", "type": "post", "data": function (d) { d.companyId = $("#orgId").val(); d.proId = $("#proId").val(); d.startTime = $("#startTime").val(); d.endTime = $("#endTime").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); } } }, "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>>", "columns": [ { width: '40px', data: function (row, type, set, meta) { num ++; var c = meta.settings._iDisplayStart + meta.row + 1; return c; } }, {"data": "personName"}, {"data": "idNumber"}, {"data": "bankNumber"}, {"data": "bankName"}, {"data": "workType"}, {"data": "salaryCalcType"}, {"data": "salaryCalcSta"}, {"data": "workDays"}, {"data": "wageCriterion"}, ], "order": [[0, "desc"], [1, "asc"]] //在栏目列上显示排序功能 }); } function generatePayrollForm(){ var companyId = $("#orgId").val(); var proId = $("#proId").val(); var startTime = $("#startTime").val(); var endTime = $("#endTime").val(); localStorage.setItem("companyId", companyId); localStorage.setItem("proId", proId); localStorage.setItem("startTime", startTime); localStorage.setItem("endTime", endTime); var height = '600px'; var width = '1000px'; var index = layer.open({ title: ['填写信息生成工资册','color:#3B70A1;background-color:#E8ECEB;font-size:20px'], type: 2, content: 'generatePayrollForm.html', area: [width, height], maxmin: false, btn: ['确定', '关闭'], success:function(layero,index){ var myIframe = window[layero.find('iframe')[0]['name']]; }, yes: function (index, layero) { // 获取弹出层中的form表单元素 var formSubmit = layer.getChildFrame('form', index); var submited = formSubmit.find('button')[0]; // 触发点击事件,会对表单进行验证,验证成功则提交表单,失败则返回错误信息 submited.click(); example.ajax.reload(); // 刷新页面 }, btn2: function (index, layero) { } }); } // 分公司和工程级联 function changePro(value) { if (value == 0) { getProject(null); } else { getProject(value); } } /** * 获取分公司 * */ function getCompanys(form) { $("#orgId").empty(); $.ajax({ type: 'POST', url: ctxPath + '/users/getOrgInfo', data: {}, dataType: 'json', success: function (data) { var str = ''; for (var i = 0; i < data.length; i++) { str += ''; } $("#orgId").html(str); form.render(); } }) } /** * 获取工程 * */ function getProject(form,orgId) { $("#proId").empty(); $.ajax({ type: 'POST', url: ctxPath + '/users/getProInfo', data: { "orgId": orgId }, dataType: 'json', success: function (data) { var str = ''; str = ''; for (var i = 0; i < data.length; i++) { str += ''; } $("#proId").html(str); form.render(); } }) } /** * 获取当日时间 */ function getNowTime() { var nowDate = new Date(); var year = nowDate.getFullYear(); var month = nowDate.getMonth() + 1 < 10 ? "0" + (nowDate.getMonth() + 1) : nowDate.getMonth() + 1; var day = nowDate.getDate() < 10 ? "0" + nowDate.getDate() : nowDate.getDate(); var dateStr = year + "-" + month + "-" + day; return dateStr; } //下载导出 function downLoad(id){ var orgId = $("#orgId").val(); var proId = $("#proId").val(); var startTime = $("#startTime").val(); var endTime = $("#endTime").val(); window.location.href = ctxPath + "/export/exportPayroll?orgId="+orgId+ "&proId=" + proId+ "&startTime=" + startTime + "&endTime=" + endTime+ "&token=" + token ; }