229 lines
9.9 KiB
JavaScript
229 lines
9.9 KiB
JavaScript
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 = ctxPath + "/wagesGrant/exportWagesGran?id=" + id + "&token=" + token;
|
||
var keyWord = $("#keyWord").val();
|
||
var url = ctxPath + "/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": contentPath + "/js/plugin/datatables/Chinese.lang"
|
||
},
|
||
"ajax": {
|
||
"url": ctxPath + "/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 = 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%',
|
||
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 += "<input type='text' id='" + id + "' value='" + overtimePay + "' readonly style='border: 0px;text-align: center;width: 100%;' />";
|
||
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 += "<input type='text' readonly id='" + id + "' value='" + performanceFeePay + "' style='text-align: center;border: 0px;width: 100%;'/>";
|
||
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 += "<input type='text' id='" + id + "' value='" + payNum + "' readonly style='text-align: center;border: 0px;width: 100%;' />";
|
||
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();
|
||
} |