From cefcb88c6cd0690052e503d5f1c943cb7f8a03cb Mon Sep 17 00:00:00 2001
From: Your Name <123456>
Date: 星期三, 30 十一月 2022 09:18:32 +0800
Subject: [PATCH] Merge branch 'master' of https://sinanoaq.cn:8888/r/gtqt
---
src/views/riskWarningSys/warningBigScreen/index.vue | 556 +++++++++++++++++++++++++++---------------------------
1 files changed, 277 insertions(+), 279 deletions(-)
diff --git a/src/views/riskWarningSys/warningBigScreen/index.vue b/src/views/riskWarningSys/warningBigScreen/index.vue
index b954ce2..25941cb 100644
--- a/src/views/riskWarningSys/warningBigScreen/index.vue
+++ b/src/views/riskWarningSys/warningBigScreen/index.vue
@@ -1,5 +1,25 @@
<template>
<div id="container" class="dark">
+ <div class="warn-dialog" :class="dialogShow">
+ <div>预警消息</div>
+ <p>企业8月份总体安全生产预警指数SPI风险值高于预警阈值,可能存在未处理隐患,请注意查阅相关风险因素,采取风险防控措施。</p>
+ <span @click="dialogShow = 'hide'">关闭</span>
+ </div>
+ <div class="info-panel" :class="dialogHide" @click="openDialog">
+ <div class="info-tit">
+ <div>
+ <el-icon><Bell /></el-icon>
+ <div style="margin-left: 10px">消息预警</div>
+ </div>
+ <div @click.stop="dialogHide = 'hide'">X</div>
+ </div>
+ <div class="info-desc">
+ 企业8月份总体安全生产预警指数SPI风险值高于预警阈值。
+ </div>
+ <div class="info-num">
+ 1
+ </div>
+ </div>
<div class="header-content">
<div class="logo">
<img v-if="screenTheme.isDark" src="../../../assets/warningScreen/logo_dark.png" alt="" />
@@ -50,51 +70,29 @@
</div>
<div class="chart-box">
<span class="train-tip">距上次演练结束 5 天</span>
- <training :size="1"></training>
+ <training class="train-chart" :size="1"></training>
</div>
</div>
<div class="left-bottom">
<dv-border-box-13 :backgroundColor="boxBg" :color="boxColor" class="box-bg"></dv-border-box-13>
<div class="part-tit">
<span>| 隐患等级数量分布</span>
- <div>
- <el-select class="selector" v-model="month" placeholder="Select" :teleported="false" size="default">
- <el-option
- v-for="item in optionList"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- />
- </el-select>
-<!-- <img @click="jumpPage(3)" src="../../../assets/warningScreen/small-full.png">-->
- <Switch style="width: 1.2rem;height: 1.2rem;cursor: pointer" @click="jumpPage(3)"/>
- </div>
-
+ <Switch style="width: 1.2rem;height: 1.2rem;cursor: pointer" @click="jumpPage(3)"/>
</div>
<div class="chart-box">
- <risk :size="1" :month="month"></risk>
+ <risk :size="1" :theme="screenTheme.isDark"></risk>
</div>
</div>
</div>
<div class="main-middle">
<div class="mid-top">
<dv-border-box-11 title="SPI数据分析" :backgroundColor="boxBg" :color="boxBigColor" class="box-bg"></dv-border-box-11>
- <div class="part-tit" style="position: absolute;top: 12%;padding: 0 4%">
- <el-cascader
- class="spiSe"
- :teleported="false"
- v-model="spiValue"
- :options="spiOptions"
- :props="props"
- :show-all-levels="false"
- @change="handleChange"
- />
-<!-- <span>SPI数据分析</span>-->
-<!-- <img @click="jumpPage(4)" src="../../../assets/warningScreen/small-full.png">-->
+ <div class="part-tit" style="position: absolute;top: 8%;padding: 0 4%">
+ <div></div>
<Switch style="width: 1.2rem;height: 1.2rem;cursor: pointer" @click="jumpPage(4)"/>
</div>
- <div class="chart-box">
- <spi :size="1"></spi>
+ <div class="chart-box" style="top: 60px;height: calc(100% - 70px)">
+ <spi :size="1" :theme="screenTheme.isDark"></spi>
</div>
</div>
<div class="mid-bottom">
@@ -191,10 +189,10 @@
boxBigColor: Array<string>;
isScreenfull: boolean;
currentTime: string;
- month: number;
spiValue: number;
- optionList: Array<any>;
- spiOptions: Array<any>
+ spiOptions: Array<any>;
+ dialogShow: string;
+ dialogHide: string
}
export default defineComponent({
name: 'warningScreen',
@@ -224,54 +222,9 @@
boxBigColor: [],
isScreenfull: false,
currentTime: '',
- month: 0,
spiValue: 0,
- optionList: [
- {
- label: '年度',
- value: 0
- },
- {
- label: '一月',
- value: 1
- },
- {
- label: '二月',
- value: 2
- },
- {
- label: '三月',
- value: 3
- },
- {
- label: '四月',
- value: 4
- },
- {
- label: '五月',
- value: 5
- },
- {
- label: '六月',
- value: 6
- },
- {
- label: '七月',
- value: 7
- },
- {
- label: '八月',
- value: 8
- },
- {
- label: '九月',
- value: 9
- },
- {
- label: '十月',
- value: 10
- }
- ],
+ dialogShow: 'hide',
+ dialogHide: 'showup',
spiOptions: [
{
value: 0,
@@ -374,6 +327,18 @@
});
};
+ const openDialog = () => {
+ if(state.dialogShow == 'hide'){
+ state.dialogShow = 'showup'
+ }else{
+ state.dialogShow = 'hide'
+ }
+ };
+
+ const closeInfo = ()=>{
+ state.dialogHide = 'hide'
+ };
+
const jumpPage = (num) =>{
router.push({
path: 'screenPage',
@@ -406,6 +371,8 @@
router,
props,
screenTheme,
+ openDialog,
+ closeInfo,
changeTheme,
onScreenfullClick,
jumpPage,
@@ -418,6 +385,13 @@
<style scoped lang="scss">
$homeNavLengh: 8;
+ .hide{
+ display: none;
+ }
+
+ .showup{
+ display: block;
+ }
.dark {
width: 100%;
height: 100%;
@@ -428,9 +402,100 @@
background-size: 100% 100%;
color: #11FEEE;
+ .warn-dialog{
+ position: absolute;
+ z-index: 999999;
+ top: 25%;
+ left: 50%;
+ width: 50%;
+ height: 50%;
+ transform: translateX(-50%);
+ border-radius: 8px;
+ transition: .3s;
+ box-shadow: 0 15px 30px rgba(0,0,0,.2);
+ border: 1px solid rgba(17,254,238,.4);
+ padding: 1.5rem;
+ background: rgba(0,16,32,.8);
+
+ div{
+ font-size: 1.5rem;
+ text-align: center;
+ }
+
+ p{
+ margin-top: 20px;
+ font-size: 1.125rem;
+ line-height: 28px;
+ text-align: left
+ }
+
+ span{
+ position: inherit;
+ right: 20px;
+ top: 20px;
+ font-size: 1rem;
+ cursor: pointer;
+ }
+ }
+
+ .info-panel{
+ position: absolute;
+ width: 20%;
+ right: 50px;
+ bottom: 50px;
+ z-index: 9999999;
+ font-size: 1rem;
+ padding: 0 10px;
+ border-radius: 4px;
+ cursor: pointer;
+ box-shadow: 0 15px 30px rgba(0,0,0,.2);
+ border: 1px solid rgba(17,254,238,.4);
+ background: rgba(0,16,32,.8);
+
+ .info-tit{
+ display: flex;
+ align-items: center;
+ padding: 10px;
+ border-bottom: 1px solid rgba(17,254,238,.4);
+ justify-content: space-between;
+
+ &>div{
+ display: flex;
+ align-items: center;
+
+ img{
+ width: 18px;
+ height: 18px;
+ margin-right: 10px;
+ }
+ }
+ }
+
+ .info-desc{
+ padding: 15px 10px;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ overflow: hidden;
+ }
+ .info-num{
+ position: inherit;
+ width: 24px;
+ height: 24px;
+ line-height: 24px;
+ text-align: center;
+ left: -12px;
+ top: -12px;
+ color: #fff;
+ z-index: 999999999;
+ border-radius: 50%;
+ border: 1px solid #ff0000;
+ background: #ff0000;
+ }
+ }
+
.header-content {
width: 100%;
- height: 72px;
+ height: 7.8%;
padding: 0 20px;
font-size: 1.25rem;
display: flex;
@@ -444,15 +509,15 @@
align-items: center;
justify-content: center;
img {
- height: 35px;
- width: 128px;
+ width: 10rem;
+ height: auto;
}
}
.title {
width: 46%;
font-size: 2rem;
font-weight: bolder;
- line-height: 72px;
+ line-height: 7.8%;
text-align: center;
letter-spacing: 2px;
}
@@ -468,6 +533,7 @@
.datetime {
color: #11FEEE;
+ font-size: 0.9rem;
}
.btns{
display: flex;
@@ -484,7 +550,8 @@
height: 1rem;
}
div{
- margin-left: 6px;
+ margin-left: 0.4rem;
+ font-size: 0.9rem;
}
}
.themeBtn{
@@ -505,7 +572,7 @@
}
.main-content{
width: 100%;
- height: calc(100vh - 72px);
+ height: calc(100vh - 7.8%);
padding: 0.4rem 1.5rem 2rem;
display: flex;
align-items: center;
@@ -553,94 +620,11 @@
justify-content: space-between;
align-items: center;
z-index: 9999;
- div{
- width: 40%;
- display: flex;
- align-items: center;
- justify-content: end;
- }
+
span{
font-size: 1.25rem;
font-weight: bolder;
color: #11feee;
- }
- ::v-deep(.el-cascader){
- width: 25% !important;
- }
- ::v-deep(.el-popper){
- background-color: rgba(10,31,92,1);
- border: 1px solid rgba(17,254,238,.4);
- color: #11FEEE;
- .el-cascader-node__label{
- color: #11FEEE;
- }
- .el-icon{
- color: #11FEEE;
- }
- .el-cascader-node{
- &:hover{
- background: #0049af;
- }
- }
- }
- ::v-deep(.el-popper__arrow){
- &::before{
- background-color: rgba(10,31,92,.6) !important;
- border: 1px solid rgba(17,254,238,.4);
- }
- }
- ::v-deep(.el-input__wrapper){
- width: 20%;
- box-shadow: none;
- border: 1px solid rgba(17,254,238,.2);
- background: rgba(10,31,92,.6) !important;
- height: 2.5rem;
- color: #11FEEE;
-
- input{
- font-size: 1.25rem;
- color: #11FEEE;
- }
- .el-icon{
- color: #11FEEE;
- }
- }
- .selector{
- width: calc(100% - 1.25rem);
- margin-right: 0.8rem;
-
- ::v-deep(.el-popper){
- background-color: rgba(10,31,92,1);
- border: 1px solid rgba(17,254,238,.4);
- color: #11FEEE;
- .el-select-dropdown__item{
- color: #11FEEE;
- }
- .el-select-dropdown__item.hover{
- background: #0049af;
- }
- }
- ::v-deep(.el-popper__arrow){
- &::before{
- background-color: rgba(10,31,92,.6) !important;
- border: 1px solid rgba(17,254,238,.4);
- }
- }
- ::v-deep(.el-input__wrapper){
- box-shadow: none;
- border: 1px solid rgba(17,254,238,.2);
- background: rgba(10,31,92,.6) !important;
- height: 1.5rem;
- color: #11FEEE;
-
- input{
- font-size: 0.8rem;
- color: #11FEEE;
- }
- .el-icon{
- color: #11FEEE;
- }
- }
}
img{
@@ -650,24 +634,26 @@
}
}
.chart-box{
+ position: absolute;
+ top: 40px;
+ bottom: 0;
+ left: 0;
+ right: 0;
width: 100%;
- height: calc(100% - 20px);
- margin-top: 20px;
+ height: calc(100% - 50px);
+ z-index: 99999;
.train-tip{
display: block;
font-size: 0.8rem;
- margin-top: 5%;
- margin-left: 2%;
+ margin-top: 2%;
+ margin-left: 5%;
color: #fff;
- }
- accident{
- width: 100%;
- height: 100%;
+ height: 1rem;
}
- training{
+ .train-chart{
width: 100%;
- height: 100%;
+ height: calc(100% - 1rem);
}
}
}
@@ -726,9 +712,101 @@
background-size: 100% 100%;
color: #000;
+ .warn-dialog{
+ position: absolute;
+ z-index: 999999;
+ top: 25%;
+ left: 50%;
+ width: 50%;
+ height: 50%;
+ transform: translateX(-50%);
+ border-radius: 8px;
+ transition: .3s;
+ box-shadow: 0 15px 30px rgba(0,0,0,.2);
+ border: 1px solid #ccc;
+ padding: 1.5rem;
+ background: #fff;
+
+ div{
+ font-size: 1.5rem;
+ text-align: center;
+ }
+
+ p{
+ margin-top: 20px;
+ font-size: 1.125rem;
+ line-height: 28px;
+ text-align: left
+ }
+
+ span{
+ position: inherit;
+ right: 20px;
+ top: 20px;
+ font-size: 1rem;
+ cursor: pointer;
+ }
+ }
+
+ .info-panel{
+ position: absolute;
+ width: 20%;
+ right: 50px;
+ bottom: 50px;
+ z-index: 9999999;
+ font-size: 1rem;
+ color: #333;
+ padding: 0 10px;
+ border-radius: 4px;
+ cursor: pointer;
+ box-shadow: 0 15px 30px rgba(0,0,0,.2);
+ border: 1px solid #ccc;
+ background: #fff;
+
+ .info-tit{
+ display: flex;
+ align-items: center;
+ padding: 10px;
+ border-bottom: 1px solid #ccc;
+ justify-content: space-between;
+
+ &>div{
+ display: flex;
+ align-items: center;
+
+ img{
+ width: 18px;
+ height: 18px;
+ margin-right: 10px;
+ }
+ }
+ }
+
+ .info-desc{
+ padding: 15px 10px;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ overflow: hidden;
+ }
+ .info-num{
+ position: inherit;
+ width: 24px;
+ height: 24px;
+ line-height: 24px;
+ text-align: center;
+ left: -12px;
+ top: -12px;
+ color: #fff;
+ z-index: 999999999;
+ border-radius: 50%;
+ border: 1px solid #ff0000;
+ background: #ff0000;
+ }
+ }
+
.header-content {
width: 100%;
- height: 72px;
+ height: 7.8%;
padding: 0 20px;
font-size: 1.25rem;
display: flex;
@@ -742,15 +820,15 @@
align-items: center;
justify-content: center;
img {
- height: 35px;
- width: 128px;
+ width: 10rem;
+ height: auto;
}
}
.title {
width: 46%;
font-size: 2rem;
font-weight: bolder;
- line-height: 72px;
+ line-height: 7.8%;
text-align: center;
letter-spacing: 2px;
}
@@ -766,6 +844,7 @@
.datetime {
color: #000;
+ font-size: 0.9rem;
}
.btns{
display: flex;
@@ -782,7 +861,8 @@
height: 1rem;
}
div{
- margin-left: 6px;
+ margin-left: 0.4rem;
+ font-size: 0.9rem;
}
}
.themeBtn{
@@ -803,7 +883,7 @@
}
.main-content{
width: 100%;
- height: calc(100vh - 72px);
+ height: calc(100vh - 7.8%);
padding: 0.4rem 1.5rem 2rem;
display: flex;
align-items: center;
@@ -851,94 +931,10 @@
justify-content: space-between;
align-items: center;
z-index: 9999;
- div{
- width: 40%;
- display: flex;
- align-items: center;
- justify-content: end;
- }
span{
font-size: 1.25rem;
font-weight: bolder;
color: #000;
- }
- ::v-deep(.el-cascader){
- width: 25% !important;
- }
- ::v-deep(.el-popper){
- background-color: #fff;
- border: 1px solid #ccc;
- color: #000;
- .el-cascader-node__label{
- color: #000;
- }
- .el-icon{
- color: #000;
- }
- .el-cascader-node{
- &:hover{
- background: #ccc;
- }
- }
- }
- ::v-deep(.el-popper__arrow){
- &::before{
- background-color: #fff !important;
- border: 1px solid #ccc;
- }
- }
- ::v-deep(.el-input__wrapper){
- width: 20%;
- box-shadow: none;
- border: 1px solid #ccc;
- background: #fff !important;
- height: 2.5rem;
- color: #000;
-
- input{
- font-size: 1.25rem;
- color: #000;
- }
- .el-icon{
- color: #000;
- }
- }
- .selector{
- width: calc(100% - 1.25rem);
- margin-right: 0.8rem;
-
- ::v-deep(.el-popper){
- background-color: rgba(255,255,255,1);
- border: 1px solid #ccc;
- color: #fff;
- .el-select-dropdown__item{
- color: #000;
- }
- .el-select-dropdown__item.hover{
- background: #ccc;
- }
- }
- ::v-deep(.el-popper__arrow){
- &::before{
- background-color: rgba(255,255,255,.6) !important;
- border: 1px solid #ccc;
- }
- }
- ::v-deep(.el-input__wrapper){
- box-shadow: none;
- border: 1px solid #ccc;
- background: #fff !important;
- height: 1.5rem;
- color: #fff;
-
- input{
- font-size: 0.8rem;
- color: #000;
- }
- .el-icon{
- color: #000;
- }
- }
}
img{
@@ -948,24 +944,26 @@
}
}
.chart-box{
+ position: absolute;
+ top: 40px;
+ bottom: 0;
+ left: 0;
+ right: 0;
width: 100%;
- height: calc(100% - 20px);
- margin-top: 20px;
+ height: calc(100% - 50px);
+ z-index: 99999;
.train-tip{
display: block;
font-size: 0.8rem;
- margin-top: 5%;
- margin-left: 2%;
+ margin-top: 2%;
+ margin-left: 5%;
color: #333;
- }
- accident{
- width: 100%;
- height: 100%;
+ height: 1rem;
}
- training{
+ .train-chart{
width: 100%;
- height: 100%;
+ height: calc(100% - 1rem);
}
}
}
--
Gitblit v1.9.2