import { Draggable } from '@hello-pangea/dnd';
|
import { Box, Card, Typography, Avatar, Divider } from '@mui/material';
|
import { ReferenceField, useRedirect } from 'react-admin';
|
import { blueGrey } from '@mui/material/colors';
|
|
export const MissionCard = ({ mission, index }) => {
|
if (!mission) return null;
|
|
return (
|
<Draggable draggableId={String(mission.id)} index={index}>
|
{(provided, snapshot) => (
|
<MissionCardContent
|
provided={provided}
|
snapshot={snapshot}
|
mission={mission}
|
/>
|
)}
|
</Draggable>
|
);
|
};
|
|
export const MissionCardContent = ({ provided, snapshot, mission, }) => {
|
const redirect = useRedirect();
|
const handleClick = () => {
|
redirect(`/mission/${mission.id}/show`, undefined, undefined, undefined, {
|
_scrollToTop: false,
|
});
|
};
|
|
console.log(mission);
|
|
|
return (
|
<Box
|
sx={{ marginBottom: 1, cursor: 'pointer' }}
|
{...provided?.draggableProps}
|
{...provided?.dragHandleProps}
|
ref={provided?.innerRef}
|
onClick={handleClick}
|
>
|
<Card
|
style={{
|
opacity: snapshot?.isDragging ? 0.9 : 1,
|
transform: snapshot?.isDragging ? 'rotate(-2deg)' : '',
|
}}
|
elevation={snapshot?.isDragging ? 3 : 1}
|
>
|
<Box padding={1} display="flex" flexDirection="column">
|
<Box display="flex" flexDirection="row">
|
<Avatar
|
sx={{
|
'& img': { objectFit: 'contain' },
|
width: 20,
|
height: 20,
|
fontSize: '.8rem',
|
bgcolor: blueGrey[500]
|
}}
|
>
|
{mission.agv}
|
</Avatar>
|
<Divider />
|
<Typography variant="body2" >
|
{mission.groupNo}
|
</Typography>
|
</Box>
|
|
<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>
|
</Box>
|
</Box>
|
</Card>
|
</Box>
|
);
|
};
|