| | |
| | | <template> |
| | | <flex-layout> |
| | | <div class="table-layout filter-box-table" slot="header"> |
| | | <div class="table-row"> |
| | | <div class="table-cell text-right">维护区:</div> |
| | | <div class="table-cell"> |
| | | <el-select v-model="selectValue1" @change="changeSelect1" :placeholder="this.selectPlace1" class="weihu" size="small"> |
| | | <el-option v-for="item in newDevie" :key="item.value" :label="item.label" :value="item.value"></el-option> |
| | | </el-select> |
| | | </div> |
| | | <div class="table-cell text-right">机房名称:</div> |
| | | <div class="table-cell"> |
| | | <el-select v-model="selectValue2" @change="alarmDev" class="rooms" size="small"> |
| | | <el-option v-for="item in sesionsNews" :key="item.value" :label="item.label" :value="item.value"></el-option> |
| | | </el-select> |
| | | </div> |
| | | <div class="table-cell text-right">告警类型:</div> |
| | | <div class="table-cell"> |
| | | <el-select placeholder="全部" class="dainchi" v-model="value" size="small"> |
| | | <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"></el-option> |
| | | </el-select> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <el-tabs v-model="acTabs" type="border-card" class="flex-layout noborder" @tab-click="tabClick"> |
| | | <el-tab-pane label="未确认告警" name="unconfirmed"> |
| | | <flex-layout> |
| | | <!-- 表单 --> |
| | | <div class="flex-page-content"> |
| | | <el-table stripe size="small" :data="table1.datas" height="100%"> |
| | | <el-table-column v-for="header in table1.headers" :key="header.prop" :prop="header.prop" :label="header.label" |
| | | :width="header.width" :min-width="header.minWidth" align="center"> |
| | | <template slot-scope="scope"> |
| | | <div> |
| | | <div v-if="header.prop == 'alm_type'"> |
| | | <span v-if="scope.row.alm_type == 119020">通信故障</span> |
| | | <span v-if="scope.row.alm_type == 618501">继电器K1告警</span> |
| | | <span v-if="scope.row.alm_type == 618502">通讯告警</span> |
| | | <span v-if="scope.row.alm_type == 618503">设备过温告警</span> |
| | | <span v-if="scope.row.alm_type == 618504">二极管D1告警</span> |
| | | <span v-if="scope.row.alm_type == 618505">干接点告警</span> |
| | | <span v-if="scope.row.alm_type == 618506">异常核容或养护终止告警</span> |
| | | <span v-if="scope.row.alm_type == 119023">续航不足告警</span> |
| | | <span v-if="scope.row.alm_type == 119024">基站停电告警</span> |
| | | <span v-if="scope.row.alm_type == 119025">基站发电告警</span> |
| | | <span v-if="scope.row.alm_type == 119026">基站掉站告警</span> |
| | | <span v-if="scope.row.alm_type == 119027">基站开门告警</span> |
| | | <span v-if="scope.row.alm_type == 119028">设备高温告警</span> |
| | | <span v-if="scope.row.alm_type == 119032">设备SD卡故障</span> |
| | | <span v-if="scope.row.alm_type == 119033">采集线告警</span> |
| | | </div> |
| | | <div v-else-if="header.prop == 'alm_level'"> |
| | | <span v-if="scope.row.alm_level == 1">一级告警</span> |
| | | <span v-if="scope.row.alm_level == 2">二级告警</span> |
| | | <span v-if="scope.row.alm_level == 3">三级告警</span> |
| | | <span v-if="scope.row.alm_level == 4">四级告警</span> |
| | | </div> |
| | | <div v-else> |
| | | {{ scope.row[header.prop] }} |
| | | </div> |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="确认告警时间" width="180px" align="center"> |
| | | <template slot-scope="scope"> |
| | | {{ scope.row.isalarm1?scope.row.monomers1:"" }} |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="确认告警" width="80px" align="center"> |
| | | <template slot-scope="scope"> |
| | | <el-checkbox v-model="scope.row.isalarm1" disabled></el-checkbox> |
| | | <!-- <input type="checkbox" :checked='scope.row.alm_is_confirmed ===1?true:false' disabled> --> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="cztime" fixed="right" width="257px" align="center" label="操作"> |
| | | <template slot-scope="scope"> |
| | | <el-button :disabled="!isCanConfirm" type="primary" size="mini" @click="okAlarm(scope.row)">确认告警</el-button> |
| | | <el-button :disabled="!isCanQuit" type="success" size="mini" @click="cancesWa( scope.row)">取消告警</el-button> |
| | | <el-button :disabled="!isCanDel" type="danger" size="mini" @click="deviceDelete(scope.row)">删除</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | <!-- 底部分页 --> |
| | | <div class="flex-page-footer" slot="footer"> |
| | | <div class="el-pagination-btns"> |
| | | <el-button type="primary" round size="mini" @click="alarmDev1" icon="el-icon-search">查询</el-button> |
| | | <el-button type="primary" round size="mini" icon="el-icon-wallet" @click="exportFile1">导出</el-button> |
| | | </div> |
| | | <el-pagination class="pagess" @size-change="handleSizeChange1" @current-change="handleCurrentChange1" :current-page="queryInfo1.currentPage" |
| | | :page-sizes="[10, 20,30, 50, 100]" :page-size="queryInfo1.pagesize" layout="total, sizes, prev, pager, next, jumper" |
| | | :total="total1"></el-pagination> |
| | | </div> |
| | | </flex-layout> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="已确认告警" name="confirmed"> |
| | | <flex-layout> |
| | | <!-- 表单 --> |
| | | <div class="flex-page-content"> |
| | | <el-table stripe size="small" :data="table2.datas" height="100%"> |
| | | <el-table-column v-for="header in table2.headers" :key="header.prop" :prop="header.prop" :label="header.label" |
| | | :width="header.width" :min-width="header.minWidth" align="center"> |
| | | <template slot-scope="scope"> |
| | | <div> |
| | | <div v-if="header.prop == 'alm_type'"> |
| | | <span v-if="scope.row.alm_type == 119020">通信故障</span> |
| | | <span v-if="scope.row.alm_type == 618501">继电器K1告警</span> |
| | | <span v-if="scope.row.alm_type == 618502">通讯告警</span> |
| | | <span v-if="scope.row.alm_type == 618503">设备过温告警</span> |
| | | <span v-if="scope.row.alm_type == 618504">二极管D1告警</span> |
| | | <span v-if="scope.row.alm_type == 618505">干接点告警</span> |
| | | <span v-if="scope.row.alm_type == 618506">异常核容或养护终止告警</span> |
| | | <span v-if="scope.row.alm_type == 119023">续航不足告警</span> |
| | | <span v-if="scope.row.alm_type == 119024">基站停电告警</span> |
| | | <span v-if="scope.row.alm_type == 119025">基站发电告警</span> |
| | | <span v-if="scope.row.alm_type == 119026">基站掉站告警</span> |
| | | <span v-if="scope.row.alm_type == 119027">基站开门告警</span> |
| | | <span v-if="scope.row.alm_type == 119028">设备高温告警</span> |
| | | <span v-if="scope.row.alm_type == 119032">设备SD卡故障</span> |
| | | <span v-if="scope.row.alm_type == 119033">采集线告警</span> |
| | | </div> |
| | | <div v-else-if="header.prop == 'alm_level'"> |
| | | <span v-if="scope.row.alm_level == 1">一级告警</span> |
| | | <span v-if="scope.row.alm_level == 2">二级告警</span> |
| | | <span v-if="scope.row.alm_level == 3">三级告警</span> |
| | | <span v-if="scope.row.alm_level == 4">四级告警</span> |
| | | </div> |
| | | <div v-else> |
| | | {{ scope.row[header.prop] }} |
| | | </div> |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="确认告警时间" width="180px" align="center"> |
| | | <template slot-scope="scope"> |
| | | {{ scope.row.isalarm1?scope.row.monomers1:"" }} |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="确认告警" width="80px" align="center"> |
| | | <template slot-scope="scope"> |
| | | <el-checkbox v-model="scope.row.isalarm1" disabled></el-checkbox> |
| | | <!-- <input type="checkbox" :checked='scope.row.alm_is_confirmed ===1?true:false' disabled> --> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="cztime" fixed="right" width="257px" align="center" label="操作"> |
| | | <template slot-scope="scope"> |
| | | <el-button :disabled="!isCanConfirm" type="primary" size="mini" @click="okAlarm(scope.row)">确认告警</el-button> |
| | | <el-button :disabled="!isCanQuit" type="success" size="mini" @click="cancesWa( scope.row)">取消告警</el-button> |
| | | <el-button :disabled="!isCanDel" type="danger" size="mini" @click="deviceDelete(scope.row)">删除</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | <!-- 底部分页 --> |
| | | <div class="flex-page-footer" slot="footer"> |
| | | <div class="el-pagination-btns"> |
| | | <el-button type="primary" round size="mini" @click="alarmDev2" icon="el-icon-search">查询</el-button> |
| | | <el-button type="primary" round size="mini" icon="el-icon-wallet" @click="exportFile2">导出</el-button> |
| | | </div> |
| | | <el-pagination class="pagess" @size-change="handleSizeChange2" @current-change="handleCurrentChange2" :current-page="queryInfo2.currentPage" |
| | | :page-sizes="[10, 20,30, 50, 100]" :page-size="queryInfo2.pagesize" layout="total, sizes, prev, pager, next, jumper" |
| | | :total="total2"></el-pagination> |
| | | </div> |
| | | </flex-layout> |
| | | </el-tab-pane> |
| | | </el-tabs> |
| | | </flex-layout> |
| | | <flex-layout> |
| | | <div class="table-layout filter-box-table" slot="header"> |
| | | <div class="table-row"> |
| | | <div class="table-cell text-right">维护区:</div> |
| | | <div class="table-cell"> |
| | | <el-select v-model="selectValue1" @change="changeSelect1" :placeholder="this.selectPlace1" |
| | | class="weihu" size="small"> |
| | | <el-option v-for="item in newDevie" :key="item.value" :label="item.label" |
| | | :value="item.value"></el-option> |
| | | </el-select> |
| | | </div> |
| | | <div class="table-cell text-right">机房名称:</div> |
| | | <div class="table-cell"> |
| | | <el-select v-model="selectValue2" @change="alarmDev" class="rooms" size="small"> |
| | | <el-option v-for="item in sesionsNews" :key="item.value" :label="item.label" |
| | | :value="item.value"></el-option> |
| | | </el-select> |
| | | </div> |
| | | <div class="table-cell text-right">告警类型:</div> |
| | | <div class="table-cell"> |
| | | <el-select placeholder="全部" class="dainchi" v-model="value" size="small"> |
| | | <el-option :label="'全部共'+options.length+'种'" value="0"></el-option> |
| | | <el-option v-for="item in options" :key="item.value" :label="item.label" |
| | | :value="item.value"></el-option> |
| | | </el-select> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <el-tabs v-model="acTabs" type="border-card" class="flex-layout noborder" @tab-click="tabClick"> |
| | | <el-tab-pane label="未确认告警" name="unconfirmed"> |
| | | <flex-layout> |
| | | <!-- 表单 --> |
| | | <div class="flex-page-content"> |
| | | <el-table stripe size="small" :data="table1.datas" height="100%"> |
| | | <el-table-column v-for="header in table1.headers" :key="header.prop" :prop="header.prop" |
| | | :label="header.label" |
| | | :width="header.width" :min-width="header.minWidth" align="center"> |
| | | </el-table-column> |
| | | <el-table-column label="确认告警时间" width="180px" align="center"> |
| | | <template slot-scope="scope"> |
| | | {{ scope.row.isalarm1 ? scope.row.monomers1 : "" }} |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="确认告警" width="80px" align="center"> |
| | | <template slot-scope="scope"> |
| | | <el-checkbox v-model="scope.row.isalarm1" disabled></el-checkbox> |
| | | <!-- <input type="checkbox" :checked='scope.row.alm_is_confirmed ===1?true:false' disabled> --> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="cztime" fixed="right" width="257px" align="center" label="操作"> |
| | | <template slot-scope="scope"> |
| | | <el-button :disabled="!isCanConfirm" type="primary" size="mini" |
| | | @click="okAlarm(scope.row)">确认告警 |
| | | </el-button> |
| | | <el-button :disabled="!isCanQuit" type="success" size="mini" |
| | | @click="cancesWa( scope.row)">取消告警 |
| | | </el-button> |
| | | <el-button :disabled="!isCanDel" type="danger" size="mini" |
| | | @click="deviceDelete(scope.row)">删除 |
| | | </el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | <!-- 底部分页 --> |
| | | <div class="flex-page-footer" slot="footer"> |
| | | <div class="el-pagination-btns"> |
| | | <el-button type="primary" round size="mini" @click="alarmDev1" icon="el-icon-search">查询 |
| | | </el-button> |
| | | <el-button type="primary" round size="mini" icon="el-icon-wallet" @click="exportFile1">导出 |
| | | </el-button> |
| | | </div> |
| | | <el-pagination class="pagess" @size-change="handleSizeChange1" |
| | | @current-change="handleCurrentChange1" :current-page="queryInfo1.currentPage" |
| | | :page-sizes="[10, 20,30, 50, 100]" :page-size="queryInfo1.pagesize" |
| | | layout="total, sizes, prev, pager, next, jumper" |
| | | :total="total1"></el-pagination> |
| | | </div> |
| | | </flex-layout> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="已确认告警" name="confirmed"> |
| | | <flex-layout> |
| | | <!-- 表单 --> |
| | | <div class="flex-page-content"> |
| | | <el-table stripe size="small" :data="table2.datas" height="100%"> |
| | | <el-table-column v-for="header in table2.headers" :key="header.prop" :prop="header.prop" |
| | | :label="header.label" |
| | | :width="header.width" :min-width="header.minWidth" align="center"> |
| | | </el-table-column> |
| | | <el-table-column label="确认告警时间" width="180px" align="center"> |
| | | <template slot-scope="scope"> |
| | | {{ scope.row.isalarm1 ? scope.row.monomers1 : "" }} |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="确认告警" width="80px" align="center"> |
| | | <template slot-scope="scope"> |
| | | <el-checkbox v-model="scope.row.isalarm1" disabled></el-checkbox> |
| | | <!-- <input type="checkbox" :checked='scope.row.alm_is_confirmed ===1?true:false' disabled> --> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="cztime" fixed="right" width="257px" align="center" label="操作"> |
| | | <template slot-scope="scope"> |
| | | <el-button :disabled="!isCanConfirm" type="primary" size="mini" |
| | | @click="okAlarm(scope.row)">确认告警 |
| | | </el-button> |
| | | <el-button :disabled="!isCanQuit" type="success" size="mini" |
| | | @click="cancesWa( scope.row)">取消告警 |
| | | </el-button> |
| | | <el-button :disabled="!isCanDel" type="danger" size="mini" |
| | | @click="deviceDelete(scope.row)">删除 |
| | | </el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | <!-- 底部分页 --> |
| | | <div class="flex-page-footer" slot="footer"> |
| | | <div class="el-pagination-btns"> |
| | | <el-button type="primary" round size="mini" @click="alarmDev2" icon="el-icon-search">查询 |
| | | </el-button> |
| | | <el-button type="primary" round size="mini" icon="el-icon-wallet" @click="exportFile2">导出 |
| | | </el-button> |
| | | </div> |
| | | <el-pagination class="pagess" @size-change="handleSizeChange2" |
| | | @current-change="handleCurrentChange2" :current-page="queryInfo2.currentPage" |
| | | :page-sizes="[10, 20,30, 50, 100]" :page-size="queryInfo2.pagesize" |
| | | layout="total, sizes, prev, pager, next, jumper" |
| | | :total="total2"></el-pagination> |
| | | </div> |
| | | </flex-layout> |
| | | </el-tab-pane> |
| | | </el-tabs> |
| | | </flex-layout> |
| | | </template> |
| | | |
| | | <script> |
| | | import { |
| | | deviceTypes, |
| | | deviceSeions, |
| | | deviceAlarm, |
| | | deviceOk, |
| | | deviceDelete, |
| | | CancelWarning |
| | | } from "@/assets/js/alarmAdmian/deviceTimequery.js"; |
| | | // 引入导出表格 |
| | | import { |
| | | export_json_to_excel |
| | | } from '../../assets/js/excel/Export2Excel.js' |
| | | import { |
| | | import { |
| | | deviceTypes, |
| | | deviceSeions, |
| | | deviceAlarm, |
| | | deviceOk, |
| | | deviceDelete, |
| | | CancelWarning |
| | | } from "@/assets/js/alarmAdmian/deviceTimequery.js"; |
| | | // 引入导出表格 |
| | | import { |
| | | export_json_to_excel |
| | | } from '../../assets/js/excel/Export2Excel.js' |
| | | import { |
| | | getLabelByValue, |
| | | isHasPermit, Timeout |
| | | } from "@/assets/js/tools"; |
| | | export default { |
| | | data() { |
| | | let permits = this.$store.state.user.permits; |
| | | let isCanConfirm = isHasPermit('dev_alm_confirm_permit', permits); |
| | | let isCanQuit = isHasPermit('dev_alm_clear_permit', permits); |
| | | let isCanDel = isHasPermit('dev_alm_delete_permit', permits); |
| | | return { |
| | | isCanConfirm: isCanConfirm, |
| | | isCanQuit: isCanQuit, |
| | | isCanDel: isCanDel, |
| | | timer: new Timeout(), |
| | | queryInfo1: { |
| | | currentPage: 1, |
| | | pagesize: 10 |
| | | }, |
| | | queryInfo2: { |
| | | currentPage: 1, |
| | | pagesize: 10 |
| | | }, |
| | | acTabs: 'unconfirmed', |
| | | total1: 0, |
| | | total2: 0, |
| | | /* 日期 */ |
| | | valueTime: ["2000-01-01 00:00:00", "2020-09-20 00:00:00"], |
| | | selectValue1: "", |
| | | selectPlace1: "", |
| | | selectValue2: "", |
| | | selectPlace2: "", |
| | | /* 告警类型 */ |
| | | value: "0", |
| | | options: [{ |
| | | value: "0", |
| | | label: "全部共10种" |
| | | }, |
| | | { |
| | | value: "119020", |
| | | label: "通信故障" |
| | | }, |
| | | { |
| | | value: "618501", |
| | | label: "继电器告警" |
| | | }, |
| | | { |
| | | value: "618502", |
| | | label: "通讯告警" |
| | | }, |
| | | { |
| | | value: "618503", |
| | | label: "设备过温告警" |
| | | }, |
| | | { |
| | | value: "618504", |
| | | label: "二极管D1告警" |
| | | }, |
| | | { |
| | | value: "618505", |
| | | label: "干接点告警" |
| | | }, |
| | | { |
| | | value: "618506", |
| | | label: "异常核容或养护终止告警" |
| | | }, |
| | | } from "@/assets/js/tools"; |
| | | |
| | | { |
| | | value: "119023", |
| | | label: "续航不足告警" |
| | | }, |
| | | { |
| | | value: "119024", |
| | | label: "基站停电告警" |
| | | }, |
| | | { |
| | | value: "119025", |
| | | label: "基站发电告警" |
| | | }, |
| | | { |
| | | value: "119026", |
| | | label: "基站掉站告警" |
| | | }, |
| | | { |
| | | value: "119027", |
| | | label: "基站开门告警" |
| | | } |
| | | ], |
| | | /* 维护区 */ |
| | | newDevie: [{ |
| | | value: 0, |
| | | label: null |
| | | }], |
| | | /* 机房站点 */ |
| | | sesionsNews: [{ |
| | | value: 0, |
| | | label: null |
| | | }], |
| | | /* 表单 */ |
| | | table1: { |
| | | headers: [{ |
| | | prop: "rooms1", |
| | | label: "编号", |
| | | width: 50 |
| | | }, |
| | | { |
| | | prop: "batterys1", |
| | | label: "设备ID", |
| | | width: 120 |
| | | }, |
| | | { |
| | | prop: "tesa1", |
| | | label: "设备名", |
| | | width: 160 |
| | | }, |
| | | { |
| | | prop: "dev1", |
| | | label: "设备IP", |
| | | width: 120 |
| | | }, |
| | | { |
| | | prop: "tester1", |
| | | label: "机房名称", |
| | | minWidth: 220 |
| | | }, |
| | | { |
| | | prop: "alm_type", |
| | | label: "告警事件", |
| | | width: 180 |
| | | }, |
| | | { |
| | | prop: "alm_level", |
| | | label: "告警等级", |
| | | width: 120 |
| | | }, |
| | | { |
| | | prop: "starts1", |
| | | label: "告警开始时间", |
| | | width: 180 |
| | | }, |
| | | import getDevAlarm from "@/assets/js/tools/getDevAlarm"; |
| | | |
| | | ], |
| | | datas: [] |
| | | }, |
| | | table2: { |
| | | headers: [{ |
| | | prop: "rooms1", |
| | | label: "编号", |
| | | width: 50 |
| | | }, |
| | | { |
| | | prop: "batterys1", |
| | | label: "设备ID", |
| | | width: 120 |
| | | }, |
| | | { |
| | | prop: "tesa1", |
| | | label: "设备名", |
| | | width: 160 |
| | | }, |
| | | { |
| | | prop: "dev1", |
| | | label: "设备IP", |
| | | width: 120 |
| | | }, |
| | | { |
| | | prop: "tester1", |
| | | label: "机房名称", |
| | | minWidth: 220 |
| | | }, |
| | | { |
| | | prop: "alm_type", |
| | | label: "告警事件", |
| | | width: 180 |
| | | }, |
| | | { |
| | | prop: "alm_level", |
| | | label: "告警等级", |
| | | width: 120 |
| | | }, |
| | | { |
| | | prop: "starts1", |
| | | label: "告警开始时间", |
| | | width: 180 |
| | | }, |
| | | export default { |
| | | data() { |
| | | let permits = this.$store.state.user.permits; |
| | | let isCanConfirm = isHasPermit('dev_alm_confirm_permit', permits); |
| | | let isCanQuit = isHasPermit('dev_alm_clear_permit', permits); |
| | | let isCanDel = isHasPermit('dev_alm_delete_permit', permits); |
| | | let alarmTypes = getDevAlarm().types; |
| | | let levels = getDevAlarm().levels; |
| | | return { |
| | | isCanConfirm: isCanConfirm, |
| | | isCanQuit: isCanQuit, |
| | | isCanDel: isCanDel, |
| | | timer: new Timeout(), |
| | | queryInfo1: { |
| | | currentPage: 1, |
| | | pagesize: 10 |
| | | }, |
| | | queryInfo2: { |
| | | currentPage: 1, |
| | | pagesize: 10 |
| | | }, |
| | | acTabs: 'unconfirmed', |
| | | total1: 0, |
| | | total2: 0, |
| | | /* 日期 */ |
| | | valueTime: ["2000-01-01 00:00:00", "2020-09-20 00:00:00"], |
| | | selectValue1: "", |
| | | selectPlace1: "", |
| | | selectValue2: "", |
| | | selectPlace2: "", |
| | | /* 告警类型 */ |
| | | value: "0", |
| | | options: alarmTypes, |
| | | levels: levels, |
| | | /* 维护区 */ |
| | | newDevie: [{ |
| | | value: 0, |
| | | label: null |
| | | }], |
| | | /* 机房站点 */ |
| | | sesionsNews: [{ |
| | | value: 0, |
| | | label: null |
| | | }], |
| | | /* 表单 */ |
| | | table1: { |
| | | headers: [{ |
| | | prop: "rooms1", |
| | | label: "编号", |
| | | width: 50 |
| | | }, |
| | | { |
| | | prop: "batterys1", |
| | | label: "设备ID", |
| | | width: 120 |
| | | }, |
| | | { |
| | | prop: "tesa1", |
| | | label: "设备名", |
| | | width: 160 |
| | | }, |
| | | { |
| | | prop: "dev1", |
| | | label: "设备IP", |
| | | width: 160 |
| | | }, |
| | | { |
| | | prop: "tester1", |
| | | label: "机房名称", |
| | | minWidth: 220 |
| | | }, |
| | | { |
| | | prop: "alm_name", |
| | | label: "告警事件", |
| | | width: 200 |
| | | }, |
| | | { |
| | | prop: "alm_level_name", |
| | | label: "告警等级", |
| | | width: 120 |
| | | }, |
| | | { |
| | | prop: "starts1", |
| | | label: "告警开始时间", |
| | | width: 180 |
| | | }, |
| | | |
| | | ], |
| | | datas: [] |
| | | }, |
| | | isFirstQuery: false |
| | | }; |
| | | }, |
| | | mounted() { |
| | | this.deviceTime(); /* 维护区 */ |
| | | this.deviceName(); /* 机房名称 */ |
| | | this.startSearch(); /* 实时告警 */ |
| | | }, |
| | | methods: { |
| | | tabClick(tab) { |
| | | this.acTabs = tab.name; |
| | | }, |
| | | // 导出表格 |
| | | exportFile1() { |
| | | let tHeader = []; |
| | | let filterVal = ['rooms1', 'batterys1', 'tesa1', 'dev1', 'tester1', 'alm_name', 'alm_level_name', 'monomers1', |
| | | 'starts1', 'isalarm1' |
| | | ]; |
| | | this.table1.headers.map((item, index) => { |
| | | tHeader.push(item.label) |
| | | }) |
| | | tHeader.push('确认告警时间') |
| | | tHeader.push('确认告警') |
| | | let list = this.table1.datas; |
| | | if (list.length > 0) { |
| | | list.map((item, index) => { |
| | | if (item.alm_type == 119020) { |
| | | item.alm_name = '通信故障' |
| | | } else if (item.alm_type == 618501) { |
| | | item.alm_name = '继电器K1告警' |
| | | } else if (item.alm_type == 618502) { |
| | | item.alm_name = '通讯告警' |
| | | } else if (item.alm_type == 618503) { |
| | | item.alm_name = '设备过温告警' |
| | | } else if (item.alm_type == 618504) { |
| | | item.alm_name = '二极管D1告警' |
| | | } else if (item.alm_type == 618505) { |
| | | item.alm_name = '干接点告警' |
| | | } else if (item.alm_type == 618506) { |
| | | item.alm_name = '异常核容或养护终止告警' |
| | | } else if (item.alm_type == 119023) { |
| | | item.alm_name = '续航不足告警' |
| | | } else if (item.alm_type == 119024) { |
| | | item.alm_name = '基站停电告警' |
| | | } else if (item.alm_type == 119025) { |
| | | item.alm_name = '基站发电告警' |
| | | } else if (item.alm_type == 119026) { |
| | | item.alm_name = '基站掉站告警' |
| | | } else if (item.alm_type == 119027) { |
| | | item.alm_name = '基站开门告警' |
| | | } else if (item.alm_type == 119028) { |
| | | item.alm_name = '设备高温告警' |
| | | } else if (item.alm_type == 119032) { |
| | | item.alm_name = '设备SD卡故障' |
| | | } else if (item.alm_type == 119033) { |
| | | item.alm_name = '采集线告警' |
| | | } |
| | | ], |
| | | datas: [] |
| | | }, |
| | | table2: { |
| | | headers: [{ |
| | | prop: "rooms1", |
| | | label: "编号", |
| | | width: 50 |
| | | }, |
| | | { |
| | | prop: "batterys1", |
| | | label: "设备ID", |
| | | width: 120 |
| | | }, |
| | | { |
| | | prop: "tesa1", |
| | | label: "设备名", |
| | | width: 160 |
| | | }, |
| | | { |
| | | prop: "dev1", |
| | | label: "设备IP", |
| | | width: 160 |
| | | }, |
| | | { |
| | | prop: "tester1", |
| | | label: "机房名称", |
| | | minWidth: 220 |
| | | }, |
| | | { |
| | | prop: "alm_name", |
| | | label: "告警事件", |
| | | width: 200 |
| | | }, |
| | | { |
| | | prop: "alm_level_name", |
| | | label: "告警等级", |
| | | width: 120 |
| | | }, |
| | | { |
| | | prop: "starts1", |
| | | label: "告警开始时间", |
| | | width: 180 |
| | | }, |
| | | |
| | | if (item.alm_level == 1) { |
| | | item.alm_level_name = '一级告警' |
| | | } else if (item.alm_level == 2) { |
| | | item.alm_level_name = '二级告警' |
| | | } else if (item.alm_level == 3) { |
| | | item.alm_level_name = '三级告警' |
| | | } else if (item.alm_level == 4) { |
| | | item.alm_level_name = '四级告警' |
| | | } |
| | | ], |
| | | datas: [] |
| | | }, |
| | | isFirstQuery: false |
| | | }; |
| | | }, |
| | | mounted() { |
| | | this.deviceTime(); /* 维护区 */ |
| | | this.deviceName(); /* 机房名称 */ |
| | | this.startSearch(); /* 实时告警 */ |
| | | }, |
| | | methods: { |
| | | tabClick(tab) { |
| | | this.acTabs = tab.name; |
| | | }, |
| | | // 导出表格 |
| | | exportFile1() { |
| | | let tHeader = []; |
| | | let filterVal = ['rooms1', 'batterys1', 'tesa1', 'dev1', 'tester1', 'alm_name', 'alm_level_name', 'monomers1', |
| | | 'starts1', 'isalarm1' |
| | | ]; |
| | | this.table1.headers.map((item, index) => { |
| | | tHeader.push(item.label) |
| | | }) |
| | | tHeader.push('确认告警时间') |
| | | tHeader.push('确认告警') |
| | | let list = this.table1.datas; |
| | | if (list.length > 0) { |
| | | list.map((item, index) => { |
| | | if (item.alm_type == 119020) { |
| | | item.alm_name = '通信故障' |
| | | } else if (item.alm_type == 618501) { |
| | | item.alm_name = '继电器K1告警' |
| | | } else if (item.alm_type == 618502) { |
| | | item.alm_name = '通讯告警' |
| | | } else if (item.alm_type == 618503) { |
| | | item.alm_name = '设备过温告警' |
| | | } else if (item.alm_type == 618504) { |
| | | item.alm_name = '二极管D1告警' |
| | | } else if (item.alm_type == 618505) { |
| | | item.alm_name = '干接点告警' |
| | | } else if (item.alm_type == 618506) { |
| | | item.alm_name = '异常核容或养护终止告警' |
| | | } else if (item.alm_type == 119023) { |
| | | item.alm_name = '续航不足告警' |
| | | } else if (item.alm_type == 119024) { |
| | | item.alm_name = '基站停电告警' |
| | | } else if (item.alm_type == 119025) { |
| | | item.alm_name = '基站发电告警' |
| | | } else if (item.alm_type == 119026) { |
| | | item.alm_name = '基站掉站告警' |
| | | } else if (item.alm_type == 119027) { |
| | | item.alm_name = '基站开门告警' |
| | | } else if (item.alm_type == 119028) { |
| | | item.alm_name = '设备高温告警' |
| | | } else if (item.alm_type == 119032) { |
| | | item.alm_name = '设备SD卡故障' |
| | | } else if (item.alm_type == 119033) { |
| | | item.alm_name = '采集线告警' |
| | | } |
| | | |
| | | if (item.alm_is_confirmed === 1) { |
| | | item.isalarm1 = '是' |
| | | } else { |
| | | item.isalarm1 = '否' |
| | | } |
| | | }) |
| | | } |
| | | let excelData = this.formatJson(filterVal, list); |
| | | export_json_to_excel(tHeader, excelData, "设备告警实时数据-未确认"); |
| | | }, |
| | | // 导出表格 |
| | | exportFile2() { |
| | | let tHeader = []; |
| | | let filterVal = ['rooms1', 'batterys1', 'tesa1', 'dev1', 'tester1', 'alm_name', 'alm_level_name', 'monomers1', |
| | | 'starts1', 'isalarm1' |
| | | ]; |
| | | this.table2.headers.map((item, index) => { |
| | | tHeader.push(item.label) |
| | | }) |
| | | tHeader.push('确认告警时间') |
| | | tHeader.push('确认告警') |
| | | let list = this.table2.datas; |
| | | if (list.length > 0) { |
| | | list.map((item, index) => { |
| | | if (item.alm_type == 119020) { |
| | | item.alm_name = '通信故障' |
| | | } else if (item.alm_type == 618501) { |
| | | item.alm_name = '继电器K1告警' |
| | | } else if (item.alm_type == 618502) { |
| | | item.alm_name = '通讯告警' |
| | | } else if (item.alm_type == 618503) { |
| | | item.alm_name = '设备过温告警' |
| | | } else if (item.alm_type == 618504) { |
| | | item.alm_name = '二极管D1告警' |
| | | } else if (item.alm_type == 618505) { |
| | | item.alm_name = '干接点告警' |
| | | } else if (item.alm_type == 618506) { |
| | | item.alm_name = '异常核容或养护终止告警' |
| | | } else if (item.alm_type == 119023) { |
| | | item.alm_name = '续航不足告警' |
| | | } else if (item.alm_type == 119024) { |
| | | item.alm_name = '基站停电告警' |
| | | } else if (item.alm_type == 119025) { |
| | | item.alm_name = '基站发电告警' |
| | | } else if (item.alm_type == 119026) { |
| | | item.alm_name = '基站掉站告警' |
| | | } else if (item.alm_type == 119027) { |
| | | item.alm_name = '基站开门告警' |
| | | } else if (item.alm_type == 119028) { |
| | | item.alm_name = '设备高温告警' |
| | | } else if (item.alm_type == 119032) { |
| | | item.alm_name = '设备SD卡故障' |
| | | } else if (item.alm_type == 119033) { |
| | | item.alm_name = '采集线告警' |
| | | } |
| | | if (item.alm_level == 1) { |
| | | item.alm_level_name = '一级告警' |
| | | } else if (item.alm_level == 2) { |
| | | item.alm_level_name = '二级告警' |
| | | } else if (item.alm_level == 3) { |
| | | item.alm_level_name = '三级告警' |
| | | } else if (item.alm_level == 4) { |
| | | item.alm_level_name = '四级告警' |
| | | } |
| | | |
| | | if (item.alm_level == 1) { |
| | | item.alm_level_name = '一级告警' |
| | | } else if (item.alm_level == 2) { |
| | | item.alm_level_name = '二级告警' |
| | | } else if (item.alm_level == 3) { |
| | | item.alm_level_name = '三级告警' |
| | | } else if (item.alm_level == 4) { |
| | | item.alm_level_name = '四级告警' |
| | | } |
| | | if (item.alm_is_confirmed === 1) { |
| | | item.isalarm1 = '是' |
| | | } else { |
| | | item.isalarm1 = '否' |
| | | } |
| | | }) |
| | | } |
| | | let excelData = this.formatJson(filterVal, list); |
| | | export_json_to_excel(tHeader, excelData, "设备告警实时数据-未确认"); |
| | | }, |
| | | // 导出表格 |
| | | exportFile2() { |
| | | let tHeader = []; |
| | | let filterVal = ['rooms1', 'batterys1', 'tesa1', 'dev1', 'tester1', 'alm_name', 'alm_level_name', 'monomers1', |
| | | 'starts1', 'isalarm1' |
| | | ]; |
| | | this.table2.headers.map((item, index) => { |
| | | tHeader.push(item.label) |
| | | }) |
| | | tHeader.push('确认告警时间') |
| | | tHeader.push('确认告警') |
| | | let list = this.table2.datas; |
| | | if (list.length > 0) { |
| | | list.map((item, index) => { |
| | | if (item.alm_type == 119020) { |
| | | item.alm_name = '通信故障' |
| | | } else if (item.alm_type == 618501) { |
| | | item.alm_name = '继电器K1告警' |
| | | } else if (item.alm_type == 618502) { |
| | | item.alm_name = '通讯告警' |
| | | } else if (item.alm_type == 618503) { |
| | | item.alm_name = '设备过温告警' |
| | | } else if (item.alm_type == 618504) { |
| | | item.alm_name = '二极管D1告警' |
| | | } else if (item.alm_type == 618505) { |
| | | item.alm_name = '干接点告警' |
| | | } else if (item.alm_type == 618506) { |
| | | item.alm_name = '异常核容或养护终止告警' |
| | | } else if (item.alm_type == 119023) { |
| | | item.alm_name = '续航不足告警' |
| | | } else if (item.alm_type == 119024) { |
| | | item.alm_name = '基站停电告警' |
| | | } else if (item.alm_type == 119025) { |
| | | item.alm_name = '基站发电告警' |
| | | } else if (item.alm_type == 119026) { |
| | | item.alm_name = '基站掉站告警' |
| | | } else if (item.alm_type == 119027) { |
| | | item.alm_name = '基站开门告警' |
| | | } else if (item.alm_type == 119028) { |
| | | item.alm_name = '设备高温告警' |
| | | } else if (item.alm_type == 119032) { |
| | | item.alm_name = '设备SD卡故障' |
| | | } else if (item.alm_type == 119033) { |
| | | item.alm_name = '采集线告警' |
| | | } |
| | | |
| | | if (item.alm_is_confirmed === 1) { |
| | | item.isalarm1 = '是' |
| | | } else { |
| | | item.isalarm1 = '否' |
| | | } |
| | | }) |
| | | } |
| | | let excelData = this.formatJson(filterVal, list); |
| | | export_json_to_excel(tHeader, excelData, "设备告警实时数据-已确认"); |
| | | }, |
| | | formatJson(filterVal, jsonData) { |
| | | return jsonData.map(v => filterVal.map(j => v[j])); |
| | | }, |
| | | /* 维护区 */ |
| | | async deviceTime() { |
| | | const devieceList = await deviceTypes(); |
| | | if ( |
| | | devieceList.data.result && |
| | | JSON.parse(devieceList.data.result).code == 1 |
| | | ) { |
| | | let newDevie = JSON.parse(devieceList.data.result).data.map(item => { |
| | | return { |
| | | label: item, |
| | | value: item |
| | | }; |
| | | }); |
| | | newDevie.unshift({ |
| | | label: `全部共${newDevie.length}种`, |
| | | value: "" |
| | | }); |
| | | this.newDevie = newDevie; |
| | | this.selectPlace1 = `全部(共${newDevie.length}种)`; |
| | | } |
| | | }, |
| | | /* 机房名称 */ |
| | | async deviceName(status) { |
| | | const newDevicess = await deviceSeions({ |
| | | UNote: this.selectValue1 |
| | | }); |
| | | if ( |
| | | newDevicess.data.result && |
| | | JSON.parse(newDevicess.data.result).code == 1 |
| | | ) { |
| | | let sesionsNews = JSON.parse(newDevicess.data.result).data.map(item => { |
| | | return { |
| | | label: item, |
| | | value: item |
| | | }; |
| | | }); |
| | | sesionsNews.unshift({ |
| | | label: `全部共${sesionsNews.length}种`, |
| | | value: "" |
| | | }); |
| | | this.sesionsNews = sesionsNews; |
| | | this.selectPlace2 = `全部(共${sesionsNews.length}种)`; |
| | | if (status == 1) { |
| | | this.alarmDev(); |
| | | } |
| | | } |
| | | }, |
| | | alarmDev () { |
| | | this.alarmDev1(); |
| | | this.alarmDev2(); |
| | | }, |
| | | /* 告警信息 */ |
| | | async alarmDev1() { |
| | | let loading; |
| | | if (this.isFirstQuery) { |
| | | loading = this.$layer.loading(1); |
| | | } |
| | | const newAlarm = await deviceAlarm({ |
| | | stationName1: this.selectValue1, |
| | | stationName: this.selectValue2, |
| | | alm_type: this.value, |
| | | alm_is_confirmed: 0, |
| | | page: { |
| | | pageSize: this.queryInfo1.pagesize, |
| | | pageCurr: this.queryInfo1.currentPage |
| | | } |
| | | }); |
| | | if (newAlarm.data.result && JSON.parse(newAlarm.data.result).code == 1) { |
| | | const ssAlram = JSON.parse(newAlarm.data.result).data; |
| | | const alarmNes = ssAlram.map( |
| | | (item, index) => { |
| | | item.index = index + 1; |
| | | let isalarm1; |
| | | if (item.alm_is_confirmed === 1) { |
| | | isalarm1 = true |
| | | } else { |
| | | isalarm1 = false |
| | | } |
| | | return { |
| | | rooms1: item.index, |
| | | batterys1: item.dev_id, |
| | | tesa1: item.dev_name, |
| | | dev1: item.dev_ip, |
| | | tester1: item.stationName, |
| | | starts1: item.alm_start_time, |
| | | ends1: item.alm_end_time, |
| | | monomers1: item.alm_confirmed_time, |
| | | num: item.num, |
| | | alm_is_confirmed: item.alm_is_confirmed, |
| | | alm_level: item.alm_level, |
| | | alm_type: item.alm_type, |
| | | alm_value: item.alm_value, |
| | | isalarm1: isalarm1 |
| | | }; |
| | | } |
| | | ); |
| | | this.table1.datas = alarmNes; |
| | | this.total1 = ssAlram[ssAlram.length - 1].usr_id; |
| | | this.isFirstQuery = false; |
| | | // 关闭等待框 |
| | | loading && this.$layer.close(loading); |
| | | } else { |
| | | this.table1.datas = []; |
| | | this.total1 = 0; |
| | | // 关闭等待框 |
| | | this.$layer.close(loading); |
| | | } |
| | | }, |
| | | /* 告警信息 */ |
| | | async alarmDev2() { |
| | | let loading; |
| | | if (this.isFirstQuery) { |
| | | loading = this.$layer.loading(1); |
| | | } |
| | | const newAlarm = await deviceAlarm({ |
| | | stationName1: this.selectValue1, |
| | | stationName: this.selectValue2, |
| | | alm_type: this.value, |
| | | alm_is_confirmed: 1, |
| | | page: { |
| | | pageSize: this.queryInfo2.pagesize, |
| | | pageCurr: this.queryInfo2.currentPage |
| | | } |
| | | }); |
| | | if (newAlarm.data.result && JSON.parse(newAlarm.data.result).code == 1) { |
| | | const ssAlram = JSON.parse(newAlarm.data.result).data; |
| | | const alarmNes = ssAlram.map( |
| | | (item, index) => { |
| | | item.index = index + 1; |
| | | let isalarm1; |
| | | if (item.alm_is_confirmed === 1) { |
| | | isalarm1 = true |
| | | } else { |
| | | isalarm1 = false |
| | | } |
| | | return { |
| | | rooms1: item.index, |
| | | batterys1: item.dev_id, |
| | | tesa1: item.dev_name, |
| | | dev1: item.dev_ip, |
| | | tester1: item.stationName, |
| | | starts1: item.alm_start_time, |
| | | ends1: item.alm_end_time, |
| | | monomers1: item.alm_confirmed_time, |
| | | num: item.num, |
| | | alm_is_confirmed: item.alm_is_confirmed, |
| | | alm_level: item.alm_level, |
| | | alm_type: item.alm_type, |
| | | alm_value: item.alm_value, |
| | | isalarm1: isalarm1 |
| | | }; |
| | | } |
| | | ); |
| | | this.table2.datas = alarmNes; |
| | | this.total2 = ssAlram[ssAlram.length - 1].usr_id; |
| | | this.isFirstQuery = false; |
| | | // 关闭等待框 |
| | | loading && this.$layer.close(loading); |
| | | } else { |
| | | this.table2.datas = []; |
| | | this.total2 = 0; |
| | | // 关闭等待框 |
| | | this.$layer.close(loading); |
| | | } |
| | | }, |
| | | startSearch() { |
| | | this.timer.start(()=>{ |
| | | this.$axios.all([ |
| | | this.alarmDev() |
| | | ]).then(()=>{ |
| | | this.timer.open(); |
| | | }).catch(error=>{ |
| | | console.log(error); |
| | | this.timer.open(); |
| | | }); |
| | | },4000); |
| | | }, |
| | | /* 删除 */ |
| | | async deviceDelete(value) { |
| | | const confirmResult = await this.$confirm( |
| | | "确定删除这条告警记录吗, 是否继续?", |
| | | "提示", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | } |
| | | ).catch(err => err); |
| | | if (confirmResult !== "confirm") { |
| | | return this.$message.info("已取消删除"); |
| | | } |
| | | const ws = await deviceDelete([{ |
| | | num: value.num, |
| | | stationName: value.tester1, |
| | | note: " " |
| | | }]); |
| | | if (JSON.parse(ws.data.result).code !== 1) { |
| | | return this.$message.error("删除失败"); |
| | | } |
| | | this.$message.success("删除成功"); |
| | | if (this.currentPage !== 1) { |
| | | if (this.table.datas.length === 1) { |
| | | this.currentPage -= 1; |
| | | } |
| | | } |
| | | this.alarmDev(); |
| | | }, |
| | | /* 确认告警 */ |
| | | async okAlarm(vlas) { |
| | | const confirmResult = await this.$confirm( |
| | | "确定告警这条告警记录吗, 是否继续?", |
| | | "提示", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | } |
| | | ).catch(err => err); |
| | | if (confirmResult !== "confirm") { |
| | | return this.$message.info("已取消确认!"); |
| | | } |
| | | const wk = await deviceOk([{ |
| | | stationname: vlas.tester1, |
| | | num: vlas.num, |
| | | alm_confirmed_time: new Date().format('yyyy-MM-dd hh:mm:ss'), |
| | | alm_is_confirmed: 1, |
| | | note: "" |
| | | }]); |
| | | if (wk.data.result && JSON.parse(wk.data.result).code == 1) { |
| | | this.$message.info("修改成功!"); |
| | | this.alarmDev(); |
| | | } else { |
| | | this.$message.info("修改失败!"); |
| | | } |
| | | }, |
| | | /* 取消警告 */ |
| | | async cancesWa(valuew) { |
| | | const confirmResult = await this.$confirm( |
| | | "确定取消这条告警记录吗, 是否继续?", |
| | | "提示", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | } |
| | | ).catch(err => err); |
| | | if (confirmResult !== "confirm") { |
| | | return this.$message.info("已取消确认!"); |
| | | } |
| | | const cc = await CancelWarning([{ |
| | | num: valuew.num, |
| | | stationName: valuew.tester1, |
| | | note: "0", |
| | | alm_cleared_type: "1", |
| | | alm_end_time: valuew.ends1, |
| | | record_id: "0" |
| | | }]); |
| | | if (JSON.parse(cc.data.result).code !== 1) { |
| | | return this.$message.error("确认失败!"); |
| | | } |
| | | this.$message.success("取消成功!"); |
| | | this.alarmDev(); |
| | | }, |
| | | //维护区改变 |
| | | changeSelect1() { |
| | | this.selectValue2 = ''; |
| | | this.deviceName(1); |
| | | if (item.alm_level == 1) { |
| | | item.alm_level_name = '一级告警' |
| | | } else if (item.alm_level == 2) { |
| | | item.alm_level_name = '二级告警' |
| | | } else if (item.alm_level == 3) { |
| | | item.alm_level_name = '三级告警' |
| | | } else if (item.alm_level == 4) { |
| | | item.alm_level_name = '四级告警' |
| | | } |
| | | |
| | | }, |
| | | // 显示条数 |
| | | handleSizeChange1(val) { |
| | | this.queryInfo1.pagesize = val; |
| | | this.alarmDev(); |
| | | }, |
| | | // 翻页 |
| | | handleCurrentChange1(val2) { |
| | | this.queryInfo1.currentPage = val2; |
| | | this.alarmDev(); |
| | | }, |
| | | // 显示条数 |
| | | handleSizeChange2(val) { |
| | | this.queryInfo2.pagesize = val; |
| | | this.alarmDev(); |
| | | }, |
| | | // 翻页 |
| | | handleCurrentChange2(val2) { |
| | | this.queryInfo2.currentPage = val2; |
| | | this.alarmDev(); |
| | | } |
| | | }, |
| | | if (item.alm_is_confirmed === 1) { |
| | | item.isalarm1 = '是' |
| | | } else { |
| | | item.isalarm1 = '否' |
| | | } |
| | | }) |
| | | } |
| | | let excelData = this.formatJson(filterVal, list); |
| | | export_json_to_excel(tHeader, excelData, "设备告警实时数据-已确认"); |
| | | }, |
| | | formatJson(filterVal, jsonData) { |
| | | return jsonData.map(v => filterVal.map(j => v[j])); |
| | | }, |
| | | /* 维护区 */ |
| | | async deviceTime() { |
| | | const devieceList = await deviceTypes(); |
| | | if ( |
| | | devieceList.data.result && |
| | | JSON.parse(devieceList.data.result).code == 1 |
| | | ) { |
| | | let newDevie = JSON.parse(devieceList.data.result).data.map(item => { |
| | | return { |
| | | label: item, |
| | | value: item |
| | | }; |
| | | }); |
| | | newDevie.unshift({ |
| | | label: `全部共${newDevie.length}种`, |
| | | value: "" |
| | | }); |
| | | this.newDevie = newDevie; |
| | | this.selectPlace1 = `全部(共${newDevie.length}种)`; |
| | | } |
| | | }, |
| | | /* 机房名称 */ |
| | | async deviceName(status) { |
| | | const newDevicess = await deviceSeions({ |
| | | UNote: this.selectValue1 |
| | | }); |
| | | if ( |
| | | newDevicess.data.result && |
| | | JSON.parse(newDevicess.data.result).code == 1 |
| | | ) { |
| | | let sesionsNews = JSON.parse(newDevicess.data.result).data.map(item => { |
| | | return { |
| | | label: item, |
| | | value: item |
| | | }; |
| | | }); |
| | | sesionsNews.unshift({ |
| | | label: `全部共${sesionsNews.length}种`, |
| | | value: "" |
| | | }); |
| | | this.sesionsNews = sesionsNews; |
| | | this.selectPlace2 = `全部(共${sesionsNews.length}种)`; |
| | | if (status == 1) { |
| | | this.alarmDev(); |
| | | } |
| | | } |
| | | }, |
| | | alarmDev() { |
| | | this.alarmDev1(); |
| | | this.alarmDev2(); |
| | | }, |
| | | /* 告警信息 */ |
| | | async alarmDev1() { |
| | | let loading; |
| | | if (this.isFirstQuery) { |
| | | loading = this.$layer.loading(1); |
| | | } |
| | | const newAlarm = await deviceAlarm({ |
| | | stationName1: this.selectValue1, |
| | | stationName: this.selectValue2, |
| | | alm_type: this.value, |
| | | alm_is_confirmed: 0, |
| | | page: { |
| | | pageSize: this.queryInfo1.pagesize, |
| | | pageCurr: this.queryInfo1.currentPage |
| | | } |
| | | }); |
| | | if (newAlarm.data.result && JSON.parse(newAlarm.data.result).code == 1) { |
| | | const ssAlram = JSON.parse(newAlarm.data.result).data; |
| | | const alarmNes = ssAlram.map( |
| | | (item, index) => { |
| | | item.index = index + 1; |
| | | let isalarm1; |
| | | if (item.alm_is_confirmed === 1) { |
| | | isalarm1 = true |
| | | } else { |
| | | isalarm1 = false |
| | | } |
| | | return { |
| | | rooms1: item.index, |
| | | batterys1: item.dev_id, |
| | | tesa1: item.dev_name, |
| | | dev1: item.dev_ip, |
| | | tester1: item.stationName, |
| | | starts1: item.alm_start_time, |
| | | ends1: item.alm_end_time, |
| | | monomers1: item.alm_confirmed_time, |
| | | num: item.num, |
| | | alm_is_confirmed: item.alm_is_confirmed, |
| | | alm_level: item.alm_level, |
| | | alm_level_name: getLabelByValue(item.alm_level, this.levels, "---"), |
| | | alm_type: item.alm_type, |
| | | alm_name: getLabelByValue(item.alm_type, this.options, "---"), |
| | | alm_value: item.alm_value, |
| | | isalarm1: isalarm1 |
| | | }; |
| | | } |
| | | ); |
| | | this.table1.datas = alarmNes; |
| | | this.total1 = ssAlram[ssAlram.length - 1].usr_id; |
| | | this.isFirstQuery = false; |
| | | // 关闭等待框 |
| | | loading && this.$layer.close(loading); |
| | | } else { |
| | | this.table1.datas = []; |
| | | this.total1 = 0; |
| | | // 关闭等待框 |
| | | this.$layer.close(loading); |
| | | } |
| | | }, |
| | | /* 告警信息 */ |
| | | async alarmDev2() { |
| | | let loading; |
| | | if (this.isFirstQuery) { |
| | | loading = this.$layer.loading(1); |
| | | } |
| | | const newAlarm = await deviceAlarm({ |
| | | stationName1: this.selectValue1, |
| | | stationName: this.selectValue2, |
| | | alm_type: this.value, |
| | | alm_is_confirmed: 1, |
| | | page: { |
| | | pageSize: this.queryInfo2.pagesize, |
| | | pageCurr: this.queryInfo2.currentPage |
| | | } |
| | | }); |
| | | if (newAlarm.data.result && JSON.parse(newAlarm.data.result).code == 1) { |
| | | const ssAlram = JSON.parse(newAlarm.data.result).data; |
| | | const alarmNes = ssAlram.map( |
| | | (item, index) => { |
| | | item.index = index + 1; |
| | | let isalarm1; |
| | | if (item.alm_is_confirmed === 1) { |
| | | isalarm1 = true |
| | | } else { |
| | | isalarm1 = false |
| | | } |
| | | return { |
| | | rooms1: item.index, |
| | | batterys1: item.dev_id, |
| | | tesa1: item.dev_name, |
| | | dev1: item.dev_ip, |
| | | tester1: item.stationName, |
| | | starts1: item.alm_start_time, |
| | | ends1: item.alm_end_time, |
| | | monomers1: item.alm_confirmed_time, |
| | | num: item.num, |
| | | alm_is_confirmed: item.alm_is_confirmed, |
| | | alm_level: item.alm_level, |
| | | alm_level_name: getLabelByValue(item.alm_level, this.levels, "---"), |
| | | alm_type: item.alm_type, |
| | | alm_name: getLabelByValue(item.alm_type, this.options, "---"), |
| | | alm_value: item.alm_value, |
| | | isalarm1: isalarm1 |
| | | }; |
| | | } |
| | | ); |
| | | this.table2.datas = alarmNes; |
| | | this.total2 = ssAlram[ssAlram.length - 1].usr_id; |
| | | this.isFirstQuery = false; |
| | | // 关闭等待框 |
| | | loading && this.$layer.close(loading); |
| | | } else { |
| | | this.table2.datas = []; |
| | | this.total2 = 0; |
| | | // 关闭等待框 |
| | | this.$layer.close(loading); |
| | | } |
| | | }, |
| | | startSearch() { |
| | | this.timer.start(() => { |
| | | this.$axios.all([ |
| | | this.alarmDev() |
| | | ]).then(() => { |
| | | this.timer.open(); |
| | | }).catch(error => { |
| | | console.log(error); |
| | | this.timer.open(); |
| | | }); |
| | | }, 4000); |
| | | }, |
| | | /* 删除 */ |
| | | async deviceDelete(value) { |
| | | const confirmResult = await this.$confirm( |
| | | "确定删除这条告警记录吗, 是否继续?", |
| | | "提示", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | } |
| | | ).catch(err => err); |
| | | if (confirmResult !== "confirm") { |
| | | return this.$message.info("已取消删除"); |
| | | } |
| | | const ws = await deviceDelete([{ |
| | | num: value.num, |
| | | stationName: value.tester1, |
| | | note: " " |
| | | }]); |
| | | if (JSON.parse(ws.data.result).code !== 1) { |
| | | return this.$message.error("删除失败"); |
| | | } |
| | | this.$message.success("删除成功"); |
| | | if (this.currentPage !== 1) { |
| | | if (this.table.datas.length === 1) { |
| | | this.currentPage -= 1; |
| | | } |
| | | } |
| | | this.alarmDev(); |
| | | }, |
| | | /* 确认告警 */ |
| | | async okAlarm(vlas) { |
| | | const confirmResult = await this.$confirm( |
| | | "确定告警这条告警记录吗, 是否继续?", |
| | | "提示", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | } |
| | | ).catch(err => err); |
| | | if (confirmResult !== "confirm") { |
| | | return this.$message.info("已取消确认!"); |
| | | } |
| | | const wk = await deviceOk([{ |
| | | stationname: vlas.tester1, |
| | | num: vlas.num, |
| | | alm_confirmed_time: new Date().format('yyyy-MM-dd hh:mm:ss'), |
| | | alm_is_confirmed: 1, |
| | | note: "" |
| | | }]); |
| | | if (wk.data.result && JSON.parse(wk.data.result).code == 1) { |
| | | this.$message.info("修改成功!"); |
| | | this.alarmDev(); |
| | | } else { |
| | | this.$message.info("修改失败!"); |
| | | } |
| | | }, |
| | | /* 取消警告 */ |
| | | async cancesWa(valuew) { |
| | | const confirmResult = await this.$confirm( |
| | | "确定取消这条告警记录吗, 是否继续?", |
| | | "提示", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | } |
| | | ).catch(err => err); |
| | | if (confirmResult !== "confirm") { |
| | | return this.$message.info("已取消确认!"); |
| | | } |
| | | const cc = await CancelWarning([{ |
| | | num: valuew.num, |
| | | stationName: valuew.tester1, |
| | | note: "0", |
| | | alm_cleared_type: "1", |
| | | alm_end_time: valuew.ends1, |
| | | record_id: "0" |
| | | }]); |
| | | if (JSON.parse(cc.data.result).code !== 1) { |
| | | return this.$message.error("确认失败!"); |
| | | } |
| | | this.$message.success("取消成功!"); |
| | | this.alarmDev(); |
| | | }, |
| | | //维护区改变 |
| | | changeSelect1() { |
| | | this.selectValue2 = ''; |
| | | this.deviceName(1); |
| | | |
| | | }, |
| | | // 显示条数 |
| | | handleSizeChange1(val) { |
| | | this.queryInfo1.pagesize = val; |
| | | this.alarmDev(); |
| | | }, |
| | | // 翻页 |
| | | handleCurrentChange1(val2) { |
| | | this.queryInfo1.currentPage = val2; |
| | | this.alarmDev(); |
| | | }, |
| | | // 显示条数 |
| | | handleSizeChange2(val) { |
| | | this.queryInfo2.pagesize = val; |
| | | this.alarmDev(); |
| | | }, |
| | | // 翻页 |
| | | handleCurrentChange2(val2) { |
| | | this.queryInfo2.currentPage = val2; |
| | | this.alarmDev(); |
| | | } |
| | | }, |
| | | destroyed() { |
| | | this.timer.stop(); |
| | | this.timer.stop(); |
| | | } |
| | | }; |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="less" scoped> |