Files
huishou/dist/dev/mp-weixin/pages/order/list.js
T
2026-07-27 13:37:48 +08:00

99 lines
4.0 KiB
JavaScript

"use strict";
const common_vendor = require("../../common/vendor.js");
const stores_order = require("../../stores/order.js");
const utils_order = require("../../utils/order.js");
const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
__name: "list",
setup(__props) {
const orderStore = stores_order.useOrderStore();
const selectedOrders = common_vendor.ref([]);
const isAllSelected = common_vendor.computed(() => {
return orderStore.orders.length > 0 && selectedOrders.value.length === orderStore.orders.length;
});
const selectedTotalAmount = common_vendor.computed(() => {
return selectedOrders.value.reduce((sum, orderId) => {
const order = orderStore.orders.find((o) => o.id === orderId);
return sum + ((order == null ? void 0 : order.totalAmount) || 0);
}, 0);
});
const toggleSelect = (orderId) => {
const index = selectedOrders.value.indexOf(orderId);
if (index > -1) {
selectedOrders.value.splice(index, 1);
} else {
selectedOrders.value.push(orderId);
}
};
const toggleSelectAll = () => {
if (isAllSelected.value) {
selectedOrders.value = [];
} else {
selectedOrders.value = orderStore.orders.map((o) => o.id);
}
};
const handleDelete = (orderId) => {
common_vendor.index.showModal({
title: "确认删除",
content: "确定要删除这笔订单吗?",
success: async (res) => {
if (res.confirm) {
await orderStore.deleteOrder(orderId);
selectedOrders.value = selectedOrders.value.filter((id) => id !== orderId);
}
}
});
};
const getRegionText = (order) => {
const parts = [];
if (order.city) parts.push(order.city);
if (order.district) parts.push(order.district);
if (order.community) parts.push(order.community);
return parts.join(" > ") || "未选择区域";
};
common_vendor.onMounted(() => {
orderStore.loadOrders();
});
return (_ctx, _cache) => {
return common_vendor.e({
a: common_vendor.unref(orderStore).orders.length > 0
}, common_vendor.unref(orderStore).orders.length > 0 ? {
b: common_vendor.f(common_vendor.unref(orderStore).orders, (order, k0, i0) => {
return common_vendor.e({
a: selectedOrders.value.includes(order.id)
}, selectedOrders.value.includes(order.id) ? {} : {}, {
b: selectedOrders.value.includes(order.id) ? 1 : "",
c: common_vendor.o(($event) => toggleSelect(order.id), order.id),
d: common_vendor.t(getRegionText(order)),
e: common_vendor.t(common_vendor.unref(utils_order.formatOrderTime)(order.createTime)),
f: common_vendor.f(order.items, (item, index, i1) => {
return {
a: common_vendor.t(item.name),
b: common_vendor.t(item.weight || item.count),
c: common_vendor.t(item.unit === "kg" ? "kg" : "个"),
d: common_vendor.t(item.price.toFixed(2)),
e: common_vendor.t(item.unit === "kg" ? "kg" : "个"),
f: common_vendor.t(item.amount.toFixed(2)),
g: index
};
}),
g: common_vendor.t(order.totalAmount.toFixed(2)),
h: common_vendor.o(($event) => handleDelete(order.id), order.id),
i: order.id
});
})
} : {}, {
c: selectedOrders.value.length > 0
}, selectedOrders.value.length > 0 ? common_vendor.e({
d: isAllSelected.value
}, isAllSelected.value ? {} : {}, {
e: isAllSelected.value ? 1 : "",
f: common_vendor.o(toggleSelectAll),
g: common_vendor.t(selectedOrders.value.length),
h: common_vendor.t(selectedTotalAmount.value.toFixed(2))
}) : {});
};
}
});
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-80f8e5f8"]]);
wx.createPage(MiniProgramPage);