hn_cloud_web/smz-web/js/work/person/faceContrastNew/faceContrastDetail.js

874 lines
34 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 idNumber = localStorage.getItem("idNumber");
var startTime = localStorage.getItem("startTime");
var endTime = localStorage.getItem("endTime");
var proId = localStorage.getItem("proId");
var name = localStorage.getItem("name");
var subId = localStorage.getItem("subId");
var postId = localStorage.getItem("postId");
var teamId = localStorage.getItem("teamId");
var exitTime = localStorage.getItem("exitTime");
var einTime = localStorage.getItem("einTime");
var gz = localStorage.getItem("gz");
var effectDate = localStorage.getItem("effectDate");
var pers = null;
let form,layer;
let userName = '' // 考勤人员姓名
$(function() {
layui.use(['layer', 'form'], function () {
layer = layui.layer;
form = layui.form;
});
jeDate({
dateCell: "#startTime", // isinitVal:true,
format: "YYYY-MM-DD",
isTime: false, // isClear:false,
minDate: "2015-10-19 00:00:00",
maxDate: "2026-11-08 00:00:00"
});
jeDate({
dateCell: "#endTime", // isinitVal:true,
format: "YYYY-MM-DD",
isTime: false, // isClear:false,
minDate: "2015-10-19 00:00:00",
maxDate: "2026-11-08 00:00:00"
});
$("#startTime").val(startTime);
$("#endTime").val(endTime);
pers = checkPermission();
$.ajax({
url: ctxPath + '/faceContrast/getNameByIdNumber',
type: "post",
data: {
idNumber: idNumber
},
success: function(data) {
leftTitle2( "合同生效日期:"+effectDate);
leftTitle(startTime + "~" + endTime + "(" + data[0].name + ")");
userName = data[0].name;
},
error: function(e) {
alert(e);
}
});
initDate();
initTable();
});
// 子页面调用的刷新父页面方法
function reloadData() {
initDate();
initTable();
}
function initDate() {
//初始化Table
var startTime = $("#startTime").val();
var endTime = $("#endTime").val();
$.ajax({
url: ctxPath + '/faceContrast/getWorkerAttendanceCurrentDay',
type: "post",
cache: false,
data: {
startTime: startTime,
endTime: endTime,
idNumber: idNumber,
gz: gz,
effectDate: effectDate,
proId: proId,
subId:subId,
teamId:teamId,
exitTime:exitTime,
einTime:einTime
},
success: function(data) {
assignmentMonthTest(data, startTime, endTime);
},
error: function(e) {
alert(e);
}
});
}
function responseHandler(res) {
console.log(res);
var datas=[];
console.log(res.total);
datas.push({total:res.total,rows:res.list});
return datas[0];
}
function initTable() {
//初始化Table
var index = top.layer.msg('数据较多,请稍等。。。', {
icon: 4,
time: 3000 //2秒关闭如果不配置默认是3秒
});
var startTime = $("#startTime").val();
var endTime = $("#endTime").val();
$("#table").bootstrapTable('destroy').bootstrapTable({
classes: 'table table-hover',
url: ctxPath + '/faceContrast/getWorkerAttendanceOne',
method: 'post',
responseHandler: responseHandler, //处理服务器返回的数据格式
height: $(window).height() - ($(window).height() * 0.13) - 40,
undefinedText: '', //当数据为 undefined 时显示的字符
queryParams: function(param) {
param = {
startTime: startTime,
endTime: endTime,
idNumber: idNumber,
proId: proId,
subId:subId,
gz:gz,
teamId:teamId,
pageSize: param.limit,
pageNum: param.offset / param.limit + 1
}
return param;
},
sortable: false, //是否启用排序
sortOrder: "asc", //排序方式
cache: false, //是否使用缓存默认为true所以一般情况下需要设置一下这个属性*
pagination: true,
pageNumber: 1,
pageSize: 50,
pageList: [50, 100, 200, 300],
smartDisplay: false,
showColumns: false,
sidePagination: "server", //分页方式client客户端分页server服务端分页*
contentType: "application/x-www-form-urlencoded",
minimumCountColumns: 2, //最少允许的列数
uniqueId: "no", //每一行的唯一标识,一般为主键列
columns: [{
title: '序号',
formatter: function(value, row, index) {
return index + 1;
},
rowspan: 1,
align: 'center',
valign: 'middle',
width: 50
},
{
title: '工程名称',
field: 'proName',
rowspan: 1,
align: 'center',
valign: 'middle',
sortable: true,
width: 230
},
{
title: '考勤日期',
formatter: function(value, row, index) {
var cent = "";
if(row.success=="已打卡"){
cent += '<a href="#" style="color: dodgerblue;" onclick="openImg(\'' + row.currentDay + '\')">' + row.currentDay + '</a>'
}else if(row.success=="未打卡"){
cent += '<span>' + row.currentDay + '</span>';
}
return cent;
},
rowspan: 1,
align: 'center',
valign: 'middle',
sortable: true,
width: 140
},
{
title: '打卡状态',
field: 'success',
rowspan: 1,
align: 'center',
valign: 'middle',
sortable: true,
width: 100,
cellStyle:function (value, row, index) {
var cent = '<span style="color: red">休息</span>';
if(row.success=="已打卡"){
return {css:{'color':'#3cb371'}};
}else if(row.success=="未打卡"){
return {css:{'color':'red'}};
}
if(row.auditStatus=="休息"){
return cent;
}
return '';
}//更具条件修改某行样式
},
{
title: '考勤类型',
field: 'dataType',
rowspan: 1,
align: 'center',
valign: 'middle',
sortable: true,
width: 100,
cellStyle:function (value, row, index) {
if(row.dataType!==5){
return {css:{'color':'#3cb371'}};
}else if(row.auditStatus=="无效"){
return {css:{'color':'red'}};
}
return '';
},
formatter: function(value, row, index) {
if(row.dataType===1){
return '计日';
}else if(row.dataType===2){
return '计件';
}else if(row.dataType===3){
return '停窝工';
}else if(row.dataType===4){
return '休息';
}else if(row.dataType===5){
return '未考勤';
}
},
},
{
title: '打卡类型',
field: 'auditStatus',
rowspan: 1,
align: 'center',
valign: 'middle',
sortable: true,
width: 100,
cellStyle:function (value, row, index) {
if(row.auditStatus!=="无效" && row.auditStatus!=="待审核"){
return {css:{'color':'#3cb371'}};
}else if(row.auditStatus=="无效"){
return {css:{'color':'red'}};
}else if(row.auditStatus=="待审核"){
return {css:{'color':'orange'}};
}
return '';
}//更具条件修改某行样式
},
/*{
title: '上班时长',
field: 'workHours',
rowspan: 1,
align: 'center',
valign: 'middle',
sortable: true,
width: 100
},*/
{
title: '审核结果',
field: 'auditResult',
rowspan: 1,
align: 'center',
valign: 'middle',
sortable: true,
width: 100,
cellStyle:function (value, row, index) {
if(row.auditResult=="审核通过"){
return {css:{'color':'#3cb371'}};
}else if(row.auditResult=="审核驳回"){
return {css:{'color':'red'}};
}else{
return {css:{'color':'orange'}};
}
return '';
}//更具条件修改某行样式
},{
title: '审核人',
field: 'auditor',
rowspan: 1,
align: 'center',
valign: 'middle',
sortable: true,
width: 100
},{
title: '审核时间',
field: 'auditTime',
rowspan: 1,
align: 'center',
valign: 'middle',
sortable: true,
width: 150
},{
title: '打卡位置',
formatter: function(value, row, index) {
if (row.success=="未打卡"){
var cent = "";
return cent;
}else {
var cent = "";
cent += '<a href="#" style="color: dodgerblue;" onclick="openMap(\'' + row.proName + '\',\'' + row.name + '\',\'' + row.addTime + '\',\'' + row.lon + '\',\'' + row.lat + '\')">查看定位</a>'
return cent;
}
},
rowspan: 1,
align: 'center',
valign: 'middle',
sortable: true,
width: 100
},
{
title: '打卡地址',
formatter: function(value, row, index) {
var address = row.address;
var cent = "";
if(address =="null" || address ==null){
}else{
if(address.indexOf("null") >= 0 ){
cent += '<span>未获取到</span>';
}else {
cent += '<span>' + address + '</span>';
}
}
return cent;
},
rowspan: 1,
align: 'center',
valign: 'middle',
sortable: true,
width: 100
},{
title: '打卡图片', align: "center",
width: 200,formatter: function (value, row, index) {
if(row.imgPath==null||row.imgPath=="null"||row.imgPath==""||row.imgPath==undefined){
return "无";
}else{
var image = '<div><img style="width: 180px;height: 120px;margin: auto" alt="" src="'+dataPath+'/' + row.imgPath + '"></img></a></div>';
return image;
}
}
},
{
title: '备注',
field: 'auditRemark',
formatter: function (value, row, index) {
if(row.dataType == 2){
return row.gxName;
}else{
return row.auditRemark;
}
},
rowspan: 1,
align: 'center',
valign: 'middle',
sortable: true,
width: 100
},
],
onLoadSuccess: function(data) {
top.layer.close(index);
$("#dataCount").html( "数量:" + data.total);
},
onLoadError: function() {
top.layer.close(index);
$("#dataCount").html("数量:0");
$("#table").bootstrapTable('removeAll');
}
});
}
// 模糊查询数据、重置查询
function querys(type) {
var startTime = $("#startTime").val();
var endTime = $("#endTime").val();
var dateStart = new Date(startTime);
var dateEnd = new Date(endTime);
var difValue = (dateEnd - dateStart) / (1000 * 60 * 60 * 24);
if (endTime < startTime) {
parent.layer.msg('结束时间不能小于开始时间', {
icon: 2,
time: 1500
});
} else {
if (difValue >= 0 && difValue < 31) {
initDate();
var index = top.layer.load(0, {
shade: false
}); // 0代表加载的风格支持0-2
var opt = {
url: ctxPath + '/faceContrast/getWorkerAttendanceOne',
silent: true,
query: {
startTime: startTime,
endTime: endTime,
idNumber: idNumber,
proId: proId,
}
};
$("#table").bootstrapTable('refresh', opt);
top.layer.close(index);
leftTitle(startTime + "~" + endTime + "(" + userName + ")");
} else {
parent.layer.msg('请将日期控制在31天之内', {
icon: 2,
time: 1500
});
}
}
}
function exportBtn() {
var token = localStorage.getItem("smz-token");
var name = $("#name").val();
var teamName = $("#teamName").val();
var orgId = $("#orgId").val();
var proId = $("#proId").val();
var status = $("#status").val();
var startTime = $("#startTime").val();
var endTime = $("#endTime").val();
window.location.href = ctxPath + "/faceContrast/exportWorkerAttendance?idNumber=" + idNumber + "&startTime=" + startTime + "&endTime=" + endTime+"&token=" + token;
}
function leftTitle(time) {
console.log("time", time);
$("#personnelAttendanceTitle").html("人员考勤 " + time);
}
function leftTitle2(eff) {
console.log("eff", eff);
$("#personnelAttendanceTitle2").html(eff);
}
Date.prototype.format = function() {
var y = this.getFullYear();
var m = this.getMonth() + 1;
if (m < 10) {
m = "0" + m;
}
var d = this.getDate();
if (d < 10) {
d = "0" + d;
}
var s = '';
s += y + '-'; // 获取年份。
s += m + "-"; // 获取月份。
s += d; // 获取日。
return (s); // 返回日期。
};
var dateArr = new Array();
function assignmentMonthTest(data, startTime, endTime) {
console.log("data", data);
console.log("startTime", startTime);
console.log("endTime", endTime);
// $("#currentDay").html("");
if (data.length > 0) {
getAll(data);
console.log("dateArr",dateArr);
var len = dateArr.length;
var cs = parseInt(len / 7);
var ys = len % 7;
var html = '';
$("#currentDay").html(html);
if (cs == 0 && ys > 0) {
html += '<tr style="width: 100%;">';
var rate = 14 * ys;
$("#currentDay").css("width", rate + "%");
for (var i = 0; i < ys; i++) {
var date = dateArr[i].split("-");
var auditStatus = data[i].auditStatus;
var id = data[i].faceId;
html += '<td style="width: 13%;">';
html += ' <div class="month">' + date[1] + '</div>';
if (auditStatus == "计日") {
html += ' <div class="day" onclick="cancelAttendance(\''+dateArr[i]+'\',\'sys:faceContrast:cancelCard\')" style="width:100%;background-color:rgb(88,228,153)"><div><span>' + date[2] +
'</span><br><span>计日</span></div></div>';
} else if (auditStatus == "计件") {
html += ' <div class="day" onclick="cancelAttendance(\''+dateArr[i]+'\',\'sys:faceContrast:cancelCard\')" style="width:100%;background-color:rgb(88,228,153)"><div><span>' + date[2] +
'</span><br><span>计件</span></div></div>';
} else if (auditStatus == "停窝工") {
html += ' <div class="day" onclick="cancelAttendance(\''+dateArr[i]+'\',\'sys:faceContrast:cancelCard\')" style="width:100%;background-color:rgb(88,228,153)"><div><span>' + date[2] +
'</span><br><span>停窝工</span></div></div>';
} else if (auditStatus == "待审核") {
html += ' <div class="day" onclick="getOpen(\''+dateArr[i]+'\')" style="width:100%;background-color:rgb(252,177,96)"><div><span>' + date[2] +
'</span><br><span>待审核</span></div><div>';
} else if (auditStatus == "无效") {
html += ' <div class="day" onclick="makeAttendanceCard(\''+dateArr[i]+'\',\'sys:faceContrast:makeCard\')" style="width:100%;background-color:rgb(228,81,84)"><div><span>' + date[2] +
'</span><br><span>无效</span></div></div>';
}else if (auditStatus == "休息") {
html += ' <div class="day" style="width:100%;background-color:rgb(253, 223, 126)"><div><span>' + date[2] +
'</span><br><span>休息</span></div></div>';
}
html += '</td>';
if (i == ys - 1) {
html += '</tr>';
}
}
$("#currentDay").html(html);
} else {
$("#currentDay").css("width", "98%");
for (var i = 0; i < cs; i++) {
html += '<tr style="width: 100%;">';
for (var j = 0; j < 7; j++) {
var k = i * 7 + j;
var auditStatus = data[k].auditStatus;
var currentDay = data[k].currentDay;
var id = data[k].faceId;
var date = (dateArr[k] || "").split("-");
html += '<td style="width: 13%;">';
html += ' <div class="month">' + date[1] + '</div>';
if (auditStatus == "计日") {
html += ' <div class="day" onclick="cancelAttendance(\''+dateArr[k]+'\',\'sys:faceContrast:cancelCard\')" style="width:100%;background-color:rgb(88,228,153)"><div><span>' + date[2] +
'</span><br><span>计日</span></div></div>';
} else if (auditStatus == "计件") {
html += ' <div class="day" onclick="cancelAttendance(\''+dateArr[k]+'\',\'sys:faceContrast:cancelCard\')" style="width:100%;background-color:rgb(88,228,153)"><div><span>' + date[2] +
'</span><br><span>计件</span></div></div>';
} else if (auditStatus == "停窝工") {
html += ' <div class="day" onclick="cancelAttendance(\''+dateArr[k]+'\',\'sys:faceContrast:cancelCard\')" style="width:100%;background-color:rgb(88,228,153)"><div><span>' + date[2] +
'</span><br><span>停窝工</span></div></div>';
} else if (auditStatus == "待审核") {
html += ' <div class="day" onclick="getOpen(\''+dateArr[k]+'\')" style="width:100%;background-color:rgb(252,177,96)"><div><span>' + date[2] +
'</span><br><span>待审核</span></div><div>';
} else if (auditStatus == "无效") {
html += ' <div class="day" onclick="makeAttendanceCard(\''+dateArr[k]+'\',\'sys:faceContrast:makeCard\')" style="width:100%;background-color:rgb(228,81,84)"><div><span>' + date[2] +
'</span><br><span>无效</span></div></div>';
}else if (auditStatus == "休息") {
html += ' <div class="day" style="width:100%;background-color:rgb(253, 223, 126)"><div><span>' + date[2] +
'</span><br><span>休息</span></div></div>';
}
html += '</td>';
if (j == 6) {
html += '</tr>';
}
}
}
if (ys > 0) {
html += '<tr style="width: 100%;">';
for (var i = 0; i < ys; i++) {
var k = cs * 7 + i;
var date = dateArr[k].split("-");
var auditStatus = data[k].auditStatus;
var currentDay = data[k].currentDay;
var id = data[k].faceId;
html += '<td style="width: 13%;">';
html += ' <div class="month">' + date[1] + '</div>';
if (auditStatus == "计日") {
html += ' <div class="day" onclick="cancelAttendance(\''+dateArr[k]+'\',\'sys:faceContrast:cancelCard\')" style="width:100%;background-color:rgb(88,228,153)"><div><span>' + date[2] +
'</span><br><span>计日</span></div></div>';
} else if (auditStatus == "计件") {
html += ' <div class="day" onclick="cancelAttendance(\''+dateArr[k]+'\',\'sys:faceContrast:cancelCard\')" style="width:100%;background-color:rgb(88,228,153)"><div><span>' + date[2] +
'</span><br><span>计件</span></div></div>';
} else if (auditStatus == "停窝工") {
html += ' <div class="day" onclick="cancelAttendance(\''+dateArr[k]+'\',\'sys:faceContrast:cancelCard\')" style="width:100%;background-color:rgb(88,228,153)"><div><span>' + date[2] +
'</span><br><span>停窝工</span></div></div>';
} else if (auditStatus == "待审核") {
html += ' <div class="day" onclick="getOpen(\''+dateArr[k]+'\')" style="width:100%;background-color:rgb(252,177,96)"><div><span>' + date[2] +
'</span><br><span>待审核</span></div><div>';
} else if (auditStatus == "无效") {
html += ' <div class="day" onclick="makeAttendanceCard(\''+dateArr[k]+'\',\'sys:faceContrast:makeCard\')" style="width:100%;background-color:rgb(228,81,84)"><div><span>' + date[2] +
'</span><br><span>无效</span></div></div>';
}else if (auditStatus == "休息") {
html += ' <div class="day" style="width:100%;background-color:rgb(253, 223, 126)"><div><span>' + date[2] +
'</span><br><span>休息</span></div></div>';
}
html += '</td>';
if (i == ys - 1) {
html += '</tr>';
}
}
}
$("#currentDay").html(html);
}
}else{
var html = '<div style = "display: flex;justify-content: center;text-align: center;align-items: center;height: 100%;font-size: 18px;color: #FF0000;">无考勤日期</div>'
$('#currentDay').append(html);
}
}
function getAll(data) {
dateArr = new Array();
for (var k = 0; k < data.length; k++) {
dateArr.push(data[k].currentDay);
}
}
function openImg(currentDay){
localStorage.setItem("idNumber", idNumber);
localStorage.setItem("proId", proId);
localStorage.setItem("currentDay", currentDay);
var index = layer.open({
title: false,
type: 2,
content: 'facePhotoDetail.html',
area: ['75%', '75%'],
maxmin: false
});
}
function openMap(proName,name,addTime,lon,lat){
localStorage.setItem("proName", proName);
localStorage.setItem("name", name);
localStorage.setItem("addTime", addTime);
localStorage.setItem("lon", lon);
localStorage.setItem("lat", lat);
var index = layer.open({
title: ['考勤定位', 'color:#fff;background-color:#1AA094;font-size:20px;text-indent: 49%'],
type: 2,
content: 'faceMap.html',
area: ['75%', '75%'],
maxmin: false
});
}
// 取消考勤
function cancelAttendance(currentDay,permission) {
var dd=currentDay.substring(5,7);
var myDate = new Date;
var month=myDate.getMonth()+1;
if(month-dd>1){
layer.msg("超出期限!");
return;
}
if (permission != "") {
if ($.inArray(permission, pers) < 0) {
layer.msg("无取消考勤权限");
return;
}
}
let height = getDefaultHeight2().toFixed(0) + 'px';
let width = getDefaultWidth2().toFixed(0) + 'px';
let layerIndex = layer.open({
title: ['取消考勤', 'color:#3A81AD;font-size:22px;background-color:#eee;'],
type: 1,
id: 'layer-cancelAttendance-checker',
maxmin: false,
shade: 0.1,
shadeClose: false, //开启遮罩关闭
content: cancelAttendanceHtml(name,currentDay),
area: [width, height],
move: false,
success: function (layero, index) {
$(window).resize(function () {
if (autoResizeWidth2) {
autoResizeWidth2(index);
}
if (autoResizeHeight2) {
autoResizeHeight2(index);
}
})
},
});
}
function cancelAttendanceHtml(name,attendanceDate) {
return '<div style="width: 100%;height: 100%;display: flex;align-items: center;flex-direction: column;justify-content: space-between;padding: 5% 0;">' +
'<p style="font-size: 20px;font-weight: bold;">确定取消<span style="color: red;">'+(" "+name + " " + attendanceDate+ " ")+'</span>的考勤?</p>' +
'<div class="layui-form">' +
'<form class="layui-form" action="#" onsubmit="return false;">' +
'<div class="layui-form-item" style="display: flex;align-items: center;">' +
'<label class="layui-form-label"> <i style="color: red">*</i>取消原因</label>' +
'<div class="layui-inline" style="width: 360px;">' +
'<textarea class="layui-textarea" name="cancelCardReason"></textarea>' +
'</div>' +
'</div>' +
'<div class="layui-form-item" style="display: flex;align-items: center;padding-left: 0%;justify-content: center;">' +
'<button type="button" class="layui-btn layui-btn-normal" onclick="requestAddOrEdit(\''+attendanceDate+'\',\'2\')">提交</button>' +
'<button type="button" class="layui-btn layui-btn-primary" onclick="closePage(2)">取消</button>' +
'</div>' +
'</form>' +
'</div>' +
'</div>';
}
//待审核的数据
function getOpen(currentDay) {
let height = getDefaultHeight2().toFixed(0) + 'px';
let width = getDefaultWidth2().toFixed(0) + 'px';
let layerIndex = layer.open({
title: ['待审核', 'color:#3A81AD;font-size:22px;background-color:#eee;'],
type: 1,
id: 'layer-attendanceCard-checker',
maxmin: false,
shade: 0.1,
shadeClose: false, //开启遮罩关闭
content: openHtml(name,currentDay),
area: [width, height],
move: false,
success: function (layero, index) {
form.render();
$(window).resize(function () {
if (autoResizeWidth2) {
autoResizeWidth2(index);
}
if (autoResizeHeight2) {
autoResizeHeight2(index);
}
})
},
});
}
function openHtml(name,attendanceDate) {
return '<div style="width: 100%;height: 100%;display: flex;align-items: center;flex-direction: column;justify-content: space-between;padding: 3% 0;">' +
'<p style="font-size: 20px;font-weight: bold;"><span style="padding-right: 60px;">'+name+'</span><span>'+attendanceDate+'</span></p>' +
'<div class="layui-form">' +
'<form class="layui-form" action="#" onsubmit="return false;">' +
'<div class="layui-form-item" style="display: flex;align-items: center;">' +
'<label class="layui-form-label"> <i style="color: red">*</i>审核是否通过</label>' +
'<div class="layui-inline" style="width: 360px;">' +
'<input type="radio" name="workHours" value="1" title="通过" checked="">' +
'<input type="radio" name="workHours" value="2" title="不通过" >' +
'</div>' +
'</div>' +
'<div class="layui-form-item" style="display: flex;align-items: center;">' +
'<label class="layui-form-label"> <i style="color: red">*</i>原因</label>' +
'<div class="layui-inline" style="width: 360px;">' +
'<textarea class="layui-textarea" name="unauditedCardReason" ></textarea>' +
'</div>' +
'</div>' +
'<div class="layui-form-item" style="display: flex;align-items: center;padding-left: 0%;justify-content: center;">' +
'<button type="button" class="layui-btn layui-btn-normal" onclick="requestAddOrEditHtml(\''+attendanceDate+'\')">提交</button>' +
'<button type="button" class="layui-btn layui-btn-primary" onclick="closePage(2)">取消</button>' +
'</div>' +
'</form>' +
'</div>' +
'</div>';
}
// 提交数据
function requestAddOrEditHtml(currentDay) {
let url,data,reason;
let workHours = $('input[name="workHours"]:checked').val();
let unauditedCardReason = $('textarea[name="unauditedCardReason"]').val();
reason = unauditedCardReason;
url = ctxPath + '/attendanceOper/checkAttendance';
data = {
idCard:idNumber,
name:name,
proId:proId,
teamId:teamId,
subId:subId,
postId:postId,
createDate:currentDay,
checkStatus:workHours,
auditRemark:unauditedCardReason
};
if(reason){
let loadingMsg = layer.msg('数据上传中,请稍候...', {icon: 16, scrollbar: false, time: 0});
$.ajax({
type: "post",
url: url,
contentType: "application/json; charset=utf-8",
data: JSON.stringify(data),
dataType: "json",
success: function (data) {
layer.close(loadingMsg); // 关闭提示层
if (data.res === 1) {
parent.layer.msg('操作成功', {icon: 1});
closePage(1);
} else {
parent.layer.msg( data.resMsg , {icon: 2});
}
},
error: function (jqXHR, textStatus, errorThrown) {
layer.close(loadingMsg);
layer.msg('数据上传发生异常,请稍后重试', {icon: 16, scrollbar: false, time: 2000});
}
});
}else{
layer.msg("请填写原因");
}
}
// 考勤补卡
function makeAttendanceCard(currentDay,permission) {
// if (permission != "") {
// if ($.inArray(permission, pers) < 0) {
// layer.msg("无考勤补卡权限");
// }
// }
var dd=currentDay.substring(5,7);
var myDate = new Date;
var month=myDate.getMonth()+1;
if(month-dd>1){
layer.msg("超出补卡期限!");
return;
}
attendanceCardHtml(name,currentDay)
}
function attendanceCardHtml(name,attendanceDate) {
localStorage.setItem("idNumber",idNumber);
localStorage.setItem("name",name);
localStorage.setItem("proId",proId);
localStorage.setItem("teamId",teamId);
localStorage.setItem("subId",subId);
localStorage.setItem("postId",postId);
localStorage.setItem("currentDay",attendanceDate);
var index = layer.open({
title: ['补卡', 'color:#3B70A1;background-color:#E8ECEB;font-size:20px'],
type: 2,
content: 'repairCard.html',
area: ['40%', '56%'],
maxmin: false,
btn: ['确定', '关闭'],
success: function (layero, index) {
},
yes: function (index, layero) {
// 获取弹出层中的form表单元素
var formSubmit = layer.getChildFrame('form', index);
var submited = formSubmit.find('button')[0];
// 触发点击事件,会对表单进行验证,验证成功则提交表单,失败则返回错误信息
submited.click();
},
btn2: function (index, layero) {
}
});
}
// 提交数据
function requestAddOrEdit(currentDay,type) {
let url,data,reason;
//取消打卡
let cancelCardReason = $('textarea[name="cancelCardReason"]').val();
reason = cancelCardReason;
url = ctxPath + '/attendanceOper/cancelAttendance';
data = {
idCard:idNumber,
// name:name,
// proId:proId,
// teamId: teamId,
// subId: subId,
createDate:currentDay,
remark:cancelCardReason
};
if(reason){
let loadingMsg = layer.msg('数据上传中,请稍候...', {icon: 16, scrollbar: false, time: 0});
$.ajax({
type: "post",
url: url,
contentType: "application/json; charset=utf-8",
data: JSON.stringify(data),
dataType: "json",
success: function (data) {
layer.close(loadingMsg); // 关闭提示层
if (data.res === 1) {
parent.layer.msg('操作成功', {icon: 1});
closePage(1);
} else {
parent.layer.msg( data.resMsg , {icon: 2});
}
},
error: function (jqXHR, textStatus, errorThrown) {
layer.close(loadingMsg);
layer.msg('数据上传发生异常,请稍后重试', {icon: 16, scrollbar: false, time: 2000});
}
});
}else{
layer.msg("请填写原因");
}
}
function closePage(type) {
closePage2();
if (type === 1) {
reloadData();
}
}
function closePage2() {
layer.closeAll(); //再执行关闭
}