From c352df43ea5eea9a84e89867eb3b03ba3b2dbb83 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期一, 18 三月 2024 16:39:41 +0800 Subject: [PATCH] # --- zy-asrs-flow/src/pages/map/components/settings.jsx | 108 ++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 88 insertions(+), 20 deletions(-) diff --git a/zy-asrs-flow/src/pages/map/components/settings.jsx b/zy-asrs-flow/src/pages/map/components/settings.jsx index b6dcba9..0a82de3 100644 --- a/zy-asrs-flow/src/pages/map/components/settings.jsx +++ b/zy-asrs-flow/src/pages/map/components/settings.jsx @@ -1,51 +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()}><FormattedMessage id='common.cancel' defaultMessage='鍙栨秷' /></Button> + <Button onClick={handleCancel}> + <FormattedMessage id='common.cancel' defaultMessage='鍙栨秷' /> + </Button> + <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