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 subId = localStorage.getItem("subId"); var subName = localStorage.getItem("subName"); var seTime = localStorage.getItem("seTime"); $(function () { layui.use(['layer', 'laydate', 'form'], function () { var layer = layui.layer; var laydate = layui.laydate; var form = layui.form; $("#years").html(year+"年"+month+"月"); $("#proName").html("工程名称:"+proName); $("#subName").html(subName+" "+teamName); init(); pers = checkPermission(); $("#searchBt").click(function () { example.ajax.reload(); }); $("#download").click(function () { downloadPaymentDetails(); }); }); }) function init() { var seTimes = seTime.split("~"); example = $('#dt-table').DataTable({ 'paging':false, //取消分页 "searching": false, "processing": true, //加载数据时显示进度状态 "serverSide": true, "language": { "url": contentPath + "/js/plugin/datatables/Chinese.lang" }, "ajax": { "url": ctxPath + "/wagesPayment/getTeamPaymentByTeamPro", "type": "get", "data": function (d) { d.id = id; d.keyWord = $("#keyWord").val(); d.startTime = seTimes[0]; d.endTime = seTimes[1]; // d.paymentFlage = $("#paymentFlage").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); } } }, "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%', orderable: false, data: function (row, type, set, meta) { var c = meta.settings._iDisplayStart + meta.row + 1; return c; } }, {"data": "teamMembers",width: '8%',"orderable": false,}, {"data": "idNumber",width: '8%',"orderable": false,}, {"data": "teamName",width: '5%',"orderable": false,}, {"data": "postName",width: '5%',"orderable": false,}, {"data": "checkNum",width: '5%',"orderable": false,}, {"data": "payNum",width: '8%',"orderable": false, //应发工资 "render":function (data,type,row) { var payNum = row['payNum']; if(payNum==null|| payNum=="null"){ payNum=0; } var payNums = Number(payNum); payNums =payNums.toFixed(2); var html = ''; html += ""+payNums+""; return html; } }, /*{"data": "shouldPerformanceFeePay",width: '8%',"orderable": false, //应发绩效 },*/ {"data": "withhold",width: '8%',"orderable": false, }, {"data": "realPay",width: '8%',"orderable": false, //实发工资 "render":function (data,type,row) { var realPay = row['realPay']; if(realPay==null|| realPay=="null"){ realPay=0; } var realPays = Number(realPay); realPays =realPays.toFixed(2); var html = ''; html += ""+realPays+""; return html; } }, {"data": "bankName",width: '10%',"orderable": false,}, {"data": "bankCardNum",width: '8%',"orderable": false,}, // {"data": "",width: '8%',"orderable": false, // "render":function(data,type,row){ // var paymentFlage = row['paymentFlage']; // var html = ''; // if(paymentFlage==1){ // html +="成功"; // }else{ // html +="失败"; // } // return html; // } // }, // {"data": "remark",width: '8%',"orderable": false,}, ], 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 checkNums = api.column(5).data().reduce(function (a, b) { return intVal(a) + intVal(b); }, 0); checkNums = Number(checkNums); checkNums =checkNums.toFixed(2); //应发工资 var payNums = api.column(6).data().reduce(function (a, b) { return intVal(a) + intVal(b); }, 0); payNums = Number(payNums); payNums =payNums.toFixed(2); //应发绩效 /*var shouldPerformanceFeePays = api.column(7).data().reduce(function (a, b) { return intVal(a) + intVal(b); }, 0); shouldPerformanceFeePays = Number(shouldPerformanceFeePays); shouldPerformanceFeePays =shouldPerformanceFeePays.toFixed(2);*/ //代扣 var withholds = api.column(7).data().reduce(function (a, b) { return intVal(a) + intVal(b); }, 0); withholds = Number(withholds); withholds =withholds.toFixed(2); //实发工资 var realPays = api.column(8).data().reduce(function (a, b) { return intVal(a) + intVal(b); }, 0); realPays = Number(realPays); realPays =realPays.toFixed(2); //api.column(0).footer 是放到对应的列表 下标从0开始。 $(api.column(5).footer()).html( checkNums ); $(api.column(6).footer()).html( payNums ); /*$(api.column(7).footer()).html( shouldPerformanceFeePays );*/ $(api.column(7).footer()).html( withholds ); $(api.column(8).footer()).html( realPays ); }, "order": [ ] //在栏目列上显示排序功能 }); } //设置弹窗关闭 function reloading() { var index = parent.layer.getFrameIndex(window.name); //先得到当前 iframe层的索引 parent.layer.close(index); //再执行关闭 window.parent.location.reload(); } function downloadPaymentDetails() { var seTimea = seTime.split("~"); var startTime = seTimea[0]; var endTime = seTimea[1]; var keyWord = $("#keyWord").val(); var token = localStorage.getItem("smz-token"); var loadingMsg = layer.msg('下载中,请稍候...', {icon: 16, scrollbar: false, time: 0}); var url = ctxPath + "/wagesPayment/exportWagesPayment?id=" + id + "&type=2" + "&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(); }