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 glXlsx(tableData, dictObj, tips) {
    const { D_BZ_GLLX, D_BZ_YLRQLB, D_BZ_YLGDJB, D_BZ_SF, D_BZ_GYQPLX, D_BZ_DTLX_NEW, D_BZ_QZJXLB, D_BZ_CNJDCLX } = dictObj
    tableData = Array.isArray(tableData) ? tableData : []
    let titleData = [
        {
            orgName: "(*)企业名称",
            boilerName: "(*)锅炉类型",
            boilerEvaporation: "(*)蒸发量（吨/时）",
            boilerQty: "(*)数量",
        }
    ]

    const exportData = tableData
    const rules =
    {
        orgName: "文本：1-50字符",
        boilerName: "枚举选择",
        boilerEvaporation: "小数：0-99999999.99,至多2位小数",
        boilerQty: "整数：0-99999",
    }
    // 岗位类型
    // 主要负责人
    // 安全分管领导（安全总监）
    const dicArr = [
        {
            title: '统计时间',
            data: filterbn(2)
        },
        {
            title: '锅炉类型',
            data: D_BZ_GLLX
        },
        {
            title: '是否',
            data: D_BZ_SF
        },
        {
            title: '介质类别',
            data: D_BZ_YLRQLB
        },
        {
            title: '压力管道级别',
            data: D_BZ_YLGDJB
        },
        {
            title: '气瓶名称',
            data: D_BZ_GYQPLX
        },
        {
            title: '车辆名称',
            data: D_BZ_CNJDCLX
        },
        {
            title: '电梯类型',
            data: D_BZ_DTLX_NEW
        },

        {
            title: '起重机械类别',
            data: D_BZ_QZJXLB
        },

    ]
    exportXlsx2({
        tablename: '锅炉.xlsx',
        baseData: {
            content: `填报说明：
1、填报单位：省级单位名称；
2、企业名称：各省级单位机关或下属单位名称；
3、特种设备管理模块统计频次：半年；
4、特种设备管理模块提交周期：提交时间范围分别为：上半年：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 ylrqXlsx(tableData, dictObj, tips) {
    const { D_BZ_GLLX, D_BZ_YLRQLB, D_BZ_YLGDJB, D_BZ_SF, D_BZ_GYQPLX, D_BZ_DTLX_NEW, D_BZ_QZJXLB, D_BZ_CNJDCLX } = dictObj
    tableData = Array.isArray(tableData) ? tableData : []
    let titleData = [
        {
            orgName: "(*)企业名称",
            preVesMediumName: "(*)介质名称",
            preVesCategoryName: "(*)类别",
            preVesQty: "(*)数量",
        }
    ]

    const exportData = tableData
    const rules =
    {
        orgName: "文本：1-50字符",
        preVesMediumName: "文本：1-100字符",
        preVesCategoryName: "枚举选择",
        preVesQty: "整数：0-99999",
    }
    // 岗位类型
    // 主要负责人
    // 安全分管领导（安全总监）
    const dicArr = [
        {
            title: '统计时间',
            data: filterbn(2)
        },
        {
            title: '锅炉类型',
            data: D_BZ_GLLX
        },
        {
            title: '是否',
            data: D_BZ_SF
        },
        {
            title: '介质类别',
            data: D_BZ_YLRQLB
        },
        {
            title: '压力管道级别',
            data: D_BZ_YLGDJB
        },
        {
            title: '气瓶名称',
            data: D_BZ_GYQPLX
        },
        {
            title: '车辆名称',
            data: D_BZ_CNJDCLX
        },
        {
            title: '电梯类型',
            data: D_BZ_DTLX_NEW
        },

        {
            title: '起重机械类别',
            data: D_BZ_QZJXLB
        },

    ]
    exportXlsx2({
        tablename: '压力容器.xlsx',
        baseData: {
            content: `填报说明：
1、填报单位：省级单位名称；
2、企业名称：各省级单位机关或下属单位名称；
3、特种设备管理模块统计频次：半年；
4、特种设备管理模块提交周期：提交时间范围分别为：上半年：1月1日-6月30日；下半年：7月1日-12月31日。`,
            orgName: '',
        }, // 填报基本信息
        tableObj: {
            titleData,
            tableData: exportData,
            tableTitle: '压力容器',
            sheetName: '压力容器',
            merges: [

            ],
            tips, // 填表说明
            rules // 字段规则
        },
        dict: dicArr,

    })
}
//压力管道
export function ylgdXlsx(tableData, dictObj, tips) {
    const { D_BZ_GLLX, D_BZ_YLRQLB, D_BZ_YLGDJB, D_BZ_SF, D_BZ_GYQPLX, D_BZ_DTLX_NEW, D_BZ_QZJXLB, D_BZ_CNJDCLX } = dictObj
    tableData = Array.isArray(tableData) ? tableData : []
    let titleData = [
        {
            orgName: "(*)企业名称",
            prePipeName: "(*)管道名称",
            prePipeMediumName: "(*)工作介质",
            prePipeTotalLength: "(*)管道长度(m)",
            prePipeLevelName: "(*)管道级别",
        }
    ]

    const exportData = tableData
    const rules =
    {
        orgName: "文本：1-50字符",
        prePipeName: "文本：1-100字符",
        prePipeMediumName: "文本：1-100字符",
        prePipeTotalLength: "小数：0-99999999.99,至多2位小数",
        prePipeLevelName: "枚举选择",
    }
    // 岗位类型
    // 主要负责人
    // 安全分管领导（安全总监）
    const dicArr = [
        {
            title: '统计时间',
            data: filterbn(2)
        },
        {
            title: '锅炉类型',
            data: D_BZ_GLLX
        },
        {
            title: '是否',
            data: D_BZ_SF
        },
        {
            title: '介质类别',
            data: D_BZ_YLRQLB
        },
        {
            title: '压力管道级别',
            data: D_BZ_YLGDJB
        },
        {
            title: '气瓶名称',
            data: D_BZ_GYQPLX
        },
        {
            title: '车辆名称',
            data: D_BZ_CNJDCLX
        },
        {
            title: '电梯类型',
            data: D_BZ_DTLX_NEW
        },

        {
            title: '起重机械类别',
            data: D_BZ_QZJXLB
        },

    ]
    exportXlsx2({
        tablename: '压力管道.xlsx',
        baseData: {
            content: `填报说明：
1、填报单位：省级单位名称；
2、企业名称：各省级单位机关或下属单位名称；
3、特种设备管理模块统计频次：半年；
4、特种设备管理模块提交周期：提交时间范围分别为：上半年：1月1日-6月30日；下半年：7月1日-12月31日。
`,
            orgName: '',
        }, // 填报基本信息
        tableObj: {
            titleData,
            tableData: exportData,
            tableTitle: '压力管道',
            sheetName: '压力管道',
            merges: [

            ],
            tips, // 填表说明
            rules // 字段规则
        },
        dict: dicArr,

    })
}
//工业气瓶
export function gyqpXlsx(tableData, dictObj, tips) {
    const { D_BZ_GLLX, D_BZ_YLRQLB, D_BZ_YLGDJB, D_BZ_SF, D_BZ_GYQPLX, D_BZ_DTLX_NEW, D_BZ_QZJXLB, D_BZ_CNJDCLX } = dictObj
    tableData = Array.isArray(tableData) ? tableData : []
    let titleData = [
        {
            orgName: "(*)企业名称",
            indCylinderTypeName: "(*)气瓶名称",
            indCylinderQty: "(*)数量（个）",
        }
    ]

    const exportData = tableData
    const rules =
    {
        orgName: "文本：1-50字符",
        indCylinderTypeName: "枚举选择",
        indCylinderQty: "整数：0-99999",
    }

    const dicArr = [
        {
            title: '统计时间',
            data: filterbn(2)
        },
        {
            title: '锅炉类型',
            data: D_BZ_GLLX
        },
        {
            title: '是否',
            data: D_BZ_SF
        },
        {
            title: '介质类别',
            data: D_BZ_YLRQLB
        },
        {
            title: '压力管道级别',
            data: D_BZ_YLGDJB
        },
        {
            title: '气瓶名称',
            data: D_BZ_GYQPLX
        },
        {
            title: '车辆名称',
            data: D_BZ_CNJDCLX
        },
        {
            title: '电梯类型',
            data: D_BZ_DTLX_NEW
        },
        {
            title: '起重机械类别',
            data: D_BZ_QZJXLB
        },
    ]
    exportXlsx2({
        tablename: '工业气瓶.xlsx',
        baseData: {
            content: `填报说明：
1、填报单位：省级单位名称；
2、企业名称：各省级单位机关或下属单位名称；
3、特种设备管理模块统计频次：半年；
4、特种设备管理模块提交周期：提交时间范围分别为：上半年：1月1日-6月30日；下半年：7月1日-12月31日。
`,
            orgName: '',
        }, // 填报基本信息
        tableObj: {
            titleData,
            tableData: exportData,
            tableTitle: '工业气瓶',
            sheetName: '工业气瓶',
            merges: [

            ],
            tips, // 填表说明
            rules // 字段规则
        },
        dict: dicArr,

    })
}
//场(厂)内专用机动车辆
export function cnjdcXlsx(tableData, dictObj, tips) {
    const { D_BZ_GLLX, D_BZ_YLRQLB, D_BZ_YLGDJB, D_BZ_SF, D_BZ_GYQPLX, D_BZ_DTLX_NEW, D_BZ_QZJXLB, D_BZ_CNJDCLX } = dictObj
    tableData = Array.isArray(tableData) ? tableData : []
    let titleData = [
        {
            orgName: "(*)企业名称",
            onstSpVehicleTypeName: "(*)车辆名称",
            onstSpVehicleQty: "(*)数量（个）",
        }
    ]

    const exportData = tableData
    const rules =
    {
        orgName: "文本：1-50字符",
        onstSpVehicleTypeName: "枚举选择",
        onstSpVehicleQty: "整数：0-99999",
    }

    const dicArr = [
        {
            title: '统计时间',
            data: filterbn(2)
        },
        {
            title: '锅炉类型',
            data: D_BZ_GLLX
        },
        {
            title: '是否',
            data: D_BZ_SF
        },
        {
            title: '介质类别',
            data: D_BZ_YLRQLB
        },
        {
            title: '压力管道级别',
            data: D_BZ_YLGDJB
        },
        {
            title: '气瓶名称',
            data: D_BZ_GYQPLX
        },
        {
            title: '车辆名称',
            data: D_BZ_CNJDCLX
        },
        {
            title: '电梯类型',
            data: D_BZ_DTLX_NEW
        },
        {
            title: '起重机械类别',
            data: D_BZ_QZJXLB
        },
    ]
    exportXlsx2({
        tablename: '场(厂)内专用机动车辆.xlsx',
        baseData: {
            content: `填报说明：
1、填报单位：省级单位名称；
2、企业名称：各省级单位机关或下属单位名称；
3、特种设备管理模块统计频次：半年；
4、特种设备管理模块提交周期：提交时间范围分别为：上半年：1月1日-6月30日；下半年：7月1日-12月31日。
`,
            orgName: '',
        }, // 填报基本信息
        tableObj: {
            titleData,
            tableData: exportData,
            tableTitle: '场(厂)内专用机动车辆',
            sheetName: '场(厂)内专用机动车辆',
            merges: [

            ],
            tips, // 填表说明
            rules // 字段规则
        },
        dict: dicArr,

    })
}
//电梯
export function dtXlsx(tableData, dictObj, tips) {
    const { D_BZ_GLLX, D_BZ_YLRQLB, D_BZ_YLGDJB, D_BZ_SF, D_BZ_GYQPLX, D_BZ_DTLX_NEW, D_BZ_QZJXLB, D_BZ_CNJDCLX } = dictObj
    tableData = Array.isArray(tableData) ? tableData : []
    let titleData = [
        {
            orgName: "(*)企业名称",
            elevatorTypeName: "(*)电梯类型",
            elevatorQty: "(*)数量（个）",
        }
    ]

    const exportData = tableData
    const rules =
    {
        orgName: "文本：1-50字符",
        elevatorTypeName: "枚举选择",
        elevatorQty: "整数：0-99999",
    }

    const dicArr = [
        {
            title: '统计时间',
            data: filterbn(2)
        },
        {
            title: '锅炉类型',
            data: D_BZ_GLLX
        },
        {
            title: '是否',
            data: D_BZ_SF
        },
        {
            title: '介质类别',
            data: D_BZ_YLRQLB
        },
        {
            title: '压力管道级别',
            data: D_BZ_YLGDJB
        },
        {
            title: '气瓶名称',
            data: D_BZ_GYQPLX
        },
        {
            title: '车辆名称',
            data: D_BZ_CNJDCLX
        },
        {
            title: '电梯类型',
            data: D_BZ_DTLX_NEW
        },
        {
            title: '起重机械类别',
            data: D_BZ_QZJXLB
        },
    ]
    exportXlsx2({
        tablename: '电梯.xlsx',
        baseData: {
            content: `填报说明：
1、填报单位：省级单位名称；
2、企业名称：各省级单位机关或下属单位名称；
3、特种设备管理模块统计频次：半年；
4、特种设备管理模块提交周期：提交时间范围分别为：上半年：1月1日-6月30日；下半年：7月1日-12月31日。
`,
            orgName: '',
        }, // 填报基本信息
        tableObj: {
            titleData,
            tableData: exportData,
            tableTitle: '电梯',
            sheetName: '电梯',
            merges: [

            ],
            tips, // 填表说明
            rules // 字段规则
        },
        dict: dicArr,

    })
}
//起重机械
export function qzjxXlsx(tableData, dictObj, tips) {
    const { D_BZ_GLLX, D_BZ_YLRQLB, D_BZ_YLGDJB, D_BZ_SF, D_BZ_GYQPLX, D_BZ_DTLX_NEW, D_BZ_QZJXLB, D_BZ_CNJDCLX } = dictObj
    tableData = Array.isArray(tableData) ? tableData : []
    let titleData = [
        {
            orgName: "(*)企业名称",
            hoistMachineTypeName: "(*)起重机械类别",
            hoistMachineQty: "(*)数量（个）",
        }
    ]

    const exportData = tableData
    const rules =
    {
        orgName: "文本：1-50字符",
        hoistMachineTypeName: "枚举选择",
        hoistMachineQty: "整数：0-99999",
    }

    const dicArr = [
        {
            title: '统计时间',
            data: filterbn(2)
        },
        {
            title: '锅炉类型',
            data: D_BZ_GLLX
        },
        {
            title: '是否',
            data: D_BZ_SF
        },
        {
            title: '介质类别',
            data: D_BZ_YLRQLB
        },
        {
            title: '压力管道级别',
            data: D_BZ_YLGDJB
        },
        {
            title: '气瓶名称',
            data: D_BZ_GYQPLX
        },
        {
            title: '车辆名称',
            data: D_BZ_CNJDCLX
        },
        {
            title: '电梯类型',
            data: D_BZ_DTLX_NEW
        },
        {
            title: '起重机械类别',
            data: D_BZ_QZJXLB
        },
    ]
    exportXlsx2({
        tablename: '起重机械.xlsx',
        baseData: {
            content: `填报说明：
1、填报单位：省级单位名称；
2、企业名称：各省级单位机关或下属单位名称；
3、特种设备管理模块统计频次：半年；
4、特种设备管理模块提交周期：提交时间范围分别为：上半年：1月1日-6月30日；下半年：7月1日-12月31日。
`,
            orgName: '',
        }, // 填报基本信息
        tableObj: {
            titleData,
            tableData: exportData,
            tableTitle: '起重机械',
            sheetName: '起重机械',
            merges: [

            ],
            tips, // 填表说明
            rules // 字段规则
        },
        dict: dicArr,

    })
}