|
@@ -14,7 +14,12 @@
|
|
</template>
|
|
</template>
|
|
</van-search>
|
|
</van-search>
|
|
<div class="box3">
|
|
<div class="box3">
|
|
- <Select v-model="area" :columns="district_type" canSelectAll @confirm="onSelectConfirm" />
|
|
|
|
|
|
+ <Select
|
|
|
|
+ v-model="area"
|
|
|
|
+ :columns="district_type"
|
|
|
|
+ canSelectAll
|
|
|
|
+ @confirm="onSelectConfirm"
|
|
|
|
+ />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<Map
|
|
<Map
|
|
@@ -58,8 +63,8 @@
|
|
header-cell-class-name="common-table-header"
|
|
header-cell-class-name="common-table-header"
|
|
:row-class-name="getTableRowClass"
|
|
:row-class-name="getTableRowClass"
|
|
>
|
|
>
|
|
- <el-table-column label="站点" prop="data1" align="center" />
|
|
|
|
- <el-table-column label="河流" prop="data2" align="center" />
|
|
|
|
|
|
+ <el-table-column label="站点" prop="address" align="center" />
|
|
|
|
+ <el-table-column label="河流" prop="name" align="center" />
|
|
<el-table-column label="时间" prop="data3" align="center" />
|
|
<el-table-column label="时间" prop="data3" align="center" />
|
|
<el-table-column label="水位(m)" prop="data4" align="center" />
|
|
<el-table-column label="水位(m)" prop="data4" align="center" />
|
|
<el-table-column label="超警戒(m)" prop="data5" align="center" sortable />
|
|
<el-table-column label="超警戒(m)" prop="data5" align="center" sortable />
|
|
@@ -68,24 +73,50 @@
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<script lang="ts" setup name="riverMonitor">
|
|
<script lang="ts" setup name="riverMonitor">
|
|
-import Map from '@/components/Map/index2.vue';
|
|
|
|
|
|
+import Map from "@/components/Map/index2.vue";
|
|
import searchImg from "@/assets/images/search.png";
|
|
import searchImg from "@/assets/images/search.png";
|
|
import { onMounted, reactive, ref } from "vue";
|
|
import { onMounted, reactive, ref } from "vue";
|
|
import { ElTable, ElTableColumn } from "element-plus";
|
|
import { ElTable, ElTableColumn } from "element-plus";
|
|
-import {useDict} from "@/utils/dict";
|
|
|
|
|
|
+import { useDict } from "@/utils/dict";
|
|
|
|
+import {
|
|
|
|
+ getRiverInform,
|
|
|
|
+ getRiverStatus
|
|
|
|
+} from "@/api/disasterRiskMonitor/riverInform";
|
|
|
|
|
|
-const { district_type } = toRefs<any>(useDict('district_type'));
|
|
|
|
|
|
+const { district_type } = toRefs<any>(useDict("district_type"));
|
|
let mapRef = ref();
|
|
let mapRef = ref();
|
|
let eventDetails = ref({});
|
|
let eventDetails = ref({});
|
|
let keyword = ref("");
|
|
let keyword = ref("");
|
|
let area = ref("");
|
|
let area = ref("");
|
|
-let tags = reactive([
|
|
|
|
- { name: "超堰顶", num: 1, icon: "icon1", checked: true },
|
|
|
|
- { name: "超警戒河道站", num: 1, icon: "icon2", checked: true },
|
|
|
|
- { name: "漫堤河道站", num: 2, icon: "icon3", checked: true },
|
|
|
|
- { name: "水文站", num: 6, icon: "icon4", checked: false },
|
|
|
|
- { name: "水位站", num: 5, icon: "icon5", checked: false }
|
|
|
|
|
|
+const riverStatus = ref();
|
|
|
|
+const tags = reactive([
|
|
|
|
+ { name: "", num: 0, icon: "icon1", checked: true },
|
|
|
|
+ { name: "", num: 0, icon: "icon2", checked: true },
|
|
|
|
+ { name: "", num: 0, icon: "icon3", checked: true },
|
|
|
|
+ { name: "水文站", num: 0, icon: "icon4", checked: false },
|
|
|
|
+ { name: "水位站", num: 0, icon: "icon5", checked: false }
|
|
]);
|
|
]);
|
|
|
|
+// let tags = reactive([
|
|
|
|
+// { name: "超堰顶", num: 1, icon: "icon1", checked: true },
|
|
|
|
+// { name: "超警戒河道站", num: 1, icon: "icon2", checked: true },
|
|
|
|
+// { name: "漫堤河道站", num: 2, icon: "icon3", checked: true },
|
|
|
|
+// { name: "水文站", num: 6, icon: "icon4", checked: false },
|
|
|
|
+// { name: "水位站", num: 5, icon: "icon5", checked: false }
|
|
|
|
+// ]);
|
|
|
|
+watch(
|
|
|
|
+ () => riverStatus.value,
|
|
|
|
+ newVal => {
|
|
|
|
+ if (newVal && newVal.length > 0) {
|
|
|
|
+ tags.forEach((tag, index) => {
|
|
|
|
+ if (newVal[index]) {
|
|
|
|
+ tag.name = newVal[index].type;
|
|
|
|
+ tag.num = newVal[index].value;
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ { immediate: true }
|
|
|
|
+);
|
|
let detailsData = ref({
|
|
let detailsData = ref({
|
|
text: "",
|
|
text: "",
|
|
dataList: []
|
|
dataList: []
|
|
@@ -118,180 +149,183 @@ let iconList = reactive({
|
|
size: [20, 20]
|
|
size: [20, 20]
|
|
}
|
|
}
|
|
});
|
|
});
|
|
-
|
|
|
|
-const onSelectConfirm = (data) => {
|
|
|
|
- initData();
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-const onSearchKeyword = val => {
|
|
|
|
- keyword.value = val;
|
|
|
|
- initData();
|
|
|
|
|
|
+const queryParams = ref({
|
|
|
|
+ current: "1",
|
|
|
|
+ size: 5,
|
|
|
|
+ query: {
|
|
|
|
+ area: ""
|
|
|
|
+ }
|
|
|
|
+});
|
|
|
|
+const getRiverList = () => {
|
|
|
|
+ getRiverInform(queryParams.value).then(res => {
|
|
|
|
+ detailsData.value.dataList = res.rows;
|
|
|
|
+ });
|
|
};
|
|
};
|
|
|
|
|
|
-const onSearchCancel = () => {
|
|
|
|
- keyword.value = "";
|
|
|
|
- initData();
|
|
|
|
-};
|
|
|
|
-const handleClickTag = item => {
|
|
|
|
- item.checked = !item.checked;
|
|
|
|
|
|
+const getRiverDetail = () => {
|
|
|
|
+ getRiverStatus().then(res => {
|
|
|
|
+ riverStatus.value = res.rows;
|
|
|
|
+ });
|
|
};
|
|
};
|
|
|
|
+getRiverDetail();
|
|
const initData = () => {
|
|
const initData = () => {
|
|
const dom = mapRef.value;
|
|
const dom = mapRef.value;
|
|
- detailsData.value = {
|
|
|
|
- text: "2024年10月30日 20:45,袂花江河段当前水位处于正常范围内,低于警戒水位。由于近期连续降雨,河道流量有所增加,但流速和流量仍在可控范围内。",
|
|
|
|
- dataList: [
|
|
|
|
- {
|
|
|
|
- data1: "茂南小东江超堰顶站",
|
|
|
|
- data2: "小东江",
|
|
|
|
- data3: "10月30日12:00",
|
|
|
|
- data4: 28.5,
|
|
|
|
- data5: -1.2,
|
|
|
|
- longitude: "110.908662",
|
|
|
|
- latitude: "21.671108",
|
|
|
|
- dataType: "1"
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- data1: "电白袂花江超警戒站",
|
|
|
|
- data2: "袂花江",
|
|
|
|
- data3: "10月30日13:00",
|
|
|
|
- data4: 27.3,
|
|
|
|
- data5: -1.5,
|
|
|
|
- longitude: "111.133971",
|
|
|
|
- latitude: "21.744637",
|
|
|
|
- dataType: "2"
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- data1: "信宜罗江漫堤站",
|
|
|
|
- data2: "罗江",
|
|
|
|
- data3: "10月30日14:00",
|
|
|
|
- data4: 25.6,
|
|
|
|
- data5: -2.0,
|
|
|
|
- longitude: "110.572589",
|
|
|
|
- latitude: "21.890757",
|
|
|
|
- dataType: "3"
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- data1: "化州鉴江漫堤站",
|
|
|
|
- data2: "鉴江",
|
|
|
|
- data3: "10月30日15:00",
|
|
|
|
- data4: 26.7,
|
|
|
|
- data5: -2.1,
|
|
|
|
- longitude: "110.661191",
|
|
|
|
- latitude: "21.573497",
|
|
|
|
- dataType: "3"
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- data1: "茂南小东江上游站",
|
|
|
|
- data2: "小东江",
|
|
|
|
- data3: "10月30日11:00",
|
|
|
|
- data4: 27.9,
|
|
|
|
- data5: -2.1,
|
|
|
|
- longitude: "110.908662",
|
|
|
|
- latitude: "21.671108",
|
|
|
|
- dataType: "4"
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- data1: "电白袂花江下游站",
|
|
|
|
- data2: "袂花江",
|
|
|
|
- data3: "10月30日14:00",
|
|
|
|
- data4: 27.5,
|
|
|
|
- data5: -1.5,
|
|
|
|
- longitude: "111.133971",
|
|
|
|
- latitude: "21.744637",
|
|
|
|
- dataType: "4"
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- data1: "信宜罗江支流站",
|
|
|
|
- data2: "罗江",
|
|
|
|
- data3: "10月30日13:00",
|
|
|
|
- data4: 25.8,
|
|
|
|
- data5: -2.0,
|
|
|
|
- longitude: "110.572589",
|
|
|
|
- latitude: "21.890757",
|
|
|
|
- dataType: "4"
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- data1: "化州鉴江支流站",
|
|
|
|
- data2: "鉴江",
|
|
|
|
- data3: "10月30日12:00",
|
|
|
|
- data4: 26.9,
|
|
|
|
- data5: -2.1,
|
|
|
|
- longitude: "110.664431",
|
|
|
|
- latitude: "21.661873",
|
|
|
|
- dataType: "4"
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- data1: "茂南小东江下游站",
|
|
|
|
- data2: "小东江",
|
|
|
|
- data3: "10月30日15:00",
|
|
|
|
- data4: 28.2,
|
|
|
|
- data5: -1.3,
|
|
|
|
- longitude: "110.908662",
|
|
|
|
- latitude: "21.671108",
|
|
|
|
- dataType: "4"
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- data1: "电白袂花江上游站",
|
|
|
|
- data2: "袂花江",
|
|
|
|
- data3: "10月30日12:00",
|
|
|
|
- data4: 27.7,
|
|
|
|
- data5: -1.8,
|
|
|
|
- longitude: "110.92052",
|
|
|
|
- latitude: "21.579965",
|
|
|
|
- dataType: "4"
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- data1: "信宜罗江主站",
|
|
|
|
- data2: "罗江",
|
|
|
|
- data3: "10月30日11:00",
|
|
|
|
- data4: 25.4,
|
|
|
|
- data5: -1.9,
|
|
|
|
- longitude: "110.572589",
|
|
|
|
- latitude: "21.890757",
|
|
|
|
- dataType: "5"
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- data1: "化州鉴江主站",
|
|
|
|
- data2: "鉴江",
|
|
|
|
- data3: "10月30日10:00",
|
|
|
|
- data4: 26.5,
|
|
|
|
- data5: -2.2,
|
|
|
|
- longitude: "110.641206",
|
|
|
|
- latitude: "21.605162",
|
|
|
|
- dataType: "5"
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- data1: "茂南小东江中游站",
|
|
|
|
- data2: "小东江",
|
|
|
|
- data3: "10月30日13:00",
|
|
|
|
- data4: 28.1,
|
|
|
|
- data5: -1.4,
|
|
|
|
- longitude: "110.908662",
|
|
|
|
- latitude: "21.671108",
|
|
|
|
- dataType: "5"
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- data1: "电白袂花江中游站",
|
|
|
|
- data2: "袂花江",
|
|
|
|
- data3: "10月30日11:00",
|
|
|
|
- data4: 27.4,
|
|
|
|
- data5: -1.6,
|
|
|
|
- longitude: "110.92052",
|
|
|
|
- latitude: "21.579965",
|
|
|
|
- dataType: "5"
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- data1: "信宜罗江支流下游站",
|
|
|
|
- data2: "罗江",
|
|
|
|
- data3: "10月30日15:00",
|
|
|
|
- data4: 25.9,
|
|
|
|
- data5: -2.1,
|
|
|
|
- longitude: "110.572589",
|
|
|
|
- latitude: "21.890757",
|
|
|
|
- dataType: "5"
|
|
|
|
- }
|
|
|
|
- ]
|
|
|
|
- };
|
|
|
|
|
|
+ getRiverList();
|
|
|
|
+ detailsData.value.text =
|
|
|
|
+ "2024年10月30日 20:45,袂花江河段当前水位处于正常范围内,低于警戒水位。由于近期连续降雨,河道流量有所增加,但流速和流量仍在可控范围内。";
|
|
|
|
+ // dataList: [
|
|
|
|
+ // {
|
|
|
|
+ // data1: "茂南小东江超堰顶站",
|
|
|
|
+ // data2: "小东江",
|
|
|
|
+ // data3: "10月30日12:00",
|
|
|
|
+ // data4: 28.5,
|
|
|
|
+ // data5: -1.2,
|
|
|
|
+ // longitude: "110.908662",
|
|
|
|
+ // latitude: "21.671108",
|
|
|
|
+ // dataType: "1"
|
|
|
|
+ // },
|
|
|
|
+ // {
|
|
|
|
+ // data1: "电白袂花江超警戒站",
|
|
|
|
+ // data2: "袂花江",
|
|
|
|
+ // data3: "10月30日13:00",
|
|
|
|
+ // data4: 27.3,
|
|
|
|
+ // data5: -1.5,
|
|
|
|
+ // longitude: "111.133971",
|
|
|
|
+ // latitude: "21.744637",
|
|
|
|
+ // dataType: "2"
|
|
|
|
+ // },
|
|
|
|
+ // {
|
|
|
|
+ // data1: "信宜罗江漫堤站",
|
|
|
|
+ // data2: "罗江",
|
|
|
|
+ // data3: "10月30日14:00",
|
|
|
|
+ // data4: 25.6,
|
|
|
|
+ // data5: -2.0,
|
|
|
|
+ // longitude: "110.572589",
|
|
|
|
+ // latitude: "21.890757",
|
|
|
|
+ // dataType: "3"
|
|
|
|
+ // },
|
|
|
|
+ // {
|
|
|
|
+ // data1: "化州鉴江漫堤站",
|
|
|
|
+ // data2: "鉴江",
|
|
|
|
+ // data3: "10月30日15:00",
|
|
|
|
+ // data4: 26.7,
|
|
|
|
+ // data5: -2.1,
|
|
|
|
+ // longitude: "110.661191",
|
|
|
|
+ // latitude: "21.573497",
|
|
|
|
+ // dataType: "3"
|
|
|
|
+ // },
|
|
|
|
+ // {
|
|
|
|
+ // data1: "茂南小东江上游站",
|
|
|
|
+ // data2: "小东江",
|
|
|
|
+ // data3: "10月30日11:00",
|
|
|
|
+ // data4: 27.9,
|
|
|
|
+ // data5: -2.1,
|
|
|
|
+ // longitude: "110.908662",
|
|
|
|
+ // latitude: "21.671108",
|
|
|
|
+ // dataType: "4"
|
|
|
|
+ // },
|
|
|
|
+ // {
|
|
|
|
+ // data1: "电白袂花江下游站",
|
|
|
|
+ // data2: "袂花江",
|
|
|
|
+ // data3: "10月30日14:00",
|
|
|
|
+ // data4: 27.5,
|
|
|
|
+ // data5: -1.5,
|
|
|
|
+ // longitude: "111.133971",
|
|
|
|
+ // latitude: "21.744637",
|
|
|
|
+ // dataType: "4"
|
|
|
|
+ // },
|
|
|
|
+ // {
|
|
|
|
+ // data1: "信宜罗江支流站",
|
|
|
|
+ // data2: "罗江",
|
|
|
|
+ // data3: "10月30日13:00",
|
|
|
|
+ // data4: 25.8,
|
|
|
|
+ // data5: -2.0,
|
|
|
|
+ // longitude: "110.572589",
|
|
|
|
+ // latitude: "21.890757",
|
|
|
|
+ // dataType: "4"
|
|
|
|
+ // },
|
|
|
|
+ // {
|
|
|
|
+ // data1: "化州鉴江支流站",
|
|
|
|
+ // data2: "鉴江",
|
|
|
|
+ // data3: "10月30日12:00",
|
|
|
|
+ // data4: 26.9,
|
|
|
|
+ // data5: -2.1,
|
|
|
|
+ // longitude: "110.664431",
|
|
|
|
+ // latitude: "21.661873",
|
|
|
|
+ // dataType: "4"
|
|
|
|
+ // },
|
|
|
|
+ // {
|
|
|
|
+ // data1: "茂南小东江下游站",
|
|
|
|
+ // data2: "小东江",
|
|
|
|
+ // data3: "10月30日15:00",
|
|
|
|
+ // data4: 28.2,
|
|
|
|
+ // data5: -1.3,
|
|
|
|
+ // longitude: "110.908662",
|
|
|
|
+ // latitude: "21.671108",
|
|
|
|
+ // dataType: "4"
|
|
|
|
+ // },
|
|
|
|
+ // {
|
|
|
|
+ // data1: "电白袂花江上游站",
|
|
|
|
+ // data2: "袂花江",
|
|
|
|
+ // data3: "10月30日12:00",
|
|
|
|
+ // data4: 27.7,
|
|
|
|
+ // data5: -1.8,
|
|
|
|
+ // longitude: "110.92052",
|
|
|
|
+ // latitude: "21.579965",
|
|
|
|
+ // dataType: "4"
|
|
|
|
+ // },
|
|
|
|
+ // {
|
|
|
|
+ // data1: "信宜罗江主站",
|
|
|
|
+ // data2: "罗江",
|
|
|
|
+ // data3: "10月30日11:00",
|
|
|
|
+ // data4: 25.4,
|
|
|
|
+ // data5: -1.9,
|
|
|
|
+ // longitude: "110.572589",
|
|
|
|
+ // latitude: "21.890757",
|
|
|
|
+ // dataType: "5"
|
|
|
|
+ // },
|
|
|
|
+ // {
|
|
|
|
+ // data1: "化州鉴江主站",
|
|
|
|
+ // data2: "鉴江",
|
|
|
|
+ // data3: "10月30日10:00",
|
|
|
|
+ // data4: 26.5,
|
|
|
|
+ // data5: -2.2,
|
|
|
|
+ // longitude: "110.641206",
|
|
|
|
+ // latitude: "21.605162",
|
|
|
|
+ // dataType: "5"
|
|
|
|
+ // },
|
|
|
|
+ // {
|
|
|
|
+ // data1: "茂南小东江中游站",
|
|
|
|
+ // data2: "小东江",
|
|
|
|
+ // data3: "10月30日13:00",
|
|
|
|
+ // data4: 28.1,
|
|
|
|
+ // data5: -1.4,
|
|
|
|
+ // longitude: "110.908662",
|
|
|
|
+ // latitude: "21.671108",
|
|
|
|
+ // dataType: "5"
|
|
|
|
+ // },
|
|
|
|
+ // {
|
|
|
|
+ // data1: "电白袂花江中游站",
|
|
|
|
+ // data2: "袂花江",
|
|
|
|
+ // data3: "10月30日11:00",
|
|
|
|
+ // data4: 27.4,
|
|
|
|
+ // data5: -1.6,
|
|
|
|
+ // longitude: "110.92052",
|
|
|
|
+ // latitude: "21.579965",
|
|
|
|
+ // dataType: "5"
|
|
|
|
+ // },
|
|
|
|
+ // {
|
|
|
|
+ // data1: "信宜罗江支流下游站",
|
|
|
|
+ // data2: "罗江",
|
|
|
|
+ // data3: "10月30日15:00",
|
|
|
|
+ // data4: 25.9,
|
|
|
|
+ // data5: -2.1,
|
|
|
|
+ // longitude: "110.572589",
|
|
|
|
+ // latitude: "21.890757",
|
|
|
|
+ // dataType: "5"
|
|
|
|
+ // }
|
|
|
|
+ // ]
|
|
|
|
+
|
|
detailsData.value.dataList.forEach(item => {
|
|
detailsData.value.dataList.forEach(item => {
|
|
const icon =
|
|
const icon =
|
|
item.dataType && !!iconList[item.dataType].image
|
|
item.dataType && !!iconList[item.dataType].image
|
|
@@ -305,6 +339,23 @@ const initData = () => {
|
|
});
|
|
});
|
|
dom.addMarker(detailsData.value.dataList);
|
|
dom.addMarker(detailsData.value.dataList);
|
|
};
|
|
};
|
|
|
|
+const onSelectConfirm = data => {
|
|
|
|
+ initData();
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+const onSearchKeyword = val => {
|
|
|
|
+ keyword.value = val;
|
|
|
|
+ initData();
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+const onSearchCancel = () => {
|
|
|
|
+ keyword.value = "";
|
|
|
|
+ initData();
|
|
|
|
+};
|
|
|
|
+const handleClickTag = item => {
|
|
|
|
+ item.checked = !item.checked;
|
|
|
|
+};
|
|
|
|
+
|
|
// table样式
|
|
// table样式
|
|
const getTableRowClass = ({ rowIndex }) => {
|
|
const getTableRowClass = ({ rowIndex }) => {
|
|
return rowIndex % 2 === 0 ? "" : "common-table-tr";
|
|
return rowIndex % 2 === 0 ? "" : "common-table-tr";
|