209 lines
11 KiB
HTML
209 lines
11 KiB
HTML
{template "header.html"}
|
|
|
|
{php echo \Phpcmf\Service::L('Field')->get('select')->get_select_search_code();}
|
|
<div class="right-card-box">
|
|
|
|
<form class="form-horizontal" role="form" id="myform">
|
|
{dr_form_hidden()}
|
|
<div class="bootstrap-table2">
|
|
<div id="toolbar" class="toolbar">
|
|
{if $ci->_is_admin_auth('del')}
|
|
<label><button type="button" onclick="dr_ajax_option('{dr_url('menu/del')}', '{dr_lang('你确定要删除它们吗?')}', 1)" class="btn red btn-sm"> <i class="fa fa-trash"></i> {dr_lang('删除')}</button>
|
|
</label>
|
|
{/if}
|
|
{if $ci->_is_admin_auth('edit') && dr_count($ci->site_info) > 1}
|
|
<label style="margin-left: 20px; margin-right: 5px;"><button type="button" onclick="dr_ajax_option('{dr_url('menu/site_add')}', '{dr_lang('你确定要这样操作吗?')}', 1)" class="btn blue btn-sm"> <i class="fa fa-edit"></i> {dr_lang('批量划分项目权限')}</button></label>
|
|
<label style="min-width: 200px;">
|
|
<select name="siteid[]" class="bs-select form-control" multiple="multiple" data-actions-box="true">
|
|
{loop $ci->site_info $sid $t}
|
|
{if $sid > 1}
|
|
<option value="{$t.SITE_ID}">{$t.SITE_NAME}</option>
|
|
{/if}
|
|
{/loop}
|
|
</select>
|
|
</label>
|
|
{/if}
|
|
</div>
|
|
</div>
|
|
<div class="clearfix hrb10"></div>
|
|
<div class="table-scrollable deltable-clearfix">
|
|
<table class="table table-striped table-bordered table-bordered table-hover table-checkable dataTable">
|
|
<thead>
|
|
<tr class="heading">
|
|
{if $ci->_is_admin_auth('del')}
|
|
<th class="myselect">
|
|
<label class="mt-table mt-table mt-checkbox mt-checkbox-single mt-checkbox-outline">
|
|
<input type="checkbox" class="group-checkable" data-set=".checkboxes" />
|
|
<span></span>
|
|
</label>
|
|
</th>
|
|
{/if}
|
|
<th class="hidden-mobile" width="70" style="text-align:center"> {dr_lang('排序')} </th>
|
|
<th class="hidden-mobile" width="60" style="text-align:center"> {dr_lang('可用')} </th>
|
|
<th> {dr_lang('名称')} </th>
|
|
{if dr_count($ci->site_info) > 1}
|
|
<th width="100">
|
|
{if $ci->_is_admin_auth('add')}<a href="javascript:dr_iframe('add', '{dr_url('menu/add', ['pid'=>0])}', '600px', '500px');" class="btn btn-xs blue"> <i class="fa fa-plus"></i> {dr_lang('添加')} </a>{/if}
|
|
</th>
|
|
<th> {dr_lang('项目权限')} </th>
|
|
{else}
|
|
<th>
|
|
{if $ci->_is_admin_auth('add')}<a href="javascript:dr_iframe('add', '{dr_url('menu/add', ['pid'=>0])}');" class="btn btn-xs blue"> <i class="fa fa-plus"></i> {dr_lang('添加')} </a>{/if}
|
|
</th>
|
|
{/if}
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
{php $top=[]; $l2_has_child=[];}
|
|
{loop $data $t}
|
|
{php $t.pid == 0 && $top[] = $t.id;}
|
|
{php !dr_in_array($t.pid, (array)$top) && $t.pid && $l2_has_child[$t.pid]=1;}
|
|
{/loop}
|
|
{loop $data $t}
|
|
{php $t.site = dr_string2array($t.site);}
|
|
{php $menu_level = $t.pid == 0 ? 1 : (dr_in_array($t.pid, (array)$top) ? 2 : 3);}
|
|
{php $menu_top_id = $menu_level == 1 ? $t.id : ($menu_level == 2 ? $t.pid : $t.tid);}
|
|
{php $has_l3_child = $menu_level == 2 && !empty($l2_has_child[$t.id]);}
|
|
<tr class="odd gradeX {if $menu_level==1}menu-row-top menu-row-l1{elseif $menu_level==2}menu-row-child menu-row-l2 menu-row-top-{$menu_top_id}{else}menu-row-child menu-row-l3 menu-row-top-{$menu_top_id} menu-row-parent-{$t.pid}{/if}" id="dr_row_{$t.id}" data-top-id="{$menu_top_id}" data-level="{$menu_level}" data-pid="{$t.pid}">
|
|
{if $ci->_is_admin_auth('del')}
|
|
<td class="myselect">
|
|
<label class="mt-table mt-table mt-checkbox mt-checkbox-single mt-checkbox-outline">
|
|
<input type="checkbox" class="checkboxes checkboxes{$t.tid} checkboxes{$t.pid} group-checkable" data-set=".checkboxes{$t.id}" name="ids[]" value="{$t.id}" />
|
|
<span></span>
|
|
</label>
|
|
</td>
|
|
{/if}
|
|
<td class="hidden-mobile" style="text-align:center"> <input type="text" onblur="dr_ajax_save(this.value, '{dr_url('menu/save_edit', ['id'=>$t.id])}', 'displayorder')" value="{$t.displayorder}" class="displayorder form-control input-sm input-inline input-mini"> </td>
|
|
<td class="hidden-mobile" style="text-align:center">
|
|
<a href="javascript:;" onclick="dr_ajax_open_close(this, '{dr_url('menu/use_edit', ['id'=>$t.id])}', 1);" class="badge badge-{if $t.hidden}no{else}yes{/if}"><i class="fa fa-{if $t.hidden}times{else}check{/if}"></i></a>
|
|
</td>
|
|
<td>
|
|
{if $menu_level==1}
|
|
<a href="javascript:;" class="menu-tree-toggle menu-tree-toggle-l1" data-top-id="{$t.id}"><i class="fa fa-caret-right"></i></a>
|
|
{elseif $has_l3_child}
|
|
<a href="javascript:;" class="menu-tree-toggle menu-tree-toggle-l2" data-parent-id="{$t.id}"><i class="fa fa-caret-right"></i></a>
|
|
{/if}
|
|
{$t.spacer} <a href="javascript:dr_iframe('edit', '{dr_url('menu/edit', ['id'=>$t.id])}', '600px');"><i class="{$t.icon}"></i> {dr_lang($t.name)} {if $t.uri} - {$t.uri}{/if}</a>
|
|
</td>
|
|
<td>
|
|
{if $ci->_is_admin_auth('add') && ($t.pid == 0 || dr_in_array($t.pid, (array)$top))}<a href="javascript:dr_iframe('add', '{dr_url('menu/add', ['pid'=>$t.id])}', '600px', '{if !in_array($t.pid, $top)}500px{/if}');" class="btn btn-xs blue"> <i class="fa fa-plus"></i> {dr_lang('添加')} </a>{/if}
|
|
</td>
|
|
{if dr_count($ci->site_info) > 1}
|
|
<td>
|
|
<label><a title="{$ci->site_info[1]['SITE_NAME']}" class="btn btn-xs dark" style="background-color:#3fa9e4;border-color:#3fa9e4"> {dr_lang('主站')} </a></label>
|
|
{loop $t.site $b $sid}
|
|
{if $sid > 1}
|
|
<label id="dr_site_{$t.id}_{$sid}"><a href="javascript:dr_site_delete('{$t.id}', '{$sid}');" title="{$ci->site_info[$sid]['SITE_NAME']}" class="btn btn-xs {if $color[$b]}{$color[$b]}{else}default{/if}">{dr_strcut($ci->site_info[$sid]['SITE_NAME'], 4)} <i class="fa fa-times"></i> </a></label>
|
|
{/if}
|
|
{/loop}
|
|
</td>
|
|
{/if}
|
|
</tr>
|
|
{/loop}
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
|
|
</form>
|
|
</div>
|
|
<style>
|
|
.menu-tree-toggle { display: inline-block; width: 14px; margin-right: 2px; color: #666; text-decoration: none; text-align: center; }
|
|
.menu-tree-toggle:hover { color: #333; }
|
|
.menu-row-l2 td { background-color: #fafbfc; }
|
|
.menu-row-l3 td { background-color: #f5f7fa; }
|
|
</style>
|
|
<script type="text/javascript">
|
|
function dr_menu_tree_icon($toggle, open) {
|
|
var $icon = $toggle.find('i');
|
|
if (open) {
|
|
$icon.removeClass('fa-caret-right').addClass('fa-caret-down');
|
|
} else {
|
|
$icon.removeClass('fa-caret-down').addClass('fa-caret-right');
|
|
}
|
|
}
|
|
|
|
function dr_menu_tree_init() {
|
|
$('.menu-row-l2, .menu-row-l3').hide();
|
|
$('.menu-row-top').each(function () {
|
|
var topId = $(this).find('.menu-tree-toggle-l1').data('top-id');
|
|
if (!$('.menu-row-l2.menu-row-top-' + topId).length) {
|
|
$(this).find('.menu-tree-toggle-l1').hide();
|
|
}
|
|
});
|
|
$('.menu-row-l2').each(function () {
|
|
var parentId = $(this).attr('id').replace('dr_row_', '');
|
|
if (!$('.menu-row-l3.menu-row-parent-' + parentId).length) {
|
|
$(this).find('.menu-tree-toggle-l2').hide();
|
|
}
|
|
});
|
|
}
|
|
|
|
$(function () {
|
|
dr_menu_tree_init();
|
|
|
|
$(document).on('click', '.menu-tree-toggle-l1', function (e) {
|
|
e.preventDefault();
|
|
e.stopPropagation();
|
|
var topId = $(this).data('top-id');
|
|
var $icon = $(this).find('i');
|
|
var $l2 = $('.menu-row-l2.menu-row-top-' + topId);
|
|
var $l3 = $('.menu-row-l3.menu-row-top-' + topId);
|
|
if ($icon.hasClass('fa-caret-down')) {
|
|
dr_menu_tree_icon($(this), 0);
|
|
$l2.hide();
|
|
$l3.hide();
|
|
$l2.find('.menu-tree-toggle-l2 i').removeClass('fa-caret-down').addClass('fa-caret-right');
|
|
} else {
|
|
dr_menu_tree_icon($(this), 1);
|
|
$l2.show();
|
|
$l3.hide();
|
|
$l2.find('.menu-tree-toggle-l2 i').removeClass('fa-caret-down').addClass('fa-caret-right');
|
|
}
|
|
});
|
|
|
|
$(document).on('click', '.menu-tree-toggle-l2', function (e) {
|
|
e.preventDefault();
|
|
e.stopPropagation();
|
|
var parentId = $(this).data('parent-id');
|
|
var $icon = $(this).find('i');
|
|
var $l3 = $('.menu-row-l3.menu-row-parent-' + parentId);
|
|
if ($icon.hasClass('fa-caret-down')) {
|
|
dr_menu_tree_icon($(this), 0);
|
|
$l3.hide();
|
|
} else {
|
|
dr_menu_tree_icon($(this), 1);
|
|
$l3.show();
|
|
}
|
|
});
|
|
});
|
|
|
|
function dr_site_delete(id, sid) {
|
|
{if !$ci->_is_admin_auth('del')}
|
|
dr_tips(0, '{dr_lang('无权限删除')}');
|
|
return;
|
|
{/if}
|
|
var index = layer.load(2, {
|
|
shade: [0.3,'#fff'], //0.1透明度的白色背景
|
|
time: 10000
|
|
});
|
|
$.ajax({
|
|
type: "GET",
|
|
cache: false,
|
|
url: '{dr_url('menu/site_del')}&id='+id+'&sid='+sid,
|
|
dataType: "json",
|
|
success: function (json) {
|
|
layer.close(index);
|
|
if (json.code == 1) {
|
|
$('#dr_site_'+id+'_'+sid).hide();
|
|
dr_tips(1, json.msg);
|
|
} else {
|
|
dr_tips(0, json.msg);
|
|
}
|
|
},
|
|
error: function(HttpRequest, ajaxOptions, thrownError) {
|
|
dr_ajax_alert_error(HttpRequest, this, thrownError);;
|
|
}
|
|
});
|
|
}
|
|
</script>
|
|
{template "footer.html"} |