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