UA 电池实时告警 历史告警 设备实时告警 国际化
| | |
| | | method: 'GET', |
| | | url: 'battInf/getVideoAccessToken' |
| | | }); |
| | | } |
| | | /** |
| | | * 国际化语言切换 |
| | | */ |
| | | export const serverLang = (lang) => { |
| | | return axios({ |
| | | method: 'GET', |
| | | url: 'server/lang', |
| | | params: { |
| | | lang |
| | | } |
| | | }); |
| | | } |
| | |
| | | * 山西太原: 'sxty' |
| | | * 杭州送检: 'hzsj' |
| | | */ |
| | | name: 'sxty', |
| | | name: '', |
| | | value: false, |
| | | }, |
| | | // 是否要(加验签) 安全模式 |
| | |
| | | }, |
| | | form: { |
| | | validateMsg: '存在校验未通过的数据', |
| | | allCount: '全部(共{n}种) | 全部(共{n}种) | 全部(共{n}种)', |
| | | selectDate: '选择日期', |
| | | yes: '是', |
| | | no: '否', |
| | | }, |
| | | operate: { |
| | | ok: '确定', |
| | |
| | | export: '导出', |
| | | search: '查询', |
| | | operation: '操作', |
| | | successMsg: '操作成功', |
| | | failMsg: '操作失败', |
| | | }, |
| | | }, |
| | | US: { |
| | |
| | | }, |
| | | form: { |
| | | validateMsg: 'Verify failed data existed', |
| | | allCount: 'All({n}) | All({n}) | All({n})', |
| | | selectDate: 'Select Date', |
| | | yes: 'Yes', |
| | | no: 'No', |
| | | }, |
| | | operate: { |
| | | ok: 'Ok', |
| | |
| | | export: 'Export', |
| | | search: 'Search', |
| | | operation: 'Operation', |
| | | successMsg: 'Operation Successful!', |
| | | failMsg: 'Operation Failed!', |
| | | }, |
| | | } |
| | | } |
New file |
| | |
| | | export default { |
| | | messages: { |
| | | CN: { |
| | | 119020: "通信故障", |
| | | 618501: "继电器K1告警", |
| | | 618502: "通讯告警", |
| | | 618503: "设备过温告警", |
| | | 618504: "二极管D1告警", |
| | | 618505: "干接点告警", |
| | | 618506: "异常核容或养护终止告警", |
| | | 119023: "续航不足告警", |
| | | 119024: "基站停电告警", |
| | | 119025: "基站发电告警", |
| | | 119026: "基站掉站告警", |
| | | 119027: "基站开门告警", |
| | | 119028: "设备高温告警", |
| | | 119032: "设备SD卡故障", |
| | | 119033: "采集线告警", |
| | | 119034: "停电电流均衡告警", |
| | | level1: '一级告警', |
| | | level2: '二级告警', |
| | | level3: '三级告警', |
| | | level4: '四级告警', |
| | | }, |
| | | US: { |
| | | 119020: "Comm Error", |
| | | 618501: "Relay K1 Alarm", |
| | | 618502: "Communication Alarm", |
| | | 618503: "Device Overheat Alarm", |
| | | 618504: "Diode D1 Alarm", |
| | | 618505: "Dry Contact Alarm", |
| | | 618506: "Abnormal Capacity Check or maintenance termination alarm", |
| | | 119023: "Insufficient Battery Life Alarm", |
| | | 119024: "Base Station Power Outage Alarm", |
| | | 119025: "Base Station Power Generating Alarm", |
| | | 119026: "Base Station Power Off Alarm", |
| | | // 119027: "基站开门告警", |
| | | 119028: "Device High Temperature Alarm", |
| | | 119032: "Device SD Card Error", |
| | | 119033: "Acquisition Harness Alarm", |
| | | 119034: "Outage Current Balance Alarm", |
| | | level1: 'Level 1 Alarm', |
| | | level2: 'Level 2 Alarm', |
| | | level3: 'Level 3 Alarm', |
| | | level4: 'Level 4 Alarm', |
| | | } |
| | | } |
| | | } |
| | |
| | | /** |
| | | * 修改文件需要修改上层tools目录同级目录i18n目录下的同名js文件 |
| | | */ |
| | | function getDevAlarm() { |
| | | return { |
| | | types: [ |
| | | { |
| | | value: "119020", |
| | | label: "通信故障" |
| | | label: "119020" |
| | | }, |
| | | { |
| | | value: "618501", |
| | | label: "继电器K1告警" |
| | | label: "618501" |
| | | }, |
| | | { |
| | | value: "618502", |
| | | label: "通讯告警" |
| | | label: "618502" |
| | | }, |
| | | { |
| | | value: "618503", |
| | | label: "设备过温告警" |
| | | label: "618503" |
| | | }, |
| | | { |
| | | value: "618504", |
| | | label: "二极管D1告警" |
| | | label: "618504" |
| | | }, |
| | | { |
| | | value: "618505", |
| | | label: "干接点告警" |
| | | label: "618505" |
| | | }, |
| | | { |
| | | value: "618506", |
| | | label: "异常核容或养护终止告警" |
| | | label: "618506" |
| | | }, |
| | | { |
| | | value: "119023", |
| | | label: "续航不足告警" |
| | | label: "119023" |
| | | }, |
| | | { |
| | | value: "119024", |
| | | label: "基站停电告警" |
| | | label: "119024" |
| | | }, |
| | | { |
| | | value: "119025", |
| | | label: "基站发电告警" |
| | | label: "119025" |
| | | }, |
| | | { |
| | | value: "119026", |
| | | label: "基站掉站告警" |
| | | label: "119026" |
| | | }, |
| | | { |
| | | value: "119027", |
| | | label: "基站开门告警" |
| | | }, |
| | | // { |
| | | // value: "119027", |
| | | // label: "基站开门告警" |
| | | // }, |
| | | { |
| | | value: "119028", |
| | | label: "设备高温告警" |
| | | label: "119028" |
| | | }, |
| | | { |
| | | value: "119032", |
| | | label: "设备SD卡故障" |
| | | label: "119032" |
| | | }, |
| | | { |
| | | value: "119033", |
| | | label: "采集线告警" |
| | | label: "119033" |
| | | }, |
| | | { |
| | | value: "119034", |
| | | label: "停电电流均衡告警" |
| | | label: "119034" |
| | | }, |
| | | ], |
| | | levels: [ |
| | | { |
| | | value: 1, |
| | | label: '一级告警' |
| | | label: 'level1' |
| | | }, |
| | | { |
| | | value: 2, |
| | | label: '二级告警' |
| | | label: 'level2' |
| | | }, |
| | | { |
| | | value: 3, |
| | | label: '三级告警' |
| | | label: 'level3' |
| | | }, |
| | | { |
| | | value: 4, |
| | | label: '四级告警' |
| | | label: 'level4' |
| | | }, |
| | | ], |
| | | }; |
| | |
| | | import i18n from './i18n/navbar'; |
| | | import pifuI18n from './i18n/pifuList'; |
| | | import { createI18nOption } from '@/assets/js/tools/i18n'; |
| | | import { serverLang } from '@/assets/js/api'; |
| | | |
| | | const i18nMixin = createI18nOption(i18n, [[pifuI18n, 'pifu']]); |
| | | export default { |
| | |
| | | }; |
| | | }, |
| | | methods: { |
| | | sendLang(lang) { |
| | | let _lang = ''; |
| | | switch (lang) { |
| | | case 'US': |
| | | _lang = 'en_US'; |
| | | break; |
| | | case 'CN': |
| | | _lang = 'zh_CN'; |
| | | break; |
| | | } |
| | | // 请求接口 |
| | | serverLang(_lang).catch(err => { |
| | | console.log(err); |
| | | }); |
| | | }, |
| | | closeUsefulTools() { |
| | | this.usefulToolsDrawer = false; |
| | | }, |
| | |
| | | handler(v) { |
| | | // this.$i18n.locale = v; |
| | | // this.$root.$i18n.locale = v; |
| | | // 通知后台 当前语种 |
| | | this.sendLang(v); |
| | | this.sendMessage(); |
| | | }, |
| | | immediate: true |
| | | }, |
| | | }, |
| | | mounted() { |
| | | console.log(this.$i18n) |
| | | // console.log(this.$i18n) |
| | | // 启动请求 |
| | | // this.startSearch(); |
| | | |
| | |
| | | :level4="levelRes.four"></number-total-labels> |
| | | <div class="table-layout filter-box-table"> |
| | | <div class="table-row"> |
| | | <div class="table-cell text-right">维护区:</div> |
| | | <div class="table-cell text-right">{{ $t('MaintenanceArea') }}:</div> |
| | | <div class="table-cell"> |
| | | <el-select |
| | | v-model="selectValue1" |
| | | size="small" |
| | | @change="changeSelect1" |
| | | :placeholder="selectPlace1" |
| | | class="weihu" |
| | | > |
| | | <el-option |
| | | v-for="(item, i) in newsHost" |
| | | :key="'host_' + i" |
| | | :label="item.label" |
| | | :label="0 == i ? $tc('form.allCount', item.label) : item.label" |
| | | :value="item.value" |
| | | ></el-option> |
| | | </el-select> |
| | | </div> |
| | | <div class="table-cell text-right">机房站点:</div> |
| | | <div class="table-cell text-right">{{ $t('EquipmentRoomSite') }}:</div> |
| | | <div class="table-cell"> |
| | | <el-select |
| | | v-model="selectValue2" |
| | | size="small" |
| | | @change="batterJque" |
| | | :placeholder="selectPlace2" |
| | | class="rooms" |
| | | > |
| | | <el-option |
| | | v-for="(item, i) in newSite" |
| | | :key="'room_' + i" |
| | | :label="item.label" |
| | | :label="0 == i ? $tc('form.allCount', item.label) : item.label" |
| | | :value="item.value" |
| | | ></el-option> |
| | | </el-select> |
| | | </div> |
| | | <div class="table-cell text-right">蓄电池组:</div> |
| | | <div class="table-cell text-right">{{ $t('BatteryGroup') }}:</div> |
| | | <div class="table-cell"> |
| | | <el-select |
| | | v-model="selectValue3" |
| | | size="small" |
| | | :placeholder="selectPlace3" |
| | | @change="historyArlm" |
| | | class="dainchi" |
| | | > |
| | | <el-option :label="selectPlace3" :value="0"></el-option> |
| | | <el-option :label="$tc('form.allCount', selectPlace3)" :value="0"></el-option> |
| | | <el-option |
| | | v-for="(item, i) in batterList" |
| | | :key="'batt_' + i" |
| | | :label="item.BattGroupName" |
| | | :label="item.battGroupName + '-' + $tc('cells', item.monCount)" |
| | | :value="item.battGroupId" |
| | | ></el-option> |
| | | </el-select> |
| | | </div> |
| | | <div class="table-cell text-right">告警开始日期:</div> |
| | | <div class="table-cell text-right">{{ $t('AlarmStartDate') }}:</div> |
| | | <div class="table-cell"> |
| | | <el-date-picker |
| | | v-model="startDrsj" |
| | |
| | | class="time_box" |
| | | :picker-options="pickerOptions0" |
| | | type="date" |
| | | placeholder="选择日期" |
| | | :placeholder="$t('form.selectDate')" |
| | | value-format="yyyy-MM-dd" |
| | | ></el-date-picker |
| | | >- |
| | |
| | | class="time_box" |
| | | :picker-options="pickerOptions1" |
| | | type="date" |
| | | placeholder="选择日期" |
| | | :placeholder="$t('form.selectDate')" |
| | | value-format="yyyy-MM-dd" |
| | | ></el-date-picker> |
| | | </div> |
| | |
| | | <table class="condiOpt" border="1"> |
| | | <tr class="trTitle"> |
| | | <td> |
| | | <center>告警条件过滤</center> |
| | | <center>{{ $t('AlarmConditionFiltering') }}</center> |
| | | </td> |
| | | <td> |
| | | <center>告警阀值过滤</center> |
| | | <center>{{ $t('AlarmThresholdFiltering') }}</center> |
| | | </td> |
| | | <td> |
| | | <center>告警等级过滤</center> |
| | | <center>{{ $t('AlarmLevelFiltering') }}</center> |
| | | </td> |
| | | </tr> |
| | | <tr class="trBody"> |
| | |
| | | <ul class="inputOne"> |
| | | <li> |
| | | <el-checkbox v-model="checkbox.usr_id.bol" |
| | | >在线电压</el-checkbox |
| | | >{{ $t('OnlineVoltage') }}</el-checkbox |
| | | > |
| | | <!-- <input type="checkbox" value="119002" checked="checked" v-model="" />组端电压 --> |
| | | </li> |
| | | <li> |
| | | <el-checkbox v-model="checkbox.fault_type_id.bol" |
| | | >组端电压</el-checkbox |
| | | >{{ $t('StringVoltage') }}</el-checkbox |
| | | > |
| | | <!-- <input type="checkbox" value="119002" checked="checked" v-model="" />组端电压 --> |
| | | </li> |
| | | <li> |
| | | <el-checkbox v-model="checkbox.uname.bol">漏液电压</el-checkbox> |
| | | <!-- <input type="checkbox" value="119002" checked="checked" v-model="" />组端电压 --> |
| | | <el-checkbox v-model="checkbox.uname.bol">{{ $t('LeakageVoltage') }}</el-checkbox> |
| | | </li> |
| | | <li> |
| | | <el-checkbox v-model="checkbox.fault_level.bol" |
| | | >充电电流</el-checkbox |
| | | >{{ $t('ChargeCurrent') }}</el-checkbox |
| | | > |
| | | </li> |
| | | <li> |
| | | <el-checkbox v-model="checkbox.record_uid.bol" |
| | | >放电电流</el-checkbox |
| | | >{{ $t('DischargeCurrent') }}</el-checkbox |
| | | > |
| | | </li> |
| | | <br /> |
| | | <li> |
| | | <el-checkbox v-model="checkbox.maint_type_id.bol" |
| | | >单体电压</el-checkbox |
| | | >{{ $t('CellVoltage') }}</el-checkbox |
| | | > |
| | | </li> |
| | | <li> |
| | | <el-checkbox v-model="checkbox.maint_close.bol" |
| | | >单体内阻</el-checkbox |
| | | >{{ $t('CellResistance') }}</el-checkbox |
| | | > |
| | | </li> |
| | | <li> |
| | | <el-checkbox v-model="checkbox.maint_done.bol" |
| | | >单体温度</el-checkbox |
| | | >{{ $t('CellTemperature') }}</el-checkbox |
| | | > |
| | | </li> |
| | | </ul> |
| | |
| | | <ul class="inputOne"> |
| | | <li> |
| | | <el-checkbox v-model="checkbox.alm_id.bol" |
| | | >上限告警</el-checkbox |
| | | >{{ $t('UpLimitAlarm') }}</el-checkbox |
| | | > |
| | | </li> |
| | | <li> |
| | | <el-checkbox v-model="checkbox.alm_signal_id.bol" |
| | | >下限告警</el-checkbox |
| | | >{{ $t('LowLimitAlarm') }}</el-checkbox |
| | | > |
| | | </li> |
| | | </ul> |
| | |
| | | <ul class="inputOne"> |
| | | <li> |
| | | <el-checkbox v-model="checkbox.Level_one_warn.bol" |
| | | >一级告警</el-checkbox |
| | | >{{ $t('Level1Alarm') }}</el-checkbox |
| | | > |
| | | </li> |
| | | <li> |
| | | <el-checkbox v-model="checkbox.Level_two_warn.bol" |
| | | >二级告警</el-checkbox |
| | | >{{ $t('Level2Alarm') }}</el-checkbox |
| | | > |
| | | </li> |
| | | <li> |
| | | <el-checkbox v-model="checkbox.master_audit.bol" |
| | | >三级告警</el-checkbox |
| | | >{{ $t('Level3Alarm') }}</el-checkbox |
| | | > |
| | | </li> |
| | | <li> |
| | | <el-checkbox v-model="checkbox.appoint_uid.bol" |
| | | >四级告警</el-checkbox |
| | | >{{ $t('Level4Alarm') }}</el-checkbox |
| | | > |
| | | </li> |
| | | </ul> |
| | |
| | | ref="goodsDetailTable" |
| | | tooltip-effect="light" |
| | | > |
| | | <el-table-column :width="50" type="index" label="编号"> |
| | | <el-table-column :width="50" type="index" :label="$t('Num')"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | v-for="header in table.headers" |
| | | :key="header.prop" |
| | | :prop="header.prop" |
| | | :label="header.label" |
| | | :label="$t(header.label)" |
| | | :width="header.width" |
| | | :min-width="header.minWidth" |
| | | align="center" |
| | |
| | | <el-table-column |
| | | prop="cztime" |
| | | fixed="right" |
| | | width="180px" |
| | | width="200px" |
| | | align="center" |
| | | label="操作" |
| | | :label="$t('operate.operation')" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-button type="primary" size="mini" @click="goRealTime(scope.row)">实时</el-button> |
| | | <el-button type="primary" size="mini" @click="goRealTime(scope.row)">{{ $t('Realtime') }}</el-button> |
| | | <el-button |
| | | :disabled="!isCanDel" |
| | | type="danger" |
| | | size="mini" |
| | | @click="deleteUser(scope.row)" |
| | | >删除</el-button |
| | | >{{ $t('Delete') }}</el-button |
| | | > |
| | | </template> |
| | | </el-table-column> |
| | |
| | | round |
| | | size="mini" |
| | | icon="el-icon-search" |
| | | >查询</el-button |
| | | >{{ $t('operate.search') }}</el-button |
| | | > |
| | | <el-button |
| | | type="primary" |
| | |
| | | size="mini" |
| | | icon="el-icon-wallet" |
| | | @click="exportFile" |
| | | >导出</el-button |
| | | >{{ $t('operate.export') }}</el-button |
| | | > |
| | | </div> |
| | | <el-pagination |
| | |
| | | layout="total, sizes, prev, pager, next, jumper" |
| | | :total="total" |
| | | ></el-pagination> |
| | | <!-- <el-button type="primary" round size="mini" icon="el-icon-wallet">全部选中</el-button> --> |
| | | </div> |
| | | </flex-layout> |
| | | </template> |
| | |
| | | import NumberTotalLabels from "@/views/alarmMager/components/number-total-labels.vue"; |
| | | import get_county_station from "@/assets/js/tools/get_county_station"; |
| | | import getSearch from "@/assets/js/tools/getSearch"; |
| | | import i18n from './i18n/batteryrHistoryquery'; |
| | | import { createI18nOption } from '@/assets/js/tools/i18n'; |
| | | |
| | | const i18nMixin = createI18nOption(i18n); |
| | | export default { |
| | | name: "batteryrHistoryquery", |
| | | mixins: [i18nMixin], |
| | | components: {NumberTotalLabels}, |
| | | data() { |
| | | let permits = this.$store.state.user.permits; |
| | |
| | | headers: [ |
| | | { |
| | | prop: "stationNamex", |
| | | label: "机房名称", |
| | | label: "EquipmentRoomName", |
| | | minWidth: 320, |
| | | }, |
| | | { |
| | | prop: "battGroupName", |
| | | label: "电池组名称", |
| | | width: 120, |
| | | label: "BatteryGroupName", |
| | | width: 180, |
| | | }, |
| | | { |
| | | prop: "alarmName", |
| | | label: "告警名称", |
| | | label: "AlarmName", |
| | | width: 162, |
| | | }, |
| | | { |
| | | prop: "monNum", |
| | | label: "单体编号", |
| | | label: "CellNo", |
| | | width: 80, |
| | | }, |
| | | { |
| | | prop: "almValue", |
| | | label: "告警值", |
| | | width: 80, |
| | | label: "AlarmValue", |
| | | width: 120, |
| | | }, |
| | | { |
| | | prop: "almLevel", |
| | | label: "告警等级", |
| | | label: "AlarmLevel", |
| | | width: 120, |
| | | }, |
| | | { |
| | | prop: "almStartTime", |
| | | label: "告警开始时间", |
| | | label: "AlarmStartTime", |
| | | width: 180, |
| | | }, |
| | | { |
| | | prop: "almConfirmedTime", |
| | | label: "告警确认时间", |
| | | label: "AlarmConfirmTime", |
| | | width: 180, |
| | | }, |
| | | { |
| | | prop: "almEndTime", |
| | | label: "告警结束时间", |
| | | label: "almEndTime", |
| | | width: 180, |
| | | }, |
| | | ], |
| | |
| | | }); |
| | | let list = this.table.datas; |
| | | let excelData = this.formatJson(filterVal, list); |
| | | export_json_to_excel(tHeader, excelData, "电池告警历史数据"); |
| | | export_json_to_excel(tHeader, excelData, this.$t('BatteryAlarmHistoryData')); |
| | | }, |
| | | formatJson(filterVal, jsonData) { |
| | | return jsonData.map((v) => filterVal.map((j) => v[j])); |
| | |
| | | }); |
| | | let len = res.data.length; |
| | | newsHost.unshift({ |
| | | label: `全部(共${len}种)`, |
| | | label: len, |
| | | value: "", |
| | | }); |
| | | this.newsHost = newsHost; |
| | | this.selectPlace1 = `全部(共${len}种)`; |
| | | this.selectPlace1 = ''; |
| | | } |
| | | }, |
| | | /*机房站点 */ |
| | |
| | | }); |
| | | let len = res.data.length; |
| | | newSite.unshift({ |
| | | label: `全部(共${len}种)`, |
| | | label: len, |
| | | value: "", |
| | | }); |
| | | this.newSite = newSite; |
| | | this.selectPlace2 = `全部(共${len}种)`; |
| | | this.selectPlace2 = ''; |
| | | } |
| | | }, |
| | | /* 蓄电池组 */ |
| | |
| | | let res = jquerys.data; |
| | | if (res.code) { |
| | | let batterList = res.data.map((item) => { |
| | | item.BattGroupName = `${item.battGroupName}-${item.monCount}节`; |
| | | // item.BattGroupName = `${item.battGroupName}-${item.monCount}节`; |
| | | return item; |
| | | }); |
| | | /* console.log("batterList", batterList); */ |
| | | this.batterList = batterList; |
| | | this.selectPlace3 = `全部(共${batterList.length}种)`; |
| | | this.selectPlace3 = batterList.length; |
| | | /* console.log('this.batterList',this.batterList); */ |
| | | } |
| | | this.historyArlm(); |
| | |
| | | /* 删除 */ |
| | | async deleteUser(value) { |
| | | const confirmResult = await this.$confirm( |
| | | "确定删除这条告警记录吗, 是否继续?", |
| | | "提示", |
| | | this.$t('deletealarmMsg'), |
| | | this.$t('message'), |
| | | { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | confirmButtonText: this.$t('operate.ok'), |
| | | cancelButtonText: this.$t('operate.cancel'), |
| | | type: "warning", |
| | | } |
| | | ).catch((err) => err); |
| | |
| | | const ws = await hisDelet([value.num]); |
| | | let res = ws.data; |
| | | if (res.code) { |
| | | this.$message.success("删除成功"); |
| | | this.$message.success(this.$t('DeleteSuccessful')); |
| | | if (this.queryInfo.pageCurr != 1 && this.table.datas.length == 1) { |
| | | this.queryInfo.pageCurr--; |
| | | } |
| | |
| | | } |
| | | } |
| | | } |
| | | </style> |
| | | </style> |
| | |
| | | <div class="table-cell text-right">{{ $t('MaintenanceArea') }}:</div> |
| | | <div class="table-cell"> |
| | | <el-select v-model="selectValue1" :placeholder="$t('Pleaseselect')" size="small" class="weihu" @change="changeSelect1"> |
| | | <el-option v-for="item in vindicate" :key="item.label" :label="item.label" :value="item.value"> |
| | | |
| | | <el-option v-for="(item, idx) in vindicate" :key="item.label" :label="0 == idx ? $tc('form.allCount', item.label) : item.label" :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | | <div class="table-cell text-right">{{ $t('EquipmentRoomSite') }}:</div> |
| | | <div class="table-cell"> |
| | | <el-select v-model="selectValue2" @change="storageBatterys" :placeholder="$t('Pleaseselect')" size="small" class="rooms"> |
| | | <el-option v-for="(item, idx) in newRoms" :key="'newRoms_' + idx" :label="item.label" |
| | | <el-option v-for="(item, idx) in newRoms" :key="'newRoms_' + idx" :label="0 == idx ? $tc('form.allCount', item.label) : item.label" |
| | | :value="item.value"></el-option> |
| | | </el-select> |
| | | </div> |
| | | <div class="table-cell text-right">{{ $t('BatteryGroup') }}:</div> |
| | | <div class="table-cell"> |
| | | <el-select v-model="selectValue3" :placeholder="$t('Pleaseselect')" size="small" class="dainchi" @change="sendMessage"> |
| | | <el-option :label="selectPlace3" :value="0"></el-option> |
| | | <el-option v-for="(item, idx) in options" :key="'BattGroup_' + idx" :label="item.BattGroupName" |
| | | <el-option :label="$tc('form.allCount', selectPlace3)" :value="0"></el-option> |
| | | <el-option v-for="(item, idx) in options" :key="'BattGroup_' + idx" :label="item.battGroupName + '-' + $tc('cells', item.monCount)" |
| | | :value="item.battGroupId"></el-option> |
| | | </el-select> |
| | | </div> |
| | |
| | | <el-table-column :label="$t('Num')" type="index" width="50"> |
| | | </el-table-column> |
| | | <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" show-overflow-tooltip |
| | | :label="$t(header.label)" :width="header.width" :min-width="header.minWidth" show-overflow-tooltip |
| | | align="center"></el-table-column> |
| | | <el-table-column :label="$t('ConfirmAlarm')" align="center" :width="80"> |
| | | <el-table-column :label="$t('ConfirmAlarm')" align="center" :width="140"> |
| | | <template slot-scope="scope"> |
| | | <el-checkbox v-model="scope.row.almIsConfirmed" disabled></el-checkbox> |
| | | <!-- <input type="checkbox" disabled :checked="scope.row.alarm1 && scope.row.alarm1.length > 0 ? true : false"> --> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="cztime" fixed="right" width="180px" align="center" :label="$t('Operation')"> |
| | | <el-table-column prop="cztime" fixed="right" width="200px" align="center" :label="$t('Operation')"> |
| | | <template slot-scope="scope"> |
| | | <el-button type="primary" size="mini" @click="goRealTime(scope.row)">{{ $t('Realtime') }}</el-button> |
| | | <el-popover placement="top-start" style="margin-left: 8px;" trigger="hover"> |
| | |
| | | <el-table-column :label="$t('Num')" type="index" width="50"> |
| | | </el-table-column> |
| | | <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" show-overflow-tooltip |
| | | :label="$t(header.label)" :width="header.width" :min-width="header.minWidth" show-overflow-tooltip |
| | | align="center"></el-table-column> |
| | | <el-table-column :label="$t('ConfirmAlarm')" align="center" :width="80"> |
| | | <el-table-column :label="$t('ConfirmAlarm')" align="center" :width="140"> |
| | | <template slot-scope="scope"> |
| | | <el-checkbox v-model="scope.row.almIsConfirmed" disabled></el-checkbox> |
| | | <!-- <input type="checkbox" disabled :checked="scope.row.alarm1 && scope.row.alarm1.length > 0 ? true : false"> --> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="cztime" fixed="right" width="180px" align="center" :label="$t('operate.operation')"> |
| | | <el-table-column prop="cztime" fixed="right" width="200px" align="center" :label="$t('operate.operation')"> |
| | | <template slot-scope="scope"> |
| | | <el-button type="primary" size="mini" @click="goRealTime(scope.row)">{{ $t('Realtime') }}</el-button> |
| | | <el-popover placement="top-start" style="margin-left: 8px;" trigger="hover"> |
| | |
| | | headers: [ |
| | | { |
| | | prop: "stationNamex", |
| | | label: "机房名称", |
| | | label: 'EquipmentRoomName', |
| | | minWidth: 320, |
| | | }, |
| | | { |
| | | prop: "battGroupName", |
| | | label: "电池组名称", |
| | | width: 120, |
| | | label: 'BatteryGroupName', |
| | | width: 180, |
| | | }, |
| | | { |
| | | prop: "alarmName", |
| | | label: "告警名称", |
| | | label: 'AlarmName', |
| | | width: 162, |
| | | }, |
| | | { |
| | | prop: "monNum", |
| | | label: "单体编号", |
| | | label: 'CellNo', |
| | | width: 80, |
| | | }, |
| | | { |
| | | prop: "almValue", |
| | | label: "告警值", |
| | | width: 80, |
| | | label: 'AlarmValue', |
| | | width: 120, |
| | | }, |
| | | { |
| | | prop: "almLevel", |
| | | label: "告警等级", |
| | | label: 'AlarmLevel', |
| | | width: 120, |
| | | }, |
| | | { |
| | | prop: "almStartTime", |
| | | label: "告警开始时间", |
| | | label: 'AlarmStartTime', |
| | | width: 180, |
| | | }, |
| | | { |
| | | prop: "almConfirmedTime", |
| | | label: "确认告警时间", |
| | | label: 'AlarmConfirmTime', |
| | | width: 180, |
| | | }, |
| | | ], |
| | |
| | | headers: [ |
| | | { |
| | | prop: "stationNamex", |
| | | label: "机房名称", |
| | | label: 'EquipmentRoomName', |
| | | minWidth: 320, |
| | | }, |
| | | { |
| | | prop: "battGroupName", |
| | | label: "电池组名称", |
| | | width: 120, |
| | | label: 'BatteryGroupName', |
| | | width: 180, |
| | | }, |
| | | { |
| | | prop: "alarmName", |
| | | label: "告警名称", |
| | | label: 'AlarmName', |
| | | width: 162, |
| | | }, |
| | | { |
| | | prop: "monNum", |
| | | label: "单体编号", |
| | | label: 'CellNo', |
| | | width: 80, |
| | | }, |
| | | { |
| | | prop: "almValue", |
| | | label: "告警值", |
| | | width: 80, |
| | | label: 'AlarmValue', |
| | | width: 120, |
| | | }, |
| | | { |
| | | prop: "almLevel", |
| | | label: "告警等级", |
| | | label: 'AlarmLevel', |
| | | width: 120, |
| | | }, |
| | | { |
| | | prop: "almStartTime", |
| | | label: "告警开始时间", |
| | | label: 'AlarmStartTime', |
| | | width: 180, |
| | | }, |
| | | { |
| | | prop: "almConfirmedTime", |
| | | label: "确认告警时间", |
| | | label: 'AlarmConfirmTime', |
| | | width: 180, |
| | | }, |
| | | ], |
| | |
| | | tHeader.push(item.label); |
| | | filterVal.push(item.prop); |
| | | }); |
| | | tHeader.push("确认告警"); |
| | | tHeader.push(this.$t('ConfirmAlarm')); |
| | | filterVal.push("almIsConfirmed1"); |
| | | let list = this.table1.datas; |
| | | let excelData = formatJson(filterVal, list); |
| | | export_json_to_excel(tHeader, excelData, "电池告警实时数据-未确认"); |
| | | export_json_to_excel(tHeader, excelData, this.$t('BatteryAlarmUnconfirmed')); |
| | | }, |
| | | // 导出表格 |
| | | exportFile2() { |
| | |
| | | tHeader.push(item.label); |
| | | filterVal.push(item.prop); |
| | | }); |
| | | tHeader.push("确认告警"); |
| | | tHeader.push(this.$t('ConfirmAlarm')); |
| | | filterVal.push("almIsConfirmed1"); |
| | | let list = this.table2.datas; |
| | | let excelData = formatJson(filterVal, list); |
| | | export_json_to_excel(tHeader, excelData, "电池告警实时数据-已确认"); |
| | | export_json_to_excel(tHeader, excelData, this.$t('BatteryAlarmConfirmed')); |
| | | }, |
| | | /* 维护区 */ |
| | | async vindicateData() { |
| | |
| | | }); |
| | | let len = res.data.length; |
| | | typeList.unshift({ |
| | | label: `全部(共${len}种)`, |
| | | label: len, |
| | | value: "", |
| | | }); |
| | | this.vindicate = typeList; |
| | | this.selectPlace1 = `全部(共${len}种)`; |
| | | this.selectPlace1 = ''; |
| | | } |
| | | }, |
| | | /* 机房站点 */ |
| | |
| | | }); |
| | | let len = res.data.length; |
| | | newRoms.unshift({ |
| | | label: `全部(共${len}种)`, |
| | | label: len, |
| | | value: "", |
| | | }); |
| | | this.newRoms = newRoms; |
| | | this.selectPlace2 = `全部(共${len}种)`; |
| | | this.selectPlace2 = ''; |
| | | } |
| | | }, |
| | | /* 蓄电池组 */ |
| | |
| | | let res = batteryss.data; |
| | | if (res.code) { |
| | | let options = res.data.map((item) => { |
| | | item.BattGroupName = `${item.battGroupName}-${item.monCount}节`; |
| | | // item.BattGroupName = `${item.battGroupName}-${this.$tc('cells', item.monCount)}`; |
| | | return item; |
| | | }); |
| | | this.options = options; |
| | | this.selectPlace3 = `全部(共${options.length}种)`; |
| | | this.selectPlace3 = options.length; |
| | | } |
| | | // 查询告警信息 |
| | | this.sendMessage(); |
| | |
| | | almStartTime: item.almStartTime, |
| | | almConfirmedTime: "", |
| | | almIsConfirmed: false, |
| | | almIsConfirmed1: "否", |
| | | almIsConfirmed1: this.$t('no'), |
| | | }); |
| | | }); |
| | | }); |
| | |
| | | almStartTime: item.almStartTime, |
| | | almConfirmedTime: item.almConfirmedTime, |
| | | almIsConfirmed: true, |
| | | almIsConfirmed1: "是", |
| | | almIsConfirmed1: this.$t('yes'), |
| | | }); |
| | | }); |
| | | }); |
| | |
| | | /* 删除 */ |
| | | async delteTim(val, idx) { |
| | | const confirmResult = await this.$confirm( |
| | | "此操作将永久删除该文件, 是否继续?", |
| | | "提示", |
| | | this.$t('deleteMsg'), |
| | | this.$t('message'), |
| | | { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | confirmButtonText: this.$t('operate.ok'), |
| | | cancelButtonText: this.$t('operate.cancel'), |
| | | type: "warning", |
| | | } |
| | | ).catch((err) => err); |
| | |
| | | const del = await deletionRecord({ num: val.num }); |
| | | let res = del.data; |
| | | if (res.code) { |
| | | this.$message.success("删除成功"); |
| | | this.$message.success(this.$t('DeleteSuccessful')); |
| | | if (idx) { |
| | | if (this.queryInfo2.pagenum != 1 && this.table2.datas.length == 1) { |
| | | this.queryInfo2.pagenum--; |
| | |
| | | /* 重新获取用户列表数据*/ |
| | | this.sendMessage(); |
| | | } else { |
| | | this.$message.error("删除失败"); |
| | | this.$message.error(this.$t('DeleteFailed')); |
| | | } |
| | | }, |
| | | goRealTime(data) { |
| | |
| | | /*确认告警 */ |
| | | async okAlarm(vlas) { |
| | | const confirmResult = await this.$confirm( |
| | | "确定这条告警记录, 是否继续?", |
| | | "提示", |
| | | this.$t('EnsurealarmMsg'), |
| | | this.$t('message'), |
| | | { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | confirmButtonText: this.$t('operate.ok'), |
| | | cancelButtonText: this.$t('operate.cancel'), |
| | | type: "warning", |
| | | } |
| | | ).catch((err) => err); |
| | |
| | | let res = wk.data; |
| | | if (res.code) { |
| | | this.sendMessage(); |
| | | this.$message.success("确认成功"); |
| | | this.$message.success(this.$t('operate.successMsg')); |
| | | } else { |
| | | this.$message.error("确认失败"); |
| | | this.$message.error(this.$t('operate.failMsg')); |
| | | } |
| | | }, |
| | | /* 取消告警 */ |
| | | async deleteUser(vla) { |
| | | const confirmResult = await this.$confirm( |
| | | "确定取消这条告警记录吗, 是否继续?", |
| | | "提示", |
| | | this.$t('cancelalarmMsg'), |
| | | this.$t('message'), |
| | | { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | confirmButtonText: this.$t('operate.ok'), |
| | | cancelButtonText: this.$t('operate.cancel'), |
| | | type: "warning", |
| | | } |
| | | ).catch((err) => err); |
| | |
| | | let res = wkk.data; |
| | | if (res.code) { |
| | | this.sendMessage(); |
| | | this.$message.success("操作成功"); |
| | | this.$message.success(this.$t('operate.successMsg')); |
| | | } else { |
| | | this.$message.error("操作失败"); |
| | | this.$message.error(this.$t('operate.failMsg')); |
| | | } |
| | | }, |
| | | //selectValue1改变事件 |
| | |
| | | this.skinActive = localStorage.getItem("activeSkin"); |
| | | this.changeSkin(); |
| | | }, |
| | | "$store.state.settings.lang": { |
| | | handler(v) { |
| | | // this.$i18n.locale = v; |
| | | // this.$root.$i18n.locale = v; |
| | | this.sendMessage(); |
| | | }, |
| | | immediate: true |
| | | }, |
| | | }, |
| | | computed: { |
| | | alarmTotal() { |
| | |
| | | background-color: #FFFFFF; |
| | | padding: 8px; |
| | | } |
| | | </style> |
| | | </style> |
| | |
| | | <template> |
| | | <div class="number-total-labels"> |
| | | <div class="item-block"> |
| | | <span class="item-label">总告警数:</span> |
| | | <span class="item-label">{{ $t('all') }}: </span> |
| | | <span class="item-value">{{ total }}</span> |
| | | </div> |
| | | <div class="item-block"> |
| | | <span class="item-label">一级告警数:</span> |
| | | <span class="item-label">{{ $t('Level1Alarm') }}: </span> |
| | | <span class="item-value">{{ level1 }}</span> |
| | | </div> |
| | | <div class="item-block"> |
| | | <span class="item-label">二级告警数:</span> |
| | | <span class="item-label">{{ $t('Level2Alarm') }}: </span> |
| | | <span class="item-value">{{ level2 }}</span> |
| | | </div> |
| | | <div class="item-block"> |
| | | <span class="item-label">三级告警数:</span> |
| | | <span class="item-label">{{ $t('Level3Alarm') }}: </span> |
| | | <span class="item-value">{{ level3 }}</span> |
| | | </div> |
| | | <div class="item-block"> |
| | | <span class="item-label">四级告警数:</span> |
| | | <span class="item-label">{{ $t('Level4Alarm') }}: </span> |
| | | <span class="item-value">{{ level4 }}</span> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import i18n from '../i18n/batteryrTimequery'; |
| | | import { createI18nOption } from '@/assets/js/tools/i18n'; |
| | | |
| | | const i18nMixin = createI18nOption(i18n); |
| | | export default { |
| | | name: "number-total-labels", |
| | | mixins: [i18nMixin], |
| | | props: { |
| | | total: { |
| | | type: Number, |
| | |
| | | <template> |
| | | <div class="number-total-tabs"> |
| | | <div class="item-tab" :class="{active: key=='total'}" @click="changeHandle('total')"> |
| | | <span class="item-label">全部</span> |
| | | <span class="item-label">{{ $t('all') }}: </span> |
| | | <span class="item-value">{{ total }}</span> |
| | | </div> |
| | | <div class="item-tab red" :class="{active: key=='level1'}" @click="changeHandle('level1')"> |
| | | <span class="item-label">一级告警</span> |
| | | <span class="item-label">{{ $t('Level1Alarm') }}: </span> |
| | | <span class="item-value">{{ level1 }}</span> |
| | | </div> |
| | | <div class="item-tab orange" :class="{active: key=='level2'}" @click="changeHandle('level2')"> |
| | | <span class="item-label">二级告警</span> |
| | | <span class="item-label">{{ $t('Level2Alarm') }}: </span> |
| | | <span class="item-value">{{ level2 }}</span> |
| | | </div> |
| | | <div class="item-tab yellow" :class="{active: key=='level3'}" @click="changeHandle('level3')"> |
| | | <span class="item-label">三级告警</span> |
| | | <span class="item-label">{{ $t('Level3Alarm') }}: </span> |
| | | <span class="item-value">{{ level3 }}</span> |
| | | </div> |
| | | <div class="item-tab grey" :class="{active: key=='level4'}" @click="changeHandle('level4')"> |
| | | <span class="item-label">四级告警</span> |
| | | <span class="item-label">{{ $t('Level4Alarm') }}: </span> |
| | | <span class="item-value">{{ level4 }}</span> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import i18n from '../i18n/batteryrTimequery'; |
| | | import { createI18nOption } from '@/assets/js/tools/i18n'; |
| | | |
| | | const i18nMixin = createI18nOption(i18n); |
| | | export default { |
| | | name: "number-total-tabs", |
| | | mixins: [i18nMixin], |
| | | props: { |
| | | total: { |
| | | type: Number, |
| | |
| | | :level4="levelRes.four" @change="totalTabChange"></number-total-tabs> |
| | | <div class="table-layout filter-box-table"> |
| | | <div class="table-row"> |
| | | <div class="table-cell text-right">维护区:</div> |
| | | <div class="table-cell text-right">{{ $t('MaintenanceArea') }}:</div> |
| | | <div class="table-cell"> |
| | | <el-select v-model="selectValue1" @change="changeSelect1" :placeholder="this.selectPlace1" class="weihu" |
| | | <el-select v-model="selectValue1" @change="changeSelect1" class="weihu" |
| | | size="small"> |
| | | <el-option v-for="item in newDevie" :key="item.value" :label="item.label" :value="item.value"></el-option> |
| | | <el-option v-for="(item, idx) in newDevie" :key="item.value" :label="0 == idx ? $tc('form.allCount', item.label) : item.label" :value="item.value"></el-option> |
| | | </el-select> |
| | | </div> |
| | | <div class="table-cell text-right">机房名称:</div> |
| | | <div class="table-cell text-right">{{ $t('EquipmentRoomName') }}:</div> |
| | | <div class="table-cell"> |
| | | <el-select v-model="selectValue2" @change="sendMessage" class="rooms" size="small"> |
| | | <el-option v-for="(item, idx) in sesionsNews" :key="'station_' + idx" :label="item.label" |
| | | <el-option v-for="(item, idx) in sesionsNews" :key="'station_' + idx" :label="0 == idx ? $tc('form.allCount', item.label) : item.label" |
| | | :value="item.value"></el-option> |
| | | </el-select> |
| | | </div> |
| | | <div class="table-cell text-right">告警类型:</div> |
| | | <div class="table-cell text-right">{{ $t('AlarmType') }}:</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 class="dainchi" v-model="value" size="small"> |
| | | <el-option :label="$tc('form.allCount', options.length)" value="0"></el-option> |
| | | <el-option v-for="item in options" :key="item.value" :label="$t('alarm.' + item.label)" :value="item.value"></el-option> |
| | | </el-select> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <el-tabs v-model="acTabs" type="border-card" class="flex-layout noborder" @tab-click="tabClick"> |
| | | <el-tab-pane label="未确认告警" name="unconfirmed"> |
| | | <el-tab-pane :label="$t('Unconfirmed')" name="unconfirmed"> |
| | | <flex-layout> |
| | | <!-- 表单 --> |
| | | <div class="flex-page-content"> |
| | | <el-table stripe size="small" tooltip-effect="light" :data="table1.datas" height="100%"> |
| | | <el-table-column type="index" label="编号" width="50"> |
| | | <el-table-column type="index" :label="$t('Num')" width="50"> |
| | | </el-table-column> |
| | | <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" |
| | | :label="$t(header.label)" :width="header.width" :min-width="header.minWidth" align="center" |
| | | show-overflow-tooltip> |
| | | </el-table-column> |
| | | <el-table-column label="确认告警" width="80px" align="center"> |
| | | <el-table-column :label="$t('ConfirmAlarm')" width="140px" 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="操作"> |
| | | <el-table-column prop="cztime" fixed="right" width="337px" align="center" :label="$t('operate.operation')"> |
| | | <template slot-scope="scope"> |
| | | <el-button :disabled="!isCanConfirm" type="primary" size="mini" @click="okAlarm(scope.row)">确认告警 |
| | | <el-button :disabled="!isCanConfirm" type="primary" size="mini" @click="okAlarm(scope.row)">{{ $t('ConfirmAlarm') }} |
| | | </el-button> |
| | | <el-button :disabled="!isCanQuit" type="success" size="mini" @click="cancesWa(scope.row)">取消告警 |
| | | <el-button :disabled="!isCanQuit" type="success" size="mini" @click="cancesWa(scope.row)">{{ $t('CancelAlarm') }} |
| | | </el-button> |
| | | <el-button :disabled="!isCanDel" type="danger" size="mini" @click="deviceDelete(scope.row)">删除 |
| | | <el-button :disabled="!isCanDel" type="danger" size="mini" @click="deviceDelete(scope.row)">{{ $t('Delete') }} |
| | | </el-button> |
| | | </template> |
| | | </el-table-column> |
| | |
| | | <!-- 底部分页 --> |
| | | <div class="flex-page-footer" slot="footer"> |
| | | <div class="el-pagination-btns"> |
| | | <el-button type="primary" round size="mini" @click="sendMessage" icon="el-icon-search">查询 |
| | | <el-button type="primary" round size="mini" @click="sendMessage" icon="el-icon-search">{{ $t('operate.search') }} |
| | | </el-button> |
| | | <el-button type="primary" round size="mini" icon="el-icon-wallet" @click="exportFile1">导出 |
| | | <el-button type="primary" round size="mini" icon="el-icon-wallet" @click="exportFile1">{{ $t('operate.export') }} |
| | | </el-button> |
| | | </div> |
| | | <el-pagination class="pagess" @size-change="handleSizeChange1" @current-change="handleCurrentChange1" |
| | |
| | | </div> |
| | | </flex-layout> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="已确认告警" name="confirmed"> |
| | | <el-tab-pane :label="$t('Confirmed')" name="confirmed"> |
| | | <flex-layout> |
| | | <!-- 表单 --> |
| | | <div class="flex-page-content"> |
| | | <el-table stripe size="small" :data="table2.datas" tooltip-effect="light" height="100%"> |
| | | <el-table-column type="index" label="编号" width="50"></el-table-column> |
| | | <el-table-column type="index" :label="$t('Num')" width="50"></el-table-column> |
| | | <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" |
| | | :label="$t(header.label)" :width="header.width" :min-width="header.minWidth" align="center" |
| | | show-overflow-tooltip> |
| | | </el-table-column> |
| | | <el-table-column label="确认告警" width="80px" align="center"> |
| | | <el-table-column :label="$t('ConfirmAlarm')" width="140px" 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="操作"> |
| | | <el-table-column prop="cztime" fixed="right" width="337px" align="center" :label="$t('operate.operation')"> |
| | | <template slot-scope="scope"> |
| | | <el-button :disabled="!isCanConfirm" type="primary" size="mini" @click="okAlarm(scope.row)">确认告警 |
| | | <el-button :disabled="!isCanConfirm" type="primary" size="mini" @click="okAlarm(scope.row)">{{ $t('ConfirmAlarm') }} |
| | | </el-button> |
| | | <el-button :disabled="!isCanQuit" type="success" size="mini" @click="cancesWa(scope.row)">取消告警 |
| | | <el-button :disabled="!isCanQuit" type="success" size="mini" @click="cancesWa(scope.row)">{{ $t('CancelAlarm') }} |
| | | </el-button> |
| | | <el-button :disabled="!isCanDel" type="danger" size="mini" @click="deviceDelete(scope.row)">删除 |
| | | <el-button :disabled="!isCanDel" type="danger" size="mini" @click="deviceDelete(scope.row)">{{ $t('Delete') }} |
| | | </el-button> |
| | | </template> |
| | | </el-table-column> |
| | |
| | | <!-- 底部分页 --> |
| | | <div class="flex-page-footer" slot="footer"> |
| | | <div class="el-pagination-btns"> |
| | | <el-button type="primary" round size="mini" @click="sendMessage" icon="el-icon-search">查询 |
| | | <el-button type="primary" round size="mini" @click="sendMessage" icon="el-icon-search">{{ $t('operate.search') }} |
| | | </el-button> |
| | | <el-button type="primary" round size="mini" icon="el-icon-wallet" @click="exportFile2">导出 |
| | | <el-button type="primary" round size="mini" icon="el-icon-wallet" @click="exportFile2">{{ $t('operate.export') }} |
| | | </el-button> |
| | | </div> |
| | | <el-pagination class="pagess" @size-change="handleSizeChange2" @current-change="handleCurrentChange2" |
| | |
| | | import NumberTotalTabs from "@/views/alarmMager/components/number-total-tabs.vue"; |
| | | import get_county_station from "@/assets/js/tools/get_county_station"; |
| | | const WSMixin = createWs("devAlarmData"); |
| | | import i18n from './i18n/deviceTimequery'; |
| | | import { createI18nOption } from '@/assets/js/tools/i18n'; |
| | | import i18nGetDevAlarm from '@/assets/js/i18n/getDevAlarm'; |
| | | const i18nMixin = createI18nOption(i18n, [[i18nGetDevAlarm, 'alarm']]); |
| | | export default { |
| | | name: "deviceTimequery", |
| | | components: { NumberTotalTabs }, |
| | | mixins: [WSMixin], |
| | | mixins: [WSMixin, i18nMixin], |
| | | data() { |
| | | let permits = this.$store.state.user.permits; |
| | | let isCanConfirm = isHasPermit("dev_alm_confirm_permit", permits); |
| | |
| | | headers: [ |
| | | { |
| | | prop: "devId", |
| | | label: "设备ID", |
| | | label: "devId", |
| | | width: 120, |
| | | }, |
| | | { |
| | | prop: "devName", |
| | | label: "设备名", |
| | | label: "devName", |
| | | width: 160, |
| | | }, |
| | | { |
| | | prop: "devIp", |
| | | label: "设备IP", |
| | | label: "devIp", |
| | | width: 160, |
| | | }, |
| | | { |
| | | prop: "stationNamex", |
| | | label: "机房名称", |
| | | label: "stationNamex", |
| | | minWidth: 220, |
| | | }, |
| | | { |
| | | prop: "almTypeName", |
| | | label: "告警事件", |
| | | label: "almTypeName", |
| | | width: 200, |
| | | }, |
| | | { |
| | | prop: "alarmLevelName", |
| | | label: "告警等级", |
| | | label: "alarmLevelName", |
| | | width: 120, |
| | | }, |
| | | { |
| | | prop: "almStartTime", |
| | | label: "告警开始时间", |
| | | label: "almStartTime", |
| | | width: 180, |
| | | }, |
| | | { |
| | | prop: "almConfirmedTime", |
| | | label: "告警确认时间", |
| | | label: "almConfirmedTime", |
| | | width: 180, |
| | | }, |
| | | ], |
| | |
| | | headers: [ |
| | | { |
| | | prop: "devId", |
| | | label: "设备ID", |
| | | label: "devId", |
| | | width: 120, |
| | | }, |
| | | { |
| | | prop: "devName", |
| | | label: "设备名", |
| | | label: "devName", |
| | | width: 160, |
| | | }, |
| | | { |
| | | prop: "devIp", |
| | | label: "设备IP", |
| | | label: "devIp", |
| | | width: 160, |
| | | }, |
| | | { |
| | | prop: "stationNamex", |
| | | label: "机房名称", |
| | | label: "stationNamex", |
| | | minWidth: 220, |
| | | }, |
| | | { |
| | | prop: "almTypeName", |
| | | label: "告警事件", |
| | | label: "almTypeName", |
| | | width: 200, |
| | | }, |
| | | { |
| | | prop: "alarmLevelName", |
| | | label: "告警等级", |
| | | label: "alarmLevelName", |
| | | width: 120, |
| | | }, |
| | | { |
| | | prop: "almStartTime", |
| | | label: "告警开始时间", |
| | | label: "almStartTime", |
| | | width: 180, |
| | | }, |
| | | { |
| | | prop: "almConfirmedTime", |
| | | label: "告警确认时间", |
| | | label: "almConfirmedTime", |
| | | width: 180, |
| | | }, |
| | | ], |
| | |
| | | } |
| | | this.sendMessage(); |
| | | }, |
| | | "$store.state.settings.lang": { |
| | | handler(v) { |
| | | // this.$i18n.locale = v; |
| | | // this.$root.$i18n.locale = v; |
| | | this.sendMessage(); |
| | | }, |
| | | immediate: true |
| | | }, |
| | | }, |
| | | mounted() { |
| | | let query = this.$route.query; |
| | |
| | | // 告警等级 |
| | | let alarmLevel = this.$route.query.alarmLevel; |
| | | if (alarmLevel) { |
| | | console.log(alarmLevel, '====act?') |
| | | // console.log(alarmLevel, '====act?') |
| | | this.$refs.levels.changeHandle(alarmLevel); |
| | | } |
| | | }, |
| | |
| | | tHeader.push(item.label); |
| | | filterVal.push(item.prop); |
| | | }); |
| | | tHeader.push("确认告警"); |
| | | tHeader.push(this.$t('ConfirmAlarm')); |
| | | filterVal.push("isalarm2"); |
| | | let list = this.table1.datas; |
| | | let excelData = formatJson(filterVal, list); |
| | | export_json_to_excel(tHeader, excelData, "设备告警实时数据-未确认"); |
| | | export_json_to_excel(tHeader, excelData, this.$t('DeviceAlarmUnconfirmed')); |
| | | }, |
| | | // 导出表格 |
| | | exportFile2() { |
| | |
| | | tHeader.push(item.label); |
| | | filterVal.push(item.prop); |
| | | }); |
| | | tHeader.push("确认告警"); |
| | | tHeader.push(this.$t('ConfirmAlarm')); |
| | | let list = this.table2.datas; |
| | | filterVal.push("isalarm2"); |
| | | let excelData = formatJson(filterVal, list); |
| | | export_json_to_excel(tHeader, excelData, "设备告警实时数据-已确认"); |
| | | export_json_to_excel(tHeader, excelData, this.$t('DeviceAlarmconfirmed')); |
| | | }, |
| | | /* 维护区 */ |
| | | async deviceTime() { |
| | |
| | | }); |
| | | let len = res.data.length; |
| | | newDevie.unshift({ |
| | | label: `全部(共${len}种)`, |
| | | label: len, |
| | | value: "", |
| | | }); |
| | | this.newDevie = newDevie; |
| | | this.selectPlace1 = `全部(共${len}种)`; |
| | | this.selectPlace1 = ''; |
| | | } |
| | | }, |
| | | /* 机房名称 */ |
| | |
| | | }); |
| | | let len = res.data.length; |
| | | sesionsNews.unshift({ |
| | | label: `全部(共${len}种)`, |
| | | label: len, |
| | | value: "", |
| | | }); |
| | | this.sesionsNews = sesionsNews; |
| | | this.selectPlace2 = `全部(共${len}种)`; |
| | | this.selectPlace2 = ''; |
| | | if (status == 1) { |
| | | this.sendMessage(); |
| | | } |
| | |
| | | let isalarm1 = !!item.almIsConfirmed; |
| | | item.stationNamex = get_county_station(item.stationName); |
| | | item.isalarm1 = isalarm1; |
| | | item.isalarm2 = isalarm1 ? "是" : "否"; |
| | | item.isalarm2 = isalarm1 ? this.$t('form.yes') : this.$t('form.no'); |
| | | item.almConfirmedTime = isalarm1 ? item.almConfirmedTime : ""; |
| | | item.alarmLevelName = getLabelByValue(item.almLevel, this.levels); |
| | | item.almTypeName = getLabelByValue(item.almType, this.options); |
| | | item.alarmLevelName = this.$t('alarm.' + getLabelByValue(item.almLevel, this.levels)); |
| | | item.almTypeName = this.$t('alarm.' + getLabelByValue(item.almType, this.options)); |
| | | return item; |
| | | }); |
| | | this.table1.datas = alarmNes; |
| | |
| | | let isalarm1 = !!item.almIsConfirmed; |
| | | item.stationNamex = get_county_station(item.stationName); |
| | | item.isalarm1 = isalarm1; |
| | | item.isalarm2 = isalarm1 ? "是" : "否"; |
| | | item.isalarm2 = isalarm1 ? this.$t('form.yes') : this.$t('form.no'); |
| | | item.almConfirmedTime = isalarm1 ? item.almConfirmedTime : ""; |
| | | item.alarmLevelName = getLabelByValue(item.almLevel, this.levels); |
| | | item.almTypeName = getLabelByValue(item.almType, this.options); |
| | | item.alarmLevelName = this.$t('alarm.' + getLabelByValue(item.almLevel, this.levels)); |
| | | item.almTypeName = this.$t('alarm.' + getLabelByValue(item.almType, this.options)); |
| | | return item; |
| | | }); |
| | | this.table2.datas = alarmNes; |
| | |
| | | /* 删除 */ |
| | | async deviceDelete(value) { |
| | | const confirmResult = await this.$confirm( |
| | | "确定删除这条告警记录吗, 是否继续?", |
| | | "提示", |
| | | this.$t('deletealarmMsg'), |
| | | this.$t('message'), |
| | | { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | confirmButtonText: this.$t('operate.ok'), |
| | | cancelButtonText: this.$t('operate.cancel'), |
| | | type: "warning", |
| | | } |
| | | ).catch((err) => err); |
| | |
| | | }); |
| | | let res = ws.data; |
| | | if (res.code) { |
| | | this.$message.success("删除成功"); |
| | | this.$message.success(this.$t('operate.successMsg')); |
| | | if (this.currentPage !== 1) { |
| | | if (this.table.datas.length === 1) { |
| | | this.currentPage -= 1; |
| | |
| | | } |
| | | this.sendMessage(); |
| | | } else { |
| | | this.$message.error("删除失败"); |
| | | this.$message.error(this.$t('operate.failMsg')); |
| | | } |
| | | }, |
| | | /* 确认告警 */ |
| | | async okAlarm(vlas) { |
| | | const confirmResult = await this.$confirm( |
| | | "确定告警这条告警记录吗, 是否继续?", |
| | | "提示", |
| | | this.$t('EnsurealarmMsg'), |
| | | this.$t('message'), |
| | | { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | confirmButtonText: this.$t('operate.ok'), |
| | | cancelButtonText: this.$t('operate.cancel'), |
| | | type: "warning", |
| | | } |
| | | ).catch((err) => err); |
| | |
| | | }); |
| | | let res = wk.data; |
| | | if (res.code) { |
| | | this.$message.info("修改成功!"); |
| | | this.$message.info(this.$t('operate.successMsg')); |
| | | this.sendMessage(); |
| | | } else { |
| | | this.$message.info("修改失败!"); |
| | | this.$message.info(this.$t('operate.failMsg')); |
| | | } |
| | | }, |
| | | /* 取消警告 */ |
| | | async cancesWa(valuew) { |
| | | const confirmResult = await this.$confirm( |
| | | "确定取消这条告警记录吗, 是否继续?", |
| | | "提示", |
| | | this.$t('cancelalarmMsg'), |
| | | this.$t('message'), |
| | | { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | confirmButtonText: this.$t('operate.ok'), |
| | | cancelButtonText: this.$t('operate.cancel'), |
| | | type: "warning", |
| | | } |
| | | ).catch((err) => err); |
| | |
| | | }); |
| | | let res = cc.data; |
| | | if (res.code) { |
| | | this.$message.success("操作成功!"); |
| | | this.$message.success(this.$t('operate.successMsg')); |
| | | this.sendMessage(); |
| | | } else { |
| | | this.$message.error("操作失败!"); |
| | | this.$message.error(this.$t('operate.failMsg')); |
| | | } |
| | | }, |
| | | //维护区改变 |
| | |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="less" scoped></style> |
| | | <style lang="less" scoped></style> |
New file |
| | |
| | | export default { |
| | | messages: { |
| | | CN: { |
| | | MaintenanceArea: '维护区', |
| | | Pleaseselect: '请选择', |
| | | EquipmentRoomSite: '机房站点', |
| | | BatteryGroup: '蓄电池组', |
| | | AlarmStartDate: '告警开始日期', |
| | | AlarmConditionFiltering: '告警条件过滤', |
| | | AlarmThresholdFiltering: '告警阀值过滤', |
| | | AlarmLevelFiltering: '告警等级过滤', |
| | | all: '全部', |
| | | Level1Alarm: '一级警告', |
| | | Level2Alarm: '二级警告', |
| | | Level3Alarm: '三级警告', |
| | | Level4Alarm: '四级警告', |
| | | OnlineVoltage: '在线电压', |
| | | StringVoltage: '组端电压', |
| | | LeakageVoltage: '漏液电压', |
| | | ChargeCurrent: '充电电流', |
| | | DischargeCurrent: '放电电流', |
| | | CellVoltage: '单体电压', |
| | | CellResistance: '单体内阻', |
| | | CellTemperature: '单体温度', |
| | | UpLimitAlarm: '上限告警', |
| | | LowLimitAlarm: '下限告警', |
| | | Realtime: '实时', |
| | | Delete: '删除', |
| | | EquipmentRoomName: '机房名称', |
| | | BatteryGroupName: '电池组名称', |
| | | AlarmName: '告警名称', |
| | | CellNo: '单体编号', |
| | | AlarmValue: '告警值', |
| | | AlarmLevel: '告警等级', |
| | | AlarmStartTime: '告警开始时间', |
| | | AlarmConfirmTime: '确认告警时间', |
| | | almEndTime: '告警结束时间', |
| | | BatteryAlarmHistoryData: '电池告警历史数据', |
| | | deletealarmMsg: '确定删除这条告警记录吗, 是否继续?', |
| | | message: '提示', |
| | | DeleteSuccessful: '删除成功', |
| | | Num: '编号', |
| | | }, |
| | | US: { |
| | | MaintenanceArea: 'Maintenance Area', |
| | | Pleaseselect: 'Please select', |
| | | EquipmentRoomSite: 'Equipment Room Site', |
| | | BatteryGroup: 'Battery Group', |
| | | AlarmStartDate: 'Alarm Start Date', |
| | | AlarmConditionFiltering: 'Alarm Condition Filtering', |
| | | AlarmThresholdFiltering: 'Alarm Threshold Filtering', |
| | | AlarmLevelFiltering: 'Alarm Level Filtering', |
| | | all: 'All', |
| | | Level1Alarm: 'Level 1 Alarm', |
| | | Level2Alarm: 'Level 2 Alarm', |
| | | Level3Alarm: 'Level 3 Alarm', |
| | | Level4Alarm: 'Level 4 Alarm', |
| | | OnlineVoltage: 'Online Voltage', |
| | | StringVoltage: 'String Voltage', |
| | | LeakageVoltage: 'Leakage Voltage', |
| | | ChargeCurrent: 'Charge Current', |
| | | DischargeCurrent: 'Discharge Current', |
| | | CellVoltage: 'Cell Voltage', |
| | | CellResistance: 'Cell Resistance', |
| | | CellTemperature: 'Cell Temperature', |
| | | UpLimitAlarm: 'Up Limit Alarm', |
| | | LowLimitAlarm: 'Low Limit Alarm', |
| | | Realtime: 'Real-time', |
| | | Delete: 'Delete', |
| | | EquipmentRoomName: 'Equipment Room Name', |
| | | BatteryGroupName: 'Battery Group Name', |
| | | AlarmName: 'Alarm Name', |
| | | CellNo: 'Cell No.', |
| | | AlarmValue: 'Alarm Value', |
| | | AlarmLevel: 'Alarm Level', |
| | | AlarmStartTime: 'Alarm Start Time', |
| | | AlarmConfirmTime: 'Alarm Confirm Time', |
| | | almEndTime: 'Alarm Finish Time', |
| | | BatteryAlarmHistoryData: 'Battery Alarm History Data', |
| | | deletealarmMsg: 'Confirm to delete this alarm record? Continue?', |
| | | message: 'Message', |
| | | DeleteSuccessful: 'Delete Successful!', |
| | | Num: 'No.', |
| | | } |
| | | } |
| | | } |
| | |
| | | AlarmConditionFiltering: '告警条件过滤', |
| | | AlarmThresholdFiltering: '告警阀值过滤', |
| | | AlarmLevelFiltering: '告警等级过滤', |
| | | all: '全部', |
| | | Level1Alarm: '一级警告', |
| | | Level2Alarm: '二级警告', |
| | | Level3Alarm: '三级警告', |
| | |
| | | Delete: '删除', |
| | | More: '更多', |
| | | Confirmed: '已确认告警', |
| | | ConfirmAlarm: '操作', |
| | | ConfirmAlarm: '操作', |
| | | ConfirmAlarm: '操作', |
| | | ConfirmAlarm: '操作', |
| | | ConfirmAlarm: '操作', |
| | | ConfirmAlarm: '操作', |
| | | ConfirmAlarm: '操作', |
| | | ConfirmAlarm: '操作', |
| | | ConfirmAlarm: '操作', |
| | | ConfirmAlarm: '操作', |
| | | EquipmentRoomName: '机房名称', |
| | | BatteryGroupName: '电池组名称', |
| | | AlarmName: '告警名称', |
| | | CellNo: '单体编号', |
| | | AlarmValue: '告警值', |
| | | AlarmLevel: '告警等级', |
| | | AlarmStartTime: '告警开始时间', |
| | | AlarmConfirmTime: '确认告警时间', |
| | | BatteryAlarmUnconfirmed: '电池告警实时数据-未确认', |
| | | BatteryAlarmConfirmed: '电池告警实时数据-已确认', |
| | | cells: '{n}节 | {n}节 | {n}节', |
| | | yes: '是', |
| | | no: '否', |
| | | deleteMsg: '确定删除这条告警记录吗, 是否继续?', |
| | | message: '提示', |
| | | DeleteSuccessful: '删除成功', |
| | | DeleteFailed: '删除失败', |
| | | EnsurealarmMsg: '确定这条告警记录, 是否继续?', |
| | | cancelalarmMsg: '确定取消这条告警记录吗, 是否继续?', |
| | | }, |
| | | US: { |
| | | MaintenanceArea: 'Maintenance Area', |
| | |
| | | AlarmConditionFiltering: 'Alarm Condition Filtering', |
| | | AlarmThresholdFiltering: 'Alarm Threshold Filtering', |
| | | AlarmLevelFiltering: 'Alarm Level Filtering', |
| | | all: 'All', |
| | | Level1Alarm: 'Level 1 Alarm', |
| | | Level2Alarm: 'Level 2 Alarm', |
| | | Level3Alarm: 'Level 3 Alarm', |
| | |
| | | Delete: 'Delete', |
| | | More: 'More', |
| | | Confirmed: 'Confirmed', |
| | | |
| | | EquipmentRoomName: 'Equipment Room Name', |
| | | BatteryGroupName: 'Battery Group Name', |
| | | AlarmName: 'Alarm Name', |
| | | CellNo: 'Cell No.', |
| | | AlarmValue: 'Alarm Value', |
| | | AlarmLevel: 'Alarm Level', |
| | | AlarmStartTime: 'Alarm Start Time', |
| | | AlarmConfirmTime: 'Alarm Confirm Time', |
| | | BatteryAlarmUnconfirmed: 'Battery Alarm Real-time Data-Unconfirmed', |
| | | BatteryAlarmConfirmed: 'Battery Alarm Real-time Data-Confirmed', |
| | | cells: '{n}cell | {n} cell | {n} cells', |
| | | yes: 'Yes', |
| | | no: 'No', |
| | | deleteMsg: 'Confirm to delete this alarm record? Continue?', |
| | | message: 'Message', |
| | | DeleteSuccessful: 'Delete Successful!', |
| | | DeleteFailed: 'Delete Failed!', |
| | | EnsurealarmMsg: 'Ensure this alarm record, continue?', |
| | | cancelalarmMsg: 'Confirm to cancel this alarm record? Continue?', |
| | | } |
| | | } |
| | | } |
New file |
| | |
| | | export default { |
| | | messages: { |
| | | CN: { |
| | | MaintenanceArea: '维护区', |
| | | EquipmentRoomName: '机房名称', |
| | | AlarmType: '告警类型', |
| | | Num: '编号', |
| | | Unconfirmed: '未确认告警', |
| | | ConfirmAlarm: '确认告警', |
| | | Confirmed: '已确认告警', |
| | | CancelAlarm: '取消告警', |
| | | Delete: '删除', |
| | | devId: "设备ID", |
| | | devName: "设备名", |
| | | devIp: "设备IP", |
| | | stationNamex: "机房名称", |
| | | almTypeName: "告警事件", |
| | | alarmLevelName: "告警等级", |
| | | almStartTime: "告警开始时间", |
| | | almConfirmedTime: "告警确认时间", |
| | | deletealarmMsg: '确定删除这条告警记录吗, 是否继续?', |
| | | message: '提示', |
| | | EnsurealarmMsg: '确定这条告警记录, 是否继续?', |
| | | cancelalarmMsg: '确定取消这条告警记录吗, 是否继续?', |
| | | DeviceAlarmUnconfirmed: '设备告警实时数据-未确认', |
| | | DeviceAlarmconfirmed: '设备告警实时数据-已确认', |
| | | |
| | | }, |
| | | US: { |
| | | MaintenanceArea: 'Maintenance Area', |
| | | EquipmentRoomName: 'Equipment Room Name', |
| | | AlarmType: 'Alarm Type', |
| | | Num: 'No.', |
| | | Unconfirmed: 'Unconfirmed', |
| | | ConfirmAlarm: 'Confirm Alarm', |
| | | Confirmed: 'Confirmed', |
| | | CancelAlarm: 'Cancel Alarm', |
| | | Delete: 'Delete', |
| | | devId: "Device ID", |
| | | devName: "Device Name", |
| | | devIp: "Device IP", |
| | | stationNamex: "Equipment Room Name", |
| | | almTypeName: "Alarm Event", |
| | | alarmLevelName: "Alarm Level", |
| | | almStartTime: "Alarm Start Time", |
| | | almConfirmedTime: "Alarm Confirm Time", |
| | | deletealarmMsg: 'Confirm to delete this alarm record? Continue?', |
| | | message: 'Message', |
| | | EnsurealarmMsg: 'Ensure this alarm record, continue?', |
| | | cancelalarmMsg: 'Confirm to cancel this alarm record? Continue?', |
| | | DeviceAlarmUnconfirmed: 'Device Alarm Real-time Data-Unconfirmed', |
| | | DeviceAlarmconfirmed: 'Device Alarm Real-time Data-Confirmed', |
| | | |
| | | |
| | | |
| | | } |
| | | } |
| | | } |