From cd67e854d4715bc92a16dc7bffdbde7be1da9957 Mon Sep 17 00:00:00 2001 From: vincentlu <t1341870251@gmail.com> Date: 星期四, 27 三月 2025 13:02:37 +0800 Subject: [PATCH] # --- zy-acs-flow/src/page/mission/MissionCard.jsx | 30 +++++++++++++++++++++--------- 1 files changed, 21 insertions(+), 9 deletions(-) diff --git a/zy-acs-flow/src/page/mission/MissionCard.jsx b/zy-acs-flow/src/page/mission/MissionCard.jsx index 648c583..0fc1c16 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,7 +21,9 @@ ); }; -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, { @@ -28,8 +31,15 @@ }); }; - console.log(mission); + const [sliderValue, setSliderValue] = useState(mission.progress || 0); + useEffect(() => { + setSliderValue(mission.progress || 0); + }, [mission.progress]); + + const handleSliderChange = (event, newValue) => { + setSliderValue(newValue); + }; return ( <Box @@ -53,7 +63,7 @@ sx={{ width: 30, height: 30, - bgcolor: blueGrey[500], + bgcolor: theme.palette.primary.main, }} > {mission.agv} @@ -66,22 +76,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