176 lines
7.6 KiB
HTML
176 lines
7.6 KiB
HTML
{extend name="$_admin_base_layout" /}
|
||
|
||
{block name="plugins-css"}
|
||
<link href="__LIBS__/jstree/themes/default/style.min.css" rel="stylesheet" />
|
||
{/block}
|
||
|
||
{block name="content"}
|
||
{notempty name="page_tips"}
|
||
<div class="alert alert-{$tips_type|default='info'} alert-dismissable">
|
||
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
||
<p>{$page_tips|raw|default=''}</p>
|
||
</div>
|
||
{/notempty}
|
||
<div class="row">
|
||
<div class="col-md-12">
|
||
<div class="block">
|
||
{notempty name="tab_nav.tab_list"}
|
||
<ul class="nav nav-tabs">
|
||
{volist name="tab_nav['tab_list']" id="vo"}
|
||
<li {eq name="tab_nav.curr_tab" value="$key"}class="active"{/eq}>
|
||
<a href="{$vo.url}">{$vo.title}</a>
|
||
</li>
|
||
{/volist}
|
||
<li class="pull-right">
|
||
<ul class="block-options push-10-t push-10-r">
|
||
<li>
|
||
<button type="button" data-toggle="block-option" data-action="fullscreen_toggle"></button>
|
||
</li>
|
||
<li>
|
||
<button type="button" data-toggle="block-option" data-action="refresh_toggle" data-action-mode="demo"><i class="si si-refresh"></i></button>
|
||
</li>
|
||
<li>
|
||
<button type="button" data-toggle="block-option" data-action="content_toggle"></button>
|
||
</li>
|
||
<li>
|
||
<button type="button" data-toggle="block-option" data-action="close"><i class="si si-close"></i></button>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
{else/}
|
||
<div class="block-header bg-gray-lighter">
|
||
<ul class="block-options">
|
||
<li>
|
||
<button type="button" data-toggle="block-option" data-action="fullscreen_toggle"></button>
|
||
</li>
|
||
<li>
|
||
<button type="button" data-toggle="block-option" data-action="refresh_toggle" data-action-mode="demo"><i class="si si-refresh"></i></button>
|
||
</li>
|
||
<li>
|
||
<button type="button" data-toggle="block-option" data-action="content_toggle"></button>
|
||
</li>
|
||
<li>
|
||
<button type="button" data-toggle="block-option" data-action="close"><i class="si si-close"></i></button>
|
||
</li>
|
||
</ul>
|
||
<h3 class="block-title">{$page_title}</h3>
|
||
</div>
|
||
{/notempty}
|
||
|
||
<form name="form-builder" id="form" class="form-horizontal form-builder">
|
||
<input type="hidden" name="uid" value="{:input('param.uid', '')}">
|
||
<input type="hidden" name="tab_name" value="{$tab_name|default=''}">
|
||
<div class="block-content tab-content">
|
||
<div class="tab-pane fade in active push-20">
|
||
{notempty name="access"}
|
||
<div class="row data-table-toolbar">
|
||
<div class="col-sm-12">
|
||
<div class="toolbar-btn-action">
|
||
<button title="全选" type="button" class="btn btn-info" id="check-all"><i class="fa fa-check-circle-o"></i> 全选</button>
|
||
<button title="取消全选" type="button" class="btn btn-danger" id="uncheck-all"><i class="fa fa-ban"></i> 取消全选</button>
|
||
<button title="展开所有节点" type="button" class="btn btn-success" id="expand-all"><i class="fa fa-plus"></i> 展开所有节点</button>
|
||
<button title="收起所有节点" type="button" class="btn btn-warning" id="collapse-all"><i class="fa fa-minus"></i> 收起所有节点</button>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="block block-bordered">
|
||
<ul class="nav nav-tabs">
|
||
{volist name="access" id="vo"}
|
||
<li {eq name="key" value="$tab"}class="active"{/eq}>
|
||
<a href="{$vo.url|default=''}">{$vo.title|default=''}</a>
|
||
</li>
|
||
{/volist}
|
||
</ul>
|
||
<div class="block-content tab-content">
|
||
<div class="tab-pane active" id="btabs-static-home">
|
||
<div id="jstree" class="push">{$nodes|raw|default=''}</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
{else/}
|
||
<div class="form-empty">
|
||
<p class="text-center text-muted empty-info">
|
||
<i class="fa fa-database"></i> 暂无授权数据<br>
|
||
</p>
|
||
</div>
|
||
{/notempty}
|
||
</div>
|
||
<div class="push-20">
|
||
{notempty name="access"}
|
||
<button class="btn btn-minw btn-primary" type="submit">
|
||
确定
|
||
</button>
|
||
{/notempty}
|
||
<a class="btn btn-default" href="{:url('index')}">
|
||
返回
|
||
</a>
|
||
</div>
|
||
</div>
|
||
</form>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
{/block}
|
||
|
||
{block name="script"}
|
||
<script src="__LIBS__/jstree/jstree.min.js"></script>
|
||
<script>
|
||
$(document).ready(function(){
|
||
$('#jstree').jstree({
|
||
plugins: ["checkbox", "search"],
|
||
"checkbox" : {
|
||
"keep_selected_style" : false,
|
||
"three_state" : false,
|
||
"cascade" : 'down+up'
|
||
},
|
||
"search" : {
|
||
'show_only_matches' : true,
|
||
'show_only_matches_children' : true
|
||
},
|
||
"core" : {
|
||
"themes" : {
|
||
'icons' : false
|
||
}
|
||
}
|
||
});
|
||
|
||
// 全选
|
||
$('#check-all').click(function () {
|
||
$('#jstree').jstree(true).check_all();
|
||
});
|
||
// 取消全选
|
||
$('#uncheck-all').click(function () {
|
||
$('#jstree').jstree(true).uncheck_all();
|
||
});
|
||
// 展开所有
|
||
$('#expand-all').click(function () {
|
||
$('#jstree').jstree(true).open_all();
|
||
});
|
||
// 收起所有
|
||
$('#collapse-all').click(function () {
|
||
$('#jstree').jstree(true).close_all();
|
||
});
|
||
|
||
// 提交表单
|
||
$('#form').submit(function () {
|
||
var nodes = $('#jstree').jstree(true).get_checked();
|
||
|
||
$.post('{:url("access", ["module" => $module, "uid" => $uid, "tag" => $tab])}', {nodes:nodes}).success(function (res) {
|
||
if (res.code) {
|
||
Dolphin.notify(res.msg, 'success');
|
||
setTimeout(function () {
|
||
location.href = res.url;
|
||
}, 1500);
|
||
} else {
|
||
Dolphin.notify(res.msg, 'danger');
|
||
}
|
||
}).fail(function () {
|
||
Dolphin.notify('服务器发生错误~', 'danger');
|
||
});
|
||
return false;
|
||
});
|
||
});
|
||
</script>
|
||
{/block}
|