Files
2025-10-19 23:38:54 +08:00

82 lines
1.6 KiB
TypeScript

// 员工管理主界面 - 根据用户角色跳转到不同界面
import { UserInfo } from '../../types';
Page({
data: {
userInfo: null as UserInfo | null,
isAdmin: false,
loading: true
},
onLoad() {
// 获取用户信息
this.getUserInfo();
},
onShow() {
// 页面显示时重新获取用户信息
this.getUserInfo();
},
/**
* 获取用户信息并判断角色
*/
getUserInfo() {
this.setData({ loading: true });
// 从全局数据获取用户信息
const app = getApp<any>();
if (app.globalData.userInfo) {
const userInfo = app.globalData.userInfo;
const isAdmin = userInfo.role === 'ADMIN';
this.setData({
userInfo,
isAdmin,
loading: false
});
// 根据角色自动跳转到对应界面
this.redirectToRolePage();
} else {
// 如果没有用户信息,跳转到登录页面
wx.redirectTo({
url: '/pages/index/index'
});
}
},
/**
* 根据用户角色跳转到对应页面
*/
redirectToRolePage() {
const { isAdmin } = this.data;
if (isAdmin) {
// 管理员跳转到管理员界面
wx.redirectTo({
url: '/pages/staff/admin-dashboard'
});
} else {
// 员工跳转到员工界面
wx.redirectTo({
url: '/pages/staff/employee-dashboard'
});
}
},
/**
* 手动选择界面(用于测试或特殊情况)
*/
goToAdminPage() {
wx.redirectTo({
url: '/pages/staff/admin-dashboard'
});
},
goToEmployeePage() {
wx.redirectTo({
url: '/pages/staff/employee-dashboard'
});
}
});