FPSMS-frontend
Não pode escolher mais do que 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
 
 
 

74 linhas
1.7 KiB

  1. import { PoResult } from "@/app/api/po";
  2. import { arrayToDateString } from "@/app/utils/formatUtil";
  3. import {
  4. Box,
  5. Button,
  6. Card,
  7. CardContent,
  8. Grid,
  9. Stack,
  10. Tab,
  11. Tabs,
  12. TabsProps,
  13. TextField,
  14. Typography,
  15. } from "@mui/material";
  16. import { useTranslation } from "react-i18next";
  17. type Props = {
  18. // id?: number
  19. po: PoResult;
  20. };
  21. const PoInfoCard: React.FC<Props> = (
  22. {
  23. // id
  24. po
  25. },
  26. ) => {
  27. const { t } = useTranslation("purchaseOrder")
  28. return (
  29. <>
  30. <Card sx={{ display: "block", height: "230px" }}>
  31. <CardContent component={Stack} spacing={4}>
  32. <Box>
  33. <Stack spacing={2}>
  34. {/* 第一行:供应商 - 占据全宽 */}
  35. <TextField
  36. label={t("Supplier")}
  37. fullWidth
  38. disabled={true}
  39. value={po.supplier}
  40. />
  41. {/* 第二行:订单日期和预计到货日期 - 各占一半 */}
  42. <Grid container spacing={2}>
  43. <Grid item xs={6}>
  44. <TextField
  45. label={t("Order Date")}
  46. fullWidth
  47. disabled={true}
  48. value={arrayToDateString(po.orderDate)}
  49. />
  50. </Grid>
  51. <Grid item xs={6}>
  52. <TextField
  53. // {
  54. // ...register("name")
  55. // }
  56. label={t("ETA")}
  57. fullWidth
  58. disabled={true}
  59. value={arrayToDateString(po.estimatedArrivalDate)}
  60. />
  61. </Grid>
  62. </Grid>
  63. </Stack>
  64. </Box>
  65. </CardContent>
  66. </Card>
  67. </>
  68. );
  69. };
  70. export default PoInfoCard;