whychdw
2019-09-11 15f01899fe3e3e7d8806accb9b9894be5615e70d
修改

Signed-off-by: whychdw <49690745@qq.com>
5个文件已修改
1个文件已添加
881 ■■■■■ 已修改文件
src/App.vue 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/BarChart.vue 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/SquareBox.vue 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/router.js 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/monitor/history.vue 146 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/warnmanage/cellreal.vue 647 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/App.vue
@@ -117,6 +117,29 @@
              name: 'monitor/history'
            }
          ]
        },
        {
          label: '告警管理',
          name: 'battwarn',
          icon: 'md-alert',
          children: [
            {
              label: '电池告警实时查询',
              name: 'warnmanage/cellreal'
            },
            {
              label: '电池告警历史查询',
              name: 'warnmanage/cellhistory'
            },
             {
              label: '设备告警实时查询',
              name: 'warnmanage/equipreal'
            },
            {
              label: '设备告警历史查询',
              name: 'warnmanage/equiphistory'
            }
          ]
        }
      ],
      tabs: []
src/components/BarChart.vue
@@ -1,6 +1,6 @@
<template>
    <div class="bar-echart">
        <div class="echart" :style="style"></div>
    <div class="bar-echart" :class="setFull">
        <div class="echart" :style="setGraphHt"></div>
    </div>
</template>
<script>
@@ -49,7 +49,8 @@
                }
                return colors;
            }
        }
        },
        full: false
    },
    data() {
        return {
@@ -188,6 +189,25 @@
            this.setOption(option);
        },
    },
    computed: {
        setFull: function() {
            if(typeof(this.full) != 'undefined') {
                return {
                    'full': true,
                }
            }
        },
        setGraphHt: function() {
            var result = {
                width: this.width,
                height: this.height,
            };
            if(typeof(this.full) != 'undefined') {
                result.height = '100%';
            }
            return result;
        }
    },
    mounted: function() {
        // console.log(this.$el);
        var $root = $(this.$el);
@@ -198,5 +218,7 @@
}
</script>
<style scoped>
    .bar-echart.full {
        height: 100%;
    }
</style>
src/components/SquareBox.vue
@@ -1,5 +1,5 @@
<template>
    <div class="square-box">
    <div class="square-box" :class="setFull">
        <div class="square-box-mask"></div>
        <!-- 左上 -->
        <div class="square-box-left-top"></div>
@@ -13,13 +13,14 @@
        <div class="square-box-left-bottom"></div>
        <div class="square-box-container">
            <div class="square-box-title" v-if="showTitle"><Icon :type="icon" /><span class="square-box-title-text">{{title}}</span></div>
            <div class="square-box-content" :style="style">
            <div class="square-box-content" :style="getContentStyle">
                <slot></slot>
            </div>
        </div>
    </div>
</template>
<script>
import $ from 'jquery'
export default {
    props: {
        minHeight: {
@@ -38,6 +39,7 @@
            type: Boolean,
            default: true
        },
        full: false
    },
    data() {
        return {
@@ -46,6 +48,26 @@
            }
        }
    },
    computed: {
        setFull: function() {
            if(typeof(this.full) != 'undefined') {
                return {
                    'full-container': true
                }
            }
        },
        getContentStyle: function() {
            var result = {
                minHeight: this.minHeight
            };
            var root = $(this.$el);
            if(typeof(this.full) != 'undefined') {
                result.height = 'calc(100% - 95px)';
            }
            return result;
        }
    }
}
</script>
<style scoped>
@@ -55,6 +77,9 @@
    }
    .square-box {
        position: relative;
    }
    .square-box.full-container {
        height: 100%;
    }
    .square-box-mask {
        position: absolute;
@@ -70,6 +95,9 @@
        position: relative;
        padding: 1px;
    }
    .square-box.full-container .square-box-container {
        height: 100%;
    }
    .square-box-title {
        margin: 15px;
    }
