springboot里结合layui对表格数据的一些记录

这篇具有很好参考价值的文章主要介绍了springboot里结合layui对表格数据的一些记录。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

js代码

var $ = layui.$, active = {
            reload: function(){
                //处理人的选择
                var handler = $('#handler input[name="handler"]:checked ').val()//获取选中的值
                var systemNo;
                var systemType;
                //判断当前是常用还是全部(全部的话,a标签的值为常用)
                if($("#changeSystem").text() == "全部"){
                    systemNo = tagIns2.selected;
                    systemType = 2;
                }else{
                    systemNo = tagIns1.selected;
                    systemType = 1;
                }
                //将页面全部复选框选中的值拼接到一个数组中
                var arr_box = '';
                $('input[type=checkbox]:checked').each(function() {
                    arr_box = arr_box+','+ $(this).val()
                });
                var name = $('#username').val();//会话人
                //var systemNo = $('#systemNo option:selected').val();//系统别
                var factory = $('#factory option:selected').val();//厂别
                var priority = $('#priority option:selected').val();//优先级
                var workNo = $('#workNo').val();//作业编号
                var applier = $('#applier').val();//申请人
                var content = $('#content').val();//标题/描述
                var department = $('#department').val();//申请部门
                var createDate = $('#test1').val();//申请日期
                var status = $("#status").val();//状态
                var system = "";
                if (systemNo.length > 0) {
                    for (var i = 0; i < systemNo.length; i++) {
                        if(system == ""){
                            system = systemNo[i].name;
                        }else{
                            system = system+","+systemNo[i].name;
                        }
                    }
                }else{
                    system = null;
                }
                var cols = $("#cols").val();
                var table_json = {
                    'id':"序号",
                    'title' : '主题',
                    'priority' : '优先级',
                    'status' : '状态',
                    'system' : '系统别',
                    'taskNo' : '作业编号',
                    'questionType' : '问题类型',
                    'applier' : '申请人工号',
                    'trueName' : '申请人姓名',
                    'createDateTime' : '申请时间',
                    'handler' : '处理人工号',
                    'handlerName' : '处理人姓名',
                    'handDateTime' : '上一次处理时间',
                    'updater' : '更新人工号',
                    'updaterName' : '更新人姓名',
                    'updaterDateTime' : '更新日期',
                    'planDate':'预计完成时间',
                    'updateDateTime':'结案时间',
                    'parentQuestionId':'问题对应的父任务ID',
                    'childQuestionIds':'子任务ID列表'
                };
                //每次搜索就得清空table_col和重置array_col
                table_col = [];
                array_col = [{checkbox: true, fixed: true}, {title: '编辑', width: 80, toolbar: '#table_bar'}];
                for(var obj in table_json){
                    var values = cols.split(",");
                    for(var i in values){
                        if(table_json[obj] == values[i]){
                            table_col.push(obj);
                        }
                    }
                }
                for(var i in table_col) {
                    if (table_col[i] == "id") {
                        array_col.push({field: 'id', title: '序号', width: 60, sort: true, style: 'font-size: 12px;', sort: true}
                        );
                    }
                    if (table_col[i] == 'title') {
                        array_col.push({
                            field: 'title', title: '主题', sort: true, width: 250, style: 'font-size: 12px;text-align:left;',
                            templet: function (d) {
                                return '<div style="text-align: left">' + d.title + '</div>';
                            }
                        });
                    }
                    if (table_col[i] == 'priority') {
                        array_col.push({field: 'priority', title: '优先级', sort: true,width: 80, style: 'font-size: 12px;'});
                    }
                    if (table_col[i] == 'status') {
                        array_col.push({
                            field: 'status', title: '状态', sort: true,width: 160, style: 'font-size: 12px;', templet: function (e) {
                                if (e.status == "0") {
                                    return "未开始";
                                } else if (e.status == "1") {
                                    return "已提问";
                                } else if (e.status == "2") {
                                    return "已回复";
                                } else if (e.status == "4") {
                                    return "结案";
                                } else if (e.status == "5") {
                                    return "取消问题";
                                } else if (e.status == "9") {
                                    return "删除";
                                }
                            }
                        });
                    }
                    if (table_col[i] == 'system') {
                        array_col.push({
                            field: 'system',
                            title: '系统别',
                            sort: true,
                            width: 90,
                            style: 'font-size: 12px;'
                    })
                        ;
                    }
                    if (table_col[i] == 'taskNo') {
                        array_col.push({
                            field: 'taskNo',
                            title: '作业编号',
                            sort: true,
                            width: 90,
                            style: 'font-size: 12px;'
                    })
                        ;
                    }
                    if (table_col[i] == 'questionType') {
                        array_col.push({
                            field: 'questionType',
                            title: '问题类型',
                            sort: true,
                            width: 90,
                            style: 'font-size: 12px;'
                    })
                        ;
                    }
                    if (table_col[i] == 'applier') {
                        array_col.push({
                            field: 'applier',
                            title: '申请人工号',
                            sort: true,
                            width: 90,
                            style: 'font-size: 12px;'
                    })
                        ;
                    }
                    if (table_col[i] == 'trueName') {
                        array_col.push({
                            field: 'trueName',
                            title: '申请人姓名',
                            sort: true,
                            width: 180,
                            style: 'font-size: 12px;'
                    })
                        ;
                    }
                    if (table_col[i] == 'createDateTime') {
                        array_col.push({
                            field: 'createDateTime',
                            title: '申请时间',
                            sort: true,
                            width: 100,
                            style: 'font-size: 12px;'
                    })
                        ;
                    }
                    if (table_col[i] == 'handler') {
                        array_col.push({
                            field: 'handler',
                            title: '处理人工号',
                            sort: true,
                            width: 90,
                            style: 'font-size: 12px;'
                    })
                        ;
                    }
                    if (table_col[i] == 'handlerName') {
                        array_col.push({
                            field: 'handlerName',
                            title: '处理人姓名',
                            sort: true,
                            width: 90,
                            style: 'font-size: 12px;'
                    })
                        ;
                    }
                    if (table_col[i] == 'handDateTime') {
                        array_col.push({
                            field: 'handDateTime',
                            title: '上一次处理时间',
                            sort: true,
                            width: 90,
                            style: 'font-size: 12px;'
                    })
                        ;
                    }
                    if (table_col[i] == 'updater') {
                        array_col.push({
                            field: 'updater',
                            title: '更新人工号',
                            sort: true,
                            width: 100,
                            style: 'font-size: 12px;'
                    })
                        ;
                    }
                    if (table_col[i] == 'updaterName') {
                        array_col.push({
                            field: 'updaterName',
                            title:'更新人姓名',
                            sort: true,
                            width: 100,
                            style: 'font-size: 12px;'
                    })
                    }
                    if (table_col[i] == 'updaterDateTime') {
                        array_col.push({
                            field: 'updaterDateTime',
                            title: '更新日期',
                            sort: true,
                            width: 120,
                            style: 'font-size: 12px;'
                    })
                        ;
                    }
                    if (table_col[i] == 'planDate') {
                        array_col.push({
                            field: 'planDate',
                            title: '预计完成时间',
                            sort: true,
                            width: 120,
                            style: 'font-size: 12px;'
                    })
                        ;
                    }
                    if (table_col[i] == 'updateDateTime') {
                        array_col.push({
                            field: 'updateDateTime',
                            title: '结案时间',
                            sort:true,
                            width: 120,
                            style: 'font-size: 12px;'
                    })
                        ;
                    }
                    if(table_col[i] == 'parentQuestionId') {
                        array_col.push({
                            field: 'parentQuestionId',
                            title: '问题对应的父任务ID',
                            sort: true,
                            width: 120,
                            style: 'font-size: 12px;'
                        });
                    }
                    if(table_col[i] == 'childQuestionIds') {
                        array_col.push({
                            field: 'childQuestionIds',
                            title: '子任务ID列表',
                            sort: true,
                            width: 120,
                            style: 'font-size: 12px;'
                        });
                    }
                }
                var questionType = $("#questionType").val();
                table.reload('table', {
                    url: '/admin/receiveQuestion/list',
                    page:{
                        curr:1//重新从第一页开始
                    },
                    cols:[array_col],
                    where: {
                        systemNo:system,
                        factory:factory,
                        priority:priority,
                        workNo:workNo,
                        applier:applier,
                        content:content,
                        department:department,
                        createDate:createDate,
                        name:name,
                        status:status,
                        arr:arr_box,
                        handler:handler,
                        systemType:systemType,
                        cols: cols,
                        questionType:questionType,
                    },
                    done:function(res, curr, count){
                        apitableFilterIns.reload();
                        console.log("table.reload的res:",res);
                        var arr = res.param_1;
                        var that = this.elem.next();
                        res.data.forEach(function (item, index) {
                            if(arr.indexOf(item.id)> -1){
                                var tr = that.find(".layui-table-box tbody tr[data-index='" + index + "']");
                                tr.css("color", "#FF2D2D");
                            }
                        });
                    }
                });
            },

解释分析:

这段代码主要实现了一个前端的数据表格展示功能,使用了 layui 的表格组件进行渲染。以下是对代码的解释:

首先,定义了一个名为 active 的对象,其中包含了一个方法 reload,这个方法用于重新加载数据表格,并且根据用户选择的条件进行数据筛选和显示。

reload 方法内部执行了数据表格的重新加载操作,使用 table.reload 方法实现。table.reload 是 layui 表格组件提供的方法,用于重新加载数据表格,可以传入参数来控制表格的数据来源、页码等。

在 reload 方法内部,首先获取用户选择的各种查询条件,比如 handler、systemNo、factory 等等。

然后,通过遍历 table_json 对象,根据用户选择的列信息 cols,构造 array_col 数组,用于设置表格的列头信息。

在遍历 table_col 数组时,根据每个元素的值,判断当前列是否为 “id”、“title”、“priority” 等,如果是,则添加相应的列信息到 array_col 数组中。

完成 array_col 数组的构造后,使用 table.reload 方法重新加载数据表格,并传入相应的参数。

table.reload 方法的 url 参数指定了数据的来源地址,即请求后端接口 /admin/receiveQuestion/list 来获取数据。

cols 参数用于指定表格的列头信息,即使用 array_col 数组构造的表格列头。

where 参数用于传递查询条件给后端,在这里,将前端获取到的各种查询条件传递给了后端接口。

done 参数是一个回调函数,在数据表格加载完毕后,会执行这个回调函数。在这个函数内部,对表格的数据进行遍历,并根据返回的 res 数据中的 param_1 数组中的数据,对表格的每一行进行颜色标记。

总体来说,这段代码实现了一个功能较为复杂的数据表格展示页面,通过 layui 表格组件实现了表格的动态列和数据加载,根据用户选择的条件来过滤数据,并在表格上做了一些样式标记,以提升用户体验。文章来源地址https://www.toymoban.com/news/detail-603085.html

到了这里,关于springboot里结合layui对表格数据的一些记录的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 开发实例:Spring Boot、MyBatis和Layui打造增删改查项目

    通过学习这个实例项目,我们将积累点滴技术知识和实践经验,进一步提升我们的开发能力。学习如何构建增删改查功能的完整应用,从数据库访问到前端界面的开发,涵盖了全栈开发的方方面面。此外,我们还将学会处理常见的业务逻辑和数据操作,提高编码质量和效率。

    2024年02月06日
    浏览(65)
  • layui框架学习(40:数据表格_主要事件)

      Layui数据表格模块主要通过各类事件响应工具栏操作、单元格编辑或点击等交互操作,本文学习table数据表格模块中的主要事件及处理方式。    头部工具栏事件 。通过代码“table.on(‘toolbar(test)’, function(obj))”获取lay-filter属性为test的数据表格的头部工具栏事件,头部

    2024年02月10日
    浏览(43)
  • 【react框架】结合antd做表单组件的一些心得记录

    作为一个前端最常遇见的需求场景就是写表单、写表格。写多了会逐渐的积累一些开发心得,此文章根据我使用vue和react的经验记录了一些东西,抛砖引玉的给大家看看。 举例react项目,在做表单的很多时候,我都是从antd上把其中一个form组件例子复制下来,然后再看看提供了

    2024年02月07日
    浏览(93)
  • SpringBoot Thymeleaf企业级真实应用:使用Flying Saucer结合iText5将HTML界面数据转换为PDF输出(四) 表格中断问题

    接上一篇 SpringBoot Thymeleaf企业级真实应用:使用Flying Saucer结合iText5将HTML界面数据转换为PDF输出(三) 给pdf加水印、页眉页脚、页眉logo 设置表格的css样式

    2024年02月12日
    浏览(56)
  • IDEA+Spring Boot + MyBatis + Layui+Mysql垃圾回收管理系统源码

    本系统实现了垃圾回收管理系统,管理端实现了管理员登录、垃圾回收管理、添加需要回收的垃圾、垃圾去向管理、申请需要打包运出的垃圾、系统公告管理、个人信息管理、修改密码 JDK版本:1.8 Mysql:5.7 账号:好贵啊 密码:123456 点击以下链接获取源码。 IDEA+Spring Boot + MyBati

    2024年02月13日
    浏览(46)
  • IDEA+Spring Boot+MyBatis+shiro+Layui+Mysql智能平台管理系统

    本系统实现了智能平台管理系统,pc端用户可以登录,注册,发帖,留言,提交问卷,展示公告,查看文章,管理端实现了管理员登录,管理员管理, 管理员管理,用户管理 ,问卷管理,问卷结果管理 ,帖子分类管理 ,数据分析统计 ,公告管理,帖子管理 ,友情链接管理

    2024年02月12日
    浏览(57)
  • 【Spring Boot】SpringBoot和数据库交互: 使用Spring Data JPA

    在现代应用程序的开发中,数据是核心部分。为了能够持久化、检索、更新和删除数据,应用程序需要与数据库进行交互。 1.1 为什么需要数据库交互 数据持久化 :当你关闭应用程序或者服务器时,你仍希望数据能够保存。数据库提供了一个持久的存储方案,使得数据在关闭

    2024年02月12日
    浏览(49)
  • 【Spring Boot】Spring Boot结合MyBatis简单实现学生信息管理模块

    环境准备 JDK Spring Boot MyBatis 创建Spring Boot项目 使用Spring Initializr创建一个新的Spring Boot项目,并添加以下依赖: Spring Web MyBatis Framework MySQL Driver 数据库设计 在MySQL数据库中创建一个名为 studentdb 的数据库,并创建一个名为 students 的表,表结构如下:

    2024年02月11日
    浏览(50)
  • 使用多数据源dynamic-datasource-spring-boot-starter遇到的问题记录

    记录使用多数据源dynamic-datasource-spring-boot-starter遇到的问题: 1、工程启动失败 缺少clickhouse连接驱动,引入对应的maven依赖 2、clickhouse的sql语句读到了mysql数据库 在工程的配置文件只配置了ck数据源配置的时候,@DS(“数据源名称”)用在service接口上没什么问题。 由于新的需求

    2024年02月15日
    浏览(54)
  • Spring Boot进阶(75):从容应对HTTP请求——Spring Boot与OkHttp完美结合

            在现代的Web应用程序中,HTTP请求成为了构建客户端和服务器端之间通信的一个重要手段。Spring Boot是一个灵活的Web框架,它提供了与HTTP请求相关的许多特性和API。OkHttp是一个流行的HTTP客户端库,它提供了面向对象的API,以便开发人员轻松地在其应用中进行HTTP请求

    2024年02月06日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包