From 9a94659698885764730c5f9f9cf3bb38761c0de8 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期五, 24 十月 2025 14:59:52 +0800
Subject: [PATCH] 页面
---
screen/src/views/FireFighting.vue | 1927 ++++++++++++++++++++++++++++++---------------------------
1 files changed, 1,013 insertions(+), 914 deletions(-)
diff --git a/screen/src/views/FireFighting.vue b/screen/src/views/FireFighting.vue
index b6fa2a4..458ccd2 100644
--- a/screen/src/views/FireFighting.vue
+++ b/screen/src/views/FireFighting.vue
@@ -5,7 +5,7 @@
<img src="@/assets/images/SecurityControl/bg@2x_2.png" class="main_bg" alt="" />
<div class="main_header">
<img src="@/assets/images/maintitle.gif" class="main_header_bg" alt="" />
- <div class="title">瀹夋嘲鏅烘収鐗╂祦鍥尯-娑堥槻鎬佸娍鐩戞帶</div>
+ <div class="title">瀹夋嘲鏅烘収鐗╂祦鍥尯-鏅烘収娑堥槻绠℃帶</div>
<div class="time_wrap">
<span class="date">{{ date }}</span>
<span class="week">{{ week }}</span>
@@ -14,190 +14,228 @@
</div>
<div class="main_content">
<div class="left_box">
- <div class="left_box_one">
- <div class="com_header">
- <div class="title">
- <img src="@/assets/images/ic_title@2x.png" class="icon" alt="" />
- <div>浠婃棩鍚勭郴缁熻澶囩姸鎬佸強鍛婅鏁�</div>
- </div>
- <img src="@/assets/images/title@2x.png" class="bg" alt="" />
+ <div class="left_box_top">
+
+ <div class="left_box_top_znz">
+ <img src="@/assets/images/ic_compass@2x.png" alt="" />
</div>
- <div class="list_wrap">
- <div class="list">
- <div class="header line">
- <span class="item name">璁惧绫诲瀷</span>
- <span class="item">鎬绘暟</span>
- <span class="item">鎶ヨ</span>
- <span class="item">灞忚斀</span>
- <span class="item">鏁呴殰</span>
- <span class="item">姝e父</span>
+
+ <div class="left_box_top_left">
+ <div class="left_box_one">
+ <div class="com_header">
+ <div class="title">
+ <img src="@/assets/images/ic_title@2x.png" class="icon" alt="" />
+ <div>娑堥槻璁惧/璁炬柦绠$悊</div>
+ </div>
+ <img src="@/assets/images/title@2x.png" class="bg" alt="" />
</div>
- <div class="one-swiper list_content">
- <div class="swiper-wrapper">
- <div class="line_wrap one-swiper-slide swiper-slide" v-for="(item, i) in dataList1">
- <div class="line">
- <span class="item name">{{ item.typeName }}</span>
- <span class="item">{{ item.totalDeviceNum || 0 }}</span>
- <span class="item" style="color: #FEAF01;">{{ item.alarmDeviceNum || 0 }}</span>
- <span class="item">{{ item.shieldDeviceNum || 0 }}</span>
- <span class="item">{{ item.errDeviceNum || 0 }}</span>
- <span class="item">{{ item.offlineDeviceNum || 0 }}</span>
+ <div class="left_content">
+ <div class="tips">
+ <div class="tips_title">
+ <img src="@/assets/images/SecurityControl/ic_title_green@2x.png" alt="">
+ <span>鏈勾娑堥槻璁惧/璁炬柦缁翠繚鎯呭喌</span>
+ </div>
+ </div>
+
+ <div class="content_wrap">
+ <div class="list">
+ <div class="item">
+ <div>宸茬淮淇�</div>
+ <div class="num active">{{ dataList5.protectNum || 0 }}</div>
</div>
+ <div class="separate"></div>
+ <div class="item">
+ <div>璁″垝缁翠繚</div>
+ <div class="num acc">{{ dataList5.planProtectTotal || 0 }}</div>
+ </div>
+ <div class="separate"></div>
+ <div class="item">
+ <div>缁翠繚鐜�</div>
+ <div v-if="dataList5.protectNum && dataList5.planProtectTotal" class="acc num">{{
+ ((dataList5.protectNum / dataList5.planProtectTotal) * 100).toFixed(0) }}%</div>
+ <div v-else class="acc num">0%</div>
+ </div>
+ </div>
+ <div class="footer">
+ <img src="@/assets/images/FireFighting/ic_weixiu@2x.png" class="icon" alt="">
+ <div class="content">
+ <div>鏈湀鏂板缁翠繚</div>
+ <div class="num">{{ dataList5.monthAddNum }} <span>涓�</span></div>
+ </div>
+ </div>
+ </div>
+
+ <div class="tips">
+ <div class="tips_title">
+ <img src="@/assets/images/SecurityControl/ic_title_green@2x.png" alt="">
+ <span>绯荤粺璁惧鐘舵��</span>
+ </div>
+ </div>
+
+ <div class="list_wrap">
+ <div class="list">
+ <div class="header line">
+ <span class="item name" style="color: #FFFFFF;">璁惧鍚嶇О</span>
+ <span class="item">鎬绘暟</span>
+ <span class="item">鎶ヨ</span>
+ <span class="item">灞忚斀</span>
+ <span class="item">鏁呴殰</span>
+ <span class="item">姝e父</span>
+ </div>
+ <div class="one-swiper list_content">
+ <div class="swiper-wrapper">
+ <div class="line_wrap one-swiper-slide swiper-slide" v-for="(item, i) in dataList1">
+ <div class="line">
+ <span class="item name">{{ item.typeName }}</span>
+ <span class="item">{{ item.totalDeviceNum || 0 }}</span>
+ <span class="item" style="color: #FEAF01;">{{ item.alarmDeviceNum || 0 }}</span>
+ <span class="item">{{ item.shieldDeviceNum || 0 }}</span>
+ <span class="item">{{ item.errDeviceNum || 0 }}</span>
+ <span class="item">{{ item.onlineDeviceNum || 0 }}</span>
+ </div>
+ <div class="separate"></div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="list_wrap_footer" v-if="dataList1.length > 0">
+ <div class="wrap_footer_item name" style="color: #fff;">鎬昏</div>
+ <div class="wrap_footer_item">{{sum(dataList1, 'totalDeviceNum')}}</div>
+ <div class="wrap_footer_item">{{sum(dataList1, 'alarmDeviceNum')}}</div>
+ <div class="wrap_footer_item">{{sum(dataList1, 'shieldDeviceNum')}}</div>
+ <div class="wrap_footer_item">{{sum(dataList1, 'errDeviceNum')}}</div>
+ <div class="wrap_footer_item">{{sum(dataList1, 'onlineDeviceNum')}}</div>
<div class="separate"></div>
</div>
</div>
</div>
-
</div>
</div>
- </div>
- <div class="left_box_two">
- <div class="com_header">
- <div class="title">
- <img src="@/assets/images/ic_title@2x.png" class="icon" alt="" />
- <div>鎶ヨ淇℃伅</div>
- </div>
- <img src="@/assets/images/title@2x.png" class="bg" alt="" />
- </div>
- <div class="police_wrap">
- <div class="item" v-for="(item, i) in dataList2">
- <div class="head">
- <div class="name">{{ item.name }}</div>
- <div class="name">{{ item.num }}娆�</div>
- </div>
- <FirePercent :color="policeColors[i]" :rate="item.rate" />
- </div>
-
- </div>
- </div>
- <div class="left_box_three">
- <div class="com_header">
- <div class="title">
- <img src="@/assets/images/ic_title@2x.png" class="icon" alt="" />
- <div>鍛婅澶勭悊鍒嗘瀽</div>
- </div>
- <img src="@/assets/images/title@2x.png" class="bg" alt="" />
- </div>
- <div class="dispose_wrap">
- <div class="echart2" id="echart2"></div>
- </div>
- </div>
- </div>
- <div class="center_box">
- <div class="center_box_one">
- <div class="static_wrap">
- <div class="item">
- <img src="@/assets/images/FireFighting/xiaofang_ic_zaixian@2x.png" alt="">
- <div class="content">
- <div class="name">鎬绘暟</div>
- <div class="num">{{ dataList4.onlineDeviceNum }}</div>
- </div>
- </div>
- <div class="item">
- <img src="@/assets/images/FireFighting/xiaofang_ic_baojing@2x.png" alt="">
- <div class="content">
- <div class="name">鎶ヨ</div>
- <div class="num num2">{{ dataList4.alarmDeviceNum }}</div>
- </div>
- </div>
- <div class="item">
- <img src="@/assets/images/FireFighting/xiaofang_ic_pingbi@2x.png" alt="">
- <div class="content">
- <div class="name">灞忚斀</div>
- <div class="num num5">{{ dataList4.shieldDeviceNum || 0 }}</div>
- </div>
- </div>
- <div class="item">
- <img src="@/assets/images/FireFighting/xiaofang_ic_guzhang@2x.png" alt="">
- <div class="content">
- <div class="name">鏁呴殰</div>
- <div class="num num3">{{ dataList4.errDeviceNum }}</div>
- </div>
- </div>
- <div class="item">
- <img src="@/assets/images/FireFighting/xiaofang_ic_zhengchang@2x.png" alt="">
- <div class="content">
- <div class="name">姝e父</div>
- <div class="num num4">{{ dataList4.offlineDeviceNum }}</div>
+ <div class="left_box_top_right">
+ <div class="center_box_one">
+ <div class="static_wrap">
+ <div class="item">
+ <img src="@/assets/images/FireFighting/xiaofang_ic_baojing@2x.png" alt="">
+ <div class="content">
+ <div class="name">鎶ヨ鎬绘暟</div>
+ <div class="num">{{ dayData.totalNum || 0 }}</div>
+ </div>
+ </div>
+ <div class="item">
+ <img src="@/assets/images/FireFighting/xiaofang_ic_guzhang@2x.png" alt="">
+ <div class="content">
+ <div class="name">鏈鐞�</div>
+ <div class="num num2">{{ dayData.processingNum || 0 }}</div>
+ </div>
+ </div>
+ <div class="item">
+ <img src="@/assets/images/FireFighting/xiaofang_ic_zhengchang@2x.png" alt="">
+ <div class="content">
+ <div class="name">宸插鐞�</div>
+ <div class="num num5">{{ dayData.liftNum || 0 }}</div>
+ </div>
+ </div>
</div>
</div>
</div>
</div>
- <div class="center_box_two">
- <div class="content_wrap">
- <div class="header">
- <div class="left">
- <img class="icon" src="@/assets/images/FireFighting/468@2x.png" alt="">
- <span>娓╁害/婀垮害浼犳劅鍣�</span>
- </div>
- <div class="right">
- <img @click="changeData8(-1)" class="icon" src="@/assets/images/FireFighting/xiaofang_ar_left@2x.png"
- alt="">
- <div class="num">{{ dataIndex8 + 1 }}/{{ dataList8.length }}</div>
- <img @click="changeData8(1)" class="icon" src="@/assets/images/FireFighting/xiaofang_ar_right@2x.png"
- alt="">
- </div>
- </div>
- <div class="list_wrap">
+ <div class="left_box_bottom">
+ <div class="left_box_three">
+ <div class="com_header">
<div class="title">
- <img class="icon" src="@/assets/images/FireFighting/ic_location@2x.png" alt="">
- <span v-if="dataList8 && dataList8.length > 0">{{ dataList8[dataIndex8].humidityData.name }}</span>
+ <img src="@/assets/images/ic_title@2x.png" class="icon" alt="" />
+ <div>娑堥槻鎬佸娍鎰熺煡</div>
</div>
- <div class="list" v-if="dataList8 && dataList8.length > 0">
- <div class="item">
- <img class="icon" src="@/assets/images/FireFighting/ic_wendu@2x.png" alt="">
- <div class="content">
- <div class="num"
- v-if="dataList8[dataIndex8].temperatureData && dataList8[dataIndex8].temperatureData.latestValue">
- {{ Number(dataList8[dataIndex8].temperatureData.latestValue).toFixed(1) }}<span>掳C</span></div>
- <div class="la">闃堝�� {{ dataList8[dataIndex8].temperatureData?.alarmLow }}锝瀧{
- dataList8[dataIndex8].temperatureData?.alarmHigh }}掳C</div>
- </div>
- </div>
- <div class="item">
- <img class="icon" src="@/assets/images/FireFighting/ic_shidu@2x.png" alt="">
- <div class="content">
- <div class="num"
- v-if="dataList8[dataIndex8].humidityData && dataList8[dataIndex8].humidityData.latestValue">{{
- Number(dataList8[dataIndex8].humidityData.latestValue).toFixed(1) }}<span>%</span></div>
- <div class="la">闃堝�� {{ dataList8[dataIndex8].humidityData?.alarmLow }}锝瀧{
- dataList8[dataIndex8].humidityData?.alarmHigh }}掳C</div>
- </div>
- </div>
- </div>
+ <img src="@/assets/images/title@2x.png" class="bg" alt="" />
</div>
- </div>
- <div class="content_wrap">
- <div class="header">
- <div class="left">
- <img class="icon" src="@/assets/images/FireFighting/468@2x.png" alt="">
- <span>瀹炴椂浼犳劅鍣ㄦ娴�</span>
- </div>
- <div class="right">
- <img @click="changeData9(-1)" class="icon" src="@/assets/images/FireFighting/xiaofang_ar_left@2x.png"
- alt="">
- <div class="num">{{ dataIndex9 + 1 }}/{{ dataTotal9 }}</div>
- <img @click="changeData9(1)" class="icon" src="@/assets/images/FireFighting/xiaofang_ar_right@2x.png"
- alt="">
- </div>
- </div>
- <div class="list_wrap2">
- <div class="item" v-for="item, i in dataListTemp9">
- <div class="title">
- <img class="icon" src="@/assets/images/FireFighting/ic_location@2x.png" alt="">
- <span>{{ item.name }}</span>
- </div>
- <div class="watergage_wrap" v-if="item.obj.typeCode == 253958">
- <div class="watergage" :id="'watergage' + i"></div>
- <div class="unit">{{ item.obj.value }}</div>
- <div class="place">闃堝�� {{ item.level }}</div>
- </div>
- <div v-if="item.obj.typeCode == 254001" class="liquidlevel_wrap">
- <div class="liquidlevel" :id="'liquidlevel' + i"></div>
- <div class="liquidle_te">
- <div class="unit">{{ item.obj.value }}</div>
- <div class="placeT">闃堝�納{ item.level }}</div>
+
+ <div class="bottom_content">
+
+ <div class="bottom_content_left" v-if="dataList8 && dataList8.length > 0">
+
+ <div class="tips">
+ <div class="tips_title">
+ <img src="@/assets/images/SecurityControl/ic_title_green@2x.png" alt="">
+ <span>閲嶇偣鍖哄煙娓╁害鐩戞祴</span>
</div>
+ <div class="right">
+ <img @click="changeData8(-1)" class="icon" src="@/assets/images/FireFighting/xiaofang_ar_left@2x.png"
+ alt="">
+ <div class="num">{{ dataList8[dataIndex8].humidityData.name }}</div>
+ <img @click="changeData8(1)" class="icon" src="@/assets/images/FireFighting/xiaofang_ar_right@2x.png"
+ alt="">
+ </div>
+ </div>
+
+ <div class="list_wrap">
+<!-- <div class="title">-->
+<!-- <img class="icon" src="@/assets/images/FireFighting/ic_location@2x.png" alt="">-->
+<!-- <span v-if="dataList8 && dataList8.length > 0">{{ dataList8[dataIndex8].humidityData.name }}</span>-->
+<!-- </div>-->
+ <div class="list" v-if="dataList8 && dataList8.length > 0">
+ <div class="item">
+ <img class="icon" src="@/assets/images/FireFighting/ic_wendu@2x.png" alt="">
+ <div class="content">
+ <div class="num"
+ v-if="dataList8[dataIndex8].temperatureData && dataList8[dataIndex8].temperatureData.latestValue">
+ {{ Number(dataList8[dataIndex8].temperatureData.latestValue).toFixed(1) }}<span>掳C</span></div>
+ <div class="la">闃堝�� {{ dataList8[dataIndex8].temperatureData?.alarmLow }}锝瀧{
+ dataList8[dataIndex8].temperatureData?.alarmHigh }}掳C</div>
+ </div>
+ </div>
+ <div class="item">
+ <img class="icon" src="@/assets/images/FireFighting/ic_shidu@2x.png" alt="">
+ <div class="content">
+ <div class="num"
+ v-if="dataList8[dataIndex8].humidityData && dataList8[dataIndex8].humidityData.latestValue">{{
+ Number(dataList8[dataIndex8].humidityData.latestValue).toFixed(1) }}<span>%</span></div>
+ <div class="la">闃堝�� {{ dataList8[dataIndex8].humidityData?.alarmLow }}锝瀧{
+ dataList8[dataIndex8].humidityData?.alarmHigh }}%</div>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ </div>
+ <div class="bottom_content_right">
+
+ <div class="tips">
+ <div class="tips_title">
+ <img src="@/assets/images/SecurityControl/ic_title_green@2x.png" alt="">
+ <span>姘村帇姘翠綅鐩戞祴</span>
+ </div>
+ <div class="right">
+ <img @click="changeData9(-1)" class="icon" src="@/assets/images/FireFighting/xiaofang_ar_left@2x.png"
+ alt="">
+ <div class="num">{{ dataIndex9 + 1 }}/{{ dataTotal9 }}</div>
+ <img @click="changeData9(1)" class="icon" src="@/assets/images/FireFighting/xiaofang_ar_right@2x.png"
+ alt="">
+ </div>
+ </div>
+
+ <div class="list_wrap2">
+ <div class="item" v-for="(item, i) in dataListTemp9" :key="i">
+ <div class="watergage_wrap" v-if="item.obj.typeCode == 253958">
+ <div class="watergage" :id="'watergage' + i"></div>
+ </div>
+ <div v-if="item.obj.typeCode == 254001" class="liquidlevel_wrap">
+ <img src="@/assets/images/size.png" alt="" class="size" />
+ <div class="liquidlevel" :id="'liquidlevel' + i"></div>
+ </div>
+ <div class="list_wrap2_info">
+ <div class="title">
+ <img class="icon" src="@/assets/images/FireFighting/ic_location@2x.png" alt="">
+ <span>{{ item.name }}</span>
+ </div>
+ <div class="unit">
+ <span>{{ item.obj.value.substring(0, item.obj.value.indexOf('M')) }}</span>
+ <span>{{ item.obj.value.substring(item.obj.value.indexOf('M'), item.obj.value.length) }}</span>
+ </div>
+ <div class="place">闃堝�� {{ item.level }}</div>
+ </div>
+ </div>
+ <div class="item1"></div>
+ <div class="item1"></div>
</div>
</div>
</div>
@@ -209,103 +247,92 @@
<div class="com_header">
<div class="title">
<img src="@/assets/images/ic_title@2x.png" class="icon" alt="" />
- <div>鏈勾娑堥槻璁惧/璁炬柦缁翠繚鎯呭喌</div>
+ <div>娑堥槻鎶ヨ闂幆绠$悊</div>
</div>
<img src="@/assets/images/title@2x.png" class="bg" alt="" />
</div>
- <div class="content_wrap">
- <div class="list">
- <div class="item">
- <div>宸茬淮淇�</div>
- <div class="num active">{{ dataList5.protectNum }}</div>
+ <div class="right_content">
+ <div class="tips">
+ <div class="tips_title">
+ <img src="@/assets/images/SecurityControl/ic_title_green@2x.png" alt="">
+ <span>
+ <template v-if="dateType === '1'">鏈湀</template>
+ <template v-else-if="dateType === '2'">鏈勾</template>
+ <template v-else>浠婃棩</template>鎶ヨ
+ </span>
</div>
- <div class="separate"></div>
- <div class="item">
- <div>璁″垝缁翠繚</div>
- <div class="num acc">{{ dataList5.planProtectTotal }}</div>
- </div>
- <div class="separate"></div>
- <div class="item">
- <div>缁翠繚鐜�</div>
- <div v-if="dataList5.protectNum && dataList5.planProtectTotal" class="acc num">{{
- ((dataList5.protectNum / dataList5.planProtectTotal) * 100).toFixed(0) }}%</div>
+ <div class="tips_cates">
+ <div :class="!dateType ? 'tips_cates_row active' : 'tips_cates_row'" @click="getData2('')">浠婃棩</div>
+ <div class="tips_cates_x">|</div>
+ <div :class="dateType === '1' ? 'tips_cates_row active' : 'tips_cates_row'" @click="getData2('1')">鏈湀</div>
+ <div class="tips_cates_x">|</div>
+ <div :class="dateType === '2' ? 'tips_cates_row active' : 'tips_cates_row'" @click="getData2('2')">鏈勾</div>
</div>
</div>
- <div class="footer">
- <img src="@/assets/images/FireFighting/ic_weixiu@2x.png" class="icon" alt="">
- <div class="content">
- <div>鏈湀鏂板缁翠繚</div>
- <div class="num">{{ dataList5.monthAddNum }} <span>涓�</span></div>
- </div>
- </div>
- </div>
- </div>
- <div class="right_box_two">
- <div class="com_header">
- <div class="title">
- <img src="@/assets/images/ic_title@2x.png" class="icon" alt="" />
- <div>浠婃棩闅愭偅/鍛婅</div>
- </div>
- <img src="@/assets/images/title@2x.png" class="bg" alt="" />
- </div>
- <div class="su_title">
- <img class="icon" src="@/assets/images/FireFighting/ic_title_green@2x.png" alt="">
- <div class="name">闅愭偅闅忔墜鎷�</div>
- </div>
- <div class="static_wrap">
- <div class="item">
- <img src="@/assets/images/FireFighting/ic_tibao@2x.png" alt="">
- <div class="content">
- <div class="name">鎻愭姤闅愭偅鏁�</div>
- <div class="num"><span>{{ dataList4.dangerTotalNum }}</span>涓�</div>
- </div>
- </div>
- <div class="item">
- <img src="@/assets/images/FireFighting/ic_chuli@2x.png" alt="">
- <div class="content">
- <div class="name">澶勭悊闅愭偅鏁�</div>
- <div class="num"><span class="today">{{ dataList4.dangerDealedNum }}</span>涓�</div>
- </div>
- </div>
- </div>
- <div class="su_title">
- <img class="icon" src="@/assets/images/FireFighting/ic_title_green@2x.png" alt="">
- <div class="name">鍛婅淇℃伅</div>
- </div>
- <div class="list two-swiper">
- <div class="swiper-wrapper">
- <div class="item two-swiper-slide swiper-slide" v-for="item, i in dataList7" :key="i">
- <div class="icon">
- <div class="circle"></div>
- <div class="line"></div>
+
+ <div class="police_wrap">
+ <div class="item" v-for="(item, i) in dataList2">
+ <div class="head">
+ <div class="name">{{ item.name }}</div>
+ <div class="name">{{ item.num }}娆�</div>
</div>
- <div class="content">
- <div class="header">
- <div class="time">
- <span>{{ item.alarmTime }}</span>
- <span class="status" v-if="item.handleStatus == 1">宸叉牳瀹�</span>
- <span class="status" v-else-if="item.handleStatus == 2">鏈牳瀹�</span>
- <span class="status" v-else-if="item.handleStatus == 3">鏍稿疄涓�</span>
- <span v-else class="status">鏈牳瀹�</span>
- </div>
- <div class="have_time">宸插彂鐢焮{ item.haveTime }}</div>
+ <FirePercent :color="policeColors[i]" :rate="item.rate" />
+ </div>
+ </div>
+
+ <div class="dispose_wrap">
+ <div class="tips">
+ <div class="tips_title">
+ <img src="@/assets/images/SecurityControl/ic_title_green@2x.png" alt="">
+ <span>鎶ヨ瓒嬪娍</span>
+ </div>
+ </div>
+ <div class="echart2" id="echart2"></div>
+ </div>
+
+ <div class="tips">
+ <div class="tips_title">
+ <img src="@/assets/images/SecurityControl/ic_title_green@2x.png" alt="">
+ <span>鎶ヨ鏄庣粏</span>
+ </div>
+ </div>
+
+ <div class="list two-swiper">
+ <div class="swiper-wrapper">
+ <div class="item two-swiper-slide swiper-slide" v-for="(item, i) in dataList7" :key="i">
+ <div class="icon">
+ <div class="circle"></div>
+ <div class="line"></div>
</div>
- <div class="wrap">
- <div class="title">
- <img class="xf" src="@/assets/images/FireFighting/ic_gaojing_red@2x.png" alt="">
- <span>{{ item.alarmTypeName }}</span>
+ <div class="content">
+ <div class="header">
+ <div class="time">
+ <span>{{ item.alarmTime }}</span>
+ <span class="status" v-if="item.handleStatus == 1">宸叉牳瀹�</span>
+ <span class="status" v-else-if="item.handleStatus == 2">鏈牳瀹�</span>
+ <span class="status" v-else-if="item.handleStatus == 3">鏍稿疄涓�</span>
+ <span v-else class="status">鏈牳瀹�</span>
+ </div>
+ <div class="have_time">宸插彂鐢焮{ item.haveTime }}</div>
</div>
- <div class="title">
- <img class="addr" src="@/assets/images/FireFighting/xiaofang_ic_weizhi@2x.png" alt="">
- <span>{{ item.regionName }}</span>
+ <div class="wrap">
+ <div class="title">
+ <img class="xf" src="@/assets/images/FireFighting/ic_gaojing_red@2x.png" alt="">
+ <span>{{ item.alarmTypeName }}</span>
+ </div>
+ <div class="title">
+ <img class="addr" src="@/assets/images/FireFighting/xiaofang_ic_weizhi@2x.png" alt="">
+ <span>{{ item.regionName }}</span>
+ </div>
</div>
</div>
</div>
- </div>
- <div v-if="dataList7.length == 0" style="margin-top: 100px;" class="empty_wrap">
- <img src="@/assets/images/default_empty.png" alt="">
+ <div v-if="dataList7.length == 0" style="margin-top: 50px;" class="empty_wrap">
+ <img src="@/assets/images/default_nowarning.png" style="width: 150px; height: 150px;" alt="">
+ </div>
</div>
</div>
+
</div>
</div>
</div>
@@ -340,6 +367,7 @@
const date = ref(dayjs().format('YYYY.MM.DD'))
const week = ref(weekMap[new Date().getDay()])
const time = ref(dayjs().format('HH:mm:ss'))
+var dateType = ref('')
setInterval(() => {
date.value = dayjs().format('YYYY-MM-DD')
week.value = weekMap[new Date().getDay()]
@@ -351,20 +379,28 @@
const initWatergage = (id, item) => {
const myChart = echarts.init(document.getElementById(id))
var data_value = item.obj.value.replaceAll('Mpa', '')
- const startI = item.level.indexOf('-')
- const endI = item.level.indexOf('Mpa')
- let maxNum = item.level.slice(startI + 1, endI)
- let minNum = item.level.slice(0, startI)
- // let maxNum =
+ // const startI = item.level.indexOf('-')
+ // const endI = item.level.indexOf('Mpa')
+ // let maxNum = item.level.slice(startI + 1, endI)
+ // let minNum = item.level.slice(0, startI)
+ let maxNum = item.max
+ let minNum = item.min
+ // let maxNum =
const option = {
barMaxWidth: 3,
+ mapLocation: {
+ x: '0',
+ y: '0',
+ width: '100%',
+ height: '100%'
+ },
polar: {
radius: '80%'
},
grid: {
top: '0%',
left: '0%',
- right: '%',
+ right: '0%',
bottom: '0%',
containLabel: true
},
@@ -517,13 +553,20 @@
}
const initLiquidlevel = (id, item) => {
const myChart = echarts.init(document.getElementById(id))
- const startI = item.level.indexOf('-')
- const endI = item.level.indexOf('M')
- let maxNum = item.level.slice(startI + 1, endI)
- let minNum = item.level.slice(0, startI)
- let conNum = maxNum - minNum
+ // const startI = item.level.indexOf('-')
+ // const endI = item.level.indexOf('M')
+ // let maxNum = item.level.slice(startI + 1, endI)
+ // let minNum = item.level.slice(0, startI)
+ let maxNum = item.max
+ let minNum = item.min
+ let conNum = maxNum
let acNum = item.obj.value.replaceAll('M', '')
- var data = (((acNum - minNum) / conNum) * 100).toFixed(0)
+ var data = 0
+ if (acNum > conNum) {
+ data = 100
+ } else{
+ data = ((acNum / conNum) * 100).toFixed(0)
+ }
console.log('data', data)
const option = {
@@ -727,23 +770,25 @@
}
const dataList1 = ref([])
-const policeColors = ['#01D9FE', '#FE5501', '#0193FE', '#28F0C4']
+const policeColors = ['#FE5501', '#01D9FE', '#01FE9D', '#FFF306']
const dataList2 = ref([])
-const getData2 = () => {
- // let temp = []
- // temp.push({ name: '鐪熷疄鎶ヨ鏁�', num: 10, rate: 20 })
- // temp.push({ name: '璇姤璀︽暟', num: 30, rate: 60 })
- // temp.push({ name: '宸茶В闄�', num: 20, rate: 40 })
- // temp.push({ name: '澶勭悊涓�', num: 8, rate: 16 })
- // dataList2.value = temp
- // return
+let dayData = ref([])
+
+const getDayData = () => {
getFightingalarmData().then(res => {
+ dayData.value = res.data || {}
+ })
+}
+
+const getData2 = (type) => {
+ dateType.value = type
+ getFightingalarmData({ type: dateType.value }).then(res => {
const result = res.data || {}
let temp = []
- temp.push({ name: '鐪熷疄鎶ヨ鏁�', num: result.realNum, rate: (result.realNum / result.totalNum) * 100 })
+ temp.push({ name: '宸插鐞�', num: result.liftNum, rate: (result.liftNum / result.totalNum) * 100 })
+ temp.push({ name: '鏈鐞�', num: result.processingNum, rate: (result.processingNum / result.totalNum) * 100 })
+ temp.push({ name: '姝f姤璀︽暟', num: result.liftNum - result.errNum, rate: ((result.liftNum - result.errNum) / result.totalNum) * 100 })
temp.push({ name: '璇姤璀︽暟', num: result.errNum, rate: (result.errNum / result.totalNum) * 100 })
- temp.push({ name: '宸茶В闄�', num: result.liftNum, rate: (result.liftNum / result.totalNum) * 100 })
- temp.push({ name: '澶勭悊涓�', num: result.processingNum, rate: (result.processingNum / result.totalNum) * 100 })
dataList2.value = temp
})
}
@@ -757,12 +802,10 @@
}
const initEchart2 = () => {
var myChart = echarts.init(document.querySelector('.echart2'))
- // 鐢熸垚鏁版嵁鍜屾棩鏈�
// 绀轰緥鏁版嵁
const data1 = dataList3.value.map(i => i.realNum)
const data2 = dataList3.value.map(i => i.processingNum)
const data3 = dataList3.value.map(i => i.liftNum)
- const data4 = dataList3.value.map(i => i.errNum)
const months = dataList3.value.map(i => {
return i.startDate.substring(5, 7) + '鏈�'
})
@@ -770,17 +813,17 @@
const option = {
legend: {
- x: "center",
+ x: "right",
textStyle: {
- color: "#FFFFFF", // 鍥句緥鏂囧瓧璁句负鐧借壊
+ color: "#FFFFFF",
fontSize: 12
},
icon: 'circle',
- top: '6%',
- itemWidth: 8,
- itemHeight: 8,
+ top: '0',
+ itemWidth: 10,
+ itemHeight: 10,
itemGap: 20,
- data: ['鍛婅鏁�', '杩涜涓�', '宸插鐞�', '璇姤鏁�'] // 鏇存柊鍥句緥鍚嶇О
+ data: ['鎶ヨ鏁�', '鏈鐞�', '宸插鐞�']
},
grid: {
left: '2%',
@@ -808,7 +851,7 @@
},
axisLine: {
lineStyle: {
- color: '#1E294C'
+ color: '#D2E0FF'
}
},
axisTick: {
@@ -823,7 +866,7 @@
},
axisLine: {
lineStyle: {
- color: '#A9AEB2'
+ color: '#D2E0FF'
}
},
axisTick: {
@@ -841,7 +884,7 @@
},
series: [
{
- name: "鍛婅鏁�",
+ name: "鎶ヨ鏁�",
type: "bar",
stack: "attendance",
data: data1,
@@ -858,12 +901,12 @@
barWidth: 6,
},
{
- name: "杩涜涓�", // 杩熷埌鏁版嵁
+ name: "鏈鐞�", // 杩熷埌鏁版嵁
type: "bar",
stack: "attendance",
data: data2,
itemStyle: {
- color: '#28F0C4', // 杩熷埌鐨勯鑹�
+ color: '#FE5501', // 杩熷埌鐨勯鑹�
},
label: {
show: false,
@@ -879,7 +922,7 @@
stack: "attendance",
data: data3,
itemStyle: {
- color: '#0193FE', // 璇峰亣鐨勯鑹�
+ color: '#01D9FE', // 璇峰亣鐨勯鑹�
},
label: {
show: false,
@@ -888,19 +931,7 @@
emphasis: {
focus: "series",
},
- },
- {
- name: "璇姤鏁�", // 鍗曠嫭鐨勫姞鐝煴瀛�
- type: "bar",
- data: data4,
- barWidth: 6,
- itemStyle: {
- color: '#FEED01', // 楂樹寒鐨勭传鑹�
- },
- emphasis: {
- focus: "series",
- },
- },
+ }
],
}
myChart.setOption(option)
@@ -966,9 +997,10 @@
}
})
if (dataList9.value.length > 0) {
- dataTotal9.value = Math.ceil(dataList9.value.length / 2)
- dataListTemp9.value = dataList9.value.slice(0, 2)
+ dataTotal9.value = Math.ceil(dataList9.value.length / 4)
+ dataListTemp9.value = dataList9.value.slice(0, 4)
}
+ console.log(dataListTemp9.value)
initEcharts9()
})
}
@@ -985,13 +1017,13 @@
// return
if (dataIndex9.value == dataTotal9.value - 1 && num > 0) {
dataIndex9.value = 0
- dataListTemp9.value = dataList9.value.slice(0, 2)
+ dataListTemp9.value = dataList9.value.slice(0, 4)
} else if (dataIndex9.value == 0 && num < 0) {
dataIndex9.value = dataTotal9.value - 1
- dataListTemp9.value = dataList9.value.slice(dataList9.value.length - 2, dataList9.value.length)
+ dataListTemp9.value = dataList9.value.slice(dataList9.value.length - 4, dataList9.value.length)
} else {
dataIndex9.value = dataIndex9.value + num
- dataListTemp9.value = dataList9.value.slice(dataIndex9.value * 2, (dataIndex9.value + 1) * 2)
+ dataListTemp9.value = dataList9.value.slice(dataIndex9.value * 4, (dataIndex9.value + 1) * 4)
}
initEcharts9()
}
@@ -1019,6 +1051,13 @@
return false
}
}
+
+const sum = (array, field) => {
+ return array.reduce((accumulator, currentValue) => {
+ return accumulator + currentValue[field];
+ }, 0);
+}
+
const loopFn1 = () => {
var newSwiper1 = new Swiper('.one-swiper', {
initialSlide: 0,
@@ -1032,48 +1071,99 @@
var newSwiper1 = new Swiper('.two-swiper', {
initialSlide: 0,
direction: 'vertical', //绔栫洿鏂瑰悜
- slidesPerView: 4,
- autoplay: autoplayFlag(dataList7.value, 4, 4000),
+ slidesPerView: 3,
+ autoplay: autoplayFlag(dataList7.value, 3, 4000),
observer: true, //淇敼swiper鑷繁鎴栧瓙鍏冪礌鏃讹紝鑷姩鍒濆鍖杝wiper
})
}
onMounted(() => {
- // getData1()
+ getDayData()
getData2()
getData3()
getData4()
getData5()
- // getData6()
getData7()
getData8()
setInterval(() => {
getData2()
getData3()
getData4()
- // getData6()
getData7()
}, 60 * 1000)
setInterval(() => {
-
getData5()
getData8()
-
}, 60 * 60 * 1000)
-
+ setInterval(() => {
+ changeData8(1)
+ changeData9(1)
+ }, 1000 * 10)
setTimeout(() => {
loopFn1()
loopFn2()
}, 12000)
-
})
-
-
</script>
<style lang="scss" scoped>
div {
box-sizing: border-box;
+}
+.tips {
+ width: 100%;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ .tips_title {
+ flex-shrink: 0;
+ display: flex;
+ align-items: center;
+ margin-right: 30px;
+ img {
+ width: 17px;
+ height: 17px;
+ margin-right: 7px;
+ }
+ span {
+ font-weight: 500;
+ font-size: 16px;
+ color: #FFFFFF;
+ }
+ }
+ .tips_cates {
+ display: flex;
+ align-items: center;
+ .tips_cates_row {
+ font-weight: 600;
+ font-size: 14px;
+ color: #D2E0FF;
+ cursor: pointer;
+ }
+ .tips_cates_x {
+ margin: 0 8px;
+ font-weight: 600;
+ font-size: 14px;
+ color: #D2E0FF;
+ }
+ .active {
+ color: #0094EB !important;
+ }
+ }
+ .right {
+ display: flex;
+ align-items: center;
+
+ .num {
+ margin: 0 5px;
+ }
+
+ .icon {
+ width: 30px;
+ cursor: pointer;
+ /* height: 16px; */
+ }
+ }
}
.main_content {
@@ -1081,106 +1171,482 @@
padding: 20px 25px 0;
.left_box {
- width: 450px;
+ /*width: 450px;*/
+ flex: 1;
+ margin-right: 20px;
- .left_box_one {
+ .left_box_top {
width: 100%;
- margin-bottom: 20px;
+ display: flex;
+ align-items: start;
+ position: relative;
- .list_wrap {
- padding: 10px 0;
+ .left_box_top_znz {
+ width: 68px;
+ height: 68px;
+ position: absolute;
+ right: 0;
+ top: 120px;
+ img {
+ width: 100%;
+ height: 100%;
+ }
+ }
- .list_content {
- height: 170px;
- overflow: hidden;
+ .left_box_top_left {
+ width: 450px;
+ flex-shrink: 0;
- .line_wrap {
- height: 34px !important;
+ .left_box_one {
+ width: 100%;
+ margin-bottom: 20px;
+
+ .left_content {
+ width: 100%;
+ height: 549px;
+ padding: 20px;
+ box-sizing: border-box;
+ background: rgba(255,255,255,0.03);
+
+ .list_wrap {
+ padding: 10px 0;
+
+ .list_wrap_footer {
+ width: 100%;
+ height: 40px;
+ display: flex;
+ align-items: center;
+ position: relative;
+ .separate {
+ position: absolute;
+ bottom: 0;
+ left: 0;
+ width: 100%;
+ height: 2px;
+ background-color: rgba(255, 255, 255, 0.2);
+ /* background-color: red; */
+ border-right: 4px solid #00F2F3;
+ border-left: 4px solid #00F2F3;
+ }
+ .wrap_footer_item {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ flex: 2;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ }
+ .name {
+ flex: 5;
+ color: #00F2F3;
+ }
+ }
+
+ .list_content {
+ height: 204px;
+ overflow: hidden;
+
+ .line_wrap {
+ height: 40px !important;
+ }
+ }
+
+ .list {
+ .line {
+ display: flex;
+ height: 40px;
+ align-items: center;
+ font-size: 14px;
+
+ .item {
+ flex: 2;
+ display: flex;
+ justify-content: center;
+ /* margin: 0 6px; */
+ align-items: center;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+
+ }
+
+ .name {
+ flex: 5;
+ color: #00F2F3;
+ }
+
+ .warnning {
+ color: #FEAF01;
+ }
+ }
+
+ .header {
+ background: rgba(134, 156, 201, 0.1);
+ font-weight: 500;
+
+ .item {
+ border-right: 1px solid rgba(255, 255, 255, 0.2);
+
+ &:nth-last-child(1) {
+ border: none;
+ }
+ }
+ }
+
+ .separate {
+ width: 100%;
+ height: 2px;
+ background-color: rgba(255, 255, 255, 0.2);
+ /* background-color: red; */
+ border-right: 4px solid #00F2F3;
+ border-left: 4px solid #00F2F3;
+ }
+ }
+ }
+
+ .content_wrap {
+ height: 176px;
+
+ .list {
+ display: flex;
+ align-items: center;
+
+ .item {
+ height: 116px;
+ flex: 1;
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+
+ .num {
+ margin-top: 12px;
+ font-weight: bold;
+ font-size: 32px;
+
+ }
+
+ .acc {
+ background-image: -webkit-linear-gradient(top,
+ #ffffff 0%,
+ #c8ddff 66%,
+ #95eefc 72%,
+ #95eefc 100%);
+ -webkit-background-clip: text;
+ -webkit-text-fill-color: transparent;
+ }
+
+ .active {
+ color: #00F2F3;
+ }
+ }
+
+ .separate {
+ width: 1px;
+ height: 50px;
+ background-color: rgba(255, 255, 255, 0.21);
+ }
+ }
+
+ .footer {
+ display: flex;
+
+ .icon {
+ width: 40px;
+ height: 41px;
+ margin-right: 2px;
+ }
+
+ .content {
+ flex: 1;
+ font-size: 16px;
+ height: 40px;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ padding: 0 20px;
+ background: linear-gradient(270deg, rgba(1, 217, 254, 0) 0%, rgba(1, 217, 254, 0.19) 100%);
+ border: 1px solid;
+ border-image: linear-gradient(270deg, rgba(1, 217, 254, 0), rgba(1, 217, 254, 0.6)) 1 1;
+
+ .num {
+ font-size: 20px;
+ font-weight: bold;
+
+ span {
+ font-size: 13px;
+ color: #869CC9;
+ }
+ }
+ }
+ }
+ }
+
+ }
+
+ }
+ }
+ .left_box_top_right {
+ flex: 1;
+
+ .center_box_one {
+ width: 100%;
+ padding: 0 120px;
+ box-sizing: border-box;
+ .static_wrap {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ margin: 30px 0 54px;
+
+ .item {
+ display: flex;
+
+ img {
+ width: 61px;
+ height: 63px;
+ margin-right: 15px;
+ }
+
+ .content {
+ font-size: 15px;
+ .num {
+ font-weight: bold;
+ font-size: 30px;
+ margin-right: 5px;
+ background-image: -webkit-linear-gradient(top,
+ rgba(254, 113, 1, 1) 0%,
+ rgba(239, 202, 16, 1) 100%);
+ -webkit-background-clip: text;
+ -webkit-text-fill-color: transparent;
+ }
+ .num2 {
+ background-image: -webkit-linear-gradient(top,
+ #fff 0%,
+ #dd4c26 50%,
+ #e43724 100%);
+ }
+ .num5 {
+ background-image: -webkit-linear-gradient(top,
+ rgba(1, 217, 254, 1) 0%,
+ rgba(1, 254, 242, 1) 100%);
+ }
+ }
+ }
}
}
+ }
+ }
- .list {
- .line {
- display: flex;
- height: 32px;
- align-items: center;
- font-size: 14px;
+ .left_box_bottom {
+ width: 100%;
+ display: flex;
+ flex-direction: column;
- .item {
- flex: 1;
+ .bottom_content {
+ width: 100%;
+ height: 168px;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ background: rgba(255,255,255,0.03);
+
+ .bottom_content_left {
+ width: 435px;
+ height: 100%;
+ padding: 20px;
+ box-sizing: border-box;
+
+ .list_wrap {
+ width: 100%;
+ height: 64px;
+ margin-top: 20px;
+
+ .list {
+ height: 100%;
display: flex;
- justify-content: center;
- align-items: center;
- white-space: nowrap;
- overflow: hidden;
- text-overflow: ellipsis;
- }
+ justify-content: space-evenly;
- .name {
- flex: 2;
- }
+ .item {
+ display: flex;
+ align-items: center;
+ position: relative;
- .warnning {
- color: #FEAF01;
- }
- }
+ .place {
+ position: absolute;
+ top: 120px;
+ right: 70px;
+ z-index: 999;
+ font-size: 13px;
+ color: #869CC9;
+ width: 120px;
+ text-align: center;
+ }
- .header {
- background: rgba(134, 156, 201, 0.1);
- font-weight: 500;
+ .icon {
+ width: 70px;
+ height: 70px;
+ margin-right: 10px;
+ }
- .item {
- border-right: 1px solid rgba(255, 255, 255, 0.2);
+ .content {
+ .num {
+ font-size: 28px;
+ font-weight: 500;
- &:nth-last-child(1) {
- border: none;
+ span {
+ font-size: 14px;
+ font-weight: 400;
+ }
+ }
+
+ .la {
+ font-size: 13px;
+ color: #869CC9;
+ }
+ }
}
}
}
- .separate {
- width: 100%;
- height: 2px;
- background-color: rgba(255, 255, 255, 0.2);
- /* background-color: red; */
- border-right: 4px solid #00F2F3;
- border-left: 4px solid #00F2F3;
- }
}
- }
- }
- .left_box_two {
- margin-bottom: 20px;
-
- .police_wrap {
- padding: 15px 20px 0;
- height: 225px;
-
- .item {
- margin-bottom: 5px;
-
- .head {
- display: flex;
- justify-content: space-between;
- align-items: center;
- font-size: 16px;
- color: #FFFFFF;
- margin-bottom: 8px;
- }
- }
- }
- }
-
- .left_box_three {
- .dispose_wrap {
- height: 210px;
- width: 100%;
-
- .echart2 {
- width: 100%;
+ .bottom_content_right {
+ flex: 1;
height: 100%;
+ padding: 20px;
+ box-sizing: border-box;
+
+ .list_wrap2 {
+ display: flex;
+ align-items: center;
+ height: 85px;
+
+ .item1 {
+ width: 50%;
+ height: 0;
+ }
+ .item {
+ width: 50%;
+ height: 100%;
+ display: flex;
+ align-items: center;
+ position: relative;
+
+ .list_wrap2_info {
+ flex: 1;
+ height: 100%;
+ display: flex;
+ flex-direction: column;
+ justify-content: space-between;
+ .title {
+ display: flex;
+ align-items: start;
+ color: #D2E0FF;
+
+ .icon {
+ width: 16px;
+ margin-right: 8px;
+ }
+
+ span {
+ font-weight: 400;
+ font-size: 14px;
+ color: #D2E0FF;
+ }
+ }
+
+ .unit {
+ bottom: 16px;
+ left: 4px;
+ width: 130px;
+ margin-bottom: 6px;
+ margin-top: 2px;
+
+ span {
+ font-weight: 500;
+ color: #FFFFFF;
+
+ &:nth-child(1) {
+ font-size: 20px;
+ }
+ &:nth-child(2) {
+ font-size: 13px;
+ }
+ /*font-size: 12px;*/
+ /*font-weight: 400;*/
+ }
+ }
+
+ .place {
+ bottom: 16px;
+ left: 4px;
+ width: 130px;
+ font-size: 13px;
+ color: #869CC9;
+ }
+ }
+ .watergage_wrap {
+ flex-shrink: 0;
+ width: 100px;
+ height: 85px;
+ text-align: center;
+ position: relative;
+
+ .watergage {
+ width: 100px;
+ height: 85px;
+ }
+
+
+ }
+ .liquidlevel_wrap {
+ width: 100px;
+ height: 85px;
+ position: relative;
+
+ .size {
+ width: 13px;
+ height: 84px;
+ position: absolute;
+ top: 3px;
+ right: 20px;
+ }
+
+ .liquidle_te {
+ font-weight: 500;
+ font-size: 18px;
+ position: absolute;
+ top: 99px;
+ left: 0;
+ width: 206px;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+
+ .placeT {
+ font-size: 12px;
+ color: #869CC9;
+ margin-top: 6px;
+ }
+ }
+
+ .liquidlevel {
+ width: 220px;
+ height: 400px;
+ color: #fff;
+ transform: scale(0.24);
+ text-align: center;
+ left: -70px;
+ top: -154px;
+ }
+ }
+ }
+ }
+
}
+
}
}
}
@@ -1192,301 +1658,12 @@
flex-direction: column;
justify-content: space-between;
- .center_box_one {
- .static_wrap {
- display: flex;
- justify-content: space-between;
- align-items: center;
- margin: 30px 0 54px;
- .item {
- display: flex;
-
- img {
- width: 61px;
- height: 63px;
- margin-right: 15px;
- }
-
- .content {
- font-size: 15px;
-
- .num {
- font-size: 12px;
- color: #D2E0FF;
-
- font-weight: bold;
- font-size: 30px;
- margin-right: 5px;
- font-weight: 600;
- background-image: -webkit-linear-gradient(top,
- #01D9FE 0%,
- #01D9FE 60%,
- #fff 100%);
- -webkit-background-clip: text;
- -webkit-text-fill-color: transparent;
- }
-
- .num2 {
- background-image: -webkit-linear-gradient(top,
- #fff 0%,
- #dd4c26 50%,
- #e43724 100%);
- }
-
- .num3 {
- background-image: -webkit-linear-gradient(top,
- #eb8131 0%,
- #d0a72c 50%,
- #e9bf43 100%);
- }
-
- .num4 {
- background-image: -webkit-linear-gradient(top,
- #fff 0%,
- #78db91 50%,
- #6de8b0 100%);
- }
-
- .num5 {
- background-image: -webkit-linear-gradient(top,
- #fff 0%,
- #3a83f5 50%,
- #3a83f5 100%);
- }
- }
- }
- }
- }
.center_box_two {
width: 108%;
display: flex;
margin: 0 -4%;
-
- .content_wrap {
- flex: 1;
- flex-shrink: 0;
- margin-right: 20px;
-
- .title_wrap {
- display: flex;
-
- .title {
- flex: 1;
- }
- }
-
- &:nth-last-child(1) {
- margin-right: 0;
- }
-
- .header {
- display: flex;
- justify-content: space-between;
- align-items: center;
- font-weight: bold;
- font-size: 16px;
- text-shadow: 0px 2px 8px #01ABFE;
- margin-bottom: 20px;
-
- .left {
- display: flex;
- align-items: center;
-
- .icon {
- width: 14px;
- height: 28px;
- margin-right: 10px;
- }
- }
-
- .right {
- display: flex;
- align-items: center;
-
- .num {
- margin: 0 40px;
- }
-
- .icon {
- width: 30px;
- cursor: pointer;
- /* height: 16px; */
- }
- }
- }
-
- .list_wrap {
- height: 206px;
- background-image: url('@/assets/images/FireFighting/bg_wendu@2x.png');
- background-size: cover;
-
- .title {
- height: 46px;
- display: flex;
- align-items: center;
- color: #D2E0FF;
- padding-left: 20px;
-
- .icon {
- width: 16px;
- margin-right: 8px;
- }
- }
-
- .list {
- height: 160px;
- display: flex;
- justify-content: space-evenly;
-
- .item {
- display: flex;
- align-items: center;
- position: relative;
-
- .place {
- position: absolute;
- top: 120px;
- right: 70px;
- z-index: 999;
- font-size: 13px;
- color: #869CC9;
- width: 120px;
- text-align: center;
- }
-
- .icon {
- width: 70px;
- height: 70px;
- margin-right: 10px;
- }
-
- .content {
- .num {
- font-size: 28px;
- font-weight: 500;
-
- span {
- font-size: 14px;
- font-weight: 400;
- }
- }
-
- .la {
- font-size: 13px;
- color: #869CC9;
- }
- }
- }
- }
- }
-
- .list_wrap2 {
- display: flex;
- align-items: center;
- height: 206px;
- background-image: url('@/assets/images/FireFighting/bg_wendu@2x.png');
- background-size: cover;
-
- .item {
- width: 50%;
- height: 100%;
-
- .title {
- height: 46px;
- display: flex;
- align-items: center;
- color: #D2E0FF;
- padding-left: 20px;
-
- .icon {
- width: 16px;
- margin-right: 8px;
- }
- }
-
- .watergage_wrap {
- text-align: center;
- position: relative;
- left: 30px;
-
- .watergage {
- width: 130px;
- height: 112px;
- }
-
- .unit {
- font-weight: 500;
- font-size: 18px;
- position: relative;
- bottom: 16px;
- left: 4px;
- width: 130px;
- margin-bottom: 6px;
- margin-top: 2px;
-
- span {
- font-size: 12px;
- font-weight: 400;
- }
- }
-
- .place {
- position: relative;
- bottom: 16px;
- left: 4px;
- width: 130px;
- font-size: 13px;
- color: #869CC9;
- }
- }
-
- .liquidlevel_wrap {
- position: relative;
-
- /* border: 6px solid red; */
- .liquidle_te {
- font-weight: 500;
- font-size: 18px;
- position: absolute;
- top: 99px;
- left: 0;
- width: 206px;
- display: flex;
- flex-direction: column;
- align-items: center;
-
- .placeT {
- font-size: 12px;
- color: #869CC9;
- margin-top: 6px;
- }
- }
-
- /* .placeT {
- position: relative;
- bottom: 10px;
- left: 4px;
- font-size: 74px;
- color: #869CC9;
- opacity: 0;
- } */
-
- .liquidlevel {
- width: 220px;
- height: 400px;
- transform: scale(0.27);
- color: #fff;
- text-align: center;
- position: relative;
- left: -8px;
- top: -143px;
- }
- }
- }
- }
- }
}
}
@@ -1495,258 +1672,180 @@
width: 450px;
.right_box_one {
- .content_wrap {
- height: 176px;
+ width: 100%;
+
+ .right_content {
+ width: 100%;
+ height: 775px;
+ padding: 20px;
+ box-sizing: border-box;
+ background: rgba(255,255,255,0.03);
.list {
- display: flex;
- align-items: center;
+ height: 240px;
+ overflow: hidden;
+ margin-top: 15px;
+ scrollbar-width: none;
.item {
- height: 116px;
- flex: 1;
display: flex;
- flex-direction: column;
- justify-content: center;
- align-items: center;
+ font-size: 13px;
+ color: #D2E0FF;
+ height: 68px !important;
- .num {
- margin-top: 12px;
- font-weight: bold;
- font-size: 32px;
+ .icon {
+ width: 40px;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ padding-top: 10px;
- }
-
- .acc {
- background-image: -webkit-linear-gradient(top,
- #ffffff 0%,
- #c8ddff 66%,
- #95eefc 72%,
- #95eefc 100%);
- -webkit-background-clip: text;
- -webkit-text-fill-color: transparent;
- }
-
- .active {
- color: #00F2F3;
- }
- }
-
- .separate {
- width: 1px;
- height: 50px;
- background-color: rgba(255, 255, 255, 0.21);
- }
- }
-
- .footer {
- display: flex;
-
- .icon {
- width: 40px;
- height: 41px;
- margin-right: 2px;
- }
-
- .content {
- flex: 1;
- font-size: 16px;
- height: 40px;
- display: flex;
- justify-content: space-between;
- align-items: center;
- padding: 0 20px;
- background: linear-gradient(270deg, rgba(1, 217, 254, 0) 0%, rgba(1, 217, 254, 0.19) 100%);
- border: 1px solid;
- border-image: linear-gradient(270deg, rgba(1, 217, 254, 0), rgba(1, 217, 254, 0.6)) 1 1;
-
- .num {
- font-size: 20px;
- font-weight: bold;
-
- span {
- font-size: 13px;
- color: #869CC9;
- }
- }
- }
- }
- }
- }
-
- .right_box_two {
- .su_title {
- display: flex;
- align-items: center;
- font-weight: 500;
- font-size: 16px;
- margin: 20px;
-
- .icon {
- width: 17px;
- height: 17px;
- margin-right: 7px;
- }
- }
-
- .static_wrap {
- display: flex;
- justify-content: space-evenly;
- align-items: center;
- height: 110px;
-
- .item {
- display: flex;
- align-items: center;
-
- img {
- width: 80px;
- height: 80px;
- margin-right: 8px;
- }
-
- .content {
- font-size: 14px;
-
- .num {
- font-size: 12px;
- color: #D2E0FF;
- margin-top: 8px;
-
- span {
- font-weight: bold;
- font-size: 24px;
- margin-right: 4px;
- font-weight: 600;
- background-image: -webkit-linear-gradient(top,
- #01D9FE 0%,
- #01D9FE 60%,
- #fff 100%);
- -webkit-background-clip: text;
- -webkit-text-fill-color: transparent;
+ .circle {
+ width: 7px;
+ height: 7px;
+ border-radius: 50%;
+ background: #01D9FE;
+ box-shadow: 0px 0px 1px 4px #34788f;
+ /* opacity: 0.52; */
}
- .today {
- background-image: -webkit-linear-gradient(top,
- #fff 0%,
- #FFB120 50%,
- #FFB120 100%);
+ .line {
+ margin-top: 3px;
+ width: 1px;
+ flex: 1;
+ background-color: #153947;
}
}
- }
- }
- }
- .list {
- height: 320px;
- overflow: hidden;
- margin-top: 15px;
- scrollbar-width: none;
-
- .item {
- display: flex;
- font-size: 13px;
- color: #D2E0FF;
- height: 80px !important;
-
- .icon {
- width: 40px;
- display: flex;
- flex-direction: column;
- align-items: center;
- padding-top: 10px;
-
- .circle {
- width: 7px;
- height: 7px;
- border-radius: 50%;
- background: #01D9FE;
- box-shadow: 0px 0px 1px 4px #34788f;
- /* opacity: 0.52; */
- }
-
- .line {
- margin-top: 3px;
- width: 1px;
+ .content {
flex: 1;
- background-color: #153947;
+
+ .header {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+
+ .time {
+ display: flex;
+ align-items: center;
+
+ .status {
+ height: 18px;
+ line-height: 18px;
+ border-radius: 2px;
+ padding: 2px 4px;
+ border: 1px solid #869CC9;
+ font-size: 12px;
+ margin-left: 8px;
+ }
+ }
+
+ .have_time {
+ font-size: 12px;
+ color: #D2E0FF;
+
+ span {
+ color: #FEAF01;
+ }
+ }
+ }
+
+ .wrap {
+ height: 34px;
+ background: linear-gradient(270deg, rgba(254, 85, 1, 0) 0%, rgba(254, 85, 1, 0.19) 100%);
+ border-radius: 2px 0px 0px 2px;
+ display: flex;
+ align-items: center;
+ border: 1px solid;
+ margin-bottom: 20px;
+ margin-top: 8px;
+ padding: 0 10px;
+ border-image: linear-gradient(270deg, rgba(254, 85, 1, 0), rgba(254, 85, 1, 0.6)) 1 1;
+
+ .title {
+ flex: 4;
+ font-weight: bold;
+ font-size: 15px;
+ color: #FFFFFF;
+ display: flex;
+ align-items: center;
+
+ span {
+ margin-left: 4px;
+ }
+
+ .xf {
+ width: 14px;
+ height: 14px;
+ }
+
+ .addr {
+ width: 12px;
+ height: 12px;
+ }
+ }
+
+ .address {
+ flex: 6;
+ }
+ }
+ }
+ }
+ }
+
+ .dispose_wrap {
+ height: 210px;
+ width: 100%;
+ position: relative;
+
+ .tips {
+ width: 100%;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ position: absolute;
+ top: 0;
+ left: 0;
+ .tips_title {
+ display: flex;
+ align-items: center;
+ img {
+ width: 17px;
+ height: 17px;
+ margin-right: 7px;
+ }
+ span {
+ font-weight: 500;
+ font-size: 16px;
+ color: #FFFFFF;
+ }
}
}
- .content {
- flex: 1;
+ .echart2 {
+ width: 100%;
+ height: 100%;
+ }
+ }
- .header {
+ .police_wrap {
+ padding: 15px 0;
+ height: 225px;
+
+ .item {
+ margin-bottom: 5px;
+
+ .head {
display: flex;
justify-content: space-between;
align-items: center;
-
- .time {
- display: flex;
- align-items: center;
-
- .status {
- height: 18px;
- line-height: 18px;
- border-radius: 2px;
- padding: 2px 4px;
- border: 1px solid #869CC9;
- font-size: 12px;
- margin-left: 8px;
- }
- }
-
- .have_time {
- font-size: 12px;
- color: #D2E0FF;
-
- span {
- color: #FEAF01;
- }
- }
- }
-
- .wrap {
- height: 34px;
- background: linear-gradient(270deg, rgba(254, 85, 1, 0) 0%, rgba(254, 85, 1, 0.19) 100%);
- border-radius: 2px 0px 0px 2px;
- display: flex;
- align-items: center;
- border: 1px solid;
- margin-bottom: 20px;
- margin-top: 8px;
- padding: 0 10px;
- border-image: linear-gradient(270deg, rgba(254, 85, 1, 0), rgba(254, 85, 1, 0.6)) 1 1;
-
- .title {
- flex: 4;
- font-weight: bold;
- font-size: 15px;
- color: #FFFFFF;
- display: flex;
- align-items: center;
-
- span {
- margin-left: 4px;
- }
-
- .xf {
- width: 14px;
- height: 14px;
- }
-
- .addr {
- width: 12px;
- height: 12px;
- }
- }
-
- .address {
- flex: 6;
- }
+ font-size: 16px;
+ color: #FFFFFF;
+ margin-bottom: 8px;
}
}
}
+
}
}
}
@@ -1886,4 +1985,4 @@
object-fit: cover;
z-index: -1;
}
-</style>
\ No newline at end of file
+</style>
--
Gitblit v1.9.3