refactor(所有页面): ♻️ 所有页面的按钮权限配置

This commit is contained in:
猿小天
2023-04-10 16:45:49 +08:00
committed by H0nGzA1
parent 175b151f7f
commit 61ae6e8eb3
5 changed files with 48 additions and 4 deletions

View File

@@ -1,7 +1,7 @@
import * as api from './api';
import { dict, UserPageQuery, AddReq, DelReq, EditReq, compute, CreateCrudOptionsProps, CreateCrudOptionsRet } from '@fast-crud/fast-crud';
import { dictionary } from '/@/utils/dictionary';
import { nextTick, ref } from 'vue';
import {inject, nextTick, ref} from 'vue';
import { successMessage } from '/@/utils/message';
export const createCrudOptions = function ({ crudExpose, context }: CreateCrudOptionsProps): CreateCrudOptionsRet {
@@ -18,6 +18,11 @@ export const createCrudOptions = function ({ crudExpose, context }: CreateCrudOp
const addRequest = async ({ form }: AddReq) => {
return await api.AddObj(form);
};
//权限判定
const hasPermissions = inject("$hasPermissions")
return {
crudOptions: {
request: {
@@ -27,6 +32,7 @@ export const createCrudOptions = function ({ crudExpose, context }: CreateCrudOp
delRequest,
},
rowHandle: {
fixed:'right',
width: 200,
buttons: {
view: {
@@ -35,14 +41,17 @@ export const createCrudOptions = function ({ crudExpose, context }: CreateCrudOp
edit: {
iconRight: 'Edit',
type: 'text',
show:hasPermissions('dictonary:Update')
},
remove: {
iconRight: 'Delete',
type: 'text',
show:hasPermissions('dictonary:Delete')
},
custom: {
text: '字典配置',
type: 'text',
show:hasPermissions('dictonary:Update'),
tooltip: {
placement: 'top',
content: '字典配置',

View File

@@ -1,7 +1,7 @@
import * as api from './api';
import { dict, useCompute, PageQuery, AddReq, DelReq, EditReq, CrudExpose, CrudOptions } from '@fast-crud/fast-crud';
import tableSelector from '/@/components/tableSelector/index.vue';
import { shallowRef, computed, ref } from 'vue';
import {shallowRef, computed, ref, inject} from 'vue';
import manyToMany from '/@/components/manyToMany/index.vue';
const { compute } = useCompute();
@@ -36,6 +36,9 @@ export const createCrudOptions = function ({ crudExpose, tabActivted }: { crudEx
return tabActivted.value === 'receive';
});
//权限判定
const hasPermissions = inject("$hasPermissions")
return {
crudOptions: {
request: {
@@ -45,11 +48,17 @@ export const createCrudOptions = function ({ crudExpose, tabActivted }: { crudEx
delRequest,
},
rowHandle: {
fixed:'right',
width:150,
buttons: {
edit: {
show: false,
},
view: {
text:"查看",
type:'text',
iconRight:'View',
show:hasPermissions("messageCenter:Search"),
click({ index, row }) {
crudExpose.openView({ index, row });
if (tabActivted.value === 'receive') {
@@ -58,6 +67,11 @@ export const createCrudOptions = function ({ crudExpose, tabActivted }: { crudEx
}
},
},
remove: {
iconRight: 'Delete',
type: 'text',
show:hasPermissions('messageCenter:Delete')
},
},
},
columns: {

View File

@@ -3,6 +3,7 @@ import _ from 'lodash-es';
import * as api from './api';
import { dictionary } from '/@/utils/dictionary';
import { successMessage } from '../../../utils/message';
import {inject} from "vue";
interface CreateCrudOptionsTypes {
crudOptions: CrudOptions;
}
@@ -23,6 +24,9 @@ export const createCrudOptions = function ({ crudExpose, rolePermission }: { cru
return await api.AddObj(form);
};
//权限判定
const hasPermissions = inject("$hasPermissions")
return {
crudOptions: {
request: {
@@ -42,17 +46,20 @@ export const createCrudOptions = function ({ crudExpose, rolePermission }: { cru
edit: {
iconRight: 'Edit',
type: 'text',
show:hasPermissions('role:Update')
},
remove: {
iconRight: 'Delete',
type: 'text',
show:hasPermissions('role:Delete')
},
custom: {
text: '权限配置',
type: 'text',
show:hasPermissions('role:Update'),
tooltip: {
placement: 'top',
content: '删除',
content: '权限配置',
},
click: (context: any): void => {
const { row } = context;

View File

@@ -3,6 +3,7 @@ import { dict, PageQuery, AddReq, DelReq, EditReq, CrudExpose, CrudOptions, comp
import { request } from '/@/utils/service';
import { dictionary } from '/@/utils/dictionary';
import { successMessage } from '/@/utils/message';
import {inject} from "vue";
interface CreateCrudOptionsTypes {
crudOptions: CrudOptions;
}
@@ -21,6 +22,10 @@ export const createCrudOptions = function ({ crudExpose }: { crudExpose: CrudExp
const addRequest = async ({ form }: AddReq) => {
return await api.AddObj(form);
};
//权限判定
const hasPermissions = inject("$hasPermissions")
return {
crudOptions: {
request: {
@@ -40,10 +45,12 @@ export const createCrudOptions = function ({ crudExpose }: { crudExpose: CrudExp
edit: {
iconRight: 'Edit',
type: 'text',
show:hasPermissions('user:Update')
},
remove: {
iconRight: 'Delete',
type: 'text',
show:hasPermissions('user:Delete')
},
},
},

View File

@@ -3,6 +3,7 @@ import { dict, UserPageQuery, AddReq, DelReq, EditReq, compute, CreateCrudOption
import { request } from '/@/utils/service';
import { dictionary } from '/@/utils/dictionary';
import { successMessage } from '/@/utils/message';
import {inject} from "vue";
export const createCrudOptions = function ({ crudExpose }: CreateCrudOptionsProps): CreateCrudOptionsRet {
const pageRequest = async (query: UserPageQuery) => {
@@ -18,6 +19,10 @@ export const createCrudOptions = function ({ crudExpose }: CreateCrudOptionsProp
const addRequest = async ({ form }: AddReq) => {
return await api.AddObj(form);
};
//权限判定
const hasPermissions = inject("$hasPermissions")
return {
crudOptions: {
request: {
@@ -29,7 +34,7 @@ export const createCrudOptions = function ({ crudExpose }: CreateCrudOptionsProp
rowHandle: {
//固定右侧
fixed: 'right',
width: 200,
width: 150,
buttons: {
view: {
show: false,
@@ -37,10 +42,12 @@ export const createCrudOptions = function ({ crudExpose }: CreateCrudOptionsProp
edit: {
iconRight: 'Edit',
type: 'text',
show:hasPermissions("api_white_list:Update")
},
remove: {
iconRight: 'Delete',
type: 'text',
show:hasPermissions("api_white_list:Delete")
},
},
},