功能变化:
1.优化角色管理中的列权限;
This commit is contained in:
@@ -14,13 +14,13 @@
|
|||||||
|
|
||||||
<script lang="ts" setup name="role">
|
<script lang="ts" setup name="role">
|
||||||
import {ref, onMounted, inject, onBeforeUpdate} from 'vue';
|
import {ref, onMounted, inject, onBeforeUpdate} from 'vue';
|
||||||
import { useColumnPermission } from '/@/stores/columnPermission';
|
|
||||||
import { GetPermission } from './api';
|
import { GetPermission } from './api';
|
||||||
import { useExpose, useCrud } from '@fast-crud/fast-crud';
|
import { useExpose, useCrud } from '@fast-crud/fast-crud';
|
||||||
import { createCrudOptions } from './crud';
|
import { createCrudOptions } from './crud';
|
||||||
import PermissionComNew from './components/PermissionComNew/index.vue';
|
import PermissionComNew from './components/PermissionComNew/index.vue';
|
||||||
import _ from "lodash-es";
|
import _ from "lodash-es";
|
||||||
import {columnPermission} from "/@/utils/columnPermission";
|
import {handleColumnPermission} from "/@/utils/columnPermission";
|
||||||
let drawerVisible = ref(false);
|
let drawerVisible = ref(false);
|
||||||
let roleId = ref(null);
|
let roleId = ref(null);
|
||||||
let roleName = ref(null);
|
let roleName = ref(null);
|
||||||
@@ -32,12 +32,6 @@ const crudRef = ref();
|
|||||||
const crudBinding = ref();
|
const crudBinding = ref();
|
||||||
|
|
||||||
|
|
||||||
const fetchColumnPermission = async () => {
|
|
||||||
const res = await GetPermission();
|
|
||||||
useColumnPermission().setPermissionData(res.data);
|
|
||||||
console.log(3333,res)
|
|
||||||
};
|
|
||||||
|
|
||||||
const handleDrawerOpen = (row: any) => {
|
const handleDrawerOpen = (row: any) => {
|
||||||
roleId.value = row.id;
|
roleId.value = row.id;
|
||||||
roleName.value = row.name;
|
roleName.value = row.name;
|
||||||
@@ -49,24 +43,6 @@ const handleDrawerClose = () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const { crudExpose } = useExpose({ crudRef, crudBinding });
|
const { crudExpose } = useExpose({ crudRef, crudBinding });
|
||||||
const handlecolumnPermission = async (crudOptions:any)=>{
|
|
||||||
const res = await GetPermission();
|
|
||||||
const columns = crudOptions.columns;
|
|
||||||
for(let col in columns){
|
|
||||||
for(let i in res.data){
|
|
||||||
if(res.data[i].field_name === col){
|
|
||||||
columns[col].column.show = i['is_query']
|
|
||||||
columns[col].addForm = {
|
|
||||||
show:i['is_create']
|
|
||||||
}
|
|
||||||
columns[col].editForm = {
|
|
||||||
show:i['is_update']
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// 你的crud配置
|
// 你的crud配置
|
||||||
const { crudOptions } = createCrudOptions({ crudExpose, rolePermission, handleDrawerOpen });
|
const { crudOptions } = createCrudOptions({ crudExpose, rolePermission, handleDrawerOpen });
|
||||||
@@ -76,24 +52,16 @@ const { crudOptions } = createCrudOptions({ crudExpose, rolePermission, handleDr
|
|||||||
// 页面打开后获取列表数据
|
// 页面打开后获取列表数据
|
||||||
onMounted( async () => {
|
onMounted( async () => {
|
||||||
|
|
||||||
await handlecolumnPermission(crudOptions)
|
const newOptions = await handleColumnPermission(GetPermission,crudOptions)
|
||||||
// //合并新的crudOptions
|
|
||||||
// const newOptions = _.merge(crudOptions, {
|
|
||||||
// columns: {
|
|
||||||
// text: {
|
|
||||||
// title: "追加字段",
|
|
||||||
// type: "text"
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// });
|
|
||||||
//重置crudBinding
|
|
||||||
// resetCrudOptions(newOptions);
|
|
||||||
// 初始化crud配置
|
// 初始化crud配置
|
||||||
const { resetCrudOptions } = useCrud({
|
const { resetCrudOptions } = useCrud({
|
||||||
crudExpose,
|
crudExpose,
|
||||||
crudOptions,
|
crudOptions,
|
||||||
context: {},
|
context: {},
|
||||||
});
|
});
|
||||||
|
//重置crudBinding
|
||||||
|
resetCrudOptions(newOptions);
|
||||||
crudExpose.doRefresh();
|
crudExpose.doRefresh();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user