hdw
2018-10-10 3fa965526809b6a236d13dcfc8de024d13b583fe
配组筛选条件
1个文件已修改
260 ■■■■■ 已修改文件
gx_tieta/WebRoot/set-match-group.jsp 260 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
gx_tieta/WebRoot/set-match-group.jsp
@@ -46,28 +46,38 @@
        <div class="whyc-page-layui-content-container">
            <div class="whyc-page-layui-content" style="background-color: pink">
                <div class="tbl-container">
                    <div class="tbl-filter" lay-filter="tblFilter">
                        <div class="layui-form layui-form-pane">
                    <div class="tbl-filter">
                        <div class="layui-form layui-form-pane"  lay-filter="tblFilter">
                            <div class="layui-inline">
                                <div class="layui-input-inline">
                                    <select name="province" id="province">
                                        <option value="">请选择省/直辖市</option>
                                    </select>
                                    <div class="layui-form" lay-filter="provinceFilter">
                                        <select name="province" id="province" lay-filter="province">
                                            <option value="">请选择省/直辖市</option>
                                        </select>
                                    </div>
                                </div>
                                <div class="layui-input-inline">
                                    <select name="city" id="city" lay-filter="city">
                                        <option value="">请选择市/区</option>
                                    </select>
                                    <div class="layui-form" lay-filter="cityFilter">
                                        <select name="city" id="city" lay-filter="city">
                                            <option value="">请选择市/区</option>
                                        </select>
                                    </div>
                                </div>
                                <div class="layui-input-inline">
                                    <select name="home" id="home" lay-search="">
                                        <option value="">请选择机房</option>
                                    </select>
                                    <div class="layui-form" lay-filter="homeFilter">
                                        <select name="home" id="home" lay-search="" lay-filter="home">
                                            <option value="">请选择机房</option>
                                        </select>
                                    </div>
                                </div>
                                <div class="layui-input-inline">
                                    <select name="group" lay-filter="group" lay-search="" id="group">
                                        <option value="">请选择电池组</option>
                                    </select>
                                    <div class="layui-form" lay-filter="groupFilter">
                                        <select name="group" id="group" lay-filter="group" lay-search="">
                                            <option value="">请选择电池组</option>
                                        </select>
                                    </div>
                                </div>
                            </div>
                            <button class="layui-btn layui-btn-sm layui-btn-normal" id="search"><i class="fa fa-search"></i> 查询</button>
@@ -133,14 +143,6 @@
                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;
