| @@ -24,35 +24,36 @@ const FinishedGoodFloorLanePanel: React.FC<Props> = ({ onPickOrderAssigned }) => | |||
| const [isAssigning, setIsAssigning] = useState(false); | |||
| const [selectedDate, setSelectedDate] = useState<string>("today"); | |||
| const loadData = async (dateValue: string) => { | |||
| const loadSummaries = useCallback(async () => { | |||
| setIsLoadingSummary(true); | |||
| try { | |||
| let dateOffset = 0; | |||
| if (dateValue === "tomorrow") dateOffset = 1; | |||
| else if (dateValue === "dayAfterTomorrow") dateOffset = 2; | |||
| const requiredDate = dayjs().add(dateOffset, "day").format("YYYY-MM-DD"); | |||
| console.log("🔄 requiredDate:", requiredDate); | |||
| // Convert selectedDate to the format needed | |||
| let dateParam: string | undefined; | |||
| if (selectedDate === "today") { | |||
| dateParam = dayjs().format('YYYY-MM-DD'); | |||
| } else if (selectedDate === "tomorrow") { | |||
| dateParam = dayjs().add(1, 'day').format('YYYY-MM-DD'); | |||
| } else if (selectedDate === "dayAfterTomorrow") { | |||
| dateParam = dayjs().add(2, 'day').format('YYYY-MM-DD'); | |||
| } | |||
| const [s2, s4] = await Promise.all([ | |||
| fetchStoreLaneSummary("2/F", requiredDate), | |||
| fetchStoreLaneSummary("4/F", requiredDate), | |||
| fetchStoreLaneSummary("2/F", dateParam), | |||
| fetchStoreLaneSummary("4/F", dateParam) | |||
| ]); | |||
| console.log("🔄 s2:", s2); | |||
| console.log("🔄 s4:", s4); | |||
| setSummary2F(s2); | |||
| setSummary4F(s4); | |||
| } catch (e) { | |||
| console.error("load summaries failed:", e); | |||
| } catch (error) { | |||
| console.error("Error loading summaries:", error); | |||
| } finally { | |||
| setIsLoadingSummary(false); | |||
| } | |||
| }; | |||
| }, [selectedDate]); | |||
| // 初始化 | |||
| useEffect(() => { | |||
| loadData("today"); | |||
| }, []); | |||
| loadSummaries(); | |||
| }, [loadSummaries]); | |||
| const handleAssignByLane = useCallback(async ( | |||
| storeId: string, | |||
| @@ -71,7 +72,7 @@ const FinishedGoodFloorLanePanel: React.FC<Props> = ({ onPickOrderAssigned }) => | |||
| if (res.code === "SUCCESS") { | |||
| console.log("✅ Successfully assigned pick order from lane", truckLanceCode); | |||
| window.dispatchEvent(new CustomEvent('pickOrderAssigned')); | |||
| loadData(selectedDate); // 刷新按钮状态 | |||
| loadSummaries(); // 刷新按钮状态 | |||
| onPickOrderAssigned?.(); | |||
| } else if (res.code === "USER_BUSY") { | |||
| Swal.fire({ | |||
| @@ -139,9 +140,10 @@ const FinishedGoodFloorLanePanel: React.FC<Props> = ({ onPickOrderAssigned }) => | |||
| onChange={(e) => { { | |||
| setSelectedDate(e.target.value); | |||
| loadData(e.target.value); | |||
| loadSummaries(); | |||
| }}} | |||
| > | |||
| <MenuItem value="today"> | |||
| {t("Today")} ({getDateLabel(0)}) | |||
| </MenuItem> | |||