| | |
| | | <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" data-genuitec-lp-enabled="false" data-genuitec-file-id="wc1-14" data-genuitec-path="/gx_tieta/WebRoot/batch-set-curr.jsp">
|
| | | <!-- 条件筛选 -->
|
| | | <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>
|
| | | <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="sysSet">批量设置系统参数</button>
|
| | | |
| | | <button class="layui-btn layui-btn-sm" id="sysRestart">批量重启设备</button>
|
| | | </div>
|
| | | </div>
|
| | | <!-- 表格内容 -->
|
| | |
| | | {{# if(d.DtCardCount==1) { }}
|
| | | 从一拖24获取
|
| | | {{# }else{ }}
|
| | | 从汇集器获取
|
| | | <span style="color: #FF0000">从汇集器获取</span>
|
| | | {{# } }}
|
| | | </script>
|
| | | <!-- 操作栏 -->
|
| | |
| | | <button class="layui-btn layui-btn-sm layui-btn-disabled">未设置</button>
|
| | | {{# } }}
|
| | | </script>
|
| | | <script type="text/html" id="allStatus">
|
| | | {{#
|
| | | var getStatus = function (val) {
|
| | | var status = '<button class="layui-btn layui-btn-sm layui-btn-danger">未知</button>';
|
| | | switch(val) {
|
| | | case 0:
|
| | | status='<button class="layui-btn layui-btn-sm layui-btn-danger">读取失败</button>';
|
| | | break;
|
| | | case 1:
|
| | | status='<button class="layui-btn layui-btn-sm layui-btn-normal">读取成功</button>';
|
| | | break;
|
| | | case 2:
|
| | | status='<button class="layui-btn layui-btn-sm layui-btn-danger">设置失败</button>';
|
| | | break;
|
| | | case 3:
|
| | | status='<button class="layui-btn layui-btn-sm">设置成功</button>';
|
| | | break;
|
| | | case 4:
|
| | | status='<button class="layui-btn layui-btn-sm layui-btn-danger">重启失败</button>';
|
| | | break;
|
| | | case 5:
|
| | | status='<button class="layui-btn layui-btn-sm layui-btn-warm">重启成功</button>';
|
| | | break;
|
| | | case 6:
|
| | | status='<button class="layui-btn layui-btn-sm layui-btn-warm">修改未设置</button>';
|
| | | break;
|
| | | }
|
| | | return status;
|
| | | };
|
| | | }}
|
| | | |
| | | {{ getStatus(d.allStatus) }}
|
| | | </script>
|
| | | <!-- 电流钳量程 -->
|
| | | <script type="text/html" id="CurrentRange">
|
| | | {{# if(d.CurrentRange_bool == 1){ }}
|
| | | {{d.CurrentRange}}
|
| | | {{# }else{ }}
|
| | | <span style="color:#FF0000;">{{d.CurrentRange}}</span>
|
| | | {{# } }}
|
| | | </script>
|
| | | <!-- DCDC模块数量 -->
|
| | | <script type="text/html" id="LoaderCount">
|
| | | {{# if(d.LoaderCount_bool == 1){ }}
|
| | | {{d.LoaderCount}}
|
| | | {{# }else{ }}
|
| | | <span style="color:#FF0000;">{{d.LoaderCount}}</span>
|
| | | {{# } }}
|
| | | </script>
|
| | | <!-- 普通面板 -->
|
| | | <script type="text/html" id="normalSet">
|
| | | <div class="layui-form layui-"></div>
|
| | |
| | | <label class="layui-form-label">{{d.msg}}</label>
|
| | | <div class="layui-input-block">
|
| | | <input type="text" id="sysSetVal" name="{{d.field}}" lay-verify="{{d.verify}}" lay-verType="tips" placeholder="请输入设定参数" autocomplete="off" class="layui-input">
|
| | | </div>
|
| | | </div>
|
| | | <div class="layui-form-item t-align-right" style="display: none">
|
| | | <button class="layui-btn layui-btn-sm mrr8" lay-submit="" lay-fllter="go" id="go">确定</button>
|
| | | <button class="layui-btn layui-btn-sm layui-btn-danger mrr8">取消</button>
|
| | | </div>
|
| | | </div>
|
| | | </script>
|
| | | <!-- 设置单体数据来源面板 -->
|
| | | <script type="text/html" id="sysSetDtCardCountTpl">
|
| | | <div class="layui-form layui-form-pane layui-form-pane-width160 mrl8 mrr8 mrt30" id="sysSetForm" lay-filter="sysSetFilter">
|
| | | <div class="layui-form-item">
|
| | | <label class="layui-form-label">{{d.msg}}</label>
|
| | | <div class="layui-input-block">
|
| | | <select name="{{d.field}}">
|
| | | <option value="1">从一拖24获取</option>
|
| | | <option value="0">从汇集器获取</option>
|
| | | </select>
|
| | | </div>
|
| | | </div>
|
| | | <div class="layui-form-item t-align-right" style="display: none">
|
| | |
| | | ,{field:'dev_id', title:'设备ID', align:'center', width: 160}
|
| | | ,{field:'stationName', title:'机房名称', align:'center', width: 470}
|
| | | ,{field:'BattGroupNum', title:'电池组数', align:'center', width: 120}
|
| | | ,{field:'readStatus', title:'读取状态', templet: '#readStatus', align:'center', width: 120}
|
| | | ,{field:'setStatus', title:'设置状态', templet: '#setStatus', align:'center', width: 120}
|
| | | ,{field: 'moncapstds', title: '电池组标称容量(AH)', align: 'center', width: 180}
|
| | | ,{field: 'RealCap', title: '电池组实际容量(AH)', align: 'center', width: 180}
|
| | | ,{field:'GroupVolRange', title:'总续航时间(分钟)<i class="fa fa-edit normal" title="设置总续航时间"></i>', align:'center', width: 180}
|
| | | ,{field:'GroupVolSorce', title:'保一次下电续航时间(分钟)<i class="fa fa-edit normal" title="设置保一次下电续航时间"></i>', align:'center', width: 240}
|
| | | ,{field:'CurrentRange', title:'电流钳量程(A)<i class="fa fa-edit normal" title="设置电流钳量程"></i>', templet: '', align:'center', width: 180}
|
| | | ,{field:'CurrentRange', title:'电流钳量程(A)<i class="fa fa-edit normal" title="设置电流钳量程"></i>', templet: '#CurrentRange', align:'center', width: 180}
|
| | | ,{field:'CurrentTyte', title:'一次下电电压(V)<i class="fa fa-edit normal" title="设置一次下电电压"></i>', align:'center', width: 180}
|
| | | ,{field:'MonomerOrder', title:'二次下电电压(V)<i class="fa fa-edit normal" title="设置二次下电电压"></i>', align:'center', width: 180}
|
| | | ,{field:'LoaderCount', title:'DCDC模块数量 <i class="fa fa-edit normal" title="设置DCDC模块数量"></i>', align:'center', width: 180}
|
| | | ,{field:'DtCardCount', title:'单体数据来源类型 <i class="fa fa-edit" title="设置单体数据来源类型"></i>', templet: '#DtCardCount', align:'center', width: 200}
|
| | | ,{field:'LoaderCount', title:'DCDC模块数量 <i class="fa fa-edit normal" title="设置DCDC模块数量"></i>',templet: '#LoaderCount', align:'center', width: 180}
|
| | | ,{field:'DtCardCount', title:'单体数据来源类型 <i class="fa fa-edit DtCardCount" title="设置单体数据来源类型"></i>', templet: '#DtCardCount', align:'center', width: 200}
|
| | | ,{field:'POF_BG_Boost_Cnt', title:'停电升压榨干电池数量 <i class="fa fa-edit normal" title="设置停电升压榨干电池数量"></i>', align:'center', width: 240}
|
| | | ,{field:'POF_BG_Boost_VolStop', title:'停电升压榨干电池端电压终止电压下限(V)<i class="fa fa-edit normal" title="设置停电升压榨干电池端电压终止电压下限"></i>', align:'center', width: 400}
|
| | | ,{field:'POF_BG_Boost_VolStart', title:'停电升压榨干电池端电压启动电压下限(V)<i class="fa fa-edit normal" title="设置停电升压榨干电池端电压启动电压下限"></i>', align:'center', width: 400}
|
| | |
| | | ,{field:'PowerBreakChargeCurr', title:'停电充电电流(A)<i class="fa fa-edit normal" title="设置停电充电电流"></i>', align:'center', width: 240}
|
| | | ,{field:'StationName9', title:'版本号', align:'center', width: 160}
|
| | | ,{field:'Load_curr', title:'负载电流(A)', align:'center', width: 160}
|
| | | ,{field:'doThings', fixed: 'right', title: '操作', toolbar: '#doThings', align: 'center', width: 120} |
| | | ,{field:'allStatus', fixed: 'right', title: '状态', templet: '#allStatus', align: 'center', width: 180}
|
| | | ]]
|
| | | ,data:[]
|
| | | ,limit: 10000
|
| | |
| | | var sysSetForm = new LayuiForm('sysSetForm');
|
| | |
|
| | | // 设置普通系统参数模板
|
| | | var sysSetNormalTpl = $('#sysSetNormalTpl').html(); |
| | | var sysSetNormalTpl = $('#sysSetNormalTpl').html(); |
| | | |
| | | // 设置单体数据来源模板
|
| | | var sysSetDtCardCountTpl = $('#sysSetDtCardCountTpl').html();
|
| | | |
| | | // 点击表格中同步的按钮
|
| | | $('.layui-page-content').on('click', '.layui-table-header .fa.normal', function() {
|
| | | var title = $(this).attr('title');
|
| | |
| | | }
|
| | | });
|
| | |
|
| | | // 点击表格单体数据来源进行修改
|
| | | $('.layui-page-content').on('click', '.layui-table-header .fa.DtCardCount', function() {
|
| | | var title = $(this).attr('title');
|
| | | var th = $(this).parent().parent().parent();
|
| | | var field = th.data('field');
|
| | | |
| | | // 判断是否存在可以设置的机房
|
| | | if(tOptions.data.length == 0) {
|
| | | layer.msg('请先添加机房!');
|
| | | }else {
|
| | | var checkStatus = table.checkStatus('pageTbl'); // 获取被选中的行
|
| | | var checkData = checkStatus.data;
|
| | | if(checkData.length == 0) {
|
| | | layer.msg('请选择要设置的机房!');
|
| | | return;
|
| | | }
|
| | | |
| | | var keyIds= getKeyId(checkData);
|
| | | |
| | | // 更新指定的列
|
| | | var showFormData = getShowFormData(title, field);
|
| | | // 显示面板
|
| | | changeTblData(sysSetDtCardCountTpl, showFormData, keyIds);
|
| | | } |
| | | });
|
| | | |
| | | // 修改表格内容
|
| | | function changeTblData(html, data, keyIds) {
|
| | | // 面板显示
|
| | |
| | | ,area: ['400px', '200px']
|
| | | ,content: html
|
| | | ,btn:['确定', '取消']
|
| | | ,success: function() {
|
| | | form.render(null, 'sysSetFilter');
|
| | | }
|
| | | ,yes:function(index) {
|
| | | layer.close(index); // 关闭面板
|
| | | $('#go').click(); // 触发layui form表单提交事件
|
| | | sysSetForm.get(function(obj) {
|
| | | layer.close(index); // 关闭面板
|
| | | var rsData = [];
|
| | | for(var i=0;i<keyIds.length; i++) {
|
| | | var _keyId = keyIds[i];
|
| | | var _rsData = $.extend({}, _keyId, obj);
|
| | | _rsData.allStatus = 6; // 修改参数但未设置
|
| | | var _trData = layuiTbl.getTr('dev_id', _rsData.dev_id);
|
| | | |
| | | // 判断是否为电流钳量程,设置是否符合标准
|
| | | if(_rsData.CurrentRange != undefined) {
|
| | | if(_trData.code == 1) {
|
| | | // 设置当前内容是否符合标准
|
| | | _rsData.CurrentRange_bool = checkCurrentRange(_trData.data.MonVolStd, _rsData.CurrentRange);
|
| | | }
|
| | | }
|
| | | |
| | | // 判断是否为DCDC模块数量,设置是否符合标准
|
| | | if(_rsData.LoaderCount != undefined) {
|
| | | if(_trData.code == 1) {
|
| | | // 设置当前内容是否符合标准
|
| | | _rsData.LoaderCount_bool = checkLoaderCount(_trData.data.MonVolStd, _rsData.LoaderCount);
|
| | | }
|
| | | }
|
| | | |
| | | rsData.push(_rsData);
|
| | | }
|
| | |
|
| | |
| | | case 'PowerBreakChargeCurr': // 背光时长
|
| | | rs.verify = 'required|number|intNum|PowerBreakChargeCurr'
|
| | | rs.msg = '取值范围0~50'
|
| | | break;
|
| | | case 'DtCardCount':
|
| | | rs.verify = 'required';
|
| | | rs.msg = '请选择来源';
|
| | | break;
|
| | | }
|
| | |
|
| | |
| | | tmp.dev_id = _data.FBSDeviceId; // 设备ID
|
| | | tmp.stationName = _data.StationName; // 机房名称
|
| | | tmp.BattGroupNum = _data.BattGroupNum; // 电池组数
|
| | | tmp.MonVolStd = _data.MonVolStd; // 单体标称电压
|
| | | tmp.moncapstds = _data.moncapstds; // 单体标称容量
|
| | | tmp.StationName9 = _data.StationName9; // 设备版本号
|
| | | tmp.Load_curr = _data.Load_curr; // 负载电流
|
| | |
| | |
|
| | | // 判断读取状态
|
| | | if(_data.num == 1) {
|
| | | tmp.readStatus = 1; // 读取成功
|
| | | tmp.allStatus = 1; // 读取成功
|
| | | }else {
|
| | | tmp.readStatus = 0; // 读取失败
|
| | | tmp.allStatus = 0; // 读取失败
|
| | | }
|
| | | tmp.setStatus = 0;
|
| | | tmp.CurrentRange_bool = checkCurrentRange(_data.MonVolStd, tmp.CurrentRange); // 检测电流钳量程
|
| | | tmp.LoaderCount_bool = checkLoaderCount(_data.MonVolStd, tmp.LoaderCount); // 检测DCDC模块数量
|
| | | //console.log(tmp.CurrentRange_bool);
|
| | | // 将数据添加到结果集中
|
| | | rs.push(tmp);
|
| | | }
|
| | |
| | | for(var i=0; i<data.length; i++) {
|
| | | var _data = data[i];
|
| | | if(_data.num == 1) {
|
| | | _data.setStatus = 1;
|
| | | _data.allStatus = 3; // 设置成功
|
| | | }else {
|
| | | _data.setStatus = 2;
|
| | | _data.allStatus = 2; // 设置失败
|
| | | }
|
| | | _data.CurrentTyte = _data.CurrentTyte/10; // 一次下电电压
|
| | | _data.MonomerOrder = _data.MonomerOrder/10; // 二次下电电压
|
| | |
| | | var _checkData = checkData[i];
|
| | | var tmp = {};
|
| | | tmp.dev_id = _checkData.dev_id;
|
| | | tmp.setStatus = 0;
|
| | | _data.allStatus = 2; // 设置失败
|
| | | rsData.push(tmp);
|
| | | }
|
| | | layuiTbl.update('dev_id', rsData);
|
| | | }
|
| | | }
|
| | | ,complete: function() {
|
| | | layer.close(loading);
|
| | | }
|
| | | });
|
| | | }
|
| | | |
| | | // 批量重启设备按钮
|
| | | $('#sysRestart').click(function() {
|
| | | var checkStatus = table.checkStatus('pageTbl'); // 获取被选中的行
|
| | | var checkData = checkStatus.data;
|
| | | if(checkData.length == 0) {
|
| | | layer.msg('请选择要设置的机房!');
|
| | | return;
|
| | | }
|
| | | |
| | | // 调用重启设备的请求
|
| | | batchRestartSys(checkData);
|
| | | });
|
| | | |
| | | // 批量重启设备请求
|
| | | function batchRestartSys(params) {
|
| | | // 判断data是否为空
|
| | | if(!params || params.length==0) {
|
| | | layer.msg('请选择要重启的设备');
|
| | | return;
|
| | | }
|
| | | |
| | | // 弹出询问弹出框
|
| | | layer.confirm('是否批量重启设备', {icon: 3, title: '提示'}, function(index) {
|
| | | // 对数据进行处理
|
| | | var rsData = [];
|
| | | // 遍历params的值
|
| | | for(var i=0; i<params.length; i++) {
|
| | | var _params = params[i];
|
| | | _params.op_cmd = sysSetCmd.restart;
|
| | | _params.num = 0;
|
| | | rsData.push(_params);
|
| | | }
|
| | | |
| | | // 请求后台
|
| | | ajaxBatchRestartSys(rsData);
|
| | | |
| | | });
|
| | | }
|
| | | |
| | | // 更具数据向后台请求重启设备
|
| | | function ajaxBatchRestartSys(params) {
|
| | | var loading = layer.load(1);
|
| | | // 重启设备
|
| | | $.ajax({
|
| | | type: 'post'
|
| | | ,async: true
|
| | | ,url: 'Fbs9100_sysparamAction_action_restartPL_FBS'
|
| | | ,data: 'json='+JSON.stringify(params)+'&json_msg='+addBattStr
|
| | | ,dataType: 'json'
|
| | | ,success: function(res) {
|
| | | var rs = JSON.parse(res.result);
|
| | | if(rs.code == 1) {
|
| | | var data = rs.data;
|
| | | // 遍历 data
|
| | | for(var i=0; i<data.length; i++) {
|
| | | var _data = data[i];
|
| | | if(_data.num == 1) {
|
| | | _data.allStatus = 5; // 重启成功
|
| | | }else {
|
| | | _data.allStatus = 4; // 重启失败
|
| | | }
|
| | | }
|
| | | |
| | | // 更新表格
|
| | | layuiTbl.update('dev_id', data);
|
| | | }
|
| | | }
|
| | | ,error: function() {
|
| | | layer.msg('重启失败');
|
| | | // 遍历params
|
| | | for(var i=0; i<params.length; i++) {
|
| | | var _param = params[i];
|
| | | _param.allStatus = 4; // 重启失败 |
| | | }
|
| | | |
| | | // 更新表格
|
| | | layuiTbl.update('dev_id', params);
|
| | | }
|
| | | ,complete: function() {
|
| | | layer.close(loading);
|
| | |
| | | }
|
| | | return rs;
|
| | | }
|
| | | |
| | | // 检测电流钳数据是否符合标准
|
| | | function checkCurrentRange(monVolStd, CRange) {
|
| | | var rsBool = 0; // 返回结果是否符合标准0不符合, 1符合
|
| | | // 判断对应关系
|
| | | switch(Number(monVolStd)){
|
| | | case 12: // 12V设备
|
| | | if(CRange == 100) {
|
| | | rsBool = 1;
|
| | | }
|
| | | break;
|
| | | case 2: // 2V设备
|
| | | if(CRange == 200) {
|
| | | rsBool = 1;
|
| | | }
|
| | | break;
|
| | | }
|
| | | |
| | | return rsBool;
|
| | | }
|
| | | |
| | | // 检测DCDC模块数量
|
| | | function checkLoaderCount(monVolStd, LoaderCount) {
|
| | | var rsBool = 0; // 返回结果是否符合标准0不符合, 1符合
|
| | | // 判断对应关系
|
| | | switch(Number(monVolStd)){
|
| | | case 12: // 12V设备
|
| | | if(LoaderCount == 1) {
|
| | | rsBool = 1;
|
| | | }
|
| | | break;
|
| | | case 2: // 2V设备
|
| | | if(LoaderCount == 2) {
|
| | | rsBool = 1;
|
| | | }
|
| | | break;
|
| | | }
|
| | | |
| | | return rsBool;
|
| | | }
|
| | | });
|
| | | </script>
|
| | | </body>
|