/** * 首页模块 * 默认模块名: main * @return {[object]} [ 返回一个对象 ] */ loader.define(function(require, exports, module) { var bs = bui.store({ scope: 'page', data: {} }); var vm =new Vue({ el: bs.$el[0], data: { handleData: new HandleData(), addressModal: { address: '', port: '', show: false, notSave: true }, block: { main: 0, block1: 0, alarmBlock1: 0 }, numbers: { alarms: 0, charge: 0, discharge: 0 }, timers: { alarms: new Timeout(), test: new Timeout(), }, tabs: { menu: false, alarm: true, charge: false, discharge: false }, tbls: { alarm: { page: { pageSize: 6, pageCurr: 1 }, pageBtn: { pre: true, next: false, }, timer: new Timeout(), title: '告警信息', columns: [ { title: '系统', minWidth: 140, align: 'center', key: 'num' }, { title: '电池组', minWidth: 120, align: 'center', key: 'battGroupName' }, { title: '告警名称', minWidth: 200, align: 'center', key: 'note' }, { title: '单体编号', minWidth: 90, align: 'center', key: 'MonNum', }, { title: '告警开始时间', minWidth: 200, align: 'center', key: 'alm_start_time' }, { title: '查看实时监控数据', key: 'see', minWidth: 180, 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: [] }, charge: { page: { pageSize: 6, pageCurr: 1 }, timer: new Timeout(), title: '充电电池信息', columns: [ { title: '系统', key: 'num' }, { title: '电池组', key: 'note' }, { title: '测试开始时间', key: 'batt_test_starttime' }, { title: '组端电压(V)', key: 'group_vol' }, { title: '组端电流(A)', key: 'group_curr' }, { title: '查看', key: 'see', align: 'center', render: (h, params) => { return h('div', [ h('i-button', { props: { type: 'success', size: 'small' }, style: { marginRight: '5px' }, on: { click: () => { console.log(params); } } }, '查看详情'), ]) } } ], data: [] }, discharge: { page: { pageSize: 6, pageCurr: 1 }, timer: new Timeout(), title: '放电电池组信息信息', columns: [ { title: '系统', key: 'num' }, { title: '电池组', key: 'note' }, { title: '测试开始时间', key: 'batt_test_starttime' }, { title: '组端电压(V)', key: 'group_vol' }, { title: '组端电流(A)', key: 'group_curr' }, { title: '查看', key: 'see', align: 'center', render: (h, params) => { return h('div', [ h('i-button', { props: { type: 'success', size: 'small' }, style: { marginRight: '5px' }, on: { click: () => { console.log(params); } } }, '查看详情'), ]) } } ], data: [] } }, routers: [ { path: 'device', url: '../device/device.html' }, { path: 'warn', url: '../warn/warn.html' }, { path: 'battery', url: '../battery/battery.html' }, { path: 'system', url: '../system/system.html' }, { path: 'address', url: '../system/address.html' }, { path: 'history', url: '../history/history.html' } ] }, methods: { handerClick: function(str) { var url = this.getUrl(str); if(url) { router.load({ url: url, param: {} }); } }, handerClickAlert: function(str) { switch(str) { case 'address': this.showAddressModal(); break; } }, showAddressModal:function() { this.addressModal.show = true; this.addressModal.notSave = true; }, chagneSaveBtn: function() { this.addressModal.notSave = true; }, testAddress: function() { var url = 'http://'+this.addressModal.address+':'+this.addressModal.port+'/Device_Manage/'; var self = this; var searchParams = { num: 2 }; var json = JSON.stringify(searchParams); // 请求后台 $.ajax({ type: 'post', async: true, url: url+"Batt_rtstateAction!serchByInfo", data: 'json='+json, dataType: 'json', timeout: 2000, success: function(res) { self.$Message.info('测试连接成功,可以保存地址!'); self.addressModal.notSave = false; }, error: function() { self.$Message.error('测试连接失败,请检查输入的地址!'); } }); }, saveAddress: function() { var address = this.addressModal; bui.alert(address.address); bui.alert(address.port); try{ var result = Android.saveServerInfo(address.address, Number(address.port)); bui.alert(result); }catch(e) { this.$Message.warning('保存失败,请检查当前运行环境!'); } this.addressModal.show = false; }, getUrl: function(str) { var url = ''; for(var i=0; i=self.numbers.alarms) { self.tbls.alarm.pageBtn.next = true; }else { self.tbls.alarm.pageBtn.next = false; } // 添加数据 if(self.tbls.alarm.data.length == 0) { console.log(data); self.tbls.alarm.data = data; }else { self.handleData.handle(self.tbls.alarm.data, data, ['num', 'alm_start_time']); } } }, complete: function() { self.tbls.alarm.timer.open(); } }); }, searchCharge: function() { //查询充电 // 判断是否显示 if(!this.tabs.charge) { this.tbls.charge.timer.open(); return; } var self = this; var searchParams = { num: 2 }; var json = JSON.stringify(searchParams); // 请求后台获取正在充电 ajax({ type: 'post', async: true, url: 'Batt_rtstateAction!serchByInfo', data: 'json='+json, dataType: 'json', success: function(res) { var rs = JSON.parse(res.result); if(rs.code == 1) { var data = rs.data; // self.tbls.charge.data = data; self.handleData.handle(self.tbls.charge.data, data, ['num', 'batt_test_starttime']); } }, complete: function() { self.tbls.charge.timer.open(); } }); }, searchDisCharge: function() { //查询放电 // 判断是否显示 if(!this.tabs.discharge) { this.tbls.discharge.timer.open(); return; } var self = this; var searchParams = { num: 3 }; var json = JSON.stringify(searchParams); // 请求后台获取正在充电 ajax({ type: 'post', async: true, url: 'Batt_rtstateAction!serchByInfo', data: 'json='+json, dataType: 'json', success: function(res) { var rs = JSON.parse(res.result); if(rs.code == 1) { var data = rs.data; // console.log(data); // self.tbls.discharge.data = data; self.handleData.handle(self.tbls.discharge.data, data, ['num', 'batt_test_starttime']); } }, complete: function() { self.tbls.discharge.timer.open(); } }); }, searchAlarmNum: function() { var self = this; // 请求后台获取告警总数 ajax({ type: 'post', async: true, url: 'Battalarm_dataAction!searchAlarmNum', data: null, dataType: 'json', success: function(res) { var rs = JSON.parse(res.result); if(rs.code == 1) { var data = rs.data; self.numbers.alarms = data[0]; } }, complete: function() { self.timers.alarms.open(); } }); }, searchTestNum: function() { var self = this; // 请求后台获取告警总数 ajax({ type: 'post', async: true, url: 'Batt_rtstateAction!serchDisOrChargrNew', data: null, dataType: 'json', success: function(res) { var rs = JSON.parse(res.result); if(rs.code == 1) { var data = rs.data; self.numbers.charge = data[0]; self.numbers.discharge = data[1]; } }, complete: function() { self.timers.test.open(); } }); }, handlerTabs: function(type) { var tabs = this.tabs; // 判断点击的内容是否已经被显示 if(tabs[type]) { return; } Object.keys(tabs).forEach(function(key) { if(key == type) { tabs[key] = true; }else { tabs[key] = false; } }); // 查询告警信息 this.startAlarm(); // 查询正在充电中 this.startCharge(); // 查询放电中 this.startDisCharge(); }, outSystem: function() { // 退出系统 bui.confirm('是否退出系统', function(e) { var text = $(e.target).text(); if(text == "确定") { if(typeof Android != 'undefined') { Android.reStartSystem(); } } this.close(); }); }, next: function(type) { // 下一页 switch(type) { case 'alarm': this.tbls.alarm.page.pageCurr++; this.tbls.alarm.pageBtn.pre = false; this.startAlarm(); break; } }, pre: function(type) { switch(type) { case 'alarm': this.tbls.alarm.page.pageCurr--; this.tbls.alarm.pageBtn.next = false; this.startAlarm(); if(this.tbls.alarm.page.pageCurr == 1) { this.tbls.alarm.pageBtn.pre = true; } break; } }, showBatteryInfo: function(params) { var row = params.row; var param = { battGroupId: row.BattGroupId, battGroupName: row.battGroupName, devId: row.num, }; // 加载路由 router.load({ url: '../battery/batteryInfo.html', param: param }); }, setBlock: function() { var main = this.$refs.main.offsetHeight; var block1 = this.$refs.block1.offsetHeight; var alarmBlock1 = this.$refs.alarmBlock1.offsetHeight; this.block.main = main; this.block.block1 = block1; this.block.alarmBlock1 = alarmBlock1; }, getAlarmHt: function() { return this.getTblHt() - 45; }, getTblHt: function() { return this.block.main - this.block.block1 - 40; } }, computed: { getAlarmHt: function() { return 400; } }, mounted() { // 查询告警信息 this.startAlarm(); // 查询正在充电中 this.startCharge(); // 查询放电中 this.startDisCharge(); // 查询告警,充电,放电的数目 this.searchNums(); this.setBlock(); }, destroyed() { }, }); var pageview = {}; // 模块初始化定义 pageview.init = function() { } // 绑定按钮跳转 $("#battery").on("click",function(){ router.load({ url: '../battery/battery.html', param: {} }); }); // 告警模块 $('#warn').on('click', function() { router.load({ url: '../warn/warn.html', param: {} }); }); // 初始化 pageview.init(); // 输出模块 return pageview; })