描述

我想做一个判断用户是不是管理员,若是管理员,则可以看见所有的表格信息;非管理员,只能观看到少量的表格列。

一.通过layui表格列自带的hide属性控制表格列

思路:获取到登录用户的信息(字段isSys,转化为boolean类型),判断是不是系统级用户,利用modelAndView添加信息属性值,在页面内元素中获取隐藏,jq获取元素属性值,将改属性值,可直接填入hide属性中。

java

mav.addObject("user1",user);

html

<input type="hidden" id="isSys" th:value="${user1.isSys}"/>

js

var isSys = $("#isSys").val();

       var clos1 =[
            [
                {type: 'checkbox'}
                {title:'操作',width:80,toolbar: '#table-toolbar',width: 130} //title列名,toolbar操作按钮
                ,{field: "loginName", title: '登录名'}
                ,{field: "userName", title: '姓名'}
                ,{field: "phone", title: '电话号码'}
                ,{field: "isDel", title: '是否删除', templet: '#isDelTemplate',hide:!isSys}
                ,{field:'', title:'名称'+'(可编辑)', edit: 'text'} //edit可编辑
                ,{field:'createTime', title:'创建时间'}
                ,{field:'updateTime', title:'修改时间'}
            ]
        ];

二.利用属性display来控制

 ,cols: clos1
 ,done:function(res){ // 隐藏列
    if(!isSys) {
       $("[data-field='isDel']").css('display', 'none');
       }

使用这种方式表格末尾会有残余的表格列表头

Logo

一站式 AI 云服务平台

更多推荐