| | |
| | | <link rel="stylesheet" href="css/bui.css"> |
| | | <link rel="stylesheet" href="css/style.css"> |
| | | <link rel="stylesheet" href="css/iconfont/iconfont.css"> |
| | | <link rel="stylesheet" href="css/commons.css?38bcd0f8b4"> |
| | | <link rel="stylesheet" href="css/commons.css"> |
| | | <link rel="stylesheet" href="css/iview/styles/iview.css"> |
| | | </head> |
| | | |
| | |
| | | <script src="js/zepto.js"></script> |
| | | <script src="js/bui.js"></script> |
| | | |
| | | <script src="js/common_functions.js?2e70f10441"></script> |
| | | <script src="js/const_var.js?6cd34f2e59"></script> |
| | | |
| | | <script src="js/common_functions.js?6ee6cc69bb"></script> |
| | | |
| | | <script src="js/vue.min.js"></script> |
| | | <script src="css/iview/iview.min.js"></script> |
| | | |
| | | <script src="js/components.js?5f49c8f276"></script> |
| | | <script src="js/components.js"></script> |
| | | |
| | | <script src="index.js?ce9713390a"></script> |
| | | <script src="index.js"></script> |
| | | </body> |
| | | |
| | | </html> |
| | |
| | | return title; |
| | | }; |
| | | |
| | | var SYSTEMS = [{ |
| | | name: 'LD9', |
| | | reg: /^40190/ |
| | | }, { |
| | | name: '61850', |
| | | reg: /^61850/ |
| | | }, { |
| | | name: 'BTS', |
| | | reg: /^(9100)|(9600)|(9616)/ |
| | | }]; |
| | | // 根据设备的id获取设备的基本信息 |
| | | function getDevBaseInfo(dev_id) { |
| | | var result = { |
| | | name: '未知', |
| | | key: '未知', |
| | | reg: '', |
| | | workstates: [], |
| | | stopreasons: [], |
| | | alarmstates: [] |
| | | }; |
| | | // 遍历DEVICEINFO |
| | | for (var i = 0; i < DEVICEINFO.length; i++) { |
| | | var data = DEVICEINFO[i]; |
| | | if (regEquipType(dev_id, data.reg)) { |
| | | result = data; |
| | | } |
| | | } |
| | | return result; |
| | | } |
| | | |
| | | // 根据设备ID获取系统的名称 |
| | | function getSysType(dev_id) { |
| | | var result = '未知'; |
| | | // 验证设备类型 |
| | | function regEquipType(eId, pattern) { |
| | | if (pattern.test(eId)) { |
| | | return true; |
| | | } |
| | | return false; |
| | | } |
| | |
| | | } |
| | | } |
| | | }, |
| | | template: '\n <div class="bui-list-container">\n <div class="bui-list-header">\u8BBE\u5907\u4FE1\u606F\u5217\u8868</div>\n <div class="bui-list-content">\n <ul class="bui-list">\n <li \n v-for="(item, key) in data"\n :key="key"\n class="bui-btn bui-box">\n <div class="span1">\n <h3 class="item-title" :style="getTStyle(item)">{{item.title}}</h3>\n <p\n v-for="(list, lkey) in item.list"\n :key="lkey" \n class="item-text">\n <span class="bui-label">{{list.label}}</span>\n <span class="bui-value">{{list.value}}</span>\n </p>\n </div>\n <i class="icon-listright"></i>\n </li>\n </ul>\n </div>\n </div>\n ', |
| | | template: '\n <div class="bui-list-container">\n <div class="bui-list-header">\u8BBE\u5907\u4FE1\u606F\u5217\u8868</div>\n <div class="bui-list-content">\n <ul class="bui-list">\n <li \n v-for="(item, key) in data"\n :key="key"\n class="bui-btn bui-box"\n @click="handlerClick(item, key)">\n <div class="span1">\n <h3 class="item-title" :style="getTStyle(item)">{{item.title}}</h3>\n <p\n v-for="(list, lkey) in item.list"\n :key="lkey" \n class="item-text">\n <span class="bui-label">{{list.label}}</span>\n <span class="bui-value">{{list.value}}</span>\n </p>\n </div>\n <i class="icon-listright"></i>\n </li>\n </ul>\n </div>\n </div>\n ', |
| | | methods: { |
| | | getTStyle: function getTStyle(item) { |
| | | var style = {}; |
| | |
| | | }; |
| | | } |
| | | return style; |
| | | }, |
| | | handlerClick: function handlerClick(data, key) { |
| | | this.$emit('on-click', data); |
| | | } |
| | | }, |
| | | computed: {} |
| | |
| | | <div id="sidebarWrap" class="bui-sidebar-wrap"> |
| | | |
| | | <div class="bui-sidebar swiperight"> |
| | | <bui-list :data="devInfo.list"></bui-list> |
| | | <bui-list :data="devInfos.list" @on-click="handlerListClick"></bui-list> |
| | | </div> |
| | | |
| | | <div class="bui-page"> |
| | |
| | | |
| | | <div class="bui-btn btn-back"><i class="icon-back"></i></div> |
| | | </div> |
| | | <div class="bui-bar-main">电池数据监控</div> |
| | | <div class="bui-bar-main"><span v-text="devInfo.fbsName"></span>-电池数据监控</div> |
| | | <div class="bui-bar-right"> |
| | | |
| | | <div class="bui-btn" id="menu" class="menu"><i class="icon-menu"></i></div> |
| | |
| | | <table class="bui-table"> |
| | | <tbody> |
| | | <tr> |
| | | <td>系统电池组数:4</td> |
| | | <td>单体电池数量:24</td> |
| | | <td>标称容量:300AH</td> |
| | | <td>电池品牌:未知</td> |
| | | <td>系统电池组数:<span v-text="devInfo.groupNum"></span></td> |
| | | <td>单体电池数量:<span v-text="devInfo.monCount"></span></td> |
| | | <td>标称容量:<span v-text="devInfo.nomCap"></span>AH</td> |
| | | <td>电池品牌:<span v-text="devInfo.battProducer"></span></td> |
| | | </tr> |
| | | <tr> |
| | | <td>标称组端电压:40V</td> |
| | | <td>标称单体电压:2V</td> |
| | | <td>标称内阻:2.00mΩ</td> |
| | | <td>电池型号:未知</td> |
| | | <td>标称组端电压:<span v-text="devInfo.nomGroupVol"></span>V</td> |
| | | <td>标称单体电压:<span v-text="devInfo.nomVol"></span>V</td> |
| | | <td>标称内阻:<span v-text="devInfo.nomRes"></span>mΩ</td> |
| | | <td>电池型号:<span v-text="devInfo.battModel"></span></td> |
| | | </tr> |
| | | </tbody> |
| | | </table> |
| | | </div> |
| | | </div> |
| | | <b-table :columns="eleTbl.columns" :data="eleTbl.data" style="margin-top:8px;margin-left:0;margin-right:0" @on-click-tr="handlerTr"></b-table> |
| | | <iview-table :columns="eleTbl.columns" :data="eleTbl.data" style="margin-top:8px;margin-left:0;margin-right:0"></iview-table> |
| | | </div> |
| | | </main> |
| | | </div> |
| | |
| | | * 默认模块名: battery |
| | | * @return {[object]} [ 返回一个对象 ] |
| | | */ |
| | | loader.define(function (require, exports, module) { |
| | | var bs = bui.store({ |
| | | scope: 'page', |
| | | data: {} |
| | | }); |
| | | var vm = new Vue({ |
| | | el: bs.$parent[0], |
| | | data: { |
| | | devInfo: { |
| | | title: '设备信息', |
| | | list: [{ |
| | | title: 'FBS9100-1' |
| | | }, { |
| | | title: 'FBs9100-2' |
| | | }] |
| | | loader.define({ |
| | | data: { |
| | | vm: '' |
| | | }, |
| | | loaded: function loaded(require, exports, module) { |
| | | var bs = bui.store({ |
| | | scope: 'page', |
| | | data: {} |
| | | }); |
| | | var vm = this.vm = new Vue({ |
| | | el: bs.$parent[0], |
| | | data: { |
| | | uiSidebar: '', |
| | | devInfos: { |
| | | page: { |
| | | pageSize: 6, |
| | | pageCurr: 1 |
| | | }, |
| | | title: '设备信息', |
| | | list: [] |
| | | }, |
| | | devInfo: { |
| | | fbsName: "??", // 设备名称 |
| | | groupNum: '??', // 电池组数 |
| | | monCount: '??', // 单体个数 |
| | | nomCap: '??', // 标称容量 |
| | | battProducer: '未知', // 电池品牌 |
| | | nomGroupVol: '??', // 标称组端电压 |
| | | nomVol: '??', // 标称单体电压 |
| | | nomRes: '??', // 标称内阻 |
| | | battModel: '未知' // 型号 |
| | | }, |
| | | eleTbl: { |
| | | timer: new Timeout(), |
| | | columns: [{ |
| | | title: '电池组', |
| | | key: 'BattGroupName', |
| | | align: 'center' |
| | | }, { |
| | | title: '状态', |
| | | key: 'state', |
| | | align: 'center' |
| | | }, { |
| | | title: '组端电压', |
| | | key: 'MonVolLowToAvg', |
| | | align: 'center' |
| | | }, { |
| | | title: '电流', |
| | | key: 'Load_curr', |
| | | align: 'center' |
| | | }, { |
| | | title: '告警信息', |
| | | key: 'SignalName', |
| | | align: 'center' |
| | | }, { |
| | | title: '查看实时监控数据', |
| | | key: 'see', |
| | | minWidth: 80, |
| | | align: 'center', |
| | | render: function render(h, params) { |
| | | return h('div', [h('i-button', { |
| | | props: { |
| | | type: 'success', |
| | | size: 'small' |
| | | }, |
| | | style: { |
| | | marginRight: '5px' |
| | | }, |
| | | on: { |
| | | click: function click() { |
| | | // console.log(vm); |
| | | vm.showBatteryInfo(params); |
| | | } |
| | | } |
| | | }, '实时数据')]); |
| | | } |
| | | }], |
| | | data: [] |
| | | } |
| | | }, |
| | | homeInfo: {}, |
| | | eleTbl: { |
| | | columns: [{ |
| | | title: '电池组', |
| | | key: 'eleGroup' |
| | | }, { |
| | | title: '状态', |
| | | key: 'state' |
| | | }, { |
| | | title: '组端电压', |
| | | key: 'groupVol' |
| | | }, { |
| | | title: '电流', |
| | | key: 'current' |
| | | }, { |
| | | title: '告警信息', |
| | | key: 'warnInfo' |
| | | }], |
| | | data: [{ |
| | | eleGroup: '电池组1', |
| | | state: '离线' |
| | | }, { |
| | | eleGroup: '电池组2', |
| | | state: '离线' |
| | | }, { |
| | | eleGroup: '电池组3', |
| | | state: '离线' |
| | | }, { |
| | | eleGroup: '电池组4', |
| | | state: '离线' |
| | | }] |
| | | methods: { |
| | | initDevInfo: function initDevInfo() { |
| | | this.devInfo = { |
| | | fbsName: "??", // 设备名称 |
| | | groupNum: '??', // 电池组数 |
| | | monCount: '??', // 单体个数 |
| | | nomCap: '??', // 标称容量 |
| | | battProducer: '未知', // 电池品牌 |
| | | nomGroupVol: '??', // 标称组端电压 |
| | | nomVol: '??', // 标称单体电压 |
| | | nomRes: '??', // 标称内阻 |
| | | battModel: '未知' // 型号 |
| | | }; |
| | | }, |
| | | setDevInfo: function setDevInfo(data) { |
| | | this.initDevInfo(); |
| | | this.devInfo = $.extend({}, this.devInfo, data); |
| | | }, |
| | | handlerTr: function handlerTr(data) { |
| | | router.load({ url: '../battery/batteryInfo.html', param: data }); |
| | | }, |
| | | searchDevice: function searchDevice() { |
| | | var self = this; |
| | | var page = this.devInfos.page; |
| | | var json = JSON.stringify(page); |
| | | // 请求后台获取告警 |
| | | ajax({ |
| | | type: 'post', |
| | | async: true, |
| | | url: 'BattInfAction!serchDevice', |
| | | data: 'json=' + json, |
| | | dataType: 'json', |
| | | success: function success(res) { |
| | | var rs = JSON.parse(res.result); |
| | | if (rs.code == 1) { |
| | | var data = rs.data; |
| | | for (var i = 0; i < data.length; i++) { |
| | | var _data = data[i]; |
| | | _data.title = _data.FBSDeviceName; |
| | | } |
| | | self.devInfos.list = data; |
| | | } |
| | | } |
| | | }); |
| | | }, |
| | | startBattInfo: function startBattInfo(id) { |
| | | var self = this; |
| | | this.eleTbl.timer.start(function () { |
| | | self.searchBattInfo(id); |
| | | }, 6000); |
| | | }, |
| | | searchBattInfo: function searchBattInfo(id) { |
| | | var self = this; |
| | | var json = JSON.stringify({ |
| | | FBSDeviceId: id |
| | | }); |
| | | var deviceBaseInfo = getDevBaseInfo(id); |
| | | console.log(id); |
| | | console.log(deviceBaseInfo); |
| | | // 请求后台获取告警 |
| | | ajax({ |
| | | type: 'post', |
| | | async: true, |
| | | url: 'BattInfAction!serchByCondition', |
| | | data: 'json=' + json, |
| | | dataType: 'json', |
| | | success: function success(res) { |
| | | var rs = JSON.parse(res.result); |
| | | if (rs.code == 1) { |
| | | var data = rs.data; |
| | | for (var i = 0; i < data.length; i++) { |
| | | var _data = data[i]; |
| | | _data.FBSDeviceId = id; |
| | | _data.state = deviceBaseInfo.workstates[_data.num]; |
| | | } |
| | | self.eleTbl.data = data; |
| | | } |
| | | }, |
| | | complete: function complete() { |
| | | self.eleTbl.timer.open(); |
| | | } |
| | | }); |
| | | }, |
| | | handlerListClick: function handlerListClick(item) { |
| | | this.setDevInfo(this.formateListData(item)); |
| | | this.startBattInfo(item.FBSDeviceId); |
| | | this.uiSidebar.close(); |
| | | }, |
| | | formateListData: function formateListData(data) { |
| | | var result = { |
| | | fbsName: "??", // 设备名称 |
| | | groupNum: '??', // 电池组数 |
| | | monCount: '??', // 单体个数 |
| | | nomCap: '??', // 标称容量 |
| | | battProducer: '未知', // 电池品牌 |
| | | nomGroupVol: '??', // 标称组端电压 |
| | | nomVol: '??', // 标称单体电压 |
| | | nomRes: '??', // 标称内阻 |
| | | battModel: '未知' // 型号 |
| | | }; |
| | | result.fbsName = data.FBSDeviceName; |
| | | result.groupNum = data.BattGroupNum; |
| | | result.monCount = data.MonCount; |
| | | result.nomCap = data.MonCapStd; |
| | | result.battProducer = data.BattProducer; |
| | | |
| | | result.nomGroupVol = data.MonCount * data.MonVolStd; |
| | | result.nomVol = data.MonVolStd; |
| | | result.nomRes = data.MonResStd; |
| | | result.battModel = data.BattModel; |
| | | return result; |
| | | }, |
| | | showBatteryInfo: function showBatteryInfo(params) { |
| | | var row = params.row; |
| | | var param = { |
| | | battGroupId: row.BattGroupId, |
| | | battGroupName: row.BattGroupName, |
| | | devId: row.FBSDeviceId |
| | | }; |
| | | // 加载路由 |
| | | router.load({ |
| | | url: '../battery/batteryInfo.html', |
| | | param: param |
| | | }); |
| | | }, |
| | | stopTimers: function stopTimers() { |
| | | this.eleTbl.timer.stop(); |
| | | } |
| | | }, |
| | | mounted: function mounted() { |
| | | // 获取所有设备的信息 |
| | | this.searchDevice(); |
| | | |
| | | // 脚本都需要在这里执行 |
| | | var uiTab = bui.tab({ |
| | | id: "#uiTab" |
| | | }); |
| | | |
| | | // 侧边栏 |
| | | this.uiSidebar = bui.sidebar({ |
| | | id: "#sidebarWrap", //菜单的ID(必须) |
| | | width: 500, |
| | | trigger: "#menu", |
| | | isActive: true |
| | | }); |
| | | this.uiSidebar.open(); |
| | | }, |
| | | beforeDestroy: function beforeDestroy() { |
| | | // 关闭页面计时器 |
| | | this.stopTimers(); |
| | | } |
| | | }, |
| | | methods: { |
| | | handlerTr: function handlerTr(data) { |
| | | router.load({ url: '../battery/batteryInfo.html', param: data }); |
| | | }, |
| | | searchDevice: function searchDevice() {} |
| | | }, |
| | | mounted: function mounted() { |
| | | |
| | | // 脚本都需要在这里执行 |
| | | var uiTab = bui.tab({ |
| | | id: "#uiTab" |
| | | }); |
| | | |
| | | // 侧边栏 |
| | | var uiSidebar = bui.sidebar({ |
| | | id: "#sidebarWrap", //菜单的ID(必须) |
| | | width: 500, |
| | | trigger: "#menu", |
| | | isActive: true |
| | | }); |
| | | uiSidebar.open(); |
| | | } |
| | | }); |
| | | }); |
| | | }, |
| | | destroyed: function destroyed() { |
| | | // 销毁vue实例 |
| | | this.vm.$destroy(); |
| | | } |
| | | }); |
| | |
| | | |
| | | <script src="js/zepto.js"></script> |
| | | <script src="js/bui.js"></script> |
| | | <!-- 引入公共变量 --> |
| | | <script src="js/const_var.js"></script> |
| | | <!-- 引入公共函数 --> |
| | | <script src="js/common_functions.js"></script> |
| | | <!-- 引入vue.js --> |
| | |
| | | return title; |
| | | }; |
| | | |
| | | const SYSTEMS = [ |
| | | { |
| | | name: 'LD9', |
| | | reg: /^40190/ |
| | | }, |
| | | { |
| | | name: '61850', |
| | | reg: /^61850/ |
| | | }, |
| | | { |
| | | name: 'BTS', |
| | | reg: /^(9100)|(9600)|(9616)/ |
| | | // 根据设备的id获取设备的基本信息 |
| | | function getDevBaseInfo(dev_id) { |
| | | var result = { |
| | | name: '未知', |
| | | key: '未知', |
| | | reg: '', |
| | | workstates: [], |
| | | stopreasons: [], |
| | | alarmstates: [], |
| | | }; |
| | | // 遍历DEVICEINFO |
| | | for(var i=0; i<DEVICEINFO.length; i++) { |
| | | var data = DEVICEINFO[i]; |
| | | if(regEquipType(dev_id, data.reg)) { |
| | | result = data; |
| | | } |
| | | } |
| | | ]; |
| | | return result; |
| | | } |
| | | |
| | | // 根据设备ID获取系统的名称 |
| | | function getSysType(dev_id) { |
| | | var result = '未知'; |
| | | |
| | | // 验证设备类型 |
| | | function regEquipType(eId, pattern) { |
| | | if(pattern.test(eId)) { |
| | | return true; |
| | | } |
| | | return false; |
| | | } |
| | |
| | | <li |
| | | v-for="(item, key) in data" |
| | | :key="key" |
| | | class="bui-btn bui-box"> |
| | | class="bui-btn bui-box" |
| | | @click="handlerClick(item, key)"> |
| | | <div class="span1"> |
| | | <h3 class="item-title" :style="getTStyle(item)">{{item.title}}</h3> |
| | | <p |
| | |
| | | }; |
| | | } |
| | | return style; |
| | | }, |
| | | handlerClick: function(data, key) { |
| | | this.$emit('on-click', data); |
| | | } |
| | | }, |
| | | computed: { |
New file |
| | |
| | | const DEVICEINFO = [ |
| | | { |
| | | name: 'LD9', |
| | | key: 'ld9', |
| | | reg: /^40190/, |
| | | workstates: ['在线监测','核容测试','测试状态状态暂停','单节测试'], |
| | | stopreasons: ['无','手动停止','单体下限到','充电完成停止','测试完成停止','远程停止','在线电压低'], |
| | | }, |
| | | { |
| | | name: '61850', |
| | | key: 'bts61850', |
| | | reg: /^61850/, |
| | | workstates: ['在线监测','核容测试','测试状态状态暂停','单节测试'], |
| | | stopreasons: ['无','手动停止','单体下限到','充电完成停止','测试完成停止','远程停止','在线电压低'], |
| | | alarmstates: [ |
| | | '设备掉电','手动终止', '放电时间到', '放电容量到', '单体电压下限到', '单体温度上限到', '组端电压下限到', |
| | | '市电中断', '单体模块通信异常', '存储数据满', '机内温度异常', '放电电流异常', '后台通信中断', '内部程序异常', |
| | | '电源电压高','协议转通信异常','其他' |
| | | ], |
| | | }, |
| | | { |
| | | name: 'BTS', |
| | | key: 'bts', |
| | | reg: /^(9100)|(9600)|(9616)|(9110)/, |
| | | workstates: ['在线监测','放电测试','充电测试','内阻测试','未知', '放电测试(应急续航)', '放电测试(核容测试)'], |
| | | stopreasons: [], |
| | | alarmstates: [ |
| | | '无','暂停','放电测试','放电等待','限流充电','直流充电','充电等待','测试时间到', |
| | | '测试容量到','单体下限到','组端下限到','市电异常','存储卡不足','负载温度高','电流异常','远程通信坏', |
| | | '负载通信坏','选择通信坏','载模块放电过功率停止','内部程序异常停止','市电恢复停止升压放电','充电过程中市电中断', |
| | | '合路器放电功能组端电压下限','温度上限到','未知' |
| | | ], |
| | | }, |
| | | { |
| | | name: 'BTSScreen', |
| | | key: 'btsScreen', |
| | | reg: /^9611/, |
| | | workstates: [], |
| | | stopreasons: [], |
| | | alarmstates: [] |
| | | }, |
| | | { |
| | | name: 'LD6', |
| | | key: 'ld6', |
| | | reg: /^4016/, |
| | | workstates: ['充电测试', '放电测试'], |
| | | stopreasons: ['无','手动停止','核容测试时间到','核容测试组端下限到','核容测试单体下限到','核容测试容量低于阀值','应急供电组端下限到' |
| | | , '应急供电单体下限到', '市电恢复停止应急供电', '停止自动应急供电', '无法启动核容测试', '模块故障', '电池开路故障'], |
| | | alarmstates: [] |
| | | } |
| | | ]; |
| | |
| | | <div id="sidebarWrap" class="bui-sidebar-wrap"> |
| | | <!-- 侧滑菜单 --> |
| | | <div class="bui-sidebar swiperight"> |
| | | <bui-list :data="devInfo.list"></bui-list> |
| | | <bui-list |
| | | :data="devInfos.list" |
| | | @on-click="handlerListClick"></bui-list> |
| | | </div> |
| | | <!-- 这里还是一个标准的BUI页面 --> |
| | | <div class="bui-page"> |
| | |
| | | <!-- 左边有图标示例 --> |
| | | <div class="bui-btn btn-back"><i class="icon-back"></i></div> |
| | | </div> |
| | | <div class="bui-bar-main">电池数据监控</div> |
| | | <div class="bui-bar-main"><span v-text="devInfo.fbsName"></span>-电池数据监控</div> |
| | | <div class="bui-bar-right"> |
| | | <!-- 右边有图标示例 --> |
| | | <div class="bui-btn" id="menu" class="menu"><i class="icon-menu"></i></div> |
| | |
| | | <table class="bui-table"> |
| | | <tbody> |
| | | <tr> |
| | | <td>系统电池组数:4</td> |
| | | <td>单体电池数量:24</td> |
| | | <td>标称容量:300AH</td> |
| | | <td>电池品牌:未知</td> |
| | | <td>系统电池组数:<span v-text="devInfo.groupNum"></span></td> |
| | | <td>单体电池数量:<span v-text="devInfo.monCount"></span></td> |
| | | <td>标称容量:<span v-text="devInfo.nomCap"></span>AH</td> |
| | | <td>电池品牌:<span v-text="devInfo.battProducer"></span></td> |
| | | </tr> |
| | | <tr> |
| | | <td>标称组端电压:40V</td> |
| | | <td>标称单体电压:2V</td> |
| | | <td>标称内阻:2.00mΩ</td> |
| | | <td>电池型号:未知</td> |
| | | <td>标称组端电压:<span v-text="devInfo.nomGroupVol"></span>V</td> |
| | | <td>标称单体电压:<span v-text="devInfo.nomVol"></span>V</td> |
| | | <td>标称内阻:<span v-text="devInfo.nomRes"></span>mΩ</td> |
| | | <td>电池型号:<span v-text="devInfo.battModel"></span></td> |
| | | </tr> |
| | | </tbody> |
| | | </table> |
| | | </div> |
| | | </div> |
| | | <b-table |
| | | <iview-table |
| | | :columns="eleTbl.columns" |
| | | :data="eleTbl.data" |
| | | style="margin-top: 8px; margin-left: 0; margin-right: 0;" |
| | | @on-click-tr="handlerTr"></b-table> |
| | | style="margin-top: 8px; margin-left: 0; margin-right: 0;"></iview-table> |
| | | </div> |
| | | </main> |
| | | </div> |
| | |
| | | * 默认模块名: battery |
| | | * @return {[object]} [ 返回一个对象 ] |
| | | */ |
| | | loader.define(function(require,exports,module){ |
| | | var bs = bui.store({ |
| | | scope: 'page', |
| | | data: {} |
| | | }); |
| | | var vm = new Vue({ |
| | | el: bs.$parent[0], |
| | | data: { |
| | | devInfo: { |
| | | title: '设备信息', |
| | | list: [ |
| | | { |
| | | title: 'FBS9100-1' |
| | | loader.define({ |
| | | data: { |
| | | vm: '' |
| | | }, |
| | | loaded: function(require,exports,module) { |
| | | var bs = bui.store({ |
| | | scope: 'page', |
| | | data: {} |
| | | }); |
| | | var vm = this.vm = new Vue({ |
| | | el: bs.$parent[0], |
| | | data: { |
| | | uiSidebar: '', |
| | | devInfos: { |
| | | page: { |
| | | pageSize: 6, |
| | | pageCurr: 1 |
| | | }, |
| | | { |
| | | title: 'FBs9100-2' |
| | | } |
| | | ] |
| | | title: '设备信息', |
| | | list: [] |
| | | }, |
| | | devInfo: { |
| | | fbsName: "??", // 设备名称 |
| | | groupNum: '??', // 电池组数 |
| | | monCount: '??', // 单体个数 |
| | | nomCap: '??', // 标称容量 |
| | | battProducer: '未知', // 电池品牌 |
| | | nomGroupVol: '??', // 标称组端电压 |
| | | nomVol: '??', // 标称单体电压 |
| | | nomRes: '??', // 标称内阻 |
| | | battModel: '未知', // 型号 |
| | | }, |
| | | eleTbl: { |
| | | timer: new Timeout(), |
| | | columns: [ |
| | | { |
| | | title: '电池组', |
| | | key: 'BattGroupName', |
| | | align: 'center', |
| | | }, |
| | | { |
| | | title: '状态', |
| | | key: 'state', |
| | | align: 'center', |
| | | }, |
| | | { |
| | | title: '组端电压', |
| | | key: 'MonVolLowToAvg', |
| | | align: 'center', |
| | | }, |
| | | { |
| | | title: '电流', |
| | | key: 'Load_curr', |
| | | align: 'center', |
| | | }, |
| | | { |
| | | title: '告警信息', |
| | | key: 'SignalName', |
| | | align: 'center', |
| | | }, |
| | | { |
| | | title: '查看实时监控数据', |
| | | key: 'see', |
| | | minWidth: 80, |
| | | align: 'center', |
| | | render: (h, params) => { |
| | | return h('div', [ |
| | | h('i-button', { |
| | | props: { |
| | | type: 'success', |
| | | size: 'small' |
| | | }, |
| | | style: { |
| | | marginRight: '5px' |
| | | }, |
| | | on: { |
| | | click: function(){ |
| | | // console.log(vm); |
| | | vm.showBatteryInfo(params); |
| | | } |
| | | } |
| | | }, '实时数据'), |
| | | ]) |
| | | } |
| | | } |
| | | ], |
| | | data: [] |
| | | } |
| | | }, |
| | | homeInfo: { |
| | | |
| | | methods: { |
| | | initDevInfo: function() { |
| | | this.devInfo = { |
| | | fbsName: "??", // 设备名称 |
| | | groupNum: '??', // 电池组数 |
| | | monCount: '??', // 单体个数 |
| | | nomCap: '??', // 标称容量 |
| | | battProducer: '未知', // 电池品牌 |
| | | nomGroupVol: '??', // 标称组端电压 |
| | | nomVol: '??', // 标称单体电压 |
| | | nomRes: '??', // 标称内阻 |
| | | battModel: '未知', // 型号 |
| | | }; |
| | | }, |
| | | setDevInfo: function(data){ |
| | | this.initDevInfo(); |
| | | this.devInfo = $.extend({}, this.devInfo, data); |
| | | }, |
| | | handlerTr: function(data) { |
| | | router.load({url: '../battery/batteryInfo.html', param: data }); |
| | | }, |
| | | searchDevice: function() { |
| | | var self = this; |
| | | var page = this.devInfos.page; |
| | | var json = JSON.stringify(page); |
| | | // 请求后台获取告警 |
| | | ajax({ |
| | | type: 'post', |
| | | async: true, |
| | | url: 'BattInfAction!serchDevice', |
| | | data: 'json='+json, |
| | | dataType: 'json', |
| | | success: function(res) { |
| | | var rs = JSON.parse(res.result); |
| | | if(rs.code == 1) { |
| | | var data = rs.data; |
| | | for(var i=0; i<data.length; i++) { |
| | | var _data = data[i]; |
| | | _data.title = _data.FBSDeviceName; |
| | | } |
| | | self.devInfos.list = data; |
| | | } |
| | | } |
| | | }); |
| | | }, |
| | | startBattInfo: function(id) { |
| | | var self = this; |
| | | this.eleTbl.timer.start(function() { |
| | | self.searchBattInfo(id); |
| | | }, 6000); |
| | | }, |
| | | searchBattInfo: function(id) { |
| | | var self = this; |
| | | var json = JSON.stringify({ |
| | | FBSDeviceId: id |
| | | }); |
| | | var deviceBaseInfo = getDevBaseInfo(id); |
| | | console.log(id); |
| | | console.log(deviceBaseInfo); |
| | | // 请求后台获取告警 |
| | | ajax({ |
| | | type: 'post', |
| | | async: true, |
| | | url: 'BattInfAction!serchByCondition', |
| | | data: 'json='+json, |
| | | dataType: 'json', |
| | | success: function(res) { |
| | | var rs = JSON.parse(res.result); |
| | | if(rs.code == 1) { |
| | | var data = rs.data; |
| | | for(var i=0; i<data.length; i++) { |
| | | var _data = data[i]; |
| | | _data.FBSDeviceId = id; |
| | | _data.state = deviceBaseInfo.workstates[_data.num]; |
| | | } |
| | | self.eleTbl.data = data; |
| | | } |
| | | }, |
| | | complete: function() { |
| | | self.eleTbl.timer.open(); |
| | | } |
| | | }); |
| | | }, |
| | | handlerListClick: function(item) { |
| | | this.setDevInfo(this.formateListData(item)); |
| | | this.startBattInfo(item.FBSDeviceId); |
| | | this.uiSidebar.close(); |
| | | }, |
| | | formateListData: function(data) { |
| | | var result = { |
| | | fbsName: "??", // 设备名称 |
| | | groupNum: '??', // 电池组数 |
| | | monCount: '??', // 单体个数 |
| | | nomCap: '??', // 标称容量 |
| | | battProducer: '未知', // 电池品牌 |
| | | nomGroupVol: '??', // 标称组端电压 |
| | | nomVol: '??', // 标称单体电压 |
| | | nomRes: '??', // 标称内阻 |
| | | battModel: '未知', // 型号 |
| | | }; |
| | | result.fbsName = data.FBSDeviceName; |
| | | result.groupNum = data.BattGroupNum; |
| | | result.monCount = data.MonCount; |
| | | result.nomCap = data.MonCapStd; |
| | | result.battProducer = data.BattProducer; |
| | | |
| | | result.nomGroupVol = data.MonCount*data.MonVolStd; |
| | | result.nomVol = data.MonVolStd; |
| | | result.nomRes = data.MonResStd; |
| | | result.battModel = data.BattModel; |
| | | return result; |
| | | }, |
| | | showBatteryInfo: function(params) { |
| | | var row = params.row; |
| | | var param = { |
| | | battGroupId: row.BattGroupId, |
| | | battGroupName: row.BattGroupName, |
| | | devId: row.FBSDeviceId, |
| | | }; |
| | | // 加载路由 |
| | | router.load({ |
| | | url: '../battery/batteryInfo.html', |
| | | param: param |
| | | }); |
| | | }, |
| | | stopTimers: function() { |
| | | this.eleTbl.timer.stop(); |
| | | } |
| | | }, |
| | | eleTbl: { |
| | | columns: [ |
| | | { |
| | | title: '电池组', |
| | | key: 'eleGroup' |
| | | }, |
| | | { |
| | | title: '状态', |
| | | key: 'state' |
| | | }, |
| | | { |
| | | title: '组端电压', |
| | | key: 'groupVol' |
| | | }, |
| | | { |
| | | title: '电流', |
| | | key: 'current' |
| | | }, |
| | | { |
| | | title: '告警信息', |
| | | key: 'warnInfo' |
| | | } |
| | | ], |
| | | data: [ |
| | | { |
| | | eleGroup: '电池组1', |
| | | state: '离线', |
| | | }, |
| | | { |
| | | eleGroup: '电池组2', |
| | | state: '离线', |
| | | }, |
| | | { |
| | | eleGroup: '电池组3', |
| | | state: '离线', |
| | | }, |
| | | { |
| | | eleGroup: '电池组4', |
| | | state: '离线', |
| | | } |
| | | ] |
| | | } |
| | | }, |
| | | methods: { |
| | | handlerTr: function(data) { |
| | | router.load({url: '../battery/batteryInfo.html', param: data }); |
| | | }, |
| | | searchDevice: function() { |
| | | |
| | | } |
| | | }, |
| | | mounted() { |
| | | |
| | | // 脚本都需要在这里执行 |
| | | var uiTab = bui.tab({ |
| | | id:"#uiTab" |
| | | }); |
| | | |
| | | // 侧边栏 |
| | | var uiSidebar = bui.sidebar({ |
| | | id: "#sidebarWrap", //菜单的ID(必须) |
| | | width: 500, |
| | | trigger: "#menu", |
| | | isActive: true, |
| | | }); |
| | | uiSidebar.open(); |
| | | }, |
| | | }); |
| | | mounted() { |
| | | // 获取所有设备的信息 |
| | | this.searchDevice(); |
| | | |
| | | // 脚本都需要在这里执行 |
| | | var uiTab = bui.tab({ |
| | | id:"#uiTab" |
| | | }); |
| | | |
| | | // 侧边栏 |
| | | this.uiSidebar = bui.sidebar({ |
| | | id: "#sidebarWrap", //菜单的ID(必须) |
| | | width: 500, |
| | | trigger: "#menu", |
| | | isActive: true, |
| | | }); |
| | | this.uiSidebar.open(); |
| | | }, |
| | | beforeDestroy() { |
| | | // 关闭页面计时器 |
| | | this.stopTimers(); |
| | | }, |
| | | }); |
| | | }, |
| | | destroyed() { |
| | | // 销毁vue实例 |
| | | this.vm.$destroy(); |
| | | }, |
| | | }) |