AI违章抓拍
-
告警数量月度环比对比
-
@@ -131,25 +131,28 @@ let moreScroll = ref(true as any);
const refScrollbar = ref(null as any); // 绑定到滚动的盒子上
const partyMemberList = ref({} as any);
const value = ref({
- "隐患治理排查": {
- "隐患整改率": {name: "隐患整改率=已整改(除了待整改和已撤回)/隐患总数(不包含排查记录)/隐患总数x100%",value: "30%"},
- "隐患及时整改率": {name: "及时整改率=状态是已整改(除了待整改和已撤回)的未超期整改的隐患记录数/状态是已整改(除了待整改和已撤回)的隐患总数x100%",value: "30%"},
- "隐患闭合率": {name: "隐患闭合率=状态是合格的隐患记录/隐患总数x100%",value: "20%"},
- "隐患自检数量": {name: "每周完成项目自检次数",value: "20%"},
+ 隐患治理排查: {
+ 隐患整改率: { name: "隐患整改率=已整改(除了待整改和已撤回)/隐患总数(不包含排查记录)/隐患总数x100%", value: "40%" },
+ 隐患及时整改率: {
+ name: "及时整改率=状态是已整改(除了待整改和已撤回)的未超期整改的隐患记录数/状态是已整改(除了待整改和已撤回)的隐患总数x100%",
+ value: "30%"
+ },
+ 隐患闭合率: { name: "隐患闭合率=状态是合格的隐患记录/隐患总数x100%", value: "30%" },
+ 隐患自检数量: { name: "每周完成项目自检次数", value: "0%" }
},
- "危大工程": {
- "危大工程排查覆盖率": {name: "危大工程排查覆盖率=实际排查天数/应排查天数x100%(在施危大工程应每天排查)",value: "60%"},
- "旁站记录更新": {name: "每周至少针对在施危大工程完成旁站记录次数",value: "40%"},
+ 危大工程: {
+ 危大工程排查覆盖率: { name: "危大工程排查覆盖率=实际排查天数/应排查天数x100%(在施危大工程应每天排查)", value: "60%" },
+ 旁站记录更新: { name: "每周至少针对在施危大工程完成旁站记录次数", value: "40%" }
},
- "风险管理": {
- "风险排查执行率": {name: "有排查记录的风险/生成待办任务的风险x100%",value: "99%"},
- "风险辨识数量": {name: "至少识别3个风险",value: "1%"},
+ 风险管理: {
+ 风险排查执行率: { name: "有排查记录的风险/生成待办任务的风险x100%", value: "99%" },
+ 风险辨识数量: { name: "至少识别3个风险", value: "1%" }
},
- "安全教育": {
- "三级入场教育完成率": {name: "三级入场教育完成率=三级教育完成人数/所有在岗人数",value: "100%"}
+ 安全教育: {
+ 三级入场教育完成率: { name: "三级入场教育完成率=三级教育完成人数/所有在岗人数", value: "100%" }
}
});
-const countData = ref({} as any)
+const countData = ref({} as any);
const projectData = ref({} as any);
//获取项目信息
const getProjectInfo = async () => {
@@ -194,7 +197,7 @@ const getMemberCountList = async (tip: any) => {
};
onMounted(async () => {
- currentDate.value = moment(new Date()).format("YYYY-MM-DD")
+ currentDate.value = moment(new Date()).format("YYYY-MM-DD");
await getProjectInfo();
await getMemberCountList("search");
await getStatScoreFn();
@@ -337,28 +340,28 @@ onMounted(async () => {
align-items: center;
flex-direction: column;
justify-content: center;
- background-color: #041E51;
+ background-color: #041e51;
}
.category-content {
width: 49%;
- >div:nth-child(2n - 1){
- background-color: #041E51;
+ > div:nth-child(2n - 1) {
+ background-color: #041e51;
}
- >div:nth-child(2n){
+ > div:nth-child(2n) {
background-color: #102959;
}
> div {
width: 100%;
height: auto;
display: flex;
- >div{
+ > div {
width: 33.3%;
height: auto;
display: flex;
align-items: center;
justify-content: center;
}
- >div:nth-child(2){
+ > div:nth-child(2) {
line-height: 20px;
text-align: left;
justify-content: flex-start;
@@ -372,7 +375,7 @@ onMounted(async () => {
color: white;
font-size: 14px;
margin-bottom: 5px;
- >div{
+ > div {
height: 30px;
line-height: 30px;
}
@@ -383,8 +386,8 @@ onMounted(async () => {
white-space: nowrap;
background-color: #102959;
}
- >div:not(:first-child){
- background-color: #041E51;
+ > div:not(:first-child) {
+ background-color: #041e51;
}
> div:nth-child(2) {
width: 17%;
@@ -417,7 +420,7 @@ onMounted(async () => {
text-align: center;
color: white;
font-size: 14px;
- >div{
+ > div {
height: 30px;
line-height: 30px;
}
@@ -436,7 +439,7 @@ onMounted(async () => {
display: flex;
flex-direction: column;
white-space: nowrap;
- background-color: #041E51;
+ background-color: #041e51;
}
}
}