#
luxiaotao1123
2024-09-27 3b010a80cfec8da203dfca3d0c5f0f11ef5957b3
zy-acs-flow/src/page/mission/MissionCard.jsx
@@ -1,7 +1,8 @@
import { Draggable } from '@hello-pangea/dnd';
import { Box, Card, Typography, Avatar, Divider } from '@mui/material';
import { Box, Card, Typography, Avatar, Divider, Stack, Slider } from '@mui/material';
import { ReferenceField, useRedirect } from 'react-admin';
import { blueGrey } from '@mui/material/colors';
import { styled } from '@mui/material/styles';
export const MissionCard = ({ mission, index }) => {
    if (!mission) return null;
@@ -42,51 +43,54 @@
                style={{
                    opacity: snapshot?.isDragging ? 0.9 : 1,
                    transform: snapshot?.isDragging ? 'rotate(-2deg)' : '',
                    transition: '0.3s',
                }}
                elevation={snapshot?.isDragging ? 3 : 1}
            >
                <Box padding={1} display="flex" flexDirection="column">
                    <Box display="flex" flexDirection="row">
                <Box padding={2} pb={1} display="flex" flexDirection="column">
                    <Box display="flex" alignItems="center" mb={1.5}>
                        <Avatar
                            sx={{
                                '& img': { objectFit: 'contain' },
                                width: 20,
                                height: 20,
                                fontSize: '.8rem',
                                bgcolor: blueGrey[500]
                                width: 30,
                                height: 30,
                                bgcolor: blueGrey[500],
                            }}
                        >
                            {mission.agv}
                        </Avatar>
                        <Divider />
                        <Typography variant="body2" >
                        <Divider orientation="vertical" flexItem sx={{ margin: '0 8px' }} />
                        <Typography variant="body1" noWrap>
                            {mission.groupNo}
                        </Typography>
                    </Box>
                    <Box>
                        <Stack direction="row" justifyContent="space-between" mb={1}>
                            <Typography variant="caption" color="textSecondary">
                                Backpack: {mission.backpack}
                            </Typography>
                            <Typography variant="caption" color="textPrimary">
                                Code: {mission.destCode}
                            </Typography>
                        </Stack>
                    <Box sx={{ marginLeft: 1 }}>
                        <Typography variant="body2" gutterBottom>
                            groupNo {mission.groupNo}
                        </Typography>
                        <Typography variant="caption" color="textSecondary">
                            posType  {mission.posType}
                        </Typography>
                    </Box>
                    <Box sx={{ marginLeft: 1 }}>
                        <Typography variant="body2" gutterBottom>
                            taskNos  {mission.taskNos}
                        </Typography>
                        <Typography variant="caption" color="textSecondary">
                            backpack{mission.backpack}
                        </Typography>
                    </Box>
                    <Box sx={{ marginLeft: 1 }}>
                        <Typography variant="body2" gutterBottom>
                            destCode {mission.destCode}
                        </Typography>
                        <Typography variant="caption" color="textSecondary">
                            agv {mission.agv}
                        </Typography>
                        <Stack direction="row" justifyContent="space-between" mb={1}>
                            <Typography variant="overline">
                                Task: [{mission.taskNos.join(',')}]
                            </Typography>
                        </Stack>
                        <Stack pl={1} pr={1} direction="row" spacing={1} alignItems="center">
                            <Slider
                                aria-label="Temperature"
                                defaultValue={mission.progress}
                                getAriaValueText={(value) => {
                                    return `${value}°C`;
                                }}
                                color="secondary"
                                size="small"
                                marks
                            />
                        </Stack>
                    </Box>
                </Box>
            </Card>