whychdw
2019-08-30 f62d0e53330000ee3f60a04e34fe058919f26783
添加内容
10个文件已修改
1个文件已添加
836 ■■■■ 已修改文件
dist/index.html 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dist/js/common_functions.js 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dist/js/components.js 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dist/pages/battery/battery.html 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dist/pages/battery/battery.js 305 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/index.html 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/js/common_functions.js 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/js/components.js 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/js/const_var.js 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/battery/battery.html 27 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/battery/battery.js 329 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dist/index.html
@@ -9,7 +9,7 @@
    <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>
@@ -20,14 +20,16 @@
    <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>
dist/js/common_functions.js
@@ -330,18 +330,30 @@
    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;
}
dist/js/components.js
@@ -84,7 +84,7 @@
            }
        }
    },
    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 = {};
@@ -94,6 +94,9 @@
                };
            }
            return style;
        },
        handlerClick: function handlerClick(data, key) {
            this.$emit('on-click', data);
        }
    },
    computed: {}
dist/pages/battery/battery.html
@@ -2,7 +2,7 @@
<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">
@@ -11,7 +11,7 @@
                
                <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>
@@ -25,22 +25,22 @@
                        <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>
dist/pages/battery/battery.js
@@ -5,76 +5,241 @@
 * 默认模块名: 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();
    }
});
src/index.html
@@ -19,6 +19,8 @@
    <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 -->
src/js/common_functions.js
@@ -336,23 +336,30 @@
    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;
}
src/js/components.js
@@ -122,7 +122,8 @@
                    <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
@@ -148,6 +149,9 @@
                };
            }
            return style;
        },
        handlerClick: function(data, key) {
            this.$emit('on-click', data);
        }
    },
    computed: {
src/js/const_var.js
New file
@@ -0,0 +1,51 @@
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: []
    }
];
src/pages/battery/battery.html
@@ -2,7 +2,9 @@
<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">
@@ -11,7 +13,7 @@
                <!-- 左边有图标示例 -->
                <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>
@@ -25,26 +27,25 @@
                        <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>
src/pages/battery/battery.js
@@ -3,95 +3,250 @@
 * 默认模块名: 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();
    },
})