From 21d10974b1f1e19162b690c313c6f4014f182963 Mon Sep 17 00:00:00 2001 From: zhouwenxuan <1175765986@qq.com> Date: 星期四, 31 八月 2023 15:53:35 +0800 Subject: [PATCH] 预警管理 --- src/views/warningManage/warningInfo/index.vue | 134 +++++++++++++++++++++++++------------------- 1 files changed, 77 insertions(+), 57 deletions(-) diff --git a/src/views/warningManage/warningInfo/index.vue b/src/views/warningManage/warningInfo/index.vue index 3ad31f8..4adf885 100644 --- a/src/views/warningManage/warningInfo/index.vue +++ b/src/views/warningManage/warningInfo/index.vue @@ -40,8 +40,9 @@ class="w100" style="max-width: 180px" size="default" + filterable > - <el-option v-for="item in state.tableData.gasList" :key="item.label" :label="item.value" :value="item.label"></el-option> + <el-option v-for="item in state.tableData.gasList" :key="item.id" :label="item.name" :value="item.id"></el-option> </el-select> </el-form-item> <el-button size="default" type="primary" class="ml10" @click="search()"> @@ -60,28 +61,34 @@ </div> <el-table :data="state.tableData.data" style="width: 100%"> <el-table-column align="center" prop="content" label="预警内容"/> - <el-table-column align="center" prop="warningTime" label="预警时间"/> - <el-table-column align="center" prop="name" label="气体名称"/> - <el-table-column align="center" prop="ppm" label="气体浓度"/> - <el-table-column align="center" prop="level" label="预警级别" height="100"> + <el-table-column align="center" prop="warnTime" label="预警时间"/> + <el-table-column align="center" prop="gasName" label="气体名称"/> + <el-table-column align="center" prop="gasConcentration" label="气体浓度"/> + <el-table-column align="center" prop="gasThresholdId" label="预警级别" height="100"> <template #default="scope"> - <span class="yellow" v-if="scope.row.level == '1'">黄色预警</span> - <span class="red" v-if="scope.row.level == '2'">红色预警</span> + <span class="yellow" v-if="scope.row.gasThresholdId == '1'">黄色预警</span> + <span class="red" v-else-if="scope.row.gasThresholdId == '2'">红色预警</span> </template> </el-table-column> - <el-table-column align="center" prop="notifier" label="通知人员"/> - <el-table-column align="center" prop="managePeople" label="处理人"/> - <el-table-column align="center" prop="manageTime" label="处理时间"/> + <el-table-column align="center" prop="gasWarnLogSmsUsers" label="通知人员"> + <template #default="scope"> + <div v-for="(item, index) in scope.row.gasWarnLogSmsUsers" :key="index"> + {{item.realname}} + </div> + </template> + </el-table-column> + <el-table-column align="center" prop="handlerRealName" label="处理人"/> + <el-table-column align="center" prop="handlerTime" label="处理时间"/> <el-table-column align="center" prop="status" label="处理状态"> <template #default="scope"> - <span v-if="scope.row.status == '1'">未处理</span> - <span v-if="scope.row.status == '2'">已处理</span> + <span v-if="scope.row.status == '0'">未处理</span> + <span v-if="scope.row.status == '1'">已处理</span> </template> </el-table-column> <el-table-column label="操作" show-overflow-tooltip width="140"> <template #default="scope"> - <el-button size="small" text type="primary" v-if="scope.row.status == '2'" @click="openDialog('查看', scope.row)">查看</el-button> - <el-button size="small" text type="primary" v-if="scope.row.status == '1'" @click="openDialog('处理', scope.row)">处理</el-button> + <el-button size="small" text type="primary" v-if="scope.row.status == '1'" @click="openDialog('查看', scope.row)">查看</el-button> + <el-button size="small" text type="primary" v-if="scope.row.status == '0'" @click="openDialog('处理', scope.row)">处理</el-button> </template> </el-table-column> </el-table> @@ -106,42 +113,17 @@ </template> <script setup lang="ts"> -import {reactive, ref} from "vue"; +import {reactive, ref, onMounted} from "vue"; import { ElMessage, ElMessageBox } from 'element-plus' import {InfoDataState, PeopleDataState} from "/@/types/warning"; import infoDialog from "./component/infoDialog.vue"; +import { gasManageApi } from "/@/api/basicDataManage/gasManage"; +import {warningInfoApi} from "/@/api/warningManage/warningInfo"; const infoRef = ref(); const state = reactive<InfoDataState>({ tableData: { - data: [ - // { - // id: '1', - // content: '【气体监测预警提示】2023年10月20日8:30 甲烷气体浓度连续超标系统判断为黄色预警,请相关负责人及时检查处置。', - // warningTime: '2023年10月20日 8:30', - // name: '甲烷', - // ppm: '5ppm', - // level: '1', - // notifier: '老娄、老程', - // managePeople: '张三', - // manageTime: '2023年10月20日 11:30', - // status: '1', - // }, - // { - // id: '1', - // content: '【气体监测预警提示】2023年10月20日8:30 甲烷气体浓度连续超标系统判断为黄色预警,请相关负责人及时检查处置。', - // warningTime: '2023年10月20日 8:30', - // name: '甲烷', - // ppm: '5ppm', - // level: '2', - // notifier: '老娄、老程', - // managePeople: '张三', - // manageTime: '2023年10月20日 11:30', - // status: '2', - // method:'xxx' - // }, - - ], + data: [], total: 0, loading: false, listQuery: { @@ -166,29 +148,64 @@ ], statusList: [ { - label: '1', + label: '0', value: '未处理' }, { - label: '2', + label: '1', value: '已处理' } ], - gasList: [ - { - label: '1', - value: '甲醛' - }, - { - label: '2', - value: '甲烷' - } - ] + gasList: [] } }); -const initInfoData = () => { - console.log("数据列表") +//页面加载 +onMounted(() => { + getGas(); + initInfoData(); +}); + +//气体列表 +const getGas = async () => { + let res = await gasManageApi().getGas({}); + if(res.data.code == 100){ + state.tableData.gasList = res.data.data; + }else { + ElMessage({ + type: 'warning', + message: res.data.msg + }); + } +}; + +//预警信息列表 +const initInfoData = async () => { + const param = { + pageIndex: state.tableData.listQuery.pageIndex, + pageSize: state.tableData.listQuery.pageSize, + searchParams: { + startTime: state.tableData.listQuery.searchParams.time[0], + endTime: state.tableData.listQuery.searchParams.time[1], + gasCategoryId: state.tableData.listQuery.searchParams.gas, + status: state.tableData.listQuery.searchParams.status, + gasThresholdId: state.tableData.listQuery.searchParams.level, + } + }; + let res = await warningInfoApi().getWarnLogPage(param); + console.log("res",res) + if(res.data.code == 100) { + state.tableData.data = res.data.data; + state.tableData.total = res.data.total; + state.tableData.listQuery.pageIndex = res.data.pageIndex; + state.tableData.listQuery.pageSize = res.data.pageSize; + }else { + ElMessage({ + type: 'warning', + message: res.data.msg + }); + } + }; const onHandleSizeChange = (val: number) => { state.tableData.listQuery.pageSize = val; @@ -221,9 +238,12 @@ }; const search = () => { + state.tableData.listQuery.pageIndex = 1; + initInfoData(); console.log("vla",state.tableData.listQuery.searchParams) } const reset = () => { + state.tableData.listQuery.pageIndex = 1; state.tableData.listQuery.searchParams.time = []; state.tableData.listQuery.searchParams.level = ''; state.tableData.listQuery.searchParams.status = ''; -- Gitblit v1.9.2