From bbc3b7e9f89369a26eb12deeb10cbd113e6dc02a Mon Sep 17 00:00:00 2001 From: web <candymxq888@outlook.com> Date: 星期一, 30 六月 2025 17:29:08 +0800 Subject: [PATCH] fix:修改模板那 --- src/assets/images/screen/btnbg-active.png | 0 src/assets/images/screen/ct-small.png | 0 src/assets/images/screen/head.png | 0 src/views/screen/data.vue | 130 ++++++++++++++ src/assets/images/screen/content_bg.png | 0 src/views/screen/index.vue | 230 +++++++++++++++++++++++++ src/assets/images/map-bg.png | 0 src/assets/images/screen/btnbg.png | 0 src/router/index.js | 6 src/assets/images/screen/ct-large.png | 0 /dev/null | 0 src/views/screen/device.vue | 129 ++++++++++++++ src/screen/index.vue | 44 ++-- src/assets/images/screen/ct-default.png | 0 14 files changed, 511 insertions(+), 28 deletions(-) diff --git a/src/assets/images/map-bg.png b/src/assets/images/map-bg.png index 474c290..c54e86a 100644 --- a/src/assets/images/map-bg.png +++ b/src/assets/images/map-bg.png Binary files differ diff --git a/src/assets/images/messageInfo-box.png b/src/assets/images/messageInfo-box.png deleted file mode 100644 index b371547..0000000 --- a/src/assets/images/messageInfo-box.png +++ /dev/null Binary files differ diff --git a/src/assets/images/point.png b/src/assets/images/point.png deleted file mode 100644 index 6258ce3..0000000 --- a/src/assets/images/point.png +++ /dev/null Binary files differ diff --git a/src/assets/images/screen/btnbg-active.png b/src/assets/images/screen/btnbg-active.png index 7221d38..8d40db6 100644 --- a/src/assets/images/screen/btnbg-active.png +++ b/src/assets/images/screen/btnbg-active.png Binary files differ diff --git a/src/assets/images/screen/btnbg.png b/src/assets/images/screen/btnbg.png index 0f38a44..1d36269 100644 --- a/src/assets/images/screen/btnbg.png +++ b/src/assets/images/screen/btnbg.png Binary files differ diff --git a/src/assets/images/screen/content_bg.png b/src/assets/images/screen/content_bg.png index 96b7f87..d73bb75 100644 --- a/src/assets/images/screen/content_bg.png +++ b/src/assets/images/screen/content_bg.png Binary files differ diff --git a/src/assets/images/screen/ct-default.png b/src/assets/images/screen/ct-default.png new file mode 100644 index 0000000..c09ddfc --- /dev/null +++ b/src/assets/images/screen/ct-default.png Binary files differ diff --git a/src/assets/images/screen/ct-large.png b/src/assets/images/screen/ct-large.png new file mode 100644 index 0000000..5dbf620 --- /dev/null +++ b/src/assets/images/screen/ct-large.png Binary files differ diff --git a/src/assets/images/screen/ct-small.png b/src/assets/images/screen/ct-small.png new file mode 100644 index 0000000..9e881fc --- /dev/null +++ b/src/assets/images/screen/ct-small.png Binary files differ diff --git a/src/assets/images/screen/head.png b/src/assets/images/screen/head.png index 84c2b86..ffa903c 100644 --- a/src/assets/images/screen/head.png +++ b/src/assets/images/screen/head.png Binary files differ diff --git a/src/router/index.js b/src/router/index.js index 6395b0e..4a15b6a 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -2,7 +2,7 @@ * @Author: Liuyi candymxq888@outlook.com * @Date: 2024-08-06 14:47:41 * @LastEditors: web candymxq888@outlook.com - * @LastEditTime: 2025-06-19 15:01:44 + * @LastEditTime: 2025-06-30 14:58:22 * @FilePath: \water-qinghe-web\src\router\index.js * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE */ @@ -79,6 +79,10 @@ { path: 'device', component: () => import('@/views/screen/device.vue') + }, + { + path: 'data', + component: () => import('@/views/screen/data.vue') } ] }, diff --git a/src/screen/index.vue b/src/screen/index.vue index 0226b27..643c9a8 100644 --- a/src/screen/index.vue +++ b/src/screen/index.vue @@ -2,7 +2,7 @@ <div class="main"> <div class="header"> <div class="top"> - <!-- <div class="title">丰都气体检测大屏</div> --> + <div class="title">化粪池安全监控智能处置系统</div> <div class="time"> <span>{{ nowTime.date }}</span> <span>{{ nowTime.time }}</span> @@ -67,8 +67,8 @@ const btnList = ref([ {name:'首页总览',url:'/screen/home'}, {name:'设备管理',url:'/screen/device'}, - {name:'报表管理',url:''}, - {name:'系统监管',url:'/user'}, + {name:'数据统计',url:'/screen/data'}, + {name:'平台配置',url:'/user'}, ]) const navTo = (item) =>{ @@ -112,33 +112,34 @@ height: 100%; min-height: 1080px; position: relative; + background-color: #000; .header{ width: 100%; - height: 10%; + height: 8%; + background-image: url("../assets/images/screen/head.png"); + background-size: 100% 100%; + background-repeat: no-repeat; + position: relative; + z-index: 100; .top{ - position: relative; - z-index: 100; width: 100%; height: 5.5rem; - background-image: url("../assets/images/screen/head.png"); - background-size: 100% 100%; - background-repeat: no-repeat; .title{ - width: 57rem; - height: 2rem; + width: 45rem; + height: 5rem; position: absolute; - left:calc(50% - 28.5rem); + left:calc(50% - 22.5rem); text-align: center; font-size: 1.6rem; font-weight: 800; color: #F9FBFF; - line-height: 70px; + line-height: 5rem; text-shadow:0 0 3px rgba(255,255,255,0.7); } .time{ position: absolute; width: 13rem; - top: 0.5rem; + top: 1rem; left: 2rem; display: flex; justify-content: space-between; @@ -173,7 +174,7 @@ position: absolute; width: 3rem; height: 2rem; - top: 0.5rem; + top: 1rem; right: 2rem; display: flex; justify-content: space-between; @@ -216,8 +217,8 @@ .nav{ position: relative; z-index: 110; - width: 80%; - margin: -4.5rem auto; + width: 63%; + margin: -3rem auto; display: flex; justify-content: space-between; align-items: center; @@ -242,8 +243,8 @@ } .plain{ width: 10rem; - height: 3.5rem; - line-height: 3.5rem; + height: 3rem; + line-height: 3rem; background-image: url("../assets/images/screen/btnbg.png"); background-size: 100% 100%; text-align: center; @@ -255,7 +256,10 @@ } .content{ width: 100%; - height: 90%; + height: 92%; + background: url("../assets/images/screen/content_bg.png") no-repeat; + background-size: 100% 100%; + padding: 1rem 1.5rem 1.5rem; } } </style> \ No newline at end of file diff --git a/src/views/screen/data.vue b/src/views/screen/data.vue new file mode 100644 index 0000000..9bb46ae --- /dev/null +++ b/src/views/screen/data.vue @@ -0,0 +1,130 @@ +<template> + <div class="data"> + <div class="data-l"> + <div class="left"> + <div class="left-item"> + <div class="item-t">报警次数</div> + <div class="item-c"></div> + </div> + <div class="left-item"> + <div class="item-t">街道统计</div> + <div class="item-c"></div> + </div> + </div> + </div> + <div class="data-c"> + <div class="center"> + <div class="center-item"> + <div class="item-t">报警记录</div> + <div class="item-c"></div> + </div> + <div class="center-item"> + <div class="item-t">气体浓度监测曲线</div> + <div class="item-c"></div> + </div> + </div> + </div> + <div class="data-r"> + <div class="right"> + <div class="right-item"> + <div class="item-t">短信报警</div> + <div class="item-c"></div> + </div> + <div class="right-item"> + <div class="item-t">邮箱报警</div> + <div class="item-c"></div> + </div> + </div> + </div> + </div> +</template> + +<script setup> + +</script> + +<style scoped lang="scss"> + .data{ + height: 100%; + color: #fff; + display: flex; + justify-content: space-between; + &-l{ + width: 25%; + height: 100%; + .left{ + height: 100%; + display: flex; + flex-direction: column; + justify-content: space-between; + .left-item{ + width: 100%; + height: 49%; + background-image: url('@/assets/images/screen/ct-default.png'); + background-size: 100% 100%; + background-repeat: no-repeat; + .item-t{ + width: 100%; + height: 3rem; + line-height: 3rem; + padding-left: 3.5rem; + } + .item-c{ + height: calc(100% - 3rem); + padding: 0.5rem; + } + } + } + } + &-c{ + width: 49%; + height: 100%; + .center{ + height: 100%; + display: flex; + flex-direction: column; + justify-content: space-between; + .center-item{ + height: 49%; + background-image: url('@/assets/images/screen/ct-large.png'); + background-size: 100% 100%; + background-repeat: no-repeat; + .item-t{ + height: 3rem; + line-height: 3rem; + padding-left: 4.5rem; + } + .item-c{ + height: calc(100% - 3rem); + padding: 0.5rem; + } + } + } + } + &-r{ + width: 25%; + height: 100%; + .right{ + height: 100%; + display: flex; + flex-direction: column; + justify-content: space-between; + .right-item{ + height: 49%; + background-image: url('@/assets/images/screen/ct-default.png'); + background-size: 100% 100%; + background-repeat: no-repeat; + .item-t{ + height: 3rem; + line-height: 3rem; + padding-left: 3rem; + } + .item-c{ + height: calc(100% - 3rem); + padding: 0.5rem; + } + } + } + } + } +</style> \ No newline at end of file diff --git a/src/views/screen/device.vue b/src/views/screen/device.vue index 74184ac..6e39e63 100644 --- a/src/views/screen/device.vue +++ b/src/views/screen/device.vue @@ -1,6 +1,49 @@ <template> <div class="device"> - 设备 + <div class="device-l"> + <div class="left"> + <div class="left-item"> + <div class="item-t">设备时长</div> + <div class="item-c"></div> + </div> + <div class="left-item"> + <div class="item-t">风机管理</div> + <div class="item-c"></div> + </div> + <div class="left-item"> + <div class="item-t">工单处理</div> + <div class="item-c"></div> + </div> + <div class="left-item"> + <div class="item-t">设备状态</div> + <div class="item-c"></div> + </div> + </div> + </div> + <div class="device-c"> + <div class="center"> + <div class="center-item"> + <div class="item-t">实时数据</div> + <div class="item-c"></div> + </div> + <div class="center-item"> + <div class="item-t">终端监控分类曲线</div> + <div class="item-c"></div> + </div> + </div> + </div> + <div class="device-r"> + <div class="right"> + <div class="right-item"> + <div class="item-t">风机状态</div> + <div class="item-c"></div> + </div> + <div class="right-item"> + <div class="item-t">设备报警</div> + <div class="item-c"></div> + </div> + </div> + </div> </div> </template> @@ -9,5 +52,87 @@ </script> <style scoped lang="scss"> - + .device{ + height: 100%; + color: #fff; + display: flex; + justify-content: space-between; + &-l{ + width: 25%; + height: 100%; + .left{ + height: 100%; + display: flex; + flex-direction: column; + justify-content: space-between; + .left-item{ + width: 100%; + height: 24%; + background-image: url('@/assets/images/screen/ct-small.png'); + background-size: 100% 100%; + background-repeat: no-repeat; + .item-t{ + width: 100%; + height: 3rem; + line-height: 3rem; + padding-left: 3.5rem; + } + .item-c{ + height: calc(100% - 3rem); + padding: 0.5rem; + } + } + } + } + &-c{ + width: 49%; + height: 100%; + .center{ + height: 100%; + display: flex; + flex-direction: column; + justify-content: space-between; + .center-item{ + height: 49%; + background-image: url('@/assets/images/screen/ct-large.png'); + background-size: 100% 100%; + background-repeat: no-repeat; + .item-t{ + height: 3rem; + line-height: 3rem; + padding-left: 4.5rem; + } + .item-c{ + height: calc(100% - 3rem); + padding: 0.5rem; + } + } + } + } + &-r{ + width: 25%; + height: 100%; + .right{ + height: 100%; + display: flex; + flex-direction: column; + justify-content: space-between; + .right-item{ + height: 49%; + background-image: url('@/assets/images/screen/ct-default.png'); + background-size: 100% 100%; + background-repeat: no-repeat; + .item-t{ + height: 3rem; + line-height: 3rem; + padding-left: 3rem; + } + .item-c{ + height: calc(100% - 3rem); + padding: 0.5rem; + } + } + } + } + } </style> \ No newline at end of file diff --git a/src/views/screen/index.vue b/src/views/screen/index.vue index 35ae653..7b55682 100644 --- a/src/views/screen/index.vue +++ b/src/views/screen/index.vue @@ -1,14 +1,88 @@ <template> <div class="home"> + <!-- 虚化盒子 --> + <div class="blurBox"></div> <!-- 顶部菜单占位符 --> <div class="home-t"></div> - <div class="home-content">11</div> + <div class="home-content"> + <div class="hc-info"> + <div class="shebei item"> + <div class="item-t">辖区内设备数统计</div> + <div class="item-c"> + <div class="shebei-head"> + <div>辖区位置</div> + <div>甲烷传感器</div> + <div>硫化氢传感器</div> + <div>中端控制器</div> + <div>风机设备</div> + <div>总设备数</div> + </div> + <div class="shebei-conetnt"> + <div class="list"> + <div class="listV"> + <div>龙城大道</div> + <div>5台</div> + <div>5台</div> + <div>5台</div> + <div>5台</div> + <div>5台</div> + </div> + <div class="listV"> + <div>龙城大道</div> + <div>5台</div> + <div>5台</div> + <div>5台</div> + <div>5台</div> + <div>5台</div> + </div> + </div> + </div> + </div> + </div> + <div class="gongdan item"> + <div class="item-t">未处理工单统计</div> + <div class="item-c"> + <div class="gongdan-head"> + <div class="no">工单号</div> + <div class="type">工单类型</div> + <div class="time">上报时间</div> + <div class="user">上报人</div> + <div class="address">所属地址</div> + <div class="status">工单状态</div> + </div> + <div class="gongdan-content"> + <div class="list"> + <div class="listV"> + <div class="no">001</div> + <div class="type">设备维修</div> + <div class="time">2025/06/23</div> + <div class="user">监测设备终端</div> + <div class="address"> + <el-tooltip + class="box-item" + effect="dark" + content="重庆市丰都县龙城大道288号" + placement="top" + > + 重庆市丰都县龙城大道288号 + </el-tooltip> + </div> + <div class="status"><el-button type="danger" size="small">未处理</el-button></div> + </div> + </div> + </div> + </div> + </div> + </div> + </div> </div> </template> <script setup> import { ref } from 'vue' + + </script> @@ -16,18 +90,164 @@ .home{ position: absolute; left: 0; - top: 0; + top: 7%; width: 100%; - height: 100%; + height: 93%; background-image: url('@/assets/images/map-bg.png'); background-size: 100% 100%; background-repeat: no-repeat; z-index: 10; + .blurBox{ //模糊背景盒子覆盖图片 + position: absolute; + top: -1rem; + left: 0; + width: 100%; + height: 3%; + background-color: #000; + filter: blur(10px); + } &-t{ - height: 10%; + height: 1%; } &-content{ - height: 90%; + height: 99%; + padding: 1rem 1.5rem 0; + position: relative; + .hc-info{ + position: absolute; + right: 0; + top: 1rem; + width: 30rem; + height: calc(100% - 1rem); + .item{ + width: 100%; + height: 48%; + background-image: url("@/assets/images/screen/ct-default.png"); + background-repeat: no-repeat; + background-size: 100% 100%; + &-t{ + color: #fff; + height: 3rem; + line-height: 3rem; + padding-left: 2.5rem; + } + &-c{ + color: #fff; + height: calc(100% - 3rem); + padding: 1rem 0.5rem; + } + } + .shebei{ + .shebei-head{ + height: 2rem; + line-height: 2rem; + display: flex; + justify-content: space-between; + font-size: 0.7rem; + >div{ + width: 16%; + flex-shrink: 0; + text-align: center; + } + } + .shebei-conetnt{ + height: calc(100% - 2rem); + .list{ + height: 100%; + overflow-y: scroll; + &::-webkit-scrollbar{ + display: none; + } + .listV{ + display: flex; + justify-content: space-between; + font-size: 0.7rem; + padding: 0.5rem 0; + background-color: #081C3F; + >div{ + width: 16%; + flex-shrink: 0; + text-align: center; + } + } + } + } + } + .gongdan{ + margin-top: 1rem; + .gongdan-head{ + height: 2rem; + line-height: 2rem; + display: flex; + justify-content: space-between; + font-size: 0.7rem; + >div{ + flex-shrink: 0; + text-align: center; + } + .no{ + width: 8%; + } + .type{ + width: 12%; + } + .time{ + width: 15%; + } + .user{ + width: 20%; + } + .address{ + width: 30%; + } + .status{ + width: 15%; + } + } + .gongdan-content{ + .list{ + height: 100%; + overflow-y: scroll; + &::-webkit-scrollbar{ + display: none; + } + .listV{ + display: flex; + justify-content: space-between; + align-items: center; + font-size: 0.7rem; + padding: 0.5rem 0; + background-color: #081C3F; + >div{ + flex-shrink: 0; + text-align: center; + } + .no{ + width: 8%; + } + .type{ + width: 12%; + } + .time{ + width: 15%; + } + .user{ + width: 20%; + } + .address{ + width: 30%; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + } + .status{ + width: 15%; + } + } + } + } + } + } } } </style> \ No newline at end of file -- Gitblit v1.9.3