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 excelData = [];

var cols = [],
	tableDatas = [];


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)
			cols = col[0]
			tableDatas = tableData;
			// // 使用 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() {
	const XLSX = window.XLSX;

	// 创建一个新的工作簿
	var workbook = XLSX.utils.book_new();
	// 创建一个新的工作表
	var worksheet = XLSX.utils.aoa_to_sheet([
		['特勤考勤台账'], // 标题行
		cols.map(function(item) {
			return item.title;
		}), // 表头行
	]);

	// 添加数据行
	tableDatas.forEach(function(row, index) {
		var newRow = [];
		cols.forEach(function(colItem) {
			if (colItem.type === 'numbers') {
				newRow.push(index + 1); // 序号从 1 开始
			} else {
				newRow.push(row[colItem.field]); // 添加对应字段的值
			}
		});
		XLSX.utils.sheet_add_aoa(worksheet, [newRow], {
			origin: -1
		}); // 添加数据行
	});

	// 设置合并单元格
	worksheet['!merges'] = [{
			s: {
				r: 0,
				c: 0,
			},
			e: {
				r: 0,
				c: cols.length - 1,
			}
		} // 合并 A1 到 E1 单元格
	];

	// 添加工作表到工作簿
	XLSX.utils.book_append_sheet(workbook, worksheet, 'Sheet1');

	// 导出 Excel 文件
	XLSX.writeFile(workbook, '特勤考勤台账.xlsx');

	// console.log(XLSX);
	// layui.excel.exportExcel(excelData, '特勤考勤台账.xlsx', 'xlsx')
	// table.exportFile(d.config.id, excelData, 'xlsx');
}