|
@@ -3,16 +3,16 @@
|
|
<div style="margin-top: 20px">更新时间:{{ ReservoirMonitorData.time }}</div>
|
|
<div style="margin-top: 20px">更新时间:{{ ReservoirMonitorData.time }}</div>
|
|
<div class="flex" style="margin-top: 20px">
|
|
<div class="flex" style="margin-top: 20px">
|
|
<div style="margin-right: 20px">
|
|
<div style="margin-right: 20px">
|
|
- <div>漫坝</div>
|
|
|
|
- {{ ReservoirMonitorData.data1 }}
|
|
|
|
|
|
+ <div>超警戒</div>
|
|
|
|
+ {{ ReservoirMonitorData.statusList[0] ? ReservoirMonitorData.statusList[0]?.value : '-' }}
|
|
</div>
|
|
</div>
|
|
<div style="margin-right: 20px">
|
|
<div style="margin-right: 20px">
|
|
- <div>超汛限</div>
|
|
|
|
- {{ ReservoirMonitorData.data2 }}
|
|
|
|
|
|
+ <div>超保证</div>
|
|
|
|
+ {{ ReservoirMonitorData.statusList[1] ? ReservoirMonitorData.statusList[1]?.value : '-' }}
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<div>
|
|
- <div>超堰顶(在溢洪)</div>
|
|
|
|
- {{ ReservoirMonitorData.data3 }}
|
|
|
|
|
|
+ <div>漫坝</div>
|
|
|
|
+ {{ ReservoirMonitorData.statusList[2] ? ReservoirMonitorData.statusList[2]?.value : '-' }}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<el-table :data="ReservoirMonitorData.listData" border style="width: 100%">
|
|
<el-table :data="ReservoirMonitorData.listData" border style="width: 100%">
|
|
@@ -25,13 +25,13 @@
|
|
</el-table-column>
|
|
</el-table-column>
|
|
<el-table-column prop="area" show-overflow-tooltip align="center">
|
|
<el-table-column prop="area" show-overflow-tooltip align="center">
|
|
<template #header>
|
|
<template #header>
|
|
- <el-select v-model="queryParams.area" placeholder="所属区县2" size="large">
|
|
|
|
|
|
+ <el-select v-model="queryParams.area" placeholder="所属区县" size="large" clearable @change="initData">
|
|
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value" />
|
|
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value" />
|
|
</el-select>
|
|
</el-select>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
<el-table-column prop="floodLimit" label="汛限水位(m)" show-overflow-tooltip sortable align="center" />
|
|
<el-table-column prop="floodLimit" label="汛限水位(m)" show-overflow-tooltip sortable align="center" />
|
|
- <el-table-column prop="waterStor" label="当前水位(m)" show-overflow-tooltip sortable align="center" />
|
|
|
|
|
|
+ <el-table-column prop="level" label="当前水位(m)" show-overflow-tooltip sortable align="center" />
|
|
<el-table-column prop="waterDiff" label="差值" show-overflow-tooltip sortable align="center" />
|
|
<el-table-column prop="waterDiff" label="差值" show-overflow-tooltip sortable align="center" />
|
|
</el-table>
|
|
</el-table>
|
|
<pagination
|
|
<pagination
|
|
@@ -45,7 +45,7 @@
|
|
<div class="flex">
|
|
<div class="flex">
|
|
<div class="detail-container">
|
|
<div class="detail-container">
|
|
<div class="flex">
|
|
<div class="flex">
|
|
- <div style="font-size: 44px;margin-right: 10px">{{ selectRow.name }}</div>
|
|
|
|
|
|
+ <div style="font-size: 44px; margin-right: 10px">{{ selectRow.name }}</div>
|
|
<div>{{ selectRow.address }}</div>
|
|
<div>{{ selectRow.address }}</div>
|
|
</div>
|
|
</div>
|
|
<div class="flex" style="justify-content: space-between">
|
|
<div class="flex" style="justify-content: space-between">
|
|
@@ -55,7 +55,7 @@
|
|
</div>
|
|
</div>
|
|
<div class="flex">
|
|
<div class="flex">
|
|
<div>当前水位</div>
|
|
<div>当前水位</div>
|
|
- <div>{{ selectRow.waterStor }}米</div>
|
|
|
|
|
|
+ <div>{{ selectRow.level }}米</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<div>
|
|
@@ -64,31 +64,23 @@
|
|
</div>
|
|
</div>
|
|
<div class="table-wrap">
|
|
<div class="table-wrap">
|
|
<div class="table-title">
|
|
<div class="table-title">
|
|
- <div
|
|
|
|
- class="title-item"
|
|
|
|
- v-for="(item, index) in tableTitle"
|
|
|
|
- :key="index"
|
|
|
|
- >
|
|
|
|
|
|
+ <div v-for="(item, index) in tableTitle" :key="index" class="title-item">
|
|
{{ item }}
|
|
{{ item }}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="content-wrap">
|
|
<div class="content-wrap">
|
|
- <div
|
|
|
|
- class="content-item"
|
|
|
|
- v-for="(item, index) in detailData"
|
|
|
|
- :key="index"
|
|
|
|
- >
|
|
|
|
|
|
+ <div v-for="(item, index) in detailData" :key="index" class="content-item">
|
|
<div class="time">{{ item.time }}</div>
|
|
<div class="time">{{ item.time }}</div>
|
|
- <div class="value">{{ item.waterStor }}</div>
|
|
|
|
|
|
+ <div class="value">{{ item.level }}</div>
|
|
<div class="value1">{{ item.inFlow ? item.inFlow : '-' }}</div>
|
|
<div class="value1">{{ item.inFlow ? item.inFlow : '-' }}</div>
|
|
<div class="value2">{{ item.ouFlow ? item.ouFlow : '-' }}</div>
|
|
<div class="value2">{{ item.ouFlow ? item.ouFlow : '-' }}</div>
|
|
<div
|
|
<div
|
|
class="waterunit"
|
|
class="waterunit"
|
|
:style="{
|
|
:style="{
|
|
- color: item.ss == '涨' ? '#fc5a5a' : item.ss == '落' ? '#00e9ea' : '#cbddff'
|
|
|
|
|
|
+ color: item.waterLevelStatus == '涨' ? '#fc5a5a' : item.waterLevelStatus == '落' ? '#00e9ea' : '#cbddff'
|
|
}"
|
|
}"
|
|
>
|
|
>
|
|
- {{ item.ss }}
|
|
|
|
|
|
+ {{ item.waterLevelStatus }}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@@ -112,10 +104,10 @@
|
|
<script lang="ts" setup name="ReservoirMonitor">
|
|
<script lang="ts" setup name="ReservoirMonitor">
|
|
import Dialog from '@/components/Dialog/index2.vue';
|
|
import Dialog from '@/components/Dialog/index2.vue';
|
|
import { option3 } from './echartOptions';
|
|
import { option3 } from './echartOptions';
|
|
-import { getEmergencyVideoCata } from '@/api/routineCommandMap';
|
|
|
|
-import { getReservoirCourseLevel, getReservoirList } from '@/api/globalMap/reservoirMonitor';
|
|
|
|
|
|
+import { getReservoirCourseLevel, getReservoirList, getReservoirWaterStatus } from '@/api/globalMap/reservoirMonitor';
|
|
import { parseTime } from '@/utils/ruoyi';
|
|
import { parseTime } from '@/utils/ruoyi';
|
|
import { getVideoInfo } from '@/api/globalMap';
|
|
import { getVideoInfo } from '@/api/globalMap';
|
|
|
|
+import { deepClone } from '@/utils';
|
|
|
|
|
|
const options = reactive([
|
|
const options = reactive([
|
|
{
|
|
{
|
|
@@ -150,17 +142,23 @@ let total = ref(0);
|
|
// 数据
|
|
// 数据
|
|
const ReservoirMonitorData = reactive({
|
|
const ReservoirMonitorData = reactive({
|
|
time: '',
|
|
time: '',
|
|
- data1: '',
|
|
|
|
- data2: '',
|
|
|
|
- data3: '',
|
|
|
|
|
|
+ statusList: [],
|
|
listData: []
|
|
listData: []
|
|
});
|
|
});
|
|
// 获取数据
|
|
// 获取数据
|
|
const initData = async () => {
|
|
const initData = async () => {
|
|
- getReservoirList(queryParams).then((res) => {
|
|
|
|
|
|
+ let newQueryParams = deepClone(queryParams);
|
|
|
|
+ newQueryParams.query = {
|
|
|
|
+ area: queryParams.area
|
|
|
|
+ };
|
|
|
|
+ delete newQueryParams.area;
|
|
|
|
+ getReservoirList(newQueryParams).then((res) => {
|
|
total.value = res.total;
|
|
total.value = res.total;
|
|
ReservoirMonitorData.listData = res.rows;
|
|
ReservoirMonitorData.listData = res.rows;
|
|
});
|
|
});
|
|
|
|
+ getReservoirWaterStatus().then((res) => {
|
|
|
|
+ ReservoirMonitorData.statusList = res.rows || [];
|
|
|
|
+ });
|
|
};
|
|
};
|
|
|
|
|
|
initData();
|
|
initData();
|
|
@@ -170,7 +168,7 @@ const selectRow = ref({
|
|
name: '',
|
|
name: '',
|
|
address: '',
|
|
address: '',
|
|
floodLimit: '',
|
|
floodLimit: '',
|
|
- waterStor: ''
|
|
|
|
|
|
+ level: ''
|
|
});
|
|
});
|
|
const detailData = ref([]);
|
|
const detailData = ref([]);
|
|
const tableTitle = ref(['时间', '库上水位(m)', '入库流量(m²/s)', '出库流量(m²/s)', '水势']);
|
|
const tableTitle = ref(['时间', '库上水位(m)', '入库流量(m²/s)', '出库流量(m²/s)', '水势']);
|
|
@@ -204,7 +202,7 @@ const handleShowDialog = (row) => {
|
|
|
|
|
|
data.forEach((item) => {
|
|
data.forEach((item) => {
|
|
time.push(parseTime(item.time, '{h}'));
|
|
time.push(parseTime(item.time, '{h}'));
|
|
- resultData.push(item.waterStor);
|
|
|
|
|
|
+ resultData.push(item.level);
|
|
inFlowData2.push(item.inFlow);
|
|
inFlowData2.push(item.inFlow);
|
|
outFlowData.push(item.outFlow);
|
|
outFlowData.push(item.outFlow);
|
|
item.time = parseTime(item.time, '{m}-{d} {h}:{i}');
|
|
item.time = parseTime(item.time, '{m}-{d} {h}:{i}');
|