HnRealNameBmwWeb/js/work/person/reportStatistics/salaryPaymentStatisticsList.js

516 lines
21 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 layer,form;
layui.use(['layer','form'], function () {
layer = layui.layer;
form = layui.form;
getProject(form); //查询工程
pers = checkPermission();
init();
$("#searchBt").click(function () {
example.ajax.reload();
});
});
function init() {
example =
$('#dt-table').DataTable({
"searching": false,
"processing": true, //加载数据时显示进度状态
"serverSide": true,
"pagingType": "full_numbers", //首页|尾页
"language": {
"url": ctxPath + "/js/plugin/datatables/Chinese.lang"
},
'scrollY': 'calc(100vh - 150px)',
'scroller': true,
'scrollCollapse':true,
"ajax": {
"url": ctxPath + "/salaryPaymentStatistics",
"type": "get",
"data": function (d) {
d.proId = $("#proId").val();
d.keyWord = $("#keyWord").val();
d.receiptFlage = $("#receiptFlage").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);
}
}
},
"lengthMenu": [ [10, 20, 50], [10, 20, 50] ], // 设置每页显示数据量选项
"drawCallback": function() {
// alert( '表格重绘了' );
var thisDataTable = $('#dt-table').DataTable();
$(".pagination").append("<li>" +
"<a class='paginate_button' style='padding:4px;' href='#' tabindex='0'>到 <input style='margin:0px;width:40px;' id='changePage'> 页</a>" +
"<a class='paginate_button' style='margin-bottom:1px' href='#' tabindex='0' id='dataTable-btn'>确认</a></li>");
//点击按钮跳转指定页数
$('#dataTable-btn').click(function (e) {
if ($("#changePage").val() && $("#changePage").val() > 0) {
var redirectpage = $("#changePage").val() - 1;
} else {
var redirectpage = 0;
}
thisDataTable.page(redirectpage).draw( 'page' );
});
//敲击回车键跳转指定页数
$("#changePage").keypress(function (e) {
if(event.keyCode==13){
if ($("#changePage").val() && $("#changePage").val() > 0) {
var redirectpage = $("#changePage").val() - 1;
} else {
var redirectpage = 0;
}
thisDataTable.page(redirectpage).draw( 'page' );
}
});
},
"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>><'dt-table-length'l>",
"columns": [
{
width: '40px',
orderable: false,
data: function (row, type, set, meta) {
var c = meta.settings._iDisplayStart + meta.row + 1;
return c;
}
},
{"data": "proName","width":"9%",},
{"data": "teamName","width":"6%",},
{"data": "subName","width":"11%",},
{"data": "month","width":"6%",},
{"data": "startTime","width":"5%",
"render":function(data,type,row){
var seTime = row['seTime'];
var html = '';
html +="<span >"+seTime+"</span>";
return html;
}
},
{"data": "teamNum","width":"6%","orderable": false,},
{"data": "checkNum","width":"6%","orderable": false,},
{"data": "payNum","width":"6%","orderable": false,
"render":function (data,type,row) {
var payNum = row['payNum'];
payNum = Number(payNum);
payNum = payNum.toFixed(2);
var html='';
html +="<span>"+payNum+"</span>";
return html;
}
},
{"data": "withhold","width":"6%","orderable": false,
"render":function (data,type,row) {
var withhold = row['withhold'];
withhold = Number(withhold);
withhold = withhold.toFixed(2);
var html='';
html +="<span>"+withhold+"</span>";
return html;
}
},
{"data": "realPay","width":"6%","orderable": false,
"render":function (data,type,row) {
var realPay = row['realPay'];
realPay = Number(realPay);
realPay = realPay.toFixed(2);
var html='';
html +="<span>"+realPay+"</span>";
return html;
}
},
{
"data": "",
"width":"6%",
"defaultContent": "",
"orderable": false,
"render": function (data, type, row) {
var receiptFlage = row['receiptFlage'];
var html = '';
html +="<div>";
if(receiptFlage == "1"){
html +="<span style='color:#9BCB6F;'>已上传</span>";
}else {
html +="<span style='color:#DD365D;'>未上传</span>";
}
html +="</div>";
return html;
}
},
/*{
"data": "",
"width":"6%",
"defaultContent": "",
"orderable": false,
"render": function (data, type, row) {
var grantSuccee = row['grantSuccee'];
var grantFail = row['grantFail'];
var html = '';
html +="<div>";
html +="<span style='color:#9BCB6F;'>成功:"+grantSuccee+"</span>";
html +="</div>";
html +="<div>";
html +="<span style='color:#DD365D;'>失败:"+grantFail+"</span>";
html +="</div>";
return html;
}
},*/
{
"data": "",
"defaultContent": "",
"orderable": false,
"render": function (data, type, row) {
var id = row['id'];
var idNumber = row['idNumber'];
var url = row['path'];
var receiptNum = row['receiptNum'];
var html = '';
if(receiptNum=="0" || receiptNum==0){
html += "<span>"+receiptNum+"</span>";
}else {
html += "<a style = 'color:#09A8F1;cursor: pointer' onclick = 'receiptFileView(\"" + id + "\",\"" + idNumber + "\",\"" + url + "\")'>" + receiptNum + "</a>";
}
return html;
}
},
// {"data": "remark","width":"6%","orderable": false,},
{
"data": "",
"width":"6%",
"defaultContent": "",
"orderable": false,
"render": function (data, type, row) {
var id = row['id'];
var idNumber = row['idNumber'];
var year = row['year'];
var month = row['month'];
var proId = row['proId'];
var proName = row['proName'];
var teamId = row['teamId'];
var teamName = row['teamName'];
var subId = row['subId'];
var subName = row['subName'];
var seTime = row['seTime'];
var html = '';
html += detailsBtn(idNumber, id, proId, year,month,proName,teamId,teamName,subId,subName,seTime,"", pers);
html += downloadBtn(id,year,month,proId,proName,teamId,teamName,seTime, "", pers);
return html;
}
},
],
"fnInitComplete":function () {
// 防止页面闪烁
$('.table').css('display','');
//自动调整列宽(自适应)
let table = $('#dt-table').DataTable();
table.columns.adjust().draw();
},
"order": [[1, "desc"],[2, "desc"],[3, "desc"],[4, "desc"],[5, "desc"]] //在栏目列上显示排序功能
});
}
/**
* 查看回执单详情
*/
function receiptFileView(id,idNumber,url){
//去后台查数据
var formUrl = ctxPath + "/wagesInfoReceipt/getReceipt";
$.ajax({
type: 'POST',
async: true, // 默认异步true,false表示同步
url: formUrl, // 请求地址
data: {"id":id}, //获取提交的表单字段
success: function (data) {
var filePaths = new Array();
if (data.length>0) {
for(var i=0; i<data.length; i++){
var filePath = data[i].path ;
filePaths.push(filePath)
}
localStorage.setItem("filePaths", filePaths);
var height = '525px';
var width = '800px';
var index = layer.open({
title: ["查看", 'color:#3B70A1;background-color:#E8ECEB;font-size:20px'],
type: 2,
content: '../../receiptFileView.html',
area: [width, height],
maxmin: false,
});
} else {
parent.layer.msg('回执单查询失败', {icon: 2, time: 2000});
}
},
error: function (XMLHttpRequest, textStatus, e) {
layer.msg('数据请求发生异常,请稍后重试', {icon: 16, scrollbar: false});
}
});
}
/**
* 下载按钮
*/
function downloadBtn(id,year,month,proId,proName,teamId,teamName, seTime,permission, pers){
if (permission != "") {
if ($.inArray(permission, pers) < 0) {
return "";
}
}
var btn = $("<button class='layui-btn layui-btn-xs' title='下载' onclick='download(\"" + id + "\",\"" + year + "\",\"" + month + "\",\"" + proId + "\",\"" + proName + "\",\"" + teamId + "\",\"" + teamName + "\",\"" + seTime + "\")'>下载</button>");
return btn.prop("outerHTML");
}
/**
* 下载
*/
function download(id,year,month ,proId ,proName,teamId,teamName,seTime) {
var seTimea = seTime.split("~");
var startTime = seTimea[0];
var endTime = seTimea[1];
var token = localStorage.getItem("token");
var loadingMsg = layer.msg('下载中,请稍候...', {icon: 16, scrollbar: false, time: 0});
var url = ctxPath + "/salaryPaymentStatistics/exportSalaryPaymentStatisticsByTeamPro?id=" + id + "&startTime=" + startTime + "&endTime=" + endTime + "&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 detailsBtn(idNumber, id,proId,year,month,proName,teamId,teamName,subId,subName,seTime, permission, pers){
if (permission != "") {
if ($.inArray(permission, pers) < 0) {
return "";
}
}
var btn = $("<button class='layui-btn layui-btn-xs' title='详情' onclick='details(\""+idNumber+"\",\""+id+"\",\""+proId+"\",\"" + year + "\",\"" + month + "\",\"" + proName + "\",\"" + teamId + "\",\"" + teamName + "\",\"" + subId + "\",\"" + subName + "\",\"" + seTime + "\")'>详情</button>");
return btn.prop("outerHTML");
}
/**
* 详情
*/
function details(idNumber,id,proId,year,month,proName,teamId,teamName,subId,subName,seTime) {
localStorage.setItem("id",id);
localStorage.setItem("year",year);
localStorage.setItem("month",month);
localStorage.setItem("proId",proId);
localStorage.setItem("proName",proName);
localStorage.setItem("teamId",teamId);
localStorage.setItem("teamName",teamName);
localStorage.setItem("subId",subId);
localStorage.setItem("subName",subName);
localStorage.setItem("seTime",seTime);
var height = '750px';
var width = '1650px';
var index = layer.open({
title: ['工资发放结果详情', 'color:#3B70A1;background-color:#E8ECEB;font-size:20px;font-weight: bold'],
type: 2,
content: 'salaryPaymentStatisticsForm.html',
area: [width, height],
maxmin: false,
});
}
function openContractWitnessFormHtml(idNumber,id,proId,contractId) {
let height = getDefaultHeight2().toFixed(0) + 'px';
let width = getDefaultWidth2().toFixed(0) + 'px';
let layerIndex = layer.open({
title: false,
type: 1,
id: 'layer-choose-checker',
maxmin: false,
shade: 0.1,
shadeClose: false, //开启遮罩关闭
content: chooseSignTypeHtml(idNumber,id,proId,contractId),
area: [width, height],
move: false,
success: function (layero, index) {
$(window).resize(function () {
if (autoResizeWidth2) {
autoResizeWidth2(index);
}
if (autoResizeHeight2) {
autoResizeHeight2(index);
}
})
},
cancel : function() {
layer.closeAll();
}
});
}
function chooseSignTypeHtml(idNumber,id,proId,contractId) {
return '<div style="width: 100%;height: 100%;display: flex;align-items: center;justify-content: space-between;flex-direction: column;padding: 15%;">' +
'<p style="font-size: 23px;font-weight: bold;">请选择签订的合同模板</p>' +
'<a style="font-size: 23px;font-weight: bold;color: #2AAAF0;text-decoration: underline;cursor: pointer;" onclick="choosePersonnelType(1,\''+idNumber+'\',\''+id+'\',\''+proId+'\',\''+contractId+'\')">附件1-1-劳动合同书(普通人员)</a>' +
'<a style="font-size: 23px;font-weight: bold;color: #2AAAF0;text-decoration: underline;cursor: pointer;" onclick="choosePersonnelType(2,\''+idNumber+'\',\''+id+'\',\''+proId+'\',\''+contractId+'\')">附件1-2-劳动合同书(班组长)</a>' +
'</div>';
}
// 1、普通人员2班组长
function choosePersonnelType(value,idNumber,id,proId,contractId) {
let title = '合同见证上传(普通人员)';
if(value === 2){
title = '合同见证上传(班组长)';
}
let height = getDefaultHeight().toFixed(0) + 'px';
let width = getDefaultWidth().toFixed(0) + 'px';
let layerIndex = layer.open({
id: 'layer_Personnel_add',
title: [title, 'color:#3A81AD;font-size:22px;background-color:#eee;'],
type: 2,
content: 'contractWitnessForm.html',
area: [width, height],
maxmin: false,
shadeClose: false, //开启遮罩关闭
shade: 0.3, //显示遮罩
move: false,
resize: false,
success: function (layero, index) {
let iframeWin = window["layui-layer-iframe" + layerIndex];
iframeWin.setParam(value,idNumber,id === 'null' ? '-1':id,proId,contractId);
$(window).resize(function () {
if (autoResizeWidth) {
autoResizeWidth(index);
}
if (autoResizeHeight) {
autoResizeHeight(index);
}
})
},
cancel : function() {
layer.closeAll();
}
});
}
// 删除按钮
function buttonDel(idNumber,id, permission, pers){
if(permission != ""){
if ($.inArray(permission, pers) < 0) {
return "";
}
}
var btn = $("<button class='layui-btn layui-btn-xs' title='删除' onclick='del(\"" + idNumber +"\",\""+id+"\")'><i class='layui-icon'>&#xe640;</i></button>");
return btn.prop("outerHTML");
}
/**
* 删除用户
* */
function del(idNumber,id) {
layer.confirm("确定删除吗?",function () {
$.ajax({
type: 'post',
url: ctxPath + '/contract/delContract',
data: {idNumber:idNumber,delId:id},
dataType: 'json',
success: function (data) {
if (data.resMsg == "删除成功") {
layer.alert('删除成功', {icon: 1});
example.ajax.reload(); // 刷新页面
} else {
layer.msg("删除失败", {icon: 2});
example.ajax.reload(); // 刷新页面
}
}
})
})
}
function getUuid() {
var s = [];
var hexDigits = "0123456789abcdef";
for (var i = 0; i < 36; i++) {
s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1);
}
s[14] = "4"; // bits 12-15 of the time_hi_and_version field to 0010
s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1); // bits 6-7 of the clock_seq_hi_and_reserved to 01
s[8] = s[13] = s[18] = s[23] = "-";
var rep = "-";
var uuid = s.join("").replace(new RegExp(rep,'gm'),'');
return uuid;
}
// 子页面调用的刷新父页面方法
function reloadData() {
example.ajax.reload();
}
//合同见证上传
// function uploadContractWitnessView(idNumber,id) {
// var contractId = getUuid();
// //以前有合同则须通过id删除并添加新的。无合同删除用-1
// if(id!==null && id!=='null'){
// let confirm = layer.confirm("合同见证已存在,是否删除然并重新上传?",function () {
// localStorage.setItem("idNumber", idNumber);
// localStorage.setItem("delId", id);
// localStorage.setItem("contractId", contractId);
// layer.close(confirm);
// var height = '700px';
// var width = '1300px';
// var index = layer.open({
// title: ['合同见证上传','color:#3B70A1;background-color:#E8ECEB;font-size:20px'],
// type: 2,
// content: 'contractSignUploadFrom.html',
// area: [width, height],
// maxmin: false
// });
// })
// }else{
// localStorage.setItem("idNumber", idNumber);
// localStorage.setItem("delId", "-1");
// localStorage.setItem("contractId", contractId);
// var height = '700px';
// var width = '1300px';
// var index = layer.open({
// title: ['合同见证上传','color:#3B70A1;background-color:#E8ECEB;font-size:20px'],
// type: 2,
// content: 'contractSignUploadFrom.html',
// area: [width, height],
// maxmin: false
// });
// }
//
//
//
// }