177 lines
4.3 KiB
JavaScript
177 lines
4.3 KiB
JavaScript
var currentDate = new Date();
|
|
// 获取当前月份的第一天
|
|
var firstDay = new Date(currentDate.getFullYear(), currentDate.getMonth(), 1);
|
|
// 获取下一个月的第一天
|
|
var nextMonthFirstDay = new Date(currentDate.getFullYear(), currentDate.getMonth() + 1, 1);
|
|
// 获取当前月份的天数 //本月多少天
|
|
var daysInMonth = Math.floor((nextMonthFirstDay.getTime() - firstDay.getTime()) / (24 * 60 * 60 * 1000));
|
|
// console.log(daysInMonth);
|
|
var pers = []
|
|
var table, form, laydate,excel;
|
|
var d;
|
|
var excelData=[];
|
|
|
|
layui.use(['form', 'layer', 'table', 'laydate','excel'], function() {
|
|
excel = layui.excel;
|
|
table = layui.table;
|
|
form = layui.form;
|
|
laydate = layui.laydate;
|
|
//初始化日期选择框
|
|
laydate.render({
|
|
elem: '#makeMonth',
|
|
type: 'month',
|
|
value: (new Date()).toISOString().substr(0, 7), // 获取当前日期并转换为'yyyy-MM'格式
|
|
btns: ['now', 'confirm']
|
|
});
|
|
init();
|
|
});
|
|
|
|
|
|
|
|
function init() {
|
|
let userName = $('#userName').val();
|
|
let proName = $('#proName').val();
|
|
let yjName = $('#yjName').val();
|
|
let makeMonth = $('#makeMonth').val();
|
|
|
|
// 静态数据
|
|
var tableData = [];
|
|
|
|
//保存表头
|
|
var col = [
|
|
[{
|
|
title: '序号',
|
|
field: 'zizeng',
|
|
align: 'center',
|
|
type: 'numbers'
|
|
},
|
|
{
|
|
field: 'userName',
|
|
title: '姓 名',
|
|
align: 'center',
|
|
width: '80'
|
|
},
|
|
{
|
|
field: 'proName',
|
|
title: '管辖线路名称',
|
|
align: 'center',
|
|
width: '200'
|
|
},
|
|
{
|
|
field: 'yjName',
|
|
title: '所属运检站',
|
|
align: 'center',
|
|
width: '200'
|
|
},
|
|
{
|
|
field: 'special',
|
|
title: '总计(天)',
|
|
align: 'center',
|
|
width: '100'
|
|
},
|
|
]
|
|
]
|
|
|
|
$.ajax({
|
|
type: 'POST',
|
|
url: PATH_URL + '/attendance/getSpecialPatrolList', // 请求地址
|
|
data: {
|
|
"userName": userName,
|
|
"proName": proName,
|
|
"yjName": yjName,
|
|
"makeMonth": makeMonth,
|
|
"fgsId": "26"
|
|
}, //获取提交的表单字段
|
|
success: function(data) {
|
|
for (var i = 0; i < data.length; i++) {
|
|
var json = {
|
|
'userName': data[i].userName,
|
|
'proName': data[i].proName,
|
|
'yjName': data[i].yjName,
|
|
'special': data[i].special,
|
|
'makeMonth': data[i].makeMonth,
|
|
'proId': data[i].proId
|
|
}
|
|
var spMakeList = data[i].spMakeList;
|
|
for (var j = 0; j < spMakeList.length; j++) {
|
|
json[`${ spMakeList[j].currDay }`] = spMakeList[j].isAtt;
|
|
}
|
|
tableData.push(json)
|
|
}
|
|
console.log('tableData', tableData)
|
|
|
|
if (data.length > 0) {
|
|
for (var i = 0; i < data[0].spMakeList.length; i++) {
|
|
var spMake = data[0].spMakeList[i];
|
|
var json = {
|
|
field: `${ spMake.currDay }`,
|
|
title: `${ spMake.currDay }`,
|
|
align: 'center'
|
|
}
|
|
col[0].push(json);
|
|
}
|
|
}
|
|
d = table.render({
|
|
id: 'layui_table',
|
|
elem: '#table',
|
|
page: true, //开启分页
|
|
skin: 'line', // 表格样式
|
|
cols: col,
|
|
data: tableData,
|
|
title: '特勤考勤台账'//导出数据excel的表名称
|
|
});
|
|
console.log("col",col)
|
|
console.log("tableData",tableData)
|
|
|
|
excelData.push(['特勤考勤台账']);
|
|
// 使用 cols 和 data 构造一个包含表头的新数组
|
|
excelData.push(col[0].map(function(item) { return item.title; })); // 构建表头行
|
|
tableData.forEach(function(row, index) {
|
|
var newRow = [];
|
|
col[0].forEach(function(colItem) {
|
|
if (colItem.type === 'numbers') {
|
|
newRow.push(index + 1); // 序号从 1 开始
|
|
} else {
|
|
newRow.push(row[colItem.field]); // 添加对应字段的值
|
|
}
|
|
});
|
|
excelData.push(newRow); // 将新行添加到 excelData
|
|
});
|
|
console.log(excelData); // 输出结果,检查是否正确
|
|
},
|
|
error: function(XMLHttpRequest, textStatus, e) {
|
|
layer.msg('数据请求发生异常,请稍后重试', {
|
|
icon: 16,
|
|
scrollbar: false
|
|
});
|
|
top.layer.close(addLoadingMsg); //再执行关闭
|
|
}
|
|
});
|
|
}
|
|
|
|
//查询
|
|
function queryClick() {
|
|
init();
|
|
}
|
|
//重置
|
|
function resetClick() {
|
|
$('#userName').val("");
|
|
$('#proName').val("");
|
|
$('#yjName').val("");
|
|
|
|
var today = new Date();
|
|
var year = today.getFullYear();
|
|
var month = today.getMonth() + 1;
|
|
if (month < 10) {
|
|
month = '0' + month;
|
|
}
|
|
var currentMonth = year + '-' + month;
|
|
$('#makeMonth').val(currentMonth);
|
|
init();
|
|
}
|
|
|
|
//导出
|
|
function exportData() {
|
|
layui.excel.exportExcel(excelData, '特勤考勤台账.xlsx', 'xlsx')
|
|
// table.exportFile(d.config.id, excelData, 'xlsx');
|
|
} |