菜单国际化优化
parent
e4424ba3b1
commit
0db23723fb
|
@ -10,6 +10,7 @@
|
||||||
import { BasicDrawer, useDrawerInner } from '/@/components/Drawer';
|
import { BasicDrawer, useDrawerInner } from '/@/components/Drawer';
|
||||||
import { list, saveOrUpdateMenu } from './menu.api';
|
import { list, saveOrUpdateMenu } from './menu.api';
|
||||||
import { useDrawerAdaptiveWidth } from '/@/hooks/jeecg/useAdaptiveWidth';
|
import { useDrawerAdaptiveWidth } from '/@/hooks/jeecg/useAdaptiveWidth';
|
||||||
|
import { useI18n } from "/@/hooks/web/useI18n";
|
||||||
// 声明Emits
|
// 声明Emits
|
||||||
const emit = defineEmits(['success', 'register']);
|
const emit = defineEmits(['success', 'register']);
|
||||||
const { adaptiveWidth } = useDrawerAdaptiveWidth();
|
const { adaptiveWidth } = useDrawerAdaptiveWidth();
|
||||||
|
@ -41,7 +42,9 @@
|
||||||
updateSchema([
|
updateSchema([
|
||||||
{
|
{
|
||||||
field: 'parentId',
|
field: 'parentId',
|
||||||
componentProps: { treeData },
|
// update-begin--author:liaozhiyang---date:20240306---for:【QQYUN-8379】菜单管理页菜单国际化
|
||||||
|
componentProps: { treeData: translateMenu(treeData, 'name') },
|
||||||
|
// update-end--author:liaozhiyang---date:20240306---for:【QQYUN-8379】菜单管理页菜单国际化
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: 'name',
|
field: 'name',
|
||||||
|
@ -113,4 +116,26 @@
|
||||||
}
|
}
|
||||||
//update-end---author:wangshuai ---date:20230204 for:[QQYUN-4058]菜单添加智能化处理------------
|
//update-end---author:wangshuai ---date:20230204 for:[QQYUN-4058]菜单添加智能化处理------------
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 2024-03-06
|
||||||
|
* liaozhiyang
|
||||||
|
* 翻译菜单名称
|
||||||
|
*/
|
||||||
|
function translateMenu(data, key) {
|
||||||
|
if (data?.length) {
|
||||||
|
const { t } = useI18n();
|
||||||
|
data.forEach((item) => {
|
||||||
|
if (item[key]) {
|
||||||
|
if (item[key].includes("t('") && t) {
|
||||||
|
item[key] = new Function('t', `return ${item[key]}`)(t);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (item.children?.length) {
|
||||||
|
translateMenu(item.children, key);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
return data;
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -39,11 +39,13 @@
|
||||||
import { columns,searchFormSchema } from './menu.data';
|
import { columns,searchFormSchema } from './menu.data';
|
||||||
import { list, deleteMenu, batchDeleteMenu } from './menu.api';
|
import { list, deleteMenu, batchDeleteMenu } from './menu.api';
|
||||||
import { useDefIndexStore } from "@/store/modules/defIndex";
|
import { useDefIndexStore } from "@/store/modules/defIndex";
|
||||||
|
import { useI18n } from "/@/hooks/web/useI18n";
|
||||||
|
|
||||||
const checkedKeys = ref<Array<string | number>>([]);
|
const checkedKeys = ref<Array<string | number>>([]);
|
||||||
const showFooter = ref(true);
|
const showFooter = ref(true);
|
||||||
const [registerDrawer, { openDrawer }] = useDrawer();
|
const [registerDrawer, { openDrawer }] = useDrawer();
|
||||||
const [registerDrawer1, { openDrawer: openDataRule }] = useDrawer();
|
const [registerDrawer1, { openDrawer: openDataRule }] = useDrawer();
|
||||||
|
const { t } = useI18n();
|
||||||
|
|
||||||
// 自定义菜单名称列渲染
|
// 自定义菜单名称列渲染
|
||||||
columns[0].customRender = function ({text, record}) {
|
columns[0].customRender = function ({text, record}) {
|
||||||
|
@ -51,6 +53,11 @@
|
||||||
if (isDefIndex) {
|
if (isDefIndex) {
|
||||||
text += '(默认首页)'
|
text += '(默认首页)'
|
||||||
}
|
}
|
||||||
|
// update-begin--author:liaozhiyang---date:20240306---for:【QQYUN-8379】菜单管理页菜单国际化
|
||||||
|
if (text.includes("t('") && t) {
|
||||||
|
return new Function('t', `return ${text}`)(t);
|
||||||
|
}
|
||||||
|
// update-end--author:liaozhiyang---date:20240306---for:【QQYUN-8379】菜单管理页菜单国际化
|
||||||
return text
|
return text
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue