web
2025-06-30 bbc3b7e9f89369a26eb12deeb10cbd113e6dc02a
fix:修改模板那
已删除2个文件
已添加4个文件
已修改9个文件
539 ■■■■■ 文件已修改
src/assets/images/map-bg.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/images/messageInfo-box.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/images/point.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/images/screen/btnbg-active.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/images/screen/btnbg.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/images/screen/content_bg.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/images/screen/ct-default.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/images/screen/ct-large.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/images/screen/ct-small.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/images/screen/head.png 补丁 | 查看 | 原始文档 | blame | 历史
src/router/index.js 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/screen/index.vue 44 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/screen/data.vue 130 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/screen/device.vue 129 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/screen/index.vue 230 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/images/map-bg.png

src/assets/images/messageInfo-box.png
Binary files differ
src/assets/images/point.png
Binary files differ
src/assets/images/screen/btnbg-active.png

src/assets/images/screen/btnbg.png

src/assets/images/screen/content_bg.png

src/assets/images/screen/ct-default.png
src/assets/images/screen/ct-large.png
src/assets/images/screen/ct-small.png
src/assets/images/screen/head.png

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')
      }
    ]
  },
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>
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>
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>
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>