// 员工管理主界面 - 根据用户角色跳转到不同界面 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(); 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' }); } });