This commit is contained in:
dap 2024-10-12 11:29:19 +08:00
commit 21e05a1bc8
6 changed files with 30 additions and 4 deletions

View File

@ -222,5 +222,7 @@
"vitest.disableWorkspaceWarning": true,
"cSpell.words": ["tinymce"],
"typescript.tsdk": "node_modules/typescript/lib",
"editor.linkedEditing": true // html
"editor.linkedEditing": true, // html,
"vscodeCustomCodeColor.highlightValue": "v-access", // v-access
"vscodeCustomCodeColor.highlightValueColor": "#CCFFFF"
}

View File

@ -84,6 +84,7 @@
}
},
"menu": {
"root": "Root",
"system": {
"root": "System",
"user": "User",

View File

@ -84,6 +84,7 @@
}
},
"menu": {
"root": "根目录",
"system": {
"root": "系统管理",
"user": "用户管理",

View File

@ -43,12 +43,16 @@ const [BasicForm, formApi] = useVbenForm({
async function setupMenuSelect() {
// menu
const menuArray = await menuList();
// support i18n
menuArray.forEach((item) => {
item.menuName = $t(item.menuName);
});
// const folderArray = menuArray.filter((item) => item.menuType === 'M');
const menuTree = listToTree(menuArray, { id: 'menuId', pid: 'parentId' });
const fullMenuTree = [
{
menuId: 0,
menuName: '根目录',
menuName: $t('menu.root'),
children: menuTree,
},
];

View File

@ -4,6 +4,7 @@ import type { Column, GenInfo } from '#/api/tool/gen/model';
import { inject, onMounted, type Ref } from 'vue';
import { useVbenForm } from '@vben/common-ui';
import { $t } from '@vben/locales';
import { addFullName, listToTree } from '@vben/utils';
import { Col, Row } from 'ant-design-vue';
@ -66,12 +67,16 @@ async function initTreeSelect(columns: Column[]) {
*/
async function initMenuSelect() {
const list = await menuList();
// support i18n
list.forEach((item) => {
item.menuName = $t(item.menuName);
});
const tree = listToTree(list, { id: 'menuId', pid: 'parentId' });
const treeData = [
{
fullName: '根目录',
fullName: $t('menu.root'),
menuId: 0,
menuName: '根目录',
menuName: $t('menu.root'),
children: tree,
},
];

13
apps/web-antd/types/directive.d.ts vendored Normal file
View File

@ -0,0 +1,13 @@
import type { Directive } from 'vue';
declare module 'vue' {
export interface ComponentCustomProperties {
/**
* 判断权限: v-access:code=""
* v-access:role=""
* VueOfficial插件暂时不支持判断modifer/arg
* @see https://github.com/vuejs/language-tools/issues/4810
*/
vAccess: Directive<Element, string | string[]>;
}
}