Browse Source

feat:整编监控

master
waibao2 1 month ago
parent
commit
ffb7095305
  1. 3
      src/views/syslog/alarm/index.vue
  2. 10
      src/views/syslog/updatelog/index.vue
  3. 76
      src/views/syslog/zbmessage/index.vue

3
src/views/syslog/alarm/index.vue

@ -5,7 +5,8 @@
<el-form-item label="站点" prop="stnmId"> <el-form-item label="站点" prop="stnmId">
<el-select clearable filterable v-model="queryParams.stnmId" placeholder="请选择站点" @change="dataChange"> <el-select clearable filterable v-model="queryParams.stnmId" placeholder="请选择站点" @change="dataChange">
<el-option v-for="dict in stationList" :key="dict.stnmId" :label="dict.stnm" :value="dict.stnmId"></el-option> <el-option v-for="dict in stationList" :key="dict.stnmId" :label="dict.stnm" :value="dict.stnmId"></el-option>
</el-select> </el-form-item> </el-select>
</el-form-item>
<el-form-item label="测站类型" prop="sTypename"> <el-form-item label="测站类型" prop="sTypename">
<el-select v-model="queryParams.pType" placeholder="请选择测站类型" clearable @change="dataChange"> <el-select v-model="queryParams.pType" placeholder="请选择测站类型" clearable @change="dataChange">
<el-option v-for="dict in mainTypes" :key="dict.value" :label="dict.label" :value="dict.value"></el-option> <el-option v-for="dict in mainTypes" :key="dict.value" :label="dict.label" :value="dict.value"></el-option>

10
src/views/syslog/updatelog/index.vue

@ -26,7 +26,7 @@
</el-card> </el-card>
<div class="el-card-p card-shadow carder-border mt10 pad10 "> <div class="el-card-p card-shadow carder-border mt10 pad10 ">
<el-table class="table-box" v-table-height v-loading="loading" :data="dataList" border> <el-table class="table-box" v-table-height v-loading="loading" :data="dataList" border>
<el-table-column type="index" width="50" :align="alignment" label="序号" /> <el-table-column type="index" width="60" :align="alignment" label="序号" />
<el-table-column label="站点名称" :align="alignment" prop="stnm" /> <el-table-column label="站点名称" :align="alignment" prop="stnm" />
<el-table-column label="时间" :align="alignment"> <el-table-column label="时间" :align="alignment">
<template #default="scope"> <template #default="scope">
@ -55,9 +55,13 @@
</el-table> </el-table>
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.page" v-model:limit="queryParams.limit" @pagination="getList" /> <pagination v-show="total > 0" :total="total" v-model:page="queryParams.page" v-model:limit="queryParams.limit" @pagination="getList" />
</div> </div>
<el-dialog class="custom-dialog" :title="title" v-model="open" width="500px" append-to-body> <el-dialog class="custom-dialog" :title="title" v-model="open" width="700px" append-to-body>
<el-table v-loading="dialogLoading" :data="detailList" height="500"> <el-table v-loading="dialogLoading" :data="detailList" height="500">
<el-table-column prop="tm" label="操作时间" :align="alignment" width="180"> </el-table-column> <el-table-column label="操作时间" :align="alignment" width="180">
<template #default="scope">
<span>{{ parseTime(scope.row.tm) }}</span>
</template>
</el-table-column>
<el-table-column label="当前值" :align="alignment" prop="value"> </el-table-column> <el-table-column label="当前值" :align="alignment" prop="value"> </el-table-column>
<el-table-column label="历史值" :align="alignment" prop="exValue" /> <el-table-column label="历史值" :align="alignment" prop="exValue" />
</el-table> </el-table>

76
src/views/syslog/zbmessage/index.vue

