203 lines
5.6 KiB
JavaScript
203 lines
5.6 KiB
JavaScript
|
|
"use strict";
|
|||
|
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|||
|
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|||
|
|
};
|
|||
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|||
|
|
const userService_1 = __importDefault(require("../../services/userService"));
|
|||
|
|
const statisticsService_1 = __importDefault(require("../../services/statisticsService"));
|
|||
|
|
Page({
|
|||
|
|
data: {
|
|||
|
|
userInfo: null,
|
|||
|
|
// 个人统计数据
|
|||
|
|
personalStats: {
|
|||
|
|
totalOrders: 0, // 总订单数
|
|||
|
|
completedOrders: 0, // 已完成订单数
|
|||
|
|
pendingOrders: 0, // 待处理订单数
|
|||
|
|
deliveryRate: 0, // 配送成功率
|
|||
|
|
averageTime: 0 // 平均配送时间
|
|||
|
|
},
|
|||
|
|
// 系统统计数据
|
|||
|
|
systemStats: {
|
|||
|
|
employeeCount: 0, // 员工总数
|
|||
|
|
orderCount: 0, // 订单总数
|
|||
|
|
warehouseCount: 0 // 仓库总数
|
|||
|
|
},
|
|||
|
|
loading: true
|
|||
|
|
},
|
|||
|
|
onLoad() {
|
|||
|
|
this.loadUserInfo();
|
|||
|
|
this.loadStatistics();
|
|||
|
|
},
|
|||
|
|
onShow() {
|
|||
|
|
// 页面显示时重新加载数据
|
|||
|
|
this.loadUserInfo();
|
|||
|
|
this.loadStatistics();
|
|||
|
|
},
|
|||
|
|
/**
|
|||
|
|
* 加载用户信息
|
|||
|
|
*/
|
|||
|
|
async loadUserInfo() {
|
|||
|
|
try {
|
|||
|
|
const app = getApp();
|
|||
|
|
if (app.globalData.userInfo) {
|
|||
|
|
this.setData({
|
|||
|
|
userInfo: app.globalData.userInfo
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
else {
|
|||
|
|
// 如果没有全局用户信息,尝试从API获取
|
|||
|
|
const userInfo = await userService_1.default.getUserInfo();
|
|||
|
|
this.setData({ userInfo });
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
catch (error) {
|
|||
|
|
console.error('加载用户信息失败:', error);
|
|||
|
|
wx.showToast({
|
|||
|
|
title: '加载用户信息失败',
|
|||
|
|
icon: 'none'
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
/**
|
|||
|
|
* 加载统计数据
|
|||
|
|
*/
|
|||
|
|
async loadStatistics() {
|
|||
|
|
this.setData({ loading: true });
|
|||
|
|
try {
|
|||
|
|
wx.showLoading({
|
|||
|
|
title: '加载统计数据...'
|
|||
|
|
});
|
|||
|
|
// 强制刷新统计数据,不使用缓存
|
|||
|
|
const systemStats = await statisticsService_1.default.getSystemStats(true);
|
|||
|
|
// 获取个人统计数据(这里需要根据用户ID获取个人统计数据)
|
|||
|
|
const personalStats = await this.getPersonalStats();
|
|||
|
|
this.setData({
|
|||
|
|
systemStats: {
|
|||
|
|
employeeCount: systemStats.employeeCount,
|
|||
|
|
orderCount: systemStats.orderCount,
|
|||
|
|
warehouseCount: systemStats.warehouseCount
|
|||
|
|
},
|
|||
|
|
personalStats,
|
|||
|
|
loading: false
|
|||
|
|
});
|
|||
|
|
wx.hideLoading();
|
|||
|
|
}
|
|||
|
|
catch (error) {
|
|||
|
|
console.error('加载统计数据失败:', error);
|
|||
|
|
this.setData({ loading: false });
|
|||
|
|
wx.hideLoading();
|
|||
|
|
wx.showToast({
|
|||
|
|
title: '加载统计数据失败',
|
|||
|
|
icon: 'none'
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
/**
|
|||
|
|
* 获取个人统计数据
|
|||
|
|
*/
|
|||
|
|
async getPersonalStats() {
|
|||
|
|
try {
|
|||
|
|
// 这里应该调用个人统计API
|
|||
|
|
// 暂时使用模拟数据
|
|||
|
|
return {
|
|||
|
|
totalOrders: 156,
|
|||
|
|
completedOrders: 142,
|
|||
|
|
pendingOrders: 14,
|
|||
|
|
deliveryRate: 91.0,
|
|||
|
|
averageTime: 45
|
|||
|
|
};
|
|||
|
|
}
|
|||
|
|
catch (error) {
|
|||
|
|
console.error('获取个人统计数据失败:', error);
|
|||
|
|
// 返回默认值
|
|||
|
|
return {
|
|||
|
|
totalOrders: 0,
|
|||
|
|
completedOrders: 0,
|
|||
|
|
pendingOrders: 0,
|
|||
|
|
deliveryRate: 0,
|
|||
|
|
averageTime: 0
|
|||
|
|
};
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
/**
|
|||
|
|
* 刷新数据
|
|||
|
|
*/
|
|||
|
|
onRefresh() {
|
|||
|
|
this.loadStatistics();
|
|||
|
|
},
|
|||
|
|
/**
|
|||
|
|
* 返回上一页
|
|||
|
|
*/
|
|||
|
|
goBack() {
|
|||
|
|
wx.navigateBack();
|
|||
|
|
},
|
|||
|
|
/**
|
|||
|
|
* 编辑个人信息
|
|||
|
|
*/
|
|||
|
|
onEditProfile() {
|
|||
|
|
wx.showToast({
|
|||
|
|
title: '编辑功能开发中',
|
|||
|
|
icon: 'none'
|
|||
|
|
});
|
|||
|
|
},
|
|||
|
|
/**
|
|||
|
|
* 查看历史订单
|
|||
|
|
*/
|
|||
|
|
onViewHistory() {
|
|||
|
|
wx.navigateTo({
|
|||
|
|
url: '/pages/staff/order-management'
|
|||
|
|
});
|
|||
|
|
},
|
|||
|
|
/**
|
|||
|
|
* 联系客服
|
|||
|
|
*/
|
|||
|
|
onContactSupport() {
|
|||
|
|
wx.makePhoneCall({
|
|||
|
|
phoneNumber: '400-123-4567'
|
|||
|
|
});
|
|||
|
|
},
|
|||
|
|
/**
|
|||
|
|
* 退出登录
|
|||
|
|
*/
|
|||
|
|
onLogout() {
|
|||
|
|
wx.showModal({
|
|||
|
|
title: '确认退出',
|
|||
|
|
content: '确定要退出登录吗?',
|
|||
|
|
success: (res) => {
|
|||
|
|
if (res.confirm) {
|
|||
|
|
this.performLogout();
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
},
|
|||
|
|
/**
|
|||
|
|
* 执行退出登录操作
|
|||
|
|
*/
|
|||
|
|
async performLogout() {
|
|||
|
|
try {
|
|||
|
|
wx.showLoading({
|
|||
|
|
title: '退出中...'
|
|||
|
|
});
|
|||
|
|
// 调用用户服务的退出登录方法
|
|||
|
|
const userService = require('../../services/userService').default;
|
|||
|
|
await userService.logout();
|
|||
|
|
// 清除全局用户信息
|
|||
|
|
const app = getApp();
|
|||
|
|
app.globalData.userInfo = null;
|
|||
|
|
wx.hideLoading();
|
|||
|
|
// 跳转到首页
|
|||
|
|
wx.reLaunch({
|
|||
|
|
url: '/pages/index/index'
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
catch (error) {
|
|||
|
|
console.error('退出登录失败:', error);
|
|||
|
|
wx.hideLoading();
|
|||
|
|
wx.showToast({
|
|||
|
|
title: '退出登录失败',
|
|||
|
|
icon: 'none'
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
});
|