dingdanquanliucheng/frontend/mini-app/pages/my/my.js
2026-06-01 11:24:20 +08:00

90 lines
3.1 KiB
JavaScript

/**
* 统一"我的"个人中心页面
* 职责:根据登录角色展示不同的个人信息、统计和菜单。
*/
var auth = require("../../utils/auth");
Page({
data: {
role: "",
userName: "",
statusBarHeight: 20,
avatarText: "用",
userRole: "",
// 司机统计
taskStats: { pending: 0, inProgress: 0, delivered: 0 },
// 管理层统计
todayStats: { approved: 0, rejected: 0, total: 0 },
},
onShow: function () {
var app = getApp();
this.setData({ statusBarHeight: app.globalData.statusBarHeight || 20 });
if (!app.checkLogin()) return;
var user = auth.getUser();
var role = app.globalData.userRole;
if (user) {
this.setData({
role: role,
userName: user.real_name || user.username || "",
avatarText: (user.real_name || user.username || "用").slice(0, 1),
userRole: role === "driver" ? "配送司机" : "管理层管理员",
});
}
if (role === "driver") {
this.loadDriverStats();
} else {
this.loadManagerStats();
}
},
loadDriverStats: function () {
var that = this;
var app = getApp();
app.request({ url: "/api/driver/tasks", method: "GET" }).then(function (data) {
var list = data.list || [];
that.setData({
"taskStats.pending": list.filter(function (t) { return t.status === "pending"; }).length,
"taskStats.inProgress": list.filter(function (t) { return ["accepted", "picked_up"].indexOf(t.status) >= 0; }).length,
"taskStats.delivered": list.filter(function (t) { return t.status === "delivered"; }).length,
});
}).catch(function () {});
},
loadManagerStats: function () {
var that = this;
var app = getApp();
app.request({ url: "/api/orders?page_no=1&page_size=1", method: "GET" }).then(function (data) {
that.setData({ "todayStats.total": data.total || 0 });
}).catch(function () {});
},
// 司机菜单跳转
goTaskList: function () { wx.switchTab({ url: "/pages/driver/task-list/task-list" }); },
goOrderTracking: function () { wx.switchTab({ url: "/pages/driver/order-tracking/order-tracking" }); },
// 管理层菜单跳转
goDashboard: function () { wx.switchTab({ url: "/pages/manager/dashboard/dashboard" }); },
goApproveList: function () { wx.switchTab({ url: "/pages/manager/approve-list/approve-list" }); },
goOrderList: function () { wx.switchTab({ url: "/pages/manager/order-list/order-list" }); },
goSupplierText: function () { wx.navigateTo({ url: "/pages/manager/supplier-text/supplier-text" }); },
goTaskCreate: function () { wx.navigateTo({ url: "/pages/manager/task-create/task-create" }); },
handleAbout: function () {
wx.showModal({ title: "关于系统", content: "订单全流程管理系统 v1.0", showCancel: false });
},
handleLogout: function () {
wx.showModal({
title: "确认退出",
content: "退出后需要重新登录,是否继续?",
confirmColor: "#be123c",
success: function (res) {
if (res.confirm) {
auth.logout();
wx.redirectTo({ url: "/pages/login/login" });
}
},
});
},
});