| | |
| | | </div>
|
| | | </div>
|
| | | <button class="layui-btn layui-btn-sm layui-btn-normal" id="search"><i class="fa fa-search"></i> 查询</button>
|
| | | <button class="layui-btn layui-btn-sm layui-btn-normal" id="replace"><i class="fa fa-reply"></i> 更换</button>
|
| | | <button class="layui-btn layui-btn-sm layui-btn-normal" id="matchGroup"><i class="fa fa-reply"></i> 配组</button>
|
| | | </div>
|
| | |
|
| | | </div>
|
| | |
| | | <script type="text/javascript" src="../src/layui.js"></script>
|
| | | <script type="text/javascript" src="../src/layui.js"></script>
|
| | | <script type="text/javascript" src="../pages/js/mylayui.js"></script>
|
| | | <script type="text/javascript" src="../js/base.js"></script>
|
| | | <script type="text/javascript">
|
| | | layui.use(['layer', 'table', 'form', 'laytpl', 'element'],function() {
|
| | | var layer = layui.layer // 获取layer模块
|
| | | ,table = layui.table // 获取table模块
|
| | | ,form = layui.form
|
| | | ,laytpl = layui.laytpl
|
| | | ,element = layui.element;
|
| | | ,form = layui.form;
|
| | | var parentData = parent.$('#setMatchGroupData').data('data'); // 父容器存储的值
|
| | | // 表格数据配置项
|
| | | var tOptions = {
|
| | | elem: '#groupTbl'
|
| | |
| | |
|
| | | // 点击查询根据查询条件获取电池组的单体列表
|
| | | $('#search').click(function() {
|
| | | var data = [{stationname: 'xxx'},{stationname: 'enen'}];
|
| | | var num = data.length;
|
| | | tOptions.data = data;
|
| | | // 设置分页信息
|
| | | // tOptions.page.layout = ['count', 'prev', 'page', 'next']; //自定义分页布局
|
| | | tOptions.page.limit = num;
|
| | | tOptions.page.limits = [num]
|
| | | // 重新绘制表格
|
| | | table.reload('groupTbl', tOptions);
|
| | | });
|
| | |
|
| | | // 切换筛选条件模块
|
| | | form.on('select(group)', function(data) {
|
| | | var dom = data.elem;
|
| | | var $dom = $(dom);
|
| | | console.log($dom.find('option:selected').data());
|
| | | });
|
| | |
|
| | |
|
| | | // 点击表格工具栏更换
|
| | | table.on('tool(groupTbl)', function(obj) {
|
| | | var event = obj.event;
|
| | | switch(event) {
|
| | | case 'replace':
|
| | | console.log(obj);
|
| | | showReplacePanel();
|
| | | break;
|
| | | var groupData = $('#group').find('option:selected').data('data');
|
| | | // 判断是否已经选中电池组
|
| | | if(groupData) {
|
| | | searchData(groupData);
|
| | | }else {
|
| | | tOptions.data = [];
|
| | | table.render(tOptions);
|
| | | layer.msg('请选择一组电池');
|
| | | }
|
| | | });
|
| | | |
| | | // 查询电池组下所有的单体
|
| | | function searchData(obj) {
|
| | | // 添加等待框
|
| | | var loading = layer.load(0, {shade: [0.1,'#fff']}); //0代表加载的风格,支持0-2
|
| | | var structData = structSearchData(obj);
|
| | | $.ajax({
|
| | | type: 'post',
|
| | | async: true,
|
| | | url:'BattInfAction!serchGroupByInfor',
|
| | | data: 'json='+JSON.stringify(structData),
|
| | | dataType: 'json',
|
| | | success: function(result) {
|
| | | layer.close(loading); // 关闭等待框
|
| | | var rs = JSON.parse(result.result);
|
| | | if(rs.code == 1) {
|
| | | var data = rs.data;
|
| | | var num = 0;
|
| | | var rsData = formaterTblData(data);
|
| | | num = rsData.length;
|
| | | tOptions.data = rsData;
|
| | | // 设置分页信息
|
| | | tOptions.page.layout = ['count', 'prev', 'page', 'next']; //自定义分页布局
|
| | | tOptions.page.limit= num;
|
| | | tOptions.page.limits = [num];
|
| | | }
|
| | | // 重新绘制表格内容
|
| | | table.reload('groupTbl', tOptions);
|
| | | }
|
| | | });
|
| | | }
|
| | | |
| | | // 构造查询对象
|
| | | function structSearchData(data) {
|
| | | var obj = {};
|
| | | obj.StationName1 = '';
|
| | | obj.StationName2 = '';
|
| | | obj.StationName3 = '';
|
| | | obj.BattGroupName = '';
|
| | | obj.BattGroupId = data.BattGroupId;
|
| | | return obj;
|
| | | }
|
| | | |
| | | // 构造生成表格数据的方法
|
| | | function formaterTblData(data) {
|
| | | var rs = []; // 结果集
|
| | | |
| | | // 遍历查询的结果根据查询结果生成指定的格式
|
| | | for(var i=0; i<data.length; i++) {
|
| | | var _data = data[i];
|
| | | var obj = {};
|
| | | obj.stationname = _data.StationName; // 机房名称
|
| | | obj.groupname = _data.BattGroupName; // 电池组名称
|
| | | obj.monvol = _data.MonVolStd; // 标称电压
|
| | | obj.nominalcap = Number(_data.MonCapStd); // 标称容量
|
| | | obj.monnum = '#'+_data.MonNum; // 单体编号
|
| | | obj.brandname = _data.BattProducer; // 品牌
|
| | | // 不显示内容
|
| | | obj.num = _data.MonNum; // 单体编号不加#
|
| | | obj.battgroupid = _data.BattGroupId; // 电池组id
|
| | | obj.stationid = _data.StationId; // 机房id |
| | | rs.push(obj);
|
| | | }
|
| | | |
| | | return rs; // 返回结果集
|
| | | }
|
| | |
|
| | | // 获取模板
|
| | | var index = parent.layer.getFrameIndex(window.name); //获取窗口索引
|
| | |
|
| | | // 点击替换
|
| | | $('#replace').click(function() {
|
| | | // 点击配组
|
| | | $('#matchGroup').click(function() {
|
| | | var checkStatus = table.checkStatus('groupTbl'); //test即为基础参数id对应的值
|
| | | console.log(checkStatus);
|
| | | var data = parent.$('#setMatchGroupData').data();
|
| | | console.log(data);
|
| | | //parent.layer.close(index);
|
| | | var data = checkStatus.data;
|
| | | //console.log(checkStatus.data);
|
| | | if(data.length == 0) {
|
| | | layer.msg('请选择表格中的电池单体!');
|
| | | }else {
|
| | | var _data = data[0];
|
| | | console.log(_data);
|
| | | console.log(parentData);
|
| | | matchGroup(_data, parentData);
|
| | | }
|
| | | });
|
| | |
|
| | | // 根据构造结果进行配组
|
| | | function matchGroup(oData, nData) {
|
| | | var old_cap = oData.nominalcap;
|
| | | var old_vol = oData.monvol;
|
| | | var new_cap = nData.nominalcap;
|
| | | var new_vol = nData.monvol;
|
| | | var isTrue = (old_cap==new_cap && old_vol==new_vol);
|
| | | if(!isTrue) {
|
| | | layer.msg('<span style="font-weight: bold; color: orange">标称容量或标称电压不一致,无法配组!</span>');
|
| | | return;
|
| | | }
|
| | | |
| | | // 符合配组的基本要求
|
| | | parent.layer.confirm('是否确认配组?',{
|
| | | btn: ['确认','取消'] //按钮
|
| | | }, function(){
|
| | | enMatchGroup(oData, nData);
|
| | | }, function(){
|
| | | |
| | | });
|
| | | }
|
| | | |
| | | // 确认配组
|
| | | function enMatchGroup(oData, nData) {
|
| | | var matchGroupData = structMatchGroupData(oData, nData);
|
| | | // 更具构造参数进行配组
|
| | | $.ajax({
|
| | | type: 'post',
|
| | | async: true,
|
| | | url: 'BattInf_RebuildAction!add',
|
| | | data: 'json='+JSON.stringify(matchGroupData),
|
| | | dataType: 'json',
|
| | | success:function(result) {
|
| | | console.log(result);
|
| | | }
|
| | | });
|
| | | parent.layer.close(parent.layer.index);
|
| | | }
|
| | | |
| | | // 构造进行配组的参数
|
| | | function structMatchGroupData(oData, nData) {
|
| | | var obj = {}; // 结果对象
|
| | | var nowTime = new Date().format('yyyy-MM-dd hh:mm:ss'); // 当前时间
|
| | | // 当前电池单体的信息
|
| | | obj.old_stationname = oData.stationname; // 机房名称
|
| | | obj.old_battgroupname = oData.groupname; // 电池组名称
|
| | | obj.old_battproducer = oData.brandname; // 单体的品牌
|
| | | obj.old_stationid = oData.stationid; // 机房id
|
| | | obj.old_battgroupid = oData.battgroupid; // 电池组id
|
| | | obj.old_monnum = oData.num; // 单体编号
|
| | | |
| | | // 被配组单体的信息
|
| | | obj.new_stationname = nData.stationname; // 机房名称
|
| | | obj.new_battgroupname = nData.groupname; // 电池组名称
|
| | | obj.new_battproducer = nData.brandname; // 单体的品牌
|
| | | obj.new_stationid = nData.stationid; // 机房id
|
| | | obj.new_battgroupid = nData.battgroupid; // 电池组id
|
| | | obj.new_monnum = nData.num; // 单体编号
|
| | | |
| | | // 公共信息
|
| | | obj.rebuild_time = nowTime;
|
| | | obj.rebuild_address = '';
|
| | | obj.rebuild_clear_type = 1;
|
| | | console.info(obj);
|
| | | return obj;
|
| | | }
|
| | |
|
| | | // 查询省下拉框
|
| | | searchProvince();
|
| | |
| | | data: "json = "+JSON.stringify(tmp),
|
| | | success: function(result) {
|
| | | var rs = JSON.parse(result.result);
|
| | | var stationid = parentData.stationid; // 获取父元素选中机房的id,用户剔除已经选中的机房
|
| | | var list = []; // option结果集
|
| | | var ele = $('#home'); // 目标select
|
| | | if(rs.code == 1) {
|
| | |
| | | // 遍历查询结果
|
| | | for(var i=0; i<data.length; i++) {
|
| | | var _data = data[i];
|
| | | // 没有与父机房重复
|
| | | if(_data.StationId != stationid) {
|
| | | var _attr = {
|
| | | StationId: _data.StationId
|
| | | };
|
| | | var _tmp = getLayuiSelect(_data.StationName3, _data.StationName, _attr, _data);
|
| | | var _tmp = getLayuiSelect(_data.StationName, _data.StationName, _attr, _data);
|
| | | list.push(_tmp);
|
| | | }
|
| | | }
|
| | | }else {
|
| | | list.push(getLayuiSelect('暂无机房', '', {}, undefined));
|
| | |
| | | var rs = JSON.parse(result.result);
|
| | | var list = []; // option结果集
|
| | | var ele = $('#group'); // 目标select
|
| | | var stationid = parentData.stationid; // 获取父元素选中机房的id,用户剔除已经选中的机房
|
| | | if(rs.code == 1) {
|
| | | var data = rs.data;
|
| | | list.push(getLayuiSelect('请选择电池组', '', {}, undefined));
|
| | | // 遍历查询结果
|
| | | for(var i=0; i<data.length; i++) {
|
| | | var _data = data[i];
|
| | | // 没有与父机房重复
|
| | | if(_data.StationId != stationid) {
|
| | | var _attr = {
|
| | | stationname: _data.StationName,
|
| | | dev_id: _data.FBSDeviceId,
|
| | |
| | | var _tmp = getLayuiSelect(txt, _data.BattGroupId, _attr, _data);
|
| | | list.push(_tmp);
|
| | | }
|
| | | }
|
| | | }else {
|
| | | list.push(getLayuiSelect('暂无机房', '', {}, undefined));
|
| | | }
|