Merge branch 'dev_lxw' of https://whyclj@gitlab.com/whyclxw1/gx_tieta.git into dev_lxw
| | |
| | | <meta http-equiv="expires" content="0">
|
| | | <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
|
| | | <meta http-equiv="description" content="This is my page">
|
| | | <title>批量设置信息</title>
|
| | | <title>批量核容测试</title>
|
| | | <link rel="stylesheet" type="text/css" href="pages/css/base.css">
|
| | | <link rel="stylesheet" type="text/css" href="jqueryui/jquery-ui.css">
|
| | | <link rel="stylesheet" type="text/css" href="src/css/layui.css">
|
| | |
| | | <div class="layui-page-container">
|
| | | <!-- 条件筛选 -->
|
| | | <div class="layui-page-filter">
|
| | | <div class="page-filter-header layui-page-filter-fweight">批量设置信息</div>
|
| | | <div class="page-filter-header layui-page-filter-fweight">批量核容测试</div>
|
| | | <div class="page-filter-content">
|
| | | <table>
|
| | | <tr class="layui-page-filter-tbl-header layui-page-filter-fweight">
|
| | |
| | | <div class="layui-form" lay-filter="countyFilter">
|
| | | <div class="layui-form-item">
|
| | | <div class="layui-input-block">
|
| | | <select name="county" id="county" lay-filter="county">
|
| | | <select name="county" id="county" lay-filter="county" lay-search="">
|
| | | <option value="">请选择区/县</option>
|
| | | </select>
|
| | | </div>
|
| | |
| | | <button class="layui-btn layui-btn-sm mrl8" id="batchAdd"><i class="fa fa-plus mrr8"></i>添加电池组</button>
|
| | | <button class="layui-btn layui-btn-sm" id="batchSetCurr">批量设置放电参数</button>
|
| | | <button class="layui-btn layui-btn-sm" id="startTest">批量启动测试</button>
|
| | | <button class="layui-btn layui-btn-sm" id="lookSetCurr">查询放电参数</button>
|
| | | </div>
|
| | | </div>
|
| | | <!-- 表格内容 -->
|
| | |
| | | <td><input id="distime" type="text" value="600"><i class="fa fa-frown-o error-img" title="数据格式错误"></i></td>
|
| | | </tr>
|
| | | <tr>
|
| | | <th><s:text name="Discharging"/><s:text name="Hourly_rate"/>(0~300%)<!-- 放电小时率 --></th>
|
| | | <th>放电电流百分比(0~300%)<!-- 放电小时率 --></th>
|
| | | <th>放电容量百分比(0~300%)</th>
|
| | | </tr>
|
| | | <tr>
|
| | |
| | | <!-- 存储set-curr.html的信息 -->
|
| | | <div id="setCurrIframe"></div>
|
| | | <div id="setCurrBtn"></div>
|
| | | <!-- 设备工作状态 -->
|
| | | <script type="text/html" id="devStatus">
|
| | | {{# if(d.devStatus) { }}
|
| | | {{d.devStatus}}
|
| | | {{# }else{ }}
|
| | | 状态:???,告警:???,组端电压(V):???,电流(A):???,容量(AH):???
|
| | | {{# } }}
|
| | | </script>
|
| | | <!-- 已测时长 -->
|
| | | <script type="text/html" id="testTime">
|
| | | {{# if(d.testTime) { }}
|
| | | {{d.testTime}}
|
| | | {{# }else{ }}
|
| | | 00:00:00
|
| | | {{# } }}
|
| | | </script>
|
| | | <!-- 通信计数signalNum -->
|
| | | <script type="text/html" id="signalNum">
|
| | | {{# if(d.signalNum) { }}
|
| | | {{d.signalNum}}
|
| | | {{# }else{ }}
|
| | | ???
|
| | | {{# } }}
|
| | | </script>
|
| | | <script type="text/html" id="setStatus">
|
| | | {{# if(d.setCurr == 1){ }}
|
| | | <button class="layui-btn layui-btn-sm">设置放电参数成功</button>
|
| | | <button class="layui-btn layui-btn-sm">设置成功</button>
|
| | | {{# }else if(d.setCurr == 2){ }}
|
| | | <button class="layui-btn layui-btn-sm layui-btn-danger">设置放电参数失败</button>
|
| | | <button class="layui-btn layui-btn-sm layui-btn-danger">设置失败</button>
|
| | | {{# }else { }}
|
| | | <button class="layui-btn layui-btn-sm layui-btn-normal">未设置放电参数</button>
|
| | | <button class="layui-btn layui-btn-sm layui-btn-normal">未设置</button>
|
| | | {{# } }}
|
| | | </script>
|
| | | <script type="text/javascript" src="js/jquery-1.8.3.js"></script>
|
| | |
| | | ,cellMinWidth: 80
|
| | | ,cols: [[
|
| | | {type:'checkbox',fixed: 'left'}
|
| | | ,{field:'FBSDeviceId', title:'设备ID', align:'center', width: 160}
|
| | | ,{field:'StationName', title:'机房名称', align:'center', width: 470}
|
| | | ,{field:'FBSDeviceName', title:'FBS设备名称', align:'center', width: 160}
|
| | | ,{field:'GroupIndexInFBSDevice', title:'FBS设备索引', align:'center', width: 160}
|
| | | ,{field:'StationName9', title:'设备版本号', align:'center', width: 160}
|
| | | ,{field:'BattGroupId', title:'电池组ID', align:'center', width: 160}
|
| | | ,{field:'BattGroupName', title:'电池组名称', align:'center', width: 160}
|
| | | ,{field:'devStatus', title:'设备状态', templet: '#devStatus', align:'center', width: 600}
|
| | | ,{field:'testTime', title:'已测时长', templet: '#testTime', align:'center', width: 140}
|
| | | ,{field:'signalNum', title:'通信计数', templet: '#signalNum', align:'center', width: 140}
|
| | | ,{field:'StationName9', title:'设备版本号', align:'center', width: 160}
|
| | | ,{field:'MonCount', title:'单体数量', align:'center', width: 100}
|
| | | ,{field:'MonCapStd', title:'标称容量', align:'center', width: 100}
|
| | | ,{field:'MonVolStd', title:'标称单体电压', align:'center', width: 140}
|
| | | ,{field:'MonResStd', title:'标称单体内阻', align:'center', width: 140}
|
| | | ,{field:'MonSerStd', title:'标称单体电导', align:'center', width: 140}
|
| | | ,{field:'Load_curr', title:'负载电流', align:'center', width: 140}
|
| | | ,{field:'DisCurrMax', title:'最大核容电流', align:'center', width: 140}
|
| | | ,{field:'doThings', fixed: 'right', title: '设置状态', toolbar: '#setStatus', align: 'center', width: 160}
|
| | | ]]
|
| | | ,data:[]
|
| | | ,limit: 20
|
| | | ,page: true
|
| | | ,limit: 10000
|
| | | ,page: false
|
| | | ,height: 'full-252'
|
| | | };
|
| | |
|
| | |
| | | }else {
|
| | | layer.msg('没有可设置的电池组!');
|
| | | }
|
| | | |
| | | console.log(data);
|
| | | tOptions.data = data;
|
| | | // 生成表格数据
|
| | | table.render(tOptions);
|
| | | updateDevStatus();
|
| | | }
|
| | | ,complete:function() {
|
| | | layer.close(load);
|
| | |
| | |
|
| | | // 请求设置参数
|
| | | function ajaxSetParam(param) {
|
| | | console.log(param);
|
| | | var load = layer.load(1);
|
| | | // 请求后台
|
| | | $.ajax({
|
| | |
| | | ,data: 'json='+JSON.stringify(param)
|
| | | ,dataType: 'json'
|
| | | ,success: function(res) {
|
| | | console.log(res);
|
| | | var rs = JSON.parse(res.result);
|
| | | if(rs.code == 1) {
|
| | | layer.msg('设置完成!');
|
| | |
| | | var rsList = [];
|
| | | for(var i=0; i<data.length; i++) {
|
| | | var _data = data[i];
|
| | | rsList.push(_data);
|
| | | }
|
| | | |
| | | var trIndex = getSetCurrIndex(data, tOptions.data);
|
| | | // 被设置参数的机房
|
| | | for(var i=0; i<trIndex.length; i++) {
|
| | | var _data = data[i];
|
| | | var _trIndex = trIndex[i];
|
| | | var _temp = {'doThings':''};
|
| | | if(_data.num==1) {
|
| | | _temp.setCurr = 1;
|
| | | }else {
|
| | | _temp.setCurr = 2;
|
| | | }
|
| | | rsList.push(_data);
|
| | | layuiTbl.updateTr(i, _temp);
|
| | | }
|
| | |
|
| | |
| | |
|
| | | // 构造批量设置放电参数的方法
|
| | | function getSetCurrParam(data, ratio) {
|
| | | //console.log(data);
|
| | | var rs = [];
|
| | | for(var i=0; i<data.length; i++) {
|
| | | var _data = data[i];
|
| | |
| | | ,OnlineLowAction: ratio.OnlineVolLowAction // 在线电压低处理
|
| | | ,ChargeCurrSet: chargeCurr // 充电电流
|
| | | ,DCVolHighLimit: ratio.DCVolHighLimit // 升压上限
|
| | | ,BattGroupNum: _data.MonCount // 电池个数
|
| | | ,BattGroupNum: _data.GroupIndexInFBSDevice+1 // 电池组的索引
|
| | | ,StationName: _data.StationName // 机房名称
|
| | | }
|
| | |
|
| | | rs.push(temp);
|
| | |
| | | setBTSPopupStatus($(this).attr('id'), $(this).val());
|
| | | });
|
| | |
|
| | | // 显示已经修改的参数
|
| | | $('#lookSetCurr').click(function() {
|
| | | var rsList = $('#setCurrIframe').data('setCurr');
|
| | | |
| | | if(rsList.length == 0) {
|
| | | layer.msg('暂无查看内容,请先设置放电参数!');
|
| | | return;
|
| | | }
|
| | | |
| | | // 显示面板
|
| | | layer.open({
|
| | | type: 2
|
| | | ,area: ['1200px', '500px']
|
| | | ,resize: false
|
| | | ,content: 'iframe/setcurr.html'
|
| | | });
|
| | | });
|
| | | |
| | | // 启动测试
|
| | | $('#startTest').click(function() {
|
| | | var rsList = $('#setCurrIframe').data('setCurr');
|
| | |
| | | return;
|
| | | }
|
| | |
|
| | | // 是否确定启动
|
| | | layer.confirm('是否确定启动测试', {icon: 3, title: '系统提示'}, function(index) {
|
| | | var param = getStartTestParam(rsList);
|
| | | // 启动测试
|
| | | ajaxStartTest(param);
|
| | | // 显示面板
|
| | | layer.open({
|
| | | type: 2
|
| | | ,area: ['1200px', '500px']
|
| | | ,resize: false
|
| | | ,maxmin: true
|
| | | ,fixed: true
|
| | | ,content: 'iframe/setcurr.html'
|
| | | });
|
| | |
|
| | | });
|
| | | |
| | | // 构造启动测试的参数
|
| | | function getStartTestParam(param) {
|
| | | for(var i=0; i<param.length; i++) {
|
| | | param[i].op_cmd = startTest;
|
| | | param[i].num = 0;
|
| | | }
|
| | | |
| | | return param;
|
| | | }
|
| | | |
| | | // 启动测试请求
|
| | | function ajaxStartTest(param) {
|
| | | var load = layer.load(1)
|
| | | |
| | | // 请求后台
|
| | | $.ajax({
|
| | | type: 'post'
|
| | | ,async: true
|
| | | ,url: 'Fbs9100_setparamAction_action_updatePro_dis'
|
| | | ,data: 'json='+JSON.stringify(param)
|
| | | ,dataType: 'json'
|
| | | ,success: function(res) {
|
| | | var rs = JSON.parse(res.result);
|
| | | if(rs.code == 1) {
|
| | | var data = rs.data;
|
| | | console.log(data)
|
| | | layer.msg('启动成功');
|
| | | }else {
|
| | | layer.msg('启动失败');
|
| | | }
|
| | | }
|
| | | ,complete: function() {
|
| | | layer.close(load);
|
| | | }
|
| | | });
|
| | | |
| | | |
| | | }
|
| | |
|
| | | // 初始化设置参数的按钮
|
| | | var BTSBtn = {
|
| | |
| | | BTSBtn.active();
|
| | | }
|
| | | }
|
| | | |
| | | // 获取设置放电参数的下标
|
| | | function getSetCurrIndex(setData, allData) {
|
| | | var rs = [];
|
| | | // 遍历setData
|
| | | for(var i=0; i<setData.length; i++) {
|
| | | var _setData = setData[i];
|
| | | var setDevId = _setData.dev_id;
|
| | | // 遍历allData
|
| | | for(var k=0; k<allData.length; k++) {
|
| | | var _allData = allData[i];
|
| | | var allDevId = _allData.FBSDeviceId;
|
| | | if(setDevId == allDevId) {
|
| | | rs.push(k);
|
| | | }
|
| | | }
|
| | | |
| | | }
|
| | | |
| | | return rs;
|
| | | }
|
| | | |
| | | // 更新设备状态
|
| | | var BTS9100 = GLOBAL.BTS9100;
|
| | | var workStates = BTS9100.workstates;
|
| | | var alarmStates = BTS9100.alarmstates;
|
| | | function updateDevStatus() {
|
| | | var battlist = tOptions.data;
|
| | | clearInterval(updateDevStatus.timer);
|
| | | if(battlist.length > 0){
|
| | | $.ajax({ |
| | | type: "post", |
| | | url: "Fbs9100_setparamAction_action_serchByInfo", |
| | | async:true, |
| | | dataType:'text',
|
| | | data:"json="+JSON.stringify(battlist),
|
| | | dataType: 'json', |
| | | success: function(res){ |
| | | var rs = JSON.parse(res.result);
|
| | | if(rs.code == 1) {
|
| | | var data = rs.data;
|
| | | // console.log(data);
|
| | | for(var i=0; i<data.length; i++) {
|
| | | var obj = data[i];
|
| | | if(obj.fstate.num > 0){
|
| | | var str = '';
|
| | | var index = obj.fstate.dev_workstate;
|
| | | // 内阻测试(工作状态为0, 内阻测试不为0)
|
| | | if(obj.fstate.dev_workstate ==0 && obj.fstate.dev_res_test_state != 0) {
|
| | | index = 3;
|
| | | }
|
| | | // 设置文本值
|
| | | str = "状态:" + workStates[index]+
|
| | | ",告警:"+alarmStates[obj.fstate.dev_alarmstate]+
|
| | | ",组端电压(V):"+obj.fstate.dev_captest_groupvol+
|
| | | ",电流(A):"+obj.fstate.dev_captest_curr+
|
| | | ",容量(AH):"+obj.fstate.dev_captest_cap;
|
| | | if(index == 3){
|
| | | str = "状态:"+workStates[index]+
|
| | | ",组号:"+obj.fstate.dev_testgroupnum+
|
| | | ",当前单体编号:"+(obj.fstate.dev_restest_monindex+1)+
|
| | | ",被测单体总数:"+obj.fstate.dev_restest_moncount;
|
| | | }
|
| | | var temp = {
|
| | | devStatus: str // 设备状态
|
| | | ,testTime: formatSeconds(obj.fstate.dev_captest_timelong) // 测试时长
|
| | | ,signalNum: obj.fstate.dev_commcount
|
| | | }
|
| | | layuiTbl.updateTr(i, temp);
|
| | | }
|
| | | }
|
| | | }
|
| | | updateDevStatus.timer = setTimeout(updateDevStatus, 4000);
|
| | | }, |
| | | });
|
| | | }
|
| | | } |
| | | |
| | | });
|
| | | </script>
|
| | | </body>
|
| | |
| | | <link rel="stylesheet" type="text/css" href="../pages/css/mylayui.css">
|
| | | </head>
|
| | | <body>
|
| | | <div class="layui-page-container">
|
| | | <!-- 页面主题内容 -->
|
| | | <div class="layui-page-content" style="position: relative;">
|
| | | <div class="layui-tbl-filter">
|
| | | <div class="layui-form layui-form-pane" lay-filter="tblFilter">
|
| | | <button class="layui-btn layui-btn-sm" id="startTest">批量启动测试</button>
|
| | | </div>
|
| | | </div>
|
| | | <table id="pageTbl" lay-filter="pageTbl"></table>
|
| | | </div>
|
| | | </div>
|
| | | <script type="text/html" id="OnlineLowActionText">
|
| | | {{# if(d.OnlineLowAction == 0){ }}
|
| | | 停止测试
|
| | | {{# }else { }}
|
| | | 继续测试
|
| | | {{# } }}
|
| | | </script>
|
| | | <script type="text/html" id="setStatus">
|
| | | {{# if(d.setCurr == 1){ }}
|
| | | <button class="layui-btn layui-btn-sm">设置成功</button>
|
| | | {{# }else if(d.setCurr == 2){ }}
|
| | | <button class="layui-btn layui-btn-sm layui-btn-danger">设置失败</button>
|
| | | {{# }else { }}
|
| | | <button class="layui-btn layui-btn-sm layui-btn-normal">未设置</button>
|
| | | {{# } }}
|
| | | </script>
|
| | | <script type="text/javascript" src="../js/jquery-1.8.3.js"></script>
|
| | | <script type="text/javascript" src="../js/base.js"></script>
|
| | | <script type="text/javascript" src="../src/layui.js"></script>
|
| | | <script type="text/javascript" src="../pages/js/common.js"></script>
|
| | | <script type="text/javascript" src="../pages/js/mylayui.js"></script>
|
| | | <script type="text/javascript">
|
| | | layui.use(['form', 'laytpl', 'jquery', 'element', 'laydate', 'table'], function() {
|
| | |
| | | // 表格模块
|
| | | var tOptions = {
|
| | | elem: '#pageTbl'
|
| | | ,toolbar: false
|
| | | ,toolbar: true
|
| | | ,defaultToolbar: []
|
| | | ,cellMinWidth: 80
|
| | | ,cols: [[
|
| | | {field:'dev_id', title:'设备ID', align:'center', width: 140}
|
| | | ,{field:'BattGroupNum', title:'单体数量', align:'center', width: 140}
|
| | | ,{field:'HourRate', title:'放电小时率', align:'center', width: 160}
|
| | | ,{field:'DisCurr', title:'放电电流', align:'center', width: 160}
|
| | | ,{field:'DisCap', title:'放电电容', align:'center', width: 160}
|
| | | ,{field:'DisTime', title:'放电时长', align:'center', width: 160}
|
| | | ,{field:'GroupVol_Low', title:'组端电压下限', align:'center', width: 220}
|
| | | ,{field:'MonomerVol_Low', title:'单体电压下限', align:'center', width: 220}
|
| | | {type:'checkbox',fixed: 'left'}
|
| | | ,{field:'dev_id', title:'设备ID', align:'center', width: 140}
|
| | | ,{field:'StationName', title:'机房名称', align:'center', width: 480}
|
| | | ,{field:'BattGroupNum', title:'电池组索引', align:'center', width: 140}
|
| | | ,{field:'DisCurr', title:'放电电流(A)', align:'center', width: 160}
|
| | | ,{field:'DisCap', title:'放电容量(AH)', align:'center', width: 160}
|
| | | ,{field:'DisTime', title:'放电时长(分钟)', align:'center', width: 160}
|
| | | ,{field:'GroupVol_Low', title:'组端电压下限(V)', align:'center', width: 220}
|
| | | ,{field:'MonomerVol_Low', title:'单体电压下限(V)', align:'center', width: 220}
|
| | | ,{field:'MonomerLowCount', title:'单体数量下限', align:'center', width: 220}
|
| | | ,{field:'MonomerTmp_High', title:'温度上限', align:'center', width: 140}
|
| | | ,{field:'OnlineLowAction', title:'在线电压低处理', align:'center', width: 240}
|
| | | ,{field:'ChargeCurrSet', title:'充电电流', align:'center', width: 140}
|
| | | ,{field:'DCVolHighLimit', title:'升压上限', align:'center', width: 140}
|
| | | ,{field:'MonomerTmp_High', title:'温度上限(℃)', align:'center', width: 140}
|
| | | ,{field:'OnlineLowAction', title:'在线电压低处理', templet: '#OnlineLowActionText', align:'center', width: 240}
|
| | | ,{field:'ChargeCurrSet', title:'充电电流(A)', align:'center', width: 140}
|
| | | ,{field:'DCVolHighLimit', title:'升压上限(V)', align:'center', width: 140}
|
| | | ,{field:'doThings', fixed: 'right', title: '设置状态', toolbar: '#setStatus', align: 'center', width: 140}
|
| | | ]]
|
| | | ,data: []
|
| | | ,limit: 20
|
| | | ,page: true
|
| | | ,limit: 10000
|
| | | ,page: false
|
| | | ,height: 'full-11'
|
| | | };
|
| | | for(var i=0; i<setCurr.length; i++) {
|
| | | tOptions.data.push(setCurr[i]);
|
| | | var _setCurr = setCurr[i];
|
| | | if(_setCurr.num==1) {
|
| | | _setCurr.setCurr = 1;
|
| | | }else {
|
| | | _setCurr.setCurr = 2;
|
| | | }
|
| | | tOptions.data.push(_setCurr);
|
| | | }
|
| | | // 渲染表格
|
| | | table.render(tOptions);
|
| | | |
| | | var btsCmd = GLOBAL.CMD.BTS; // 获取BTS的CMD
|
| | | var startTest = btsCmd.start; // 获取BTS启动测试的CMD
|
| | | |
| | | // 点击启动测试
|
| | | $('#startTest').click(function() {
|
| | | var checkStatus = table.checkStatus('pageTbl');
|
| | | var data = checkStatus.data;
|
| | | if(data.length == 0) {
|
| | | layer.msg('请选择要启动的机房');
|
| | | return;
|
| | | }
|
| | | |
| | | // 是否确定启动
|
| | | layer.confirm('是否确定启动测试', {icon: 3, title: '系统提示'}, function(index) {
|
| | | var param = getStartTestParam(data);
|
| | | console.log(param);
|
| | | return;
|
| | | // 启动测试
|
| | | ajaxStartTest(param);
|
| | | });
|
| | | });
|
| | | |
| | | // 构造启动测试的参数
|
| | | function getStartTestParam(param) {
|
| | | for(var i=0; i<param.length; i++) {
|
| | | param[i].op_cmd = startTest;
|
| | | param[i].num = 0;
|
| | | }
|
| | | |
| | | return param;
|
| | | }
|
| | | |
| | | // 启动测试请求
|
| | | function ajaxStartTest(param) {
|
| | | var load = layer.load(1)
|
| | | |
| | | // 请求后台
|
| | | $.ajax({
|
| | | type: 'post'
|
| | | ,async: true
|
| | | ,url: 'Fbs9100_setparamAction_action_updatePro_dis'
|
| | | ,data: 'json='+JSON.stringify(param)
|
| | | ,dataType: 'json'
|
| | | ,success: function(res) {
|
| | | var rs = JSON.parse(res.result);
|
| | | if(rs.code == 1) {
|
| | | var data = rs.data;
|
| | | layer.msg('启动成功');
|
| | | }else {
|
| | | layer.msg('启动失败');
|
| | | }
|
| | | }
|
| | | ,complete: function() {
|
| | | layer.close(load);
|
| | | }
|
| | | });
|
| | | |
| | | |
| | | }
|
| | | |
| | | });
|
| | | </script>
|
| | | </body>
|