From 65c7642550e0532d8400a16650ccdb34aef30158 Mon Sep 17 00:00:00 2001 From: "MSI\\derek" Date: Tue, 8 Jul 2025 12:17:58 +0800 Subject: [PATCH] update --- .../PickOrderDetail/PickOrderDetail.tsx | 75 +++++++++++-------- src/i18n/zh/pickOrder.json | 2 +- 2 files changed, 46 insertions(+), 31 deletions(-) diff --git a/src/components/PickOrderDetail/PickOrderDetail.tsx b/src/components/PickOrderDetail/PickOrderDetail.tsx index 8ae23d3..f6f3425 100644 --- a/src/components/PickOrderDetail/PickOrderDetail.tsx +++ b/src/components/PickOrderDetail/PickOrderDetail.tsx @@ -160,11 +160,11 @@ const PickOrderDetail: React.FC = ({ consoCode, qc }) => { headerName: "uom", flex: 1, }, - { - field: "lotLineId", - headerName: "lotLineId", - flex: 1, - }, + // { + // field: "lotLineId", + // headerName: "lotLineId", + // flex: 1, + // }, { field: "warehouse", headerName: "location", @@ -187,10 +187,22 @@ const PickOrderDetail: React.FC = ({ consoCode, qc }) => { return FitAllCell(suggestedLotNoList); }, }, + { + field: "status", + headerName: t("status"), + flex: 0.5, + renderCell: (params) => { + return t(`${params.row.status}`); + }, + }, ], [] ); + const [isCompletedOrder, setIsCompletedOrder] = useState(() => { + return pickOrderLine.every((line) => line.status == "completed") + }) + const fetchPickOrderLine = useCallback( async (params: Record) => { setIsLoadingModel((prev) => ({ @@ -203,7 +215,12 @@ const PickOrderDetail: React.FC = ({ consoCode, qc }) => { }); if (res) { console.log(res); + console.log(res.records.every((line) => line.status == "completed")) + setIsCompletedOrder(() => + res.records.every((line) => line.status == "completed") + ) setPickOrderLine(res.records); + setPolTotalCount(res.total); } else { console.log("error"); @@ -224,7 +241,7 @@ const PickOrderDetail: React.FC = ({ consoCode, qc }) => { confirmButtonText: t("Complete"), successTitle: t("Complete Success"), errorTitle: t("Complete Fail"), - buttonText: t("Complete PO"), + buttonText: t("Complete Pick Order"), buttonIcon: , buttonColor: "info", disabled: true, @@ -330,16 +347,16 @@ const PickOrderDetail: React.FC = ({ consoCode, qc }) => { setOpenScanner((prev) => !prev); console.log(id); setIsChangeLotSolId((prev) => { - if (prev != undefined) return undefined - return id as number + if (prev != undefined) return undefined; + return id as number; }); }, [] ); useEffect(() => { - console.log(isChangeLotSolId) - }, [isChangeLotSolId]) + console.log(isChangeLotSolId); + }, [isChangeLotSolId]); const handleComplete = useCallback( (id: GridRowId, params: any) => async () => { @@ -477,7 +494,8 @@ const PickOrderDetail: React.FC = ({ consoCode, qc }) => { disabled={ !params.row.inventoryLotLineId || stockOutLineStatusMap[status] === 2 || - stockOutLineStatusMap[status] === 5 + stockOutLineStatusMap[status] >= 4 || + stockOutLineStatusMap[status] === 0 } // set _isNew to false after posting // or check status @@ -494,14 +512,14 @@ const PickOrderDetail: React.FC = ({ consoCode, qc }) => { disabled={stockOutLineStatusMap[status] > 0} onClick={handleDelete(params.row.id)} />, - } - label="debug button" - sx={{ - color: "error.main", - }} - onClick={() => console.log(params.row)} - />, + // } + // label="debug button" + // sx={{ + // color: "error.main", + // }} + // onClick={() => console.log(params.row)} + // />, ]; }, }, @@ -570,17 +588,14 @@ const PickOrderDetail: React.FC = ({ consoCode, qc }) => { [stockOutLine, getRowId] ); - useEffect(() => { - fetchPickOrderLine(polCriteriaArgs); - }, [polCriteriaArgs]); - + /// handle refetch all data useEffect(() => { if (!qcOpen || !approvalOpen) { - console.log("triggering") triggerRefetch(); + fetchPickOrderLine(polCriteriaArgs); } if (selectedRow.length > 0) fetchStockOutLine(solCriteriaArgs, selectedRow); - }, [qcOpen, approvalOpen, solCriteriaArgs, selectedRow, triggerRefetch]); + }, [qcOpen, approvalOpen, solCriteriaArgs, selectedRow, triggerRefetch, polCriteriaArgs]); const getLotDetail = useCallback( async (stockInLineId: number): Promise => { @@ -617,8 +632,8 @@ const PickOrderDetail: React.FC = ({ consoCode, qc }) => { }, [isOpenScanner]); const homemade_Qrcode = { - stockInLineId: 156, // eggs - // stockInLineId: 162, // chicken wings + // stockInLineId: 156, // eggs + stockInLineId: 162, // chicken wings }; useEffect(() => { @@ -725,7 +740,7 @@ const PickOrderDetail: React.FC = ({ consoCode, qc }) => { {/* homemade qrcode for testing purpose */} - {/* = ({ consoCode, qc }) => { content={homemade_Qrcode} sx={{ width: 200, height: 200 }} /> - */} + {/* diff --git a/src/i18n/zh/pickOrder.json b/src/i18n/zh/pickOrder.json index f9dc270..b466d13 100644 --- a/src/i18n/zh/pickOrder.json +++ b/src/i18n/zh/pickOrder.json @@ -17,7 +17,7 @@ "Complete": "完成", "Complete Success": "完成成功", "Complete Fail": "完成失敗", - "Complete PO": "完成採購訂單", + "Complete Pick Order": "完成提料單", "General": "一般", "Bind Storage": "綁定倉位", "itemNo": "項目編號",