更新oa代码

This commit is contained in:
2025-11-06 15:56:29 +08:00
parent 9c67793fc3
commit 6a9b5d413a
60 changed files with 6194 additions and 2757 deletions
+8 -17
View File
@@ -71,26 +71,16 @@ export async function loadAndAddDynamicRoutes() {
// 创建加载 Promise
routesLoadingPromise = (async () => {
try {
// 获取用户信息,判断登录类型
const userInfo = JSON.parse(localStorage.getItem('userInfo') || '{}');
const loginType = userInfo.type; // "user" 或 "employee"
const roleId = userInfo.role; // 角色ID
// 使用 menu store 获取菜单数据(这样可以复用缓存,避免重复请求)
const { useMenuStore } = await import("@/stores/menu");
const menuStore = useMenuStore();
// 根据登录类型选择不同的菜单接口
const { getAllMenus, getTenantMenus } = await import("@/api/menu");
let res;
// 从 store 获取菜单(如果已加载会直接返回缓存,否则会请求一次)
const menuData = await menuStore.fetchMenus();
if (loginType === "employee" && roleId) {
// 员工登录,使用getTenantMenus接口
res = await getTenantMenus(roleId);
} else {
// 用户登录,使用getAllMenus接口
res = await getAllMenus();
}
if (res && res.success && res.data) {
if (menuData && menuData.length > 0) {
// 添加动态路由
addDynamicRoutes(res.data);
addDynamicRoutes(menuData);
dynamicRoutesAdded = true;
routesLoadingPromise = null;
return Promise.resolve();
@@ -100,6 +90,7 @@ export async function loadAndAddDynamicRoutes() {
return Promise.resolve();
}
} catch (error) {
console.error('加载动态路由失败:', error);
// 即使出错也标记为已加载,避免无限重试
dynamicRoutesAdded = true;
routesLoadingPromise = null;