Browse Source

frontend bug fix

master
kelvin.yau 1 month ago
parent
commit
fcdab93b90
3 changed files with 20 additions and 7 deletions
  1. +4
    -2
      src/components/FinishedGoodSearch/FinishedGoodFloorLanePanel.tsx
  2. +13
    -4
      src/components/FinishedGoodSearch/FinishedGoodSearch.tsx
  3. +3
    -1
      src/components/FinishedGoodSearch/GoodPickExecution.tsx

+ 4
- 2
src/components/FinishedGoodSearch/FinishedGoodFloorLanePanel.tsx View File

@@ -11,9 +11,10 @@ import dayjs from "dayjs";

interface Props {
onPickOrderAssigned?: () => void;
onSwitchToDetailTab?: () => void;
}

const FinishedGoodFloorLanePanel: React.FC<Props> = ({ onPickOrderAssigned }) => {
const FinishedGoodFloorLanePanel: React.FC<Props> = ({ onPickOrderAssigned, onSwitchToDetailTab }) => {
const { t } = useTranslation("pickOrder");
const { data: session } = useSession() as { data: SessionWithTokens | null };
const currentUserId = session?.id ? parseInt(session.id) : undefined;
@@ -84,6 +85,7 @@ const FinishedGoodFloorLanePanel: React.FC<Props> = ({ onPickOrderAssigned }) =>
window.dispatchEvent(new CustomEvent('pickOrderAssigned'));
loadSummaries(); // 刷新按钮状态
onPickOrderAssigned?.();
onSwitchToDetailTab?.();
} else if (res.code === "USER_BUSY") {
Swal.fire({
icon: "warning",
@@ -116,7 +118,7 @@ const FinishedGoodFloorLanePanel: React.FC<Props> = ({ onPickOrderAssigned }) =>
} finally {
setIsAssigning(false);
}
}, [currentUserId, t, selectedDate, onPickOrderAssigned]);
}, [currentUserId, t, selectedDate, onPickOrderAssigned, onSwitchToDetailTab, loadSummaries]);

const getDateLabel = (offset: number) => {
return dayjs().add(offset, 'day').format('YYYY-MM-DD');


+ 13
- 4
src/components/FinishedGoodSearch/FinishedGoodSearch.tsx View File

@@ -330,6 +330,10 @@ const handleAssignByLane = useCallback(async (
},
[],
);

const handleSwitchToDetailTab = useCallback(() => {
setTabIndex(1);
}, []);
const openCreateModal = useCallback(async () => {
console.log("testing")
@@ -621,10 +625,15 @@ const handleAssignByLane = useCallback(async (
</Box>

{/* Content section - NO overflow: 'auto' here */}
<Box sx={{
p: 2
}}>
{tabIndex === 0 && <PickExecution filterArgs={filterArgs} onFgPickOrdersChange={setFgPickOrdersData}/>}
<Box sx={{ p: 2 }}>

{tabIndex === 0 && (
<PickExecution
filterArgs={filterArgs}
onFgPickOrdersChange={setFgPickOrdersData}
onSwitchToDetailTab={handleSwitchToDetailTab}
/>
)}
{tabIndex === 1 && <PickExecutionDetail filterArgs={filterArgs} />}
{tabIndex === 2 && <GoodPickExecutionRecord filterArgs={filterArgs} />}
{tabIndex === 3 && <FGPickOrderTicketReleaseTable/>}


+ 3
- 1
src/components/FinishedGoodSearch/GoodPickExecution.tsx View File

@@ -57,6 +57,7 @@ import GoodPickExecutiondetail from "./GoodPickExecutiondetail";
interface Props {
filterArgs: Record<string, any>;
onFgPickOrdersChange?: (fgPickOrders: FGPickOrderResponse[]) => void;
onSwitchToDetailTab?: () => void;
}

// QR Code Modal Component (from LotTable)
@@ -313,7 +314,7 @@ const QrCodeModal: React.FC<{
);
};

const PickExecution: React.FC<Props> = ({ filterArgs, onFgPickOrdersChange }) => {
const PickExecution: React.FC<Props> = ({ filterArgs, onFgPickOrdersChange, onSwitchToDetailTab }) => {
const { t } = useTranslation("pickOrder");
const router = useRouter();
const { data: session } = useSession() as { data: SessionWithTokens | null };
@@ -985,6 +986,7 @@ return (
fetchFgPickOrdersData();
}
}}
onSwitchToDetailTab={onSwitchToDetailTab}
/>
) : (
// 有活动订单,显示 FG 订单信息


Loading…
Cancel
Save