Browse Source

update

master
MSI\derek 1 month ago
parent
commit
65c7642550
2 changed files with 46 additions and 31 deletions
  1. +45
    -30
      src/components/PickOrderDetail/PickOrderDetail.tsx
  2. +1
    -1
      src/i18n/zh/pickOrder.json

+ 45
- 30
src/components/PickOrderDetail/PickOrderDetail.tsx View File

@@ -160,11 +160,11 @@ const PickOrderDetail: React.FC<Props> = ({ consoCode, qc }) => {
headerName: "uom", headerName: "uom",
flex: 1, flex: 1,
}, },
{
field: "lotLineId",
headerName: "lotLineId",
flex: 1,
},
// {
// field: "lotLineId",
// headerName: "lotLineId",
// flex: 1,
// },
{ {
field: "warehouse", field: "warehouse",
headerName: "location", headerName: "location",
@@ -187,10 +187,22 @@ const PickOrderDetail: React.FC<Props> = ({ consoCode, qc }) => {
return FitAllCell(suggestedLotNoList); return FitAllCell(suggestedLotNoList);
}, },
}, },
{
field: "status",
headerName: t("status"),
flex: 0.5,
renderCell: (params) => {
return t(`${params.row.status}`);
},
},
], ],
[] []
); );


const [isCompletedOrder, setIsCompletedOrder] = useState<boolean>(() => {
return pickOrderLine.every((line) => line.status == "completed")
})

