service.java


public List<Menu> listAllMenuPage(PageData pd) throws Exception{
List<Menu> NewList = new ArrayList<Menu>();
Integer page = Integer.parseInt((String) pd.get("page"));
Integer rows = Integer.parseInt((String) pd.get("limit"));
if(StringUtils.isBlank(pd.getString("page"))){
page = 1;
}
if(StringUtils.isBlank(pd.getString("limit"))){
rows = 10;
}

Integer nowpage = (page - 1) * rows;

PageData pdResult = new PageData();
pdResult.put("erows", rows);
pdResult.put("ebeginIndex",nowpage);
List<Menu> Plist= (List<Menu>) dao.findForList("com.ctvit.mapper.MenuMapper.findMenuPagelist", pdResult);
for(int i=0;i<Plist.size();i++){
Menu childmenu=Plist.get(i);
int childnenuid=childmenu.getMenuId();
PageData pad=new PageData();
pad.put("parentId", childnenuid);
List<Menu> Sublist= (List<Menu>) dao.findForList("com.ctvit.mapper.MenuMapper.findMenuchildByParentid", pad);
childmenu.setSubMenu(Sublist);
NewList.add(childmenu);
}
return NewList;
}

Html
<script>
layui.use(['form'], function(){
form = layui.form;

});

layui.use(['laypage'], function () {
var laypage = layui.laypage
, layer = layui.layer;
var epage = 1;
var epagesize=3;
$.ajax({
url: '[[${springMacroRequestContext.contextPath}]]/MenuManage/listmenu.do',
type: 'post',
dataType: 'json',
async: false,
data: {page: epage, limit: epagesize},
success: function (rs) {
setHtml(rs);
pages(rs.total);
}
})

function setHtml(rs){
console.log(rs);
var row = rs.rows;
var total = rs.total;
console.log(rs);
var html = "";
for (var i = 0; i < row.length; i++) {
html += ' <tr cate-id=' + row[i].menuId + ' fid=0 >' +
'<td><input type="checkbox" name="" lay-skin="primary"> </td><td>' + row[i].menuId + '</td><td><i class="layui-icon x-show" status="true"></i>' + row[i].menuName +
'</td> <td>' + row[i].menuUrl +
'</td><td>' + row[i].sort + '</td>'
+ ' <td class="td-manage"><button class="layui-btn layui-btn layui-btn-xs" onclick="xadmin.open(\'编辑\',\'menu-edit.html?menuId=' + row[i].menuId + '\')" ><i class="layui-icon"></i>编辑</button>'
+ ' <button class="layui-btn layui-btn-warm layui-btn-xs" onclick="xadmin.open(\'添加子菜单\',\'/api/MenuManage/menu-edit.html\')" ><i class="layui-icon"></i>添加子栏目</button>'
+ '<button class="layui-btn-danger layui-btn layui-btn-xs" onclick="delmenu(this,' + row[i].menuId + ')" href="javascript:;" ><i class="layui-icon"></i>删除</button></td></tr>'
var submenu = row[i].subMenu;
if (submenu.length > 0) {
for (var j = 0; j < submenu.length; j++) {
html += '<tr cate-id=' + submenu[j].menuId + ' fid=' + submenu[j].parentId +
' ><td><input type="checkbox" name="" lay-skin="primary"></td><td>' + submenu[j].menuId +
'</td> <td> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;├' + submenu[j].menuName +
'</td> <td>' + submenu[j].menuUrl +
'</td><td>' + submenu[j].sort + '</td><td class="td-manage">'
+ ' <button class="layui-btn layui-btn layui-btn-xs" onclick="xadmin.open(\'编辑\',\'menu-edit.html?menuId=' + submenu[j].menuId + '\')" ><i class="layui-icon"></i>编辑</button>'
+ ' <button class="layui-btn-danger layui-btn layui-btn-xs" onclick="delmenu(this,' + submenu[j].menuId + ')" href="javascript:;" ><i class="layui-icon"></i>删除</button>'
+ ' </td> </tr>'
}
}
}
$(".x-cate").html(html);
shou()

}
//--------------------------------分页组件渲染
function pages(count) {
laypage.render({
elem: 'demo7'
, count: count
, theme: '#009688'
//, layout: ['prev', 'page', 'next']
,layout: ['count', 'prev', 'page', 'next', 'limit', 'refresh', 'skip']
, limit:epagesize
, limits:[5,10,15]
, jump: function (obj, first) {
if (!first) {
$.post('[[${springMacroRequestContext.contextPath}]]/MenuManage/listmenu.do'
, { page: obj.curr, limit: obj.limit}
, function (result) {
//res = result.data;
setHtml(result);
});
}
}
})
}
} //yuanlaiend
)
//列表结束处理



// 分类展开收起的分类的逻辑
function shou() {
$("tbody.x-cate tr[fid!='0']").hide();
// 栏目多级显示效果
$('.x-show').click(function () {
if ($(this).attr('status') == 'true') {

$(this).html('');
$(this).attr('status', 'false');
cateId = $(this).parents('tr').attr('cate-id');
$("tbody tr[fid=" + cateId + "]").show();
} else {
cateIds = [];
$(this).html('');
$(this).attr('status', 'true');
cateId = $(this).parents('tr').attr('cate-id');
getCateId(cateId);
for (var i in cateIds) {
$("tbody tr[cate-id=" + cateIds[i] + "]").hide().find('.x-show').html('').attr('status', 'true');
}
}
})
}

