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. Qt 按键添加图标

    1.开发环境:Qt5.12.2,QtCreate4.8.2 2.直接上代码 /* 按键上背景 */ QPixmap pixmap(":/Resourses/images/easyicon_n ...

  2. uniapp 样式记录

    flex https://uniapp.dcloud.io/nvue-css display: flex;/* 容器布局 */ flex:1; overflow: scroll;/* 容器内滚动条 * ...

  3. vue页面点击按钮增加和删除标签

    1.在data()里定义一个空数组: conditions:[], 2.给数组一个容器,并且遍历数组 <div v-for="item in conditions">& ...

  4. Redis缓存雪崩,击穿和穿透

    这三个问题的发生,会导致大量的请求直接积压到数据库,如果并发量很大,则可能会导致数据库宕机或故障. 缓存雪崩   描述:大量的请求无法在redis缓存中进行处理而被发送到数据库,导致数据库压力陡增. ...

  5. 集群分发xsync xcall kafka启动脚本命令,命令方式安装epel源

    安装epel库源 yum install epel-release -y --nogpgcheck yum install glances 安装开始 建立hosts 白名单 127.0.0.1 loc ...

  6. CentOS7 minimal 安装 VMware Tools(自带脚本安装)

    1.安装相关组件 yum -y install perl gcc make kernel-headers kernel-devel net-tools 2.新建挂载目录 mkdir -p /mnt/c ...

  7. 如何在Debian10镜像中设置Nginx引擎模块

    目前,我们较多的服务器WEB环境都是用的Nginx引擎,我们采用服务器的目的是可以获取到更多的资源,而且建站数量是不受限制的.我们可以根据自己需要配置Nginx,可以自定义特定域的设置,允许您在单个服 ...

  8. Unity Shader实现《死亡搁浅》扫描效果!

    https://mp.weixin.qq.com/s/4YwjxScnU0zprjGekAyvsw

  9. File类的基本用法

    using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Tex ...

  10. vue-cli打包后运行报路径错误 不知道什么牛马问题 连默认生成的项目不动一行代码直接打包都会出错

    不知道什么牛马问题 连默认生成的项目不动一行代码直接打包都会出错 解决方法 新建一个 vue.config.js module.exports = { publicPath: './', config ...