90 lines
3.1 KiB
JavaScript
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" });
|
|
}
|
|
},
|
|
});
|
|
},
|
|
});
|