1.tab选项卡
let $,element;
layui.use(['jquery','element'],function(){
$ =layui.jquery,element=layui.element;
$.ajax({
url:'${pageContext.request.contextPath }/permission.action?methodName=menus'
,dataType:'json'
,success:function(data){
console.log(data);
let htmlstr='';
$.each(data,function(i,n){
htmlstr += '<li class="layui-nav-item layui-nav-itemed">';
htmlstr += ' <a class="" href="javascript:;">'+data[i].text+'</a>';
//判断当前一级节点是否存在子节点
if(data[i].hasChildren){
htmlstr += '<dl class="layui-nav-child">';
let children =data[i].children;
$.each(children,function(index,node){
htmlstr += '<dd><a href="javascript:;" onClick="openTabs(\''+children[index].text+'\',\''+children[index].attributes.self.url+'\',\''+children[index].id+'\');">'+children[index].text+'</a></dd>';
});
htmlstr += '</dl>';
}
htmlstr += '</li>';
});
$("#menu").html(htmlstr);
}
});
});
function openTabs(title,url,id) {
let $node=$("li[lay-id='"+id+"']");
debugger;
if($node.length==0){
//新增一个Tab项
element.tabAdd('demo',{
title: title //用于演示
,content: "<iframe frameborder='0' src='"+url+"' scrolling='auto' style='width:100%;height:100%;'></iframe>"
,id: id //实际使用一般是规定好的id,这里以时间戳模拟下
})
}
element.tabChange('demo',id);
}
1.dao方法辰
package com.zking.dao;
import java.util.ArrayList;
import java.util.List;
import com.zking.entity.Permission;
import com.zking.util.BaseDao;
import com.zking.util.BuildTree;
import com.zking.util.PageBean;
import com.zking.util.R;
import com.zking.util.TreeVo;
public class PermissionDao extends BaseDao<Permission>{
//查询t_oa_permission表中的数据
public List<Permission> list(Permission permission, PageBean pageBean) throws Exception {
String sql="select * from t_oa_permission";
return super.executeQuery(sql, Permission.class, pageBean);
}
public List<TreeVo<Permission>> menus(Permission permission, PageBean pageBean) throws Exception {
List<TreeVo<Permission>> trees=new ArrayList<TreeVo<Permission>>();
//从数据库中拿到的菜单数据,此时数据是平级的,不具备父子关系
List<Permission> list =this.list(permission, pageBean);
for (Permission p : list) {
TreeVo<Permission> vo =new TreeVo<>();
vo.setId(p.getId()+"");
vo.setText(p.getName());//节点的名称
vo.setParentId(p.getPid()+"");
vo.setAttributes(new R().data("self",p));
trees.add(vo);
}
return BuildTree.buildList(trees, "-1");
}
}
2.登录功能实现
layui.use(['jquery','layer'],function(){
let $=layui.jquery
,layer = layui.layer;
$("#login").click(function(){
$.ajax({
url:"user.action?methodName=login"
,dataType:'json'
,data:{
loginName:$("#username").val(),
pwd:$("#password").val()
}
,success:function(data){
if(data.code == 200){
layer.alert(data.msg,{icon: 1});
location.href='main.jsp';
}else{
layer.alert(data.msg,{icon: 2});
}
}
})
});
});