index.html
<div class="row"> <div class="col-md-3 hidden-xs hidden-sm" id="categorys" style="padding-right:0;"> <div class="panel panel-default panel-intro"> <div class="panel-heading"> <div class="panel-lead"> <em>{:__('成员')}</em> </div> </div> <div class="panel-body"> <div id="categorytree"> </div> </div> </div> </div> <div class="col-xs-12 col-md-9" id="kbs"> <div class="panel panel-default panel-intro"> <div class="panel-heading"> {:build_heading(null,FALSE)} <ul class="nav nav-tabs" data-field="status"> <li class="{:$Think.get.status === null ? 'active' : ''}"><a href="#t-all" data-value="" data-toggle="tab">{:__('All')}</a></li> {foreach name="statusList" item="vo"} <li class="{:$Think.get.status === (string)$key ? 'active' : ''}"><a href="#t-{$key}" data-value="{$key}" data-toggle="tab">{$vo}</a></li> {/foreach} </ul> </div> <div class="panel-body"> <div id="myTabContent" class="tab-content"> <div class="tab-pane fade active in" id="one"> <div class="widget-body no-padding"> <div id="toolbar" class="toolbar"> <a href="javascript:;" class="btn btn-primary btn-refresh" title="{:__('Refresh')}" ><i class="fa fa-refresh"></i> </a> <!-- <a href="javascript:;" class="btn btn-success btn-add {:$auth->check('workspace/iteration/add')?'':'hide'}" title="{:__('Add')}" ><i class="fa fa-plus"></i> {:__('Add')}</a>--> <!-- <a href="javascript:;" class="btn btn-success btn-edit btn-disabled disabled {:$auth->check('workspace/iteration/edit')?'':'hide'}" title="{:__('Edit')}" ><i class="fa fa-pencil"></i> {:__('Edit')}</a>--> <!-- <a href="javascript:;" class="btn btn-danger btn-del btn-disabled disabled {:$auth->check('workspace/iteration/del')?'':'hide'}" title="{:__('Delete')}" ><i class="fa fa-trash"></i> {:__('Delete')}</a>--> <!-- <a href="javascript:;" class="btn btn-danger btn-import {:$auth->check('workspace/iteration/import')?'':'hide'}" title="{:__('Import')}" id="btn-import-file" data-url="ajax/upload" data-mimetype="csv,xls,xlsx" data-multiple="false"><i class="fa fa-upload"></i> {:__('Import')}</a>--> <!-- <div class="dropdown btn-group {:$auth->check('workspace/iteration/multi')?'':'hide'}">--> <!-- <a class="btn btn-primary btn-more dropdown-toggle btn-disabled disabled" data-toggle="dropdown"><i class="fa fa-cog"></i> {:__('More')}</a>--> <!-- <ul class="dropdown-menu text-left" role="menu">--> <!-- <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=normal"><i class="fa fa-eye"></i> {:__('Set to normal')}</a></li>--> <!-- <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=hidden"><i class="fa fa-eye-slash"></i> {:__('Set to hidden')}</a></li>--> <!-- </ul>--> <!-- </div>--> <!-- <a class="btn btn-success btn-recyclebin btn-dialog {:$auth->check('workspace/iteration/recyclebin')?'':'hide'}" href="workspace/iteration/recyclebin" title="{:__('Recycle bin')}"><i class="fa fa-recycle"></i> {:__('Recycle bin')}</a>--> <a class="btn btn-success btn-change btn-start-plan" data-params="action=start" data-url="workspace/plan/allstart" href="javascript:;"><i class="fa fa-refresh"></i> 更新所有发布计划</a> </div> <table id="table" class="table table-striped table-bordered table-hover table-nowrap" data-show-export="false" data-show-toggle="false" data-show-columns="false" data-operate-edit="" data-operate-del="" width="100%"> </table> </div> </div> </div> </div> </div> </div> </div>
JS:
require(['jstree'], function () { console.log('***********'); console.log(Config.adminList); console.log('***********'); //全选和展开 $('#categorytree').on("changed.jstree", function (e, data) { if (data.selected <= 0) { $(".commonsearch-table input[name=admin_id]").val(''); } else { $(".commonsearch-table input[name=admin_id]").val(data.selected); } table.bootstrapTable('refresh', {}); return false; }); $('#categorytree').jstree({ "types": { "list": { "icon": "fa fa-user" } }, 'plugins': ["types"], "core": { 'check_callback': true, "data": Config.adminList } }); });
controller:
//获取所有管理员 $adminModel = new appadminmodelAdmin(); $admin = $adminModel->where(array("status"=>'normal','id'=>array('not in', '1')))->select(); foreach ($admin as $key=>$value) { //开发中项目 $normal_count = $this->getWorkCount($value['id'],'open'); $done_count = $this->getWorkCount($value['id'],'done'); $admin[$key]['nickname'] = $value['nickname'].'(开发中:'.$normal_count.' 已完成:'.$done_count.')'; } $adminList = []; $adminList[] = [ 'id' => 0, 'parent' => '#', 'text' => '全部', 'state' => ['opened' => true, 'disabled' => false], 'type' => 'list' ]; foreach ($admin as $index => $category) { $adminList[] = [ 'id' => $category->id, 'parent' => '#', 'text' => $category->nickname, 'state' => ['opened' => true, 'disabled' => false], 'type' => 'list' ]; } $this->assignconfig('adminList', $adminList);
![](https://img2020.cnblogs.com/blog/771227/202108/771227-20210813173118940-1012280250.png)