import { exportXlsx2 } from "@/excel/Export2Excel.js"
import { filterYear, filterbn } from "@/utils/auth.js";
/**
 * 导出xlsx
 *
 * @export
 * @param {Array} tableData
 * @param {Object} dictObj
 * @param {String} tips
 */
export function exportXlsx(tableData, { }, tips) {
	tableData = Array.isArray(tableData) ? tableData : []
	// (*)企业名称	(*)岗位类型	(*)姓名	(*)年度总学时	授课次数
	let titleData = [{

		orgName: "(*)企业名称",
		traineeName: "(*)岗位类型",
		remark: "(*)姓名",
		neAnnualTotalHour: "(*)年度总学时",
		mainHeadTeachingQty: "(*)授课次数",
	}]

	const exportData = tableData
	// 表头上面的规则
	// 文本：1-50字符	枚举选择	文本：1-50字符	1位小数：0-99999999.9	整数：0-99999    岗位类型为主要负责人，需填写授课次数，其他不填写
	const rules =
	{
		orgName: "文本：1-50字符",
		traineeName: "枚举选择",
		remark: "文本：1-50字符",
		neAnnualTotalHour: "1位小数：0-99999999.9",
		mainHeadTeachingQty: "整数：0-99999    岗位类型为主要负责人，需填写授课次数，其他不填写",
	}
	// 岗位类型
	// 主要负责人
	// 安全分管领导（安全总监）
	let year = new Date().getFullYear()
	const dicArr = [
		{
			title: '岗位类型',
			data: [{ label: '主要负责人', value: '1' },
			{ label: '安全分管领导（安全总监）', value: '2' }]
		},
		{
			title: '统计时间',
			data: filterbn(2)
		},

	]
	exportXlsx2({
		tablename: '重点人员安全培训（管理层）台账.xlsx',
		baseData: {
			content: `1、持证人员统计范围为在册在岗员工和劳务派遣人员，不包括业务外包人员；
2、安全教育培训模块统计频次：半年；
3、安全教育培训模块提交周期：提交时间范围分别为：上半年1月1日-6月30日、下半年7月1日-12月31日。`,
			orgName: '',
		}, // 填报基本信息
		tableObj: {
			titleData,
			tableData: exportData,
			tableTitle: '重点人员安全培训（管理层）台账',
			sheetName: '重点人员安全培训（管理层）台账',
			merges: [],
			tips, // 填表说明
			rules // 字段规则
		},
		dict: dicArr,
		// dictHeader: {
		// 	content: ['安全管理队伍下拉项'],
		// 	merges: [{ s: { r: 0, c: 0 }, e: { r: 0, c: dicArr.length - 1 } }] // 为字典长度
		// }
	})
}
//重点人员安全培训（员工层）
export function ygcXlsx(tableData, { }, tips) {
	tableData = Array.isArray(tableData) ? tableData : []
	let titleData = [{
		orgName: "(*)企业名称",
		ftsoTrainPersonQty: "(*)专职安全管理人员人次",
		ftsoAnnyalTotalHour: "(*)专职安全管理人员年度总学时",
		neEducationQty: "(*)新员工三级教育人数",
		neAnnualTotalHour: "(*)新员工年度总学时",
	}]

	const exportData = tableData
	const rules =
	{
		orgName: "文本：1-50字符",
		ftsoTrainPersonQty: "整数:0-99999",
		ftsoAnnyalTotalHour: "1位小数:0-999999999.9",
		neEducationQty: "整数:0-99999",
		neAnnualTotalHour: "1位小数:0-999999999.9",
	}
	// 岗位类型
	// 主要负责人
	// 安全分管领导（安全总监）
	const dicArr = [
		{
			title: '岗位类型',
			data: [{ label: '主要负责人', value: '1' },
			{ label: '安全分管领导（安全总监）', value: '2' }]
		},
		{
			title: '统计时间',
			data: filterbn(2)
		},

	]
	exportXlsx2({
		tablename: '重点人员安全培训（员工层）台账.xlsx',
		baseData: {
			content: `填报周期和单位信息
1、持证人员统计范围为在册在岗员工和劳务派遣人员，不包括业务外包人员；
2、安全教育培训模块统计频次：半年；
3、安全教育培训模块提交周期：提交时间范围分别为：上半年1月1日-6月30日、下半年7月1日-12月31日。`,
			orgName: '',
		}, // 填报基本信息
		tableObj: {
			titleData,
			tableData: exportData,
			tableTitle: '重点人员安全培训（员工层）',
			sheetName: '重点人员安全培训（员工层）',
			merges: [],
			tips, // 填表说明
			rules // 字段规则
		},
		dict: dicArr,
		// dictHeader: {
		// 	merges: [{ s: { r: 0, c: 0 }, e: { r: 0, c: dicArr.length - 1 } }] // 为字典长度
		// }
	})
}
// 持证人员
export function czrytXlsx(tableData, { }, tips) {
	tableData = Array.isArray(tableData) ? tableData : []
	let titleData = [
		{
			orgName: "(*)企业名称",
			hpElectricianQty: "特种作业人员（按照国家目录）",
			lpElectricianQty: "特种作业人员（按照国家目录）",
			reAcwQty: "特种作业人员（按照国家目录）",
			weHcWorkerQty: "特种作业人员（按照国家目录）",
			highAlWorkerQty: "特种作业人员（按照国家目录）",
			safetyManagementQty: "特种设备管理及操作人员（按照国家目录）",
			ibFiremanQty: "特种设备管理及操作人员（按照国家目录）",
			waterTreatmentQty: "特种设备管理及操作人员（按照国家目录）",
			craneDriverQty: "特种设备管理及操作人员（按照国家目录）",
			pvOperatorQty: "特种设备管理及操作人员（按照国家目录）",
			forkliftDriverQty: "特种设备管理及操作人员（按照国家目录）",
			sbDriverQty: "特种设备管理及操作人员（按照国家目录）",
			weldingOperationsQty: "特种设备管理及操作人员（按照国家目录）",
			juniorWorkerQty: "消防控制室值班和操作持证人员（人）",
			intermediateWorkerQty: "消防控制室值班和操作持证人员（人）",
		},
		{
			orgName: "(*)企业名称",
			hpElectricianQty: "(*)高压电工(人)",
			lpElectricianQty: "(*)低压电工(人)",
			reAcwQty: "(*)制冷与空调工(人)",
			weHcWorkerQty: "(*)焊接与热切割工(人)",
			highAlWorkerQty: "(*)高处作业工(人)",
			safetyManagementQty: "(*)特种设备安全管理(人)",
			ibFiremanQty: "(*)工业锅炉司炉(人)",
			waterTreatmentQty: "(*)锅炉水处理工(人)",
			craneDriverQty: "(*)起重机司机(人)",
			pvOperatorQty: "(*)压力容器操作工(人)",
			forkliftDriverQty: "(*)叉车司机(人)",
			sbDriverQty: "(*)观光车和观光列车司机(人)",
			weldingOperationsQty: "(*)特种设备焊机作业(人)",
			juniorWorkerQty: "(*)五级/初级工(人)",
			intermediateWorkerQty: "(*)四级/中级工(人)",
		}
	]

	const exportData = tableData
	const rules =
	{
		orgName: "文本：1-50字符",
		hpElectricianQty: "整数:0-99999",
		lpElectricianQty: "整数:0-99999",
		reAcwQty: "整数:0-99999",
		weHcWorkerQty: "整数:0-99999",
		highAlWorkerQty: "整数:0-99999",
		safetyManagementQty: "整数:0-99999",
		ibFiremanQty: "整数:0-99999",
		waterTreatmentQty: "整数:0-99999",
		craneDriverQty: "整数:0-99999",
		pvOperatorQty: "整数:0-99999",
		forkliftDriverQty: "整数:0-99999",
		sbDriverQty: "整数:0-99999",
		weldingOperationsQty: "整数:0-99999",
		juniorWorkerQty: "整数:0-99999",
		intermediateWorkerQty: "整数:0-99999",
	}
	// 岗位类型
	// 主要负责人
	// 安全分管领导（安全总监）
	const dicArr = [
		{
			title: '岗位类型',
			data: [{ label: '主要负责人', value: '1' },
			{ label: '安全分管领导（安全总监）', value: '2' }]
		},
		{
			title: '统计时间',
			data: filterbn(2)
		},

	]
	exportXlsx2({
		tablename: '持证人员.xlsx',
		baseData: {
			content: `填报周期和单位信息
1、持证人员统计范围为在册在岗员工和劳务派遣人员，不包括业务外包人员；
2、安全教育培训模块统计频次：半年；
3、安全教育培训模块提交周期：提交时间范围分别为：上半年1月1日-6月30日、下半年7月1日-12月31日。`,
			orgName: '',
		}, // 填报基本信息
		tableObj: {
			titleData,
			tableData: exportData,
			tableTitle: '持证人员',
			sheetName: '持证人员',
			merges: [
				{ s: { r: 2, c: 1 }, e: { r: 3, c: 1 } },
				{ s: { r: 2, c: 2 }, e: { r: 2, c: 6 } },
				{ s: { r: 2, c: 7 }, e: { r: 2, c: 14 } },
				{ s: { r: 2, c: 15 }, e: { r: 2, c: 16 } },

			],
			tips, // 填表说明
			rules // 字段规则
		},
		dict: dicArr,
		// dictHeader: {
		// 	merges: [{ s: { r: 0, c: 0 }, e: { r: 0, c: dicArr.length - 1 } }] // 为字典长度
		// }
	})
}