var cateIds = [];
function getCateId(cateId) {
$("tbody tr[fid="+cateId+"]").each(function(index, el) {
id = $(el).attr('cate-id');
cateIds.push(id);
getCateId(id);
});
}

</script>
 

Layui分页与springboots的更多相关文章

  1. LayUI分页,LayUI动态分页,LayUI laypage分页,LayUI laypage刷新当前页

    LayUI分页,LayUI动态分页,LayUI laypage分页,LayUI laypage刷新当前页 >>>>>>>>>>>> ...

  2. 最易懂的layui分页

    该篇文章是在layui前端框架之分页基础上简洁化和详细化. 首先该示例采用的是Spring+MyBatis Plus+SpringMVC(常规的SSM框架),持久层换成MyBatis也行. 至于lay ...

  3. springBoot mybatis mysql pagehelper layui 分页

    <!-- 加入 pagehelper 分页插件 jar包--><dependency> <groupId>com.github.pagehelper</gro ...

  4. 二十九、layui分页插件的使用

    <div id="page1"></div> <script> //开启分页 var page = 1; function findstoreL ...

  5. tp5 设置layui分页

    \thinkphp\library\think\paginator\driver 添加 Layui.php <?php namespace think\paginator\driver; use ...

  6. SSM项目layui分页实例

    最近学了layui,发现其中的分页挺有意思的,所以整理了一下,一遍自己随时查看.(官方文档上已经很详细了,当中有不足的地方欢迎大家指出) 关于前台的js文件,css样式,js样式,大家可以到官网下 本 ...

  7. 基于MVC框架layui分页控件实现前端分页信息写法

    详细链接:https://shop499704308.taobao.com/?spm=a1z38n.10677092.card.11.594c1debsAGeak@{ ViewBag.Title = ...

  8. layui分页

    毕业已经两年,期间经历了很多.一个人欢笑与哭泣,在墙角.在路边.在床上.每天搭乘首班车来到公司,每天无数次反省自己,每天每天再问自己为什么活着. 一.下载并引用css和js 地址:点我 <lin ...

  9. js layui 分页脚本

    //分页 layui.use(['laypage'], function(){ var laypage = layui.laypage; laypage.render({ elem: 'page' , ...

  10. LayUI分页基于ASP.NET MVC

    ---恢复内容开始--- 今天写了挺久的分页,百度了很多都没有很好的.Net实例,今天我来更新一期关于layuiTable分页 首先你得理解layui的官方文档的Table分页部分,我在这里附上地址 ...

随机推荐

  1. Wix打包升级包

    前面我们已经知道怎么制作一个完整安装包了,但我们的软件往往不能一次性就满足客户的需要,当客户需要我们给软件进行升级的时候,我们应该怎么做呢? 在这之前,我们有必要了解下Windows Installe ...

  2. iOS基础 - SceneDelegate

    前言 1 - 自从 Xcode11 发布以来,当你使用新 XCode 创建一个新的 iOS 项目时 SceneDelegate 会被默认创建 2 - 在 iOS 13 后 SceneDelegate ...

  3. 【阿里云ACP】-03(数据库RDS)

    OSS快速使用入门:创建Bucket 1.用户创建一个Bucket时,可以根据费用单价.请求来源分布.响应延迟等方面的考虑,为该bucket选择所在的数据中心 阿里云所有数据中心都提供OSS公众服务 ...

  4. Java8 提供CompletableFuture来简化高并发异步处理编程

    (摘录自狂乱的贵公子)所谓异步调用其实就是实现一个可无需等待被调用函数的返回值而让操作继续运行的方法.在 Java 语言中,简单的讲就是另启一个线程来完成调用中的部分计算,使调用继续运行或返回,而不需 ...

  5. CAD中相交线怎样打断?CAD打断相交线步骤

    在CAD设计过程中,如果想要打断图纸中相交线该如何操作呢?大家第一个想到的是不是CAD打断命令?没错,CAD打断命令是可以实现的,但是过于麻烦,今天小编来给大家分享一个更简单的方法,那就是浩辰CAD软 ...

  6. Maven3.6.1 (转载大佬文章)

    (30条消息) Maven3.6.1安装及配置_浅若清风过的博客-CSDN博客 1.下载https://archive.apache.org/dist/maven/maven-3/3.6.1/bina ...

  7. React中store、action和reducer之间的关系

    redux的三剑客store ----->物流仓库中心store,把它想象成一个物流仓库中心,数据(state)就是一个个包裹 action ---->包裹的包装 store.dispat ...

  8. vant-ui经验

    1.van-checkbox搭配van-cell使用,点击圆圈区域,不触发定义的click函数. 解决:给van-checkbox添加一层div,添加click事件:van-checkbox也添加cl ...

  9. python pip 换源

    title: pip 换源 author: 杨晓东 permalink: pip-换源 date: 2021-10-02 11:27:04 categories: - 投篮 tags: - demo ...

  10. android手机无线调试

    1.手机与电脑先通过usb链接2.adb devices查看是否链接成功(链接成功会显示设备列表)3.adb tcpip 5555(0-65535之间取值,默认5555输进去)5:断开数据线,查看手机 ...