123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178 |
- import { USER_AUTH,SYS_BUTTON_AUTH } from "@/store/mutation-types"
- export function disabledAuthFilter(code,formData) {
- if(nodeDisabledAuth(code,formData)){
- return true;
- }else{
- return globalDisabledAuth(code);
- }
- }
- function nodeDisabledAuth(code,formData){
- let permissionList = [];
- try {
- //console.log("页面权限禁用--NODE--开始",obj);
- if (formData) {
- let bpmList = formData.permissionList;
- permissionList = bpmList.filter(item=>item.type=='2')
- // for (let bpm of bpmList) {
- // if(bpm.type == '2') {
- // permissionList.push(bpm);
- // }
- // }
- }else{
- return false;
- }
- } catch (e) {
- //console.log("页面权限异常----", e);
- }
- if (permissionList.length == 0) {
- return false;
- }
- console.log("流程节点页面权限禁用--NODE--开始");
- let permissions = [];
- for (let item of permissionList) {
- if(item.type == '2') {
- permissions.push(item.action);
- }
- }
- //console.log("页面权限----"+code);
- if (!permissions.includes(code)) {
- return false;
- }else{
- for (let item2 of permissionList) {
- if(code === item2.action){
- console.log("流程节点页面权限禁用--NODE--生效");
- return true;
- }
- }
- }
- return false;
- }
- function globalDisabledAuth(code){
- //console.log("全局页面禁用权限--Global--开始");
- var permissionList = [];
- var allPermissionList = [];
- //let authList = Vue.ls.get(USER_AUTH);
- let authList = JSON.parse(sessionStorage.getItem(USER_AUTH) || "[]");
- for (let auth of authList) {
- if(auth.type == '2') {
- permissionList.push(auth);
- }
- }
- //console.log("页面禁用权限--Global--",sessionStorage.getItem(SYS_BUTTON_AUTH));
- let allAuthList = JSON.parse(sessionStorage.getItem(SYS_BUTTON_AUTH) || "[]");
- for (let gauth of allAuthList) {
- if(gauth.type == '2') {
- allPermissionList.push(gauth);
- }
- }
- //设置全局配置是否有命中
- var gFlag = false;//禁用命中
- var invalidFlag = false;//无效命中
- if(allPermissionList != null && allPermissionList != "" && allPermissionList != undefined && allPermissionList.length > 0){
- for (let itemG of allPermissionList) {
- if(code === itemG.action){
- if(itemG.status == '0'){
- invalidFlag = true;
- break;
- }else{
- gFlag = true;
- break;
- }
- }
- }
- }
- if(invalidFlag){
- return false;
- }
- if (permissionList === null || permissionList === "" || permissionList === undefined||permissionList.length<=0) {
- return gFlag;
- }
- let permissions = [];
- for (let item of permissionList) {
- if(item.type == '2') {
- permissions.push(item.action);
- }
- }
- //console.log("页面禁用权限----"+code);
- if (!permissions.includes(code)) {
- return gFlag;
- }else{
- for (let item2 of permissionList) {
- if(code === item2.action){
- console.log("全局页面权限解除禁用--Global--生效");
- gFlag = false;
- }
- }
- return gFlag;
- }
- }
- export function colAuthFilter(columns,pre) {
- var authList = getNoAuthCols(pre);
- const cols = columns.filter(item => {
- if (hasColoum(item,authList)) {
- return true
- }
- return false
- })
- return cols
- }
- function hasColoum(item,authList){
- if (authList.includes(item.dataIndex)) {
- return false
- }
- return true
- }
- //权限无效时不做控制,有效时控制,只能控制 显示不显示
- //根据授权码前缀获取未授权的列信息
- function getNoAuthCols(pre){
- let permissionList = [];
- let allPermissionList = [];
- //let authList = Vue.ls.get(USER_AUTH);
- let authList = JSON.parse(sessionStorage.getItem(USER_AUTH) || "[]");
- for (let auth of authList) {
- //显示策略,有效状态
- if(auth.type == '1'&&startWith(auth.action,pre)) {
- permissionList.push(substrPre(auth.action,pre));
- }
- }
- //console.log("页面禁用权限--Global--",sessionStorage.getItem(SYS_BUTTON_AUTH));
- let allAuthList = JSON.parse(sessionStorage.getItem(SYS_BUTTON_AUTH) || "[]");
- for (let gauth of allAuthList) {
- //显示策略,有效状态
- if(gauth.type == '1'&&gauth.status == '1'&&startWith(gauth.action,pre)) {
- allPermissionList.push(substrPre(gauth.action,pre));
- }
- }
- const cols = allPermissionList.filter(item => {
- if (permissionList.includes(item)) {
- return false;
- }
- return true;
- })
- return cols;
- }
- function startWith(str,pre) {
- if (pre == null || pre == "" || str==null|| str==""|| str.length == 0 || pre.length > str.length)
- return false;
- if (str.substr(0, pre.length) == pre)
- return true;
- else
- return false;
- }
- function substrPre(str,pre) {
- return str.substr(pre.length);
- }
|