|
@@ -26,6 +26,7 @@ use think\admin\service\MenuService;
|
|
|
*/
|
|
|
class Menu extends Controller
|
|
|
{
|
|
|
+
|
|
|
/**
|
|
|
* 当前操作数据库
|
|
|
* @var string
|
|
@@ -100,10 +101,12 @@ class Menu extends Controller
|
|
|
// 选择自己的上级菜单
|
|
|
if (empty($vo['pid']) && $this->request->get('pid', '0')) $vo['pid'] = $this->request->get('pid', '0');
|
|
|
// 列出可选上级菜单
|
|
|
- $menus = $this->app->db->name($this->table)->where(['status' => '1'])->order('sort desc,id asc')->column('id,pid,title');
|
|
|
- $menus[] = ['title' => '顶部菜单', 'id' => '0', 'pid' => '-1'];
|
|
|
- foreach ($this->menus = DataExtend::arr2table($menus) as $key => &$menu) {
|
|
|
- if ($menu['spt'] >= 3) unset($this->menus[$key]);
|
|
|
+ $menus = $this->app->db->name($this->table)->where(['status' => '1'])->order('sort desc,id asc')->column('id,pid,url,title');
|
|
|
+ $this->menus = DataExtend::arr2table(array_merge($menus, [['id' => '0', 'pid' => '-1', 'url' => '#', 'title' => '顶部菜单']]));
|
|
|
+ if (isset($vo['id'])) foreach ($this->menus as $key => $menu) if ($menu['id'] === $vo['id']) $vo = $menu;
|
|
|
+ foreach ($this->menus as $key => &$menu) {
|
|
|
+ if ($menu['spt'] >= 3 || $menu['url'] !== '#') unset($this->menus[$key]);
|
|
|
+ if (isset($vo['spt']) && $vo['spt'] <= $menu['spt']) unset($this->menus[$key]);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -129,4 +132,5 @@ class Menu extends Controller
|
|
|
$this->_applyFormToken();
|
|
|
$this->_delete($this->table);
|
|
|
}
|
|
|
-}
|
|
|
+
|
|
|
+}
|