@@ -156,9 +158,9 @@
                
            }
            
            // 查询省下拉框
            searchProvince();
            // 查询省的列表
            // 查询省
            function searchProvince() {
                // 请求后台查询
                $.ajax({
@@ -168,10 +170,218 @@
                    data: null,
                    dataType: 'json',
                    success:function(result) {
                        var rs = result.result;
                        var rs = JSON.parse(result.result);
                        var list = [];                // option结果集
                        var ele = $('#province');    // 目标select
                        if(rs.code == 1) {
                            var data = rs.data;
                            list.push(getLayuiSelect('请选择省/直辖市', '', {}, {}));
                            // 遍历查询结果
                            for(var i=0; i<data.length; i++) {
                                var _data = data[i];
                                var _tmp = getLayuiSelect(_data, _data, {}, {});
                                list.push(_tmp);
                            }
                        }else {
                            list.push(getLayuiSelect('暂无省/直辖市', '', {}, {}));
                        }
                        // 根据对象数组生成下拉列表
                        createLayuiSelect(ele, list);
                        form.render('select', 'provinceFilter');
                        // 查询市
                        searchCity();
                    }
                });
            }
            // 切换省-市
            form.on('select(province)', function(data) {
                // 查询市
                searchCity();
            });
            // 查询市
            function searchCity() {
                // 构造查询条件
                var tmp = {
                    StationName1: $("#province").val()
                };
                // 根据构造条件查询内容
                $.ajax({
                    type: 'post',
                    async: true,
                    url: 'BattInfAction!serchStationName2',
                    dataType: 'json',
                    data: "json = "+JSON.stringify(tmp),
                    success: function(result) {
                        var rs = JSON.parse(result.result);
                        var list = [];                // option结果集
                        var ele = $('#city');    // 目标select
                        if(rs.code == 1) {
                            var data = rs.data;
                            list.push(getLayuiSelect('请选择市/区', '', {}, {}));
                            // 遍历查询结果
                            for(var i=0; i<data.length; i++) {
                                var _data = data[i];
                                var _tmp = getLayuiSelect(_data.StationName2, _data.StationName2, {}, _data);
                                list.push(_tmp);
                            }
                        }else {
                            list.push(getLayuiSelect('暂无市/区', '', {}, {}));
                        }
                        // 根据对象数组生成下拉列表
                        createLayuiSelect(ele, list);
                        form.render('select', 'cityFilter');
                        // 查询机房
                        searchHome();
                    }
                });
            }
            // 切换市-机房
            form.on('select(city)', function(data) {
                // 查询机房
                searchHome();
            });
            // 查询机房
            function searchHome() {
                // 构造查询条件
                var tmp = {
                    StationName1:$("#province").val(),
                    StationName2:$("#city").val()
                };
                // 根据构造条件查询内容
                $.ajax({
                    type: 'post',
                    async: true,
                    url: 'BattInfAction!serchStationName3',
                    dataType: 'json',
                    data: "json = "+JSON.stringify(tmp),
                    success: function(result) {
                        var rs = JSON.parse(result.result);
                        var list = [];                // option结果集
                        var ele = $('#home');    // 目标select
                        if(rs.code == 1) {
                            var data = rs.data;
                            list.push(getLayuiSelect('请选择机房', '', {StationId: ''}, {}));
                            // 遍历查询结果
                            for(var i=0; i<data.length; i++) {
                                var _data = data[i];
                                var _attr = {
                                    StationId: _data.StationId
                                };
                                var _tmp = getLayuiSelect(_data.StationName3, _data.StationName, _attr, _data);
                                list.push(_tmp);
                            }
                        }else {
                            list.push(getLayuiSelect('暂无机房', '', {}, {}));
                        }
                        // 根据对象数组生成下拉列表
                        createLayuiSelect(ele, list);
                        form.render('select', 'homeFilter');
                        // 查询机房
                        searchGroup();
                    }
                });
            }
            // 切换机房-电池组
            form.on('select(home)', function(data) {
                // 查询电池组
                searchGroup();
            });
            // 查询机房
            function searchGroup() {
                // 构造查询条件
                var tmp = {
                    StationName1:$("#province").val(),
                    StationName2:$("#city").val(),
                    StationName: $("#home").val(),
                    StationId: $("#home").find('option:selected').attr('stationid')
                };
                // 根据构造条件查询内容
                $.ajax({
                    type: 'post',
                    async: true,
                    url: 'BattInfAction!serchBattByStation',
                    dataType: 'json',
                    data: "json = "+JSON.stringify(tmp),
                    success: function(result) {
                        var rs = JSON.parse(result.result);
                        var list = [];                // option结果集
                        var ele = $('#group');        // 目标select
                        if(rs.code == 1) {
                            var data = rs.data;
                            list.push(getLayuiSelect('请选择电池组', '0', {}, {}));
                            // 遍历查询结果
                            for(var i=0; i<data.length; i++) {
                                var _data = data[i];
                                var _attr = {
                                    stationname: _data.StationName,
                                    dev_id: _data.FBSDeviceId,
                                    batt_num: _data.GroupIndexInFBSDevice+1
                                };
                                var txt = _data.BattGroupName+'(共'+_data.MonCount+"<s:text name='Section'/>"+')';
                                var _tmp = getLayuiSelect(txt, _data.BattGroupId, _attr, _data);
                                list.push(_tmp);
                            }
                        }else {
                            list.push(getLayuiSelect('暂无机房', '', {}, {}));
                        }
                        // 根据对象数组生成下拉列表
                        createLayuiSelect(ele, list);
                        form.render('select', 'groupFilter');
                    }
                });
            }
            // 生成特定的select列表
            function createLayuiSelect(ele, list) {
                // 清空内容
                ele.text('');
                // 遍历list结果集生成下拉
                for(var i=0; i<list.length; i++) {
                    var _list = list[i];
                    var option = $('<option></option>');    // option元素
                    // 设置option的文本/属性值/data值
                    option.text(_list.txt);
                    option.val(_list.val);
                    option.data('data', _list.data);
                    Object.keys(_list.attr).forEach(function(key){
                        var val = _list.attr[key];
                        option.attr(key, val);
                    });
                    ele.append(option);
                }
            }
            // 构造生成select列表的对象数组
            function getLayuiSelect(txt, val, attr, data) {
                var obj = {
                    val: '',
                    txt: '',
                    attr: {},
                    data: {}
                };
                // 设置内容的值
                obj.val = val;        // option的value值
                obj.txt = txt;        // option的文本值
                obj.attr = attr;    // option的自定义的属性
                obj.data = data;    // option的data值
                // 返回构造的对象
                return obj;
            }
        });
    </script>
  </body>