<template> <app-container> <search-area :need-clear="false" :need-search-more="false" size="small" search-more-type="default" @search="fetchData" > <search-item> <el-select v-model="listQuery.deviceType" size="small" placeholder="设备类型" clearable> <el-option v-for="item in deviceTypeList" :key="item.value" :label="item.name" :value="item.value" /> </el-select> </search-item> <search-item> <el-select v-model="listQuery.alarmType" size="small" placeholder="告警类型" clearable> <el-option v-for="item in alarmTypeList" :key="item.value" :label="item.name" :value="item.value" /> </el-select> </search-item> <search-item> <el-input v-model="listQuery.alarmContent" size="small" placeholder="告警内容" clearable /> </search-item> </search-area> <normal-table ref="normalTable" :data="list" :query="listQuery" :columns="columns" :pagination="false" :list-loading="listLoading" :options="options" size="small" > <template slot="btns"> <el-button size="small" @click="add"> 新增 </el-button> </template> <template slot="columns"> <el-table-column label="操作" width="160" align="center"> <template slot-scope="scope"> <el-button type="text" size="small" @click="edit(scope.row)"> 修改 </el-button> <el-button type="text" size="small" @click="del(scope.row)"> 删除 </el-button> </template> </el-table-column> </template> </normal-table> <edit-alarm-content ref="editAlarmContent" @watchChild="fetchData" /> </app-container> </template> <script> import editAlarmContent from '@/views/systemConfig/alarmContent/components/editAlarmContent' import { getDevice, alarmContentList, delAlarmContent } from '@/api/systemConfig/alarmContent' import { getAlarmType } from '@/api/alarm/alarm' export default { name: 'ListAlarmContent', components: { editAlarmContent }, data() { return { // 查询条件 listQuery: { deviceType: '', alarmType: '', alarmContent: '', limit: 50 }, // 告警类型列表 alarmTypeList: [], columns: [ { text: '告警类型', value: 'alarmTypeName', align: 'center' }, { text: '设备类型', value: 'deviceTypeName', align: 'center' }, { text: '告警内容', value: 'alarmContent', align: 'center' } ], // 显示列 listLoading: false, deviceTypeList: [], // 设备类型列表 list: [], // 表格数据列表 // 是否需要序号列 options: { needIndex: false } } }, created() { this.fetchDeviceType() this.fetchAlarmType() this.fetchData() }, mounted() { }, methods: { // 获取设备类型 fetchDeviceType() { getDevice(this.listQuery).then(response => { this.deviceTypeList = response.data }) }, // 获取告警类型 fetchAlarmType() { getAlarmType().then(response => { this.alarmTypeList = response.data }) }, // 获取数据列表 fetchData() { this.listLoading = true alarmContentList(this.listQuery).then(response => { this.list = response.data this.listLoading = false }) }, del(row) { this.$confirm( '确定要删除所选告警内容吗?', '确认操作', { confirmButtonText: '确定', cancelButtonText: '取消', type: 'warning' } ).then(() => { delAlarmContent(row.id).then(response => { if (response.code === 200) { this.$message.success('删除成功') this.fetchData() } }) }).catch(() => { this.$message({ type: 'info', message: '已取消删除' }) }) }, // 新增 add() { this.$refs.editAlarmContent.initDialog('create') }, // 修改 edit(row) { this.$refs.editAlarmContent.initDialog('update', row) } } } </script>