| | |
| | | var vm = this.vm = new Vue({ |
| | | el: bs.$el[0], |
| | | data: { |
| | | block: { |
| | | tabMain: 0 |
| | | }, |
| | | params: params, |
| | | title: '未知', |
| | | timer: { |
| | |
| | | type: '温度', |
| | | avg: '0℃' |
| | | }]; |
| | | if (tabsState.totalInfo.state) { |
| | | if (tabsState.totalInfo.state && data.length != 0) { |
| | | var data0 = data[0]; |
| | | // 电压 |
| | | var vol = { |
| | | max: { |
| | | mon_num: [data0.mon_num], |
| | | value: data0.mon_vol |
| | | }, |
| | | min: { |
| | | mon_num: [data0.mon_num], |
| | | value: data0.mon_vol |
| | | } |
| | | // 内阻 |
| | | };var res = { |
| | | max: { |
| | | mon_num: [data0.mon_num], |
| | | value: data0.mon_res |
| | | }, |
| | | min: { |
| | | mon_num: [data0.mon_num], |
| | | value: data0.mon_res |
| | | } |
| | | |
| | | // 温度 |
| | | };var tmp = { |
| | | max: { |
| | | mon_num: [data0.mon_num], |
| | | value: data0.mon_tmp |
| | | }, |
| | | min: { |
| | | mon_num: [data0.mon_num], |
| | | value: data0.mon_tmp |
| | | } |
| | | |
| | | // 总值 |
| | | };var sum = { |
| | | vol: data0.mon_vol, |
| | | res: data0.mon_res, |
| | | tmp: data0.mon_tmp |
| | | }; |
| | | // 长度 |
| | | var len = data.length; |
| | | for (var i = 1; i < len; i++) { |
| | | var _data = data[i]; |
| | | this.setTotalMaxMin(vol, _data, 'mon_vol'); |
| | | this.setTotalMaxMin(res, _data, 'mon_res'); |
| | | this.setTotalMaxMin(tmp, _data, 'mon_tmp'); |
| | | sum.vol += _data.mon_vol; |
| | | sum.res += _data.mon_res; |
| | | sum.tmp += _data.mon_tmp; |
| | | } |
| | | |
| | | // 设置电压 |
| | | var volMaxMin = this.formatMaxMin(vol, 'V'); |
| | | result[0].high = volMaxMin.max; |
| | | result[0].low = volMaxMin.min; |
| | | result[0].avg = this.getAvg(sum.vol, len, 'V'); |
| | | |
| | | // 设置内阻 |
| | | var resMaxMin = this.formatMaxMin(res, 'mΩ'); |
| | | result[1].high = resMaxMin.max; |
| | | result[1].low = resMaxMin.min; |
| | | result[1].avg = this.getAvg(sum.res, len, 'mΩ'); |
| | | |
| | | // 设置温度 |
| | | var tmpMaxMin = this.formatMaxMin(tmp, '℃'); |
| | | result[2].high = tmpMaxMin.max; |
| | | result[2].low = tmpMaxMin.min; |
| | | result[2].avg = this.getAvg(sum.tmp, len, '℃'); |
| | | |
| | | this.tbls.totalInfo.data = result; |
| | | } |
| | | }, |
| | | setTotalMaxMin: function setTotalMaxMin(target, item, key) { |
| | | if (item[key] > target.max.value) { |
| | | target.max.mon_num = [item.mon_num]; |
| | | target.max.value = item[key]; |
| | | } else if (item[key] == target.max.value) { |
| | | target.max.mon_num.push(item.mon_num); |
| | | } |
| | | |
| | | if (item[key] < target.min.value) { |
| | | target.min.mon_num = [item.mon_num]; |
| | | target.min.value = item[key]; |
| | | } else if (item[key] == target.min.value) { |
| | | target.min.mon_num.push(item.mon_num); |
| | | } |
| | | }, |
| | | formatMaxMin: function formatMaxMin(data, unit) { |
| | | var result = { |
| | | max: '', |
| | | min: '' |
| | | }; |
| | | // 设置max |
| | | var max = data.max; |
| | | var num_str = '#' + max.mon_num[0]; |
| | | for (var i = 1; i < max.mon_num.length; i++) { |
| | | num_str += ',#' + max.mon_num[i]; |
| | | } |
| | | result.max = num_str + ":" + max.value + unit; |
| | | |
| | | // 设置min |
| | | var min = data.min; |
| | | var num_str = '#' + min.mon_num[0]; |
| | | for (var i = 1; i < min.mon_num.length; i++) { |
| | | num_str += ',#' + min.mon_num[i]; |
| | | } |
| | | result.min = num_str + ":" + min.value + unit; |
| | | |
| | | return result; |
| | | }, |
| | | getAvg: function getAvg(sum, len, unit) { |
| | | return Number((sum / len).toFixed(2)) + unit; |
| | | }, |
| | | |
| | | setOptions: function setOptions(data) { |
| | | // 遍历data的值 |
| | | var monNum = []; // 单体编号 |
| | |
| | | // 关闭页面的计时器 |
| | | this.timer.rtState.stop(); |
| | | this.timer.rtData.stop(); |
| | | }, |
| | | setBlock: function setBlock() { |
| | | this.block.tabMain = this.$refs.tabMain.offsetHeight; |
| | | }, |
| | | getTabHt: function getTabHt(unit) { |
| | | var result = 0; |
| | | if (unit) { |
| | | result = this.block.tabMain - 5 + unit; |
| | | } else { |
| | | result = this.block.tabMain - 10; |
| | | } |
| | | return result; |
| | | } |
| | | }, |
| | | computed: { |
| | |
| | | }); |
| | | |
| | | this.startSearch(); |
| | | setTimeout(function () { |
| | | // 设置模块的高度 |
| | | self.setBlock(); |
| | | }, 10); |
| | | }, |
| | | beforeDestroy: function beforeDestroy() { |
| | | this.stopTimers(); |