<template>
	<!-- <div class="synthesis-conf-container"> -->
	<el-dialog v-model="dialogVisible" title="配置" width="85vw" :before-close="close">
		<div class="synthesis-conf-content">
			<el-table :data="tableData" height="calc(100vh - 250px)" border @selection-change="selectionChange"
				:span-method="arraySpanMethod">
				<el-table-column type="index" width="55" />
				<el-table-column prop="projectName" label="评估项目"></el-table-column>
				<el-table-column prop="warningKey" label="预警要素"></el-table-column>
				<el-table-column type="selection" :selectable="selectable" width="55" />
				<el-table-column prop="indexName" label="指标名称"></el-table-column>
				<el-table-column prop="rule" label="规则">
					<template #default="{ row }">
						<div class="rule-content" v-html="row.rule"></div>
					</template>
				</el-table-column>
				<el-table-column prop="weightValue" label="权重">
					<template #default="{ row }">
						<el-input v-model="row.weightValue" />
					</template>
				</el-table-column>
				<el-table-column prop="scoreRule" label="评分规则">
					<template #default="{ row }">
						<div class="score-rule-content" v-html="row.scoreRule"></div>
					</template>
				</el-table-column>
				<el-table-column v-if="false" prop="cycle" label="取值周期">
				</el-table-column>
			</el-table>
		</div>
		<template #footer>
			<el-button type="primary" @click="ok">保存</el-button>
			<el-button @click="close">关闭</el-button>
		</template>
	</el-dialog>
	<!-- </div> -->
</template>

<script setup>
import { ref, getCurrentInstance } from 'vue';