src/router.js
@@ -7,7 +7,8 @@
        components: {
            default: (resolve)=>require(['./views/index.vue'], resolve),
            'monitor/real': (resolve)=>require(['./views/monitor/realTime.vue'], resolve),
            'monitor/history': (resolve)=>require(['./views/monitor/history.vue'], resolve)
            'monitor/history': (resolve)=>require(['./views/monitor/history.vue'], resolve),
            'warnmanage/cellreal': (resolve)=>require(['./views/warnmanage/cellreal.vue'], resolve),
        }
    }
];
src/views/monitor/history.vue
@@ -13,14 +13,46 @@
                    @on-select-change="recordSelect"
                    v-show="states.fbs"></h-collapse>
                    <square-box
                    title="放电数据"
                    full
                    v-show="states.ld9">
                    </square-box>
                </div>
                <div class="view-layout-right">
                    <science-card width="100%" height="100%">
                        <square-box style="margin: 8px" minHeight="400px"></square-box>
                    </science-card>
                    <square-box
                    minHeight="400px"
                    title="数据图谱"
                    full
                    icon="md-pulse">
                        <Row :gutter="8" class="graph-row">
                            <i-col span="12" class="graph-col">
                                <div style="background-color: #FF0000" class="i-col-inner">col-12</div>
                            </i-col>
                            <i-col span="12" class="graph-col">
                                <div class="i-col-inner">
                                    <bar-chart
                                    full
                                    ref="monBar"
                                    :show-value=false
                                    :range="{'min': 0,'max': 1}"></bar-chart>
                                </div>
                            </i-col>
                        </Row>
                        <Row :gutter="8" style="margin-top: 8px;" class="graph-row">
                            <i-col span="12" class="graph-col">
                                <div style="background-color: #2d8cf0" class="i-col-inner">
                                </div>
                            </i-col>
                            <i-col span="12" class="graph-col">
                                <div style="background-color: #FF0000" class="i-col-inner">col-12</div>
                            </i-col>
                        </Row>
                        <Slider
                        v-model="slider"
                        :tip-format="formatSlider"
                        style="margin-left: 15px; margin-right: 30px;"></Slider>
                    </square-box>
                </div>
            </div>
        </div>
@@ -32,6 +64,7 @@
import SquareBox from "../../components/SquareBox"
import HomeStateList from "../../components/HomeStateList"
import HCollapse from "../../components/HCollapse"
import BarChart from "../../components/BarChart"
import {ajax} from "../../libs/common"
export default {
    components: {
@@ -40,9 +73,11 @@
        SquareBox,
        HomeStateList,
        HCollapse,
        BarChart,
    },
    data() {
        return {
            slider: 100,
            batt: '',
            states: {
                fbs: true,
@@ -69,22 +104,38 @@
                    name: '监测充电',
                    items: []
                }
            ]
            ],
            monList: [],        // 单体编号
            hisData: {
                hisBar: {}
            }
        }
    },
    methods: {
        formatSlider: function(value) {
            return '00:00:00';
        },
        handlerSelectChange: function(item) {
            if(item && item.type == 'group') {
                this.batt = item;
                var isSpecail = this.regFbsId(item.FBSDeviceId);
                console.log(item);
                if(isSpecail) {
                    this.states.fbs = false;
                    this.states.ld9 = true;
                    this.searchLd9Records(item);
                }else {
                    this.states.ld9 = false;
                    this.states.fbs = true;
                    this.searchRecords(item);   // 查询电池的充电电记录
                }
            }
        },
        setMonList: function(monCount) {    // 设置单体列表
            this.monList = [];
            for(var i=0; i<monCount; i++) {
                var num = i+1;
                this.monList.push('#'+num);
            }
        },
        initRecords: function() {
@@ -154,7 +205,25 @@
                }
            });
        },
        searchLd9Records: function(batt) {
            var searchParams = {
                BattGroupId: batt.BattGroupId,
            };
            // 查询后台
            ajax({
                url: 'Ld9testdata_infAction_ld9action_serchByCondition',
                data: 'json='+JSON.stringify(searchParams),
                success: function(res) {
                    var rs = JSON.parse(res.result);
                    if(rs.code == 1) {
                        var data = rs.data;
                        console.log(data);
                    }
                }
            });
        },
        recordSelect: function(record) {
            var self = this;
            if(record) {
                var searchParams = {
                    BattGroupId: record.BattGroupId,
@@ -165,14 +234,57 @@
                    data: 'json='+JSON.stringify(searchParams),
                    success: function(res) {
                        var rs = JSON.parse(res.result);
                        var data = [];
                        if(rs.code == 1) {
                            var data =rs.data;
                            console.log(data);
                            data =rs.data;
                        }
                        self.formateHis(data);
                    }
                });
                console.log(searchParams);
            }
        },
        formateHis: function(data) {
            console.log(data);
            // 历史数据
            var hisBar= {
                vol:[],
                tmp:[],
                cap:[],
            };
            var monCount = this.monList.length;
            var num = -1;
            for(var i=0; i<data.length; i++) {
                var _data = data[i];
                var start = data[0].record_num;
                if(_data.mon_num == start) {
                    num++;
                    hisBar.vol.push([]);
                    hisBar.tmp.push([]);
                }
                hisBar.vol[num].push(_data.mon_vol);
                hisBar.tmp[num].push(_data.mon_tmp);
            }
            this.hisData.hisBar = hisBar;
            // 更新柱状图
            this.updateGraph();
        },
        updateGraph: function() {
            var sdata = this.hisData.hisBar.vol[0];
            console.log(sdata);
            var barOption = {
                xAxis: {
                    type: 'category',
                    data: this.monList,
                },
                series: [{
                    name: '电压',
                    type: 'bar',
                    data: sdata
                }],
            };
            this.$refs.monBar.setOption(barOption);
        },
        regFbsId: function(id) {
            var rs = true;
@@ -180,7 +292,10 @@
            rs = pattern.test(id);
            return rs;
        }
    }
    },
    mounted() {
        this.$refs.monBar.setOption({});
    },
}
</script>
<style scoped>
@@ -189,13 +304,13 @@
    }
    .view-layout-left {
        float: left;
        width: 360px;
        width: 340px;
        height: 100%;
        overflow-y: auto;
    }
    .view-layout-middle {
        float: left;
        width: 360px;
        width: 300px;
        margin-left: 8px;
        margin-right: 8px;
        height: 100%;
@@ -205,4 +320,13 @@
        height: 100%;
        overflow-y: auto;
    }
    .graph-row {
        height: calc(50% - 12px);
    }
    .graph-col {
        height: 100%;
    }
    .i-col-inner {
        height: 100%;
    }
