544782275@qq.com il y a 4 ans
Parent
commit
c3754e0cc3

+ 0 - 212
app/admin/controller/SchoolMenu.php

@@ -1,212 +0,0 @@
-<?php
-
-// +----------------------------------------------------------------------
-// | ThinkAdmin
-// +----------------------------------------------------------------------
-// | 版权所有 2014~2021 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
-// +----------------------------------------------------------------------
-// | 官方网站: https://thinkadmin.top
-// +----------------------------------------------------------------------
-// | 开源协议 ( https://mit-license.org )
-// +----------------------------------------------------------------------
-// | gitee 代码仓库:https://gitee.com/zoujingli/ThinkAdmin
-// | github 代码仓库:https://github.com/zoujingli/ThinkAdmin
-// +----------------------------------------------------------------------
-
-namespace app\admin\controller;
-
-use think\admin\Controller;
-use think\admin\extend\DataExtend;
-use think\admin\service\AdminService;
-use think\admin\service\MenuService;
-use think\admin\service\NodeService;
-
-/**
- * 学校菜单管理
- * Class Menu
- * @package app\admin\controller
- */
-class SchoolMenu extends Controller
-{
-
-    /**
-     * 当前操作数据库
-     * @var string
-     */
-    private $table = 'SystemMenu';
-
-    /**
-     * 系统菜单管理
-     * @auth true
-     * @menu true
-     * @throws \think\db\exception\DataNotFoundException
-     * @throws \think\db\exception\DbException
-     * @throws \think\db\exception\ModelNotFoundException
-     */
-    public function index()
-    {
-        $this->title = '学校菜单管理';
-        $this->_query($this->table)->where('is_school',1)->page(false);
-    }
-
-    /**
-     * 列表数据处理
-     * @param array $data
-     */
-    protected function _index_page_filter(array &$data)
-    {
-        foreach ($data as &$vo) {
-            if ($vo['url'] !== '#' && !preg_match('#^https?://#', $vo['url'])) {
-                $vo['url'] = trim(url($vo['url']) . ($vo['params'] ? "?{$vo['params']}" : ''), '\\/');
-            }
-            $vo['ids'] = join(',', DataExtend::getArrSubIds($data, $vo['id']));
-        }
-        $data = DataExtend::arr2table($data);
-    }
-
-    /**
-     * 添加系统菜单
-     * @auth true
-     * @throws \think\db\exception\DataNotFoundException
-     * @throws \think\db\exception\DbException
-     * @throws \think\db\exception\ModelNotFoundException
-     */
-    public function add()
-    {
-        $this->_applyFormToken();
-        $this->_form($this->table, 'form');
-    }
-
-    /**
-     * 编辑系统菜单
-     * @auth true
-     * @throws \think\db\exception\DataNotFoundException
-     * @throws \think\db\exception\DbException
-     * @throws \think\db\exception\ModelNotFoundException
-     */
-    public function edit()
-    {
-        $this->_applyFormToken();
-        $this->_form($this->table, 'form');
-    }
-
-    /**
-     * 表单数据处理
-     * @param array $vo
-     * @throws \ReflectionException
-     */
-    protected function _form_filter(array &$vo)
-    {
-        if ($this->request->isGet()) {
-            /* 清理权限节点 */
-            if ($this->app->isDebug()) {
-                AdminService::instance()->clearCache();
-            }
-            /* 选择自己的上级菜单 */
-            $vo['pid'] = $vo['pid'] ?? input('pid', '0');
-            /* 读取系统功能节点 */
-            $this->auths = [];
-            $this->nodes = MenuService::instance()->getList();
-            foreach (NodeService::instance()->getMethods() as $node => $item) {
-                if ($item['isauth'] && substr_count($node, '/') >= 2) {
-                    $this->auths[] = ['node' => $node, 'title' => $item['title']];
-                }
-            }
-            /* 列出可选上级菜单 */
-            $menus = $this->app->db->name($this->table)->order('sort desc,id asc')->column('id,pid,icon,url,node,title,params', 'id');
-            $this->menus = DataExtend::arr2table(array_merge($menus, [['id' => '0', 'pid' => '-1', 'url' => '#', 'title' => '顶部菜单']]));
-            if (isset($vo['id'])) foreach ($this->menus as $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']) && isset($vo['spc']) && in_array($vo['spt'], [1, 2]) && $vo['spc'] > 0) {
-                foreach ($this->menus as $key => $menu) if ($vo['spt'] <= $menu['spt']) unset($this->menus[$key]);
-            }
-        }else{
-            $vo['is_school'] = 1;
-        }
-    }
-
-    /**
-     * 菜单编辑成功后刷新页面
-     * @param bool $state
-     */
-    protected function _form_result(bool $state)
-    {
-        if ($state) {
-            $this->success('系统菜单修改成功!', 'javascript:location.reload()');
-        }
-    }
-
-    /**
-     * 修改菜单状态
-     * @auth true
-     * @throws \think\db\exception\DbException
-     */
-    public function state()
-    {
-        $this->_applyFormToken();
-        $this->_save($this->table, $this->_vali([
-            'status.in:0,1'  => '状态值范围异常!',
-            'status.require' => '状态值不能为空!',
-        ]));
-    }
-
-    /**
-     * 删除系统菜单
-     * @auth true
-     * @throws \think\db\exception\DbException
-     */
-    public function remove()
-    {
-        $this->_applyFormToken();
-        $this->_delete($this->table);
-    }
-
-    /**
-     * 表单结果处理
-     * @param bool $result
-     */
-    protected function _add_form_result(bool $result)
-    {
-        if ($result) {
-            $id = $this->app->db->name($this->table)->getLastInsID();
-            sysoplog('系统菜单管理', "添加系统菜单[{$id}]成功");
-        }
-    }
-
-    /**
-     * 表单结果处理
-     * @param boolean $result
-     */
-    protected function _edit_form_result(bool $result)
-    {
-        if ($result) {
-            $id = input('id') ?: 0;
-            sysoplog('系统菜单管理', "修改系统菜单[{$id}]成功");
-        }
-    }
-
-    /**
-     * 状态结果处理
-     * @param boolean $result
-     */
-    protected function _state_save_result(bool $result)
-    {
-        if ($result) {
-            [$id, $state] = [input('id'), input('status')];
-            sysoplog('系统菜单管理', ($state ? '激活' : '禁用') . "系统菜单[{$id}]成功");
-        }
-    }
-
-    /**
-     * 删除结果处理
-     * @param boolean $result
-     */
-    protected function _remove_delete_result(bool $result)
-    {
-        if ($result) {
-            $id = input('id') ?: 0;
-            sysoplog('系统菜单管理', "删除系统菜单[{$id}]成功");
-        }
-    }
-
-}