const dialogVisible = ref(true);
const { proxy } = getCurrentInstance();
const emit = defineEmits(['ok', 'close']);
const tableData = ref([
	{
		projectName: '安全责任（年度）',
		warningKey: '安全生产标准化',
		indexName: '安全生产标准化达标率',
		rule: '安全生产标准化达标企业总数/应达标单位总数*100%<br/>（统计口径:各卷烟工厂、复烤厂、薄片厂、市局(公司)及醋纤企业的单位总数）',
		weightValue: '2',
		scoreRule: '比率*权重',
		cycle: '搜索当前年度时，展示上一年搜索历史年度时，展示当前年',
		index: 2
	},
	{
		projectName: '安全责任（年度）',
		warningKey: '机构队伍',
		indexName: '安全管理机构设置比率',
		rule: '安全管理机构设置数量/应独立设置安全管理机构单位总数*100%<br/>统计口径：省级公司本部、卷烟工厂、复烤厂、薄片厂、市局 (公司) 及醋纤企业的单位总数',
		weightValue: '5',
		scoreRule: '比率*权重',
		cycle: '搜索当前年度时，展示上一年搜索历史年度时，展示当前年',
		index: 3
	},
	{
		projectName: '安全责任（年度）',
		warningKey: '机构队伍',
		indexName: '安全管理机构人员配置率',
		rule: '配置人数/编制人数*100%',
		weightValue: '5',
		scoreRule: '比率*权重',
		cycle: '搜索当前年度时，展示上一年搜索历史年度时，展示当前年',
		index: 4
	},
	{
		projectName: '安全责任（年度）',
		warningKey: '机构队伍',
		indexName: '安全管理人员数占比',
		rule: '专职安全管理人员数/行业在册职工和劳动派遣者总数*100%',
		weightValue: '4',
		scoreRule: '占比≥1%得4分，1%>占比≥0.9%等3分，0.9%>占比≥0.8%等2分，0.8%>占比≥0.7%等1分，低于0.7%得0分',
		cycle: '搜索当前年度时，展示上一年搜索历史年度时，展示当前年',
		index: 5
	},
	{
		projectName: '安全责任（年度）',
		warningKey: '机构队伍',
		indexName: '注册安全（消防）工程师占比',
		rule: '从事专职安全管理岗位注册安全（消防）工程师/专职安全管理人员数量*100%',
		weightValue: '3',
		scoreRule: '工业：占比≥50%得3分；50%>占比≥30%得 2分； 30%>占比≥10% 的1分；10%>占比 得0分商业：占比≥25%得3分；25%>占比≥20%得 2分；20%>占比≥10% 的1分；10%>占比 得0分',
		cycle: '搜索当前年度时，展示上周期搜索历史年度时，展示第四季度',
		index: 6
	},
	{
		projectName: '安全责任（年度）',
		warningKey: '机构队伍',
		indexName: '安全工程师应聘比率',
		rule: '已聘任安全工程师单位总数/应聘任安全工程师单位总数*100%（统计口径为:省级公司本部(不含中烟实业本级)、卷烟工厂(不包含雪茄厂)，复烤厂、市局(公司)及醋纤企业的单位总数）',
		weightValue: '2',
		scoreRule: '比率*权重',
		cycle: '搜索当前年度时，展示上周期搜索历史年度时，展示第四季度',
		index: 7
	},
	{
		projectName: '安全责任（年度）',
		warningKey: '安委会会议',
		indexName: '安委会会议频次',
		rule: '安委会会议次数（每年：省级公司至少1次、下属企业至少2次）',
		weightValue: '5',
		scoreRule: '省级公司缺少次数扣1分/次、下属企业缺少次数扣0.5分/次',
		cycle: '搜索当前年度时，展示上一年搜索历史年度时，展示当前年',
		index: 8
	},
	{
		projectName: '教育培训（半年）',
		warningKey: '培训学时',
		indexName: '企业主要负责人培训总学时',
		rule: '符合学时要求（≥12学时）的企业主要负责人/企业主要负责人数量*100%',
		weightValue: '3',
		scoreRule: '比率*权重',
		cycle: '搜索当前年度时，展示上周期搜索历史年度时，展示下半年',
		index: 9
	},
	{
		projectName: '教育培训（半年）',
		warningKey: '培训学时',
		indexName: '安全分管领导（安全总监）培训总学时',
		rule: '符合学时要求（≥12学时）的安全分管领导（安全总监）/安全分管领导（安全总监）数量*100%',
		weightValue: '3',
		scoreRule: '比率*权重',
		cycle: '搜索当前年度时，展示上周期搜索历史年度时，展示下半年',
		index: 10
	},
	{
		projectName: '教育培训（半年）',
		warningKey: '培训学时',
		indexName: '专职安全管理人员人均培训学时',
		rule: '专职安全管理人员人均培训学时/专职安全管理人员应培训学时（12学时）*100%',
		weightValue: '3',
		scoreRule: '比率*权重',
		cycle: '搜索当前年度时，展示上周期搜索历史年度时，展示下半年',
		index: 11
	},
	{
		projectName: '教育培训（半年）',
		warningKey: '培训学时',
		indexName: '新员工人均培训学时',
		rule: '新员工人均培训学时/新员工应培训学时（24学时）*100%',
		weightValue: '3',
		scoreRule: '比率*权重',
		cycle: '搜索当前年度时，展示上周期搜索历史年度时，展示下半年',
		index: 12
	},
	{
		projectName: '重点领域',
		warningKey: '工程建设项目“三同时”（半年）',
		indexName: '建设项目“三同时”符合率',
		rule: '可研、设计、验收阶段“三同时”资料均上传的已竣工验收项目数量/已竣工验收项目总数量*100%',
		weightValue: '5',
		scoreRule: '比率*权重 <br/>（1.都在建，无建设项目，为满分 <br/> 2，有在建的，有竣工验收的，分子分母只计算竣工验收的）',
		cycle: '搜索当前年度时，展示上周期搜索历史年度时，展示下半年',
		index: 13
	},
	{
		projectName: '重点领域',
		warningKey: '消防安全（半年）',
		indexName: '易燃可燃外墙保温材料建筑物占比',
		rule: '(易燃外墙保温材料的建筑物数量+可燃外墙保温材料的建筑物数量) /总建筑物数量*100%',
		weightValue: '4',
		scoreRule: '比率*权重（没有建筑得满分）',
		cycle: '搜索当前年度时，展示上周期搜索历史年度时，展示下半年',
		index: 14
	},
	{
		projectName: '重点领域',
		warningKey: '消防安全（半年）',
		indexName: '高层民用建筑消防设施符合率',
		rule: '同时配置消火栓系统、火灾自动报警系统、自动灭火系统的高层民用建筑数量/高层民用建筑总数量*100%',
		weightValue: '1',
		scoreRule: '比率*权重（没有建筑得满分）',
		cycle: '搜索当前年度时，展示上周期搜索历史年度时，展示下半年',
		index: 15
	},
	{
		projectName: '重点领域',
		warningKey: '消防安全（半年）',
		indexName: '联合工房消防设施符合率',
		rule: '同时配置消火栓系统、火灾自动报警系统的联合工房数量/联合工房总数量*100%',
		weightValue: '1',
		scoreRule: '比率*权重（没有建筑得满分）',
		cycle: '搜索当前年度时，展示上周期搜索历史年度时，展示下半年',
		index: 16
	},
	{
		projectName: '重点领域',
		warningKey: '消防安全（半年）',
		indexName: '仓储消防设施符合率',
		rule: '配置消火栓系统或火灾自动报警系统或自动灭火系统的（条件同分母）仓库数量/（占地面积大于1500平方米或者总建筑面积大于3000平方米的单层库或多层库的仓库数量+立体库的仓库数量）*100%',
		weightValue: '1',
		scoreRule: '比率*权重（没有仓储得满分）',
		cycle: '搜索当前年度时，展示上周期搜索历史年度时，展示下半年',
		index: 17
	},
	{
		projectName: '重点领域',
		warningKey: '消防安全（半年）',
		indexName: '消控室持证人员配置率',
		rule: '四级/中级工以上（人）/消控室值班人员（人）*100%',
		weightValue: '1',
		scoreRule: '比率*权重',
		cycle: '搜索当前年度时，展示上周期搜索历史年度时，展示下半年',
		index: 18
	},
	{
		projectName: '重点领域',
		warningKey: '职业健康（季度）',
		indexName: '职业危害因素超标点位率',
		rule: '超标点位数量/检测点位数量*100%',
		weightValue: '4',
		scoreRule: '(1-比率)*权重',
		cycle: '搜索当前年度时，展示上周期搜索历史年度时，展示第四季度',
		index: 19
	},
	{
		projectName: '重点领域',
		warningKey: '职业健康（季度）',
		indexName: '职业病确诊人数',
		rule: '职业病确认人数',
		weightValue: '4',
		scoreRule: '扣1分/人',
		cycle: '搜索当前年度时，展示上周期搜索历史年度时，展示第四季度',
		index: 20
	},
	{
		projectName: '重点领域',
		warningKey: '危险化学品（季度）',
		indexName: '“两重一大”危险化学品',
		rule: '构成重大危险源数量',
		weightValue: '4',
		scoreRule: '扣0.1分/品种',
		cycle: '搜索当前年度时，展示上周期搜索历史年度时，展示第四季度',
		index: 21
	},
	{
		projectName: '重点领域',
		warningKey: '相关方（季度）',
		indexName: '重点相关方资质符合率',
		rule: '具备相应的的单位资质相关方数量/重点相关方总数量*100%',
		weightValue: '5',
		scoreRule: '比例*权重',
		cycle: '搜索当前年度时，展示上周期搜索历史年度时，展示第四季度',
		index: 22
	},
	{
		projectName: '重点领域',
		warningKey: '相关方（季度）',
		indexName: '重点相关方安全协议签订率',
		rule: '签订安全协议相关数量/重点相关方总数量*100%',
		weightValue: '5',
		scoreRule: '比例*权重',
		cycle: '搜索当前年度时，展示上周期搜索历史年度时，展示第四季度',
		index: 23
	},
	{
		projectName: '重点领域',
		warningKey: '道路交通（季度）',
		indexName: '超过8年或30万公里的车辆占比',
		rule: '使用超过8年或使用超过30万公里的非已报废车辆数量/非已报废机动车辆总数*100%',
		weightValue: '1',
		scoreRule: '(1-比率)*权重',
		cycle: '搜索当前年度时，展示上周期搜索历史年度时，展示第四季度',
		index: 24
	},
	{
		projectName: '重点领域',
		warningKey: '道路交通（季度）',
		indexName: '车辆定位系统安装占比',
		rule: '安装定位系统的自有物流运输车辆及自有通勤非已报废车辆数量/自有物流运输车辆及自有通勤非已报废车辆总数*100%',
		weightValue: '1',
		scoreRule: '比例*权重',
		cycle: '搜索当前年度时，展示上周期搜索历史年度时，展示第四季度',
		index: 25
	},
	{
		projectName: '重点领域',
		warningKey: '道路交通（季度）',
		indexName: '车辆影像雷达安装占比',
		rule: '安装倒车影像且安装全车雷达的自有物流运输车辆及自有通勤非已报废车辆数量/自有物流运输车辆及自有通勤非已报废车辆总数*100%',
		weightValue: '1',
		scoreRule: '比例*权重',
		cycle: '搜索当前年度时，展示上周期搜索历史年度时，展示第四季度',
		index: 26
	},
	{
		projectName: '重点领域',
		warningKey: '道路交通（季度）',
		indexName: '车载监控系统安装占比',
		rule: '安装驾驶行为监控预警的自有物流运输车辆及自有通勤非已报废车辆数量/自有物流运输车辆及自有通勤非已报废车辆总数*100%',
		weightValue: '1',
		scoreRule: '比例*权重',
		cycle: '搜索当前年度时，展示上周期搜索历史年度时，展示第四季度',
		index: 27
	},
	{
		projectName: '双重预防',
		warningKey: '风险管理（半年）',
		indexName: '橙区及以上现状风险单元数量（半年）',
		rule: '现状风险单元出现红、橙风险的数量',
		weightValue: '6',
		scoreRule: '扣-0.1分/个',
		cycle: '搜索当前年度时，展示上周期搜索历史年度时，展示下半年',
		index: 28
	},
	{
		projectName: '双重预防',
		warningKey: '隐患管理（季度）',
		indexName: '主要负责人参与排查次数',
		rule: '主要负责人参与的隐患排查次数',
		weightValue: '3',
		scoreRule: '省级单位≥1，缺一次扣0.5分，下属单位≥1（季度），缺一次扣0.5分。',
		cycle: '搜索当前年度时，展示上周期搜索历史年度时，展示第四季度',
		index: 29
	},
	{
		projectName: '双重预防',
		warningKey: '隐患管理（季度）',
		indexName: '隐患按期整改率',
		rule: '按期已整改隐患数量/到期应整改隐患数量*100%',
		weightValue: '6',
		scoreRule: '比例*权重',
		cycle: '搜索当前年度时，展示上周期搜索历史年度时，展示第四季度',
		index: 30
	},
	{
		projectName: '双重预防',
		warningKey: '隐患管理（季度）',
		indexName: '重大隐患数量',
		rule: '隐患类别为“重大隐患”的非已整改完成的隐患数量',
		weightValue: '6',
		scoreRule: '-1分/个',
		cycle: '搜索当前年度时，展示上周期搜索历史年度时，展示第四季度',
		index: 31
	},
	{
		projectName: '应急管理',
		warningKey: '应急管理（季度）',
		indexName: '应急预案演练覆盖率',
		rule: '统计周期内发生演练的专项应急预案和现场处置方案数量之和/专项和现场应急预案总数*100%',
		weightValue: '1',
		scoreRule: '比例*权重',
		cycle: '搜索当前年度时，展示上周期搜索历史年度时，展示第四季度',
		index: 32
	},
	{
		projectName: '应急管理',
		warningKey: '应急管理（季度）',
		indexName: '应急演练评估覆盖率',
		rule: '应急演练评估总次数/应急演练总次数*100%',
		weightValue: '1',
		scoreRule: '比例*权重',
		cycle: '搜索当前年度时，展示上周期搜索历史年度时，展示第四季度',
		index: 33
	},
	{
		projectName: '事故事件',
		warningKey: '事故事件',
		indexName: '事故发生次数',
		rule: '事故台账填报次数',
		weightValue: '',
		scoreRule: '一般事故：轻伤3人及以上或直接经济损失10万-50万，扣2分/起<br/>重伤1-2人或直接经济损失50万-100万，扣5分/起<br/>死亡1-2人或重伤3-9人或直接经济损失100万-1000万，扣10分/起<br/>较大及以上事故：死亡3人及以上，重伤10人及以上，直接经济损失1000万及以上，扣20分/起',
		cycle: '搜索当前年度时，展示上周期搜索历史年度时，展示第四季度',
		index: 34
	}
]);
const form = ref({});
const ok = () => {
	emit('ok');
};
/** 是否可选 */
const selectable = () => {
	return true;
}
const selectionChange = (selection) => {
	console.log('selectionChange', selection);
}

