Files
2026-07-27 14:07:26 +08:00

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);