|
@@ -5,25 +5,25 @@
|
|
|
<el-col class="flexJ leftTopBox">
|
|
|
<h4>消防执法情况</h4>
|
|
|
<el-row class="leftTopContent">
|
|
|
- <el-col :span="7" v-for="item in SiAeAllList" :key="item.checkType">
|
|
|
+ <el-col v-for="item in SiAeAllList" :key="item.checkType">
|
|
|
<el-col class="leftTopTitle">{{ item.checkType }}</el-col>
|
|
|
<el-col class="leftTopCenter">{{ item.number }}</el-col>
|
|
|
<el-col class="leftTopBot">
|
|
|
- <el-col
|
|
|
- ><el-col>环比</el-col
|
|
|
- ><el-col
|
|
|
- >{{ (item.linkRelativeRatio * 100).toFixed(0) }}%</el-col
|
|
|
- ></el-col
|
|
|
- >
|
|
|
- <el-col
|
|
|
- ><el-col>同比</el-col
|
|
|
- ><el-col
|
|
|
- >{{ (item.sameRatio * 100).toFixed(0) }}%</el-col
|
|
|
- ></el-col
|
|
|
- >
|
|
|
+ <el-col>
|
|
|
+ <el-col>环比</el-col>
|
|
|
+ <el-col :style="{color:item.linkRelativeStatus === 1 ? 'red' : 'green'}">
|
|
|
+ {{item. linkRelativeStatus === 2 ? '-' : ''}}{{ (item.linkRelativeRatio * 100).toFixed(0) }}%
|
|
|
+ </el-col>
|
|
|
+ </el-col>
|
|
|
+ <el-col>
|
|
|
+ <el-col>同比</el-col>
|
|
|
+ <el-col :style="{color:item.sameStatus === 1 ? 'red' : 'green'}">
|
|
|
+ {{item.sameStatus === 2 ? '-' : ''}}{{ (item.sameRatio * 100).toFixed(0) }}%
|
|
|
+ </el-col>
|
|
|
+ </el-col>
|
|
|
</el-col>
|
|
|
</el-col>
|
|
|
- <el-col :span="7"> </el-col>
|
|
|
+ <el-col> </el-col>
|
|
|
</el-row>
|
|
|
</el-col>
|
|
|
<el-col class="flexJ echartsPad">
|
|
@@ -41,20 +41,22 @@
|
|
|
</el-col>
|
|
|
</el-col>
|
|
|
<el-col :span="8" class="boxCenter" ref="boxCenter">
|
|
|
- <img class="centerTop" src="~@a/img/home/home_center.png" />
|
|
|
- <el-col class="centerBot">
|
|
|
- <el-col class="photo_box">
|
|
|
- <img @click="imgClick(1)" src="~@a/img/home/cloud1.png" />
|
|
|
- <img @click="imgClick(2)" src="~@a/img/home/cloud2.png" />
|
|
|
- <img @click="imgClick(3)" src="~@a/img/home/cloud3.png" />
|
|
|
- <img @click="imgClick(1)" src="~@a/img/home/cloud1.png" />
|
|
|
- <img @click="imgClick(2)" src="~@a/img/home/cloud2.png" />
|
|
|
- <img @click="imgClick(3)" src="~@a/img/home/cloud3.png" />
|
|
|
- <img @click="imgClick(1)" src="~@a/img/home/cloud1.png" />
|
|
|
- <img @click="imgClick(2)" src="~@a/img/home/cloud2.png" />
|
|
|
- <img @click="imgClick(3)" src="~@a/img/home/cloud3.png" />
|
|
|
+ <el-row>
|
|
|
+ <img class="centerTop" src="~@a/img/home/home_center.png" />
|
|
|
+ <el-col class="centerBot">
|
|
|
+ <el-col class="photo_box">
|
|
|
+ <img @click="imgClick(1)" src="~@a/img/home/cloud1.png" />
|
|
|
+ <img @click="imgClick(2)" src="~@a/img/home/cloud2.png" />
|
|
|
+ <img @click="imgClick(3)" src="~@a/img/home/cloud3.png" />
|
|
|
+ <img @click="imgClick(1)" src="~@a/img/home/cloud1.png" />
|
|
|
+ <img @click="imgClick(2)" src="~@a/img/home/cloud2.png" />
|
|
|
+ <img @click="imgClick(3)" src="~@a/img/home/cloud3.png" />
|
|
|
+ <img @click="imgClick(1)" src="~@a/img/home/cloud1.png" />
|
|
|
+ <img @click="imgClick(2)" src="~@a/img/home/cloud2.png" />
|
|
|
+ <img @click="imgClick(3)" src="~@a/img/home/cloud3.png" />
|
|
|
+ </el-col>
|
|
|
</el-col>
|
|
|
- </el-col>
|
|
|
+ </el-row>
|
|
|
</el-col>
|
|
|
<el-col :span="8" class="boxConentSize boxRight">
|
|
|
<img src="~@a/img/home/title2.png" class="titleLift" />
|
|
@@ -135,43 +137,46 @@
|
|
|
</el-row>
|
|
|
</el-col>
|
|
|
<el-col class="flexJ echartsPad" style="height: 200px">
|
|
|
- <h4>物联网设备监控情况</h4>
|
|
|
- <se-table
|
|
|
- ref="seTable"
|
|
|
- :dataMap="tableData"
|
|
|
- :headerData="headerData"
|
|
|
- :key="windowWidth"
|
|
|
- ></se-table>
|
|
|
+ <h4>警情处置情况</h4>
|
|
|
+ <div class="rightBoxCon">
|
|
|
+ <el-row>
|
|
|
+ <el-row class="rightTopTitle"><span>火灾</span></el-row>
|
|
|
+ <el-row class="rightTopChart">
|
|
|
+ <gauge ref="gauge1" :dataMap="0.2" :dataNumber="20" size="30" with="15" :tick="false" color="#468EFD"></gauge>
|
|
|
+ </el-row>
|
|
|
+ <el-row class="rightTopNumber"><span>同比:14% <span style="color:green;font-wight:800">↓</span></span></el-row>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-row class="rightTopTitle"><span>社会救助</span></el-row>
|
|
|
+ <el-row class="rightTopChart">
|
|
|
+ <gauge ref="gauge2" :dataMap="0.3" :dataNumber="30" size="30" with="15" :tick="false" color="#06B1B9"></gauge>
|
|
|
+ </el-row>
|
|
|
+ <el-row class="rightTopNumber"><span>同比:14% <span style="color:green">↓</span></span></el-row>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-row class="rightTopTitle"><span>抢险救援</span></el-row>
|
|
|
+ <el-row class="rightTopChart">
|
|
|
+ <gauge ref="gauge3" :dataMap="0.5" :dataNumber="50" size="30" with="15" :tick="false" color="#E4951E"></gauge>
|
|
|
+ </el-row>
|
|
|
+ <el-row class="rightTopNumber"><span>同比:14% <span style="color:red">↑</span></span></el-row>
|
|
|
+ </el-row>
|
|
|
+ </div>
|
|
|
</el-col>
|
|
|
</el-col>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-import seTable from "@c/se-table";
|
|
|
import linstener from "@c/mixins/linstener";
|
|
|
import radarChart from "@c/radar";
|
|
|
import wordCloud from "@c/wordCloud";
|
|
|
import categoryLine from "@c/category-line";
|
|
|
+import gauge from "@c/gauge";
|
|
|
export default {
|
|
|
- components: { seTable, radarChart, wordCloud, categoryLine },
|
|
|
+ components: { gauge, radarChart, wordCloud, categoryLine },
|
|
|
data() {
|
|
|
return {
|
|
|
timeData: [],
|
|
|
- tableData: [
|
|
|
- {address:'数量',burnedArea:100,property:200,deathTol:100,nonFatal:100,},
|
|
|
- {address:'告警',burnedArea:30,property:50,deathTol:5,nonFatal:20,},
|
|
|
- {address:'离线',burnedArea:1,property:10,deathTol:20,nonFatal:5,},
|
|
|
- {address:'离线率',burnedArea:'100%',property:'100%',deathTol:'100%',nonFatal:'100%',},
|
|
|
- {address:'告警率',burnedArea:'5%',property:'5%',deathTol:'5%',nonFatal:'5%',},
|
|
|
- ],
|
|
|
- headerData: [
|
|
|
- { prop: "address", name: "类型" },
|
|
|
- { prop: "burnedArea", name: "电气设备" },
|
|
|
- { prop: "property", name: "烟感设备" },
|
|
|
- { prop: "deathTol", name: "温感设备" },
|
|
|
- { prop: "nonFatal", name: "水压设备" },
|
|
|
- ],
|
|
|
fireTypeList: [],
|
|
|
fireAddressList: [],
|
|
|
SiAeAllList: [],
|
|
@@ -208,6 +213,9 @@ export default {
|
|
|
this.$refs.categoryLine,
|
|
|
this.$refs.wordCloud,
|
|
|
this.$refs.radarChart,
|
|
|
+ this.$refs.gauge1,
|
|
|
+ this.$refs.gauge2,
|
|
|
+ this.$refs.gauge3,
|
|
|
]),
|
|
|
true
|
|
|
);
|
|
@@ -300,15 +308,15 @@ export default {
|
|
|
};
|
|
|
</script>
|
|
|
<style scoped lang='scss'>
|
|
|
-$centerWidth: 8rem;
|
|
|
-$centerCirWidth: 3.375rem;
|
|
|
+$centerWidth: 10rem;
|
|
|
+$centerCirWidth: 330px;
|
|
|
.home {
|
|
|
width: 100%;
|
|
|
height: 100%;
|
|
|
background-size: 100% 100%;
|
|
|
display: flex;
|
|
|
& > .el-col {
|
|
|
- max-width: 8rem;
|
|
|
+ max-width: 7rem;
|
|
|
}
|
|
|
.titleLift {
|
|
|
margin: 0 auto;
|
|
@@ -341,6 +349,40 @@ $centerCirWidth: 3.375rem;
|
|
|
.echartsPad {
|
|
|
padding: 0.375rem 0.25rem 0.1875rem;
|
|
|
height: 30%;
|
|
|
+ color: #FFF;
|
|
|
+ .rightBoxCon {
|
|
|
+ width: 100%;
|
|
|
+ height: 100%;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ & > .el-row {
|
|
|
+ flex: none;
|
|
|
+ width: 33.33%;
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ }
|
|
|
+ .rightTopTitle {
|
|
|
+ span {
|
|
|
+ font-size: 0.2125rem;
|
|
|
+ text-align: center;
|
|
|
+ }
|
|
|
+ justify-content: center;
|
|
|
+ }
|
|
|
+ .rightTopNumber {
|
|
|
+ justify-content: center;
|
|
|
+ &>span {
|
|
|
+ margin: 0 auto;
|
|
|
+ padding: .0625rem .125rem;
|
|
|
+ font-size: 0.2125rem;
|
|
|
+ border-radius: .15rem;
|
|
|
+ box-shadow: inset 0 0 0.2rem 0.0125rem #30cfff;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .rightTopChart {
|
|
|
+ // height: 1.5rem;
|
|
|
+ flex: 1;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
.boxConentSize {
|
|
|
display: flex;
|
|
@@ -364,6 +406,7 @@ $centerCirWidth: 3.375rem;
|
|
|
& > .el-col {
|
|
|
width: 32%;
|
|
|
height: 32%;
|
|
|
+ flex: none;
|
|
|
// background: url(~@a/img/enforce/bg3.png) no-repeat;
|
|
|
box-shadow: inset 0 0 0.2rem 0.0125rem #30cfff;
|
|
|
background-size: 100% 100%;
|
|
@@ -523,23 +566,33 @@ $centerCirWidth: 3.375rem;
|
|
|
}
|
|
|
.boxCenter {
|
|
|
width: $centerWidth;
|
|
|
+ max-width: $centerWidth;
|
|
|
box-sizing: border-box;
|
|
|
display: flex;
|
|
|
- flex-direction: column;
|
|
|
- justify-content: center;
|
|
|
- position: relative;
|
|
|
- .centerTop {
|
|
|
+ flex: auto;
|
|
|
+ align-items: center;
|
|
|
+ &>.el-row{
|
|
|
width: 100%;
|
|
|
- z-index: 9;
|
|
|
- margin-bottom: -70px;
|
|
|
- }
|
|
|
- .centerBot {
|
|
|
- height: 1.875rem;
|
|
|
- width: 100%;
|
|
|
- background: url("~@a/img/home/cir.png") no-repeat;
|
|
|
- background-size: 100% 100%;
|
|
|
+ height: 9.5rem;
|
|
|
position: relative;
|
|
|
- flex: initial;
|
|
|
+ .centerTop {
|
|
|
+ position: absolute;
|
|
|
+ left: 0;
|
|
|
+ right: 0;
|
|
|
+ bottom: 85px;
|
|
|
+ margin: 0px auto;
|
|
|
+ width: 9.5rem;
|
|
|
+ z-index: 9;
|
|
|
+ }
|
|
|
+ .centerBot {
|
|
|
+ height: 150px;
|
|
|
+ position: absolute;
|
|
|
+ bottom: 0;
|
|
|
+ width: 100%;
|
|
|
+ background: url("~@a/img/home/cir.png") no-repeat;
|
|
|
+ background-size: 100% 100%;
|
|
|
+ flex: initial;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -547,27 +600,27 @@ $centerCirWidth: 3.375rem;
|
|
|
.photo_box {
|
|
|
width: 0.875rem;
|
|
|
position: absolute;
|
|
|
- left: 0;
|
|
|
+ left: -20px;
|
|
|
right: 0;
|
|
|
bottom: 0;
|
|
|
top: 0;
|
|
|
margin: 0px auto;
|
|
|
transform-style: preserve-3d; /*表示所有子元素在3D空间中呈现*/
|
|
|
- animation: run 30s linear infinite; /*循环执行run动画,每30秒执行一次*/
|
|
|
- transform: rotateX(-11deg);
|
|
|
+ animation: run 40s linear infinite; /*循环执行run动画,每30秒执行一次*/
|
|
|
+ transform: rotateX(-9deg);
|
|
|
&:hover {
|
|
|
animation-play-state: paused;
|
|
|
}
|
|
|
+ /*设置图像大小、边框、圆角、位置*/
|
|
|
+ img {
|
|
|
+ width: 0.75rem;
|
|
|
+ height: 1.125rem;
|
|
|
+ position: absolute;
|
|
|
+ left: 0;
|
|
|
+ top: 0;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
-/*设置图像大小、边框、圆角、位置*/
|
|
|
-.photo_box img {
|
|
|
- width: 0.75rem;
|
|
|
- height: 1.125rem;
|
|
|
- position: absolute;
|
|
|
- left: 0;
|
|
|
- top: 0;
|
|
|
-}
|
|
|
|
|
|
/*依次设置图像盒子中每个图像旋转后位置*/
|
|
|
.photo_box img:nth-child(1) {
|
|
@@ -601,10 +654,10 @@ $centerCirWidth: 3.375rem;
|
|
|
/*采用@keyframes 规则创建run动画。*/
|
|
|
@keyframes run {
|
|
|
0% {
|
|
|
- transform: rotateX(-11deg) rotateY(0deg);
|
|
|
+ transform: rotateX(-9deg) rotateY(0deg);
|
|
|
}
|
|
|
100% {
|
|
|
- transform: rotateX(-11deg) rotateY(360deg);
|
|
|
+ transform: rotateX(-9deg) rotateY(360deg);
|
|
|
}
|
|
|
}
|
|
|
</style>
|