hn_cloud_web/smz-web/js/work/salaryAttendance/abnormalDetails.js

340 lines
13 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 = checkPermission();
var laydate;
var tree;
var parentData;
layui.use(['form', 'layer', 'tree'], function () {
laydate = layui.laydate;
tree = layui.tree;
function fetchTreeData(name, uprewordNum, callback) {
$.ajax({
type: 'post',
url: ctxPath + "/salaryCheck/getTreeDetail",
dataType: 'json',
data: {
recordNum: uprewordNum,
title: name
},
success: function (data) {
if (data.code == 200) {
callback(data.data);
} else {
console.error('Failed to fetch tree data:', data.message);
}
}
});
}
function renderTree(data) {
tree.render({
elem: '#treeContent',
data: data,
id: 'treeContent',
spread: true, // 设置为 true使得根节点默认展开
showLine: false,
onlyIconControl: true,
isSimpleData: true,
click: function (obj) {
console.log(obj);
if (obj.data.id !=1){
setData(obj.data.id, obj.data.title);
}
}
});
}
$("#searchBt").click(function () {
var name = $("#name").val();
var uprewordNum = localStorage.getItem("uprewordNum");
fetchTreeData(name, uprewordNum, function(data) {
renderTree(data);
});
});
function initTree() {
var name = $("#name").val();
var uprewordNum = localStorage.getItem("uprewordNum");
fetchTreeData(name, uprewordNum, function(data) {
renderTree(data);
if (data.length > 0 ) {
setData(data[0].id, data[0].title);
}
});
}
// Initialize tree on page load
initTree();
// init();
})
function setData(idNumber,userName) {
var cdata;
$("#userName").text(userName);
$("#userNo").text(idNumber);
var uprewordNum=localStorage.getItem("uprewordNum")
$.ajax({//id获取详情打开弹窗传值子页面
type: 'post',
url: ctxPath + "/salaryPaymentAndAttendanceRecords/getAbnormalDataByIdNumber",
dataType: 'json',
async:false,
data: {
idNumber: idNumber,rewordNum:uprewordNum
},
success: function (data) {
if(data.code==200){
cdata=data.data;
}
}
})
console.log("cdata:",cdata)
init(cdata);
}
function init(cdata) {
$("#abnormalDescribe").val('')
$("#salaryPaymentContent").empty()
$("#rewardConfirmContent").empty()
$("#transferFileDiskContent").empty()
$("#attendanceContent").empty()
var workerhtml='<tr align="center" >\n' +
' <td>所在班组</td>\n' +
' <td>岗位</td>\n' +
' <td>出勤天数</td>\n' +
' <td>应发工资</td>\n' +
' <td>其中代扣/代缴</td>\n' +
' <td>实发工资</td>\n' +
' <td>开户银行</td>\n' +
' <td>银行卡号</td>\n' +
' </tr>';
var confhtnl='<tr align="center" >\n' +
' <td rowspan="2">岗位</td>\n' +
' <td colspan="3">当月发放基本工资</td>\n' +
' <td colspan="3">当月发放加班工资</td>\n' +
' <td colspan="3">当月绩效奖金</td>\n' +
' <td rowspan="2">报酬小计</td>\n' +
' <td rowspan="2">绩效奖金累计(含本月)</td>\n' +
' </tr>\n' +
'\n' +
' <tr align="center" style="background-color: #F7F8FC" >\n' +
' <td>单价</td>\n' +
' <td>考勤天数</td>\n' +
' <td>小计</td>\n' +
' <td>单价</td>\n' +
' <td>考勤天数</td>\n' +
' <td>小计</td>\n' +
' <td>单价</td>\n' +
' <td>考勤天数</td>\n' +
' <td>小计</td>\n' +
' </tr>';
var diskhtml='<tr align="center" >\n' +
' <td>所在班组</td>\n' +
' <td>岗位</td>\n' +
' <td>出勤天数</td>\n' +
' <td>应发工资</td>\n' +
' <td>其中代扣/代缴</td>\n' +
' <td>实发工资</td>\n' +
' <td>银行卡号</td>\n' +
' </tr>';
var attenhtml='<tr align="center" >\n' +
' <td style="width: 7%">工种</td>\n' +
' <td style="width: 13%">工程名称</td>\n' +
' <td style="width: 15%">分包商</td>\n' +
' <td style="width: 12%">班组</td>\n' +
' <td style="width: 4%">出勤天数</td>\n' +
' <td style="width: 4%">休息天数</td>\n' +
' <td style="width: 4%">缺勤天数</td>\n' +
' <td style="width: 5%">合同工资</td>\n' +
' <td style="width: 5%">合同绩效</td>\n' +
' <td style="width: 13%">银行卡号</td>\n' +
' </tr>';
//异常数据
var jxDifferenceRewordList;
if (cdata.jxDifferenceRewordList != null && cdata.jxDifferenceRewordList.length > 0){
jxDifferenceRewordList=cdata.jxDifferenceRewordList[0];
}else {
jxDifferenceRewordList = {describes: ''};
}
//农名工工资支付表
if (cdata.jxWorkerPayList != null && cdata.jxWorkerPayList.length > 0){
var salaryPayment =cdata.jxWorkerPayList[0];
workerhtml=workerhtml+'<tr className="white">';
workerhtml=workerhtml+' <td>'+salaryPayment.teamName+'</td>';
if(jxDifferenceRewordList.post==1){
workerhtml=workerhtml+' <td style="color: red">'+salaryPayment.post+'</td>';
}else{
workerhtml=workerhtml+' <td>'+salaryPayment.post+'</td>';
}
if(jxDifferenceRewordList.attenNum==1){
workerhtml=workerhtml+' <td style="color: red">'+salaryPayment.attenNum+'</td>';
}else{
workerhtml=workerhtml+' <td>'+salaryPayment.attenNum+'</td>';
}
if(jxDifferenceRewordList.payable==1){
workerhtml=workerhtml+' <td style="color: red">'+salaryPayment.payable+'</td>';
}else{
workerhtml=workerhtml+' <td>'+salaryPayment.payable+'</td>';
}
workerhtml=workerhtml+' <td>'+salaryPayment.withhold+'</td>';
if(jxDifferenceRewordList.payIn==1){
workerhtml=workerhtml+' <td style="color: red">'+salaryPayment.payIn+'</td>';
}else{
workerhtml=workerhtml+' <td>'+salaryPayment.payIn+'</td>';
}
workerhtml=workerhtml+' <td>'+salaryPayment.bank+'</td>';
if(jxDifferenceRewordList.bankNum==1){
workerhtml=workerhtml+' <td style="color: red">'+salaryPayment.bankNum+'</td>';
}else{
workerhtml=workerhtml+' <td>'+salaryPayment.bankNum+'</td>';
}
}else {
workerhtml+=isEmpty(8)
}
workerhtml=workerhtml+'</tr>';
//劳动报酬确认单
if (cdata.jxConfimationPayList != null && cdata.jxConfimationPayList.length > 0){
var rewardConfirm =cdata.jxConfimationPayList[0];
confhtnl=confhtnl+'<tr className="white" style="background-color: #FFFFFF">';
if(jxDifferenceRewordList.post==1){
confhtnl=confhtnl+' <td style="color: red">'+rewardConfirm.post+'</td>';
}else{
confhtnl=confhtnl+' <td>'+rewardConfirm.post+'</td>';
}
if(jxDifferenceRewordList.basicPrice==1){
confhtnl=confhtnl+' <td style="color: red">'+rewardConfirm.basePrice+'</td>';
}else{
confhtnl=confhtnl+' <td>'+rewardConfirm.basePrice+'</td>';
}
if(jxDifferenceRewordList.attenNum==1){
confhtnl=confhtnl+' <td style="color: red">'+rewardConfirm.baseNum+'</td>';
}else{
confhtnl=confhtnl+' <td>'+rewardConfirm.baseNum+'</td>';
}
confhtnl=confhtnl+' <td>'+rewardConfirm.baseAll+'</td>';
confhtnl=confhtnl+' <td>'+rewardConfirm.overtimePrice+'</td>';
confhtnl=confhtnl+' <td>'+rewardConfirm.overtimeNum+'</td>';
confhtnl=confhtnl+' <td>'+rewardConfirm.overtimeAll+'</td>';
if(jxDifferenceRewordList.achievementsPrice==1){
confhtnl=confhtnl+' <td style="color: red">'+rewardConfirm.achievementsPrice+'</td>';
}else{
confhtnl=confhtnl+' <td>'+rewardConfirm.achievementsPrice+'</td>';
}
confhtnl=confhtnl+' <td>'+rewardConfirm.achievementsNum+'</td>';
confhtnl=confhtnl+' <td>'+rewardConfirm.achievementsAll+'</td>';
confhtnl=confhtnl+' <td>'+rewardConfirm.rewardAll+'</td>';
confhtnl=confhtnl+' <td>'+rewardConfirm.achievementsAll+'</td>';
}else {
confhtnl+=isEmpty(12)
}
confhtnl=confhtnl+'</tr>';
//个人相关信息 - 传盘文件
if (cdata.jxDiskRewordList != null && cdata.jxDiskRewordList.length > 0){
var transferFileDisk =cdata.jxDiskRewordList[0];
diskhtml=diskhtml+'<tr className="white">';
diskhtml=diskhtml+' <td>'+transferFileDisk.teamName+'</td>';
if(jxDifferenceRewordList.post==1){
diskhtml=diskhtml+' <td style="color: red">'+transferFileDisk.post+'</td>';
}else{
diskhtml=diskhtml+' <td>'+transferFileDisk.post+'</td>';
}
if(jxDifferenceRewordList.attenNum==1){
diskhtml=diskhtml+' <td style="color: red">'+transferFileDisk.attenNum+'</td>';
}else{
diskhtml=diskhtml+' <td>'+transferFileDisk.attenNum+'</td>';
}
if(jxDifferenceRewordList.payable==1){
diskhtml=diskhtml+' <td style="color: red">'+transferFileDisk.payable+'</td>';
}else{
diskhtml=diskhtml+' <td>'+transferFileDisk.payable+'</td>';
}
diskhtml=diskhtml+' <td>'+transferFileDisk.withhold+'</td>';
if(jxDifferenceRewordList.payIn==1){
diskhtml=diskhtml+' <td style="color: red">'+transferFileDisk.payIn+'</td>';
}else{
diskhtml=diskhtml+' <td>'+transferFileDisk.payIn+'</td>';
}
if(jxDifferenceRewordList.bankNum==1){
diskhtml=diskhtml+' <td style="color: red">'+transferFileDisk.bankNum+'</td>';
}else{
diskhtml=diskhtml+' <td>'+transferFileDisk.bankNum+'</td>';
}
}else {
diskhtml+=isEmpty(7)
}
diskhtml=diskhtml+'</tr>';
//个人相关信息 - 系统考勤
if (cdata.jxAttendanceRewordList != null && cdata.jxAttendanceRewordList.length > 0){
var attendance =cdata.jxAttendanceRewordList[0];
attenhtml=attenhtml+'<tr className="white">';
if(jxDifferenceRewordList.post==1){
attenhtml=attenhtml+' <td style="color: red">'+attendance.post+'</td>';
}else{
attenhtml=attenhtml+' <td>'+attendance.post+'</td>';
}
attenhtml=attenhtml+' <td>'+attendance.proName+'</td>';
attenhtml=attenhtml+' <td>'+attendance.subName+'</td>';
attenhtml=attenhtml+' <td>'+attendance.teamName+'</td>';
if(jxDifferenceRewordList.attenNum==1){
attenhtml=attenhtml+' <td style="color: red">'+attendance.attenNum+'</td>';
}else{
attenhtml=attenhtml+' <td>'+attendance.attenNum+'</td>';
}
attenhtml=attenhtml+' <td>'+attendance.restNum+'</td>';
attenhtml=attenhtml+' <td>'+attendance.noworkNum+'</td>';
if(jxDifferenceRewordList.basicPrice==1){
attenhtml=attenhtml+' <td style="color: red">'+attendance.basePay+'</td>';
}else{
attenhtml=attenhtml+' <td>'+attendance.basePay+'</td>';
}
if(jxDifferenceRewordList.achievementsPrice==1){
attenhtml=attenhtml+' <td style="color: red">'+attendance.achievementsPay+'</td>';
}else{
attenhtml=attenhtml+' <td>'+attendance.achievementsPay+'</td>';
}
if(jxDifferenceRewordList.bankNum==1){
attenhtml=attenhtml+' <td style="color: red">'+attendance.bankNum+'</td>';
}else{
attenhtml=attenhtml+' <td>'+attendance.bankNum+'</td>';
}
}else {
attenhtml+=isEmpty(10)
}
attenhtml=attenhtml+'</tr>';
$("#abnormalDescribe").val(jxDifferenceRewordList.describes);
$("#salaryPaymentContent").append(workerhtml)
$("#rewardConfirmContent").append(confhtnl)
$("#transferFileDiskContent").append(diskhtml)
$("#attendanceContent").append(attenhtml)
}
//表格空值赋值
function isEmpty(num) {
var html = `
<tr align="center" style="background-color: #fff;">
<td colspan="${ num }">无数据</td>
</tr>
`
return html
}
//判断对象是否有值
function isObjectEmpty(obj) {
return Object.keys(obj).length === 0;
}