From 83c548d3dba59aaed9b52b5d413c6912a87d2efc Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期日, 16 六月 2024 15:50:14 +0800
Subject: [PATCH] #
---
zy-asrs-flow/src/pages/map/components/settings.jsx | 104 +++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 83 insertions(+), 21 deletions(-)
diff --git a/zy-asrs-flow/src/pages/map/components/settings.jsx b/zy-asrs-flow/src/pages/map/components/settings.jsx
index 6a5ff83..0a82de3 100644
--- a/zy-asrs-flow/src/pages/map/components/settings.jsx
+++ b/zy-asrs-flow/src/pages/map/components/settings.jsx
@@ -1,57 +1,119 @@
import React, { useState, useRef, useEffect } from 'react';
-import { Col, Form, Modal, Row, Checkbox, Image, Tree, Drawer, Space, Button, Card, Divider } from 'antd';
+import { Col, Form, Input, Row, Checkbox, Slider, Select, Drawer, Space, Button, InputNumber, Card } from 'antd';
import { FormattedMessage, useIntl, useModel } from '@umijs/max';
-import * as PIXI from 'pixi.js';
+import {
+ BranchesOutlined,
+ BorderOuterOutlined,
+} from '@ant-design/icons';
import { createStyles } from 'antd-style';
-import './index.css'
+import * as Utils from '../utils'
+import Http from '@/utils/http';
+import MapSettings from './mapSettings';
+import ConfigSettings from './configSettings';
const useStyles = createStyles(({ token, css }) => {
})
-const SpriteSettings = (props) => {
+const Settings = (props) => {
const intl = useIntl();
const { styles } = useStyles();
- const { curSprite } = props;
+ const [activeTabKey, setActiveTabKey] = useState('map');
- useEffect(() => {
+ const [mapForm] = Form.useForm();
+ const [configForm] = Form.useForm();
- }, []);
+ const contentList = {
+ map: (
+ <MapSettings
+ refCurr={props.refCurr}
+ curSprite={props.curSprite}
+ setSpriteBySettings={props.setSpriteBySettings}
+ setDidClickSprite={props.setDidClickSprite}
+ onSubmit={props.onSubmit}
+ mapForm={mapForm}
+ />
+ ),
+ config: (
+ <ConfigSettings
+ refCurr={props.refCurr}
+ curSprite={props.curSprite}
+ setSpriteBySettings={props.setSpriteBySettings}
+ setDidClickSprite={props.setDidClickSprite}
+ onSubmit={props.onSubmit}
+ configForm={configForm}
+ />
+ ),
+ };
+ const handleCancel = () => {
+ props.onCancel();
+ };
+
+ const handleOk = () => {
+ if (activeTabKey === 'map') {
+ mapForm.submit();
+ }
+ if (activeTabKey === 'config') {
+ configForm.submit();
+ }
+ }
return (
<>
<Drawer
open={props.open}
- onClose={() => {
- props.onCancel();
- }}
+ onClose={handleCancel}
getContainer={props.refCurr}
rootStyle={{ position: "absolute" }}
mask={false}
width={570}
extra={
<Space>
- <Button onClick={() => props.onCancel()}>
+ <Button onClick={handleCancel}>
<FormattedMessage id='common.cancel' defaultMessage='鍙栨秷' />
</Button>
- <Button onClick={() => { }} type="primary">
+ <Button hidden={activeTabKey === 'map' || activeTabKey === 'config'} onClick={handleOk} type="primary">
<FormattedMessage id='common.submit' defaultMessage='淇濆瓨' />
</Button>
</Space>
}
>
- <Card>
- {/*
- // position
- // scale
- // rotation
- // copy
- */}
+ <Card
+ hoverable
+ bordered={false}
+ type='inner'
+ tabList={[
+ {
+ key: 'map',
+ tab: intl.formatMessage({ id: 'map.settings.map.param', defaultMessage: '鍦板浘鍙傛暟' }),
+ icon: <BorderOuterOutlined />
+
+ },
+ {
+ key: 'config',
+ tab: intl.formatMessage({ id: 'map.settings.config.param', defaultMessage: '绯荤粺鍙傛暟' }),
+ icon: <BranchesOutlined />
+ },
+ ]}
+ activeTabKey={activeTabKey}
+ onTabChange={(key) => {
+ setActiveTabKey(key)
+ }}
+ tabProps={{
+ centered: true,
+ size: 'large',
+ type: "card",
+ style: {
+ }
+ }}
+ >
+ {contentList[activeTabKey]}
</Card>
- </Drawer>
+
+ </Drawer >
</>
)
}
-export default SpriteSettings;
\ No newline at end of file
+export default Settings;
\ No newline at end of file
--
Gitblit v1.9.1