97 lines
3.7 KiB
JavaScript
97 lines
3.7 KiB
JavaScript
"use strict";
|
|
const common_vendor = require("../../common/vendor.js");
|
|
const stores_order = require("../../stores/order.js");
|
|
const stores_price = require("../../stores/price.js");
|
|
const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
|
|
__name: "index",
|
|
setup(__props) {
|
|
const orderStore = stores_order.useOrderStore();
|
|
const priceStore = stores_price.usePriceStore();
|
|
const totalOrders = common_vendor.computed(() => orderStore.orders.length);
|
|
const totalAmount = common_vendor.computed(() => {
|
|
return orderStore.orders.reduce((sum, order) => sum + order.amount, 0);
|
|
});
|
|
const totalWeight = common_vendor.computed(() => {
|
|
return orderStore.orders.reduce((sum, order) => sum + (order.weight || 0), 0);
|
|
});
|
|
const categoriesCount = common_vendor.computed(() => priceStore.prices.length);
|
|
const recentOrders = common_vendor.computed(() => {
|
|
return [...orderStore.orders].reverse().slice(0, 5);
|
|
});
|
|
const getStatusText = (status) => {
|
|
const statusMap = {
|
|
pending: "待处理",
|
|
completed: "已完成",
|
|
cancelled: "已取消"
|
|
};
|
|
return statusMap[status] || status;
|
|
};
|
|
const logout = () => {
|
|
common_vendor.index.showModal({
|
|
title: "确认退出",
|
|
content: "确定要退出登录吗?",
|
|
success: (res) => {
|
|
if (res.confirm) {
|
|
common_vendor.index.removeStorageSync("admin_login");
|
|
common_vendor.index.redirectTo({ url: "/pages/admin/login" });
|
|
}
|
|
}
|
|
});
|
|
};
|
|
const goToOrderList = () => {
|
|
common_vendor.index.redirectTo({ url: "/pages/admin/order/list" });
|
|
};
|
|
const goToPriceManager = () => {
|
|
common_vendor.index.redirectTo({ url: "/pages/admin/price/list" });
|
|
};
|
|
const goToUserManager = () => {
|
|
common_vendor.index.redirectTo({ url: "/pages/admin/user/list" });
|
|
};
|
|
const goToStatistics = () => {
|
|
common_vendor.index.navigateTo({ url: "/pages/admin/statistics" });
|
|
};
|
|
const goToOrderDetail = (id) => {
|
|
common_vendor.index.navigateTo({ url: `/pages/order/detail?id=${id}` });
|
|
};
|
|
common_vendor.onMounted(() => {
|
|
const isLogin = common_vendor.index.getStorageSync("admin_login");
|
|
if (!isLogin) {
|
|
common_vendor.index.redirectTo({ url: "/pages/admin/login" });
|
|
return;
|
|
}
|
|
orderStore.loadOrders();
|
|
priceStore.loadPrices();
|
|
});
|
|
return (_ctx, _cache) => {
|
|
return {
|
|
a: common_vendor.o(logout),
|
|
b: common_vendor.t(totalOrders.value),
|
|
c: common_vendor.t(totalAmount.value.toFixed(2)),
|
|
d: common_vendor.t(totalWeight.value.toFixed(2)),
|
|
e: common_vendor.t(categoriesCount.value),
|
|
f: common_vendor.o(goToOrderList),
|
|
g: common_vendor.o(goToPriceManager),
|
|
h: common_vendor.o(goToUserManager),
|
|
i: common_vendor.o(goToStatistics),
|
|
j: common_vendor.o(goToOrderList),
|
|
k: common_vendor.f(recentOrders.value, (order, k0, i0) => {
|
|
return {
|
|
a: common_vendor.t(order.id),
|
|
b: common_vendor.t(order.createTime),
|
|
c: common_vendor.t(order.amount.toFixed(2)),
|
|
d: common_vendor.t(getStatusText(order.status)),
|
|
e: common_vendor.n(order.status),
|
|
f: order.id,
|
|
g: common_vendor.o(($event) => goToOrderDetail(order.id), order.id)
|
|
};
|
|
}),
|
|
l: common_vendor.o(goToOrderList),
|
|
m: common_vendor.o(goToPriceManager),
|
|
n: common_vendor.o(goToUserManager)
|
|
};
|
|
};
|
|
}
|
|
});
|
|
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-f94c733c"]]);
|
|
wx.createPage(MiniProgramPage);
|