FPSMS-frontend
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.
 
 

105 lignes
3.6 KiB

  1. "use client";
  2. import { useTranslation } from "react-i18next";
  3. import { ThemeProvider } from "@mui/material/styles";
  4. import theme from "../../theme";
  5. import { TabsProps } from "@mui/material/Tabs";
  6. import React, { useCallback, useEffect, useState } from "react";
  7. import { useRouter } from "next/navigation";
  8. import { Card, CardContent, CardHeader, Grid } from "@mui/material";
  9. import DashboardProgressChart from "./chart/DashboardProgressChart";
  10. import DashboardLineChart from "./chart/DashboardLineChart";
  11. import PendingInspectionChart from "./chart/PendingInspectionChart";
  12. import PendingStorageChart from "./chart/PendingStorageChart";
  13. import ApplicationCompletionChart from "./chart/ApplicationCompletionChart";
  14. import OrderCompletionChart from "./chart/OrderCompletionChart";
  15. import DashboardBox from "./Dashboardbox";
  16. import CollapsibleCard from "./CollapsibleCard";
  17. // import SupervisorQcApproval, { IQCItems } from "./QC/SupervisorQcApproval";
  18. import { EscalationResult } from "@/app/api/escalation";
  19. import EscalationLogTable from "./escalation/EscalationLogTable";
  20. type Props = {
  21. // iqc: IQCItems[] | undefined
  22. escalationLogs: EscalationResult[]
  23. };
  24. const DashboardPage: React.FC<Props> = ({
  25. // iqc,
  26. escalationLogs
  27. }) => {
  28. const { t } = useTranslation("dashboard");
  29. const router = useRouter();
  30. return (
  31. <ThemeProvider theme={theme}>
  32. <Grid container spacing={2}>
  33. <Grid item xs={12}>
  34. <CollapsibleCard title={t("Escalation List")}>
  35. <CardContent>
  36. <EscalationLogTable items={escalationLogs || []}/>
  37. </CardContent>
  38. </CollapsibleCard>
  39. </Grid>
  40. <Grid item xs={12}>
  41. <CollapsibleCard title={t("Progress chart")}>
  42. <CardContent>
  43. <Grid container spacing={2}>
  44. <Grid item xs={12} md={4}>
  45. <DashboardProgressChart />
  46. </Grid>
  47. <Grid item xs={12} md={4}>
  48. <PendingInspectionChart />
  49. </Grid>
  50. <Grid item xs={12} md={4}>
  51. <PendingStorageChart />
  52. </Grid>
  53. </Grid>
  54. </CardContent>
  55. </CollapsibleCard>
  56. </Grid>
  57. <Grid item xs={12}>
  58. <CollapsibleCard title={t("Warehouse status")}>
  59. <CardContent>
  60. <Grid container spacing={2}>
  61. <Grid item xs={12} md={6}>
  62. <Grid container spacing={2}>
  63. <Grid item xs={12} sm={6}>
  64. <ApplicationCompletionChart />
  65. </Grid>
  66. <Grid item xs={12} sm={6}>
  67. <OrderCompletionChart />
  68. </Grid>
  69. </Grid>
  70. </Grid>
  71. <Grid item xs={12} md={6}>
  72. <Grid container spacing={2}>
  73. <Grid item xs={12} sm={6}>
  74. <DashboardBox
  75. title={t("Temperature status")}
  76. value="--"
  77. unit="°C"
  78. />
  79. </Grid>
  80. <Grid item xs={12} sm={6}>
  81. <DashboardBox
  82. title={t("Humidity status")}
  83. value="--"
  84. unit="%"
  85. />
  86. </Grid>
  87. <Grid item xs={12}>
  88. <DashboardLineChart />
  89. </Grid>
  90. </Grid>
  91. </Grid>
  92. </Grid>
  93. </CardContent>
  94. </CollapsibleCard>
  95. </Grid>
  96. </Grid>
  97. </ThemeProvider>
  98. );
  99. };
  100. export default DashboardPage;