hdw
2018-11-12 265e07e56a6abfac6c5aa941397dcbca573d18af
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%@taglib uri="/struts-tags" prefix="s" %>
<!DOCTYPE HTML>
<html lang="en">
  <head>
    <base href="<%=basePath%>">
    <title>61850工作状态</title>
      <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE10" />
    <link rel="stylesheet" type="text/css" href="font-awesome-4.7.0/css/font-awesome.min.css">
    <link rel="stylesheet" type="text/css" href="font-awesome-4.7.0/css/font-awesome-animation.min.css">
    <link rel="stylesheet" type="text/css" href="pages/css/base.css">
    <link rel="stylesheet" type="text/css" href="pages/css/common.css">
    <link rel="stylesheet" type="text/css" href="css/nocontent.css">
    <style>
        html, body {
            width: 100%;
            height: 100%;
            overflow:hidden;
        }
        .page-container {
            width: 100%;
            height: 100%;
        }
        .page-footer {
            height: 32px;
        }
    </style>
  </head>
  
  <body>
      <div class="page-container">
          <div class="page-header">
              <!--头部内容开始-->
            <jsp:include page="Top.jsp" flush="true"/>
            <!--头部内容结束-->
            <!--导航开始-->
            <jsp:include page="nav.jsp" flush="true"/>
            <div class="filter-container">
                 <div class="filter-header"><span>61850工作状态</span></div>
                 <div class="filter-body">
                     <table>
                         <tbody>
                             <tr class="font-weight">
                                 <td>机房名称</td>
                                 <td>设备工作状态</td>
                             </tr>
                             <tr>
                                 <td>
                                     <select id="stationName"></select>
                                 </td>
                                 <td>
                                     <select id="workStauts">
                                         <option value="100">全部(共6种)</option>
                                         <option value="0">在线浮充</option>
                                         <option value="1">预充电(限流充电)</option>
                                         <option value="2">核容测试</option>
                                         <option value="3">停电放电</option>
                                         <option value="4">内阻测试</option>
                                         <option value="5">K1/D1测试</option>
                                     </select>
                                 </td>
                             </tr>
                         </tbody>
                     </table>
                 </div>
            </div>
          </div>
        <div class="page-content">
            <div id="btsStatusTbl" class="tbl-container">
                <div class="tbl-header"></div>
                <div class="tbl-body"></div>
                <div class="tbl-footer"></div>
            </div>
        </div>
        <div class="page-footer"></div>
      </div>
    <script type="text/javascript" src="pages/js/base.js"></script>
    <script type="text/javascript" src="pages/js/common.js"></script>
    <script type="text/javascript" src="js/nocontent.js"></script>
    <script type="text/javascript" src="js/dev.js"></script>
    <script type="text/javascript">
        // 设置命名空间PBtsStatus
        GLOBAL.namespace('PBtsStatus');
        
        // 初始化页面
        $(function() {
            // 在PBtsStatus下设置二级命名空间tbl
            GLOBAL.namespace('PBtsStatus.tbl');
            var TBL = GLOBAL.PBtsStatus.tbl;
            var tblOpts = GLOBAL.tblPage.tblOpts;
            
            tblOpts.thead = [
                '机房名称', '设备ID', '设备名称','设备状态', '在线电压(V)', '组端电压(V)', '组端电流(mA)','设备温度(℃)', '已测容量(AH)', '设备告警', '已测时间'
            ];
            $('.page-content').fullContainer();
            $('#btsStatusTbl').fullContainer();
            $('#btsStatusTbl').myTbl(tblOpts);
            tblOpts.noData = true;
            var workstate = GLOBAL.DEV61850.workstates;
            // 将函数绑定到全局中
            function searchData() {
                var temp = getSearchParam();
                // 初始化表格
                tblOpts.tbody = [];
                tblOpts.attr = [];
                $.ajax({     
                    type:"post",                 
                    url: "Fbs9100_stateAction_action_searchDevWorkstate",                
                    async:true,                
                    dataType:'json',    
                    data:"json="+JSON.stringify(temp),    
                    success: function(rs){ 
                        var model = eval('('+rs.result+')');
                        if(model.code == 1) {
                            var data = model.data;
                            for(var i=0; i<data.length; i++) {
                                var _data = data[i];
                                var tmp = [];
                                tmp.push(_data.stationName);                        // 机房名称
                                tmp.push(_data.dev_id);                                // 设备ID
                                tmp.push(_data.deviceName);                            // 设备名称
                                tmp.push(workstate[_data.dev_workstate]);
                                tmp.push(_data.dev_captest_onlinevol);                // 在线电压
                                tmp.push(_data.dev_captest_groupvol);                // 组端电压
                                tmp.push(_data.dev_captest_curr);                    // 组端电流
                                tmp.push(_data.dev_temp);                            // 设备温度
                                tmp.push(_data.dev_captest_cap);                    // 已测容量
                                tmp.push(getAlarmsText(_data.dev_61850alarms));        // 设备告警
                                tmp.push(formatSeconds(_data.num));                    // 已测时间
                                   
                                tblOpts.tbody.push(tmp);
                                tblOpts.attr.push(_data);
                            }
                        }
                        $('#btsStatusTbl').myTbl(tblOpts);
                       },
                       error:function(){
                           console.info("查询失败,请检查网络连接");
                       }                 
                });
            }
            
            // 获取告警参数
            function getAlarmsText(alarms) {
                var dev61850Alarms = GLOBAL.DEV61850.alarmstates;
                var _alarms = alarms.split(',');
                var str = '';
                for(var i=0; i<_alarms.length; i++) {
                    if(_alarms[i] == 'true') {
                        str += dev61850Alarms[i];
                    }
                }
                if(str.length == 0) {
                    str = '无';
                }
                return str;
            }
            // 将函数绑定到GLOBAL中
            TBL.searchData = searchData;
            
            // 构造查询条件
            function getSearchParam() {
                var param = {
                    dev_id: $('#stationName').val(),
                    dev_workstate: $('#workStauts').val()
                };
                
                return param;
            }
            
            // 获取工作状态
            function getWorkStatus(i) {
                var workStatus = GLOBAL.DEV61850.workstates;
                return workStatus[i]
            }
            
            // 设置告警状态
            function setAlarms(arr, data) {
                var _alarms = data.dev_61850alarms.split(',');
                arr.push(_alarms[0] == 'true'?'<span class="red">工作异常<span>': '工作正常');
                arr.push(_alarms[1] == 'true'?'<span class="red">通讯异常<span>': '通讯正常');
                arr.push(_alarms[2] == 'true'?'<span class="red">过温告警:'+data.dev_temp+'℃<span>': '温度正常:'+data.dev_temp+'℃');
                arr.push(_alarms[3] == 'true'?'<span class="red">工作异常<span>': '工作正常');
            } 
        });
        // 查询条件模块
        $(function() {
            selectdefaultOption();
        
            var TBL = GLOBAL.PBtsStatus.tbl;
            var Timer = GLOBAL.Timer;
            var timer = new Timer.timer({
                fun: TBL.searchData,
                times: 4000
            });
            
            $('#stationName, #workStauts').change(function() {
                timer.start();
            });
            
            searchStationName();
            //根据维护区查询站点
            function searchStationName(){
                $.post("User_battgroup_baojigroup_battgroupAction!serch61850DevidInGroup",null,function(data){
                    //console.info(data);
                    data=data.result;
                    data=eval("("+data+")");
                    var $select = $("#stationName");
                    if(data.code==1){
                        var _data =data.data;
                        //console.log(_data);
                        $select.text('');
                        var _all=$("<option></option>");
                        _all.html("<s:text name='All'/>(<s:text name='Common'/>"+_data.length+"<s:text name='Species'/>)");    
                        _all.attr("value", "0");
                        $select.append(_all);
                        for(var i=0;i<_data.length;i++){
                            var $option=$("<option></option>");
                            $option.text(_data[i].StationName);
                            $option.attr("value",_data[i].FBSDeviceId);
                            $select.append($option);
                        }
                        timer.start();
                    }else{
                        $select.text('').html('<option value="0">暂无可测机房站点</option>');
                    }
                });
            }
        });
        
        //选中指定的option
        function selectdefaultOption(){
            var workStauts = getQueryString("workStauts");
            if(workStauts != undefined){
                $('#workStauts option[value="'+workStauts+'"]').attr('selected','selected');
            }    
        }
    </script>
  </body>
</html>