更新菜单模块

This commit is contained in:
邹景立 2017-02-22 16:42:11 +08:00
parent f3eb41e853
commit e631cd9757
2 changed files with 31 additions and 5 deletions

View File

@ -5,6 +5,7 @@ namespace app\admin\controller;
use controller\BasicAdmin; use controller\BasicAdmin;
use library\Data; use library\Data;
use library\Tools; use library\Tools;
use think\Db;
/** /**
* 系统后台管理管理 * 系统后台管理管理
@ -52,9 +53,27 @@ class Menu extends BasicAdmin {
$data = Tools::arr2table($data); $data = Tools::arr2table($data);
} }
/** protected function _form_filter(&$vo) {
* 添加菜单 if ($this->request->isGet()) {
*/ $_menus = Db::name($this->table)->where('status', '1')->order('sort ASC,id ASC')->select();
$_menus[] = ['title' => '顶级菜单', 'id' => '0', 'pid' => '-1'];
$menus = Tools::arr2table($_menus);
foreach ($menus as $key => &$menu) {
if (substr_count($menu['path'], '-') > 3) {
unset($menus[$key]);
continue;
}
if (isset($vo['pid'])) {
$current_path = "-{$vo['pid']}-{$vo['id']}";
if ($vo['pid'] !== '' && (stripos("{$menu['path']}-", "{$current_path}-") !== false || $menu['path'] === $current_path)) {
unset($menus[$key]);
}
}
}
$this->assign('menus', $menus);
}
}
public function add() { public function add() {
return $this->_form($this->table, 'form'); return $this->_form($this->table, 'form');
} }
@ -63,7 +82,7 @@ class Menu extends BasicAdmin {
* 编辑菜单 * 编辑菜单
*/ */
public function edit() { public function edit() {
return $this->_form($this->table, 'form'); return $this->add();
} }
/** /**

View File

@ -3,7 +3,13 @@
<label class="layui-form-label">上级菜单</label> <label class="layui-form-label">上级菜单</label>
<div class="layui-input-block"> <div class="layui-input-block">
<select name='pid'> <select name='pid'>
<option value='0'>-- 顶级菜单 --</option> <!--{foreach $menus as $menu}-->
<!--{eq name='menu.id' value='$vo.pid|default=0'}-->
<option selected value='{$menu.id}'>{$menu.spl}{$menu.title}</option>
<!--{else/}-->
<option value='{$menu.id}'>{$menu.spl}{$menu.title}</option>
<!--{/eq}-->
<!--{/foreach}-->
</select> </select>
</div> </div>
</div> </div>
@ -31,6 +37,7 @@
</div> </div>
<div class="hr-line-dashed"></div> <div class="hr-line-dashed"></div>
<div class="layui-form-item text-center"> <div class="layui-form-item text-center">
{if isset($vo['id'])}<input type='hidden' value='{$vo.id}' name='id'/>{/if}
<button class="layui-btn"type='submit'>保存数据</button> <button class="layui-btn"type='submit'>保存数据</button>
<button class="layui-btn layui-btn-danger" type='button' data-close>取消编辑</button> <button class="layui-btn layui-btn-danger" type='button' data-close>取消编辑</button>
</div> </div>