Fastadmin根据链接参数显示不同列表格

devtools/2025/2/11 19:21:45/

前端有不同的角色,我在后台设置了不同的菜单管理账号,如下图:

不同的账号表格中要展示不同的内容,要显示不同的列。

解决办法是在定义表格前获取url中的group_id参数,根据不同参数定义不同的表格。

代码如下:

javascript">define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {var Controller = {index: function () {// 初始化表格参数配置Table.api.init({extend: {//group_id的值传递给后台接口处理相应逻辑index_url: 'user/user/index'+location.search,add_url: 'user/user/add'+location.search,edit_url: 'user/user/edit'+location.search,del_url: 'user/user/del'+location.search,multi_url: 'user/user/multi',table: 'user',}});var table = $("#table");// 解析 URL 查询参数 获取group_id的值var queryParams = new URLSearchParams(location.search);var groupId = queryParams.get('group_id');if (groupId == 1) {// 学员表格table.bootstrapTable({url: $.fn.bootstrapTable.defaults.extend.index_url,pk: 'id',sortName: 'user.id',columns: [[{checkbox: true},{field: 'id', title: __('Id'), sortable: true,operate:false},{field: 'group.name', title: __('Group'),operate:false},{field: 'username', title: __('Username'), operate: 'LIKE'},{field: 'nickname', title: __('Nickname'), operate: 'LIKE'},// {field: 'email', title: __('Email'), operate: 'LIKE'},{field: 'mobile', title: __('Mobile'), operate: 'LIKE'},{field: 'avatar', title: __('Avatar'), events: Table.api.events.image, formatter: Table.api.formatter.image, operate: false},// {field: 'level', title: __('Level'), operate: 'BETWEEN', sortable: true},// {field: 'gender', title: __('Gender'), visible: false, searchList: {1: __('Male'), 0: __('Female')}},// {field: 'score', title: __('Score'), operate: 'BETWEEN', sortable: true},// {field: 'successions', title: __('Successions'), visible: false, operate: 'BETWEEN', sortable: true},// {field: 'maxsuccessions', title: __('Maxsuccessions'), visible: false, operate: 'BETWEEN', sortable: true},// {field: 'logintime', title: __('Logintime'), formatter: Table.api.formatter.datetime, operate: 'RANGE', addclass: 'datetimerange', sortable: true},// {field: 'loginip', title: __('Loginip'), formatter: Table.api.formatter.search},{field: 'createtime', title: __('Createtime'), formatter: Table.api.formatter.datetime, operate: 'RANGE', addclass: 'datetimerange', sortable: true},// {field: 'joinip', title: __('Joinip'), formatter: Table.api.formatter.search},{field: 'status', title: __('Status'), formatter: Table.api.formatter.status, searchList: {normal: __('Normal'), hidden: __('Hidden')}},{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}]]});} else if (groupId == 2) {// 家长表格table.bootstrapTable({url: $.fn.bootstrapTable.defaults.extend.index_url,pk: 'id',sortName: 'user.id',columns: [[{checkbox: true},{field: 'id', title: __('Id'), sortable: true,operate:false},{field: 'group.name', title: __('Group'),operate:false},{field: 'username', title: __('Username'), operate: 'LIKE'},{field: 'nickname', title: __('Nickname'), operate: 'LIKE'},// {field: 'email', title: __('Email'), operate: 'LIKE'},{field: 'mobile', title: __('Mobile'), operate: 'LIKE'},{field: 'avatar', title: __('Avatar'), events: Table.api.events.image, formatter: Table.api.formatter.image, operate: false},// {field: 'level', title: __('Level'), operate: 'BETWEEN', sortable: true},// {field: 'gender', title: __('Gender'), visible: false, searchList: {1: __('Male'), 0: __('Female')}},// {field: 'score', title: __('Score'), operate: 'BETWEEN', sortable: true},// {field: 'successions', title: __('Successions'), visible: false, operate: 'BETWEEN', sortable: true},// {field: 'maxsuccessions', title: __('Maxsuccessions'), visible: false, operate: 'BETWEEN', sortable: true},// {field: 'logintime', title: __('Logintime'), formatter: Table.api.formatter.datetime, operate: 'RANGE', addclass: 'datetimerange', sortable: true},// {field: 'loginip', title: __('Loginip'), formatter: Table.api.formatter.search},{field: 'createtime', title: __('Createtime'), formatter: Table.api.formatter.datetime, operate: 'RANGE', addclass: 'datetimerange', sortable: true},// {field: 'joinip', title: __('Joinip'), formatter: Table.api.formatter.search},{field: 'status', title: __('Status'), formatter: Table.api.formatter.status, searchList: {normal: __('Normal'), hidden: __('Hidden')}},{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}]]});} else if (groupId == 3)  {// 经销商表格table.bootstrapTable({url: $.fn.bootstrapTable.defaults.extend.index_url,pk: 'id',sortName: 'user.id',columns: [[{checkbox: true},{field: 'id', title: __('Id'), sortable: true,operate:false},{field: 'group.name', title: __('Group'),operate:false},{field: 'username', title: __('Username'), operate: 'LIKE'},{field: 'nickname', title: __('Nickname'), operate: 'LIKE'},// {field: 'email', title: __('Email'), operate: 'LIKE'},{field: 'mobile', title: __('Mobile'), operate: 'LIKE'},{field: 'avatar', title: __('Avatar'), events: Table.api.events.image, formatter: Table.api.formatter.image, operate: false},// {field: 'level', title: __('Level'), operate: 'BETWEEN', sortable: true},// {field: 'gender', title: __('Gender'), visible: false, searchList: {1: __('Male'), 0: __('Female')}},// {field: 'score', title: __('Score'), operate: 'BETWEEN', sortable: true},// {field: 'successions', title: __('Successions'), visible: false, operate: 'BETWEEN', sortable: true},// {field: 'maxsuccessions', title: __('Maxsuccessions'), visible: false, operate: 'BETWEEN', sortable: true},// {field: 'logintime', title: __('Logintime'), formatter: Table.api.formatter.datetime, operate: 'RANGE', addclass: 'datetimerange', sortable: true},// {field: 'loginip', title: __('Loginip'), formatter: Table.api.formatter.search},{field: 'createtime', title: __('Createtime'), formatter: Table.api.formatter.datetime, operate: 'RANGE', addclass: 'datetimerange', sortable: true},// {field: 'joinip', title: __('Joinip'), formatter: Table.api.formatter.search},{field: 'status', title: __('Status'), formatter: Table.api.formatter.status, searchList: {normal: __('Normal'), hidden: __('Hidden')}},{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}]]});}else{// 体验账号表格table.bootstrapTable({url: $.fn.bootstrapTable.defaults.extend.index_url,pk: 'id',sortName: 'user.id',columns: [[{checkbox: true},{field: 'id', title: __('Id'), sortable: true,operate:false},{field: 'group.name', title: __('Group'),operate:false},{field: 'username', title: __('Username'), operate: 'LIKE'},{field: 'nickname', title: __('Nickname'), operate: 'LIKE'},// {field: 'email', title: __('Email'), operate: 'LIKE'},{field: 'mobile', title: __('Mobile'), operate: 'LIKE'},{field: 'avatar', title: __('Avatar'), events: Table.api.events.image, formatter: Table.api.formatter.image, operate: false},// {field: 'level', title: __('Level'), operate: 'BETWEEN', sortable: true},// {field: 'gender', title: __('Gender'), visible: false, searchList: {1: __('Male'), 0: __('Female')}},// {field: 'score', title: __('Score'), operate: 'BETWEEN', sortable: true},// {field: 'successions', title: __('Successions'), visible: false, operate: 'BETWEEN', sortable: true},// {field: 'maxsuccessions', title: __('Maxsuccessions'), visible: false, operate: 'BETWEEN', sortable: true},// {field: 'logintime', title: __('Logintime'), formatter: Table.api.formatter.datetime, operate: 'RANGE', addclass: 'datetimerange', sortable: true},// {field: 'loginip', title: __('Loginip'), formatter: Table.api.formatter.search},{field: 'createtime', title: __('Createtime'), formatter: Table.api.formatter.datetime, operate: 'RANGE', addclass: 'datetimerange', sortable: true},// {field: 'joinip', title: __('Joinip'), formatter: Table.api.formatter.search},{field: 'status', title: __('Status'), formatter: Table.api.formatter.status, searchList: {normal: __('Normal'), hidden: __('Hidden')}},{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}]]});}// 为表格绑定事件Table.api.bindevent(table);},add: function () {Controller.api.bindevent();},edit: function () {Controller.api.bindevent();},api: {bindevent: function () {Form.api.bindevent($("form[role=form]"));}}};return Controller;
});


