From c6159b0a5a424250adeca1bc2b475da5324fe038 Mon Sep 17 00:00:00 2001 From: web <candymxq888@outlook.com> Date: 星期五, 18 四月 2025 17:16:30 +0800 Subject: [PATCH] fix:对接报表数据 --- src/views/screen/flow/graphic/index.vue | 112 +++++++++++++++++-------------------------------------- 1 files changed, 35 insertions(+), 77 deletions(-) diff --git a/src/views/screen/flow/graphic/index.vue b/src/views/screen/flow/graphic/index.vue index d1d2653..4d3ba4d 100644 --- a/src/views/screen/flow/graphic/index.vue +++ b/src/views/screen/flow/graphic/index.vue @@ -1,16 +1,13 @@ <script setup> -import {ref} from "vue"; +import {onMounted, ref} from "vue"; import {getUserType} from '@/utils/auth.js' import html2canvas from "html2canvas"; +import {getFlowPointList} from '@/api/screen/index' +const menuList = ref([]) const userType = ref(getUserType()) const monitorRef = ref() const searchVal = ref('') -const selectType = ref(1); -const typeOption = ref([ - { label: '水电站流量监测点', value: 1 }, - { label: '新扎口流量监测点', value: 2 }, -]) const video = ref() // 全屏操作 @@ -30,6 +27,22 @@ } } +const handleSearch = async () => { +} + + +// 获取监控点 +const getMoitorList = () => { + getFlowPointList().then(res => { + menuList.value = res.data + }) +} + + +onMounted(() => { + getMoitorList() +}) + </script> <template> @@ -37,39 +50,28 @@ <div class="graphic-menu"> <div class="menu-t">监控点列表</div> <el-menu class="el-menu"> - <el-sub-menu index="1"> - <template #title> - <span>可移动监测点</span> + <template v-for="(item, index) in menuList" :key="index+1"> + <template v-if="item?.childrenList?.length === 0"> + <el-menu-item :index="item.id">{{ item.pointName }}</el-menu-item> </template> - <el-menu-item index="1-1">水电站流量监测点</el-menu-item> - </el-sub-menu> - <el-sub-menu index="2"> - <template #title> - <span>固定位监测点</span> + <template v-else> + <el-sub-menu :index="item.id"> + <template #title> + <span>{{ item.pointName }}</span> + </template> + <el-menu-item v-for="(child, cidx) in item.childrenList" :key="cidx" :index="child.id"> + {{ child.pointName }} + </el-menu-item> + </el-sub-menu> </template> - <el-menu-item index="2-1">新扎口流量监测点</el-menu-item> - </el-sub-menu> + </template> </el-menu> </div> <div class="graphic-monitor"> <div class="monitor-tool"> <div class="tool-l"> - <div class="name">监测点类型</div> - <el-select - v-model="selectType" - class="tool-select" - placeholder="Select" - style="width: 15rem" - > - <el-option - v-for="item in typeOption" - :key="item.value" - :label="item.label" - :value="item.value" - /> - </el-select> <el-input v-model="searchVal" style="width: 20rem" placeholder="请输入监测点名称" /> - <el-button><el-icon><Search /></el-icon>搜索</el-button> + <el-button @click="handleSearch"><el-icon><Search /></el-icon>搜索</el-button> <el-button style="margin-left: 0" v-if="userType === '1'"><el-icon><Plus /></el-icon>新增</el-button> </div> <div class="tool-r" @click="handleFullScreen"> @@ -122,49 +124,6 @@ </div> </div> </div> - <div class="item"> - <div class="title">新扎口流量监测点</div> - <div class="videoBox"></div> - <div class="info"> - <div class="info-list"> - <div class="info-item"> - <div class="name">水位:</div> - <div class="val"><span>2332</span>m</div> - </div> - <div class="info-item"> - <div class="name">表面流速:</div> - <div class="val"><span>4.5</span>m/s</div> - </div> - <div class="info-item"> - <div class="name">水面宽度:</div> - <div class="val"><span>100</span>m</div> - </div> - <div class="info-item"> - <div class="name">平均流速:</div> - <div class="val"><span>4.5</span>m/s</div> - </div> - <div class="info-item"> - <div class="name">过水面积:</div> - <div class="val"><span>30</span>㎡</div> - </div> - <div class="info-item"> - <div class="name">雷达流速:</div> - <div class="val"><span>4.5</span>m/s</div> - </div> - <div class="info-item"> - <div class="name">实时流速:</div> - <div class="val"><span>120</span>㎡/s</div> - </div> - <div class="info-item"> - <div class="name">起点距:</div> - <div class="val"><span>500</span>m</div> - </div> - </div> - <div class="info-btn"> - <el-button style="width: 6rem">抓拍</el-button> - </div> - </div> - </div> </div> </div> </div> @@ -212,7 +171,6 @@ flex-shrink: 0; width: 80%; height: 100%; - background: linear-gradient( 180deg, #91BDDB 0%, rgba(102, 102, 102, 0.5) 100%); .monitor-tool{ width: 100%; height: 60px; @@ -240,6 +198,7 @@ } .monitor-box{ height: calc(100% - 60px); + background: linear-gradient(180deg, #91BDDB 0%, rgba(102, 102, 102, 0.5) 100%); .monitor-list{ height: 100%; display: flex; @@ -262,8 +221,7 @@ .videoBox{ width: 100%; height: 60%; - background: url("@/assets/images/login_icon.png") no-repeat; - background-size: 100% 100%; + background-color: #000; } .info{ width: 100%; -- Gitblit v1.9.3