功能变化:

1.优化角色管理中的列权限;
This commit is contained in:
猿小天
2023-12-03 22:51:42 +08:00
parent 583b172a37
commit 95b14e5a42

View File

@@ -14,13 +14,13 @@
<script lang="ts" setup name="role">
import {ref, onMounted, inject, onBeforeUpdate} from 'vue';
import { useColumnPermission } from '/@/stores/columnPermission';
import { GetPermission } from './api';
import { useExpose, useCrud } from '@fast-crud/fast-crud';
import { createCrudOptions } from './crud';
import PermissionComNew from './components/PermissionComNew/index.vue';
import _ from "lodash-es";
import {columnPermission} from "/@/utils/columnPermission";
import {handleColumnPermission} from "/@/utils/columnPermission";
let drawerVisible = ref(false);
let roleId = ref(null);
let roleName = ref(null);
@@ -32,12 +32,6 @@ const crudRef = ref();
const crudBinding = ref();
const fetchColumnPermission = async () => {
const res = await GetPermission();
useColumnPermission().setPermissionData(res.data);
console.log(3333,res)
};
const handleDrawerOpen = (row: any) => {
roleId.value = row.id;
roleName.value = row.name;
@@ -49,24 +43,6 @@ const handleDrawerClose = () => {
};
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配置
const { crudOptions } = createCrudOptions({ crudExpose, rolePermission, handleDrawerOpen });
@@ -76,24 +52,16 @@ const { crudOptions } = createCrudOptions({ crudExpose, rolePermission, handleDr
// 页面打开后获取列表数据
onMounted( async () => {
await handlecolumnPermission(crudOptions)
// //合并新的crudOptions
// const newOptions = _.merge(crudOptions, {
// columns: {
// text: {
// title: "追加字段",
// type: "text"
// }
// }
// });
//重置crudBinding
// resetCrudOptions(newOptions);
const newOptions = await handleColumnPermission(GetPermission,crudOptions)
// 初始化crud配置
const { resetCrudOptions } = useCrud({
crudExpose,
crudOptions,
context: {},
});
//重置crudBinding
resetCrudOptions(newOptions);
crudExpose.doRefresh();
});