fastadmin给操作按钮添加权限菜单控制|新增权限控制菜单

1、在对应的控制器文件中,添加如下代码:

$adminIds = $this->getDataLimitAdminIds();
if (is_array($adminIds)) {if (!in_array($row[$this->dataLimitField], $adminIds)) {$this->error(__('You have no permission'));}
}

2、在对应的index.html文件中,添加如下代码:

data-operate-edit_job="{:$auth->check('user/user/edit_job')}"

 3、在对应的js文件中,添加如下代码:

edit_job_url: 'user/user/edit_job',

 

{name: 'edit_job',text: __('Job'),icon: 'fa fa-eye',classname: 'btn btn-info btn-xs btn-edit_job',url: 'user/user/edit_job'
},

 

edit_job: function () {Controller.api.bindevent();
},

4、在 public/assets/js/require-table.js 文件中,编辑如下:

edit_job_url: '',

 在 图标库 里,找到相对应的图标,

 

edit_job: {name: 'edit_job',icon: 'fa fa-user-circle',title: __('编辑工作信息'),extend: 'data-toggle="tooltip"',classname: 'btn btn-info btn-xs btn-edit_job'
}

 在批量操作请求,修改 url 的三目运算符,将原来的 var url = typeof data.url 注释掉,替换成如下代码:

// var url = typeof data.url !== "undefined" ? data.url : (action == "del" ? options.extend.del_url : options.extend.multi_url);var url = typeof data.url !== "undefined" ? data.url : (action == "del" ? options.extend.del_url :(action == "edit_job" ? options.extend.edit_job_url:(action == "edit_job" ? options.extend.cancel_url:options.extend.multi_url)));

 在单元格事件中,添加如下代码:

'click .btn-edit_job': function (e, value, row, index) {e.stopPropagation();e.preventDefault();var that = this;var table = $(this).closest('table');var options = table.bootstrapTable('getOptions');var ids = row[options.pk];row = $.extend({}, row ? row : {}, {ids: ids});var url = options.extend.edit_job_url;Fast.api.open(Table.api.replaceurl(url, row, table), $(this).data("original-title") || $(this).attr("title") || __('编辑工作信息'), $(this).data() || {});
},

 

if (options.extend.edit_job_url !== '' && names.indexOf('edit_job') === -1) {buttons.push(Table.button.edit_job);
}

5、用数据库工具Navicat打开权限节点表表 fa_auth_rule,新增一条记录。

6、在后台,权限管理--角色组,给对应的角色组勾选此条记录,即可看到对应的按钮,否则按钮则不可见。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/3250.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Angular实现一个简单的带tabs选项卡切换的首页导航功能

Angular版本:16.1.1 项目结构: angular.json配置: {"$schema": "./node_modules/angular/cli/lib/config/schema.json","version": 1,"newProjectRoot": "projects","projects"…

微服务: sleuth和zipkin的用处与zipkin安装使用(下)

目录 0. 上篇传送门: 1. 前言简介 mq安装传送门: 微服务: 01-rabbitmq的应用场景及安装(docker) 1.1 Sleuth是一款分布式跟踪解决方案。 1.2 Zipkin是一个开源的分布式跟踪系统。 2. zipkin安装方式 2.1 windows下安装zipkin: 2.1.0 下载jar包位置 2.1.1 下载后,找…

生成 ocr key 字符集 alphabet 6698个字符

生成 ocr key 字符集 alphabet import pickle as pkl#----------- 生成 ocr key 字符集 alphabet alphabet_set set() # 数据集label infofiles_label [/home/jlb/下载/rec_data_lesson_demo/train.txt, /home/jlb/下载/rec_data_lesson_demo/val.txt]# ppocr中文key infofil…

OA办公系统如何通过审批流程提高效率

企业的发展与管理离不开信息化,很多企业的信息化都会选择从OA信息化开始。一个成熟先进的OA办公系统流程审批也是核心功能关注的功能之一,今天小编举例有18年平台经验的天翎低代码平台OA系统,给大家分享一下如果提升流程审批效率:…

IP路由选择过程

1.1路由选择基础 路由选择是指将分组从一个设备通过互联网络发往位于不同网络上的另一个设备的操作。路由器不关注网络中的主机,而只关注互联起来的网络以及通往各个网络的最佳路径。 目标主机的逻辑网络地址用来获取通过可路由网络传送到指定网络中的分组&#xf…

基于Java的万年历(课设)

基于Java的万年历 资源链接:基于Java的万年历(课设) 文章目录 基于Java的万年历1 绪论2 需求分析3 概要设计3.1 类间组合框架3.2 布局结构示意3.3 对各个类的概述 4运行环境5 开发工具和编辑语言6 详细设计6.1 NiceCaelendar类6.2 NiceFram…

软考高级系统架构设计师(九) 作文模板-企业应用集成

目录 作文模板 例子-企业应用集成 摘要 项目相关背景及主要功能 你的岗位及主要职责 论文主体内容的总概 项目最终的实施效果或你的总结和感悟等 正文 项目背景介绍 相关问题回应 主体内容 论文结论 例子-类似方向- 作文模板 例子-企业应用集成 2021系统架构设计…

使用英特尔 oneAPI AI 工具分析包实现AI应用程序的调试与改进

目录 1.什么是英特尔 oneAPI AI? 关于英特尔 oneAPI AI 工具分析包 2.使用英特尔 oneAPI AI 工具分析包实现AI数据分析 准备工作 数据准备 编写AI应用程序 性能分析 并行性优化 内存和线程错误分析 优化AI算法 性能验证与调试 性能优化迭代 3.总结 1.什…

【④MySQL函数】:让你的数据库操作更高效(一)

前言 ✨欢迎来到小K的MySQL专栏,本节将为大家带来MySQL字符串函数和数学函数的讲解✨ 目录 前言一、字符串函数二、数学函数三、总结 一、字符串函数 函数作用UPPER(列|字符串)将字符串每个字符转为大写LOWER(列|字符串)将字符串每个字符转为小写CONCAT(str1,str2,…

【问题记录】如何使用 pip 在 linux 上安装 pytorch

一、进入 pytorch 官网 pytorch 官网:https://pytorch.org/ 二、在页面选择环境 三、复制官网弹出的命令并运行即可 pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

JavaScript 内置对象 数据类型

目录 JavaScript 内置对象 1.内置对象 2.查文档 2.1MDN 2.2 如何学习对象中的方法 3.Math对象 3.1Math 概述 3.2随机数方法 random() 4. 日期对象 4.1Date 概述 4.2Date() 方法的使用 4.3 日期格式化 4.4获取毫秒的总的毫秒形式 5.数组对象 5.1数组对象的创建 5…

互联网编程之基于 TCP 的单线程文件收发程序(CS架构)

目录 需求 服务端实现 客户端实现 测试 需求 可试着根据java编程课所学到的java socket编程技术,尝试编写一个基于 TCP 的单线程文件收发程序,需满足: 服务端程序预先定义好需要发送的文件并等待客户端的连接。 客户端连接成功后&…