const arraySpanMethod = ({ row, column, rowIndex, columnIndex }) => {
	// 第一列，第二列相同项，向下合并
	if (columnIndex === 1) {
		// 安全责任（年度）对比excel序号少2个(因为列表序号从0开始，而excel序号从2开始)
		if (rowIndex === 0) return [7, 1]
		if (rowIndex > 0 && rowIndex < 7) return [0, 0]
		// 教育培训（半年）序号
		if (rowIndex === 7) return [4, 1]
		if (rowIndex > 7 && rowIndex < 11) return [0, 0]
		// 重点领域
		if (rowIndex === 11) return [15, 1]
		if (rowIndex > 11 && rowIndex < 26) return [0, 0]
		// 双重预防
		if (rowIndex === 26) return [4, 1]
		if (rowIndex > 26 && rowIndex < 30) return [0, 0]
		// 应急管理
		if (rowIndex === 30) return [2, 1]
		if (rowIndex > 30 && rowIndex < 32) return [0, 0]

	}
	if (columnIndex === 2) {
		// 机构队伍
		if (rowIndex === 1) return [5, 1]
		if (rowIndex > 1 && rowIndex < 6) return [0, 0]
		// 培训学时 合并4个
		if (rowIndex === 7) return [4, 1]
		if (rowIndex > 7 && rowIndex < 11) return [0, 0]
		// 工程建设项目“三同时”（半年）不合并
		if (rowIndex === 11) return [1, 1]
		// 消防安全 （半年）合并5个
		if (rowIndex === 12) return [5, 1]
		if (rowIndex > 12 && rowIndex < 17) return [0, 0]
		// 职业健康（季度） 合并2个
		if (rowIndex === 17) return [2, 1]
		if (rowIndex > 17 && rowIndex < 19) return [0, 0]
		// 危险化学品（季度） 1个
		if (rowIndex === 19) return [1, 1]
		// 相关方（季度） 合并2个
		if (rowIndex === 20) return [2, 1]
		if (rowIndex > 20 && rowIndex < 22) return [0, 0]
		// 道路交通（季度） 合并4个
		if (rowIndex === 22) return [4, 1]
		if (rowIndex > 22 && rowIndex < 26) return [0, 0]
		// 风险管理（半年） 1个
		if (rowIndex === 26) return [1, 1]
		// 隐患管理（季度） 合并3个
		if (rowIndex === 27) return [3, 1]
		if (rowIndex > 27 && rowIndex < 30) return [0, 0]
		// 应急管理 合并2个
		if (rowIndex === 30) return [2, 1]
		if (rowIndex > 30 && rowIndex < 32) return [0, 0]

	}
	return [1, 1]
}
const close = () => {
	proxy.$modal.confirm('离开会丢失页面中修改的内容，确认离开吗？')
		.then(() => {
			emit('close');
		})
		.catch(() => {
			// catch error
		})

};
// /** 设置table数据 */
// const setTable = ()=>{
// 	tableData.value = []
// }

</script>

<style lang="scss" scoped>
// .synthesis-conf-container {
// 	width: 100%;
// 	height: 100%;
// }</style>