123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204 |
- {extend name="layout" /}
- {block name="plugins-css"}
- <link href="__LIBS__/jquery-nestable/jquery.nestable.css" rel="stylesheet" type="text/css" />
- {/block}
- {block name="content"}
- <div class="alert alert-warning alert-dismissable">
- <button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
- <p><strong><i class="fa fa-fw fa-info-circle"></i> 提示:</strong>按住表头可拖动节点,调整后点击【保存节点】。</p>
- </div>
- <div class="row">
- <div class="col-md-12">
- <div class="block">
- {notempty name="tab_nav"}
- <ul class="nav nav-tabs">
- {volist name="tab_nav['tab_list']" id="tab"}
- <li {eq name="tab_nav.curr_tab" value="$key"}class="active"{/eq}>
- <a href="{$tab.url}">{$tab.title}</a>
- </li>
- {/volist}
- <li {eq name="tab_nav.curr_tab" value="module-sort"}class="active"{/eq}>
- <a href="{:url('', ['group' => 'module-sort'])}">模块排序</a>
- </li>
- <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|raw}</h3>
- </div>
- {/notempty}
- <div class="block-content tab-content">
- <div class="tab-pane active">
- {notempty name="menus"}
- <div class="row data-table-toolbar">
- <div class="col-sm-12">
- <form action="{$Request.url}" method="get">
- <div class="toolbar-btn-action">
- <a title="新增" class="btn btn-primary" href="{:url('add', ['module' => $Request.param.group])}"><i class="fa fa-plus-circle"></i> 新增</a>
- <button title="保存" type="button" class="btn btn-default disabled" id="save" disabled><i class="fa fa-check-circle-o"></i> 保存节点</button>
- <button title="隐藏禁用节点" type="button" class="btn btn-danger" id="hide_disable"><i class="fa fa-eye-slash"></i> 隐藏禁用节点</button>
- <button title="显示禁用节点" type="button" class="btn btn-info" id="show_disable"><i class="fa fa-eye"></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>
- <span class="form-inline">
- <input class="form-control" type="text" name="max" value="{$Request.get.max|default=''}" placeholder="显示层数">
- </span>
- </div>
- </form>
- </div>
- </div>
- <div class="dd" id="menu_list">
- <ol class="dd-list">{$menus|raw}</ol>
- </div>
- {/notempty}
- {notempty name="modules"}
- <form action="{:url('')}" method="post" name="sort-form" class="sort-form">
- <button title="保存" type="submit" class="btn btn-success push-10 ajax-post" target-form="sort-form">保存排序</button>
- <div class="row">
- <div class="col-md-12">
- <div id="sortable" class="connectedSortable push-20">
- {volist name="modules" id="module"}
- <div class="sortable-item pull-left">
- <input type="hidden" name="sort[]" value="{$key}">
- <i class="{$module.icon}"></i> {$module.title}
- </div>
- {/volist}
- </div>
- </div>
- </div>
- </form>
- {/notempty}
- </div>
- </div>
- </div>
- </div>
- </div>
- {/block}
- {block name="script"}
- <script src="__LIBS__/jquery-nestable/jquery.nestable.js"></script>
- <script src="__LIBS__/jquery-ui/jquery-ui.min.js"></script>
- <script>
- $(document).ready(function(){
- // 模块拖拽
- $( "#sortable" ).sortable({
- connectWith: ".connectedSortable"
- }).disableSelection();
- // 保存节点
- $('#save').click(function(){
- Dolphin.loading();
- $.post("{:url('save')}", {menus: $('#menu_list').nestable('serialize')}, function(data) {
- Dolphin.loading('hide');
- if (data.code) {
- $('#save').removeClass('btn-success').addClass('btn-default disabled');
- Dolphin.notify(data.msg, 'success');
- } else {
- Dolphin.notify(data.msg, 'danger');
- }
- });
- });
- // 初始化节点拖拽
- $('#menu_list').nestable({maxDepth:4}).on('change', function(){
- $('#save').removeAttr("disabled").removeClass('btn-default disabled').addClass('btn-success');
- });
- // 隐藏禁用节点
- $('#hide_disable').click(function(){
- $('.dd-disable').hide();
- });
- // 显示禁用节点
- $('#show_disable').click(function(){
- $('.dd-disable').show();
- });
- // 展开所有节点
- $('#expand-all').click(function(){
- $('#menu_list').nestable('expandAll');
- });
- // 收起所有节点
- $('#collapse-all').click(function(){
- $('#menu_list').nestable('collapseAll');
- });
- // 禁用节点
- $('.dd3-content').delegate('.disable', 'click', function(){
- var self = $(this);
- var ids = self.data('ids');
- var ajax_url = '{:url("disable", ["table" => "admin_menu"])}';
- Dolphin.loading();
- $.post(ajax_url, {ids:ids}, function(data) {
- Dolphin.loading('hide');
- if (data.code) {
- self.attr('data-original-title', '启用').removeClass('disable').addClass('enable')
- .children().removeClass('fa-ban').addClass('fa-check-circle-o')
- .closest('.dd-item')
- .addClass('dd-disable');
- } else {
- Dolphin.notify(data.msg, 'danger');
- }
- });
- return false;
- });
- // 启用节点
- $('.dd3-content').delegate('.enable', 'click', function(){
- var self = $(this);
- var ids = self.data('ids');
- var ajax_url = '{:url("enable", ["table" => "admin_menu"])}';
- Dolphin.loading();
- $.post(ajax_url, {ids:ids}, function(data) {
- Dolphin.loading('hide');
- if (data.code) {
- self.attr('data-original-title', '禁用').removeClass('enable').addClass('disable')
- .children().removeClass('fa-check-circle-o').addClass('fa-ban')
- .closest('.dd-item')
- .removeClass('dd-disable');
- } else {
- Dolphin.notify(data.msg, 'danger');
- }
- });
- return false;
- });
- });
- </script>
- {/block}
|