@ -2,30 +2,28 @@
<div class="app-container app-container-bg"> <div class="app-container app-container-bg">
<el-card class="first-card" ref='firstCard' shadow="always"> <el-card class="first-card" ref='firstCard' shadow="always">
<el-form :model="queryParams" ref="queryForm" :inline="true" @submit.native.prevent> <el-form :model="queryParams" ref="queryForm" :inline="true" @submit.native.prevent>
<!-- <el-form-item label="站点" prop="stnmId"> <el-form-item label="站点" prop="stnmId">
<singleStationSelect ref="station" type="ALL" @submitForm="getList" /> <el-select clearable filterable v-model="queryParams.stnmId" placeholder="请选择站点" @change="dataChange">
</el-form-item> --> <el-option v-for="dict in stationList" :key="dict.stnmId" :label="dict.stnm" :value="dict.stnmId"></el-option>
</el-select>
</el-form-item>
<el-form-item label="归属地区" prop="code"> <el-form-item label="归属地区" prop="code">
<el-select class="menu-panel-select-item" v-model="queryParams.code" filterable placeholder="请选择" <el-select class="menu-panel-select-item" v-model="queryParams.code" filterable placeholder="请选择" style="width: 200px" :popper-append-to-body="false">
style="width: 200px" :popper-append-to-body="false"> <el-option v-for="item in stcdAreaOption" :label="item.fullName" :value="item.code" :key="item.code"></el-option>
<el-option v-for="item in stcdAreaOption" :label="item.fullName" :value="item.code"
:key="item.code"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="开始时间"> <el-form-item label="开始时间">
<el-date-picker v-model="queryParams.startTime" type="datetime" placeholder="选择开始时间" <el-date-picker v-model="queryParams.startTime" type="date" placeholder="选择开始时间" value-format="YYYY-MM-DD" class="w200">
value-format="yyyy-MM-dd HH:mm:ss" class="w200">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="结束时间"> <el-form-item label="结束时间">
<el-date-picker v-model="queryParams.endTime" type="datetime" placeholder="选择结束时间" <el-date-picker v-model="queryParams.endTime" type="date" placeholder="选择结束时间" value-format="YYYY-MM-DD" class="w200">
value-format="yyyy-MM-dd HH:mm:ss" class="w200">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="数据类型" prop="type"> <el-form-item label="数据类型" prop="type">
<el-select v-model="queryParams.type" placeholder="请选择状态" @change="dataChange"> <el-select v-model="queryParams.type" placeholder="请选择状态" @change="dataChange">
<el-option v-for="item in types" :key="item.value" :label="item.name" :value="item.value"> <el-option v-for="item in types" :key="item.value" :label="item.label" :value="item.value">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
@ -36,9 +34,8 @@
</el-form> </el-form>
</el-card> </el-card>
<div class="el-card-p card-shadow carder-border mt10 pad10 "> <div class="el-card-p card-shadow carder-border mt10 pad10 ">
<el-table class="table-box" v-table-height v-loading="loading" :data="dataList" <el-table class="table-box" v-table-height v-loading="loading" :data="dataList" @selection-change="handleSelectionChange">
@selection-change="handleSelectionChange"> <el-table-column type="index" width="60" :align="alignment" label="序号" />
<el-table-column width="50" :align="alignment" label="序号" />
<el-table-column label="站点名称" :align="alignment" prop="stnm" /> <el-table-column label="站点名称" :align="alignment" prop="stnm" />
<el-table-column label="时间" :align="alignment" prop="startTime" /> <el-table-column label="时间" :align="alignment" prop="startTime" />
<el-table-column label="数据类型" :align="alignment" prop="type"> </el-table-column> <el-table-column label="数据类型" :align="alignment" prop="type"> </el-table-column>
@ -52,8 +49,7 @@
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.page" <pagination v-show="total > 0" :total="total" v-model:page="queryParams.page" v-model:limit="queryParams.limit" @pagination="getList" />
v-model:limit="queryParams.limit" @pagination="getList" />
</div> </div>
<el-dialog class="custom-dialog" :title="title" v-model="open" width="500px" append-to-body> <el-dialog class="custom-dialog" :title="title" v-model="open" width="500px" append-to-body>
<el-table v-loading="loadingDetail" border :data="dataListDetail" height="500"> <el-table v-loading="loadingDetail" border :data="dataListDetail" height="500">
@ -68,7 +64,7 @@
<el-table-column label="数据类型" :align="alignment" prop="type"> <el-table-column label="数据类型" :align="alignment" prop="type">
<template #default="scope"> <template #default="scope">
<div v-for="item in types"> <div v-for="item in types">
<span v-if="item.value === scope.row.type">{{item.name}}</span> <span v-if="item.value === scope.row.type">{{item.label}}</span>
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
@ -81,10 +77,8 @@
</el-table-column> </el-table-column>
<el-table-column label="操作" :align="alignment" class-name="small-padding fixed-width" width="120"> <el-table-column label="操作" :align="alignment" class-name="small-padding fixed-width" width="120">
<template #default="scope"> <template #default="scope">
<el-button type="text" icon="View" <el-button type="text" icon="View" @click="handleShow(scope.row)">详情</el-button>
@click="handleShow(scope.row)">详情</el-button> <el-button v-if="scope.row.isDeal !== 'y'" type="text" icon="Check" @click="handleUpdate(scope.row)">确认</el-button>
<el-button v-if="scope.row.isDeal !== 'y'" type="text" icon="Check"
@click="handleUpdate(scope.row)">确认</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -92,6 +86,7 @@
</div> </div>
</template> </template>
<script setup> <script setup>
import dayjs from 'dayjs'
import { import {
ref, ref,
reactive, reactive,
@ -101,9 +96,7 @@
const { const {
proxy proxy
} = getCurrentInstance() } = getCurrentInstance()
const { // const { } = proxy.useDict('')
} = proxy.useDict('')
const alignment = 'center' const alignment = 'center'
const showSearch = ref(true) const showSearch = ref(true)
const queryParams = reactive({ const queryParams = reactive({
@ -111,9 +104,10 @@
limit: 10, limit: 10,
stnmId: "", stnmId: "",
pType: "", pType: "",
startTime: "", startTime: dayjs().subtract(1, 'day').format('YYYY-MM-DD'),
endTime: "", endTime: dayjs().format('YYYY-MM-DD'),
isDeal: "", isDeal: 'n',
type: 'yc_pd_rain',
}) })
const loading = ref(false) const loading = ref(false)
const total = ref(0) const total = ref(0)
@ -121,7 +115,7 @@
const getList = async () => { const getList = async () => {
loading.value = true; loading.value = true;
try { try {
const res = await proxy.axiosGet('/abnormal/data/list', queryParams) const res = await proxy.axiosGet('/zb/message/infoList', queryParams)
if (res.code == 200) { if (res.code == 200) {
dataList.value = res.data dataList.value = res.data
total.value = res.count total.value = res.count
@ -182,7 +176,7 @@
const handleDelete = (row) => { const handleDelete = (row) => {
let stnms = row.stnm || names.value let stnms = row.stnm || names.value
const stnmIds = row.id || ids.value; const stnmIds = row.id || ids.value;
proxy.$modal.confirm('是否确认删除站点名称为"' + stnms + '"的数据项?').then(async function() { proxy.$modal.confirm('是否确认删除站点名称为"' + stnms + '"的数据项?').then(async function () {
let res = await proxy.axiosDelete('/basic/warnlevel/' + stnmIds); let res = await proxy.axiosDelete('/basic/warnlevel/' + stnmIds);
if (res.code === 200) { if (res.code === 200) {
proxy.$modal.msgSuccess("删除成功"); proxy.$modal.msgSuccess("删除成功");
@ -314,4 +308,26 @@
getStnmandStnmId() getStnmandStnmId()
// getDivision() // getDivision()
}) })
const types = ref([
{
value: "yc_pd_rain",
label: "雨情"
},
{
value: "yc_pd_rsvr",
label: "水库"
},
{
value: "yc_pd_river",
label: "河道"
},
{
value: "yc_pd_q_qflow",
label: "流量"
},
{
value: "yc_pd_tide",
label: "潮位"
},
])
</script> </script>
Loading…
Cancel
Save