</style>
src/views/warnmanage/cellreal.vue
New file
@@ -0,0 +1,647 @@
<template>
    <div class="view-root">
        <div class="view-root-inner">
            <div class="view-layout">
        <Row>
        <Col span="8">
        维护区
        </Col>
        <Col span="8">
        机房站点
        </Col>
        <Col span="8">
        蓄电池组
        </Col>
        </Row>
        <Row>
        <Col span="8">
            <Select v-model="whq" :value='4451' @on-change="creatTable" style="width:200px" placement="bottom" >
        <Option v-for="item in station_name1" :value="item.value" :key="item.value">{{ item.label }}</Option>
          </Select>
        </Col>
        <Col span="8">
                <Select v-model="jfzd" @on-change="creatTable" style="width:200px" placement="bottom" >
        <Option v-for="item in  station_name" :value="item.value" :key="item.value">{{ item.label }}</Option>
    </Select>
        </Col>
        <Col span="8">
                <Select v-model="xdcz" @on-change="creatTable" style="width:200px" placement="bottom" >
        <Option v-for="item in battgroup_name" :value="item.value" :key="item.value">{{ item.label }}</Option>
    </Select>
        </Col>
        </Row>
        <Row>
           <Col span="8">告警条件过滤</Col>
           <Col span="8">告警阀值过滤</Col>
           <Col span="8">告警等级过滤</Col>
        </Row>
        <Row>
        <Col span="8">
             <CheckboxGroup v-model="warncond" @on-change="creatTable">
               <Col>
                 <Row span="12">
                     <Checkbox label="119002" size="large">
                        <span>组端电压</span>
                        </Checkbox>
                        <Checkbox label="119003" size="large">
                            <span>充电电流</span>
                        </Checkbox>
                        <Checkbox label="119004" size="large">
                            <span>放电电流</span>
                      </Checkbox>
                 </Row>
                 <Row span="12">
                     <Checkbox label="119005" size="large">
            <span>单体电压</span>
        </Checkbox>
        <Checkbox label="119007" size="large">
            <span>单体内阻</span>
        </Checkbox>
        <Checkbox label="119006" size="large">
            <span>单体温度</span>
        </Checkbox>
                 </Row>
               </Col>
    </CheckboxGroup>
        </Col>
        <Col span="8">
             <Col >
                  <CheckboxGroup v-model="warnthr" @on-change="creatTable">
                     <Row span="12">
                         <Checkbox label="1" size="large">
                        <span>上限告警</span>
                        </Checkbox>
                     </Row>
                     <Row span="12">
                         <Checkbox label="0" size="large">
                            <span>下限告警</span>
                        </Checkbox>
                     </Row>
                  </CheckboxGroup>
             </Col>
        </Col>
        <Col span="8">
            <CheckboxGroup v-model="warngra" @on-change="creatTable">
               <Col>
                 <Row span="12">
                     <Checkbox label="1" size="large">
                        <span>一级告警</span>
                        </Checkbox>
                        <Checkbox label="2" size="large">
                            <span>二级告警</span>
                        </Checkbox>
                 </Row>
                 <Row span="12">
                     <Checkbox label="3" size="large">
            <span>三级告警</span>
        </Checkbox>
        <Checkbox label="4" size="large">
            <span>四级告警</span>
        </Checkbox>
                 </Row>
               </Col>
    </CheckboxGroup>
        </Col>
    </Row>
    <Divider />
      <Table :data="tableData1" border :columns="tableColumns1" ref="table" :height="tableHeight" no-data-text="数据加载中..." stripe></Table>
            <div style="margin: 10px;overflow: hidden">
                <div style="float: right;">
                    <Page :total="pageAll"  size="small" show-elevator show-sizer :current="1" @on-change="getpageCurr" @on-page-size-change="getpageSize"/>
                </div>
            </div>
            </div>
        </div>
    </div>
