hn_cloud_web/smz-web/js/work/ownPerson/workerDepartFaceContrastDet...

371 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 id = localStorage.getItem("id");
var startTime = localStorage.getItem("startTime");
var endTime = localStorage.getItem("endTime");
var proName = localStorage.getItem("proName");
var name = localStorage.getItem("name");
var pers = null;
var form,layer,laydate;
$(function() {
layui.use(['layer','laydate', 'form'], function () {
layer = layui.layer;
form = layui.form;
laydate = layui.laydate;
$('#test6').val(startTime + ' - ' + endTime);
laydate.render({
elem: '#test6',
range: true,
min: $('#hidMinListDate').val(),
max: $('#hidMaxListDate').val()
});
pers = checkPermission();
console.log(proName)
if (proName == null || proName === 'null'){
leftTitle(name)
}else {
leftTitle(proName + "—" + name)
}
initDate();
initTable();
});
});
// 子页面调用的刷新父页面方法
function reloadData() {
initDate();
initTable();
}
function initDate() {
//初始化Table
var dateRange = $.trim($('#test6').val());
var parts = dateRange.split(' - ');
var startTime = parts[0];
var endTime = parts[1];
$.ajax({
url: smz_ht_url + '/WorkerDepartFaceContrast/getListById',
type: "get",
cache: false,
data: {
startTime: startTime,
endTime: endTime,
id: id
},
success: function(data) {
assignmentMonthTest(data, startTime, endTime);
},
error: function(e) {
alert(e);
}
});
}
function initTable() {
//初始化Table
var dateRange = $.trim($('#test6').val());
var parts = dateRange.split(' - ');
var startTime = parts[0];
var endTime = parts[1];
$("#table").bootstrapTable('destroy').bootstrapTable({
classes: 'table table-hover',
url: smz_ht_url + '/WorkerDepartFaceContrast/getById',
method: 'get',
responseHandler: responseHandler, //处理服务器返回的数据格式
height: $(window).height() - ($(window).height() * 0.13) - 40,
undefinedText: '', //当数据为 undefined 时显示的字符
queryParams: function(param) {
param = {
startTime: startTime,
endTime: endTime,
id: id,
//pageSize: param.limit,
//pageNum: param.offset / param.limit + 1
}
return param;
},
sortable: false, //是否启用排序
sortOrder: "asc", //排序方式
cache: false, //是否使用缓存默认为true所以一般情况下需要设置一下这个属性*
pagination: false,
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: 'currentDay',
rowspan: 1,
align: 'center',
valign: 'middle',
sortable: true,
width: 140
},
{
title: '上传时间',
field: 'uploadTime',
rowspan: 1,
align: 'center',
valign: 'middle',
sortable: true,
width: 150
},
{
title: '打卡状态',
field: 'isSuccess',
rowspan: 1,
align: 'center',
valign: 'middle',
sortable: true,
width: 100,
cellStyle:function (value, row, index) {
var cent = '<span style="color: red">休息</span>';
if(row.isSuccess=="打卡成功"){
return {css:{'color':'#3cb371'}};
}else if(row.isSuccess=="打卡失败"){
return {css:{'color':'red'}};
}
return '';
}//更具条件修改某行样式
},
{
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: 200
},
{
title: '打卡图片', align: "center",
width: 200,formatter: function (value, row, index) {
if(row.photoPath==null||row.photoPath=="null"||row.photoPath==""||row.photoPath==undefined){
return "无";
}else{
var image = '<div><img style="width: 180px;height: 120px;margin: auto" alt="" src="'+smz_ht_url +'/' + row.photoPath + '"></img></a></div>';
return image;
}
}
},
{
title: '备注',
field: 'remarks',
rowspan: 1,
align: 'center',
valign: 'middle',
sortable: true,
width: 150
},
],
onLoadSuccess: function(data) {
console.log(data)
$("#dataCount").html( "数量:" + data.total);
},
onLoadError: function() {
$("#dataCount").html("数量:0");
$("#table").bootstrapTable('removeAll');
}
});
}
function responseHandler(res) {
console.log(res);
var datas=[];
console.log(res.total);
datas.push({total:res.length,rows:res});
return datas[0];
}
function querys() {
var dateRange = $.trim($('#test6').val());
var parts = dateRange.split(' - ');
var startTime = parts[0];
var endTime = parts[1];
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: smz_ht_url + '/WorkerDepartFaceContrast/getById',
silent: true,
query: {
startTime: startTime,
endTime: endTime,
id: id,
}
};
$("#table").bootstrapTable('refresh', opt);
top.layer.close(index);
} else {
parent.layer.msg('请将日期控制在31天之内', {
icon: 2,
time: 1500
});
}
}
}
function leftTitle(title) {
$("#personnelAttendanceTitle").html(title);
}
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);
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("-");
console.log(date)
var addTimeON = data[i].addTimeON;
var currentDay = data[i].currentDay;
html += '<td style="width: 13%;">';
html += ' <div class="month">' + date[1] + '</div>';
console.log(addTimeON)
if (addTimeON !== "") {
html += ' <div class="day" style="width:100%;background-color:rgb(88,228,153); cursor: pointer"><span>' + date[2] +
'</span></div>';
} else {
// onclick="makeAttendanceCard(\''+dateArr[i]+'\',\'sys:faceContrast:makeCard\')"
html += ' <div class="day" style="width:100%;background-color:rgb(228,81,84); cursor: pointer"><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 addTimeON = data[k].addTimeON;
var currentDay = data[k].currentDay;
var date = (dateArr[k] || "").split("-");
html += '<td style="width: 13%;">';
html += ' <div class="month">' + date[1] + '</div>';
console.log(addTimeON)
if (addTimeON !== "") {
html += ' <div class="day" style="width:98%;background-color:rgb(88,228,153); cursor: pointer"><span>' + date[2] +
'</span></div>';
} else {
html += ' <div class="day" style="width:100%;background-color:rgb(228,81,84); cursor: pointer"><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 addTimeON = data[k].addTimeON;
var currentDay = data[k].currentDay;
html += '<td style="width: 13%;">';
html += ' <div class="month">' + date[1] + '</div>';
if (addTimeON !== "") {
html += ' <div class="day" style="width:100%;background-color:rgb(88,228,153); cursor: pointer"><span>' + date[2] +
'</span></div>';
} else{
html += ' <div class="day" style="width:100%;background-color:rgb(228,81,84); cursor: pointer"><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);
}
}