2025-11-27 16:55:35 +08:00
|
|
|
|
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 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;
|
|
|
|
|
|
$(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 + ")");
|
|
|
|
|
|
},
|
|
|
|
|
|
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: 'workHours',
|
|
|
|
|
|
rowspan: 1,
|
|
|
|
|
|
align: 'center',
|
|
|
|
|
|
valign: 'middle',
|
|
|
|
|
|
sortable: true,
|
|
|
|
|
|
width: 100
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
title: '审核结果',
|
|
|
|
|
|
field: 'auditStatus',
|
|
|
|
|
|
rowspan: 1,
|
|
|
|
|
|
align: 'center',
|
|
|
|
|
|
valign: 'middle',
|
|
|
|
|
|
sortable: true,
|
|
|
|
|
|
width: 100,
|
|
|
|
|
|
cellStyle:function (value, row, index) {
|
|
|
|
|
|
if(row.auditStatus=="有效"){
|
|
|
|
|
|
return {css:{'color':'#3cb371'}};
|
|
|
|
|
|
}else if(row.auditStatus=="无效"){
|
|
|
|
|
|
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',
|
|
|
|
|
|
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
|
|
|
|
|
|
$("#query").css("background-image", "url(../../../img/info/查询点击.png)");
|
|
|
|
|
|
$("#export").css("background-image", "url(../../../img/info/导出.png)");
|
|
|
|
|
|
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);
|
|
|
|
|
|
} else {
|
|
|
|
|
|
parent.layer.msg('请将日期控制在31天之内', {
|
|
|
|
|
|
icon: 2,
|
|
|
|
|
|
time: 1500
|
|
|
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
function exportBtn() {
|
2025-12-05 15:39:43 +08:00
|
|
|
|
var token = localStorage.getItem("smz-token");
|
2025-11-27 16:55:35 +08:00
|
|
|
|
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 currentDay = data[i].currentDay;
|
|
|
|
|
|
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)"><span>' + date[2] +
|
|
|
|
|
|
'</span></div>';
|
|
|
|
|
|
} else if (auditStatus == "待审核") {
|
|
|
|
|
|
html += ' <div class="day" onclick="getOpen(\''+dateArr[i]+'\')" style="width:100%;background-color:rgb(252,177,96)"><span>' + date[2] +
|
|
|
|
|
|
'</span></div>';
|
|
|
|
|
|
} else if (auditStatus == "无效") {
|
|
|
|
|
|
console.log("currentDay:" + currentDay + ",attendStatus:" + auditStatus);
|
|
|
|
|
|
html += ' <div class="day" onclick="makeAttendanceCard(\''+dateArr[i]+'\',\'sys:faceContrast:makeCard\')" style="width:100%;background-color:rgb(228,81,84)"><span>' + date[2] + '</span></div>';
|
|
|
|
|
|
}else if (auditStatus == "休息") {
|
|
|
|
|
|
html += ' <div class="day" style="width:100%;background-color:rgb(253, 223, 126)"><span>' + date[2] + '</span></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:98%;background-color:rgb(88,228,153)"><span>' + date[2] +
|
|
|
|
|
|
'</span></div>';
|
|
|
|
|
|
} else if (auditStatus == "待审核") {
|
|
|
|
|
|
html += ' <div class="day" onclick="getOpen(\''+dateArr[k]+'\')" style="width:98%;background-color:rgb(252,177,96)"><span>' + date[2] +
|
|
|
|
|
|
'</span></div>';
|
|
|
|
|
|
} else if (auditStatus == "无效") {
|
|
|
|
|
|
console.log("currentDay:" + currentDay + ",auditStatus:" + auditStatus);
|
|
|
|
|
|
html += ' <div class="day" onclick="makeAttendanceCard(\''+dateArr[k]+'\',\'sys:faceContrast:makeCard\')" style="width:100%;background-color:rgb(228,81,84)"><span>' + date[2] + '</span></div>';
|
|
|
|
|
|
}else if (auditStatus == "休息") {
|
|
|
|
|
|
html += ' <div class="day" style="width:100%;background-color:rgb(253, 223, 126)"><span>' + date[2] + '</span></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)"><span>' + date[2] +
|
|
|
|
|
|
'</span></div>';
|
|
|
|
|
|
} else if (auditStatus == "待审核") {
|
|
|
|
|
|
html += ' <div class="day" onclick="getOpen(\''+dateArr[k]+'\')" style="width:100%;background-color:rgb(252,177,96)"><span>' + date[2] +
|
|
|
|
|
|
'</span></div>';
|
|
|
|
|
|
} else if (auditStatus == "无效"){
|
|
|
|
|
|
console.log("currentDay:" + currentDay + ",auditStatus:" + auditStatus);
|
|
|
|
|
|
html += ' <div class="day" onclick="makeAttendanceCard(\''+dateArr[k]+'\',\'sys:faceContrast:makeCard\')" style="width:100%;background-color:rgb(228,81,84)"><span>' + date[2] + '</span></div>';
|
|
|
|
|
|
}else if (auditStatus == "休息") {
|
|
|
|
|
|
html += ' <div class="day" style="width:100%;background-color:rgb(253, 223, 126)"><span>' + date[2] + '</span></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 + '/faceContrast/unauditedCard';
|
|
|
|
|
|
data = {
|
|
|
|
|
|
idNumber:idNumber,
|
|
|
|
|
|
name:name,
|
|
|
|
|
|
proId:proId,
|
|
|
|
|
|
teamId: teamId,
|
|
|
|
|
|
subId: subId,
|
|
|
|
|
|
currentDay:currentDay,
|
|
|
|
|
|
workHours:workHours,
|
|
|
|
|
|
unauditedCardReason: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;
|
|
|
|
|
|
}
|
|
|
|
|
|
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: attendanceCardHtml(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 attendanceCardHtml(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="0.5" title="0.5天">' +
|
|
|
|
|
|
'<input type="radio" name="workHours" value="1" title="1天" checked="">' +
|
|
|
|
|
|
'</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="makeCardReason" ></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+'\',\'1\')">提交</button>' +
|
|
|
|
|
|
'<button type="button" class="layui-btn layui-btn-primary" onclick="closePage(2)">取消</button>' +
|
|
|
|
|
|
'</div>' +
|
|
|
|
|
|
'</form>' +
|
|
|
|
|
|
'</div>' +
|
|
|
|
|
|
'</div>';
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 提交数据
|
|
|
|
|
|
function requestAddOrEdit(currentDay,type) {
|
|
|
|
|
|
let url,data,reason;
|
|
|
|
|
|
if(type == '1'){//补卡
|
|
|
|
|
|
let workHours = $('input[name="workHours"]:checked').val();
|
|
|
|
|
|
let makeCardReason = $('textarea[name="makeCardReason"]').val();
|
|
|
|
|
|
reason = makeCardReason;
|
|
|
|
|
|
url = ctxPath + '/faceContrast/makeAttendanceCard';
|
|
|
|
|
|
data = {
|
|
|
|
|
|
idNumber:idNumber,
|
|
|
|
|
|
name:name,
|
|
|
|
|
|
proId:proId,
|
|
|
|
|
|
teamId: teamId,
|
|
|
|
|
|
subId: subId,
|
|
|
|
|
|
currentDay:currentDay,
|
|
|
|
|
|
workHours:workHours,
|
|
|
|
|
|
makeCardReason:makeCardReason
|
|
|
|
|
|
};
|
|
|
|
|
|
}else{//取消打卡
|
|
|
|
|
|
let cancelCardReason = $('textarea[name="cancelCardReason"]').val();
|
|
|
|
|
|
reason = cancelCardReason;
|
|
|
|
|
|
url = ctxPath + '/faceContrast/cancelAttendance';
|
|
|
|
|
|
data = {
|
|
|
|
|
|
idNumber:idNumber,
|
|
|
|
|
|
name:name,
|
|
|
|
|
|
proId:proId,
|
|
|
|
|
|
teamId: teamId,
|
|
|
|
|
|
subId: subId,
|
|
|
|
|
|
currentDay:currentDay,
|
|
|
|
|
|
cancelCardReason: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(); //再执行关闭
|
|
|
|
|
|
}
|