+ 0 - 102
app/admin/view/school_menu/form.html

@@ -1,102 +0,0 @@
-<form class="layui-form layui-card" action="{:request()->url()}" data-auto="true" method="post" autocomplete="off">
-
-    <div class="layui-card-body">
-
-        <div class="layui-form-item">
-            <label class="layui-form-label label-required-next">上级菜单</label>
-            <div class="layui-input-block">
-                <select name='pid' class='layui-select' lay-search>
-                    {foreach $menus as $menu}{eq name='menu.id' value='$vo.pid|default=0'}
-                    <option selected value='{$menu.id}'>{$menu.spl|raw}{$menu.title}</option>
-                    {else}
-                    <option value='{$menu.id}'>{$menu.spl|raw}{$menu.title}</option>
-                    {/eq}{/foreach}
-                </select>
-                <p class="help-block"><b>必选</b>,请选择上级菜单或顶级菜单(目前最多支持三级菜单)</p>
-            </div>
-        </div>
-
-        <div class="layui-form-item">
-            <label class="layui-form-label">菜单名称</label>
-            <div class="layui-input-block">
-                <input name="title" value='{$vo.title|default=""}' required placeholder="请输入菜单名称" class="layui-input">
-                <p class="help-block"><b>必选</b>,请填写菜单名称(如:系统管理),建议字符不要太长,一般4-6个汉字</p>
-            </div>
-        </div>
-
-        <div class="layui-form-item">
-            <label class="layui-form-label">菜单链接</label>
-            <div class="layui-input-block">
-                <input onblur="this.value=this.value === ''?'#':this.value" name="url" required placeholder="请输入菜单链接" value="{$vo.url|default='#'}" class="layui-input">
-                <p class="help-block">
-                    <b>必选</b>,请填写链接地址或选择系统节点(如:https://domain.com/admin/user/index.html 或 admin/user/index)
-                    <br>当填写链接地址时,以下面的“权限节点”来判断菜单自动隐藏或显示,注意未填写“权限节点”时将不会隐藏该菜单哦
-                </p>
-            </div>
-        </div>
-
-        <div class="layui-form-item">
-            <label class="layui-form-label">链接参数</label>
-            <div class="layui-input-block">
-                <input name="params" placeholder="请输入链接参数" value="{$vo.params|default=''}" class="layui-input">
-                <p class="help-block">可选,设置菜单链接的GET访问参数(如:name=1&age=3)</p>
-            </div>
-        </div>
-
-        <div class="layui-form-item">
-            <label class="layui-form-label">权限节点</label>
-            <div class="layui-input-block">
-                <input name="node" placeholder="请输入权限节点" value="{$vo.node|default=''}" class="layui-input">
-                <p class="help-block">可选,请填写系统权限节点(如:admin/user/index),未填写时默认解释"菜单链接"判断是否拥有访问权限;</p>
-            </div>
-        </div>
-
-        <div class="layui-form-item">
-            <label class="layui-form-label">菜单图标</label>
-            <div class="layui-input-block">
-                <div class="layui-input-inline">
-                    <input placeholder="请输入或选择图标" name="icon" value='{$vo.icon|default=""}' class="layui-input">
-                </div>
-                <span style="padding:0 12px;min-width:45px" class='layui-btn layui-btn-primary'>
-                    <i style="font-size:1.2em;margin:0;float:none" class='{$vo.icon|default=""}'></i>
-                </span>
-                <button data-icon='icon' type='button' class='layui-btn layui-btn-primary'>选择图标</button>
-                <p class="help-block">可选,设置菜单选项前置图标,目前只支持 Font Awesome 5.2.0 字体图标</p>
-            </div>
-        </div>
-
-    </div>
-
-    <div class="hr-line-dashed"></div>
-    {notempty name='vo.id'}<input type='hidden' value='{$vo.id}' name='id'>{/notempty}
-
-    <div class="layui-form-item text-center">
-        <button class="layui-btn" type='submit'>保存数据</button>
-        <button class="layui-btn layui-btn-danger" type='button' data-confirm="确定要取消编辑吗?" data-close>取消编辑</button>
-    </div>
-</form>
-
-{block name='script'}
-<script>
-    layui.form.render();
-    require(['jquery.autocompleter'], function () {
-        $('[name="icon"]').on('change', function () {
-            $(this).parent().next().find('i').get(0).className = this.value
-        });
-        $('input[name=url]').autocompleter({
-            limit: 6, highlightMatches: true, template: '{{ label }} <span> {{ title }} </span>', callback: function (node) {
-                $('input[name=node]').val(node);
-            }, source: (function (subjects, data) {
-                for (var i in subjects) data.push({value: subjects[i].node, label: subjects[i].node, title: subjects[i].title});
-                return data;
-            })(JSON.parse('{$nodes|raw|json_encode}'), [])
-        });
-        $('input[name=node]').autocompleter({
-            limit: 5, highlightMatches: true, template: '{{ label }} <span> {{ title }} </span>', source: (function (subjects, data) {
-                for (var i in subjects) data.push({value: subjects[i].node, label: subjects[i].node, title: subjects[i].title});
-                return data;
-            })(JSON.parse('{$auths|raw|json_encode}'), [])
-        });
-    });
-</script>
-{/block}

+ 0 - 73
app/admin/view/school_menu/index.html

@@ -1,73 +0,0 @@
-{extend name='main'}
-
-{block name="button"}
-<!--{if auth("add")}-->
-<button data-modal='{:url("add")}' data-title="添加菜单" class='layui-btn layui-btn-sm layui-btn-primary'>添加菜单</button>
-<!--{/if}-->
-
-<!--{if auth("remove")}-->
-<button data-action='{:url("remove")}' data-csrf="{:systoken('remove')}" data-rule="id#{key}" class='layui-btn layui-btn-sm layui-btn-primary'>删除菜单</button>
-<!--{/if}-->
-{/block}
-
-{block name="content"}
-<div class="think-box-shadow table-block">
-    {empty name='list'}
-    <blockquote class="layui-elem-quote">没 有 记 录 哦!</blockquote>
-    {else}
-    <table class="layui-table" lay-skin="line">
-        <thead>
-        <tr>
-            <th class='list-table-check-td think-checkbox'>
-                <label><input data-auto-none data-check-target='.list-check-box' type='checkbox'></label>
-            </th>
-            <th class='list-table-sort-td'>
-                <button type="button" data-reload class="layui-btn layui-btn-xs">刷 新</button>
-            </th>
-            <th class='text-center' style="width:30px"></th>
-            <th style="width:230px"></th>
-            <th class='layui-hide-xs' style="width:180px"></th>
-            <th colspan="2"></th>
-        </tr>
-        </thead>
-        <tbody>
-        {foreach $list as $key=>$vo}
-        <tr data-dbclick>
-            <td class='list-table-check-td think-checkbox'>
-                <label><input class="list-check-box" value='{$vo.ids}' type='checkbox'></label>
-            </td>
-            <td class='list-table-sort-td'>
-                <input data-action-blur="{:request()->url()}" data-value="id#{$vo.id};action#sort;sort#{value}" data-loading="false" value="{$vo.sort}" class="list-sort-input">
-            </td>
-            <td class='text-center'><i class="{$vo.icon} font-s18"></i></td>
-            <td class="nowrap"><span class="color-desc">{$vo.spl|raw}</span>{$vo.title}</td>
-            <td class='layui-hide-xs'>{$vo.url}</td>
-            <td class='text-center nowrap'>{eq name='vo.status' value='0'}<span class="color-red">已禁用</span>{else}<span class="color-green">已激活</span>{/eq}</td>
-            <td class='text-center nowrap notselect'>
-                {if auth("add")}
-                <!--{if $vo.spt < 2}-->
-                <a class="layui-btn layui-btn-xs layui-btn-primary" data-title="添加子菜单" data-modal='{:url("add")}?pid={$vo.id}'>添 加</a>
-                <!--{else}-->
-                <a class="layui-btn layui-btn-xs layui-btn-disabled">添 加</a>
-                <!--{/if}-->
-                {/if}
-                <!--{if auth("edit")}-->
-                <a data-dbclick class="layui-btn layui-btn-xs" data-title="编辑菜单" data-modal='{:url("edit")}?id={$vo.id}'>编 辑</a>
-                <!--{/if}-->
-                <!--{if $vo.status eq 1 and auth("state")}-->
-                <a class="layui-btn layui-btn-warm layui-btn-xs" data-confirm="确定要禁用菜单吗?" data-action="{:url('state')}" data-value="id#{$vo.ids};status#0" data-csrf="{:systoken('state')}">禁 用</a>
-                <!--{/if}-->
-                <!--{if $vo.status eq 0 and auth("state")}-->
-                <a class="layui-btn layui-btn-warm layui-btn-xs" data-action="{:url('state')}" data-value="id#{$vo.ids};status#1" data-csrf="{:systoken('state')}">激 活</a>
-                <!--{/if}-->
-                <!--{if auth("remove")}-->
-                <a class="layui-btn layui-btn-danger layui-btn-xs" data-confirm="确定要删除数据吗?" data-action="{:url('remove')}" data-value="id#{$vo.ids}" data-csrf="{:systoken('remove')}">删 除</a>
-                <!--{/if}-->
-            </td>
-        </tr>
-        {/foreach}
-        </tbody>
-    </table>
-    {/empty}
-</div>
-{/block}

+ 1 - 1
vendor/zoujingli/think-library/src/service/MenuService.php

@@ -57,7 +57,7 @@ class MenuService extends Service
         if(session('user.county_id')){
             $query->where(['status' => '1'])->where('is_county',1)->order('sort desc,id asc');
         }else{
-            $query->where(['status' => '1'])->where('is_county',0)->order('sort desc,id asc');
+            $query->where(['status' => '1'])->order('sort desc,id asc');
         }
         return $this->_buildData(DataExtend::arr2tree($query->select()->toArray()));
     }