whychdw
2021-07-13 dfdebda2f8f388e65999721c687070eb1f18c924
提交内容
1个文件已添加
4个文件已修改
1619 ■■■■ 已修改文件
public/index.html 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/js/config.js 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/js/tools/getDevAlarm.js 90 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/alarmMager/deviceTimequery.vue 1511 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/login.vue 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
public/index.html
@@ -11,7 +11,7 @@
    <!-- <script type="text/javascript" src="https://api.map.baidu.com/library/SearchInfoWindow/1.5/src/SearchInfoWindow_min.js"></script> -->
    <link rel="stylesheet" href="./map/library/SearchInfoWindow_min.css" />
    <script src="./map/library/SearchInfoWindow_min.js"></script>
    <title><%= htmlWebpackPlugin.options.title %></title>
    <title>监控平台</title>
  </head>
  <body>
    <noscript>
src/assets/js/config.js
@@ -3,7 +3,7 @@
        label: '平台logo',
        des: '显示平台logo状态',
        fileName: 'qwh',       // gjdw, nfdw, gjdx, qwh
        value: true,
        value: false,
    },
    uKey: {
        label: 'uKey',
@@ -32,7 +32,8 @@
    },
    copyRight: {
        label: '版权声明',
        des: '版权所有:北京清网华科技股份有限公司 电话:021-75498(路电)',
        value: true,
        des: '显示版权信息',
        data: '版权所有:北京清网华科技股份有限公司 电话:021-75498(路电)',
        value: false,
    },
}
src/assets/js/tools/getDevAlarm.js
New file
@@ -0,0 +1,90 @@
function getDevAlarm() {
    return {
        types: [
            {
                value: "119020",
                label: "通信故障"
            },
            {
                value: "618501",
                label: "继电器K1告警"
            },
            {
                value: "618502",
                label: "通讯告警"
            },
            {
                value: "618503",
                label: "设备过温告警"
            },
            {
                value: "618504",
                label: "二极管D1告警"
            },
            {
                value: "618505",
                label: "干接点告警"
            },
            {
                value: "618506",
                label: "异常核容或养护终止告警"
            },
            {
                value: "119023",
                label: "续航不足告警"
            },
            {
                value: "119024",
                label: "基站停电告警"
            },
            {
                value: "119025",
                label: "基站发电告警"
            },
            {
                value: "119026",
                label: "基站掉站告警"
            },
            {
                value: "119027",
                label: "基站开门告警"
            },
            {
                value: "119028",
                label: "设备高温告警"
            },
            {
                value: "119032",
                label: "设备SD卡故障"
            },
            {
                value: "119033",
                label: "采集线告警"
            },
            {
                value: "119034",
                label: "停电电流均衡告警"
            },
        ],
        levels: [
            {
                value: 1,
                label: '一级告警'
            },
            {
                value: 2,
                label: '二级告警'
            },
            {
                value: 3,
                label: '三级告警'
            },
            {
                value: 4,
                label: '四级告警'
            },
        ],
    };
}
export default getDevAlarm;
src/pages/alarmMager/deviceTimequery.vue
@@ -1,811 +1,736 @@
<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>
src/pages/login.vue
@@ -79,7 +79,7 @@
            </div>
        </div>
        <div class="copy-right" v-if="copyRight.value">
            {{copyRight.des}}
            {{copyRight.data}}
        </div>
    </div>
@@ -320,6 +320,11 @@
        logoUrl() {
            let logoConfig = this.logoConfig;
            let image = yuanchange;
            if(!logoConfig.value) {
                return image;
            }
            switch (logoConfig.fileName) {
                case "nfdw":
                    image = nfdw
@@ -425,7 +430,7 @@
        font-weight: bold;
        .logoImg {
            height: 60px;
            height: 50px;
            margin-right: 14px;
        }
    }