const fetchPickOrderLine = useCallback( const fetchPickOrderLine = useCallback(
async (params: Record<string, any>) => { async (params: Record<string, any>) => {
setIsLoadingModel((prev) => ({ setIsLoadingModel((prev) => ({
@@ -203,7 +215,12 @@ const PickOrderDetail: React.FC<Props> = ({ consoCode, qc }) => {
}); });
if (res) { if (res) {
console.log(res); console.log(res);
console.log(res.records.every((line) => line.status == "completed"))
setIsCompletedOrder(() =>
res.records.every((line) => line.status == "completed")
)
setPickOrderLine(res.records); setPickOrderLine(res.records);
setPolTotalCount(res.total); setPolTotalCount(res.total);
} else { } else {
console.log("error"); console.log("error");
@@ -224,7 +241,7 @@ const PickOrderDetail: React.FC<Props> = ({ consoCode, qc }) => {
confirmButtonText: t("Complete"), confirmButtonText: t("Complete"),
successTitle: t("Complete Success"), successTitle: t("Complete Success"),
errorTitle: t("Complete Fail"), errorTitle: t("Complete Fail"),
buttonText: t("Complete PO"),
buttonText: t("Complete Pick Order"),
buttonIcon: <DoneIcon />, buttonIcon: <DoneIcon />,
buttonColor: "info", buttonColor: "info",
disabled: true, disabled: true,
@@ -330,16 +347,16 @@ const PickOrderDetail: React.FC<Props> = ({ consoCode, qc }) => {
setOpenScanner((prev) => !prev); setOpenScanner((prev) => !prev);
console.log(id); console.log(id);
setIsChangeLotSolId((prev) => { setIsChangeLotSolId((prev) => {
if (prev != undefined) return undefined
return id as number
if (prev != undefined) return undefined;
return id as number;
}); });
}, },
[] []
); );


useEffect(() => { useEffect(() => {
console.log(isChangeLotSolId)
}, [isChangeLotSolId])
console.log(isChangeLotSolId);
}, [isChangeLotSolId]);


const handleComplete = useCallback( const handleComplete = useCallback(
(id: GridRowId, params: any) => async () => { (id: GridRowId, params: any) => async () => {
@@ -477,7 +494,8 @@ const PickOrderDetail: React.FC<Props> = ({ consoCode, qc }) => {
disabled={ disabled={
!params.row.inventoryLotLineId || !params.row.inventoryLotLineId ||
stockOutLineStatusMap[status] === 2 || stockOutLineStatusMap[status] === 2 ||
stockOutLineStatusMap[status] === 5
stockOutLineStatusMap[status] >= 4 ||
stockOutLineStatusMap[status] === 0
} }
// set _isNew to false after posting // set _isNew to false after posting
// or check status // or check status
@@ -494,14 +512,14 @@ const PickOrderDetail: React.FC<Props> = ({ consoCode, qc }) => {
disabled={stockOutLineStatusMap[status] > 0} disabled={stockOutLineStatusMap[status] > 0}
onClick={handleDelete(params.row.id)} onClick={handleDelete(params.row.id)}
/>, />,
<GridActionsCellItem
icon={<InfoIcon />}
label="debug button"
sx={{
color: "error.main",
}}
onClick={() => console.log(params.row)}
/>,
// <GridActionsCellItem
// icon={<InfoIcon />}
// label="debug button"
// sx={{
// color: "error.main",
// }}
// onClick={() => console.log(params.row)}
// />,
]; ];
}, },
}, },
@@ -570,17 +588,14 @@ const PickOrderDetail: React.FC<Props> = ({ consoCode, qc }) => {
[stockOutLine, getRowId] [stockOutLine, getRowId]
); );


useEffect(() => {
fetchPickOrderLine(polCriteriaArgs);
}, [polCriteriaArgs]);

/// handle refetch all data
useEffect(() => { useEffect(() => {
if (!qcOpen || !approvalOpen) { if (!qcOpen || !approvalOpen) {
console.log("triggering")
triggerRefetch(); triggerRefetch();
fetchPickOrderLine(polCriteriaArgs);
} }
if (selectedRow.length > 0) fetchStockOutLine(solCriteriaArgs, selectedRow); if (selectedRow.length > 0) fetchStockOutLine(solCriteriaArgs, selectedRow);
}, [qcOpen, approvalOpen, solCriteriaArgs, selectedRow, triggerRefetch]);
}, [qcOpen, approvalOpen, solCriteriaArgs, selectedRow, triggerRefetch, polCriteriaArgs]);


const getLotDetail = useCallback( const getLotDetail = useCallback(
async (stockInLineId: number): Promise<LotLineInfo> => { async (stockInLineId: number): Promise<LotLineInfo> => {
@@ -617,8 +632,8 @@ const PickOrderDetail: React.FC<Props> = ({ consoCode, qc }) => {
}, [isOpenScanner]); }, [isOpenScanner]);


const homemade_Qrcode = { const homemade_Qrcode = {
stockInLineId: 156, // eggs
// stockInLineId: 162, // chicken wings
// stockInLineId: 156, // eggs
stockInLineId: 162, // chicken wings
}; };


useEffect(() => { useEffect(() => {
@@ -725,7 +740,7 @@ const PickOrderDetail: React.FC<Props> = ({ consoCode, qc }) => {
<Grid item xs={8}> <Grid item xs={8}>
<Button <Button
// onClick={buttonData.onClick} // onClick={buttonData.onClick}
disabled={buttonData.disabled}
disabled={!isCompletedOrder}
color={buttonData.buttonColor as ButtonProps["color"]} color={buttonData.buttonColor as ButtonProps["color"]}
startIcon={buttonData.buttonIcon} startIcon={buttonData.buttonIcon}
> >
@@ -750,7 +765,7 @@ const PickOrderDetail: React.FC<Props> = ({ consoCode, qc }) => {
</Button> </Button>
</Grid> </Grid>
{/* homemade qrcode for testing purpose */} {/* homemade qrcode for testing purpose */}
{/* <Grid
<Grid
item item
xs={12} xs={12}
style={{ display: "flex", justifyContent: "center" }} style={{ display: "flex", justifyContent: "center" }}
@@ -759,7 +774,7 @@ const PickOrderDetail: React.FC<Props> = ({ consoCode, qc }) => {
content={homemade_Qrcode} content={homemade_Qrcode}
sx={{ width: 200, height: 200 }} sx={{ width: 200, height: 200 }}
/> />
</Grid> */}
</Grid>
</Grid> </Grid>
<Grid container xs={12} justifyContent="space-between"> <Grid container xs={12} justifyContent="space-between">
{/* <Grid item xs={12} sx={{ height: 400 }}> {/* <Grid item xs={12} sx={{ height: 400 }}>


+ 1
- 1
src/i18n/zh/pickOrder.json View File

@@ -17,7 +17,7 @@
"Complete": "完成", "Complete": "完成",
"Complete Success": "完成成功", "Complete Success": "完成成功",
"Complete Fail": "完成失敗", "Complete Fail": "完成失敗",
"Complete PO": "完成採購訂單",
"Complete Pick Order": "完成提料單",
"General": "一般", "General": "一般",
"Bind Storage": "綁定倉位", "Bind Storage": "綁定倉位",
"itemNo": "項目編號", "itemNo": "項目編號",


Loading…
Cancel
Save