2017.10.25 json与树形、多选下拉框 和 多种条件查询

分享人:李俊


1. json与树形

为创建树形菜单如图:

image.png

结合json实现方法:

 $scope.menuList = [{ name: "英语资质", code: 1, statu: 1 },
                           { name: "汉语资质", code: 2, statu: 1 },
                           { name: "理论考试", code: 3, statu: 1 },
                           { name: "运行资质", code: 4, statu: 1 },        
                           { name: "教员资质", code: 5, statu: 1 },
                           { name: "检查员资质", code: 6, statu: 1 },
                           { name: "人员监控", code: 8, statu: 1 },
        ];
<div class="panel panel-default " ng-repeat="item
in menuList track by $index" ng-show="item.statu==1">
                       
    <div class="panel-heading
    monitor-banner" ng-click="showQulify=!showQulify;itemSearch(item)">
                               
        <h4 class="panel-title">
                                       
            <a data-toggle="collapse">
                                                {{item.name}}                            
            </a>
                                   
        </h4>
                           
    </div>
                       
    <div ng-hide="!showQulify">
                               
        <div class="">
                                        
            <ul class="list-group" style="margin-bottom:0">
                                               
                <li class="list-group-item" ng-click="menuItemSearch(monitorMenuItem);"
                ng-class="{'bg-light
                dker':folderClick==monitorMenuItem}" style="cursor: pointer;text-indent:
                20px;"                                     ng-repeat="monitorMenuItem
                in monitorMenuList track by $index" ng-show="item.statu==1&&monitorMenuItem.MM_MonitorMenu==item.code">
                                                       
                    <a>
                        {{monitorMenuItem.MM_MonitorItemName}}
                    </a>                                                   
                </li>                                          
            </ul>                                  
        </div>                         
    </div>                 
</div>

2. 下拉:

初状态:

image.png

点击后:

image.png

能多选:

image.png

方法:

<div class="input-group">                      
    <span class="input-group-addon">
        部门
    </span>                    
    <select ui-jq="chosen" class="form-control" ng-model="searchPara.OI_Dept"
    multiple>                              
        <optgroup ng-repeat="item
        in onelist track by $index" label={{item.BD_DepartmentName}}>                                       
            <option ng-repeat="it
            in getTwoList(item.BD_DepartmentCode) track by $index" value="{{it.BD_DepartmentCode}}">
                {{it.BD_DepartmentName}}
            </option>                                  
        </optgroup>                        
    </select>                  
</div>
getParentDepartmentList();
       $scope.onelist = [];
       $scope.twolist = [];
       $scope.list = [];
       $scope.listItem = [];       
//获取部门信息       
function getParentDepartmentList() {
               $scope.searchPara = {};
               $scope.searchPara.BD_DepartmentCode = "";
               $scope.page = new SearchPageModel();
               $scope.page.OnePageCount = 10000;
               laQtBiBaseDepartmentService.GetAllBaseDepartmentList($scope.searchPara, $scope.page,
    function(data, success) {                      
        if (!success) {
                               alert(data);                            
            return false;                          
        }
                       $scope.list = data.List;
                       getOneList();                   
    });        
}       
function getOneList() {            
    var t = 0;             
    for (var index = 0; index < $scope.list.length; index++) {                     
        if ($scope.list[index].BD_ParentCode == "GJFL") {
                               $scope.onelist[t] = $scope.list[index];
                               t++;                        
        }                  
    }          
}
       $scope.getTwoList = function(code) {
               $scope.twolist = [];
               $scope.threelist = [];              
    var t = 0;             
    for (var index = 0; index < $scope.list.length; index++) {                     
        if ($scope.list[index].BD_DepartmentCode == code) {
                               $scope.threelist[t] = $scope.list[index];
                               t++;                        
        }                      
        if ($scope.list[index].BD_ParentCode == code) {
                               $scope.twolist[t] = $scope.list[index];
                               t++;                        
        }                  
    }
                return $scope.listItem.concat($scope.twolist, $scope.threelist);           
}

3. 多种条件查询:

当点击工作证时,将外籍合同、登记证、外籍工作证数据均查询,外籍合同、登记证、外籍工作证分别对应一个code值,而“工作证”是自行添加的,在Model中无该字段,即点击“工作证”就是想给查询条件的Code值赋予“外籍合同或登记证或外籍工作证”

image.png

方法:

1)前端:

 $scope.searchPara.MR_RefCode = "LDWK,BORD,LDHT";

2)后台查询方法:

if (!string.IsNullOrEmpty(qtMrMonitorRemind.MR_RefCode))
            {
    sidb.AddSearch(EQtMrMonitorRemind.MR_RefCode, DbSearchTypeEnum.In, qtMrMonitorRemind.MR_RefCode, DbUnionCondition.And);
           
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,972评论 19 139
  • 一 据说门房的老李头六十七八岁了,以前和公司的苟经理一个厂,年轻时一次在城河游泳时把溺水的苟经理大儿子给托上了岸,...
    西安吴墨阅读 14,346评论 3 2
  • 宅,性格多变,不相信人,没安全感,听歌会喜欢单曲循环,喜欢黑暗的东西,有时却又突然觉得自己要是阳光大方点多好。 想...
    瑷麟阅读 3,359评论 0 1
  • 为什么,会突然的就很难过,为什么,会突然的就想哭呢? 答案是:不知道,或者无解。 分享某些看过的有点感触的...
    MUA胡说八道阅读 4,655评论 5 2

友情链接更多精彩内容