whychdw
2019-09-05 0600f47f23f2a8971e590bec88ee92f8fb5792bf
dist/pages/battery/batteryInfo.js
@@ -28,6 +28,9 @@
        var vm = this.vm = new Vue({
            el: bs.$el[0],
            data: {
                block: {
                    tabMain: 0
                },
                params: params,
                title: '未知',
                timer: {
@@ -329,10 +332,121 @@
                        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 = []; // 单体编号
@@ -398,6 +512,18 @@
                    // 关闭页面的计时器
                    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: {
@@ -434,6 +560,10 @@
                });
                this.startSearch();
                setTimeout(function () {
                    // 设置模块的高度
                    self.setBlock();
                }, 10);
            },
            beforeDestroy: function beforeDestroy() {
                this.stopTimers();