修改权限膜拜

This commit is contained in:
xie7654
2025-07-03 17:14:06 +08:00
parent 6dfc242166
commit 232ed06008
4 changed files with 27 additions and 7 deletions

View File

@@ -17,6 +17,16 @@ ${form_fields}
]; ];
} }
/**
* 获取编辑表单的字段配置
*/
export function useGridFormSchema(): VbenFormSchema[] {
return [
${form_fields}
];
}
/** /**
* 获取表格列配置 * 获取表格列配置
* @description 使用函数的形式返回列数据而不是直接export一个Array常量是为了响应语言切换时重新翻译表头 * @description 使用函数的形式返回列数据而不是直接export一个Array常量是为了响应语言切换时重新翻译表头
@@ -36,7 +46,10 @@ ${columns}
onClick: onActionClick, onClick: onActionClick,
}, },
name: 'CellOperation', name: 'CellOperation',
options: ['edit', 'delete'], options: [
op('${app_name}:${model_name_snake}:edit', 'edit'),
op('${app_name}:${model_name_snake}:delete', 'delete'),
],
}, },
field: 'action', field: 'action',
fixed: 'right', fixed: 'right',

View File

@@ -14,7 +14,7 @@ import { useVbenVxeGrid } from '#/adapter/vxe-table';
import { $$t } from '#/locales'; import { $$t } from '#/locales';
import { ${app_name_camel}${model_name}Model } from '#/models/${app_name}/${model_name_snake}'; import { ${app_name_camel}${model_name}Model } from '#/models/${app_name}/${model_name_snake}';
import { useColumns } from './data'; import { useColumns, useGridFormSchema } from './data';
import Form from './modules/form.vue'; import Form from './modules/form.vue';
const formModel = new ${app_name_camel}${model_name}Model(); const formModel = new ${app_name_camel}${model_name}Model();
@@ -81,6 +81,10 @@ function onActionClick({
} }
const [Grid, gridApi] = useVbenVxeGrid({ const [Grid, gridApi] = useVbenVxeGrid({
formOptions: {
schema: useGridFormSchema(),
submitOnChange: true,
},
gridEvents: {}, gridEvents: {},
gridOptions: { gridOptions: {
columns: useColumns(onActionClick), columns: useColumns(onActionClick),
@@ -105,6 +109,7 @@ const [Grid, gridApi] = useVbenVxeGrid({
export: false, export: false,
refresh: { code: 'query' }, refresh: { code: 'query' },
zoom: true, zoom: true,
search: true,
}, },
} as VxeTableGridOptions, } as VxeTableGridOptions,
}); });
@@ -122,7 +127,11 @@ function refreshGrid() {
<FormModal @success="refreshGrid" /> <FormModal @success="refreshGrid" />
<Grid table-title="${verbose_name}"> <Grid table-title="${verbose_name}">
<template #toolbar-tools> <template #toolbar-tools>
<Button type="primary" @click="onCreate"> <Button
type="primary"
@click="onCreate"
v-permission="'${app_name}:${model_name_snake}:create'"
>
<Plus class="size-5" /> <Plus class="size-5" />
{{ $$t('ui.actionTitle.create', [$$t('${app_name}.${model_name_snake}.name')]) }} {{ $$t('ui.actionTitle.create', [$$t('${app_name}.${model_name_snake}.name')]) }}
</Button> </Button>

View File

@@ -15,9 +15,8 @@ import { Button, message } from 'ant-design-vue';
import { useVbenVxeGrid } from '#/adapter/vxe-table'; import { useVbenVxeGrid } from '#/adapter/vxe-table';
import { deleteDictType, getDictTypeList } from '#/api/system/dict_type'; import { deleteDictType, getDictTypeList } from '#/api/system/dict_type';
import { $t } from '#/locales'; import { $t } from '#/locales';
import { useGridFormSchema } from '#/views/system/dict_type/data';
import { useColumns } from './data'; import { useColumns, useGridFormSchema } from './data';
import Form from './modules/form.vue'; import Form from './modules/form.vue';
const router = useRouter(); const router = useRouter();

View File

@@ -13,9 +13,8 @@ import { Button, message } from 'ant-design-vue';
import { useVbenVxeGrid } from '#/adapter/vxe-table'; import { useVbenVxeGrid } from '#/adapter/vxe-table';
import { $t } from '#/locales'; import { $t } from '#/locales';
import { SystemPostModel } from '#/models/system/post'; import { SystemPostModel } from '#/models/system/post';
import { useGridFormSchema } from '#/views/system/post/data';
import { useColumns } from './data'; import { useColumns, useGridFormSchema } from './data';
import Form from './modules/form.vue'; import Form from './modules/form.vue';
const formModel = new SystemPostModel(); const formModel = new SystemPostModel();