Commit 93115b9f by fengshuonan

菜单修改为treetable

parent 0a527b4f
......@@ -24,6 +24,7 @@ import cn.stylefeng.guns.core.common.constant.factory.ConstantFactory;
import cn.stylefeng.guns.core.common.exception.BizExceptionEnum;
import cn.stylefeng.guns.core.common.node.ZTreeNode;
import cn.stylefeng.guns.core.common.page.LayuiPageFactory;
import cn.stylefeng.guns.core.common.page.LayuiPageInfo;
import cn.stylefeng.guns.core.log.LogObjectHolder;
import cn.stylefeng.guns.modular.system.entity.Menu;
import cn.stylefeng.guns.modular.system.model.MenuDto;
......@@ -146,6 +147,25 @@ public class MenuController extends BaseController {
}
/**
* 获取菜单列表(s树形)
*
* @author fengshuonan
* @Date 2019年2月23日22:01:47
*/
@Permission(Const.ADMIN_NAME)
@RequestMapping(value = "/listTree")
@ResponseBody
public Object listTree(@RequestParam(required = false) String menuName,
@RequestParam(required = false) String level) {
List<Map<String, Object>> menus = this.menuService.selectMenuTree(menuName, level);
List<Map<String, Object>> menusWrap = new MenuWrapper(menus).wrap();
LayuiPageInfo result = new LayuiPageInfo();
result.setData(menusWrap);
return result;
}
/**
* 新增菜单
*
* @author fengshuonan
......
......@@ -79,4 +79,13 @@ public interface MenuMapper extends BaseMapper<Menu> {
*/
List<MenuNode> getMenusByRoleIds(List<Long> roleIds);
/**
* 查询菜单树形列表
*
* @author fengshuonan
* @Date 2019/2/23 22:03
*/
List<Map<String, Object>> selectMenuTree(@Param("condition") String condition, @Param("level") String level);
}
......@@ -182,4 +182,17 @@
order by LEVELS,m1.SORT asc
</select>
<select id="selectMenuTree" resultType="java.util.Map">
select
<include refid="Base_Column_List"/>
from sys_menu
where STATUS = 'ENABLE'
<if test="condition != null and condition != ''">
and (NAME like CONCAT('%',#{condition},'%') or CODE like CONCAT('%',#{condition},'%'))
</if>
<if test="level != null and level != ''">
and LEVELS = #{level}
</if>
</select>
</mapper>
......@@ -21,6 +21,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
......@@ -240,4 +241,29 @@ public class MenuService extends ServiceImpl<MenuMapper, Menu> {
return resultMenu;
}
/**
* 获取菜单树形列表
*
* @author fengshuonan
* @Date 2019/2/23 22:02
*/
public List<Map<String, Object>> selectMenuTree(String condition, String level) {
List<Map<String, Object>> maps = this.baseMapper.selectMenuTree(condition, level);
if(maps == null){
maps = new ArrayList<>();
}
//创建根节点
Menu menu = new Menu();
menu.setMenuId(-1L);
menu.setName("根节点");
menu.setCode("0");
menu.setPcode("-2");
maps.add(BeanUtil.beanToMap(menu));
return maps;
}
}
layui.use(['layer', 'form', 'table', 'ztree', 'laydate', 'admin', 'ax'], function () {
layui.use(['layer', 'form', 'ztree', 'laydate', 'admin', 'ax', 'table', 'treetable'], function () {
var layer = layui.layer;
var form = layui.form;
var table = layui.table;
var $ZTree = layui.ztree;
var $ax = layui.ax;
var laydate = layui.laydate;
var admin = layui.admin;
var table = layui.table;
var treetable = layui.treetable;
/**
* 系统管理--菜单管理
......@@ -24,7 +25,7 @@ layui.use(['layer', 'form', 'table', 'ztree', 'laydate', 'admin', 'ax'], functio
*/
Menu.initColumn = function () {
return [[
{type: 'checkbox'},
{type: 'numbers'},
{field: 'menuId', hide: true, sort: true, title: 'id'},
{field: 'name', sort: true, title: '菜单名称'},
{field: 'code', sort: true, title: '菜单编号'},
......@@ -122,13 +123,19 @@ layui.use(['layer', 'form', 'table', 'ztree', 'laydate', 'admin', 'ax'], functio
};
// 渲染表格
var tableResult = table.render({
var tableResult = treetable.render({
elem: '#' + Menu.tableId,
url: Feng.ctxPath + '/menu/list',
page: true,
url: Feng.ctxPath + '/menu/listTree',
page: false,
height: "full-158",
cellMinWidth: 100,
cols: Menu.initColumn()
cols: Menu.initColumn(),
treeColIndex: 2,
treeSpid: "0",
treeIdName: 'code',
treePidName: 'pcode',
treeDefaultClose: false,
treeLinkage: true
});
//渲染时间选择框
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment