import { exportXlsx2 } from "@/excel/Export2Excel.js"
import { filterbn } from "@/utils/auth.js";
/**
 * 导出xlsx
 *
 * @export
 * @param {*} tableData
 * @param {*} {D_BZ_XB}
 */
export function xfssXlsx(tableData, dictObj, tips) {
    const { D_BZ_XFZDBWHZLX, D_BZ_XFZDBWWXDJ } = dictObj
    tableData = Array.isArray(tableData) ? tableData : []
    let titleData = [
        {
            orgName: "(*)企业名称",
            firePoolQty: "消防设施配置及管理情况",
            emgcBroadcastQty: '消防设施配置及管理情况',
            idrFrHdrtSysQty: '消防设施配置及管理情况',
            odrFrHdrtSysQty: '消防设施配置及管理情况',
            fasSmkTmpSsrQty: '消防设施配置及管理情况',
            fasAirSampleQty: '消防设施配置及管理情况',
            fasIfrdRdatQty: '消防设施配置及管理情况',
            fasCmbsGsDtctQty: '消防设施配置及管理情况',
            fasElecFrCtrlQty: '消防设施配置及管理情况',
            fasOtherFasQty: '消防设施配置及管理情况',
            affsWtsprSysQty: '消防设施配置及管理情况',
            affsSdpSysQty: '消防设施配置及管理情况',
            affsHpwmSysQty: '消防设施配置及管理情况',
            affsCbdxSysQty: '消防设施配置及管理情况',
            affsHfcSysQty: '消防设施配置及管理情况',
            affsArslSysQty: '消防设施配置及管理情况',
            affsAfffSysQty: '消防设施配置及管理情况',
            affsOtherAffsQty: '消防设施配置及管理情况',
            smkCtrlSysQty: '消防设施配置及管理情况',
            emgcEvcuatSysQty: '消防设施配置及管理情况',
            frConRoomQty: '消防设施配置及管理情况',
            juniorWorkerQty: '',
            intermediateWorkerQty: '',
            prvtFrBrigadeQty: '消防救援',
            prvtFrmanQty: '消防救援',
            frFightTruckQty: '消防救援',
            miniFrStatQty: '消防救援',
            miniFrStatFrmanQty: '消防救援',
        },
        {
            orgName: "(*)企业名称",
            firePoolQty: "(*)消防池（座）",
            emgcBroadcastQty: '(*)应急广播（套）',
            idrFrHdrtSysQty: '消火栓系统（套）',
            odrFrHdrtSysQty: '消火栓系统（套）',
            fasSmkTmpSsrQty: '火灾自动报警系统（套）',
            fasAirSampleQty: '火灾自动报警系统（套）',
            fasIfrdRdatQty: '(*)红外对射（套）',
            fasCmbsGsDtctQty: '火灾自动报警系统（套）',
            fasElecFrCtrlQty: '火灾自动报警系统（套）',
            fasOtherFasQty: '火灾自动报警系统（套）',
            affsWtsprSysQty: '自动灭火系统（套）',
            affsSdpSysQty: '自动灭火系统（套）',
            affsHpwmSysQty: '自动灭火系统（套）',
            affsCbdxSysQty: '自动灭火系统（套）',
            affsHfcSysQty: '自动灭火系统（套）',
            affsArslSysQty: '自动灭火系统（套）',
            affsAfffSysQty: '自动灭火系统（套）',
            affsOtherAffsQty: '自动灭火系统（套）',
            smkCtrlSysQty: '(*)防排烟系统（套）',
            emgcEvcuatSysQty: '(*)应急疏散指示系统（套）',
            frConRoomQty: '(*)消防控制室（个）',
            juniorWorkerQty: '消控室值班人员（人）',
            intermediateWorkerQty: '消控室值班人员（人）',
            prvtFrBrigadeQty: '(*)专职消防队（个）',
            prvtFrmanQty: '(*)专职消防员（人）',
            frFightTruckQty: '(*)消防车（台）',
            miniFrStatQty: '(*)微型消防站（个)',
            miniFrStatFrmanQty: '(*)微型消防站队员数（人）',
        },
        {
            // index: "序号",
            orgName: "(*)企业名称",
            firePoolQty: "(*)消防池（座）",
            emgcBroadcastQty: '(*)应急广播（套）',
            idrFrHdrtSysQty: '(*)室内消火栓系统（套）',
            odrFrHdrtSysQty: '(*)室外消火栓系统（套）',
            fasSmkTmpSsrQty: '(*)感烟、感温（套）',
            fasAirSampleQty: '(*)空气采样（套）',
            fasIfrdRdatQty: '(*)红外对射（套）',
            fasCmbsGsDtctQty: '(*)可燃气体探测（套）',
            fasElecFrCtrlQty: '(*)电气火灾监控(套)',
            fasOtherFasQty: '(*)其他（套)',
            affsWtsprSysQty: '(*)水喷淋（套）',
            affsSdpSysQty: '(*)超音速干粉（套）',
            affsHpwmSysQty: '(*)高压细水雾（套）',
            affsCbdxSysQty: '(*)二氧化碳（套）',
            affsHfcSysQty: '(*)七氟丙烷（套）',
            affsArslSysQty: '(*)气溶胶（套）',
            affsAfffSysQty: '(*)水炮（套）',
            affsOtherAffsQty: '(*)其他（套）',
            smkCtrlSysQty: '(*)防排烟系统（套）',
            emgcEvcuatSysQty: '(*)应急疏散指示系统（套）',
            frConRoomQty: '(*)消防控制室（个）',
            juniorWorkerQty: '(*)五级/初级工(人)',
            intermediateWorkerQty: '(*)四级/中级工以上（人）',
            prvtFrBrigadeQty: '(*)专职消防队（个）',
            prvtFrmanQty: '(*)专职消防员（人）',
            frFightTruckQty: '(*)消防车（台）',
            miniFrStatQty: '(*)微型消防站（个)',
            miniFrStatFrmanQty: '(*)微型消防站队员数（人）',
        }]



    const exportData = tableData.map(item => {

        return {
            ...item
        }
    })

    // 表头上面的规则
    const rules =
    {
        orgName: "文本：1-50字符",
        firePoolQty: "整数：0-99999",
        emgcBroadcastQty: '整数：0-99999',
        idrFrHdrtSysQty: '整数：0-99999',
        odrFrHdrtSysQty: '整数：0-99999',
        fasSmkTmpSsrQty: '整数：0-99999',
        fasAirSampleQty: '整数：0-99999',
        fasIfrdRdatQty: '整数：0-99999',
        fasCmbsGsDtctQty: '整数：0-99999',
        fasElecFrCtrlQty: '整数：0-99999',
        fasOtherFasQty: '整数：0-99999',
        affsWtsprSysQty: '整数：0-99999',
        affsSdpSysQty: '整数：0-99999',
        affsHpwmSysQty: '整数：0-99999',
        affsCbdxSysQty: '整数：0-99999',
        affsHfcSysQty: '整数：0-99999',
        affsArslSysQty: '整数：0-99999',
        affsAfffSysQty: '整数：0-99999',
        affsOtherAffsQty: '整数：0-99999',
        smkCtrlSysQty: '整数：0-99999',
        emgcEvcuatSysQty: '整数：0-99999',
        frConRoomQty: '整数：0-99999',
        juniorWorkerQty: '整数：0-99999',
        intermediateWorkerQty: '整数：0-99999',
        prvtFrBrigadeQty: '整数：0-99999',
        prvtFrmanQty: '整数：0-99999',
        frFightTruckQty: '整数：0-99999',
        miniFrStatQty: '整数：0-99999',
        miniFrStatFrmanQty: '整数：0-99999',
    }

    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: [
                { s: { r: 2, c: 1 }, e: { r: 4, c: 1 } },
                { s: { r: 2, c: 2 }, e: { r: 2, c: 22 } },
                { s: { r: 2, c: 25 }, e: { r: 2, c: 29 } },
                { s: { r: 3, c: 2 }, e: { r: 4, c: 2 } },
                { s: { r: 3, c: 3 }, e: { r: 4, c: 3 } },
                { s: { r: 3, c: 4 }, e: { r: 3, c: 5 } },
                { s: { r: 3, c: 6 }, e: { r: 3, c: 11 } },
                { s: { r: 3, c: 12 }, e: { r: 3, c: 19 } },
                { s: { r: 3, c: 20 }, e: { r: 4, c: 20 } },
                { s: { r: 3, c: 21 }, e: { r: 4, c: 21 } },
                { s: { r: 3, c: 22 }, e: { r: 4, c: 22 } },
                { s: { r: 3, c: 23 }, e: { r: 3, c: 24 } },
                { s: { r: 3, c: 25 }, e: { r: 4, c: 25 } },
                { s: { r: 3, c: 26 }, e: { r: 4, c: 26 } },
                { s: { r: 3, c: 27 }, e: { r: 4, c: 27 } },
                { s: { r: 3, c: 28 }, e: { r: 4, c: 28 } },
                { s: { r: 3, c: 29 }, e: { r: 4, c: 29 } },


            ],
            tips, // 填表说明
            rules, // 字段规则
            headerNum: 1,
        },
        dict: [
            {
                title: '统计时间',
                data: filterbn(2)
            },

            {
                title: '火灾类型',
                data: D_BZ_XFZDBWHZLX
            },
            {
                title: '危险等级',
                data: D_BZ_XFZDBWWXDJ
            }
        ]
    })
}
//消防重点部位
export function xfzdbwXlsx(tableData, dictObj, tips) {
    const { D_BZ_XFZDBWHZLX, D_BZ_XFZDBWWXDJ } = dictObj
    tableData = Array.isArray(tableData) ? tableData : []
    let titleData = [
        {
            orgName: "(*)企业名称",
            fsisName: "(*)部位名称",
            fsisBdArea: "(*)建筑面积㎡",
            fsisEmployPersonQty: "(*)从业人员数量",
            fsisFireTypeName: "(*)火灾种类",
            fsisHazardLevelName: "(*)危险等级",
        }
    ]

    const exportData = tableData
    const rules =
    {
        orgName: "文本：1-50字符",
        fsisName: "文本：1-50字符",
        fsisBdArea: "2位小数：0-99999999.99",
        fsisEmployPersonQty: "整数：0-99999",
        fsisFireTypeName: "枚举选择",
        fsisHazardLevelName: "枚举选择",
    }

    const dicArr = [
        {
            title: '统计时间',
            data: filterbn(2)
        },
        {
            title: '火灾类型',
            data: D_BZ_XFZDBWHZLX
        },
        {
            title: '危险等级',
            data: D_BZ_XFZDBWWXDJ
        }
    ]
    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,

    })
}