fix filter from order detail

This commit is contained in:
Timi
2026-09-14 13:22:36 +08:00
parent 6674a6690b
commit 649144897b
2 changed files with 33 additions and 0 deletions
@@ -53,6 +53,19 @@
@scrolltolower="loadMore"
>
<div class="list-wrap">
<t-cell-group v-if="salesOrder" class="order-info" theme="card">
<t-cell title="订单号" :note="salesOrder.orderNo || salesOrder.id || '未知订单'" />
<t-cell title="订单类型" :note="getSalesOrderTypeText(salesOrder.orderType)" />
<t-cell title="订单状态">
<template #note>
<t-tag
:content="getSalesOrderStatusText(salesOrder.status)"
:theme="getStatusTheme(salesOrder.status)"
variant="light-outline"
/>
</template>
</t-cell>
</t-cell-group>
<t-cell-group v-if="isCustomDate" class="date-summary" theme="card">
<t-cell
title="开始时间"
@@ -120,6 +133,7 @@ import { Time } from "timi-web";
import { useUserStore } from "timi-web-api";
import CustomerAPI from "@/api/CustomerAPI";
import FulfillmentAPI from "@/api/FulfillmentAPI";
import SalesOrderAPI from "@/api/SalesOrderAPI";
import CustomerSelector from "@/components/CustomerSelector.vue";
import NavBarActionMenu from "@/components/NavBarActionMenu.vue";
import OrderFulfillmentListCell from "@/pages/fulfillment/components/OrderFulfillmentListCell.vue";
@@ -127,9 +141,11 @@ import { useNavBarStore } from "@/store/navBarStore";
import type { GaoFulfillmentStatus, OrderFulfillment } from "@/types/Fulfillment";
import type { NavBarAction } from "@/types/NavBarAction";
import type { Customer } from "@/types/Customer";
import type { SalesOrder } from "@/types/SalesOrder";
import { getErrorMessage } from "@/utils/error";
import { Message } from "@/utils/message";
import { permissionCodes } from "@/utils/permission";
import { getSalesOrderStatusText, getSalesOrderTypeText, getStatusTheme } from "@/utils/salesOrder";
defineOptions({ name: "OrderFulfillmentList" });
@@ -167,6 +183,7 @@ const dateOptions: Array<{ label: string; value: DateFilterType }> = [
const customerId = ref(getQueryText(route.query.customerId));
const selectedCustomer = ref<Customer>();
const salesOrder = ref<SalesOrder>();
const customerSelectorVisible = ref(false);
const customerSearchKeyword = ref("");
const dateFilterType = ref<DateFilterType>(parseDateFilterType(route.query.dateType));
@@ -331,6 +348,20 @@ async function clearCustomer(): Promise<void> {
await reloadList();
}
async function loadSalesOrder(): Promise<void> {
const salesOrderId = getQueryText(route.query.salesOrderId);
if (!salesOrderId) {
salesOrder.value = undefined;
return;
}
try {
salesOrder.value = await SalesOrderAPI.detail(salesOrderId);
} catch (error) {
salesOrder.value = undefined;
Message.error(getErrorMessage(error, "订单信息加载失败"));
}
}
async function selectDateFilter(value: DropdownValue): Promise<void> {
if (Array.isArray(value)) {
return;
@@ -513,6 +544,7 @@ onMounted(async () => {
navBarStore.clearRight();
navBarStore.setCustomRightVisible(canCreate.value);
try {
await loadSalesOrder();
if (customerId.value) {
selectedCustomer.value = await CustomerAPI.detail(customerId.value);
customerSearchKeyword.value = getCustomerSearchKeyword(selectedCustomer.value);
@@ -455,6 +455,7 @@ async function toFulfillmentList(): Promise<void> {
path: "/management/order-fulfillments",
query: {
salesOrderId: order.value.id,
dateType: "all",
transitionDepth: String(getCurrentRouteDepth() + 1)
}
});