#
luxiaotao1123
2024-10-10 3f44e255fa087e3d2bc1595136fee14276c1e077
zy-acs-flow/src/map/settings/MapSettings.jsx
@@ -15,12 +15,7 @@
    Divider,
} from '@mui/material';
import MuiInput from '@mui/material/Input';
import { styled } from '@mui/material/styles';
import { useTranslate } from 'react-admin';
const Input = styled(MuiInput)`
  width: 42px;
`;
const MapSettings = (props) => {
    const { sprite, onSubmit } = props;
@@ -67,7 +62,6 @@
        }
    };
    // 处理表单提交
    const onFormSubmit = (data) => {
        updateSprite(data);
        if (onSubmit) {
@@ -75,19 +69,10 @@
        }
    };
    // 旋转滑块的刻度
    const rotationMarks = [
        { value: 0, label: '0°' },
        { value: 90, label: '90°' },
        { value: 180, label: '180°' },
        { value: 270, label: '270°' },
        { value: 360, label: '360°' },
    ];
    return (
        <Box component="form" onSubmit={handleSubmit(onFormSubmit)} noValidate sx={{ mt: 0 }}>
            <Grid container spacing={2}>
                {/* 位置 */}
            <Grid container spacing={1.4}>
                {/* position */}
                <Grid item xs={12}>
                    <Typography variant="inherit">
                        {translate('page.map.settings.map.base.position')}
@@ -95,7 +80,6 @@
                </Grid>
                <Grid item xs={6} pt={0} sx={{
                    paddingTop: '8px !important',
                    paddingLeft: '8px !important',
                }}>
                    <Controller
                        name="x"
@@ -119,7 +103,6 @@
                </Grid>
                <Grid item xs={6} sx={{
                    paddingTop: '8px !important',
                    paddingLeft: '8px !important',
                }}>
                    <Controller
                        name="y"
@@ -142,7 +125,7 @@
                    />
                </Grid>
                {/* 缩放 */}
                {/* scale */}
                <Grid item xs={12}>
                    <Typography variant="inherit">
                        {translate('page.map.settings.map.base.scale')}
@@ -150,7 +133,6 @@
                </Grid>
                <Grid item xs={6} sx={{
                    paddingTop: '8px !important',
                    paddingLeft: '8px !important',
                }}>
                    <Controller
                        name="scaleX"
@@ -175,7 +157,6 @@
                </Grid>
                <Grid item xs={6} sx={{
                    paddingTop: '8px !important',
                    paddingLeft: '8px !important',
                }}>
                    <Controller
                        name="scaleY"
@@ -199,7 +180,7 @@
                    />
                </Grid>
                {/* 旋转 */}
                {/* rotation */}
                <Grid item xs={12}>
                    <Typography variant="inherit">
                        {translate('page.map.settings.map.base.rotation')}
@@ -207,14 +188,14 @@
                </Grid>
                <Grid item xs={12}>
                    <Box display="flex" alignItems="center">
                        <Box flex={1} mr={2}>
                        <Box flex={1} mr={3}>
                            <Controller
                                name="rotation"
                                control={control}
                                render={({ field }) => (
                                    <Slider
                                        {...field}
                                        size="small"
                                        // size="small"
                                        min={0}
                                        max={360}
                                        step={1}
@@ -228,23 +209,35 @@
                                )}
                            />
                        </Box>
                        <Box width={80}>
                        <Box >
                            <Controller
                                name="rotation"
                                control={control}
                                render={({ field }) => (
                                    <TextField
                                    <MuiInput
                                        {...field}
                                        label=""
                                        type="number"
                                        fullWidth
                                        inputProps={{ min: 0, max: 360 }}
                                        size="small"
                                        value={field.value}
                                        onChange={(e) => {
                                            const value = parseFloat(e.target.value);
                                            const value = e.target.value === '' ? 0 : Number(e.target.value);
                                            if (!isNaN(value)) {
                                                field.onChange(value);
                                                updateSprite({ ...watchAllFields, rotation: value });
                                            }
                                        }}
                                        onBlur={() => {
                                            if (field.value < 0) {
                                                field.onChange(0);
                                            } else if (field.value > 360) {
                                                field.onChange(360);
                                            }
                                        }}
                                        inputProps={{
                                            step: 1,
                                            min: 0,
                                            max: 360,
                                            type: 'number',
                                            'aria-labelledby': 'input-slider',
                                        }}
                                    />
                                )}
@@ -252,11 +245,12 @@
                        </Box>
                    </Box>
                </Grid>
                <Grid item xs={12}>
                    <Divider />
                </Grid>
                {/* 复制 */}
                {/* copy */}
                <Grid item xs={12}>
                    <Typography variant="inherit">
                        {translate('page.map.settings.map.copy.title')}
@@ -264,7 +258,6 @@
                </Grid>
                <Grid item xs={6} sx={{
                    paddingTop: '8px !important',
                    paddingLeft: '8px !important',
                }}>
                    <Controller
                        name="copyDirection"
@@ -297,7 +290,6 @@
                </Grid>
                <Grid item xs={6} sx={{
                    paddingTop: '8px !important',
                    paddingLeft: '8px !important',
                }}>
                    <Controller
                        name="copyCount"
@@ -313,15 +305,31 @@
                        )}
                    />
                </Grid>
                {/* 提交按钮 */}
                <Grid item xs={12}>
                    <Stack direction="row" spacing={2}>
                        <Button type="submit" variant="contained" color="primary">
                            {translate('ra.action.confirm')}
                        <Button variant="contained" color="primary">
                            {translate('page.map.settings.map.copy.execute')}
                        </Button>
                        <Button variant="outlined" color="secondary" onClick={() => reset()}>
                            {translate('common.action.reset')}
                        <Button variant="text" color="primary">
                            {translate('page.map.settings.map.copy.reverse')}
                        </Button>
                    </Stack>
                </Grid>
                <Grid item xs={12}>
                    <Divider />
                </Grid>
                {/* more */}
                <Grid item xs={12}>
                    <Typography variant="inherit">
                        {translate('page.map.settings.map.more.title')}
                    </Typography>
                </Grid>
                <Grid item xs={12}>
                    <Stack direction="row" spacing={2}>
                        <Button variant="outlined" color="error">
                            {translate('ra.action.delete')}
                        </Button>
                    </Stack>
                </Grid>