| | |
| | | <!-- 存储set-curr.html的信息 -->
|
| | | <div id="setCurrIframe"></div>
|
| | | <div id="setCurrBtn"></div>
|
| | | <div id="batSetTest"></div>
|
| | | <!-- 设备工作状态 -->
|
| | | <script type="text/html" id="devStatus">
|
| | | {{# if(d.devStatus) { }}
|
| | |
| | | return;
|
| | | }
|
| | |
|
| | | var data = getCheckedData(cData); // 格式化被选中行数据
|
| | | var keyIds= getKeyId(cData); // 获取标识符
|
| | | let goodAndBadHome = getGoodAndBadHome(cData);
|
| | | let goodHome = goodAndBadHome.good;
|
| | | // 判断goodHome
|
| | | if(goodHome.length == 0) {
|
| | | layer.msg('请选择读取成功的机房');
|
| | | return;
|
| | | }
|
| | | |
| | | // 设置内容
|
| | | $('#batSetTest').data('goodAndBadHome', goodAndBadHome);
|
| | | // 打开面板
|
| | | layer.open({
|
| | | type: 2
|
| | | ,title: '电池参数设置提示'
|
| | | ,area: ['1200px', '500px']
|
| | | ,content: 'iframe/bat-set-test.html'
|
| | | ,btn:['确定', '取消']
|
| | | ,yes: function(sysSetTestIndex) {
|
| | | var keyIds= getKeyId(goodHome); // 获取标识符
|
| | | var rsData = [];
|
| | | for(var i=0; i<data.length; i++) {
|
| | | var _data = data[i];
|
| | | for(var i=0; i<goodHome.length; i++) {
|
| | | var _data = goodHome[i];
|
| | | _data.op_cmd = battParam.set;
|
| | | _data.num = 0;
|
| | | rsData.push(_data);
|
| | | }
|
| | |
|
| | | // 批量设置
|
| | | batchSetBattParams(rsData, keyIds);
|
| | | batchSetBattParams(rsData, keyIds, sysSetTestIndex);
|
| | | }
|
| | | });
|
| | | |
| | | var data = getCheckedData(cData); // 格式化被选中行数据
|
| | | var keyIds= getKeyId(cData); // 获取标识符
|
| | | |
| | | });
|
| | |
|
| | | // 设置添加操作的字符串
|
| | | var addBattStr = '';
|
| | | // 批量设置放电参数
|
| | | function batchSetBattParams(params, keys) {
|
| | | function batchSetBattParams(params, keys, sIndex) {
|
| | | // 判断data的值是否为空
|
| | | if(params.length == 0) {
|
| | | layer.msg('请选择要批量设置的机房!');
|
| | | }
|
| | | // 判断是否批量设置
|
| | | layer.confirm('是否确认批量设置电池参数', {icon: 3, title: '批量设置提醒'}, function(index) {
|
| | | layer.close(sIndex);
|
| | | layer.close(index);
|
| | | var loading = layer.load(1);
|
| | | // 请求后台
|
| | |
| | | });
|
| | | });
|
| | | }
|
| | | |
| | |
|
| | | // 点击添加电池组
|
| | | $('#setCurrIframe').data('setCurr', []);
|
| | |
| | |
|
| | | // 处理添加机房信息的结果
|
| | | function formatSearchData(data) {
|
| | | console.log(data);
|
| | | var rs = [];
|
| | | // 遍历data的
|
| | | for(var i=0; i<data.length; i++) {
|
| | |
| | | tmp.key_id = i;
|
| | | tmp.dev_id = obj.dev_id; // 设备ID
|
| | | tmp.dev_ip = obj.dev_ip; // 设备IP
|
| | | tmp.StationName = obj.StationName; // 机房名称
|
| | | tmp.StationName = _data.StationName; // 机房名称
|
| | | tmp.GroupConnType = 0; // 电池组连接类型
|
| | | tmp.StationName9 = _data.StationName9; // 设备版本号
|
| | |
|
| | |
| | | tmp.FloatChargeVol = _data.FloatChargeVol; // 电池浮充电压阀值(V)
|
| | | tmp.FloatChargeCurr = _data.FloatChargeCurr; // 电池浮充电流阀值(A)
|
| | | tmp.OnlineVolLow = _data.OnlineVolLow; // 在线电压低阀值(V)
|
| | | tmp.readStatus = _data.readStatus; // 读取状态
|
| | | // 将数据放到返回的结果集中
|
| | | rs.push(tmp);
|
| | | }
|
| | |
| | | rsString += '-'+(data.GroupIndexInFBSDevice == '0'?'电池组1': '电池组2');
|
| | | return rsString;
|
| | | }
|
| | | |
| | | // 根据readStatus的值设置电池参数的值区分可设置参数的机房信息/不可设置参数的机房
|
| | | function getGoodAndBadHome(data) {
|
| | | let rs = {
|
| | | good: []
|
| | | ,bad: []
|
| | | };
|
| | | |
| | | // 遍历data的值
|
| | | for(var i=0; i<data.length; i++) {
|
| | | let _data = data[i];
|
| | | let status = _data.readStatus;
|
| | | if(status) {
|
| | | rs.good.push(_data);
|
| | | }else {
|
| | | rs.bad.push(_data);
|
| | | }
|
| | | }
|
| | | |
| | | return rs;
|
| | | }
|
| | | |
| | | |
| | | });
|
| | | </script>
|
| | | </body>
|
New file |
| | |
| | | <!DOCTYPE html>
|
| | | <html lang="en">
|
| | | <head>
|
| | | <meta charset="UTF-8">
|
| | | <meta name="viewport" content="width=device-width, initial-scale=1.0">
|
| | | <meta http-equiv="X-UA-Compatible" content="ie=edge">
|
| | | <title>电池参数设置</title>
|
| | | <link rel="stylesheet" href="../src/css/layui.css">
|
| | | <link rel="stylesheet" href="../pages/css/mylayui.css">
|
| | | <style>
|
| | | html,body{
|
| | | min-width: 400px;
|
| | | }
|
| | | body.homeinfo-tab .layui-tab {
|
| | | margin: 0;
|
| | | }
|
| | | body.homeinfo-tab .layui-tab-card{
|
| | | border: none;
|
| | | }
|
| | | body.homeinfo-tab .layui-tab-content {
|
| | | padding: 0;
|
| | | }
|
| | | |
| | | </style>
|
| | | </head>
|
| | | <body class="homeinfo-tab">
|
| | | <div class="layui-tab layui-tab-card" lay-filter="homeInfo">
|
| | | <ul class="layui-tab-title">
|
| | | <li class="layui-this">可设置机房<span class="layui-badge" id="goodHomeNum">0</span></li>
|
| | | <li>不可设置机房<span class="layui-badge" id="badHomeNum">0</span></li>
|
| | | </ul>
|
| | | <div class="layui-tab-content">
|
| | | <div class="layui-tab-item layui-show">
|
| | | <table id="pageTblGood" lay-filter="pageTblGood"></table>
|
| | | </div>
|
| | | <div class="layui-tab-item">
|
| | | <table id="pageTblBad" lay-filter="pageTblBad"></table>
|
| | | </div>
|
| | | </div>
|
| | | </div>
|
| | | <!-- 读取状态 -->
|
| | | <script type="text/html" id="readStatus">
|
| | | {{# if(d.readStatus == 1){ }}
|
| | | <button class="layui-btn layui-btn-sm layui-btn-normal">读取成功</button>
|
| | | {{# }else { }}
|
| | | <button class="layui-btn layui-btn-sm layui-btn-danger">读取失败</button>
|
| | | {{# } }}
|
| | | </script>
|
| | | <script type="text/javascript" src="../js/jquery-1.8.3.js"></script>
|
| | | <script type="text/javascript" src="../src/layui.js"></script>
|
| | | <script type="text/javascript">
|
| | | layui.use(['table', 'element'], function() {
|
| | | let table = layui.table; // 获取table模块
|
| | | let element = layui.element; // 获取element模块
|
| | | |
| | | // 切换选择卡
|
| | | element.on('tab(homeInfo)', function(elem){
|
| | | $(window).resize();
|
| | | });
|
| | | |
| | | // 可设置机房表格的配置项
|
| | | let goodTblOpts = {
|
| | | elem: '#pageTblGood'
|
| | | ,toolbar: false
|
| | | ,defaultToolbar: []
|
| | | ,cellMinWidth: 80
|
| | | ,cols: [[
|
| | | {field:'dev_id', title:'设备ID', align:'center', width: 160}
|
| | | ,{field:'StationName', title:'机房名称', align:'center', width: 470}
|
| | | ,{field:'STD_CAP', title:'电池标称容量(AH)', templet: '#STD_CAP', align:'center', width: 220}
|
| | | ,{field:'STD_RES', title:'电池标称内阻(uΩ)', templet: '#STD_RES', align:'center', width: 220}
|
| | | ,{field:'BattGroupCount', title:'电池组组数', templet: '#BattGroupCount', align:'center', width: 180}
|
| | | ,{field:'EachGroupBattCount', title:'每组电池单体数量', templet: '#EachGroupBattCount', align:'center', width: 220}
|
| | | ,{field:'MonomerVol', title:'单体标称电压(V)', templet: '#MonomerVol', align:'center', width: 220}
|
| | | ,{field:'StationName9', title:'设备版本号', align:'center', width: 180}
|
| | | ,{field:'GroupVol', title:'电池组端标称电压(V)', align:'center', width: 220}
|
| | | ,{field:'BattTemp', title:'电池标称温度(℃) ', templet: '#BattTemp', align:'center', width: 220}
|
| | | ,{field:'FloatChargeVol', title:'电池浮充电压阀值(V) ', templet: '#FloatChargeVol', align:'center', width: 220}
|
| | | ,{field:'FloatChargeCurr', title:'电池浮充电流阀值(A) ', templet: '#FloatChargeCurr', align:'center', width: 220}
|
| | | ,{field:'OnlineVolLow', title:'在线电压低阀值(V) ', templet: '#OnlineVolLow', align:'center', width: 220}
|
| | | ,{field:'GroupConnType', title:'电池组连接类型', templet: '#GroupConnType', align:'center', width: 220}
|
| | | ,{field:'readStatus', fixed:'right', title:'读取状态', templet: '#readStatus', align:'center', width: 120}
|
| | | ]]
|
| | | ,data:[]
|
| | | ,limit: 10000
|
| | | ,page: false
|
| | | ,height: 'full-45'
|
| | | };
|
| | | |
| | | let badTblOpts = {
|
| | | elem: '#pageTblBad'
|
| | | ,toolbar: false
|
| | | ,defaultToolbar: []
|
| | | ,cellMinWidth: 80
|
| | | ,cols: [[
|
| | | {field:'dev_id', title:'设备ID', align:'center', width: 160}
|
| | | ,{field:'StationName', title:'机房名称', align:'center', width: 470}
|
| | | ,{field:'STD_CAP', title:'电池标称容量(AH)', templet: '#STD_CAP', align:'center', width: 220}
|
| | | ,{field:'STD_RES', title:'电池标称内阻(uΩ)', templet: '#STD_RES', align:'center', width: 220}
|
| | | ,{field:'BattGroupCount', title:'电池组组数', templet: '#BattGroupCount', align:'center', width: 180}
|
| | | ,{field:'EachGroupBattCount', title:'每组电池单体数量', templet: '#EachGroupBattCount', align:'center', width: 220}
|
| | | ,{field:'MonomerVol', title:'单体标称电压(V)', templet: '#MonomerVol', align:'center', width: 220}
|
| | | ,{field:'StationName9', title:'设备版本号', align:'center', width: 180}
|
| | | ,{field:'GroupVol', title:'电池组端标称电压(V)', align:'center', width: 220}
|
| | | ,{field:'BattTemp', title:'电池标称温度(℃) ', templet: '#BattTemp', align:'center', width: 220}
|
| | | ,{field:'FloatChargeVol', title:'电池浮充电压阀值(V) ', templet: '#FloatChargeVol', align:'center', width: 220}
|
| | | ,{field:'FloatChargeCurr', title:'电池浮充电流阀值(A) ', templet: '#FloatChargeCurr', align:'center', width: 220}
|
| | | ,{field:'OnlineVolLow', title:'在线电压低阀值(V) ', templet: '#OnlineVolLow', align:'center', width: 220}
|
| | | ,{field:'GroupConnType', title:'电池组连接类型', templet: '#GroupConnType', align:'center', width: 220}
|
| | | ,{field:'readStatus', fixed:'right', title:'读取状态', templet: '#readStatus', align:'center', width: 120}
|
| | | ]]
|
| | | ,data:[]
|
| | | ,limit: 10000
|
| | | ,page: false
|
| | | ,height: 'full-45'
|
| | | };
|
| | | |
| | | // 渲染表格可设置机房的表格
|
| | | table.render(goodTblOpts);
|
| | | |
| | | // 渲染不可设置机房的表格
|
| | | table.render(badTblOpts);
|
| | | |
| | | let goodAndBadHome = parent.$('#batSetTest').data('goodAndBadHome');
|
| | | goodAndBadHome = goodAndBadHome?goodAndBadHome:{good:[], bad:[]};
|
| | | //console.log(goodAndBadHome);
|
| | | // 设置good的值
|
| | | for(let i=0, len=goodAndBadHome.good.length; i<len; i++) {
|
| | | let _good = goodAndBadHome.good[i];
|
| | | goodTblOpts.data.push(_good);
|
| | | }
|
| | | |
| | | // 设置不可以设置机房的个数
|
| | | $('#goodHomeNum').text(goodTblOpts.data.length);
|
| | | // 渲染表格可设置机房的表格
|
| | | table.render(goodTblOpts);
|
| | | |
| | | // 设置bad的值
|
| | | for(let i=0, len=goodAndBadHome.bad.length; i<len; i++) {
|
| | | let _bad = goodAndBadHome.bad[i];
|
| | | badTblOpts.data.push(_bad);
|
| | | }
|
| | | |
| | | // 设置不可以设置机房的个数
|
| | | $('#badHomeNum').text(badTblOpts.data.length);
|
| | | // 渲染不可设置机房的表格
|
| | | table.render(badTblOpts);
|
| | | });
|
| | | </script>
|
| | | </body>
|
| | | </html>
|