| | |
| | | <link href="css/charge_test_style.css" type="text/css" rel="stylesheet" />
|
| | | <link href="css/loading.css" type="text/css" rel="stylesheet" />
|
| | | <link href="jqueryui/jquery-ui.css" type="text/css" rel="stylesheet" />
|
| | | <link rel="stylesheet" href="src/css/layui.css">
|
| | | <link href="css/collapse.css" type="text/css" rel="stylesheet" />
|
| | | <link rel="stylesheet" type="text/css" href="css/confirm.css">
|
| | | <link rel="stylesheet" href="css/common.css">
|
| | | <link rel="stylesheet" type="text/css" href="css/popup-tbl.css">
|
| | | <!-- font-awesome-4.7.0 -->
|
| | | <link rel="stylesheet" href="font-awesome-4.7.0/css/font-awesome.min.css">
|
| | | <script type="text/javascript" src="js/echarts2.js"></script>
|
| | |
| | | z-index: 99;
|
| | | background-color: #FFFFFF;
|
| | | }
|
| | | .myconfirm {
|
| | | z-index: 999998
|
| | | }
|
| | | </style>
|
| | | </head>
|
| | |
|
| | |
| | | <table id="all_content">
|
| | | <tr>
|
| | | <td id="ele_content">
|
| | | <!-- 机房数电池组数 -->
|
| | | <div id="mach_num">
|
| | | <s:text name="Room_num"></s:text>
|
| | | :<span id="room_num"></span>;
|
| | | <s:text name="Batt_group_num"></s:text>
|
| | | :<span id="batt_group_num"></span>
|
| | | </div> <!--电池组菜单栏-->
|
| | | <div class="siderbar-tools">
|
| | | <div class="siderbar-tools-right">
|
| | | <i class="fa fa-file-text-o" title="机历卡" id="siderbarToolsCard"></i>
|
| | | <i class="fa fa-search" title="查询机房" id="siderbarToolsSearch"></i>
|
| | | <i class="fa fa-outdent" title="全部收缩" id="siderbarToolsHide"></i>
|
| | | </div>
|
| | | </div>
|
| | | <!--电池组菜单栏-->
|
| | | <div id="lside"></div>
|
| | | <div class="batt-listen">
|
| | | <div class="count-num">
|
| | |
| | | <div id="right_menu">
|
| | | <ul>
|
| | | <li><a href="javascript:"><s:text name="Check_the_battery_card"></s:text></a></li> <!-- 查看电池组机历卡 -->
|
| | | <li><a href="upload.jsp" target="_blank"><s:text name="Upload_FBO/IDC_data"></s:text></a></li> <!-- 上传'FBO/IDC'数据 -->
|
| | | <li><a href="uploadresis.jsp" target="_blank"><s:text name="Upload_resistance_conductivity_data"></s:text></a></li> <!-- 上传电阻电导数据 -->
|
| | | <li><a href="eleBrdwMaint.jsp" target="_blank"><s:text name="Batt_failure_maintenance_record_query" /></a></li> <!-- 电池故障维护记录查询 -->
|
| | | <li><a href="javascript:targetBattReport();"><s:text name="Battery_statistical_analysis_queries"></s:text></a></li> <!-- 电池统计分析查询-->
|
| | | <!-- <li><a href="eleMonomer.jsp"><s:text name="Batt_statistical_analysis_query"></s:text></a></li> 电池单体统计分析查询 -->
|
| | |
| | | </div>
|
| | | </li> -->
|
| | | <li style="display:none;"><a href="javascript:"><s:text name="Search_engine_or_the_batt_group"></s:text></a></li> <!-- 搜索机房或电池组-->
|
| | | <li><a href="javascript:" id="all_show"><s:text name="Expand_all"></s:text></a></li> <!-- 全部展开 -->
|
| | | <li><a href="javascript:" id="all_hide"><s:text name="Collapse_all"></s:text></a></li> <!-- 全部收缩 -->
|
| | | </ul>
|
| | | </div>
|
| | | <!-- 电池组机历卡详细信息-->
|
| | | <div id="card_infor">
|
| | | <span class="title-log"><s:text name="The_battery_pack_machine_through_the_card"/></span> <!-- 电池组机历卡 -->
|
| | | <div class="con-list ele-infor con-show">
|
| | | <div id="cardInfoTab" class="whyc-tab-card">
|
| | | <ul class="whyc-tab-title">
|
| | | <li class="whyc-tab-this">电池组信息</li>
|
| | | <li class="">基站信息</li>
|
| | | </ul>
|
| | | </div>
|
| | | <div class="con-list ele-infor con-show" style="height: 400px;overflow-y: auto">
|
| | | <table>
|
| | | <tr>
|
| | | <th id="card_infor_left"><s:text name="Parameter_name"/></th> <!-- 参数名称 -->
|
| | |
| | | <td><s:text name="Computer_room_IP"/></td> <!-- 机房IP -->
|
| | | <td id="StationIP"></td>
|
| | | </tr>
|
| | | <!-- <tr>
|
| | | <td><s:text name="Batt_group"/>ID</td> 电池组ID
|
| | | <tr>
|
| | | <td><s:text name="Batt_group"/>ID</td> <!-- 电池组ID -->
|
| | | <td id="batt_group_id"></td>
|
| | | </tr> -->
|
| | | </tr>
|
| | | <tr>
|
| | | <td><s:text name="Battery_name"/></td> <!-- 电池组名称 -->
|
| | | <td id="BattGroupName"></td>
|
| | |
| | | <td><s:text name="Head"/></td> <!-- 负责人 -->
|
| | | <td></td>
|
| | | </tr>
|
| | | <tr>
|
| | | <td>安装人员</td> <!-- 负责人 -->
|
| | | <td id="installUser"></td>
|
| | | </tr>
|
| | | </table>
|
| | | </div>
|
| | | <div class="con-list ele-infor" style="height: 400px;overflow-y: auto">
|
| | | <table>
|
| | | <tr>
|
| | | <th id="card_infor_left"><s:text name="Parameter_name"/></th> <!-- 参数名称 -->
|
| | | <th><s:text name="Parameter_value"/></th> <!-- 参数值 -->
|
| | | </tr>
|
| | | <tr>
|
| | | <td>站点ID</td>
|
| | | <td id="station_stationid_ex"></td>
|
| | | </tr>
|
| | | <tr>
|
| | | <td>站点名称</td>
|
| | | <td id="station_stationname"></td>
|
| | | </tr>
|
| | | <tr>
|
| | | <td>机房ID</td>
|
| | | <td id="station_stationid"></td>
|
| | | </tr>
|
| | | <tr>
|
| | | <td>所属组织</td>
|
| | | <td id="station_affiliation"></td>
|
| | | </tr>
|
| | | <tr>
|
| | | <td>数据来源</td>
|
| | | <td id="station_dataSources"></td>
|
| | | </tr>
|
| | | <tr>
|
| | | <td>站址类型</td>
|
| | | <td id="station_stationType"></td>
|
| | | </tr>
|
| | | <tr>
|
| | | <td>经纬度</td>
|
| | | <td id="station_jinweidu"></td>
|
| | | </tr>
|
| | | <tr>
|
| | | <td>所在地址</td>
|
| | | <td id="station_stationAddr"></td>
|
| | | </tr>
|
| | | <tr>
|
| | | <td>站址状态</td>
|
| | | <td id="station_stationstate"></td>
|
| | | </tr>
|
| | | <tr>
|
| | | <td>维护单位</td>
|
| | | <td id="station_maintenanceCompany"></td>
|
| | | </tr>
|
| | | <tr>
|
| | | <td>站址场景</td>
|
| | | <td id="station_stationscenario"></td>
|
| | | </tr>
|
| | | <tr>
|
| | | <td>站址产权</td>
|
| | | <td id="station_stationproperty"></td>
|
| | | </tr>
|
| | | <tr>
|
| | | <td>使用单位</td>
|
| | | <td id="station_useUnit"></td>
|
| | | </tr>
|
| | | <tr>
|
| | | <td>物理站址编码</td>
|
| | | <td id="station_siteCode"></td>
|
| | | </tr>
|
| | | <tr>
|
| | | <td>历史物理站址编码</td>
|
| | | <td id="station_historySiteCode"></td>
|
| | | </tr>
|
| | | <tr>
|
| | | <td>站址内部编号</td>
|
| | | <td id="station_siteInternalNumber"></td>
|
| | | </tr>
|
| | | <tr>
|
| | | <td>站址拼音简称</td>
|
| | | <td id="station_sitePinyinReferred"></td>
|
| | | </tr>
|
| | | <tr>
|
| | | <td>中文简称</td>
|
| | | <td id="station_siteChineseReferred"></td>
|
| | | </tr>
|
| | | <tr>
|
| | | <td>是否开通业务</td>
|
| | | <td id="station_isOpenBusiness"></td>
|
| | | </tr>
|
| | | <tr>
|
| | | <td>录入人员</td>
|
| | | <td id="station_schoolPersonnel"></td>
|
| | | </tr>
|
| | | <tr>
|
| | | <td>录入时间</td>
|
| | | <td id="station_entryTime"></td>
|
| | | </tr>
|
| | | <tr>
|
| | | <td>修改人</td>
|
| | | <td id="station_modifyPeople"></td>
|
| | | </tr>
|
| | | <tr>
|
| | | <td>修改时间</td>
|
| | | <td id="station_modifyTime"></td>
|
| | | </tr>
|
| | | <tr>
|
| | | <td>备注</td>
|
| | | <td id="station_note"></td>
|
| | | </tr>
|
| | | <tr>
|
| | | <td>站址接收标记及是否有效</td>
|
| | | <td id="station_receiveorvalidity"></td>
|
| | | </tr>
|
| | | <tr>
|
| | | <td>移动站址名称</td>
|
| | | <td id="station_siteNameCMCC"></td>
|
| | | </tr>
|
| | | <tr>
|
| | | <td>电信站址名称</td>
|
| | | <td id="station_siteNameCTC"></td>
|
| | | </tr>
|
| | | <tr>
|
| | | <td>联通站址名称</td>
|
| | | <td id="station_siteNameCUCC"></td>
|
| | | </tr>
|
| | | <tr>
|
| | | <td>品牌</td>
|
| | | <td id="station_producer"></td>
|
| | | </tr>
|
| | | <tr>
|
| | | <td>续航测算时长</td>
|
| | | <td id="station_lastTimeLong"></td>
|
| | | </tr>
|
| | | <tr>
|
| | | <td>续航测算类别</td>
|
| | | <td id="station_lastTimeType"></td>
|
| | | </tr>
|
| | | <tr>
|
| | | <td>续航发生时间</td>
|
| | | <td id="station_lastTimeDate"></td>
|
| | | </tr>
|
| | | <tr>
|
| | | <td>共享情况</td>
|
| | | <td id="station_shareInfo"></td>
|
| | | </tr>
|
| | | <tr>
|
| | | <td>运营商购买发电服务状况</td>
|
| | | <td id="station_electPower"></td>
|
| | | </tr>
|
| | | <tr>
|
| | | <td>是否具备发电条件</td>
|
| | | <td id="station_isCanElectPower"></td>
|
| | | </tr>
|
| | | <tr>
|
| | | <td>上站路程</td>
|
| | | <td id="station_upperStationRoute"></td>
|
| | | </tr>
|
| | | <tr>
|
| | | <td>上站难易程度</td>
|
| | | <td id="station_upperStationDifficult"></td>
|
| | | </tr>
|
| | | <tr>
|
| | | <td>客户问题库未完成蓄电池维修</td>
|
| | | <td id="station_clienteleErrorService"></td>
|
| | | </tr>
|
| | | </table>
|
| | | </div>
|
| | | <input type="button" name="" id="out_card_infor" value="<s:text name='Return'/>">
|
| | |
| | | </div>
|
| | |
|
| | | <div id="bigEchartsCon"></div>
|
| | | <!-- 导航定位 -->
|
| | | <div class="popup w500 mr250" id="localNav">
|
| | | <div class="popup-title"><span>机房查询</span><a href="javascript:;" class="close">X</a></div>
|
| | | <div class="popup-content">
|
| | | <div class="popup-tbl">
|
| | | <table>
|
| | | <tbody>
|
| | | <tr>
|
| | | <th>机房名称/机房id</th>
|
| | | </tr>
|
| | | <tr>
|
| | | <td>
|
| | | <input name="popupHomeName" id="popupHomeName" type="text">
|
| | | </td>
|
| | | </tr>
|
| | | </tbody>
|
| | | </table>
|
| | | </div>
|
| | | </div>
|
| | | |
| | | <div class="popup-footer">
|
| | | <input type="button" name="" id="localNav_en" class="status-change-btn" value="确定" > <!-- 确定 -->
|
| | | <input type="button" name="" class="close" value="取消" > <!-- 取消 -->
|
| | | </div>
|
| | | </div>
|
| | | <!-- 清除浮动 -->
|
| | | <div class="clear"></div>
|
| | | <div id="allGraph">
|
| | |
| | | </div>
|
| | | <input type="hidden" id="lineStatus" value="0">
|
| | | <input type="hidden" id="testrecordcout" value="-1"/> <!-- 记录当前显示的数据是第几笔 -->
|
| | | <!-- iframe数据临时存储位置 -->
|
| | | <div id="homeInfoIframeData"></div>
|
| | | </body>
|
| | | <script type="text/javascript" src="jqueryui/jquery-ui.js"></script>
|
| | | <!-- 引入layui框架 -->
|
| | | <script type="text/javascript" src="src/layui.all.js"></script>
|
| | | <script type="text/javascript" src="js/collapse.js"></script>
|
| | | <script type="text/javascript" src="js/charge.js"></script>
|
| | | <script type="text/javascript" src="js/myConfirm.js"></script> <!-- 确认框 -->
|
| | | <script type="text/javascript" src="js/popup.js"></script>
|
| | | <script type="text/javascript" src="pages/js/pages/homeInfo.js"></script>
|
| | | <script type="text/javascript" src="pages/js/pages/siderbar.js"></script>
|
| | | <script type="text/javascript">
|
| | | var permits;
|
| | |
| | | searchUserColor();
|
| | |
|
| | | loading.showLoading($('#lside'));
|
| | | |
| | | var localNav = new Popup($('#localNav'));
|
| | | // 充放电弹出框设置
|
| | | $(function() {
|
| | | // 初始化localNav弹出框
|
| | | $('#localNav').find('.close').bind('click', function() {
|
| | | localNav.hidePopup(); // 隐藏localNav弹出框和遮罩层
|
| | | });
|
| | | |
| | | // 窗口大小改变
|
| | | $(window).resize(function() {
|
| | | localNav.hidePopup();
|
| | | });
|
| | | });
|
| | | |
| | |
|
| | | // 设置echarts对象
|
| | | var specialMonVolLine;
|
| | |
| | | var min = getMinFromArr(batt_test_voldata);
|
| | | var new_Monnum_list = getArrByStatus(Monnum_list);
|
| | | var new_batt_test_voldata = getArrByStatus(batt_test_voldata);
|
| | | CreateLineEchart('myLineChart',oRBottom,new_Monnum_list,TestTime,new_batt_test_voldata,max,min,thrname); //生成右下折线图
|
| | | CreateLineEchart('myLineChart',oRBottom,new_Monnum_list,TestTime,new_batt_test_voldata,max,min,thrname, 'V'); //生成右下折线图
|
| | | var opt = myLineChart.getOption();
|
| | | //console.info(opt.title);
|
| | | opt.title[0].text = '单体电压折线图';
|
| | |
| | | var min = getMinFromArr(batt_test_tmpdata);
|
| | | var new_Monnum_list = getArrByStatus(Monnum_list);
|
| | | var new_batt_test_tmpdata = getArrByStatus(batt_test_tmpdata);
|
| | | CreateLineEchart('myLineChart',oRBottom,new_Monnum_list,TestTime,new_batt_test_tmpdata,max,min,thrname); //生成右下折线图
|
| | | CreateLineEchart('myLineChart',oRBottom,new_Monnum_list,TestTime,new_batt_test_tmpdata,max,min,thrname, '℃'); //生成右下折线图
|
| | | var opt = myLineChart.getOption();
|
| | | //console.info(opt.title);
|
| | | opt.title[0].text = '单体温度折线图';
|
| | |
| | | $(this).css("background-color","#9bbaf3");
|
| | | });
|
| | |
|
| | | function toInformationArray(list){
|
| | | Monnum_list = new Array(); //初始化电池编号数组
|
| | | Monvol_list = new Array(); //初始化电池电压数组
|
| | | checkArray = new Array();
|
| | | for(var i=0;i<list.length;i++){
|
| | | Monnum_list[i]="#"+list[i].mon_num;
|
| | | Monvol_list[i]=list[i].mon_vol.toFixed(3);
|
| | | checkArray.push(1);
|
| | | }
|
| | | }
|
| | | |
| | |
|
| | |
|
| | | //查询指定的电池组id下指定测试次数的测试数据
|
| | |
| | | var battinf=getBattinfById();
|
| | | var arr = batt_test_data[slide_index];
|
| | | //console.info("MonCapStd:"+battinf.MonCapStd+";test_curr:"+list.test_curr+";test_cap:"+list.test_cap+";maxvol:"+Math.max.apply(null, Monvol_list)+";minvol:"+Math.min.apply(null, Monvol_list)+";monvolstd:"+battinf.MonVolStd);
|
| | | var over_cap=GetMonomerCap(battinf.MonCapStd,GetHourRate(battinf.MonCapStd,list.test_curr),list.test_cap,Math.max.apply(null, arr),Math.min.apply(null, arr),battinf.MonVolStd,CapType_Rest);
|
| | | //console.info(list);
|
| | | var avg_curr = list.test_timelong>0?list.test_cap*3600/list.test_timelong:list.test_curr;
|
| | | var over_cap=GetMonomerCap(battinf.MonCapStd,GetHourRate(battinf.MonCapStd,avg_curr),list.test_cap,Math.max.apply(null, arr),Math.min.apply(null, arr),battinf.MonVolStd,CapType_Rest);
|
| | | //console.info(over_cap);
|
| | | if(list.test_type == 2){
|
| | | over_content.value="---";
|
| | |
| | | var oChargeThrInfor=document.getElementById("charge_thr_infor");
|
| | | var batteststopDataList = new Array();
|
| | | //根据指定的测试数据查询结束时的指定电池组的数据
|
| | | function findtestdatastop(record_count){ |
| | | function findtestdatastop(record_count){
|
| | | Monnum_list = new Array(); //初始化电池编号数组
|
| | | Monvol_list = new Array(); //初始化电池电压数组
|
| | | checkArray = new Array();
|
| | | var arr = new Array();
|
| | | var batt = getBattinfById();
|
| | | //console.info(batt);
|
| | | for(var i=0;i<batt.MonCount;i++){
|
| | | Monnum_list[i]="#"+(i+1);
|
| | | Monvol_list[i]= (0).toFixed(3); |
| | | checkArray.push(1);
|
| | | arr[i] = (0).toFixed(3);
|
| | | } |
| | | $ajax("post","BatttestdatastopAction_findByInfo","btds.BattGroupId="+BattGroupId+"&btds.test_record_count="+record_count, function(data){
|
| | | data=eval("("+data+")");
|
| | | data=data.result;
|
| | | data=eval("("+data+")");
|
| | | //console.info(data);
|
| | | if(data.code==1){
|
| | | data=data.data;
|
| | | //console.info(data);
|
| | | batteststopDataList = data;
|
| | | toInformationArray(data);
|
| | | var arr = new Array();
|
| | | //console.info(data);
|
| | | for(var i=0;i<data.length;i++){
|
| | | arr[data[i].mon_num-1]=data[i].mon_vol.toFixed(3);
|
| | | } |
| | | batteststopDataList = data; |
| | | //console.info(batt);
|
| | | var moncount = batt.MonCount;
|
| | | for(var i=0;i<moncount;i++){ |
| | | Monnum_list[i]="#"+(i+1);
|
| | | if(data[i] != undefined){ |
| | | Monvol_list[i]=data[i].mon_vol.toFixed(3);
|
| | | }else{
|
| | | Monvol_list[i]= (0).toFixed(3); |
| | | }
|
| | | arr[i]=Monvol_list[i];
|
| | | } |
| | | |
| | | //console.info(arr);
|
| | | //console.info(arrTh[li_index]);
|
| | | $('#charge_thr_th').find('tr th').eq(1).text(arrTh[li_index]);
|
| | | //updataSecCol($('#charge_thr_th'), arrTh[li_index], arr);
|
| | | createBattVoltable(arr);
|
| | | //reflushBattStatus(data[0]);
|
| | | }else{
|
| | | var obj = getBattinfById();
|
| | | for(var i = 1;i<=obj.MonCount;i++){
|
| | | Monnum_list.push("#"+i);
|
| | | Monnum_list[i-1] = "#"+i;
|
| | | }
|
| | | }
|
| | | createBattVoltable(arr);
|
| | | });
|
| | |
|
| | |
|
| | |
| | | //console.info(batt);
|
| | | for(var i=0;i<list.length;i++){
|
| | | index = (list[i].mon_num/10).toFixed(0)-1;
|
| | | Monnum_list[index]="#"+(index+1);
|
| | | //Monnum_list[index]="#"+(index+1);
|
| | | console.info(index);
|
| | | //percentage_list[index]=list[i].conn_res.toFixed(1);
|
| | | monres_list[index]=list[i].mon_res.toFixed(3);
|
| | | montmp_list[index]=list[i].mon_tmp.toFixed(1);
|
| | |
| | | batt_test_evary_record = new Array(); //记录当前测试记录的每笔的组端测试值
|
| | | batt_tmp_data = new Array();
|
| | | //console.info(AllTestData);
|
| | | |
| | | if(AllTestData!=undefined){
|
| | | var batt = getBattinfById();
|
| | | if(AllTestData!=undefined && AllTestData.length>0){
|
| | | if(Monnum_list != undefined && Monnum_list.length>0){
|
| | | AllData=new Array();
|
| | | for(var i=0;i<Monnum_list.length;i++){
|
| | | //console.info(Monnum_list);
|
| | | for(var i=0;i<batt.MonCount;i++){
|
| | | batt_test_voldata[i] = new Array();
|
| | | batt_test_tmpdata[i] = new Array();
|
| | | }
|
| | | max=Number.NEGATIVE_INFINITY; //无穷小值
|
| | | min=Number.POSITIVE_INFINITY; //无穷大值
|
| | | var test_record_num = 0;
|
| | | //console.info(AllTestData.length);
|
| | | var batt_index = -1;
|
| | |
|
| | | //console.info(Monnum_list);
|
| | | //console.info("***************");
|
| | | |
| | | var start_record_num = AllTestData[0].record_num;
|
| | | BattGroupVol[0] = new Array();
|
| | | BattGroupVol[1] = new Array();
|
| | | for(var i=0;i<AllTestData.length;i++){
|
| | | if(AllTestData[i].record_num != test_record_num){
|
| | | //console.info(AllTestData[i]);
|
| | | BattGroupVol[0].push(AllTestData[i].group_vol.toFixed(2)); //组端电压
|
| | | BattGroupVol[1].push(AllTestData[i].online_vol.toFixed(2)); //在线电压
|
| | | BattGroupVol[0].push(AllTestData[i].online_vol.toFixed(2)); //在线电压
|
| | | BattGroupVol[1].push(AllTestData[i].group_vol.toFixed(2)); //组端电压
|
| | | BattGroupCurr.push(AllTestData[i].test_curr.toFixed(1)); //组端电流
|
| | | TestTime.push(formatSeconds(AllTestData[i].test_timelong));
|
| | | batt_test_evary_record.push(AllTestData[i]);
|
| | |
|
| | | batt_test_data[++batt_index] = new Array();
|
| | | test_record_num = AllTestData[i].record_num;
|
| | | if(test_record_num > 1){
|
| | | if(test_record_num > start_record_num){
|
| | | batt_test_data[batt_index]=batt_test_data[batt_index-1].slice(0);
|
| | | setArrayvalue(batt_test_voldata,batt_index);
|
| | | setArrayvalue(batt_test_tmpdata,batt_index);
|
| | | }else{
|
| | | //第一笔充放电数据
|
| | | var batt = getBattinfById();
|
| | | for(var k =0;k<batt.MonCount;k++){
|
| | | batt_test_data[0][k] = 0;
|
| | | batt_test_voldata[k][0] = 0;
|
| | | batt_test_tmpdata[k][0] = 0;
|
| | | }
|
| | | }
|
| | | }
|
| | | if(max<AllTestData[i].mon_vol){
|
| | | /* if(max<AllTestData[i].mon_vol){
|
| | | max = AllTestData[i].mon_vol;
|
| | | }
|
| | | if(min>AllTestData[i].mon_vol){
|
| | | min = AllTestData[i].mon_vol;
|
| | | }
|
| | | } */
|
| | | //console.info(AllTestData[i]);
|
| | | batt_test_data[batt_index][AllTestData[i].mon_num-1] = AllTestData[i].mon_vol;
|
| | | batt_test_voldata[AllTestData[i].mon_num-1][batt_index] = AllTestData[i].mon_vol;
|
| | |
| | | var title=getTitle(Monvol_list,"Voltage");
|
| | | reflushBattStatus(AllTestData[AllTestData.length-1]);
|
| | |
|
| | | var batt = getBattinfById();
|
| | | |
| | | //console.info(Monvol_list);
|
| | | var tempmin = Math.floor(getMinFromArr(Monvol_list)*0.9);
|
| | | //var tempmax = (batt.MonVolStd*1.25).toFixed(3);
|
| | |
| | | // 根据折线图的状态值生成对应的折线
|
| | | var line_status = $('#lineStatus').val();
|
| | | if(line_status == 0) { // 生成单体电压折线图
|
| | | CreateLineEchart('myLineChart',oRBottom,Monnum_list,TestTime,batt_test_voldata,max,min,thrname); //生成右下折线图
|
| | | max = getMaxFromArr(batt_test_voldata);
|
| | | min = getMinFromArr(batt_test_voldata);
|
| | | CreateLineEchart('myLineChart',oRBottom,Monnum_list,TestTime,batt_test_voldata,max,min,thrname, 'V'); //生成右下折线图
|
| | | }else { // 生成单体
|
| | | max = getMaxFromArr(batt_test_tmpdata);
|
| | | min = getMinFromArr(batt_test_tmpdata);
|
| | | CreateLineEchart('myLineChart',oRBottom,Monnum_list,TestTime,batt_test_tmpdata,max+20,0,thrname); //生成右下折线图
|
| | | CreateLineEchart('myLineChart',oRBottom,Monnum_list,TestTime,batt_test_tmpdata,max+20,0,thrname, '℃'); //生成右下折线图
|
| | | var opt = myLineChart.getOption();
|
| | | //console.info(opt.title);
|
| | | opt.title[0].text = '单体温度折线图';
|
| | |
| | | var vol_list = batt_test_data[i];
|
| | | var max_vol = Math.max.apply(null, vol_list);
|
| | | for(var j=0;j<vol_list.length;j++){
|
| | | var actionvalue = GetMonomerCap(batt.MonCapStd,GetHourRate(batt.MonCapStd,batt_test_evary_record[i].test_curr),batt_test_evary_record[i].test_cap,max_vol,vol_list[j],batt.MonVolStd,CapType_Real);
|
| | | var restvalue = GetMonomerCap(batt.MonCapStd,GetHourRate(batt.MonCapStd,batt_test_evary_record[i].test_curr),batt_test_evary_record[i].test_cap,max_vol,vol_list[j],batt.MonVolStd,CapType_Rest);
|
| | | //console.info(batt_test_evary_record[i]);
|
| | | var avg_curr = batt_test_evary_record[i].test_timelong>0?batt_test_evary_record[i].test_cap*3600/batt_test_evary_record[i].test_timelong:batt_test_evary_record[i].test_curr;
|
| | | var actionvalue = GetMonomerCap(batt.MonCapStd,GetHourRate(batt.MonCapStd,avg_curr),batt_test_evary_record[i].test_cap,max_vol,vol_list[j],batt.MonVolStd,CapType_Real);
|
| | | var restvalue = GetMonomerCap(batt.MonCapStd,GetHourRate(batt.MonCapStd,avg_curr),batt_test_evary_record[i].test_cap,max_vol,vol_list[j],batt.MonVolStd,CapType_Rest);
|
| | | //console.info(vol_list);
|
| | | batt_actionCap_list[i].push(actionvalue.toFixed(0)); //实际容量 数组
|
| | | batt_restCap_list[i].push(restvalue.toFixed(0)); //剩余容量数组
|
| | |
| | | //console.info(title);
|
| | | }else{
|
| | | if("Voltage"==units){
|
| | | Titleobj.setAvg((sum/array.length).toFixed(3)); |
| | | Titleobj.setAvg((sum/array.length).toFixed(3)); |
| | | Titleobj.setSum(sum); |
| | | var low=getLow(1,1);
|
| | | if(low.low_method==0){
|
| | | //根据标称值计算
|
| | |
| | | // 获取全部单体电压数据的最值
|
| | | var lineMax = getMaxFromArr(new_batt_test_voldata);
|
| | | var lineMin = getMinFromArr(new_batt_test_voldata);
|
| | | CreateLineEchart('myLineChart',oRBottom,new_Monnum_list,TestTime,new_batt_test_voldata,lineMax,lineMin,thrname); //生成右下折线图
|
| | | CreateLineEchart('myLineChart',oRBottom,new_Monnum_list,TestTime,new_batt_test_voldata,lineMax,lineMin,thrname, 'V'); //生成右下折线图
|
| | | $('#lineStatus').val('0');
|
| | | //console.info(Monvol_list);
|
| | | };break;
|
| | |
| | | // 更新右下方的折线图为单体温度折线图
|
| | | var new_Monnum_list = getArrByStatus(Monnum_list);
|
| | | var new_batt_test_tmpdata = getArrByStatus(batt_test_tmpdata);
|
| | | CreateLineEchart('myLineChart',oRBottom,new_Monnum_list,TestTime,new_batt_test_tmpdata,max+10,0,thrname); //生成右下折线图
|
| | | CreateLineEchart('myLineChart',oRBottom,new_Monnum_list,TestTime,new_batt_test_tmpdata,max+10,0,thrname, '℃'); //生成右下折线图
|
| | | var opt = myLineChart.getOption();
|
| | | //console.info(opt.title);
|
| | | opt.title[0].text = '单体温度折线图';
|
| | |
| | | var Residual_capacity = '<s:text name="Residual_capacity" />'; //剩余容量
|
| | | var Actual_capacity = '<s:text name="Actual_capacity" />'; //实际容量
|
| | | var Percent_total_capacity = '<s:text name="Percent_total_capacity" />'; //容量百分比
|
| | | var group_vol = ['<s:text name="Group_voltage"/>','<s:text name="On-line_voltage"/>'];
|
| | | var group_vol = ['<s:text name="On-line_voltage"/>', '<s:text name="Group_voltage"/>']; // 在线电压, 组端电压
|
| | | var batt_curr = '<s:text name="Batt_current"/>';
|
| | |
|
| | | // 更新表格第二列
|
| | |
| | | var batt = getBattinfById();
|
| | | var province = batt.StationName1;
|
| | | var city = batt.StationName2;
|
| | | var county = batt.StationName5;
|
| | | var home = batt.StationName;
|
| | | $(this).attr('href', 'control.jsp?province='+province+'&city='+city+'&home='+home);
|
| | | var battid = batt.BattGroupId;
|
| | | $(this).attr('href', 'control.jsp?province='+province+'&city='+city+'&county='+county+'&home='+home+'&battid='+battid);
|
| | | });
|
| | | });
|
| | |
|
| | |
| | | if(model.code == 1){
|
| | | //console.info(model.data);
|
| | | for(var i = 0;i<model.data.length;i++){
|
| | | if(model.data[i].batt_test_type == 3){
|
| | | var _data = model.data[i];
|
| | | if(_data.batt_test_type == 3){
|
| | | arr.push({
|
| | | note: model.data[i].note,
|
| | | val:model.data[i].BattGroupId,
|
| | | fbs: model.data[i].batt_test_tlong,
|
| | | note:_data.note,
|
| | | val:_data.BattGroupId,
|
| | | province: _data.stationName1,
|
| | | city: _data.stationName2,
|
| | | county: _data.stationName5,
|
| | | home: _data.stationName,
|
| | | isCharge:0
|
| | | });
|
| | | }else if(model.data[i].batt_test_type == 2){
|
| | | }else if(_data.batt_test_type == 2){
|
| | | arr.push({
|
| | | note: model.data[i].note,
|
| | | val:model.data[i].BattGroupId,
|
| | | fbs: model.data[i].batt_test_tlong,
|
| | | note: _data.note,
|
| | | val: _data.BattGroupId,
|
| | | province: _data.stationName1,
|
| | | city: _data.stationName2,
|
| | | county: _data.stationName5,
|
| | | home: _data.stationName,
|
| | | isCharge:1
|
| | | });
|
| | | }
|
| | |
| | | });
|
| | | }
|
| | |
|
| | | // 生成充放电监测模块内容
|
| | | function createBattListen(ele, list) {
|
| | | //console.info(list);
|
| | | ele.text("");
|
| | | var discharge_num = 0;
|
| | | var charge_num = 0;
|
| | | var ul = $('<ul></ul>');
|
| | | for(var i = 0; i < list.length; i++) {
|
| | | var li = "";
|
| | | if(list[i].isCharge) {
|
| | | li = $('<li><a href="javascript:;" class="batt-charge" value="'+list[i].val+'" fbs="'+list[i].fbs+'" note="'+list[i].note+'">'+list[i].val+'电池组充电测试!</a></li>');
|
| | | charge_num++;
|
| | | }else {
|
| | | li = $('<li><a href="javascript:;" class="batt-discharge" value="'+list[i].val+'" fbs="'+list[i].fbs+'" note="'+list[i].note+'">'+list[i].val+'电池组放电测试!</a></li>');
|
| | | discharge_num++;
|
| | | }
|
| | | ul.append(li);
|
| | | }
|
| | | $('#ele_content .batt-listen .count-num').find('span').eq(0).text(discharge_num);
|
| | | $('#ele_content .batt-listen .count-num').find('span').eq(1).text(charge_num);
|
| | | ele.append(ul);
|
| | | }
|
| | | // 点击电池充放电监测列表触发事件
|
| | | $(function() {
|
| | | var batt_list = $('#ele_content .batt-listen .batt-list');
|
| | | batt_list.on('click', 'a', function(){
|
| | | var fbsId = $(this).attr('fbs');
|
| | | var isSpecial = regFbsId(fbsId);
|
| | | $('.special-mon-data').removeClass('show');
|
| | | batt_list.find('a').removeClass('active');
|
| | | $(this).addClass('active');
|
| | | BattGroupId=$(this).attr("value");
|
| | | locationBattPos($(this).attr('note'), $(this).attr('value'));
|
| | | if(isSpecial) {
|
| | | |
| | | }else {
|
| | | clearfourPicture();
|
| | | }
|
| | | });
|
| | | });
|
| | | |
| | | function BattlocationById(battid){
|
| | | if(battid!=undefined){
|
| | | BattGroupId = battid;
|
| | | $('#lside a').css({'background-color':'#fff'});
|
| | | //获得一级菜单并展示二级菜单
|
| | | var secTag =$('#'+battid).parent().parent().siblings().first().parent().parent().siblings().first().next();
|
| | | var secTagA = $('#'+battid).parent().parent().siblings().first();
|
| | | //console.info(secTagA.text()+'******');
|
| | | if(secTagA.text().trim().length == 0) {
|
| | | secTagA.hide();
|
| | | }
|
| | | secTag.show();
|
| | | //$('#'+thr_id).parent().parent().siblings().first().parent().parent().siblings().first().next().show();
|
| | | //获得二级菜单并展示三级菜单
|
| | | $('#'+battid).parent().parent().siblings().first().next().show();
|
| | | $('#'+battid).css('background-color','#9bbaf3');
|
| | | //一级菜单展开样式
|
| | | $('#'+battid).parent().parent().siblings().first().parent().parent().siblings().first().children('.arrow').removeClass("down");
|
| | | $('#'+battid).parent().parent().siblings().first().parent().parent().siblings().first().children('.arrow').addClass("up");
|
| | | $('#'+battid).parent().parent().siblings().first().children('.mark').text('-');
|
| | | $('#'+battid).parent().parent().siblings().first().children('.mark').addClass('black');
|
| | | //alert($('#'+thr_id).parent().parent().siblings().first().text());
|
| | | location.hash="#"+battid;
|
| | | location.hash = '';
|
| | | $('#'+battid).click();
|
| | | }
|
| | | }
|
| | | |
| | | //跳转到指定的电池组统计分析查询
|
| | | function targetBattReport(){
|
| | | var batt = getBattinfById();
|
| | | //console.info(batt); |
| | | window.open("eleAnalyse.jsp?battgroupId="+BattGroupId+"&stationId="+batt.StationId);
|
| | | var url = skipUrl("eleAnalyse.jsp",batt.StationName1,batt.StationName2,batt.StationName5,batt.StationName,batt.BattGroupId);
|
| | | window.open(url);
|
| | | }
|
| | |
|
| | | // 使用jquery实现左导航的显示和隐藏
|
| | |
| | | }
|
| | |
|
| | | });
|
| | | });
|
| | | //全部收缩
|
| | | $('#all_hide').click(function(){
|
| | | $('.fir').next().slideUp();
|
| | | //$('.sec').next().slideUp();
|
| | | $("#lside").scrollTop(0);
|
| | | $(".arrow").removeClass("up");
|
| | | $(".arrow").addClass("down");
|
| | | $(".mark").text("+");
|
| | | $(".mark").removeClass("black");
|
| | | });
|
| | | });
|
| | |
|
| | |
| | | function getBattStr() {
|
| | | var battInfo = getBattinfById();
|
| | | //console.info(battInfo);
|
| | | var battStr = battInfo.StationName+'-'+battInfo.BattGroupName;
|
| | | var battStr = battInfo.StationName+'-'+battInfo.BattGroupName+'-标称容量'+battInfo.MonCapStd+'AH';
|
| | | $('#address_infor').text(battStr);
|
| | | }
|
| | |
|
| | |
| | | var test_groupvol_arr = new Array();
|
| | | var test_onlinevol_arr = new Array();
|
| | | var test_testcurr_arr = new Array(); */
|
| | | console.info(model.data);
|
| | | //console.info(model.data);
|
| | | var rsData = analyzeLD9SearchData(model.data);
|
| | |
|
| | | console.info(rsData);
|
| | | //console.info(rsData);
|
| | | /* for(var i=0;i<model.data.length;i++){
|
| | | var obj = model.data[i];
|
| | | //console.info(obj);
|
| | |
| | |
|
| | | specialGroupVolOpts = $.extend(true, {}, specialGroupVolOpts, {
|
| | | xdata: rsData.time,
|
| | | sdata: [rsData.groupVol, rsData.onlineVol],
|
| | | lname: ['组端电压', '在线电压']
|
| | | sdata: [rsData.onlineVol, rsData.groupVol],
|
| | | lname: ['在线电压', '组端电压']
|
| | | });
|
| | |
|
| | | specialCurrOpts = $.extend(true, {}, specialCurrOpts, {
|
| | |
| | |
|
| | | specialGroupVolOpts = $.extend({}, specialGroupVolOpts, {
|
| | | xdata: testtiem_arr,
|
| | | sdata: [groupvol_arr, onlinevol_arr],
|
| | | lname: ['组端电压', '在线电压']
|
| | | sdata: [ onlinevol_arr, groupvol_arr],
|
| | | lname: ['在线电压', '组端电压']
|
| | | });
|
| | |
|
| | | specialCurrOpts = $.extend({}, specialCurrOpts, {
|
| | |
| | | var second = GLOBAL.pages.siderbar.second; // 二级导航
|
| | | var third = GLOBAL.pages.siderbar.third; // 三级导航
|
| | | var fourth = GLOBAL.pages.siderbar.fourth; // 四级导航
|
| | | var fifth = GLOBAL.pages.siderbar.fifth; // 五级导航
|
| | | var localSideBar = GLOBAL.pages.siderbar.localSideBar; // 定位机房
|
| | | var treeView = new TreeView($('#lside'));
|
| | | $('#lside').width($('#ele_content').width());
|
| | | treeView.setContainer();
|
| | |
| | | second(treeView, $(this).parent(), province);
|
| | | });
|
| | |
|
| | | // 市->机房
|
| | | // 市->区
|
| | | treeView.ele.on('click', '.city', function() {
|
| | | var city = $(this).data('attr');
|
| | | third(treeView, $(this).parent(), city);
|
| | | });
|
| | | |
| | | // 区->机房
|
| | | treeView.ele.on('click', '.county', function() {
|
| | | var county = $(this).data('attr');
|
| | | fourth(treeView, $(this).parent(), county);
|
| | | });
|
| | | |
| | |
|
| | | battinlist = [];
|
| | | // 机房->电池组
|
| | |
| | | var tmp = {
|
| | | StationName1: home.StationName1,
|
| | | StationName2: home.StationName2,
|
| | | StationName5: home.StationName5,
|
| | | StationName: home.StationName,
|
| | | StationId: home.StationId
|
| | | };
|
| | | fourth(treeView, $(this).parent(), tmp);
|
| | | fifth(treeView, $(this).parent(), tmp);
|
| | | });
|
| | |
|
| | | // 电池组
|
| | |
| | | searchAll_lowAction(); //获取阀值
|
| | | }
|
| | |
|
| | | |
| | | // 设置记录的笔数为-1
|
| | | $('#testrecordcout').val('-1');
|
| | | });
|
| | | |
| | | // 右键菜单显示
|
| | | treeView.ele.on('mousedown', '.eleGroup', function(e) {
|
| | | //利用jquery的方式获取当前点击的是否是右键
|
| | | if(e.which==3)
|
| | | {
|
| | | BattGroupId=$(this).attr("id");
|
| | | var disX=(e||event).clientX+10; //得到鼠标点击X的位置
|
| | | var disY=(e||event).clientY+10; //得到鼠标点击Y的位置
|
| | | var scrollY=$(window).scrollTop(); //获取浏览器滚动的高度
|
| | | //console.log(scrollY);
|
| | | var oRightMenu=document.getElementById("right_menu");
|
| | | |
| | | $(this).click();
|
| | | |
| | | //显示菜单内容
|
| | | $("#right_menu").show();
|
| | | $("#right_menu .more_menu").hide();
|
| | | $("#right_menu .angle").hide();
|
| | | //console.log(disX+"***"+disY);
|
| | | //使菜单跟随鼠标位置
|
| | | oRightMenu.style.left= disX+'px';
|
| | | oRightMenu.style.top= disY+scrollY+'px';
|
| | | |
| | | setPosition($("#right_menu"),disX, disY);
|
| | | |
| | | }
|
| | | });
|
| | | |
| | | //全部收缩
|
| | | $('#all_hide').click(function(){
|
| | | treeView.ele.find('li').removeClass('sider-menu-open');
|
| | | });
|
| | | |
| | | // 电池充放电数据监控
|
| | | var batt_list = $('.batt-listen .batt-list');
|
| | | batt_list.on('click', 'a', function(){
|
| | | batt_list.find('a').removeClass('active');
|
| | | $(this).addClass('active');
|
| | | var battInfo = $(this).parent().data('attr'); |
| | | |
| | | var tmp = {
|
| | | province: battInfo.province,
|
| | | city: battInfo.city,
|
| | | home: battInfo.home,
|
| | | county: battInfo.county,
|
| | | homeid: battInfo.note,
|
| | | battid: battInfo.val
|
| | | };
|
| | | localSideBar(treeView, treeView.container, tmp);
|
| | | });
|
| | | |
| | | // 工具条整体样式
|
| | | $('.siderbar-tools').tooltip();
|
| | | |
| | | // 工具条-机历卡
|
| | | $('#siderbarToolsCard').click(function(){
|
| | | var batt = getBattinfById();
|
| | | var tmp = {
|
| | | province: batt.StationName1,
|
| | | city: batt.StationName2,
|
| | | home: batt.StationName,
|
| | | county: batt.StationName5,
|
| | | homeid: batt.StationId,
|
| | | battid: batt.BattGroupId
|
| | | };
|
| | | // findBattinfByBattGroupId(batt.BattGroupId);
|
| | | // findStationInfoByStation(batt);
|
| | | // 显示基站机历卡
|
| | | console.log(batt);
|
| | | showHomeInfo(batt.StationId);
|
| | | // 根据数据定位
|
| | | localSideBar(treeView, treeView.container, tmp);
|
| | | });
|
| | | |
| | | // 工具条-全部收缩
|
| | | $('#siderbarToolsHide').click(function(){
|
| | | treeView.ele.find('li').removeClass('sider-menu-open');
|
| | | });
|
| | | |
| | | // 工具条-查询
|
| | | $('#siderbarToolsSearch').click(function(){
|
| | | localNav.homeInfo = undefined;
|
| | | $('#popupHomeName').val('');
|
| | | localNav.showPopup();
|
| | | });
|
| | | |
| | | // 点击面板的确定按钮
|
| | | $('#localNav_en').click(function() {
|
| | | // 定位
|
| | | if(localNav.homeInfo) {
|
| | | localNav.hidePopup();
|
| | | localSideBar(treeView, treeView.container, localNav.homeInfo);
|
| | | }else {
|
| | | |
| | | }
|
| | | });
|
| | | |
| | | |
| | | // 查询机房并更新source
|
| | | var homeSource = [];
|
| | | findHome();
|
| | | |
| | | // 定义机房查询信息
|
| | | $( "#popupHomeName" ).autocomplete({
|
| | | source: homeSource,
|
| | | select: function(event, ui) {
|
| | | localNav.homeInfo = ui.item; // 设置机房信息内容
|
| | | }
|
| | | });
|
| | | |
| | | // 查询机房
|
| | | function findHome() {
|
| | | var tmp = {
|
| | | StationName1:'',
|
| | | StationName2: '',
|
| | | StationName5: ''
|
| | | };
|
| | | |
| | | // 查询将信息
|
| | | $.post("BattInfAction!serchStationName3","json="+JSON.stringify(tmp),function(result){
|
| | | var rs = JSON.parse(result.result);
|
| | | if(rs.code==1){
|
| | | homeSource = [];
|
| | | var data = rs.data;
|
| | | for(var i=0; i<data.length; i++) {
|
| | | var _data = data[i];
|
| | | var tmp = {
|
| | | label: _data.StationName+'('+_data.StationId+')',
|
| | | province: _data.StationName1,
|
| | | city: _data.StationName2,
|
| | | county: _data.StationName5,
|
| | | home: _data.StationName,
|
| | | homeid: _data.StationId,
|
| | | battid: undefined
|
| | | };
|
| | | |
| | | // 添加到资源
|
| | | homeSource.push(tmp);
|
| | | }
|
| | | $( "#popupHomeName" ).autocomplete('option', 'source', homeSource);
|
| | | }
|
| | | });
|
| | | }
|
| | | });
|
| | | |
| | | // 机历卡模块
|
| | | $(function() {
|
| | | // 获取选项卡列表
|
| | | var tabs = $('#cardInfoTab .whyc-tab-title li');
|
| | | var tabContents = $('#card_infor .con-list');
|
| | | // 点击tabs触发
|
| | | tabs.click(function() {
|
| | | var index = $(this).index();
|
| | | // 移除特效
|
| | | tabs.removeClass('whyc-tab-this');
|
| | | tabContents.removeClass('con-show');
|
| | | |
| | | // 显示特效
|
| | | $(this).addClass('whyc-tab-this');
|
| | | tabContents.eq(index).addClass('con-show');
|
| | | });
|
| | | });
|
| | | </script>
|
| | | </html>
|