340 lines
13 KiB
JavaScript
340 lines
13 KiB
JavaScript
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;
|
||
} |