#
luxiaotao1123
2024-10-11 54d940c0bfabe90700d0bcc9e72dc93bc8bafaad
zy-acs-flow/src/map/settings/MapSettings.jsx
@@ -15,11 +15,12 @@
    Divider,
} from '@mui/material';
import MuiInput from '@mui/material/Input';
import { styled } from '@mui/material/styles';
import { useTranslate } from 'react-admin';
import * as Tool from '../tool';
import ConfirmButton from '../../page/components/ConfirmButton';
const MapSettings = (props) => {
    const { sprite, onSubmit } = props;
    const { sprite, setSpriteSettings, onSubmit } = props;
    const translate = useTranslate();
    const { control, handleSubmit, reset, watch } = useForm({
@@ -31,11 +32,9 @@
            rotation: (sprite?.rotation * 180) / Math.PI || 0,
            copyDirection: 'right',
            copyCount: 1,
            // 其他默认值...
        },
    });
    // 监听所有字段的变化
    const watchAllFields = watch();
    useEffect(() => {
@@ -46,12 +45,10 @@
                scaleX: sprite.scale.x,
                scaleY: sprite.scale.y,
                rotation: (sprite.rotation * 180) / Math.PI,
                // 设置其他字段的初始值
            });
        }
    }, [sprite, reset]);
    // 更新精灵属性的函数
    const updateSprite = (data) => {
        if (sprite) {
            sprite.position.x = data.x;
@@ -59,26 +56,15 @@
            sprite.scale.x = data.scaleX;
            sprite.scale.y = data.scaleY;
            sprite.rotation = (data.rotation * Math.PI) / 180;
            // 更新其他属性...
        }
    };
    // 处理表单提交
    const onFormSubmit = (data) => {
        updateSprite(data);
        if (onSubmit) {
            onSubmit(data);
        }
    };
    // 旋转滑块的刻度
    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 }}>
@@ -339,9 +325,15 @@
                </Grid>
                <Grid item xs={12}>
                    <Stack direction="row" spacing={2}>
                        <Button variant="outlined" color="error">
                        <Button variant="outlined" color="error" onClick={() => {
                            Tool.getMapContainer().removeChild(sprite);
                            setSpriteSettings(null);
                            Tool.removeSelectedEffect();
                            reset();
                        }}>
                            {translate('ra.action.delete')}
                        </Button>
                        {/* <ConfirmButton /> */}
                    </Stack>
                </Grid>
            </Grid>