From a554a78015cb8bd0b9f1e65a4ac478b42f73f5f9 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期五, 08 三月 2024 16:04:45 +0800
Subject: [PATCH] #

---
 zy-asrs-flow/src/pages/map/components/settings.jsx |  246 ++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 193 insertions(+), 53 deletions(-)

diff --git a/zy-asrs-flow/src/pages/map/components/settings.jsx b/zy-asrs-flow/src/pages/map/components/settings.jsx
index af17777..39d30d5 100644
--- a/zy-asrs-flow/src/pages/map/components/settings.jsx
+++ b/zy-asrs-flow/src/pages/map/components/settings.jsx
@@ -1,10 +1,11 @@
 import React, { useState, useRef, useEffect } from 'react';
-import moment from 'moment';
 import { Col, Form, Input, Row, Checkbox, Slider, Select, Drawer, Space, Button, InputNumber, Switch } from 'antd';
 import { FormattedMessage, useIntl, useModel } from '@umijs/max';
-import * as PIXI from 'pixi.js';
 import { createStyles } from 'antd-style';
 import './index.css';
+import * as Utils from '../utils'
+import * as PIXI from 'pixi.js';
+import moment from 'moment';
 import Http from '@/utils/http';
 
 const useStyles = createStyles(({ token, css }) => {
@@ -23,9 +24,16 @@
 
     useEffect(() => {
         form.resetFields();
-        form.setFieldsValue({
-            ...props.values
-        })
+        if (curSprite) {
+            form.setFieldsValue({
+                x: curSprite.position.x,
+                y: curSprite.position.y,
+                scale: Math.max(curSprite.scale.x, curSprite.scale.y),
+                scaleSlider: Math.max(curSprite.scale.x, curSprite.scale.y),
+                rotation: curSprite.rotation * 180 / Math.PI,
+                rotationSlider: curSprite.rotation * 180 / Math.PI,
+            })
+        }
     }, [form, props])
 
     const handleCancel = () => {
@@ -37,36 +45,57 @@
     }
 
     const handleFinish = async (values) => {
-        console.log(values); return
         props.onSubmit({ ...values });
     }
 
-    const formValuesChange = (value) => {
-        switch (value) {
-            case 'male':
-                break;
-            default:
-                break;
+    const formValuesChange = (changeList) => {
+        if (changeList && changeList.length > 0) {
+            changeList.forEach(change => {
+                const { name: nameList, value } = change;
+                nameList.forEach(name => {
+                    switch (name) {
+                        case 'x':
+                            curSprite.position.x = value;
+                            break;
+                        case 'y':
+                            curSprite.position.x = value;
+                            break;
+                        case 'scaleSlider':
+                            form.setFieldsValue({
+                                scale: value
+                            })
+                            curSprite.scale.set(value);
+                            break;
+                        case 'scale':
+                            form.setFieldsValue({
+                                scaleSlider: value
+                            })
+                            curSprite.scale.set(value);
+                            break;
+                        case 'rotationSlider':
+                            form.setFieldsValue({
+                                rotation: value
+                            })
+                            curSprite.rotation = value * Math.PI / 180;
+                            break;
+                        case 'rotation':
+                            form.setFieldsValue({
+                                rotationSlider: value
+                            })
+                            curSprite.rotation = value * Math.PI / 180;
+                            break;
+                        default:
+                            break;
+                    }
+                    Utils.removeSelectedEffect();
+                    Utils.showSelectedEffect(curSprite);
+                })
+            })
         }
     }
 
     const onFinishFailed = (errorInfo) => {
     };
-
-
-
-    const prefixSelector = (
-        <Form.Item name="prefix" noStyle>
-            <Select
-                style={{
-                    width: 70,
-                }}
-            >
-                <Option value="86">+86</Option>
-                <Option value="87">+87</Option>
-            </Select>
-        </Form.Item>
-    );
 
     return (
         <>
@@ -103,14 +132,146 @@
                     variant='filled'    // outlined | borderless | filled
                     labelWrap   // label 鎹㈣
                     disabled={false}
+                    layout='horizontal'
                 >
-                    <Row gutter={24}>
-                        <Col span={6}>
-                            <Form.Item label="Plain Text">
+                    <Row gutter={[24, 16]}>
+
+                        {/*  */}
+                        <Col span={24}>
+                            <Form.Item
+                                label={intl.formatMessage({ id: 'map.settings.type', defaultMessage: '绫诲瀷' })}
+                                labelCol={{ span: 2 }}
+                            >
                                 <span className="ant-form-text">China</span>
                             </Form.Item>
                         </Col>
-                        <Col span={12}>
+
+                        {/* position */}
+                        <Col span={24}>
+                            <Form.Item
+                                label={intl.formatMessage({ id: 'map.settings.position', defaultMessage: '鍧愭爣' })}
+                            >
+                                <Space.Compact>
+                                    <Form.Item
+                                        name='x'
+                                        noStyle
+                                        rules={[
+                                            {
+                                                required: true,
+                                            },
+                                        ]}
+                                    >
+                                        <InputNumber
+                                            addonBefore={<Space.Compact>x</Space.Compact>}
+                                            style={{
+                                                width: '50%',
+                                            }}
+                                        />
+                                    </Form.Item>
+                                    <Form.Item
+                                        name='y'
+                                        noStyle
+                                        rules={[
+                                            {
+                                                required: true,
+                                            },
+                                        ]}
+                                    >
+                                        <InputNumber
+                                            addonBefore={<Space.Compact>y</Space.Compact>}
+                                            style={{
+                                                width: '50%',
+                                            }}
+                                        />
+                                    </Form.Item>
+                                </Space.Compact>
+                            </Form.Item>
+                        </Col>
+
+                        {/* scale */}
+                        <Col span={24}>
+                            <Row gutter={24}>
+                                <Col span={18}>
+                                    <Form.Item
+                                        label={intl.formatMessage({ id: 'map.settings.scale', defaultMessage: '缂╂斁' })}
+                                        name="scaleSlider"
+                                        labelCol={{ span: 4 }}
+                                    >
+                                        <Slider
+                                            min={0.1}
+                                            max={10}
+                                            step={0.1}
+                                            marks={{
+                                                0.1: '0.1',
+                                                1: '1',
+                                                10: '10',
+                                            }}
+                                        />
+                                    </Form.Item>
+                                </Col>
+                                <Col span={6}>
+                                    <Form.Item
+                                        name="scale"
+                                        labelCol={{ span: 4 }}
+                                    >
+                                        <InputNumber
+                                            changeOnWheel
+                                            min={0.1} max={10} defaultValue={1} step={0.1}
+                                            rules={[
+                                                {
+                                                    required: true,
+                                                },
+                                            ]}
+                                        />
+                                    </Form.Item>
+                                </Col>
+                            </Row>
+                        </Col>
+
+                        {/* rotation */}
+                        <Col span={24}>
+                            <Row gutter={24}>
+                                <Col span={18}>
+                                    <Form.Item
+                                        label={intl.formatMessage({ id: 'map.settings.rotation', defaultMessage: '瑙掑害' })}
+                                        name="rotationSlider"
+                                        labelCol={{ span: 4 }}
+                                    >
+                                        <Slider
+                                            min={0}
+                                            max={360}
+                                            step={1}
+                                            marks={{
+                                                0: '0掳',
+                                                90: '90掳',
+                                                180: '180掳',
+                                                270: '270掳',
+                                                360: '360掳',
+                                            }}
+                                        />
+                                    </Form.Item>
+                                </Col>
+                                <Col span={6}>
+                                    <Form.Item
+                                        name="rotation"
+                                        labelCol={{ span: 4 }}
+                                    >
+                                        <InputNumber
+                                            changeOnWheel
+                                            min={0} max={360} defaultValue={0}
+                                            rules={[
+                                                {
+                                                    required: true,
+                                                },
+                                            ]}
+                                        />
+                                    </Form.Item>
+                                </Col>
+                            </Row>
+                        </Col>
+
+
+                        {/* <Col span={12}>
                             <Form.Item
                                 label="Username"
                                 name="username"
@@ -128,31 +289,10 @@
                         </Col>
                         <Col span={24}>
                             <Form.Item
-                                label="InputNumber"
-                            >
-                                <InputNumber />
-                            </Form.Item>
-                        </Col>
-                        <Col span={24}>
-                            <Form.Item
                                 label="Switch"
                                 valuePropName="checked"
                             >
                                 <Switch />
-                            </Form.Item>
-                        </Col>
-                        <Col span={24}>
-                            <Form.Item name="slider" label="Slider">
-                                <Slider
-                                    marks={{
-                                        0: 'A',
-                                        20: 'B',
-                                        40: 'C',
-                                        60: 'D',
-                                        80: 'E',
-                                        100: 'F',
-                                    }}
-                                />
                             </Form.Item>
                         </Col>
                         <Col span={24}>
@@ -216,7 +356,7 @@
                                     }}
                                 />
                             </Form.Item>
-                        </Col>
+                        </Col> */}
 
 
 

--
Gitblit v1.9.1