From ec2e79e0d510568d51714a7121e4a32c026e6d44 Mon Sep 17 00:00:00 2001 From: Junjie <xjj@123> Date: 星期二, 19 三月 2024 14:02:52 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- zy-asrs-flow/src/pages/map/components/mapCopySettings.jsx | 166 +++++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 142 insertions(+), 24 deletions(-) diff --git a/zy-asrs-flow/src/pages/map/components/mapCopySettings.jsx b/zy-asrs-flow/src/pages/map/components/mapCopySettings.jsx index e2af697..1ebb8ac 100644 --- a/zy-asrs-flow/src/pages/map/components/mapCopySettings.jsx +++ b/zy-asrs-flow/src/pages/map/components/mapCopySettings.jsx @@ -1,5 +1,5 @@ import React, { useState, useRef, useEffect } from 'react'; -import { Col, Form, Input, Row, Checkbox, Slider, Select, Drawer, Space, Button, InputNumber, Switch } 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' @@ -14,16 +14,36 @@ const { styles } = useStyles(); const { curSprite } = props; const [form] = Form.useForm(); + const [autoIncrement, setAutoIncrement] = useState(false); + const [autoIncrementError, setAutoIncrementError] = useState(null); useEffect(() => { + setAutoIncrement(false); form.resetFields(); if (curSprite && props) { form.setFieldsValue({ ...props.values, - copyGap: 0 }); } }, [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; + default: + break; + } + } else { + setAutoIncrementError(null); + } + }, [autoIncrement]) const handleCancel = () => { props.onClose(); @@ -34,11 +54,12 @@ } const handleFinish = (values) => { - props.submit({ ...values, ...props.values }) - } - - const formValuesChange = () => { - + props.submit({ + ...values + , ...props.values + , autoIncrement: autoIncrement + , type: curSprite?.data?.type + }) } return ( @@ -64,8 +85,10 @@ > <Form form={form} - onFieldsChange={formValuesChange} initialValues={{ + copyGap: 0, + autoIncrement: false, + incrementMode: 'ascending', }} onFinish={handleFinish} autoComplete="off" @@ -108,26 +131,121 @@ style={{ width: '60%', }} - // min={0} + // min={0} /> </Form.Item> </Col> - {curSprite?.data?.type === 'AGV' && ( - <Col span={24}> - <Form.Item - name='id' - label={intl.formatMessage({ id: 'map.settings.sub.copy.id', defaultMessage: '搴忓彿' })} - labelCol={{ span: 8 }} - > - <InputNumber - style={{ - width: '60%', - }} - min={0} - /> - </Form.Item> - </Col> + {/* switch auto increment */} + <Col span={24}> + <Form.Item + label={intl.formatMessage({ id: 'map.settings.sub.copy.shelf.auto-increment', defaultMessage: '鑷闀�' })} + labelCol={{ span: 8 }} + help={autoIncrementError} + validateStatus={autoIncrementError ? "error" : null} + > + <Switch value={autoIncrement} onChange={setAutoIncrement} /> + </Form.Item> + </Col> + + {autoIncrement && curSprite?.data?.type === Utils.SENSOR_TYPE.AGV && ( + <> + <Col span={24}> + <Form.Item + name='incrementValue' + label={intl.formatMessage({ id: 'map.settings.sub.copy.shelf.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 }} + > + <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> + </> + )} + + {autoIncrement && curSprite?.data?.type === Utils.SENSOR_TYPE.SHELF && ( + <> + <Col span={24}> + <Form.Item + name='incrementValue' + label={intl.formatMessage({ id: 'map.settings.sub.copy.shelf.increment-value', defaultMessage: '鑷闀垮��' })} + labelCol={{ span: 8 }} + initialValue='row' + > + <Segmented + block + options={[ + { + label: intl.formatMessage({ id: 'map.settings.shelf.row', defaultMessage: '鎺�' }), + value: 'row' + }, + { + label: intl.formatMessage({ id: 'map.settings.shelf.bay', defaultMessage: '鍒�' }), + value: 'bay' + }, + ]} + 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> -- Gitblit v1.9.1