99 lines
4.0 KiB
JavaScript
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);
|