| @@ -31,8 +31,8 @@ import { decimalFormatter } from "@/app/utils/formatUtil"; | |||
| import { GridRenderCellParams } from "@mui/x-data-grid"; | |||
| type Props = { | |||
| apiRef: MutableRefObject<GridApiCommunity> | |||
| isEdit: boolean | |||
| apiRef: MutableRefObject<GridApiCommunity>; | |||
| isEdit: boolean; | |||
| }; | |||
| type EntryError = | |||
| | { | |||
| @@ -53,16 +53,16 @@ export type FGOverallRecord = { | |||
| code: string; | |||
| name: string; | |||
| type: string; | |||
| inStockQty: number; | |||
| purchaseQty: number; | |||
| purchaseQty1: number; | |||
| purchaseQty2: number; | |||
| purchaseQty3: number; | |||
| purchaseQty4: number; | |||
| purchaseQty5: number; | |||
| purchaseQty6: number; | |||
| purchaseQty7: number; | |||
| overallPurchaseQty: number; | |||
| inStockQty?: number; | |||
| purchaseQty?: number; | |||
| purchaseQty1?: number; | |||
| purchaseQty2?: number; | |||
| purchaseQty3?: number; | |||
| purchaseQty4?: number; | |||
| purchaseQty5?: number; | |||
| purchaseQty6?: number; | |||
| purchaseQty7?: number; | |||
| overallPurchaseQty?: number; | |||
| }; | |||
| const ViewByBomDetails: React.FC<Props> = ({ apiRef, isEdit }) => { | |||
| @@ -1002,22 +1002,197 @@ const ViewByBomDetails: React.FC<Props> = ({ apiRef, isEdit }) => { | |||
| [], | |||
| ); | |||
| const updatePagingController = (updatedObj: { index: number, pageNum: number, pageSize: number, totalCount: number }) => { | |||
| setPagingController((prevState) => { | |||
| return prevState.map((item, index) => { | |||
| if (index === updatedObj?.index){ | |||
| return { | |||
| ...item, | |||
| pageNum: item.pageNum, | |||
| pageSize: item.pageSize, | |||
| totalCount: item.totalCount, | |||
| }; | |||
| } | |||
| else | |||
| return item | |||
| }); | |||
| }); | |||
| }; | |||
| // const updatePagingController = (updatedObj: { index: number, pageNum: number, pageSize: number, totalCount: number }) => { | |||
| // setPagingController((prevState) => { | |||
| // return prevState.map((item, index) => { | |||
| // if (index === updatedObj?.index){ | |||
| // return { | |||
| // ...item, | |||
| // pageNum: item.pageNum, | |||
| // pageSize: item.pageSize, | |||
| // totalCount: item.totalCount, | |||
| // }; | |||
| // } | |||
| // else | |||
| // return item | |||
| // }); | |||
| // }); | |||
| // }; | |||
| const fakeOverallRecords = useMemo<FGOverallRecord[]>( | |||
| () => [ | |||
| { | |||
| id: 1, | |||
| code: "MH0040", | |||
| type: "Material", | |||
| name: "大豆油(1噸/桶)", | |||
| inStockQty: 54.44, | |||
| purchaseQty1: 972.12, | |||
| purchaseQty2: 972.12, | |||
| purchaseQty3: 972.12, | |||
| purchaseQty4: 972.12, | |||
| purchaseQty5: 972.12, | |||
| purchaseQty6: 972.12, | |||
| purchaseQty7: 972.12, | |||
| overallPurchaseQty: 6804.84, | |||
| }, | |||
| { | |||
| id: 2, | |||
| code: "GI3236", | |||
| type: "Material", | |||
| name: "清水(煮過牛腩)", | |||
| inStockQty: 317.52, | |||
| purchaseQty1: 3175.2, | |||
| purchaseQty2: 3175.2, | |||
| purchaseQty3: 3175.2, | |||
| purchaseQty4: 3175.2, | |||
| purchaseQty5: 3175.2, | |||
| purchaseQty6: 3175.2, | |||
| purchaseQty7: 3175.2, | |||
| overallPurchaseQty: 22226.4, | |||
| }, | |||
| { | |||
| id: 3, | |||
| code: "MG1700", | |||
| type: "Material", | |||
| name: "STERILTOM 意大利茄粒", | |||
| inStockQty: 9.0, | |||
| purchaseQty1: 90, | |||
| purchaseQty2: 90, | |||
| purchaseQty3: 90, | |||
| purchaseQty4: 90, | |||
| purchaseQty5: 90, | |||
| purchaseQty6: 90, | |||
| purchaseQty7: 90, | |||
| overallPurchaseQty: 630, | |||
| }, | |||
| { | |||
| id: 4, | |||
| code: "FA0533", | |||
| type: "Material", | |||
| name: "乾蔥茸", | |||
| inStockQty: 6.04, | |||
| purchaseQty1: 60.4, | |||
| purchaseQty2: 60.4, | |||
| purchaseQty3: 60.4, | |||
| purchaseQty4: 60.4, | |||
| purchaseQty5: 60.4, | |||
| purchaseQty6: 60.4, | |||
| purchaseQty7: 60.4, | |||
| overallPurchaseQty: 422.8, | |||
| }, | |||
| { | |||
| id: 5, | |||
| code: "FA0210", | |||
| type: "Material", | |||
| name: "薑茸", | |||
| inStockQty: 6.04, | |||
| purchaseQty1: 66.45, | |||
| purchaseQty2: 66.45, | |||
| purchaseQty3: 66.45, | |||
| purchaseQty4: 66.45, | |||
| purchaseQty5: 66.45, | |||
| purchaseQty6: 66.45, | |||
| purchaseQty7: 66.45, | |||
| overallPurchaseQty: 465.15, | |||
| }, | |||
| { | |||
| id: 6, | |||
| code: "FA0608", | |||
| type: "Material", | |||
| name: "粗蒜茸", | |||
| inStockQty: 6.04, | |||
| purchaseQty1: 78.55, | |||
| purchaseQty2: 78.55, | |||
| purchaseQty3: 78.55, | |||
| purchaseQty4: 78.55, | |||
| purchaseQty5: 78.55, | |||
| purchaseQty6: 78.55, | |||
| purchaseQty7: 78.55, | |||
| overallPurchaseQty: 549.85, | |||
| }, | |||
| { | |||
| id: 7, | |||
| code: "FA0056", | |||
| type: "Material", | |||
| name: "洋蔥肉", | |||
| inStockQty: 241.98, | |||
| purchaseQty: 2419.8, | |||
| }, | |||
| { | |||
| id: 8, | |||
| code: "PP1188", | |||
| type: "Material", | |||
| name: "咖喱膽", | |||
| inStockQty: 36.0, | |||
| purchaseQty: 0, | |||
| }, | |||
| { | |||
| id: 9, | |||
| code: "PP8001", | |||
| type: "Material", | |||
| name: "咖哩汁箱料粉", | |||
| inStockQty: 77.42, | |||
| purchaseQty: 774.2, | |||
| }, | |||
| { | |||
| id: 10, | |||
| code: "PP1096", | |||
| type: "Material", | |||
| name: "白麵撈", | |||
| inStockQty: 60.0, | |||
| purchaseQty: 0, | |||
| }, | |||
| { | |||
| id: 11, | |||
| code: "NA0476", | |||
| type: "Material", | |||
| name: "2磅份量三邊覆合袋 (0.1x225x260mm)個計", | |||
| inStockQty: 600.0, | |||
| purchaseQty: 6000, | |||
| }, | |||
| { | |||
| id: 12, | |||
| code: "MH0040", | |||
| type: "Material", | |||
| name: "大豆油(1噸/桶)", | |||
| inStockQty: 0, | |||
| purchaseQty: 972.12, | |||
| }, | |||
| { | |||
| id: 13, | |||
| code: "FA0161", | |||
| type: "Material", | |||
| name: "洋蔥粒", | |||
| inStockQty: 0, | |||
| purchaseQty: 28.15, | |||
| }, | |||
| { | |||
| id: 14, | |||
| code: "MG1288", | |||
| type: "Material", | |||
| name: "炸紅蔥頭", | |||
| inStockQty: 0, | |||
| purchaseQty: 6.05, | |||
| }, | |||
| { | |||
| id: 15, | |||
| code: "MG0066", | |||
| type: "Material", | |||
| name: "咖哩料(5斤x16包+2斤/包)", | |||
| inStockQty: 0, | |||
| purchaseQty: 241.98, | |||
| }, | |||
| { | |||
| id: 16, | |||
| code: "MH0040", | |||
| type: "Material", | |||
| name: "星加坡綠富貴花牌幼白麵粉 (50磅/包)", | |||
| inStockQty: 0, | |||
| purchaseQty: 250.0, | |||
| }, | |||
| ], | |||
| [], | |||
| ); | |||
| const [pagingController, setPagingController] = useState([ | |||
| { | |||
| @@ -1062,7 +1237,7 @@ const ViewByBomDetails: React.FC<Props> = ({ apiRef, isEdit }) => { | |||
| }, | |||
| ]); | |||
| const updatePagingController = (updatedObj) => { | |||
| const updatePagingController = (updatedObj: any) => { | |||
| setPagingController((prevState) => { | |||
| return prevState.map((item, index) => { | |||
| if (index === updatedObj?.index) { | |||
| @@ -1286,8 +1461,9 @@ const ViewByBomDetails: React.FC<Props> = ({ apiRef, isEdit }) => { | |||
| </Typography> | |||
| <EditableSearchResults<FGRecord> | |||
| index={7} | |||
| items={fakeOverallRecords} | |||
| isMockUp={true} | |||
| items={fakeOverallRecords as FGRecord[]} | |||
| hasCollapse | |||
| // isMockUp={true} | |||
| columns={overallColumns} | |||
| setPagingController={updatePagingController} | |||
| pagingController={pagingController[7]} | |||
| @@ -1302,6 +1478,7 @@ const ViewByBomDetails: React.FC<Props> = ({ apiRef, isEdit }) => { | |||
| {`${t("Material Demand Date")}: ${date}`} | |||
| </Typography> | |||
| <EditableSearchResults<FGRecord> | |||
| hasCollapse | |||
| index={index} | |||
| items={fakeRecords[index]} // Use the corresponding records for the day | |||
| columns={columns} | |||