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