var token = localStorage.getItem("smz-token");
var example = null;
var pers = checkPermission();
var timeArr = getCurrentDateTimeArr();
var laydate;
var parentData;
var parentRewordNum;
let loadingMsg;
layui.use(['form', 'layer', 'laydate'], function () {
laydate = layui.laydate;
// 年月范围
laydate.render({
elem: '#month',
type: 'month',
trigger: 'click',
btns: [ 'now', 'confirm'],
done: function(value, date) {
$("#month").val(value);
console.log(value)
var idNumber = document.getElementById("idNumber").innerText;
detailsView(idNumber,value);
}
});
})
/**
* 获取数据
*/
function detailsView(idNumber, month) {
$.ajax({
type: 'POST',
contentType: "application/x-www-form-urlencoded",
url: smz_ht_url + '/salaryPaymentAndAttendanceRecords/getDetailData',
data:{
"idNumber":idNumber,
"month": month
},
dataType: 'json',
success: function (data) {
console.log(data)
setData(data);
}
})
}
function setData(data) {
if (data == null || data.length < 1){
parentRewordNum = "";
$("#attendancRecordNo").empty();
$("#attendancRecordNum").text(data.length);
parentData = data;
init("", parentData);
// $("#attendancRecordNo").empty();
// $("#inforTypeContent").empty();
// $("#salaryPaymentContent").empty();
// $("#rewardConfirmContent").empty();
// $("#transferFileDiskContent").empty();
// $("#attendanceContent").empty();
// $("#basicInforContent").empty();
// $("#fileCheckTable").empty();
// $("#fileTable").empty();
// $("#operationRecord").empty();
}else{
parentData = data;
initTitle(data);
init("", parentData);
}
}
function initTitle(data) {
console.log(data)
$("#userName").text(data[0].name);
$("#idNumber").text(data[0].idNumber);
$("#attendancRecordNum").text(data.length);
$("#month").val(data[0].month);
console.log(data[0].month)
//顶部选项卡
var html1 = "";
for (let i = 0; i < data.length; i++) {
if (i == 0){
html1 += `
${ data[i].rewordNum }
`;
}else{
html1 += `${ data[i].rewordNum }
`;
}
}
parentRewordNum = data[0].rewordNum;
$("#attendancRecordNo").empty();
$("#attendancRecordNo").append(html1);
}
function attendancRecordNoClick(rewordNum, event) {
$("#attendancRecordNo>div").removeClass("attendancRecordNoStyle");
$(event).addClass("attendancRecordNoStyle");
parentRewordNum = rewordNum
init(rewordNum, parentData);
}
function init(rewordNum, parentData) {
var data;
//首次进入,默认展示第一条数据
if(rewordNum == ""){
data = parentData[0]
}else{
for (let i = 0; i < parentData.length; i++) {
if(rewordNum == parentData[i].rewordNum){
data = parentData[i]
}
}
}
//个人相关信息 - 基本信息
var html2 = `
| 人员姓名 |
身份证号 |
核定编号 |
考勤月份 |
工程名称 |
分包名称 |
`;
if (isObjectEmpty(data)){
html2 += isEmpty(6)
}else{
html2 += `
| ${ data.name } |
${ data.idNumber } |
${ data.rewordNum} |
${ data.month } |
${ data.proName } |
${ data.subName } |
`;
}
$("#inforTypeContent").empty();
$("#inforTypeContent").append(html2);
//个人相关信息 - 农民工工资支付表
var html3 = `
| 所在班组 |
岗位 |
出勤天数 |
应发工资 |
其中代扣/代缴 |
实发工资 |
开户银行 |
银行卡号 |
`;
if (isObjectEmpty(data)){
html3 += isEmpty(8)
}else {
var jxWorkerPay = data.jxWorkerPayList;
if (jxWorkerPay.length < 1){
html3 += isEmpty(8)
}else{
for (let i = 0; i < jxWorkerPay.length; i++) {
html3 += `
| ${ jxWorkerPay[i].teamName } |
${ jxWorkerPay[i].post } |
${ jxWorkerPay[i].attenNum } |
${ jxWorkerPay[i].payable } |
${ jxWorkerPay[i].withhold } |
${ jxWorkerPay[i].payIn } |
${ jxWorkerPay[i].bank } |
${ jxWorkerPay[i].bankNum } |
`;
}
}
}
$("#salaryPaymentContent").empty();
$("#salaryPaymentContent").append(html3);
//个人相关信息 - 劳动报酬确认单
var html4 = `
| 岗位 |
当月计日工资 |
当月计件工资 |
当月停工、窝工工资 |
当月加班工资 |
当月绩效奖金 |
报酬小计 |
签名 |
| 单价 |
考勤天数 |
小计 |
单价 |
考勤天数 |
小计 |
单价 |
考勤天数 |
小计 |
单价 |
考勤天数 |
小计 |
单价 |
考勤天数 |
小计 |
`;
if (isObjectEmpty(data)){
html4 += isEmpty(18)
}else {
var jxConfimationPay = data.jxConfimationPayList;
if (jxConfimationPay.length < 1){
html4 += isEmpty(12)
}else{
for (let i = 0; i < jxConfimationPay.length; i++) {
html4 += `
| ${ jxConfimationPay[i].post } |
${ jxConfimationPay[i].basePrice } |
${ jxConfimationPay[i].baseNum } |
${ jxConfimationPay[i].baseAll } |
${ jxConfimationPay[i].piecePrice } |
${ jxConfimationPay[i].pieceNum } |
${ jxConfimationPay[i].pieceAll } |
${ jxConfimationPay[i].sutDownPrice } |
${ jxConfimationPay[i].sutDownNum } |
${ jxConfimationPay[i].sutDownAll } |
${ jxConfimationPay[i].overtimePrice } |
${ jxConfimationPay[i].overtimeNum } |
${ jxConfimationPay[i].overtimeAll } |
${ jxConfimationPay[i].achievementsPrice } |
${ jxConfimationPay[i].achievementsNum } |
${ jxConfimationPay[i].achievementsAll } |
${ jxConfimationPay[i].rewardAll } |
${ jxConfimationPay[i].bonus } |
`;
}
}
}
$("#rewardConfirmContent").empty();
$("#rewardConfirmContent").append(html4);
//个人相关信息 - 传盘文件
var html5 = `
| 所在班组 |
岗位 |
出勤天数 |
应发工资 |
其中:代扣/代缴 |
实发工资 |
银行卡号 |
`;
if (isObjectEmpty(data)){
html5 += isEmpty(7)
} else {
var jxDiskReword = data.jxDiskRewordList;
if (jxDiskReword.length < 1){
html5 += isEmpty(7)
}else{
for (let i = 0; i < data.jxDiskRewordList.length; i++) {
html5 += `
| ${ jxDiskReword[i].teamName } |
${ jxDiskReword[i].post } |
${ jxDiskReword[i].attenNum } |
${ jxDiskReword[i].payable } |
${ jxDiskReword[i].withhold } |
${ jxDiskReword[i].payIn } |
${ jxDiskReword[i].bankNum } |
`;
}
}
}
$("#transferFileDiskContent").empty();
$("#transferFileDiskContent").append(html5);
//个人相关信息 - 系统考勤
var html6 = `
| 工种 |
工程名称 |
分包商 |
班组 |
计日天数 |
计件天数 |
停窝工天数 |
休息天数 |
缺勤天数 |
合同工资 |
合同绩效 |
银行卡号 |
`;
if (isObjectEmpty(data)){
html6 += isEmpty(12)
} else {
var jxAttendanceReword = data.jxAttendanceRewordList;
if (jxAttendanceReword.length < 1){
html6 += isEmpty(10)
}else{
for (let i = 0; i < jxAttendanceReword.length; i++) {
html6 += `
| ${ jxAttendanceReword[i].post } |
${ jxAttendanceReword[i].proName } |
${ jxAttendanceReword[i].subName } |
${ jxAttendanceReword[i].teamName } |
${ jxAttendanceReword[i].attenNum } |
${ jxAttendanceReword[i].pieceNum } |
${ jxAttendanceReword[i].sutDownNum } |
${ jxAttendanceReword[i].restNum } |
${ jxAttendanceReword[i].noworkNum } |
${ jxAttendanceReword[i].basePay } |
${ jxAttendanceReword[i].achievementsPay } |
${ jxAttendanceReword[i].bankNum } |
`;
}
}
}
$("#attendanceContent").empty();
$("#attendanceContent").append(html6);
//工资考勤核对信息 - 基本信息
var html7 = `
| 工资考勤月份 |
工程名称 |
分包名称 |
是否存在异常数据 |
`;
if (isObjectEmpty(data)){
html7 += isEmpty(4)
} else {
var salaryAndAttendanceVerification = data.salaryAndAttendanceVerificationList;
if (salaryAndAttendanceVerification.length < 1){
html7 += isEmpty(4)
}else{
for (let i = 0; i < salaryAndAttendanceVerification.length; i++) {
if (salaryAndAttendanceVerification[i].abnormalNum != 0 && salaryAndAttendanceVerification[i].abnormalNum != null){
html7 += `
| ${ salaryAndAttendanceVerification[i].month } |
${ salaryAndAttendanceVerification[i].proName } |
${ salaryAndAttendanceVerification[i].subName } |
异常数据 ${ salaryAndAttendanceVerification[i].abnormalNum } 人
查看
|
`;
}else {
html7 += `
| ${ salaryAndAttendanceVerification[i].month } |
${ salaryAndAttendanceVerification[i].proName } |
${ salaryAndAttendanceVerification[i].subName } |
数据正常 |
`;
}
}
}
}
html7 += `
| 施工人数 |
考勤天数 |
应发金额 |
实发金额 |
`;
if (isObjectEmpty(data)){
html7 += isEmpty(4)
} else {
if (salaryAndAttendanceVerification.length < 1){
html7 += isEmpty(4)
}else{
for (let i = 0; i < salaryAndAttendanceVerification.length; i++) {
html7 += `
| ${ salaryAndAttendanceVerification[i].workerNum } |
${ salaryAndAttendanceVerification[i].attenNum } |
${ salaryAndAttendanceVerification[i].payable } |
${ salaryAndAttendanceVerification[i].payIn } |
`;
}
}
}
html7 += `
| 备注描述 |
`;
if (isObjectEmpty(data)){
html7 += isEmpty(4)
} else {
if (salaryAndAttendanceVerification.length < 1){
html7 += isEmpty(4)
}else{
for (let i = 0; i < salaryAndAttendanceVerification.length; i++) {
html7 += `
| ${salaryAndAttendanceVerification[i].checkRemark} |
`;
}
}
}
$("#basicInforContent").empty();
$("#basicInforContent").append(html7);
//线下确认附件
var html8 = `
| 是否分包代发 |
情况说明备注 |
`;
if (isObjectEmpty(data)){
html8 += isEmpty(2)
}else{
html8 += `
| ${ data.isSubLssued } |
${ data.remark } |
`;
}
$("#fileCheckTable").empty();
$("#fileCheckTable").append(html8);
//线下确认附件 - 附件文档
var html9 = `
| 文件类型 |
文件名 |
上传人员 |
上传时间 |
操作 |
`;
if (isObjectEmpty(data)){
html9 += isEmpty(5)
} else {
var JxFileReword = data.jxFileRewordList;
if (JxFileReword.length < 1){
html9 += isEmpty(5)
}else{
for (let i = 0; i < JxFileReword.length; i++) {
html9 += `
| ${ JxFileReword[i].type } |
${ JxFileReword[i].fileName } |
${ JxFileReword[i].userName } |
${ JxFileReword[i].uploadTime } |
预览
下载
|
`;
}
}
}
$("#fileTable").empty();
$("#fileTable").append(html9);
//操作记录
if (!isObjectEmpty(data)){
var operationRecord = data.operationRecordList;
var operationHistory = data.operationRecordListNew;
var html10 = '';
if (!Array.isArray) {
Array.isArray = function(arg) {
return Object.prototype.toString.call(arg) === '[object Array]';
};
}
if(Array.isArray(data.operationRecordListNew) && data.operationRecordListNew.length > 0){
$.each(data.operationRecordListNew,function (index,item){
var remarkPrefix = '';
if(item.auditResult == 0) {
remarkPrefix = '已驳回:';
}
var auditRemark = '';
if(item.auditRemark != null && item.auditRemark != '') {
auditRemark = item.auditRemark;
}else {
auditRemark = ' 无';
}
var elapsedTime = '';
if(item.elapsedTime != null && item.elapsedTime != '') {
elapsedTime = '共间隔'+ item.elapsedTime +',';
}
html10 += `
${ item.submitTime.substring(0,10) }
${ item.submitterName }
${ item.userPhone }
${ item.roleName }
${ elapsedTime }备注原因:${ remarkPrefix + auditRemark }
${ item.submitTime }
`;
});
}else {
html10 += `
${ operationRecord[0].upCompanyTime.split(" ")[0] }
${ operationRecord[0].upCompanyName }
${ operationRecord[0].upCompanyPhone }
${ operationRecord[0].upCompanyRole }
共间隔${ operationRecord[0].upTotalTime }备注原因:${ operationRecord[0].upCompanyRemark }
${ operationRecord[0].upCompanyTime }
${ operationRecord[0].upSubcompanyTime.split(" ")[0] }
${ operationRecord[0].upSubcompanyName }
${ operationRecord[0].upSubcompanyPhone }
${ operationRecord[0].upSubcompanyRole }
备注原因:${ operationRecord[0].upSubcompanyRemark }
${ operationRecord[0].upSubcompanyTime }
${ operationRecord[0].companyTime.split(" ")[0] }
${ operationRecord[0].companyName }
${ operationRecord[0].companyPhone }
${ operationRecord[0].companyRole }
共间隔${ operationRecord[0].totalTime }备注原因:${ operationRecord[0].companyRemark }
${ operationRecord[0].companyTime }
${ operationRecord[0].subcompanyTime.split(" ")[0] }
${ operationRecord[0].subcompanyName }
${ operationRecord[0].subcompanyPhone }
${ operationRecord[0].subcompanyRole }
备注原因:${ operationRecord[0].subcompanyRemark }
${ operationRecord[0].subcompanyTime }
${ operationRecord[0].projecterTime.split(" ")[0] }
${ operationRecord[0].projecterName }
${ operationRecord[0].projecterPhone }
${ operationRecord[0].projecterRole }
备注原因:${ operationRecord[0].projecterRemark }
${ operationRecord[0].projecterTime }
`;
}
$("#operationRecord").empty();
$("#operationRecord").append(html10);
} else {
$("#operationRecord").empty();
}
}
//文件下载
function download(id) {
//列表
loadingMsg = top.layer.msg('加载中,请稍候...', {icon: 16, scrollbar: false, time: 0, shade: [0.8, '#393D49']});
//列表
$.ajax({
type: 'POST',
async: true, // 默认异步true,false表示同步
url: smz_ht_url + "/salaryPaymentAndAttendanceRecords/checkSalaryFileIsActive", // 请求地址
contentType: "application/json; charset=utf-8",
dataType: 'json', // 服务器返回数据类型
data: JSON.stringify({
type: "2",
id: id
}), //获取提交的表单字段
success: function (data) {
if (data.code == 200) {
top.layer.close(loadingMsg);
window.location.href = smz_ht_url + '/salaryPaymentAndAttendanceRecords/downloadFile?id=' + id + '&token=' + token;
} else {
top.layer.close(loadingMsg);
layer.alert(data.msg);
}
},
error: function (XMLHttpRequest, textStatus, e) {
top.layer.close(loadingMsg);
layer.msg('数据请求发生异常,请稍后重试', {icon: 16, scrollbar: false});
}
});
}
//异常数据页面跳转
function abnormalView(idNumber, rewordNum) {
//跳转页面传参
localStorage.setItem("uprewordNum", rewordNum);
$.ajax({
type: 'POST',
contentType: "application/x-www-form-urlencoded",
url: smz_ht_url + '/salaryPaymentAndAttendanceRecords/getAbnormalDataByIdNumber',
data:{
"rewordNum":rewordNum,
"idNumber": idNumber
},
dataType: 'json',
success: function (data) {
console.log("data:", data)
var height = '100%';
var width = '90%';
var index = parent.layer.open({
title: ['比对结果-异常数据','color:#3B70A1;background-color:#E8ECEB;font-size:20px'],
type: 2,
content: './abnormalDetails.html',
area: [width, height],
maxmin: false,
// btn: ['关闭'],
success:function(layero,index){
// var myIframe = parent.window[layero.find('iframe')[0]['name']];
// var fnc = myIframe.setData(data); //aaa()为子页面的方法
},
});
}
})
}
//更多按钮点击
function moreClick(event) {
$(".hideShow").css("display", "");
$(event).css("display", "none")
}
//表格空值赋值
function isEmpty(num) {
var html = `
| 无数据 |
`
return html
}
//判断对象是否有值
function isObjectEmpty(obj) {
if (obj == null || obj == undefined){
return true;
}
return Object.keys(obj).length === 0;
}
//打包下载
function packageDownload() {
if (parentRewordNum == null || parentRewordNum == ""){
layer.msg("暂无数据");
return;
}
//列表
loadingMsg = top.layer.msg('加载中,请稍候...', {icon: 16, scrollbar: false, time: 0, shade: [0.8, '#393D49']});
//列表
$.ajax({
type: 'POST',
async: true, // 默认异步true,false表示同步
url: smz_ht_url + "/salaryPaymentAndAttendanceRecords/checkSalaryFileIsActive", // 请求地址
contentType: "application/json; charset=utf-8",
dataType: 'json', // 服务器返回数据类型
data: JSON.stringify({
type: "1",
rewordNum: parentRewordNum
}), //获取提交的表单字段
success: function (data) {
if (data.code == 200) {
top.layer.close(loadingMsg);
window.location.href = smz_ht_url + '/salaryPaymentAndAttendanceRecords/exportSalaryFile?rewordNum=' + parentRewordNum + '&token=' + token;
} else {
top.layer.close(loadingMsg);
layer.alert(data.msg);
}
},
error: function (XMLHttpRequest, textStatus, e) {
top.layer.close(loadingMsg);
layer.msg('数据请求发生异常,请稍后重试', {icon: 16, scrollbar: false});
}
});
}
//文件预览
function filePreView(url,fileName,fileId) {
localStorage.setItem("filePaths", url);
localStorage.setItem("fileNames", fileName);
// localStorage.setItem("fileTimes", time);
localStorage.setItem("fileId", fileId);
var height = '525px';
var width = '800px';
var index = layer.open({
title: ["查看", 'color:#3B70A1;background-color:#E8ECEB;font-size:20px'],
type: 2,
content: '../publicFileViewNew.html',
area: [width, height],
maxmin: false
});
}