</template>
<script>
import {ajax, formatSeconds, sethoubeiTime,
        Timeout, getMaxFromArr, getMinFromArr,
        Title, getSumFromArr, getAvgFromArr} from "../../libs/common"
import {getBattstate, BTSCircle} from '../../assets/js/battInfo'
import $ from 'jquery'
import { setTimeout } from 'timers';
export default {
    components: {
    },
    data() {
        return {
            timer: new Timeout(),        // 实时告警计时器
            loading: true,
            station_name1:[],
            station_name:[],
            battgroup_name:[],
            whq: '',
            jfzd: '',
            xdcz: '0',
            warncond: ['119002', '119003', '119004', '119005', '119007', '119006'],
            warnthr:['1','0'],
            warngra:['1','2','3','4'],
            pageCurr: '1',
            pageSize: '10',
            pageAll: 1,
            tableHeight: 450,
            tableData1: [],
            tableColumns1: [
                {
                    title: '编号',
                    key: 'number'
                },
                {
                    title: '机房名称',
                    key: 'comname',
                    render: (h, params) => {
                        //console.log(params);
                        return h('div',  params.row.comname);
                    }
                },
                {
                    title: '电池组名称',
                    key: 'battname'
                },
                {
                    title: '告警名称',
                    key: 'warnname'
                },
                {
                    title: '单体编号',
                    key: 'singname'
                },
                {
                    title: '告警值',
                    key: 'warnval'
                },
                    {
                    title: '告警等级',
                    key: 'warnlev'
                },
                {
                    title: '确认告警',
                    key: 'warnsure',
                    width: 150,
                    align: 'center',
                    render: (h, params) => {
                        const row = params.row;
                        const color = row.warnsure === 0 ? 'error' : 'success';
                        const text = row.warnsure === 0 ? '未确认' : '已确认';
                        return h('Tag', {
                            props: {
                                type: 'dot',
                                color: color
                            }
                        }, text);
                    }
                },
                {
                    title: '告警确认时间',
                    key: 'warnsuretime'
                },
                    {
                    title: '告警开始时间',
                    key: 'warnstarttime'
                },
                    {
                    title: '告警结束时间',
                    key: 'warnstoptime'
                }
            ]
        }
    },
    computed:{
        fault_type_id(){
            if(this.warncond.indexOf("119002")>-1){return '119002'}
            else{return '0';}
        },
        fault_level(){
            if(this.warncond.indexOf("119003")>-1){return '119003'}
            else{return '0';}
        },
        record_uid(){
            if(this.warncond.indexOf("119004")>-1){return '119004'}
            else{return '0';}
        },
        maint_type_id(){
            if(this.warncond.indexOf("119005")>-1){return '119005'}
            else{return '0';}
        },
        maint_close(){
            if(this.warncond.indexOf("119007")>-1){return '119007'}
            else{return '0';}
        },
        maint_done(){
            if(this.warncond.indexOf("119006")>-1){return '119006'}
            else{return '0';}
        },
        alm_id(){
            if(this.warnthr.indexOf("1")>-1){return '1'}
            else{return '100';}
        },
        alm_signal_id(){
             if(this.warnthr.indexOf("0")>-1){return '0'}
            else{return '100';}
        },
        numone(){
             if(this.warngra.indexOf("1")>-1){return '1'}
            else{return '0';}
        },
        BattGroupId(){
              if(this.warngra.indexOf("2")>-1){return '2'}
            else{return '0';}
        },
        master_audit(){
              if(this.warngra.indexOf("3")>-1){return '3'}
            else{return '0';}
        },
        appoint_uid(){
              if(this.warngra.indexOf("4")>-1){return '4'}
            else{return '0';}
        },
        dealwhq(){
            if(!isNaN(this.whq)){return '';}
            else{return this.whq;}
        },
        dealjfzd(){
            if(!isNaN(this.jfzd)){return '';}
            else{return this.jfzd;}
        },
        dealxdcz(){
            if(!isNaN(this.xdcz)){return '0';}
            else{return this.jfzd;}
        }
    },
    methods: {
        getwarncond(val){
            console.log(this.warncond);
        },
        getpageCurr(a){
           console.warn(44599933);
          this.pageCurr=a;
          this.creatTable();
        },
        getpageSize(b){
            console.warn(8877);
            this.pageSize=b;
            this.creatTable();
        },
        isInArray(arr,value){
        for(var i = 0; i < arr.length; i++){
            if(value === arr[i]){
                return true;
            }
        }
        return false;
        },
        getwarnthr(){
            console.log(this.warnthr);
        },
        getwarngra(){
            console.log(this.warngra);
        },
        // getxdcz(){
        //     console.log(this.xdcz);
        // },
                 urlEncode(param, key, encode) {
                    var vm=this;
                  if(param==null) return '';
                  var paramStr = '';
                  var t = typeof (param);
                  if (t == 'string' || t == 'number' || t == 'boolean') {
                    paramStr += '&' + key + '=' + ((encode==null||encode) ? encodeURIComponent(param) : param);
                  } else {
                    for (var i in param) {
                      var k = key == null ? i : key + (param instanceof Array ? '[' + i + ']' : '.' + i);
                      paramStr += vm.urlEncode(param[i], k, encode);
                    }
                  }
                  return paramStr;
                },
        getallwhq(){
              var vm=this;
            //页面加载时查询维护区中的枢纽类型
            ajax({
                 type:"post",
                 url:"User_battgroup_baojigroup_battgroupAction!serchStationName1InGroup",
                 async: true,
                dataType: 'json',
                data: "json="+JSON.stringify(null),
                success:function(data){
                        data=data.result;
                        data=eval("("+data+")");
                        if(data.code==1 && data.data.length>0){
                        this.station_name1=[];
                        for(var i=0;i<=data.data.length;i++){
                            var obj={};
                            if(i==0){
                                obj.label='全部(共'+data.data.length+'种)';
                                obj.value=data.data.length;
                                vm.sn1placeholder=obj.label;
                            }else{
                                obj.label=data.data[i-1];
                                obj.value=data.data[i-1];
                            }
                           vm.station_name1.push(obj);
                        }
                    }else{
                        vm.station_name1.push({
                             value: '暂无管理的维护区',
                            label: '暂无管理的维护区'
                        });
                    }
                     vm.getalljfzd();
                }
            });
        },
        getalljfzd(){
            var vm=this;
            var checkedwhq=vm.dealwhq;
                ajax({
                type:"post",
                 url:"User_battgroup_baojigroup_battgroupAction!serchStationNameInGroup",
                 async: true,
                dataType: 'json',
                data: "json="+JSON.stringify({UNote:checkedwhq}),
                success:function(data){
                        data=data.result;
                        data=eval("("+data+")");
                        // console.log(data);
                        if(data.code==1 && data.data.length>0){
                        vm.station_name=[];
                        for(var i=0;i<=data.data.length;i++){
                            var obj={};
                            if(i==0){
                                obj.label='全部(共'+data.data.length+'种)';
                                vm.snplaceholder=obj.label;
                                obj.value=data.data.length;
                            }else{
                                obj.label=data.data[i-1];
                                obj.value=data.data[i-1];
                            }
                           vm.station_name.push(obj);
                        }
                    }else{
                        vm.snplaceholder='暂无管理的机房站点';
                        vm.station_name.push({
                             value: '暂无管理的机房站点',
                            label: '暂无管理的机房站点'
                        });
                    }
                    vm.getallxdcz();
                 }
               })
        },
        getallxdcz(){
            var vm=this;
            var checkedwhq=vm.dealwhq;
            var checkedjfzd=vm.jfzd;
                ajax({
                type:"post",
                 url:"User_battgroup_baojigroup_battgroupAction!serchBattgroupidInGroup",
                 async: true,
                dataType: 'json',
                data: "json="+JSON.stringify({UNote:checkedwhq,UName:checkedjfzd}),
                success:function(data){
                        data=data.result;
                        data=eval("("+data+")");
                        // console.log(data);
                        if(data.code==1 && data.data.length>0){
                        vm.battgroup_name=[];
                        for(var i=0;i<=data.data.length;i++){
                            var obj={};
                            if(i==0){
                                obj.label='全部(共'+data.data.length+'种)';
                                obj.value=data.data.length;
                                vm.bnplaceholder=obj.label;
                            }else{
                                obj.label=data.data[i-1].BattGroupName+"-"+data.data[i-1].MonCount+"节";
                                obj.value=data.data[i-1].BattGroupId;
                            }
                           vm.battgroup_name.push(obj);
                        }
                    }else{
                        vm.bnplaceholder='暂无管理的蓄电池组';
                        vm.battgroup_name.push({
                             value: '暂无管理的蓄电池组',
                            label: '暂无管理的蓄电池组'
                        });
                    }
                 }
               })
        },
        startSearch: function() {
            var self = this;
            this.timer.start(function() {
                self.mockTableData1();
            }, 8000);
        },
         mockTableData1 () {
            //console.warn('haha87686');
            var vm=this;
            var searchcond={
                    'bmd.page.pageCurr': vm.pageCurr?vm.pageCurr:1,
                    'bmd.page.pageSize': vm.pageSize?vm.pageSize:10,
                    'bmd.binf.StationName1': vm.dealwhq?vm.dealwhq:'',
                    'bmd.binf.stationName': vm.dealjfzd?vm.dealjfzd:'',
                    'bmd.binf.BattGroupId': vm.dealxdcz?vm.dealxdcz:0,
                    'bmd.mainf.usr_id': 0,   /* 在线电压*/
                    'bmd.mainf.fault_type_id': vm.fault_type_id?vm.fault_type_id:119002, /*<!-- 组端电压 -->*/
                    'bmd.mainf.fault_level': vm.fault_level?vm.fault_level:119003,   /*<!-- 充电电流 -->*/
                    'bmd.mainf.record_uid': vm.record_uid?vm.record_uid:119004,   /*<!-- 放电电流 -->*/
                    'bmd.adata.MonNum': 0,        /*<!-- 容量告警告警 -->*/
                    'bmd.adata.Record_Id': 0,     /*<!-- 容量更换告警 -->*/
                    'bmd.mainf.maint_type_id':vm.maint_type_id?vm.maint_type_id:119005, /*<!-- 单体电压 -->*/
                    'bmd.mainf.maint_close': vm.maint_close?vm.maint_close:119007, /*<!-- 单体内阻 -->*/
                    'bmd.mainf.master_id': 0, /*<!-- 连接条阻抗 -->*/
                    'bmd.mainf.maint_done': vm.maint_done?vm.maint_done:119006, /*<!-- 单体温度 -->*/
                    'bmd.adata.alm_id': vm.alm_id?vm.alm_id:1,   /*<!-- 上限告警  -->*/
                    'bmd.adata.alm_signal_id': vm.alm_signal_id?vm.alm_signal_id:0, /*<!-- 下限告警 -->*/
                    'bmd.mainf.num': vm.numone?vm.numone:1, /*<!-- 一级告警 -->*/
                    'bmd.mainf.BattGroupId': vm.BattGroupId?vm.BattGroupId:2, /*<!-- 二级告警 -->*/
                    'bmd.mainf.master_audit': vm.master_audit?vm.master_audit:3, /*<!-- 三级告警 -->*/
                    'bmd.mainf.appoint_uid': vm.appoint_uid?vm.appoint_uid:4 /*<!-- 四级告警 -->*/
            }
            console.log(searchcond);
            vm.loading=true;
                ajax({
                type:"post",
                url:"Battalarm_dataAction!serchByCondition",
                async: true,
                dataType: 'json',
                data: "json="+vm.urlEncode(searchcond),
                success:function(data){
                        var alldt = [];
                        data=data.result;
                        data=eval("("+data+")");
                        console.log(44444);
                        console.log(data);
                        if(data.code==1 && data.data.length>0){
                       var data2=data.data;
                        for(var i=0;i<=data2.length-1;i++){
                                 if(i == (data2.length-1)){
                                   vm.pageAll = data2[i].page.pageAll;
                                 console.log(777777);
                              }else{
                                var wv=null;
                                if(data2[i].adata&&data2[i].binf){
                                            if(data2[i].adata.alm_signal_id >= 19 && data2[i].adata.alm_signal_id <= 22){
                                            wv=(data2[i].adata.alm_value).toFixed(0)+'AH';       //容量告警
                                        }else if((data2[i].adata.alm_signal_id >= 9 && data2[i].adata.alm_signal_id <= 10)){
                                            wv=(data2[i].adata.alm_value).toFixed(3)+'V';        //单体电压
                                        }else if(data2[i].adata.alm_signal_id >= 1 && data2[i].adata.alm_signal_id <= 4){
                                            wv=(data2[i].adata.alm_value).toFixed(1)+'V';        //在线电压,组端电压
                                        }else if(data2[i].adata.alm_signal_id >= 5 && data2[i].adata.alm_signal_id <= 5){
                                            wv=(data2[i].adata.alm_value).toFixed(1)+'A';        //充电电流,放电电流
                                        }else if(data2[i].adata.alm_signal_id >= 13 && data2[i].adata.alm_signal_id <= 14){
                                            wv=(data2[i].adata.alm_value).toFixed(3)+'mΩ';       //单体内阻
                                        }else if(data2[i].adata.alm_signal_id >= 11 && data2[i].adata.alm_signal_id <= 12){
                                            wv=(data2[i].adata.alm_value).toFixed(1)+'℃';        //单体温度
                                        }else{
                                            wv=(data2[i].adata.alm_value);
                                        }
                                var oneobj={
                                     number:(vm.pageCurr-1)*vm.pageSize+(i+1),  //编号
                                    // number: i+1,
                                    comname:data2[i].binf.StationName, //机房名称
                                    battname:data2[i].binf.BattGroupName, //电池组名称
                                    warnname:data2[i].binf.StationName8,   //告警名称
                                    singname:data2[i].adata.MonNum,        //单体编号
                                    warnval:wv,                         //告警值
                                    warnlev:data2[i].binf.StationName9,  //告警等级
                                    warnsure:data2[i].adata.alm_is_confirmed, //告警确认
                                    warnsuretime:data2[i].adata.alm_is_confirmed!=0?data2[i].adata.alm_confirmed_time:"-",  //告警确认时间
                                    warnstarttime:data2[i].adata.alm_start_time,   //告警开始时间
                                    warnstoptime:data2[i].adata.alm_is_confirmed!=0?data2[i].adata.alm_end_time:"-"    //告警结束时间
                                }
                               alldt.push(oneobj);
                                 }
                               }
                        }
                    }else{
                        if(data.data.length == 1){
                          vm.pageAll = data.data[0].page.pageAll;
                         }
                    }
                    console.log(alldt);
                    vm.tableData1 = alldt;
                    vm.timer.open();
                    //clearTimeout($.ti);
                    // $.ti=setTimeout(vm.creatTable,8000);
                    vm.loading=false;
                 },
                 error:function(){
                    // clearTimeout($.ti);
                    // $.ti=setTimeout(vm.creatTable,8000);
                 }
               });
            },
            creatTable(){
                 var vm=this;
                 vm.tableData1 = vm.mockTableData1();
            }
    },
    mounted: function() {
        var vm=this;
        vm.getallwhq();
        this.tableHeight = window.innerHeight - this.$refs.table.$el.offsetTop - 160;
        this.startSearch();
    },
    destroyed: function() {
        clearTimeout($.ti);
    }
}
</script>
<style scoped>
    .view-layout {
        height: 100%;
    }
    .view-layout-left {
        float: left;
        width: 360px;
        height: 100%;
        overflow-y: auto;
    }
    .view-layout-right {
        margin-left: 370px;
        height: 100%;
        overflow-y: auto;
    }
</style>