#
luxiaotao1123
2024-10-11 ae9f5505eb01efdfd6a7a6ac9d84b77aa741052d
zy-acs-flow/src/map/settings/MapSettings.jsx
@@ -1,4 +1,4 @@
import React, { useEffect } from 'react';
import React, { useEffect, useState } from 'react';
import { useForm, Controller } from 'react-hook-form';
import {
    Box,
@@ -16,10 +16,14 @@
} from '@mui/material';
import MuiInput from '@mui/material/Input';
import { useTranslate } from 'react-admin';
import * as Tool from '../tool';
import ConfirmButton from '../../page/components/ConfirmButton';
import CopyDrawer from './CopyDrawer';
const MapSettings = (props) => {
    const { sprite, onSubmit } = props;
    const { sprite, setSpriteSettings, onSubmit, width } = props;
    const translate = useTranslate();
    const [copyVisible, setCopyVisible] = useState(false);
    const { control, handleSubmit, reset, watch } = useForm({
        defaultValues: {
@@ -30,27 +34,24 @@
            rotation: (sprite?.rotation * 180) / Math.PI || 0,
            copyDirection: 'right',
            copyCount: 1,
            // 其他默认值...
        },
    });
    // 监听所有字段的变化
    const watchAllFields = watch();
    useEffect(() => {
        if (sprite) {
            setCopyVisible(false);
            reset({
                x: sprite.position.x,
                y: sprite.position.y,
                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;
@@ -58,7 +59,6 @@
            sprite.scale.x = data.scaleX;
            sprite.scale.y = data.scaleY;
            sprite.rotation = (data.rotation * Math.PI) / 180;
            // 更新其他属性...
        }
    };
@@ -307,7 +307,9 @@
                </Grid>
                <Grid item xs={12}>
                    <Stack direction="row" spacing={2}>
                        <Button variant="contained" color="primary">
                        <Button variant="contained" color="primary" onClick={() => {
                            setCopyVisible(true);
                        }}>
                            {translate('page.map.settings.map.copy.execute')}
                        </Button>
                        <Button variant="text" color="primary">
@@ -315,6 +317,14 @@
                        </Button>
                    </Stack>
                </Grid>
                <CopyDrawer
                    open={copyVisible}
                    onCancel={() => {
                        setCopyVisible(false);
                    }}
                    width={width}
                />
                <Grid item xs={12}>
                    <Divider />
@@ -328,9 +338,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>