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 \app\admin\model\Admin();
$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);
![]()