var example = null; var pers = null; var isSelected = []; var id = localStorage.getItem("id"); var year = localStorage.getItem("year"); var month = localStorage.getItem("month"); var proId = localStorage.getItem("proId"); var proName = localStorage.getItem("proName"); var teamId = localStorage.getItem("teamId"); var teamName = localStorage.getItem("teamName"); var seTime = localStorage.getItem("seTime"); var date = seTime.split("~"); var startTime = date[0]; var endTime = date[1]; $(function () { layui.use(['layer', 'laydate', 'form'], function () { var layer = layui.layer; var laydate = layui.laydate; var form = layui.form; $("#proName").html(proName); $("#teamName").html(teamName); $("#year").html(year); $("#month").html(month); init(); pers = checkPermission(); $("#searchBt").click(function () { example.ajax.reload(); }); $("#download").click(function () { var token = localStorage.getItem("smz-token"); var loadingMsg = layer.msg('下载中,请稍候...', {icon: 16, scrollbar: false, time: 0}); // var url = smz_ht_url + "/wagesGrant/exportWagesGran?id=" + id + "&token=" + token; var keyWord = $("#keyWord").val(); var url = smz_ht_url + "/wagesGrant/exportWagesGran?teamId=" + teamId + "&proId=" + proId+ "&year=" + year+ "&month=" + month+ "&startTime=" + startTime + "&endTime=" + endTime + "&keyWord=" + keyWord + "&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 = "工资支付表-"+ proName +"-"+teamName+ "-"+ year+ "-"+ month + ".xlsx"; // 文件名 }else { layer.msg('导出发生异常,请稍后重试', {icon: 16, scrollbar: false, time: 2000}); } a.click() window.URL.revokeObjectURL(url) }; xhr.send(); }); }); }) function init() { example = $('#dt-table').DataTable({ "sort": false, 'paging':false, "searching": false, "processing": true, //加载数据时显示进度状态 "serverSide": true, "language": { "url": "../../../../js/plugin/datatables/Chinese.lang" }, "ajax": { "url": smz_ht_url + "/wagesGrant/getWagesInfos", "type": "get", "data": function (d) { d.teamId = teamId; d.proId = proId; d.year = year; d.month = month; d.keyWord = $("#keyWord").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); } } }, "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: '5%', data: function (row, type, set, meta) { var c = meta.settings._iDisplayStart + meta.row + 1; return c; } }, {"data": "teamMembers",width: '8%', }, {"data": "idNumber",width: '8%',}, {"data": "postName",width: '8%',}, {"data": "unitPrice",width: '8%'}, {"data": "checkNum",width: '8%'}, {"data": "basePay",width: '8%',}, {"data": "overtimeday",width: '5%',}, {"data": "unitOvertimePay",width: '5%',}, {"data": "overtimePay",width: '5%', "render": function (data, type, row,meta) { var overtimePay = row['overtimePay']; overtimePay = Number(overtimePay) overtimePay = overtimePay.toFixed(2); var id = "jbxj" + meta.row ; var html = ''; html += ""; return html; } }, {"data": "unitPerformanceFee",width: '5%',}, {"data": "performanceDay",width: '5%',}, {"data": "performanceFeePay",width: '5%', "render": function (data, type, row,meta) { var performanceFeePay = row['performanceFeePay']; performanceFeePay = Number(performanceFeePay) performanceFeePay = performanceFeePay.toFixed(2); var id = "jxxj" + meta.row ; var html = ''; html += ""; return html; } }, {"data": "payNum",width: '5%', "render": function (data, type, row,meta) { var payNum = row['payNum']; if(payNum==null||payNum=="null"){ payNum=0; } payNum = Number(payNum) payNum = payNum.toFixed(2); var id = "bcxj" + meta.row ; var html = ''; html += ""; return html; } }, {"data": "performanceCount",width: '8%'}, {"data": "autograph",width: '8%'}, ], footerCallback: function (row, data, start, end, display) { var api = this.api(), data; var intVal = function (i) { return typeof i === 'string' ? i.replace(/[\$,]/g, '') * 1 : typeof i === 'number' ? i : 0; }; // 当月发放基本工资 小计 api.column(0).data()是获取对应的数据 下标从0开始。 var basePay = api.column(6).data().reduce(function (a, b) { return intVal(a) + intVal(b); }, 0); // 加班费 小计 api.column(0).data()是获取对应的数据 下标从0开始。 var overtimePay = api.column(9).data().reduce(function (a, b) { return intVal(a) + intVal(b); }, 0); // 绩效奖金 小计 api.column(0).data()是获取对应的数据 下标从0开始。 var performanceFeePay = api.column(12).data().reduce(function (a, b) { return intVal(a) + intVal(b); }, 0); // 绩效奖金 累计(含本月) 小计 api.column(0).data()是获取对应的数据 下标从0开始。 var performanceCount = api.column(14).data().reduce(function (a, b) { return intVal(a) + intVal(b); }, 0); // 绩效奖金 累计(含本月) 小计 api.column(0).data()是获取对应的数据 下标从0开始。 var bcxj = api.column(13).data().reduce(function (a, b) { return intVal(a) + intVal(b); }, 0); //全部统计 pageTotal = api.column(4, { page: 'current' }).data().reduce(function (a, b) { return intVal(a) + intVal(b); }, 0); //api.column(6).footer 是放到对应的列表 下标从0开始。 basePay =basePay.toFixed(2); $(api.column(6).footer()).html( basePay ); overtimePay =overtimePay.toFixed(2); $(api.column(9).footer()).html( overtimePay ); performanceFeePay =performanceFeePay.toFixed(2); $(api.column(12).footer()).html( performanceFeePay ); bcxj =bcxj.toFixed(2); $(api.column(13).footer()).html( bcxj ); performanceCount =performanceCount.toFixed(2); $(api.column(14).footer()).html( performanceCount ); }, "order": [ [1, "asc"]] //在栏目列上显示排序功能 }); } //设置弹窗关闭 function reloading() { var index = parent.layer.getFrameIndex(window.name); //先得到当前 iframe层的索引 parent.layer.close(index); //再执行关闭 window.parent.location.reload(); }