From 3fa7cdec6ce44f07a0dc7e1910511ead606990f3 Mon Sep 17 00:00:00 2001 From: zhang <zc857179121@qq.com> Date: 星期四, 11 九月 2025 08:19:53 +0800 Subject: [PATCH] 1 --- zy-acs-flow/src/page/mission/MissionCard.jsx | 36 ++++++++++++++++++++++++++---------- 1 files changed, 26 insertions(+), 10 deletions(-) diff --git a/zy-acs-flow/src/page/mission/MissionCard.jsx b/zy-acs-flow/src/page/mission/MissionCard.jsx index b2c4373..99bbe5f 100644 --- a/zy-acs-flow/src/page/mission/MissionCard.jsx +++ b/zy-acs-flow/src/page/mission/MissionCard.jsx @@ -1,6 +1,7 @@ +import React, { useState, useEffect } from 'react'; import { Draggable } from '@hello-pangea/dnd'; -import { Box, Card, Typography, Avatar, Divider, Stack, Slider } from '@mui/material'; -import { ReferenceField, useRedirect } from 'react-admin'; +import { Box, Card, Typography, Avatar, Divider, Stack, Slider, useTheme } from '@mui/material'; +import { ReferenceField, useRedirect, useTranslate } from 'react-admin'; import { blueGrey } from '@mui/material/colors'; import { styled } from '@mui/material/styles'; @@ -20,12 +21,24 @@ ); }; -export const MissionCardContent = ({ provided, snapshot, mission, }) => { +export const MissionCardContent = ({ provided, snapshot, mission }) => { + const theme = useTheme(); + const translate = useTranslate(); const redirect = useRedirect(); const handleClick = () => { redirect(`/mission/${mission.id}/show`, undefined, undefined, undefined, { _scrollToTop: false, }); + }; + + const [sliderValue, setSliderValue] = useState(mission.progress || 0); + + useEffect(() => { + setSliderValue(mission.progress || 0); + }, [mission.progress]); + + const handleSliderChange = (event, newValue) => { + setSliderValue(newValue); }; return ( @@ -48,10 +61,11 @@ <Box display="flex" alignItems="center" mb={1.5}> <Avatar sx={{ - width: 30, - height: 30, - bgcolor: blueGrey[500], + width: 40, + height: 28, + bgcolor: theme.palette.primary.main, }} + variant="rounded" > {mission.agv} </Avatar> @@ -63,22 +77,24 @@ <Box> <Stack direction="row" justifyContent="space-between" mb={1}> <Typography variant="caption" color="textSecondary"> - Backpack: {mission.backpack} + {translate('table.field.mission.backpack')} : {mission.backpack} </Typography> <Typography variant="caption" color="textPrimary"> - Code: {mission.destCode} + {translate('table.field.mission.code')}: {mission.currCode} </Typography> </Stack> <Divider orientation="horizontal" flexItem /> <Stack direction="row" justifyContent="space-between" > <Typography variant="overline"> - Task: [{mission.taskNos.join(',')}] + {translate('table.field.mission.task')}: [{mission.taskNos.join(',')}] </Typography> </Stack> <Stack pl={0.5} pr={0.5} direction="row" spacing={1} alignItems="center" mb={.6}> <Slider aria-label="Progress" - defaultValue={mission.progress} + // defaultValue={mission.progress} + value={sliderValue} + onChange={handleSliderChange} getAriaValueText={(value) => { return `${value}%`; }} -- Gitblit v1.9.1