提交 291df9a1 编写于 作者: Skyeye云's avatar Skyeye云

考勤报表重构完成

上级 cee4fff3
var rowId = "";
var startTime = "", endTime = "";
var isTable = true;
var reportparams = "";
var echartsparams = "";
layui.config({
base: basePath,
version: skyeyeVersion
}).extend({
window: 'js/winui.window',
echarts: '../echarts/echarts',
echartsTheme: '../echarts/echartsTheme'
}).define(['window', 'table', 'jquery', 'winui', 'form', 'laydate', 'echarts'], function (exports) {
winui.renderColor();
var $ = layui.$,
form = layui.form,
laydate = layui.laydate,
table = layui.table;
var selTemplate = getFileContent('tpl/template/select-option.tpl');
authBtn('1563415739069');
$("#echartsPie").hide();
form.on('radio(type)', function (data) {
if (data.value == "image") {
isTable = false;
$("#tableList").hide();
$("#echartsPie").show();
getPieData();
} else if (data.value == "table") {
isTable = true;
$("#echartsPie").hide();
$("#tableList").show();
loadTable();
}
});
//初始化统计时间
var day = getTodayDay();
endTime = getYesterdayYMDFormatDate();//结束日期为今天的前一天
if(day === "1" || day == 1){//如果当前为本月一号,则查询上个月的
startTime = getTOneYMDFormatDate();//开始日期为上个月一号
} else {
startTime = getOneYMDFormatDate();//开始日期为本月一号
}
//'统计表'页面的选取时间段表格
laydate.render({
elem: '#checkTime', //指定元素
max: getYesterdayYMDFormatDate(),// 设置最大可选的日期
range: '~',
value: startTime + " ~ " + endTime,//初始化统计日期
done: function (value, date, endDate) {
if (isNull(value)) {
startTime = "";
endTime = "";
} else {
startTime = value.split("~")[0].trim();
endTime = value.split("~")[1].trim();
}
}
});
// 加载考勤班次
showGrid({
id: "timeId",
url: sysMainMation.checkworkBasePath + "queryEnableCheckWorkTimeList",
params: {},
method: 'GET',
pagination: false,
template: selTemplate,
ajaxSendLoadBefore: function(hdb, json){
$.each(json.rows, function(i, item) {
item.name = item.name + ' [' + item.startTime + ' ~ ' + item.endTime + ']';
});
},
ajaxSendAfter:function (json) {
initTable();
}
});
function initTable(){
$("#title").text(startTime + "" + endTime + " 考勤情况统计");
table.render({
id: 'messageTable',
elem: '#messageTable',
method: 'post',
url: sysMainMation.checkworkBasePath + 'checkwork015',
where: getTableParams(),
even: true,
page: true,
limits: [10, 20, 30, 40, 50, 100],
limit: 10,
cols: [[
{ title: systemLanguage["com.skyeye.serialNumber"][languageType], type: 'numbers' },
{ field: 'userId', title: 'ID', width: 50, style:'display:none;' },
{ field: 'companyName', title: '公司', align: 'left', width: 200 },
{ field: 'departmentName', title: '部门', align: 'left', width: 120 },
{ field: 'jobName', title: '职位', align: 'left', width: 120 },
{ field: 'userName', title: '姓名', align: 'left', width: 140, templet: function (d) {
return d.jobNumber + '_' + d.userName;
}},
{ field: 'shouldTime', title: '应出勤(次)', align: 'center', width: 100 },
{ field: 'fullTime', title: '全勤(次)', align: 'center', width: 100, templet: function (d) {
if(d.fullTime != '0'){
return "<a class='checkwork-a'><span class='state-up' lay-event='fullTime'>" + d.fullTime + "</span></a>";
} else {
return d.fullTime;
}
}},
{ field: 'absenteeism', title: '缺勤(次)', align: 'center', width: 100, templet: function (d) {
if(d.absenteeism != '0'){
return "<a class='checkwork-a'><span class='state-down' lay-event='absenteeism'>" + d.absenteeism + "</span></a>";
} else {
return d.absenteeism;
}
}},
{ field: 'lackTime', title: '工时不足(次)', align: 'center', width: 120, templet: function (d) {
if(d.lackTime != '0'){
return "<a class='checkwork-a'><span class='state-down' lay-event='lackTime'>" + d.lackTime + "</span></a>";
} else {
return d.lackTime;
}
}},
{ field: 'late', title: '迟到(次)', align: 'center', width: 100, templet: function (d) {
if(d.late != '0'){
return "<a class='checkwork-a'><span class='state-down' lay-event='late'>" + d.late + "</span></a>";
} else {
return d.late;
}
}},
{ field: 'leaveEarly', title: '早退(次)', align: 'center', width: 100, templet: function (d) {
if(d.leaveEarly != '0'){
return "<a class='checkwork-a'><span class='state-down' lay-event='leaveEarly'>" + d.leaveEarly + "</span></a>";
} else {
return d.leaveEarly;
}
}},
{ field: 'missing', title: '漏签(次)', align: 'center', width: 100, templet: function (d) {
if(d.missing != '0'){
return "<a class='checkwork-a'><span class='state-down' lay-event='missing'>" + d.missing + "</span></a>";
} else {
return d.missing;
}
}}
]],
done: function(json) {
matchingLanguage();
$('table.layui-table thead tr th:eq(1)').addClass('layui-hide');
}
});
table.on('tool(messageTable)', function (obj) {
var data = obj.data;
var layEvent = obj.event;
if (layEvent === 'fullTime') {
detail(data, '1');
} else if (layEvent === 'absenteeism'){
detail(data, '2');
} else if (layEvent === 'lackTime'){
detail(data, '3');
} else if (layEvent === 'late'){
detail(data, '4');
} else if (layEvent === 'leaveEarly'){
detail(data, '5');
} else if (layEvent === 'missing'){
detail(data, '6');
}
});
}
function detail(data, detailType){
var userName = data.userName;
var title = "";
if (detailType === "1") {
title = userName + " " + startTime + "" + endTime + "的全勤详情";
} else if (detailType === "2") {
title = userName + " " + startTime + "" + endTime + "的缺勤详情";
} else if (detailType === "3") {
title = userName + " " + startTime + "" + endTime + "的工时不足详情";
} else if (detailType === "4") {
title = userName + " " + startTime + "" + endTime + "的迟到详情";
} else if (detailType === "5") {
title = userName + " " + startTime + "" + endTime + "的早退详情";
} else if (detailType === "6") {
title = userName + " " + startTime + "" + endTime + "的漏签详情";
}
reportparams = {
userId : data.userId,
state: detailType,
startTime: startTime,
endTime: endTime,
timeId: $("#timeId").val()
};
_openNewWindows({
url: "../../tpl/checkwork/reportDetail.html",
title: title,
pageId: "detail",
area: ['80vw', '70vh'],
callBack: function (refreshCode) {
}
});
}
form.render();
$("body").on("click", "#formSearch", function() {
if(isTable){
loadTable();
} else {
getPieData();
}
});
$("body").on("click", "#reloadTable", function() {
if(isTable){
loadTable();
} else {
getPieData();
}
});
function loadTable() {
if(isNull($("#checkTime").val())) {//一定要记得,当createTime为空时
winui.window.msg("请选择时间段", {icon: 2, time: 2000});
}else {
startTime = $("#checkTime").val().split('~')[0].trim();
endTime = $("#checkTime").val().split('~')[1].trim();
$("#title").text(startTime + "" + endTime + " 考勤情况统计");
table.reloadData("messageTable", {where: getTableParams()});
}
}
function getPieData(){
var myChart;
var cellSize = [80, 80];
var pieRadius = 30;
startTime = $("#checkTime").val().split('~')[0].trim();
endTime = $("#checkTime").val().split('~')[1].trim();
$("#title").text(startTime + "" + endTime + " 考勤情况统计");
function getVirtulData() {
var date = +echarts.number.parseDate(startTime);
var end = +echarts.number.parseDate(endTime);
var dayTime = 3600 * 24 * 1000;
var data = [];
for (var time = date; time <= end; time += dayTime) {
data.push([
echarts.format.formatTime('yyyy-MM-dd', time),
Math.floor(Math.random() * 10000)
]);
}
return data;
}
function getPieSeries(scatterData, chart, ydata) {
return echarts.util.map(scatterData, function (item, index) {
var center = chart.convertToPixel('calendar', item);
return {
id: index + 'pie',
type: 'pie',
center: center,
label: {
normal: {
formatter: '{c}',
position: 'inside'
}
},
radius: pieRadius,
data: [
{name: '缺勤', value: ydata[index].absenteeism, day: ydata[index].checkDay},
{name: '工时不足', value: ydata[index].lackTime, day: ydata[index].checkDay},
{name: '迟到', value: ydata[index].late, day: ydata[index].checkDay},
{name: '早退', value: ydata[index].leaveEarly, day: ydata[index].checkDay},
{name: '漏签', value: ydata[index].missing, day: ydata[index].checkDay}
]
};
});
}
var scatterData = getVirtulData();
var option = {
tooltip : {},
legend: {
data: ['缺勤', '工时不足', '迟到', '早退', '漏签'],
bottom: 20
},
calendar: {
top: 'middle',
left: 'center',
orient: 'vertical',
cellSize: cellSize,
yearLabel: {
show: false,
textStyle: {
fontSize: 30
}
},
dayLabel: {
margin: 20,
firstDay: 1,
nameMap: ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六']
},
monthLabel: {
show: false
},
range: [startTime, endTime]
},
series: [{
id: 'label',
type: 'scatter',
coordinateSystem: 'calendar',
symbolSize: 1,
label: {
normal: {
show: true,
formatter: function (params) {
return echarts.format.formatTime('dd', params.value[0]);
},
offset: [-cellSize[0] / 2 + 10, -cellSize[1] / 2 + 10],
textStyle: {
color: '#000',
fontSize: 14
}
}
},
data: scatterData
}]
};
myChart = echarts.init($("#echartsPie")[0], layui.echartsTheme);
myChart.clear();//清空画布
myChart.setOption(option);
initEcharts();
function initEcharts(){
AjaxPostUtil.request({url: sysMainMation.checkworkBasePath + "checkwork016", params: getEchartsParams(), type: 'json', method: "POST", callback: function (json) {
ydata = json.rows;
var pieInitialized;
setTimeout(function () {
pieInitialized = true;
myChart.setOption({
series: getPieSeries(scatterData, myChart, ydata)
});
}, 10);
}});
}
function getEchartsParams(){
var date =+ echarts.number.parseDate(startTime);
var end =+ echarts.number.parseDate(endTime);
var dayTime = 3600 * 24 * 1000;
var arr = [];
for (var time = date; time <= end; time += dayTime) {
arr.push([
echarts.format.formatTime('yyyy-MM-dd', time)
]);
}
return {
arr: arr,
userName: $("#userName").val(),
timeId: $("#timeId").val()
};
}
myChart.on('click', function (params) {
var name = params.data.name;
var echartstype = "";
if (name == "全勤") {
echartstype = 1;
} else if (name == "缺勤") {
echartstype = 2;
} else if (name == "工时不足") {
echartstype = 3;
} else if (name == "迟到") {
echartstype = 4;
} else if (name == "早退") {
echartstype = 5;
} else if (name == "漏签") {
echartstype = 6;
} else {
return false;
}
reportparams = {
day : params.data.day,
state: echartstype,
timeId: $("#timeId").val()
};
var title = params.data.day + " " + name + "的详情";
_openNewWindows({
url: "../../tpl/checkwork/reportDetail.html",
title: title,
pageId: "detail",
area: ['80vw', '70vh'],
callBack: function (refreshCode) {
}
});
});
}
function getTableParams() {
return {
userName: $("#userName").val(),
startTime: startTime,
endTime: endTime,
timeId: $("#timeId").val()
};
}
exports('checkworkReport', {});
});
var rowId = "";
var startTime = "", endTime = "";
var isTable = true;
var reportparams = "";
var echartsparams = "";
layui.config({
base: basePath,
version: skyeyeVersion
}).extend({
window: 'js/winui.window',
echarts: '../echarts/echarts',
echartsTheme: '../echarts/echartsTheme'
}).define(['window', 'table', 'jquery', 'winui', 'form', 'echarts'], function (exports) {
winui.renderColor();
var $ = layui.$,
form = layui.form,
table = layui.table;
var selTemplate = getFileContent('tpl/template/select-option.tpl');
authBtn('1563415739069');
$("#echartsPie").hide();
form.on('radio(type)', function (data) {
if (data.value == "image"){
isTable = false;
$("#tableList").hide();
$("#echartsPie").show();
getPieData();
} else if (data.value == "table"){
isTable = true;
$("#echartsPie").hide();
$("#tableList").show();
loadTable();
}
});
table.render({
id: 'messageTable',
elem: '#messageTable',
method: 'post',
url: sysMainMation.checkworkBasePath + 'checkwork015',
where: getTableParams(),
even: true,
page: true,
limits: getLimits(),
limit: getLimit(),
cols: [[
{ title: systemLanguage["com.skyeye.serialNumber"][languageType], type: 'numbers' },
{ field: 'userId', title: 'ID', width: 50,style:'display:none;'},
{ field: 'companyName', title: '公司', align: 'left', width: 200 },
{ field: 'departmentName', title: '部门', align: 'left', width: 120 },
{ field: 'jobName', title: '职位', align: 'left', width: 120 },
{ field: 'userName', title: '姓名', align: 'left', width: 80 },
{ field: 'shouldTime', title: '应出勤(次)', align: 'center', width: 100 },
{ field: 'fullTime', title: '全勤(次)', align: 'center', width: 100, templet: function (d) {
if(d.fullTime != '0'){
return "<a class='checkwork-a'><span class='state-up' lay-event='fullTime'>" + d.fullTime + "</span></a>";
} else {
return d.fullTime;
}
}},
{ field: 'absenteeism', title: '缺勤(次)', align: 'center', width: 100, templet: function (d) {
if(d.absenteeism != '0'){
return "<a class='checkwork-a'><span class='state-down' lay-event='absenteeism'>" + d.absenteeism + "</span></a>";
} else {
return d.absenteeism;
}
}},
{ field: 'lackTime', title: '工时不足(次)', align: 'center', width: 100, templet: function (d) {
if(d.lackTime != '0'){
return "<a class='checkwork-a'><span class='state-down' lay-event='lackTime'>" + d.lackTime + "</span></a>";
} else {
return d.lackTime;
}
}},
{ field: 'late', title: '迟到(次)', align: 'center', width: 100, templet: function (d) {
if(d.late != '0'){
return "<a class='checkwork-a'><span class='state-down' lay-event='late'>" + d.late + "</span></a>";
} else {
return d.late;
}
}},
{ field: 'leaveEarly', title: '早退(次)', align: 'center', width: 100, templet: function (d) {
if(d.leaveEarly != '0'){
return "<a class='checkwork-a'><span class='state-down' lay-event='leaveEarly'>" + d.leaveEarly + "</span></a>";
} else {
return d.leaveEarly;
}
}},
{ field: 'missing', title: '漏签(次)', align: 'center', width: 100, templet: function (d) {
if(d.missing != '0'){
return "<a class='checkwork-a'><span class='state-down' lay-event='missing'>" + d.missing + "</span></a>";
} else {
return d.missing;
}
}}
]
],
done: function(json) {
matchingLanguage();
$('table.layui-table thead tr th:eq(1)').addClass('layui-hide');
}
});
table.on('tool(messageTable)', function (obj) {
var data = obj.data;
var layEvent = obj.event;
if (layEvent === 'fullTime') {
detail(data, '1');
} else if (layEvent === 'absenteeism'){
detail(data, '2');
} else if (layEvent === 'lackTime'){
detail(data, '3');
} else if (layEvent === 'late'){
detail(data, '4');
} else if (layEvent === 'leaveEarly'){
detail(data, '5');
} else if (layEvent === 'missing'){
detail(data, '6');
}
});
function detail(data, detailType){
var userName = data.userName;
var title = "";
if(detailType === "1"){
title = userName + " " + startTime + "" + endTime + "的全勤详情";
} else if (detailType === "2"){
title = userName + " " + startTime + "" + endTime + "的缺勤详情";
} else if (detailType === "3"){
title = userName + " " + startTime + "" + endTime + "的工时不足详情";
} else if (detailType === "4"){
title = userName + " " + startTime + "" + endTime + "的迟到详情";
} else if (detailType === "5"){
title = userName + " " + startTime + "" + endTime + "的早退详情";
} else if (detailType === "6"){
title = userName + " " + startTime + "" + endTime + "的漏签详情";
}
reportparams = {
userId : data.userId,
state: detailType,
startTime: startTime,
endTime: endTime
};
_openNewWindows({
url: "../../tpl/checkwork/reportdetail.html",
title: title,
pageId: "detail",
area: ['80vw', '70vh'],
callBack: function (refreshCode) {
}
});
}
// 初始化公司
function initCompany(){
var companyId = "";
// 获取当前登录员工信息
systemCommonUtil.getSysCurrentLoginUserMation(function (data) {
companyId = data.bean.companyId;
});
// 加载企业数据
systemCommonUtil.getSysCompanyList(function(data) {
$("#companyList").html(getDataUseHandlebars(selTemplate, data));
$("#companyList").val(companyId);
form.render('select');
});
initDepartment();
initTable();
}
//初始化部门
function initDepartment(){
showGrid({
id: "departmentList",
url: reqBasePath + "companydepartment007",
params: {companyId: $("#companyList").val()},
pagination: false,
method: 'POST',
template: selTemplate,
ajaxSendLoadBefore: function(hdb) {},
ajaxSendAfter:function (json) {
form.render('select');
}
});
}
function initJob(){
// 根据部门id获取岗位集合
systemCommonUtil.queryJobListByDepartmentId($("#departmentList").val(), function(data) {
$("#jobList").html(getDataUseHandlebars(selTemplate, data));
form.render('select');
});
}
form.render();
// 公司监听事件
form.on('select(companyList)', function(data) {
initDepartment();
initJob();
});
// 部门监听事件
form.on('select(departmentList)', function(data) {
initJob();
});
$("body").on("click", "#formSearch", function() {
if(isTable){
loadTable();
} else {
getPieData();
}
});
$("body").on("click", "#reloadTable", function() {
if(isTable){
loadTable();
} else {
getPieData();
}
});
function loadTable() {
if(isNull($("#checkTime").val())) {//一定要记得,当createTime为空时
winui.window.msg("请选择时间段", {icon: 2, time: 2000});
}else {
startTime = $("#checkTime").val().split('~')[0].trim();
endTime = $("#checkTime").val().split('~')[1].trim();
$("#title").text(startTime + "" + endTime + " 考勤情况统计");
table.reloadData("messageTable", {where: getTableParams()});
}
}
function getPieData(){
var myChart;
var cellSize = [80, 80];
var pieRadius = 30;
startTime = $("#checkTime").val().split('~')[0].trim();
endTime = $("#checkTime").val().split('~')[1].trim();
$("#title").text(startTime + "" + endTime + " 考勤情况统计");
function getVirtulData() {
var date = +echarts.number.parseDate(startTime);
var end = +echarts.number.parseDate(endTime);
var dayTime = 3600 * 24 * 1000;
var data = [];
for (var time = date; time <= end; time += dayTime) {
data.push([
echarts.format.formatTime('yyyy-MM-dd', time),
Math.floor(Math.random() * 10000)
]);
}
return data;
}
function getPieSeries(scatterData, chart, ydata) {
return echarts.util.map(scatterData, function (item, index) {
var center = chart.convertToPixel('calendar', item);
return {
id: index + 'pie',
type: 'pie',
center: center,
label: {
normal: {
formatter: '{c}',
position: 'inside'
}
},
radius: pieRadius,
data: [
{name: '缺勤', value: ydata[index].absenteeism, day: ydata[index].checkDay},
{name: '工时不足', value: ydata[index].lackTime, day: ydata[index].checkDay},
{name: '迟到', value: ydata[index].late, day: ydata[index].checkDay},
{name: '早退', value: ydata[index].leaveEarly, day: ydata[index].checkDay},
{name: '漏签', value: ydata[index].missing, day: ydata[index].checkDay}
]
};
});
}
var scatterData = getVirtulData();
var option = {
tooltip : {},
legend: {
data: ['缺勤', '工时不足', '迟到', '早退', '漏签'],
bottom: 20
},
calendar: {
top: 'middle',
left: 'center',
orient: 'vertical',
cellSize: cellSize,
yearLabel: {
show: false,
textStyle: {
fontSize: 30
}
},
dayLabel: {
margin: 20,
firstDay: 1,
nameMap: ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六']
},
monthLabel: {
show: false
},
range: [startTime, endTime]
},
series: [{
id: 'label',
type: 'scatter',
coordinateSystem: 'calendar',
symbolSize: 1,
label: {
normal: {
show: true,
formatter: function (params) {
return echarts.format.formatTime('dd', params.value[0]);
},
offset: [-cellSize[0] / 2 + 10, -cellSize[1] / 2 + 10],
textStyle: {
color: '#000',
fontSize: 14
}
}
},
data: scatterData
}]
};
myChart = echarts.init($("#echartsPie")[0], layui.echartsTheme);
myChart.clear();//清空画布
myChart.setOption(option);
initEcharts();
function initEcharts(){
AjaxPostUtil.request({url: flowableBasePath + "checkwork016", params: getEchartsParams(), type: 'json', method: "POST", callback: function (json) {
ydata = json.rows;
var pieInitialized;
setTimeout(function () {
pieInitialized = true;
myChart.setOption({
series: getPieSeries(scatterData, myChart, ydata)
});
}, 10);
}});
}
function getEchartsParams(){
var date =+ echarts.number.parseDate(startTime);
var end =+ echarts.number.parseDate(endTime);
var dayTime = 3600 * 24 * 1000;
var arr = [];
for (var time = date; time <= end; time += dayTime) {
arr.push([
echarts.format.formatTime('yyyy-MM-dd', time)
]);
}
return {
arr: arr,
userName: $("#userName").val(),
companyName: $("#companyList").val(),
departmentName: isNull($("#departmentList").val()) ? "" : $("#jobList").val(),
jobName: isNull($("#jobList").val()) ? "" : $("#jobList").val()
};
}
myChart.on('click', function (params) {
var name = params.data.name;
var echartstype = "";
if(name == "全勤"){
echartstype = 1;
} else if (name == "缺勤"){
echartstype = 2;
} else if (name == "工时不足"){
echartstype = 3;
} else if (name == "迟到"){
echartstype = 4;
} else if (name == "早退"){
echartstype = 5;
} else if (name == "漏签"){
echartstype = 6;
} else {
return false;
}
echartsparams = {
userName: $("#userName").val(),
companyName: $("#companyList").val(),
departmentName: isNull($("#departmentList").val()) ? "" : $("#jobList").val(),
jobName: isNull($("#jobList").val()) ? "" : $("#jobList").val(),
day : params.data.day,
state: echartstype
};
var title = params.data.day + " " + name + "的详情";
_openNewWindows({
url: "../../tpl/checkwork/echartsdetail.html",
title: title,
pageId: "detail",
area: ['80vw', '70vh'],
callBack: function (refreshCode) {
}
});
});
}
function getTableParams() {
return {
userName: $("#userName").val(),
companyName: $("#companyList").val(),
departmentName: isNull($("#departmentList").val()) ? "" : $("#jobList").val(),
jobName: isNull($("#jobList").val()) ? "" : $("#jobList").val(),
startTime: startTime,
endTime: endTime,
timeId: $("#timeId").val()
};
}
exports('checkworkreport', {});
});
var rowId = "";
layui.config({
base: basePath,
version: skyeyeVersion
}).extend({
window: 'js/winui.window'
}).define(['window', 'table', 'jquery', 'winui', 'form'], function (exports) {
winui.renderColor();
var $ = layui.$,
form = layui.form,
table = layui.table;
var params = parent.echartsparams;
table.render({
id: 'messageTable',
elem: '#messageTable',
method: 'post',
url: flowableBasePath + 'checkwork019',
where: params,
even: true,
page: true,
limits: [8, 16, 24, 32, 40, 48, 56],
limit: 8,
cols: [[
{ title: systemLanguage["com.skyeye.serialNumber"][languageType], type: 'numbers' },
{ field: 'userName', title: '姓名', align: 'center', width: 100},
{ field: 'checkDate', title: '考勤日期', align: 'center', width: 120},
{ title: '星期几', align: 'center', width: 100, templet: function (d) {
return getMyDay(new Date(d.checkDate));
}},
{ field: 'clockIn', title: '上班打卡时间', align: 'center', width: 220, templet: function (d) {
var time = d.clockIn;
if(d.clockInState == '0'){
time += " ( <span class='state-down'>系统填充</span> )";
} else if (d.clockInState == '1'){
time += " ( <span class='state-up'>正常</span> )";
} else if (d.clockInState == '2'){
if(d.appealInState == '1' && d.appealInType == '2'){
time += " ( <span class='state-down'>迟到</span> )" + "<span class='state-up'> ( 申诉成功 ) </span>";
} else {
time += " ( <span class='state-down'>迟到</span> )";
}
} else if (d.clockInState == '3'){
time += " ( <span class='state-down'>未打卡</span> )";
} else {
return "";
}
return time;
}},
{ field: 'clockOut', title: '下班打卡时间', align: 'center', width: 220, templet: function (d) {
var time = d.clockOut;
if(d.clockOutState == '0'){
time += " ( <span class='state-down'>系统填充</span> )";
} else if (d.clockOutState == '1'){
time += " ( <span class='state-up'>正常</span> )";
} else if (d.clockOutState == '2'){
if(d.appealOutState == '1' && d.appealOutType == '3'){
time += " ( <span class='state-down'>早退</span> )" + "<span class='state-up'> ( 申诉成功 ) </span>";
} else {
time += " ( <span class='state-down'>早退</span> )";
}
} else if (d.clockOutState == '3'){
time += " ( <span class='state-down'>未打卡</span> )";
} else {
return "";
}
return time;
}},
{ field: 'workHours', title: '工时', align: 'center', width: 110},
{ field: 'state', title: '考勤状态', align: 'center', width: 160, templet: function (d) {
if(d.state == '0'){
return "<span class='state-up'>早卡</span>";
} else if (d.state == '1'){
return "<span class='state-up'>全勤</span>";
} else if (d.state == '2'){
if(d.appealAllState == '1' && d.appealAllType == '1'){
return "<span class='state-down'>缺勤</span>" + "<span class='state-up'> ( 申诉成功 ) </span>";
} else {
return "<span class='state-down'>缺勤</span>";
}
} else if (d.state == '3'){
return "<span class='state-down'>工时不足</span>";
} else if (d.state == '4'){
if(d.appealAllState == '1' && d.appealAllType == '1'){
return "<span class='state-down'>缺早卡</span>" + "<span class='state-up'> ( 申诉成功 ) </span>";
} else {
return "<span class='state-down'>缺早卡</span>";
}
} else if (d.state == '5'){
if(d.appealAllState == '1' && d.appealAllType == '1'){
return "<span class='state-down'>缺晚卡</span>" + "<span class='state-up'> ( 申诉成功 ) </span>";
} else {
return "<span class='state-down'>缺晚卡</span>";
}
} else {
return "参数错误";
}
}}
]],
done: function(json) {
matchingLanguage();
}
});
form.render();
exports('reportdetail', {});
});
......@@ -6,7 +6,6 @@ layui.config({
window: 'js/winui.window'
}).define(['window', 'table', 'jquery', 'winui', 'form'], function (exports) {
winui.renderColor();
var $ = layui.$,
form = layui.form,
table = layui.table;
......@@ -17,7 +16,7 @@ layui.config({
id: 'messageTable',
elem: '#messageTable',
method: 'post',
url: flowableBasePath + 'checkwork018',
url: sysMainMation.checkworkBasePath + 'checkwork018',
where: params,
even: true,
page: true,
......@@ -25,6 +24,7 @@ layui.config({
limit: 8,
cols: [[
{ title: systemLanguage["com.skyeye.serialNumber"][languageType], type: 'numbers' },
{ field: 'createName', title: '姓名', align: 'center', width: 120 },
{ field: 'checkDate', title: '考勤日期', align: 'center', width: 120},
{ title: '星期几', align: 'center', width: 100, templet: function (d) {
return getMyDay(new Date(d.checkDate));
......
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<link href="../../assets/lib/layui/css/layui.css" rel="stylesheet" />
<link href="../../assets/lib/winui/css/winui.css" rel="stylesheet" />
<meta charset="utf-8" />
<title></title>
<link href="../../assets/lib/layui/css/layui.css" rel="stylesheet" />
<link href="../../assets/lib/winui/css/winui.css" rel="stylesheet" />
</head>
<body>
<div class="txtcenter" style="margin: 0 auto; padding-top: 10px;">
<form class="layui-form layui-form-pane" action="" autocomplete="off">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">班次</label>
<div class="layui-input-inline">
<select lay-filter="timeId" lay-search="" id="timeId">
</select>
</div>
<label class="layui-form-label">时间</label>
<div class="layui-input-inline">
<input type="text" id="checkTime" name="checkTime" placeholder="请选择时间段" class="layui-input" />
</div>
<label class="layui-form-label">姓名</label>
<div class="layui-input-inline">
<input type="text" id="userName" name="userName" placeholder="请输入姓名" class="layui-input" />
</div>
<button class="layui-btn list-form-search" type="button" id="formSearch"><language showName="com.skyeye.search2"></language></button>
</div>
</div>
</form>
</div>
<div class="winui-toolbar">
<div class="winui-tool">
<button id="reloadTable" class="winui-toolbtn"><i class="fa fa-refresh" aria-hidden="true"></i><language showName="com.skyeye.refreshDataBtn"></language></button>
</div>
</div>
<div class="layui-col-xs12" style="padding: 0px 15px; font-size: 12px; color: grey; float: left;">
应出勤:选中时间段内除去节假日后的实际应上班天数;<br/>
全勤:上班和下班都打了卡;<br/>
......@@ -16,16 +43,10 @@
早退:还没到下班的打卡时间就打卡;<br/>
漏签:早卡和晚卡两个当中缺少一个的;
</div>
<div class="winui-toolbar">
<div class="winui-tool">
<button id="reloadTable" class="winui-toolbtn"><i class="fa fa-refresh" aria-hidden="true"></i><language showName="com.skyeye.refreshDataBtn"></language></button>
</div>
</div>
<div style="margin: auto 10px; float: left; width: calc(100% - 20px);">
<form class="layui-form" action="">
<div style="margin: auto 10px; float: left; width: calc(100% - 20px);">
<form class="layui-form" action="">
<div class="layui-input-block" style="height: 35px;">
<input type="radio" name="type" lay-filter="type" value="table" title="表格模式" checked>
<input type="radio" name="type" lay-filter="type" value="table" title="表格模式" checked>
<input type="radio" name="type" lay-filter="type" value="image" title="图标模式">
</div>
<div class="title" id="title" style="margin:0 auto; text-align:center;"></div>
......@@ -33,12 +54,12 @@
<div id="tableList">
<table id="messageTable" lay-filter="messageTable"></table>
</div>
<div id="echartsPie" style="width: 1000px; height: 600px; margin:0 auto; overflow-x: auto"></div>
</div>
<script src="../../assets/lib/layui/layui.js"></script>
<script src="../../assets/lib/layui/custom.js"></script>
<script type="text/javascript">
layui.config({base: '../../js/checkwork/'}).use('checkworkreport');
</script>
<div id="echartsPie" style="width: 1000px;height:600px;margin:0 auto;overflow-x:auto"></div>
</div>
<script src="../../assets/lib/layui/layui.js"></script>
<script src="../../assets/lib/layui/custom.js"></script>
<script type="text/javascript">
layui.config({base: '../../js/checkwork/'}).use('checkworkReport');
</script>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<link href="../../assets/lib/layui/css/layui.css" rel="stylesheet" />
<link href="../../assets/lib/winui/css/winui.css" rel="stylesheet" />
<style type="text/css">
.scheduleContent .ui-widget-content .fc-day-number{
color: black !important;
}
</style>
</head>
<body>
<div style="margin:auto 10px;">
<table id="messageTable" lay-filter="messageTable"></table>
</div>
<script src="../../assets/lib/layui/layui.js"></script>
<script src="../../assets/lib/layui/custom.js"></script>
<script type="text/javascript">
layui.config({base: '../../js/checkwork/'}).use('echartsdetail');
</script>
</body>
</html>
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册