From ce2d24454495d6f145dc8af7936b31541b2fdfa3 Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期三, 06 八月 2025 13:29:47 +0800
Subject: [PATCH] 保存一个版本
---
zy-acs-flow/src/page/bus/BusPanel.jsx | 140 +++++++++++++++++++++++++++++++---------------
1 files changed, 93 insertions(+), 47 deletions(-)
diff --git a/zy-acs-flow/src/page/bus/BusPanel.jsx b/zy-acs-flow/src/page/bus/BusPanel.jsx
index 5f62e82..8ec27c4 100644
--- a/zy-acs-flow/src/page/bus/BusPanel.jsx
+++ b/zy-acs-flow/src/page/bus/BusPanel.jsx
@@ -1,32 +1,56 @@
import React, { useState, useRef, useEffect, useMemo } from "react";
-import { Box, Card, CardContent, Grid, Typography, Tooltip } from '@mui/material';
+import {
+ Box,
+ Card,
+ CardContent,
+ Grid,
+ Typography,
+ Tooltip,
+ Table,
+ TableBody,
+ TableCell,
+ TableHead,
+ TableRow,
+} from '@mui/material';
import {
useTranslate,
useRecordContext,
+ useGetMany,
+ Link,
} from 'react-admin';
import PanelTypography from "../components/PanelTypography";
-import * as Common from '@/utils/common'
+import * as Common from '@/utils/common';
+import { styled } from '@mui/material/styles';
+import { format } from 'date-fns';
const BusPanel = () => {
const record = useRecordContext();
- if (!record) return null;
const translate = useTranslate();
+ const taskIds = record ? record.taskIds : [];
+ const { isPending, data: tasks } = useGetMany(
+ 'tasks',
+ { ids: taskIds },
+ { enabled: !!record }
+ );
+
+ if (isPending || !record) return null;
+
return (
<>
- <Card sx={{ width: { xs: 300, sm: 500, md: 600, lg: 800 }, margin: 'auto' }}>
+ <Card sx={{ maxWidth: '80%', margin: 'auto', mt: .5, mb: .5 }}>
<CardContent>
<Grid container spacing={2}>
<Grid item xs={12} sx={{ display: 'flex', justifyContent: 'space-between' }}>
- <Typography variant="h6" gutterBottom align="left" sx={{
+ <Typography variant="h5" gutterBottom align="left" sx={{
maxWidth: { xs: '100px', sm: '180px', md: '260px', lg: '360px' },
whiteSpace: 'nowrap',
overflow: 'hidden',
textOverflow: 'ellipsis',
}}>
- {Common.camelToPascalWithSpaces(translate('table.field.bus.busNo'))}: {record.seqNum}
+ {Common.camelToPascalWithSpaces(translate('table.field.bus.busNo'))}: {record.busNo}
</Typography>
{/* inherit, primary, secondary, textPrimary, textSecondary, error */}
- <Typography variant="h6" gutterBottom align="right" >
+ <Typography variant="h5" gutterBottom align="right" >
ID: {record.id}
</Typography>
</Grid>
@@ -38,50 +62,72 @@
</Typography>
</Grid>
</Grid>
- <Box height={20}> </Box>
- <Grid container spacing={2}>
- <Grid item xs={6}>
- <PanelTypography
- title="table.field.bus.uuid"
- property={record.uuid}
- />
- </Grid>
- <Grid item xs={6}>
- <PanelTypography
- title="table.field.bus.busNo"
- property={record.busNo}
- />
- </Grid>
- <Grid item xs={6}>
- <PanelTypography
- title="table.field.bus.startTime"
- property={record.startTime$}
- />
- </Grid>
- <Grid item xs={6}>
- <PanelTypography
- title="table.field.bus.endTime"
- property={record.endTime$}
- />
- </Grid>
- <Grid item xs={6}>
- <PanelTypography
- title="table.field.bus.busSts"
- property={record.busSts$}
- />
- </Grid>
- <Grid item xs={6}>
- <PanelTypography
- title="table.field.bus.phase"
- property={record.phase}
- />
- </Grid>
-
- </Grid>
+ <Box height={10}> </Box>
+ <Box>
+ <Table size="small">
+ <TableHead>
+ <TableRow>
+ <TableCell>
+ {translate('table.field.task.seqNum')}
+ </TableCell>
+ <TableCellRight>
+ {translate('table.field.task.taskType')}
+ </TableCellRight>
+ <TableCellRight>
+ {translate('table.field.task.taskSts')}
+ </TableCellRight>
+ <TableCellRight>
+ {translate('table.field.task.agvId')}
+ </TableCellRight>
+ <TableCellRight>
+ {translate('table.field.task.ioTime')}
+ </TableCellRight>
+ <TableCellRight>
+ {translate('table.field.task.oriDesc')}
+ </TableCellRight>
+ <TableCellRight>
+ {translate('table.field.task.destDesc')}
+ </TableCellRight>
+ </TableRow>
+ </TableHead>
+ <TableBody>
+ {tasks.map((task) => (
+ <TableRow key={task.id}>
+ <TableCell>
+ <Link to={`/task/${task.id}`}>
+
+ </Link>
+ {task.seqNum}
+ </TableCell>
+ <TableCellRight>
+ {task.taskType$}
+ </TableCellRight>
+ <TableCellRight>
+ {task.taskSts$}
+ </TableCellRight>
+ <TableCellRight>
+ {task.agvId$}
+ </TableCellRight>
+ <TableCellRight>
+ {format(new Date(task.ioTime), 'yyyy-MM-dd HH:mm:ss')}
+ </TableCellRight>
+ <TableCellRight>
+ {task.oriDesc}
+ </TableCellRight>
+ <TableCellRight>
+ {task.destDesc}
+ </TableCellRight>
+ </TableRow>
+ ))}
+ </TableBody>
+ </Table>
+ </Box>
</CardContent>
</Card >
</>
);
};
+const TableCellRight = styled(TableCell)({ textAlign: 'right' });
+
export default BusPanel;
--
Gitblit v1.9.1