fix: 菜单选择的i18n处理
This commit is contained in:
parent
2099e672ce
commit
9288341c85
@ -3,7 +3,7 @@ import { computed, ref } from 'vue';
|
|||||||
|
|
||||||
import { useVbenDrawer } from '@vben/common-ui';
|
import { useVbenDrawer } from '@vben/common-ui';
|
||||||
import { $t } from '@vben/locales';
|
import { $t } from '@vben/locales';
|
||||||
import { cloneDeep } from '@vben/utils';
|
import { cloneDeep, eachTree } from '@vben/utils';
|
||||||
|
|
||||||
import { useVbenForm } from '#/adapter';
|
import { useVbenForm } from '#/adapter';
|
||||||
import { menuTreeSelect, roleMenuTreeSelect } from '#/api/system/menu';
|
import { menuTreeSelect, roleMenuTreeSelect } from '#/api/system/menu';
|
||||||
@ -37,11 +37,20 @@ async function setupMenuTree(id?: number | string) {
|
|||||||
if (id) {
|
if (id) {
|
||||||
const resp = await roleMenuTreeSelect(id);
|
const resp = await roleMenuTreeSelect(id);
|
||||||
formApi.setFieldValue('menuIds', resp.checkedKeys);
|
formApi.setFieldValue('menuIds', resp.checkedKeys);
|
||||||
|
const menus = resp.menus;
|
||||||
|
// i18n处理
|
||||||
|
eachTree(menus, (node) => {
|
||||||
|
node.label = $t(node.label);
|
||||||
|
});
|
||||||
// 设置菜单信息
|
// 设置菜单信息
|
||||||
menuTree.value = resp.menus;
|
menuTree.value = resp.menus;
|
||||||
} else {
|
} else {
|
||||||
const resp = await menuTreeSelect();
|
const resp = await menuTreeSelect();
|
||||||
formApi.setFieldValue('menuIds', []);
|
formApi.setFieldValue('menuIds', []);
|
||||||
|
// i18n处理
|
||||||
|
eachTree(resp, (node) => {
|
||||||
|
node.label = $t(node.label);
|
||||||
|
});
|
||||||
// 设置菜单信息
|
// 设置菜单信息
|
||||||
menuTree.value = resp;
|
menuTree.value = resp;
|
||||||
}
|
}
|
||||||
|
@ -3,7 +3,7 @@ import { computed, ref } from 'vue';
|
|||||||
|
|
||||||
import { useVbenDrawer } from '@vben/common-ui';
|
import { useVbenDrawer } from '@vben/common-ui';
|
||||||
import { $t } from '@vben/locales';
|
import { $t } from '@vben/locales';
|
||||||
import { cloneDeep, listToTree } from '@vben/utils';
|
import { cloneDeep, eachTree, listToTree } from '@vben/utils';
|
||||||
|
|
||||||
import { useVbenForm } from '#/adapter';
|
import { useVbenForm } from '#/adapter';
|
||||||
import { menuList, tenantPackageMenuTreeSelect } from '#/api/system/menu';
|
import { menuList, tenantPackageMenuTreeSelect } from '#/api/system/menu';
|
||||||
@ -45,6 +45,10 @@ const menuTree = ref<any[]>([]);
|
|||||||
async function setupMenuTree() {
|
async function setupMenuTree() {
|
||||||
const resp = await menuList();
|
const resp = await menuList();
|
||||||
const treeData = listToTree(resp, { id: 'menuId' });
|
const treeData = listToTree(resp, { id: 'menuId' });
|
||||||
|
// i18n处理
|
||||||
|
eachTree(treeData, (node) => {
|
||||||
|
node.menuName = $t(node.menuName);
|
||||||
|
});
|
||||||
// 设置菜单信息
|
// 设置菜单信息
|
||||||
menuTree.value = treeData;
|
menuTree.value = treeData;
|
||||||
}
|
}
|
||||||
@ -122,7 +126,7 @@ function handleMenuCheckStrictlyChange(value: boolean) {
|
|||||||
ref="menuSelectRef"
|
ref="menuSelectRef"
|
||||||
v-bind="slotProps"
|
v-bind="slotProps"
|
||||||
:check-strictly="formApi.form.values.menuCheckStrictly"
|
:check-strictly="formApi.form.values.menuCheckStrictly"
|
||||||
:expand-all-on-init="true"
|
:expand-all-on-init="false"
|
||||||
:field-names="{ title: 'menuName', key: 'menuId' }"
|
:field-names="{ title: 'menuName', key: 'menuId' }"
|
||||||
:tree-data="menuTree"
|
:tree-data="menuTree"
|
||||||
@check-strictly-change="handleMenuCheckStrictlyChange"
|
@check-strictly-change="handleMenuCheckStrictlyChange"
|
||||||
|
Loading…
Reference in New Issue
Block a user