FPSMS-frontend
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.
 
 

512 rindas
26 KiB

  1. "use client";
  2. import { CreateItemInputs } from "@/app/api/settings/item/actions";
  3. import {
  4. GridColDef,
  5. GridRowModel,
  6. GridRenderEditCellParams,
  7. GridEditInputCell,
  8. GridRowSelectionModel,
  9. useGridApiRef,
  10. } from "@mui/x-data-grid";
  11. import {MutableRefObject, useCallback, useEffect, useMemo, useState} from "react";
  12. import { useFormContext } from "react-hook-form";
  13. import { useTranslation } from "react-i18next";
  14. import InputDataGrid, { TableRow } from "../InputDataGrid/InputDataGrid";
  15. import {Box, Grid, Tooltip, Typography} from "@mui/material";
  16. import { ItemQc } from "@/app/api/settings/item";
  17. import { QcChecksInputs } from "@/app/api/settings/qcCheck/actions";
  18. import { GridApiCommunity } from "@mui/x-data-grid/internals";
  19. import { RiceBowl } from "@mui/icons-material";
  20. import EditableSearchResults, {Column} from "@/components/SearchResults/EditableSearchResults";
  21. import { decimalFormatter } from "@/app/utils/formatUtil";
  22. import { GridRenderCellParams } from "@mui/x-data-grid";
  23. type Props = {
  24. apiRef: MutableRefObject<GridApiCommunity>
  25. };
  26. type EntryError =
  27. | {
  28. [field in keyof QcChecksInputs]?: string;
  29. }
  30. | undefined;
  31. export type FGRecord = {
  32. id: string | number
  33. code: string;
  34. name: string;
  35. inStockQty: number;
  36. purchaseQty: number;
  37. }
  38. export type FGOverallRecord = {
  39. id: string | number
  40. code: string;
  41. name: string;
  42. inStockQty: number;
  43. purchaseQty: number;
  44. purchaseQty1: number;
  45. purchaseQty2: number;
  46. purchaseQty3: number;
  47. purchaseQty4: number;
  48. purchaseQty5: number;
  49. purchaseQty6: number;
  50. purchaseQty7: number;
  51. overallPurchaseQty: number;
  52. }
  53. const ViewByBomDetails: React.FC<Props> = ({ apiRef, isEdit }) => {
  54. const {
  55. t,
  56. i18n: { language },
  57. } = useTranslation("schedule");
  58. const {
  59. formState: { errors, defaultValues, touchedFields },
  60. } = useFormContext<CreateItemInputs>();
  61. // const apiRef = useGridApiRef();
  62. const dayPeriod = [
  63. '2025-05-11',
  64. '2025-05-12',
  65. '2025-05-13',
  66. '2025-05-14',
  67. '2025-05-15',
  68. '2025-05-16',
  69. '2025-05-17',
  70. ];
  71. const fakeRecords = useMemo<FGRecord[][]>(
  72. () => [
  73. [
  74. { id: 1, code: "MH0040", name: "大豆油(1噸/桶)", inStockQty: 54.44 , purchaseQty: 972.12 },
  75. { id: 2, code: "GI3236", name: "清水(煮過牛腩)", inStockQty: 317.52 , purchaseQty: 3175.2 },
  76. { id: 3, code: "MG1700", name: "STERILTOM 意大利茄粒", inStockQty: 9.00 , purchaseQty: 90 },
  77. { id: 4, code: "FA0533", name: "乾蔥茸", inStockQty: 6.04 , purchaseQty: 60.4 },
  78. { id: 5, code: "FA0210", name: "薑茸", inStockQty: 6.04 , purchaseQty: 66.45 },
  79. { id: 6, code: "FA0608", name: "粗蒜茸", inStockQty: 6.04 , purchaseQty: 78.55 },
  80. { id: 7, code: "FA0056", name: "洋蔥肉", inStockQty: 241.98 , purchaseQty: 2419.8 },
  81. { id: 8, code: "PP1188", name: "咖喱膽", inStockQty: 36.00 , purchaseQty: 0 },
  82. { id: 9, code: "PP8001", name: "咖哩汁箱料粉", inStockQty: 77.42 , purchaseQty: 774.2 },
  83. { id: 10, code: "PP1096", name: "白麵撈", inStockQty: 60.00 , purchaseQty: 0 },
  84. { id: 11, code: "NA0476", name: "2磅份量三邊覆合袋 (0.1x225x260mm)個計", inStockQty: 600.00 , purchaseQty: 6000 },
  85. { id: 12, code: "MH0040", name: "大豆油(1噸/桶)", inStockQty: 0, purchaseQty: 972.12 },
  86. { id: 13, code: "FA0161", name: "洋蔥粒", inStockQty: 0, purchaseQty: 28.15 },
  87. { id: 14, code: "MG1288", name: "炸紅蔥頭", inStockQty: 0, purchaseQty: 6.05 },
  88. { id: 15, code: "MG0066", name: "咖哩料(5斤x16包+2斤/包)", inStockQty: 0, purchaseQty: 241.98 },
  89. { id: 16, code: "MH0040", name: "星加坡綠富貴花牌幼白麵粉 (50磅/包)", inStockQty: 0, purchaseQty: 250.00 },
  90. ],
  91. [
  92. { id: 1, code: "MH0040", name: "大豆油(1噸/桶)", inStockQty: 54.44 , purchaseQty: 972.12 },
  93. { id: 2, code: "GI3236", name: "清水(煮過牛腩)", inStockQty: 317.52 , purchaseQty: 3175.2 },
  94. { id: 3, code: "MG1700", name: "STERILTOM 意大利茄粒", inStockQty: 9.00 , purchaseQty: 90 },
  95. { id: 4, code: "FA0533", name: "乾蔥茸", inStockQty: 6.04 , purchaseQty: 60.4 },
  96. { id: 5, code: "FA0210", name: "薑茸", inStockQty: 6.04 , purchaseQty: 66.45 },
  97. { id: 6, code: "FA0608", name: "粗蒜茸", inStockQty: 6.04 , purchaseQty: 78.55 },
  98. { id: 7, code: "FA0056", name: "洋蔥肉", inStockQty: 241.98 , purchaseQty: 2419.8 },
  99. { id: 8, code: "PP1188", name: "咖喱膽", inStockQty: 36.00 , purchaseQty: 0 },
  100. { id: 9, code: "PP8001", name: "咖哩汁箱料粉", inStockQty: 77.42 , purchaseQty: 774.2 },
  101. { id: 10, code: "PP1096", name: "白麵撈", inStockQty: 60.00 , purchaseQty: 0 },
  102. { id: 11, code: "NA0476", name: "2磅份量三邊覆合袋 (0.1x225x260mm)個計", inStockQty: 600.00 , purchaseQty: 6000 },
  103. { id: 12, code: "MH0040", name: "大豆油(1噸/桶)", inStockQty: 0, purchaseQty: 972.12 },
  104. { id: 13, code: "FA0161", name: "洋蔥粒", inStockQty: 0, purchaseQty: 28.15 },
  105. { id: 14, code: "MG1288", name: "炸紅蔥頭", inStockQty: 0, purchaseQty: 6.05 },
  106. { id: 15, code: "MG0066", name: "咖哩料(5斤x16包+2斤/包)", inStockQty: 0, purchaseQty: 241.98 },
  107. { id: 16, code: "MH0040", name: "星加坡綠富貴花牌幼白麵粉 (50磅/包)", inStockQty: 0, purchaseQty: 250.00 },
  108. ],
  109. [
  110. { id: 1, code: "MH0040", name: "大豆油(1噸/桶)", inStockQty: 54.44 , purchaseQty: 972.12 },
  111. { id: 2, code: "GI3236", name: "清水(煮過牛腩)", inStockQty: 317.52 , purchaseQty: 3175.2 },
  112. { id: 3, code: "MG1700", name: "STERILTOM 意大利茄粒", inStockQty: 9.00 , purchaseQty: 90 },
  113. { id: 4, code: "FA0533", name: "乾蔥茸", inStockQty: 6.04 , purchaseQty: 60.4 },
  114. { id: 5, code: "FA0210", name: "薑茸", inStockQty: 6.04 , purchaseQty: 66.45 },
  115. { id: 6, code: "FA0608", name: "粗蒜茸", inStockQty: 6.04 , purchaseQty: 78.55 },
  116. { id: 7, code: "FA0056", name: "洋蔥肉", inStockQty: 241.98 , purchaseQty: 2419.8 },
  117. { id: 8, code: "PP1188", name: "咖喱膽", inStockQty: 36.00 , purchaseQty: 0 },
  118. { id: 9, code: "PP8001", name: "咖哩汁箱料粉", inStockQty: 77.42 , purchaseQty: 774.2 },
  119. { id: 10, code: "PP1096", name: "白麵撈", inStockQty: 60.00 , purchaseQty: 0 },
  120. { id: 11, code: "NA0476", name: "2磅份量三邊覆合袋 (0.1x225x260mm)個計", inStockQty: 600.00 , purchaseQty: 6000 },
  121. { id: 12, code: "MH0040", name: "大豆油(1噸/桶)", inStockQty: 0, purchaseQty: 972.12 },
  122. { id: 13, code: "FA0161", name: "洋蔥粒", inStockQty: 0, purchaseQty: 28.15 },
  123. { id: 14, code: "MG1288", name: "炸紅蔥頭", inStockQty: 0, purchaseQty: 6.05 },
  124. { id: 15, code: "MG0066", name: "咖哩料(5斤x16包+2斤/包)", inStockQty: 0, purchaseQty: 241.98 },
  125. { id: 16, code: "MH0040", name: "星加坡綠富貴花牌幼白麵粉 (50磅/包)", inStockQty: 0, purchaseQty: 250.00 },
  126. ],
  127. [
  128. { id: 1, code: "MH0040", name: "大豆油(1噸/桶)", inStockQty: 54.44 , purchaseQty: 972.12 },
  129. { id: 2, code: "GI3236", name: "清水(煮過牛腩)", inStockQty: 317.52 , purchaseQty: 3175.2 },
  130. { id: 3, code: "MG1700", name: "STERILTOM 意大利茄粒", inStockQty: 9.00 , purchaseQty: 90 },
  131. { id: 4, code: "FA0533", name: "乾蔥茸", inStockQty: 6.04 , purchaseQty: 60.4 },
  132. { id: 5, code: "FA0210", name: "薑茸", inStockQty: 6.04 , purchaseQty: 66.45 },
  133. { id: 6, code: "FA0608", name: "粗蒜茸", inStockQty: 6.04 , purchaseQty: 78.55 },
  134. { id: 7, code: "FA0056", name: "洋蔥肉", inStockQty: 241.98 , purchaseQty: 2419.8 },
  135. { id: 8, code: "PP1188", name: "咖喱膽", inStockQty: 36.00 , purchaseQty: 0 },
  136. { id: 9, code: "PP8001", name: "咖哩汁箱料粉", inStockQty: 77.42 , purchaseQty: 774.2 },
  137. { id: 10, code: "PP1096", name: "白麵撈", inStockQty: 60.00 , purchaseQty: 0 },
  138. { id: 11, code: "NA0476", name: "2磅份量三邊覆合袋 (0.1x225x260mm)個計", inStockQty: 600.00 , purchaseQty: 6000 },
  139. { id: 12, code: "MH0040", name: "大豆油(1噸/桶)", inStockQty: 0, purchaseQty: 972.12 },
  140. { id: 13, code: "FA0161", name: "洋蔥粒", inStockQty: 0, purchaseQty: 28.15 },
  141. { id: 14, code: "MG1288", name: "炸紅蔥頭", inStockQty: 0, purchaseQty: 6.05 },
  142. { id: 15, code: "MG0066", name: "咖哩料(5斤x16包+2斤/包)", inStockQty: 0, purchaseQty: 241.98 },
  143. { id: 16, code: "MH0040", name: "星加坡綠富貴花牌幼白麵粉 (50磅/包)", inStockQty: 0, purchaseQty: 250.00 },
  144. ],
  145. [
  146. { id: 1, code: "MH0040", name: "大豆油(1噸/桶)", inStockQty: 54.44 , purchaseQty: 972.12 },
  147. { id: 2, code: "GI3236", name: "清水(煮過牛腩)", inStockQty: 317.52 , purchaseQty: 3175.2 },
  148. { id: 3, code: "MG1700", name: "STERILTOM 意大利茄粒", inStockQty: 9.00 , purchaseQty: 90 },
  149. { id: 4, code: "FA0533", name: "乾蔥茸", inStockQty: 6.04 , purchaseQty: 60.4 },
  150. { id: 5, code: "FA0210", name: "薑茸", inStockQty: 6.04 , purchaseQty: 66.45 },
  151. { id: 6, code: "FA0608", name: "粗蒜茸", inStockQty: 6.04 , purchaseQty: 78.55 },
  152. { id: 7, code: "FA0056", name: "洋蔥肉", inStockQty: 241.98 , purchaseQty: 2419.8 },
  153. { id: 8, code: "PP1188", name: "咖喱膽", inStockQty: 36.00 , purchaseQty: 0 },
  154. { id: 9, code: "PP8001", name: "咖哩汁箱料粉", inStockQty: 77.42 , purchaseQty: 774.2 },
  155. { id: 10, code: "PP1096", name: "白麵撈", inStockQty: 60.00 , purchaseQty: 0 },
  156. { id: 11, code: "NA0476", name: "2磅份量三邊覆合袋 (0.1x225x260mm)個計", inStockQty: 600.00 , purchaseQty: 6000 },
  157. { id: 12, code: "MH0040", name: "大豆油(1噸/桶)", inStockQty: 0, purchaseQty: 972.12 },
  158. { id: 13, code: "FA0161", name: "洋蔥粒", inStockQty: 0, purchaseQty: 28.15 },
  159. { id: 14, code: "MG1288", name: "炸紅蔥頭", inStockQty: 0, purchaseQty: 6.05 },
  160. { id: 15, code: "MG0066", name: "咖哩料(5斤x16包+2斤/包)", inStockQty: 0, purchaseQty: 241.98 },
  161. { id: 16, code: "MH0040", name: "星加坡綠富貴花牌幼白麵粉 (50磅/包)", inStockQty: 0, purchaseQty: 250.00 },
  162. ],
  163. [
  164. { id: 1, code: "MH0040", name: "大豆油(1噸/桶)", inStockQty: 54.44 , purchaseQty: 972.12 },
  165. { id: 2, code: "GI3236", name: "清水(煮過牛腩)", inStockQty: 317.52 , purchaseQty: 3175.2 },
  166. { id: 3, code: "MG1700", name: "STERILTOM 意大利茄粒", inStockQty: 9.00 , purchaseQty: 90 },
  167. { id: 4, code: "FA0533", name: "乾蔥茸", inStockQty: 6.04 , purchaseQty: 60.4 },
  168. { id: 5, code: "FA0210", name: "薑茸", inStockQty: 6.04 , purchaseQty: 66.45 },
  169. { id: 6, code: "FA0608", name: "粗蒜茸", inStockQty: 6.04 , purchaseQty: 78.55 },
  170. { id: 7, code: "FA0056", name: "洋蔥肉", inStockQty: 241.98 , purchaseQty: 2419.8 },
  171. { id: 8, code: "PP1188", name: "咖喱膽", inStockQty: 36.00 , purchaseQty: 0 },
  172. { id: 9, code: "PP8001", name: "咖哩汁箱料粉", inStockQty: 77.42 , purchaseQty: 774.2 },
  173. { id: 10, code: "PP1096", name: "白麵撈", inStockQty: 60.00 , purchaseQty: 0 },
  174. { id: 11, code: "NA0476", name: "2磅份量三邊覆合袋 (0.1x225x260mm)個計", inStockQty: 600.00 , purchaseQty: 6000 },
  175. { id: 12, code: "MH0040", name: "大豆油(1噸/桶)", inStockQty: 0, purchaseQty: 972.12 },
  176. { id: 13, code: "FA0161", name: "洋蔥粒", inStockQty: 0, purchaseQty: 28.15 },
  177. { id: 14, code: "MG1288", name: "炸紅蔥頭", inStockQty: 0, purchaseQty: 6.05 },
  178. { id: 15, code: "MG0066", name: "咖哩料(5斤x16包+2斤/包)", inStockQty: 0, purchaseQty: 241.98 },
  179. { id: 16, code: "MH0040", name: "星加坡綠富貴花牌幼白麵粉 (50磅/包)", inStockQty: 0, purchaseQty: 250.00 },
  180. ],
  181. [
  182. { id: 1, code: "MH0040", name: "大豆油(1噸/桶)", inStockQty: 54.44 , purchaseQty: 972.12 },
  183. { id: 2, code: "GI3236", name: "清水(煮過牛腩)", inStockQty: 317.52 , purchaseQty: 3175.2 },
  184. { id: 3, code: "MG1700", name: "STERILTOM 意大利茄粒", inStockQty: 9.00 , purchaseQty: 90 },
  185. { id: 4, code: "FA0533", name: "乾蔥茸", inStockQty: 6.04 , purchaseQty: 60.4 },
  186. { id: 5, code: "FA0210", name: "薑茸", inStockQty: 6.04 , purchaseQty: 66.45 },
  187. { id: 6, code: "FA0608", name: "粗蒜茸", inStockQty: 6.04 , purchaseQty: 78.55 },
  188. { id: 7, code: "FA0056", name: "洋蔥肉", inStockQty: 241.98 , purchaseQty: 2419.8 },
  189. { id: 8, code: "PP1188", name: "咖喱膽", inStockQty: 36.00 , purchaseQty: 0 },
  190. { id: 9, code: "PP8001", name: "咖哩汁箱料粉", inStockQty: 77.42 , purchaseQty: 774.2 },
  191. { id: 10, code: "PP1096", name: "白麵撈", inStockQty: 60.00 , purchaseQty: 0 },
  192. { id: 11, code: "NA0476", name: "2磅份量三邊覆合袋 (0.1x225x260mm)個計", inStockQty: 600.00 , purchaseQty: 6000 },
  193. { id: 12, code: "MH0040", name: "大豆油(1噸/桶)", inStockQty: 0, purchaseQty: 972.12 },
  194. { id: 13, code: "FA0161", name: "洋蔥粒", inStockQty: 0, purchaseQty: 28.15 },
  195. { id: 14, code: "MG1288", name: "炸紅蔥頭", inStockQty: 0, purchaseQty: 6.05 },
  196. { id: 15, code: "MG0066", name: "咖哩料(5斤x16包+2斤/包)", inStockQty: 0, purchaseQty: 241.98 },
  197. { id: 16, code: "MH0040", name: "星加坡綠富貴花牌幼白麵粉 (50磅/包)", inStockQty: 0, purchaseQty: 250.00 },
  198. ],
  199. ],
  200. []
  201. );
  202. const fakeOverallRecords = useMemo<FGOverallRecord[]>(
  203. () => [
  204. { id: 1, code: "MH0040", name: "大豆油(1噸/桶)", inStockQty: 54.44 ,
  205. purchaseQty1: 972.12, purchaseQty2: 972.12, purchaseQty3: 972.12,
  206. purchaseQty4: 972.12, purchaseQty5: 972.12, purchaseQty6: 972.12,
  207. purchaseQty7: 972.12, overallPurchaseQty: 6804.84
  208. },
  209. { id: 2, code: "GI3236", name: "清水(煮過牛腩)", inStockQty: 317.52 ,
  210. purchaseQty1: 3175.2, purchaseQty2: 3175.2, purchaseQty3: 3175.2,
  211. purchaseQty4: 3175.2, purchaseQty5: 3175.2, purchaseQty6: 3175.2,
  212. purchaseQty7: 3175.2, overallPurchaseQty: 22226.4
  213. },
  214. { id: 3, code: "MG1700", name: "STERILTOM 意大利茄粒", inStockQty: 9.00 ,
  215. purchaseQty1: 90, purchaseQty2: 90, purchaseQty3: 90,
  216. purchaseQty4: 90, purchaseQty5: 90, purchaseQty6: 90,
  217. purchaseQty7: 90, overallPurchaseQty: 630
  218. },
  219. { id: 4, code: "FA0533", name: "乾蔥茸", inStockQty: 6.04 ,
  220. purchaseQty1: 60.4, purchaseQty2: 60.4, purchaseQty3: 60.4,
  221. purchaseQty4: 60.4, purchaseQty5: 60.4, purchaseQty6: 60.4,
  222. purchaseQty7: 60.4, overallPurchaseQty: 422.8
  223. },
  224. { id: 5, code: "FA0210", name: "薑茸", inStockQty: 6.04 ,
  225. purchaseQty1: 66.45, purchaseQty2: 66.45, purchaseQty3: 66.45,
  226. purchaseQty4: 66.45, purchaseQty5: 66.45, purchaseQty6: 66.45,
  227. purchaseQty7: 66.45, overallPurchaseQty: 465.15
  228. },
  229. { id: 6, code: "FA0608", name: "粗蒜茸", inStockQty: 6.04 ,
  230. purchaseQty1: 78.55, purchaseQty2: 78.55, purchaseQty3: 78.55,
  231. purchaseQty4: 78.55, purchaseQty5: 78.55, purchaseQty6: 78.55,
  232. purchaseQty7: 78.55, overallPurchaseQty: 549.85
  233. },
  234. { id: 7, code: "FA0056", name: "洋蔥肉", inStockQty: 241.98 , purchaseQty: 2419.8 },
  235. { id: 8, code: "PP1188", name: "咖喱膽", inStockQty: 36.00 , purchaseQty: 0 },
  236. { id: 9, code: "PP8001", name: "咖哩汁箱料粉", inStockQty: 77.42 , purchaseQty: 774.2 },
  237. { id: 10, code: "PP1096", name: "白麵撈", inStockQty: 60.00 , purchaseQty: 0 },
  238. { id: 11, code: "NA0476", name: "2磅份量三邊覆合袋 (0.1x225x260mm)個計", inStockQty: 600.00 , purchaseQty: 6000 },
  239. { id: 12, code: "MH0040", name: "大豆油(1噸/桶)", inStockQty: 0, purchaseQty: 972.12 },
  240. { id: 13, code: "FA0161", name: "洋蔥粒", inStockQty: 0, purchaseQty: 28.15 },
  241. { id: 14, code: "MG1288", name: "炸紅蔥頭", inStockQty: 0, purchaseQty: 6.05 },
  242. { id: 15, code: "MG0066", name: "咖哩料(5斤x16包+2斤/包)", inStockQty: 0, purchaseQty: 241.98 },
  243. { id: 16, code: "MH0040", name: "星加坡綠富貴花牌幼白麵粉 (50磅/包)", inStockQty: 0, purchaseQty: 250.00 },
  244. ],
  245. []
  246. );
  247. const [pagingController, setPagingController] = useState([
  248. {
  249. pageNum: 1,
  250. pageSize: 10,
  251. totalCount: 0,
  252. },
  253. {
  254. pageNum: 1,
  255. pageSize: 10,
  256. totalCount: 0,
  257. },
  258. {
  259. pageNum: 1,
  260. pageSize: 10,
  261. totalCount: 0,
  262. },
  263. {
  264. pageNum: 1,
  265. pageSize: 10,
  266. totalCount: 0,
  267. },
  268. {
  269. pageNum: 1,
  270. pageSize: 10,
  271. totalCount: 0,
  272. },
  273. {
  274. pageNum: 1,
  275. pageSize: 10,
  276. totalCount: 0,
  277. },
  278. {
  279. pageNum: 1,
  280. pageSize: 10,
  281. totalCount: 0,
  282. },
  283. {
  284. pageNum: 1,
  285. pageSize: 10,
  286. totalCount: 0,
  287. },
  288. ])
  289. const updatePagingController = (updatedObj) => {
  290. setPagingController((prevState) => {
  291. return prevState.map((item, index) => {
  292. if (index === updatedObj?.index){
  293. return {
  294. ...item,
  295. pageNum: item.pageNum,
  296. pageSize: item.pageSize,
  297. totalCount: item.totalCount,
  298. };
  299. }
  300. else
  301. return item
  302. });
  303. });
  304. };
  305. const overallColumns = useMemo<Column<any>[]>(
  306. () => [
  307. {
  308. field: "name",
  309. label: t("name"),
  310. type: 'read-only',
  311. },
  312. {
  313. field: "code",
  314. label: "code",
  315. type: 'read-only',
  316. // editable: true,
  317. },
  318. {
  319. field: "inStockQty",
  320. label: "In Stock Amount",
  321. type: 'read-only',
  322. renderCell: (row: FGOverallRecord) => {
  323. if (typeof(row.inStockQty) == "number") {
  324. return decimalFormatter.format(row.inStockQty)
  325. }
  326. return row.inStockQty
  327. }
  328. // editable: true,
  329. },
  330. {
  331. field: "overallPurchaseQty",
  332. label: t("Total Demand Qty"),
  333. type: 'read-only',
  334. renderCell: (row: FGOverallRecord) => {
  335. if (typeof(row.overallPurchaseQty) == "number") {
  336. return decimalFormatter.format(row.overallPurchaseQty)
  337. }
  338. return row.overallPurchaseQty
  339. }
  340. },
  341. {
  342. field: "purchaseQty1",
  343. label: t("Demand Qty (Day1)"),
  344. type: 'read-only',
  345. renderCell: (row: FGOverallRecord) => {
  346. if (typeof(row.purchaseQty1) == "number") {
  347. return decimalFormatter.format(row.purchaseQty1)
  348. }
  349. return row.purchaseQty1
  350. }
  351. },
  352. {
  353. field: "purchaseQty2",
  354. label: t("Demand Qty (Day2)"),
  355. type: 'read-only',
  356. renderCell: (row: FGOverallRecord) => {
  357. if (typeof(row.purchaseQty2) == "number") {
  358. return decimalFormatter.format(row.purchaseQty2)
  359. }
  360. return row.purchaseQty2
  361. }
  362. },
  363. {
  364. field: "purchaseQty3",
  365. label: t("Demand Qty (Day3)"),
  366. type: 'read-only',
  367. renderCell: (row: FGOverallRecord) => {
  368. if (typeof(row.purchaseQty3) == "number") {
  369. return decimalFormatter.format(row.purchaseQty3)
  370. }
  371. return row.purchaseQty3
  372. }
  373. },
  374. {
  375. field: "purchaseQty4",
  376. label: t("Demand Qty (Day4)"),
  377. type: 'read-only',
  378. renderCell: (row: FGOverallRecord) => {
  379. if (typeof(row.purchaseQty4) == "number") {
  380. return decimalFormatter.format(row.purchaseQty4)
  381. }
  382. return row.purchaseQty4
  383. }
  384. },{
  385. field: "purchaseQty5",
  386. label: t("Demand Qty (Day5)"),
  387. type: 'read-only',
  388. renderCell: (row: FGOverallRecord) => {
  389. if (typeof(row.purchaseQty5) == "number") {
  390. return decimalFormatter.format(row.purchaseQty5)
  391. }
  392. return row.purchaseQty5
  393. }
  394. },
  395. {
  396. field: "purchaseQty6",
  397. label: t("Demand Qty (Day6)"),
  398. type: 'read-only',
  399. renderCell: (row: FGOverallRecord) => {
  400. if (typeof(row.purchaseQty6) == "number") {
  401. return decimalFormatter.format(row.purchaseQty6)
  402. }
  403. return row.purchaseQty6
  404. }
  405. },
  406. {
  407. field: "purchaseQty7",
  408. label: t("Demand Qty (Day7)"),
  409. type: 'read-only',
  410. renderCell: (row: FGOverallRecord) => {
  411. if (typeof(row.purchaseQty7) == "number") {
  412. return decimalFormatter.format(row.purchaseQty7)
  413. }
  414. return row.purchaseQty7
  415. }
  416. },
  417. ],
  418. []
  419. );
  420. const columns = useMemo<Column<any>[]>(
  421. () => [
  422. {
  423. field: "name",
  424. label: "name",
  425. type: 'read-only',
  426. },
  427. {
  428. field: "code",
  429. label: "code",
  430. type: 'read-only',
  431. // editable: true,
  432. },
  433. {
  434. field: "inStockQty",
  435. label: "In Stock Amount",
  436. type: 'read-only',
  437. // editable: true,
  438. renderCell: (row: FGRecord) => {
  439. if (typeof(row.inStockQty) == "number") {
  440. return decimalFormatter.format(row.inStockQty)
  441. }
  442. return row.inStockQty
  443. }
  444. },
  445. {
  446. field: "purchaseQty",
  447. label: "Purchase Qty",
  448. type: 'read-only',
  449. renderCell: (row: FGRecord) => {
  450. if (typeof(row.purchaseQty) == "number") {
  451. return decimalFormatter.format(row.purchaseQty)
  452. }
  453. return row.purchaseQty
  454. }
  455. },
  456. ],
  457. []
  458. );
  459. return (
  460. <Grid container spacing={2}>
  461. <Grid item xs={12} key={"all"}>
  462. <Typography variant="overline" display="block" marginBlockEnd={1}>
  463. Overall
  464. </Typography>
  465. <EditableSearchResults<FGRecord>
  466. index={7}
  467. items={fakeOverallRecords}
  468. isMockUp={true}
  469. columns={overallColumns}
  470. setPagingController={updatePagingController}
  471. pagingController={pagingController[7]}
  472. isAutoPaging={true}
  473. isEditable={false}
  474. isEdit={false}
  475. />
  476. </Grid>
  477. {dayPeriod.map((date, index) => (
  478. <Grid item xs={12} key={index}>
  479. <Typography variant="overline" display="block" marginBlockEnd={1}>
  480. {date}
  481. </Typography>
  482. <EditableSearchResults<FGRecord>
  483. index={index}
  484. items={fakeRecords[index]} // Use the corresponding records for the day
  485. columns={columns}
  486. setPagingController={updatePagingController}
  487. pagingController={pagingController[index]}
  488. isAutoPaging={true}
  489. isEditable={false}
  490. isEdit={isEdit}
  491. />
  492. </Grid>
  493. ))}
  494. </Grid>
  495. );
  496. };
  497. export default ViewByBomDetails;