http://www.ppmy.cn/devtools/158009.html

相关文章

51单片机07 串口通信

串口是一种应用十分广泛的通讯接口,串口成本低、容易使用、通信线路简单,可实现两个设备的互相通信。单片机的串口可以使单片机与单片机、单片机与电脑、单片机与各式各样的模块互相通信。51单片机内部自带UART(Universal Asynchronous Recei…

防御综合实验

需求一 配置vlan [SW2]int g 0/0/2 [SW2-GigabitEthernet0/0/2]port link-type access [SW2-GigabitEthernet0/0/2]port default vlan 10 [SW2-GigabitEthernet0/0/2]int g0/0/3 [SW2-GigabitEthernet0/0/3]port link-type access [SW2-GigabitEthernet0/0/3]port default vl…

打包工具选择:Vite 还是 Webpack

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

设计模式详解(享元模式)

一、引言 设计模式是一种用于解决在特定上下文中经常出现的问题的优秀解决方案。它们为开发人员提供了一种通用的设计语言,有助于创建灵活且可维护的代码。享元设计模式(Flyweight Pattern)是结构型模式之一,它通过共享对象来减少…

MHTML文件如何在前端页面展示

MHTML文件如何在前端页面展示 需求背景: 目前在给证券公司做项目,但是在使用新系统的过程中,甲方还希望之前之前系统的历史记录可以看到。 最初制定的计划是项目组里面做数据的把原系统页面爬取下来,转成图片,直接给…

安装 Ollama 需要哪些步骤?(windows+mac+linux+二进制+Docker)

安装 Ollama 的步骤根据操作系统不同会有所差异,以下是针对不同操作系统的详细安装指南: Windows 系统 下载安装包:访问 Ollama 官方下载页面,下载适用于 Windows 的安装程序 OllamaSetup.exe。运行安装程序:双击下载的安装包,按照提示完成安装。默认安装路径为 C:\User…

Dockerfile中Alpine镜像设置东八时区

RUN apk add tzdata # 设置时区为东八区(上海) RUN ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime参考 Setting the timezone

【SpringBoot】单元测试实战演示及心得分享

目录 1.指定测试标准 2.设计测试用例 3.测试集示例 4.跑测试集 1.指定测试标准 单元测试会用到mock和junit的内容,作者前文有详解,可移步: Spring Boot单元测试-CSDN博客 mockito的详细使用-CSDN博客 1.1.测哪一层? 以当…