|
@@ -54,7 +54,7 @@
|
|
</div>
|
|
</div>
|
|
<div class="info-item">
|
|
<div class="info-item">
|
|
<div>水系站址:</div>
|
|
<div>水系站址:</div>
|
|
- <div>{{ selectRow.data3 }}</div>
|
|
|
|
|
|
+ <div>{{ selectRow.address }}</div>
|
|
</div>
|
|
</div>
|
|
<div class="info-item">
|
|
<div class="info-item">
|
|
<div>超警戒水位:</div>
|
|
<div>超警戒水位:</div>
|
|
@@ -62,7 +62,7 @@
|
|
</div>
|
|
</div>
|
|
<div class="info-item">
|
|
<div class="info-item">
|
|
<div>时间:</div>
|
|
<div>时间:</div>
|
|
- <div>{{ selectRow.data5 }}</div>
|
|
|
|
|
|
+ <div>{{ selectRow.time }}</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@@ -98,7 +98,7 @@
|
|
|
|
|
|
<script lang="ts" setup name="RiverMonitor">
|
|
<script lang="ts" setup name="RiverMonitor">
|
|
import { option1, option2 } from './echartOptions';
|
|
import { option1, option2 } from './echartOptions';
|
|
-import { getRiverCourseLevel, getRiverList, getRiverWaterStatus } from '@/api/globalMap/riverMonitor';
|
|
|
|
|
|
+import { getRainfallInfoByCode, getRiverCourseLevel, getRiverList, getRiverWaterStatus } from '@/api/globalMap/riverMonitor';
|
|
import { parseTime, validateNum } from '@/utils/ruoyi';
|
|
import { parseTime, validateNum } from '@/utils/ruoyi';
|
|
import { getVideoInfo } from '@/api/globalMap';
|
|
import { getVideoInfo } from '@/api/globalMap';
|
|
|
|
|
|
@@ -128,14 +128,6 @@ const initData = async () => {
|
|
initData();
|
|
initData();
|
|
|
|
|
|
// 弹窗数据
|
|
// 弹窗数据
|
|
-const detailData = reactive({
|
|
|
|
- name: '茂名',
|
|
|
|
- data1: '粤西沿海',
|
|
|
|
- data2: '粤西沿海诸河',
|
|
|
|
- data3: '广东省茂名市茂南区站',
|
|
|
|
- data4: '-1.32m',
|
|
|
|
- data5: '2024-08-23 10:00:00'
|
|
|
|
-});
|
|
|
|
let chartOption1 = ref(option1);
|
|
let chartOption1 = ref(option1);
|
|
let chartOption2 = ref(option2);
|
|
let chartOption2 = ref(option2);
|
|
let showDialog = ref(false);
|
|
let showDialog = ref(false);
|
|
@@ -155,25 +147,32 @@ const queryParams2 = reactive({
|
|
});
|
|
});
|
|
let selectRow = ref({
|
|
let selectRow = ref({
|
|
name: '',
|
|
name: '',
|
|
- waterDiff: ''
|
|
|
|
|
|
+ waterDiff: '',
|
|
|
|
+ address: '',
|
|
|
|
+ time: ''
|
|
});
|
|
});
|
|
const handleShowDialog = (row) => {
|
|
const handleShowDialog = (row) => {
|
|
showDialog.value = false;
|
|
showDialog.value = false;
|
|
- selectRow.value = {
|
|
|
|
- name: '',
|
|
|
|
- waterDiff: ''
|
|
|
|
- };
|
|
|
|
|
|
+ selectRow.value = row;
|
|
videoMonitorData.value = [];
|
|
videoMonitorData.value = [];
|
|
nextTick(() => {
|
|
nextTick(() => {
|
|
- chartOption1.value.xAxis.data = ['12时', '15时', '18时', '21时', '0时', '3时', '6时', '9时'];
|
|
|
|
- chartOption1.value.series[0].data = [123, 232, '', '', '', '', '', ''];
|
|
|
|
- chartOption1.value.series[1].data = [123, 232, '', '', '', '', '', ''];
|
|
|
|
- chartOption1.value.series[2].data = [123, 232, '', '', '', '', '', ''];
|
|
|
|
|
|
+ getRainfallInfoByCode(row.code).then((res) => {
|
|
|
|
+ const data = res.data.rainfallHistory;
|
|
|
|
+ let arr1 = [];
|
|
|
|
+ let arr2 = [];
|
|
|
|
+ data.forEach((item) => {
|
|
|
|
+ arr1.push(item.hour);
|
|
|
|
+ arr2.push(item.value);
|
|
|
|
+ });
|
|
|
|
+ chartOption1.value.xAxis.data = arr1;
|
|
|
|
+ chartOption1.value.series[0].data = arr2;
|
|
|
|
+ chartOption1.value.series[1].data = arr2;
|
|
|
|
+ chartOption1.value.series[2].data = arr2;
|
|
|
|
+ });
|
|
getRiverCourseLevel({ code: row.code }).then((res) => {
|
|
getRiverCourseLevel({ code: row.code }).then((res) => {
|
|
const data = res.data.list;
|
|
const data = res.data.list;
|
|
const time = [];
|
|
const time = [];
|
|
const resultData = [];
|
|
const resultData = [];
|
|
- selectRow.value = data;
|
|
|
|
data.forEach((item) => {
|
|
data.forEach((item) => {
|
|
time.push(parseTime(item.time, '{h}'));
|
|
time.push(parseTime(item.time, '{h}'));
|
|
resultData.push(item.water_level);
|
|
resultData.push(item.water_level);
|
|
@@ -222,13 +221,14 @@ const handleShowDialog = (row) => {
|
|
background: url('@/assets/images/map/rightMenu/box2.png') no-repeat;
|
|
background: url('@/assets/images/map/rightMenu/box2.png') no-repeat;
|
|
background-size: 100% 100%;
|
|
background-size: 100% 100%;
|
|
padding: 11px;
|
|
padding: 11px;
|
|
|
|
+ overflow: auto;
|
|
.info-header {
|
|
.info-header {
|
|
- width: 167px;
|
|
|
|
|
|
+ width: 100%;
|
|
height: 30px;
|
|
height: 30px;
|
|
padding-left: 25px;
|
|
padding-left: 25px;
|
|
padding-top: 5px;
|
|
padding-top: 5px;
|
|
background: url(@/assets/images/map/rightMenu/titleBox1.png) no-repeat;
|
|
background: url(@/assets/images/map/rightMenu/titleBox1.png) no-repeat;
|
|
- background-size: 100% 100%;
|
|
|
|
|
|
+ background-size: 167px 30px;
|
|
.info-title {
|
|
.info-title {
|
|
font-size: 18px;
|
|
font-size: 18px;
|
|
}
|
|
}
|
|
@@ -240,11 +240,12 @@ const handleShowDialog = (row) => {
|
|
}
|
|
}
|
|
.info-item {
|
|
.info-item {
|
|
display: flex;
|
|
display: flex;
|
|
- align-items: center;
|
|
|
|
padding: 5px 0;
|
|
padding: 5px 0;
|
|
- white-space: nowrap;
|
|
|
|
- overflow: hidden;
|
|
|
|
- text-overflow: ellipsis;
|
|
|
|
|
|
+ div {
|
|
|
|
+ &:nth-child(1) {
|
|
|
|
+ flex-shrink: 0;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
.box1 {
|
|
.box1 {
|