hn_cloud_web/smz-screen/js/worker/workerAttendance/attendance.js

406 lines
11 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 proName = localStorage.getItem("proName");
$(function() {
findCompany(); //公司
getCompanyName();
findPro();//工程
getAbbreviation();
$("#proId option:contains('"+proName+"')").attr("selected", true).trigger("change");
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",
okfun: function(val) {
//点击确定后的回调
var startDate = new Date($('#startTime').val());
var endDate = new Date($('#endTime').val());
if(startDate != null) {
if(endDate != null) {
if(startDate > endDate) {
parent.layer.msg('开始时间不能大于结束时间', {
icon: 2,
time: 1500
});
$("#startTime").val(getNowTime);
$("#endTime").val(getNowTime);
}
}
}
},
choosefun: function(val) {
var startDate = new Date($('#startTime').val());
var endDate = new Date($('#endTime').val());
if(startDate != null) {
if(endDate != null) {
if(startDate > endDate) {
parent.layer.msg('开始时间不能大于结束时间', {
icon: 2,
time: 1500
});
$("#startTime").val(getNowTime);
$("#endTime").val(getNowTime);
}
}
}
}
});
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",
okfun: function(val) {
//点击确定后的回调
var startDate = new Date($('#startTime').val());
var endDate = new Date($('#endTime').val());
if(startDate != null) {
if(endDate != null) {
if(endDate < startDate) {
parent.layer.msg('结束时间不能小于开始时间', {
icon: 2,
time: 1500
});
$("#startTime").val(getNowTime);
$("#endTime").val(getNowTime);
}
}
}
},
choosefun: function(val) {
var startDate = new Date($('#startTime').val());
var endDate = new Date($('#endTime').val());
if(startDate != null) {
if(endDate != null) {
if(endDate < startDate) {
parent.layer.msg('结束时间不能小于开始时间', {
icon: 2,
time: 1500
});
$("#startTime").val(getNowTime);
$("#endTime").val(getNowTime);
}
}
}
}
});
$("#startTime").val(getNowTime());
$("#endTime").val(getNowTime());
initTable();
})
function getCompanyName(){
$.ajax({
type: 'post',
url: dataUrl + 'workerPeople/getCompanyName',
data: {
"companyId":companyId
},
dataType: "json",
async: false,
success: function(data) {
$("#orgId option:contains('"+data[0].orgName+"')").attr("selected", true).trigger("change");
},
error:function(data){
}
});
}
function getAbbreviation(){
$.ajax({
type: 'post',
url: dataUrl + 'workerPeople/getAbbreviation',
data: {"name":proName},
dataType: "json",
async: false,
success: function(data) {
$("#proId option:contains('"+data[0].abbreviation+"')").attr("selected", true).trigger("change");
},
error:function(data){
}
});
}
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() {
index = top.layer.load(0, {
shade: false
}); // 0代表加载的风格支持0-2
//初始化Table
$("#table").bootstrapTable({
classes: 'table table-hover',
url: dataUrl + 'workerAttendance/getWorkerAttendanceInfo',
method: 'post',
responseHandler: responseHandler, //处理服务器返回的数据格式
height: $(window).height() - ($(window).height() * 0.13),
undefinedText: '', //当数据为 undefined 时显示的字符
queryParams: function(param) {
var a=this;
param = {
startTime: $("#startTime").val(),
endTime: $("#endTime").val(),
orgId: $("#orgId").val(),
proId: $("#proId").val(),
keyWord: $("#keyWord").val(),
pageSize: param.limit,
pageNum: param.offset / param.limit + 1,
sort: param.sort, //排序列名
sortOrder: param.order //排位命令descasc
}
return param;
},
sortable: true, //是否启用排序
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: 'name',
rowspan: 1,
align: 'center',
valign: 'middle',
sortable: true,
width: 100
},
{
title: '身份证',
field: 'idNumber',
rowspan: 1,
align: 'center',
valign: 'middle',
sortable: true,
width: 230
},
{
title: '工种',
field: 'postName',
rowspan: 1,
align: 'center',
valign: 'middle',
sortable: true,
width: 100
},
{
title: '公司',
field: 'orgName',
rowspan: 1,
align: 'center',
valign: 'middle',
sortable: true,
width: 150
},
{
title: '工程名称',
field: 'proName',
rowspan: 1,
align: 'center',
valign: 'middle',
sortable: true,
width: 200
},
{
title: '分包商',
field: 'subName',
rowspan: 1,
align: 'center',
valign: 'middle',
sortable: true,
width: 200
},
{
title: '班组名称',
field: 'teamName',
rowspan: 1,
align: 'center',
valign: 'middle',
sortable: true,
width: 100
},
{
title: '考勤总天数',
field: '',
formatter: function(value, row, index) {
var cent = "";
cent += '<a href="#" style="color: dodgerblue;" onclick="openCheck(\'' + row.name + '\',\'' + row.idNumber + '\',\'' + row.proId + '\')">' + row.checkInDay + '</a>'
return cent;
},
rowspan: 1,
align: 'center',
valign: 'middle',
sortable: true,
width: 120
},
{
title: '正常上班天数',
field: '',
formatter: function(value, row, index) {
var cent = "";
cent += '<a href="#" style="color: dodgerblue;" onclick="openCheck(\'' + row.name + '\',\'' + row.idNumber + '\',\'' + row.proId + '\')">' + row.workHours + '</a>'
return cent;
},
rowspan: 1,
align: 'center',
valign: 'middle',
sortable: true,
width: 150
},
{
title: '加班天数',
field: '',
formatter: function(value, row, index) {
var cent = "";
cent += '<a href="#" style="color: dodgerblue;" onclick="openCheck(\'' + row.name + '\',\'' + row.idNumber + '\',\'' + row.proId + '\')">' + row.overHours + '</a>'
return cent;
},
rowspan: 1,
align: 'center',
valign: 'middle',
sortable: true,
width: 150
},
{
title: '缺勤天数',
field: 'notWorkHours',
rowspan: 1,
align: 'center',
valign: 'middle',
sortable: true,
width: 100
}
],
onLoadSuccess: function(data) {
$("#dataCount").html("数量:" + data.total);
top.layer.close(index);
},
onLoadError: function() {
$("#dataCount").html("数量:0");
$("#table").bootstrapTable('removeAll');
top.layer.close(index);
}
});
}
var index;
// 模糊查询数据、重置查询
function query(type) {
index = top.layer.load(0, {
shade: false
}); // 0代表加载的风格支持0-2
if (type == 1) {
var keyWord = $("#keyWord").val();
var startTime = $("#startTime").val();
var endTime = $("#endTime").val();
var orgId = $("#orgId").val();
var proId = $("#proId").val();
$("#query").css("background-image", "url(../../../img/info/queryClick.png)");
$("#reset").css("background-image", "url(../../../img/info/resetQuery.png)");
$("#export").css("background-image", "url(../../../img/info/export.png)");
var dateStart = new Date(startTime);
var dateEnd = new Date(endTime);
var difValue = (dateEnd - dateStart) / (1000 * 60 * 60 * 24);
if (difValue >= 0 && difValue < 31) {
var opt = {
url: dataUrl + 'workerAttendance/getWorkerAttendanceInfo',
silent: true,
query: {
startTime: startTime,
endTime: endTime,
orgId: orgId,
proId: proId,
keyWord: keyWord,
}
};
$("#table").bootstrapTable('refresh', opt);
}else{
parent.layer.msg('请将日期控制在31天之内', {
icon: 2,
time: 1500
});
top.layer.close(index);
}
}else if (type == 2) {
$("#query").css("background-image", "url(../../../img/info/query.png)");
$("#reset").css("background-image", "url(../../../img/info/resetQueryClick.png)");
$("#export").css("background-image", "url(../../../img/info/export.png)");
$("#keyWord").val("");
$("#startTime").val(getNowTime());
$("#endTime").val(getNowTime());
findCompany(); //分公司
findPro();//工程
$("#proId option:contains('"+proName+"')").attr("selected", true).trigger("change");
var keyWord = $("#keyWord").val();
var startTime = $("#startTime").val();
var endTime = $("#endTime").val();
var orgId = $("#selOrg").val();
var proId = $("#selPro").val();
var opt = {
url: dataUrl + 'workerAttendance/getWorkerAttendanceInfo',
silent: true,
query: {
startTime: startTime,
endTime: endTime,
orgId: orgId,
proId: proId,
keyWord: keyWord
}
};
}
$("#table").bootstrapTable('refresh', opt);
initTable();
}
function exportBtn() {
$("#query").css("background-image", "url(../../../img/info/query.png)");
$("#reset").css("background-image", "url(../../../img/info/resetQuery.png)");
$("#export").css("background-image", "url(../../../img/info/exportClick.png)");
var keyWord = $("#keyWord").val();
var orgId = $("#orgId").val();
var proId = $("#proId").val();
var startTime = $("#startTime").val();
var endTime = $("#endTime").val();
window.location.href = dataUrl + "workerAttendance/exportWorkerAttendance?keyWord=" + keyWord + "&orgId=" + orgId + "&proId=" +
proId + "&startTime=" + startTime + "&endTime=" + endTime + "&x-auth-token=" + token;
}
function openCheck(name,idNumber,proId) {
var startTime = $("#startTime").val();
var endTime = $("#endTime").val();
localStorage.setItem("name", name);
localStorage.setItem("idNumber", idNumber);
localStorage.setItem("proId", proId);
localStorage.setItem("startTime", startTime);
localStorage.setItem("endTime", endTime);
var index = top.layer.open({
title: false,
type: 2,
content: '../../page/worker/workerAttendance/personnelAttendance.html',
area: ['80%', '80%'],
maxmin: false
});
}