hn_cloud_web/smz-web/js/work/person/wagesManage/wagesGrantDetails.js

229 lines
9.9 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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 += "<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();
}