|  |  | 
 |  |  | import React, { useState, useRef, useEffect } from 'react'; | 
 |  |  | import { Col, Form, Input, Row, Switch, Slider, Select, Drawer, Space, Button, InputNumber, Segmented } from 'antd'; | 
 |  |  | import { Col, Form, Input, Row, Switch, Slider, message, Drawer, Space, Button, InputNumber, Segmented } from 'antd'; | 
 |  |  | import { FormattedMessage, useIntl, useModel } from '@umijs/max'; | 
 |  |  | import { createStyles } from 'antd-style'; | 
 |  |  | import * as Utils from '../utils' | 
 |  |  | 
 |  |  |     const { curSprite } = props; | 
 |  |  |     const [form] = Form.useForm(); | 
 |  |  |     const [autoIncrement, setAutoIncrement] = useState(false); | 
 |  |  |     const [autoIncrementError, setAutoIncrementError] = useState(null); | 
 |  |  |  | 
 |  |  |     useEffect(() => { | 
 |  |  |         setAutoIncrement(false); | 
 |  |  | 
 |  |  |             }); | 
 |  |  |         } | 
 |  |  |     }, [form, props]); | 
 |  |  |  | 
 |  |  |     useEffect(() => { | 
 |  |  |         if (autoIncrement === true && curSprite) { | 
 |  |  |             switch (curSprite.data?.type) { | 
 |  |  |                 case Utils.SENSOR_TYPE.SHELF: | 
 |  |  |                     if (!curSprite.data?.row || !curSprite.data?.bay) { | 
 |  |  |                         setAutoIncrementError(intl.formatMessage({ id: 'map.settings.sub.copy.warn.config.shelf', defaultMessage: '请先设置货架参数!' })); | 
 |  |  |                     } else { | 
 |  |  |                         setAutoIncrementError(null); | 
 |  |  |                     } | 
 |  |  |                     break; | 
 |  |  |                 case Utils.SENSOR_TYPE.POINT: | 
 |  |  |                     if (!curSprite.data?.vertical || !curSprite.data?.horizontal) { | 
 |  |  |                         setAutoIncrementError(intl.formatMessage({ id: 'map.settings.sub.copy.warn.config.point', defaultMessage: '请先设置定位点参数!' })); | 
 |  |  |                     } else { | 
 |  |  |                         setAutoIncrementError(null); | 
 |  |  |                     } | 
 |  |  |                     break; | 
 |  |  |                 default: | 
 |  |  |                     break; | 
 |  |  |             } | 
 |  |  |         } else { | 
 |  |  |             setAutoIncrementError(null); | 
 |  |  |         } | 
 |  |  |     }, [autoIncrement]) | 
 |  |  |  | 
 |  |  |     const handleCancel = () => { | 
 |  |  |         props.onClose(); | 
 |  |  | 
 |  |  |                     initialValues={{ | 
 |  |  |                         copyGap: 0, | 
 |  |  |                         autoIncrement: false, | 
 |  |  |                         incrementValue: 'row', | 
 |  |  |                         incrementMode: 'ascending', | 
 |  |  |                     }} | 
 |  |  |                     onFinish={handleFinish} | 
 |  |  | 
 |  |  |                         {/* switch auto increment  */} | 
 |  |  |                         <Col span={24}> | 
 |  |  |                             <Form.Item | 
 |  |  |                                 label={intl.formatMessage({ id: 'map.settings.sub.copy.shelf.auto-increment', defaultMessage: '自增长' })} | 
 |  |  |                                 label={intl.formatMessage({ id: 'map.settings.sub.copy.auto-increment', defaultMessage: '自增长' })} | 
 |  |  |                                 labelCol={{ span: 8 }} | 
 |  |  |                                 help={autoIncrementError} | 
 |  |  |                                 validateStatus={autoIncrementError ? "error" : null} | 
 |  |  |                             > | 
 |  |  |                                 <Switch value={autoIncrement} onChange={setAutoIncrement} /> | 
 |  |  |                             </Form.Item> | 
 |  |  | 
 |  |  |                             <> | 
 |  |  |                                 <Col span={24}> | 
 |  |  |                                     <Form.Item | 
 |  |  |                                         name='id' | 
 |  |  |                                         label={intl.formatMessage({ id: 'map.settings.sub.copy.id', defaultMessage: '序号' })} | 
 |  |  |                                         name='incrementValue' | 
 |  |  |                                         label={intl.formatMessage({ id: 'map.settings.sub.copy.increment-value', defaultMessage: '自增长值' })} | 
 |  |  |                                         labelCol={{ span: 8 }} | 
 |  |  |                                         initialValue='no' | 
 |  |  |                                     > | 
 |  |  |                                         <Segmented | 
 |  |  |                                             block | 
 |  |  |                                             options={[ | 
 |  |  |                                                 { | 
 |  |  |                                                     label: intl.formatMessage({ id: 'map.settings.no', defaultMessage: '编号' }), | 
 |  |  |                                                     value: 'no' | 
 |  |  |                                                 }, | 
 |  |  |                                             ]} | 
 |  |  |                                             onChange={(value) => { | 
 |  |  |                                             }} | 
 |  |  |                                         /> | 
 |  |  |                                     </Form.Item> | 
 |  |  |                                 </Col> | 
 |  |  |                                 <Col span={24}> | 
 |  |  |                                     <Form.Item | 
 |  |  |                                         name='incrementMode' | 
 |  |  |                                         label={intl.formatMessage({ id: 'map.settings.sub.copy.increment.mode', defaultMessage: '增长方式' })} | 
 |  |  |                                         labelCol={{ span: 8 }} | 
 |  |  |                                     > | 
 |  |  |                                         <InputNumber | 
 |  |  |                                             style={{ | 
 |  |  |                                                 width: '60%', | 
 |  |  |                                         <Segmented | 
 |  |  |                                             block | 
 |  |  |                                             options={[ | 
 |  |  |                                                 { | 
 |  |  |                                                     label: intl.formatMessage({ id: 'map.settings.sub.copy.ascend', defaultMessage: '升序' }), | 
 |  |  |                                                     value: 'ascending' | 
 |  |  |                                                 }, | 
 |  |  |                                                 { | 
 |  |  |                                                     label: intl.formatMessage({ id: 'map.settings.sub.copy.descend', defaultMessage: '降序' }), | 
 |  |  |                                                     value: 'descending' | 
 |  |  |                                                 }, | 
 |  |  |                                             ]} | 
 |  |  |                                             onChange={(value) => { | 
 |  |  |                                             }} | 
 |  |  |                                             min={0} | 
 |  |  |                                         /> | 
 |  |  |                                     </Form.Item> | 
 |  |  |                                 </Col> | 
 |  |  | 
 |  |  |                                 <Col span={24}> | 
 |  |  |                                     <Form.Item | 
 |  |  |                                         name='incrementValue' | 
 |  |  |                                         label={intl.formatMessage({ id: 'map.settings.sub.copy.shelf.increment-value', defaultMessage: '自增长值' })} | 
 |  |  |                                         label={intl.formatMessage({ id: 'map.settings.sub.copy.increment-value', defaultMessage: '自增长值' })} | 
 |  |  |                                         labelCol={{ span: 8 }} | 
 |  |  |                                         initialValue='row' | 
 |  |  |                                     > | 
 |  |  |                                         <Segmented | 
 |  |  |                                             block | 
 |  |  | 
 |  |  |                             </> | 
 |  |  |                         )} | 
 |  |  |  | 
 |  |  |                         {autoIncrement && curSprite?.data?.type === Utils.SENSOR_TYPE.POINT && ( | 
 |  |  |                             <> | 
 |  |  |                                 <Col span={24}> | 
 |  |  |                                     <Form.Item | 
 |  |  |                                         name='incrementValue' | 
 |  |  |                                         label={intl.formatMessage({ id: 'map.settings.sub.copy.increment-value', defaultMessage: '自增长值' })} | 
 |  |  |                                         labelCol={{ span: 8 }} | 
 |  |  |                                         initialValue='vertical' | 
 |  |  |                                     > | 
 |  |  |                                         <Segmented | 
 |  |  |                                             block | 
 |  |  |                                             options={[ | 
 |  |  |                                                 { | 
 |  |  |                                                     label: intl.formatMessage({ id: 'map.settings.point.vertical', defaultMessage: '纵向' }), | 
 |  |  |                                                     value: 'vertical' | 
 |  |  |                                                 }, | 
 |  |  |                                                 { | 
 |  |  |                                                     label: intl.formatMessage({ id: 'map.settings.point.horizontal', defaultMessage: '横向' }), | 
 |  |  |                                                     value: 'horizontal' | 
 |  |  |                                                 }, | 
 |  |  |                                             ]} | 
 |  |  |                                             onChange={(value) => { | 
 |  |  |                                             }} | 
 |  |  |                                         /> | 
 |  |  |                                     </Form.Item> | 
 |  |  |                                 </Col> | 
 |  |  |                                 <Col span={24}> | 
 |  |  |                                     <Form.Item | 
 |  |  |                                         name='incrementMode' | 
 |  |  |                                         label={intl.formatMessage({ id: 'map.settings.sub.copy.increment.mode', defaultMessage: '增长方式' })} | 
 |  |  |                                         labelCol={{ span: 8 }} | 
 |  |  |                                     > | 
 |  |  |                                         <Segmented | 
 |  |  |                                             block | 
 |  |  |                                             options={[ | 
 |  |  |                                                 { | 
 |  |  |                                                     label: intl.formatMessage({ id: 'map.settings.sub.copy.ascend', defaultMessage: '升序' }), | 
 |  |  |                                                     value: 'ascending' | 
 |  |  |                                                 }, | 
 |  |  |                                                 { | 
 |  |  |                                                     label: intl.formatMessage({ id: 'map.settings.sub.copy.descend', defaultMessage: '降序' }), | 
 |  |  |                                                     value: 'descending' | 
 |  |  |                                                 }, | 
 |  |  |                                             ]} | 
 |  |  |                                             onChange={(value) => { | 
 |  |  |                                             }} | 
 |  |  |                                         /> | 
 |  |  |                                     </Form.Item> | 
 |  |  |                                 </Col> | 
 |  |  |                             </> | 
 |  |  |                         )} | 
 |  |  |                     </Row> | 
 |  |  |                 </Form> | 
 |  |  |             </Drawer> |