From a4093814b51bba7eae9530cfa076f6242df3f5f8 Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期一, 17 二月 2025 14:59:43 +0800
Subject: [PATCH] #移库任务
---
zy-asrs-flow/src/pages/map/components/mapCopySettings.jsx | 322 +++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 296 insertions(+), 26 deletions(-)
diff --git a/zy-asrs-flow/src/pages/map/components/mapCopySettings.jsx b/zy-asrs-flow/src/pages/map/components/mapCopySettings.jsx
index 7b9c952..4704d39 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,43 @@
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;
+ 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();
@@ -34,11 +61,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 +92,10 @@
>
<Form
form={form}
- onFieldsChange={formValuesChange}
initialValues={{
+ copyGap: 0,
+ autoIncrement: false,
+ incrementMode: 'ascending',
}}
onFinish={handleFinish}
autoComplete="off"
@@ -108,30 +138,270 @@
style={{
width: '60%',
}}
- changeOnWheel
- // 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%',
- }}
- changeOnWheel
- min={0}
- />
- </Form.Item>
- </Col>
+ {/* switch auto increment */}
+ <Col span={24}>
+ <Form.Item
+ 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>
+
+ {autoIncrement && curSprite?.data?.type === Utils.SENSOR_TYPE.SHUTTLE && (
+ <>
+ <Col span={24}>
+ <Form.Item
+ 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 }}
+ >
+ <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.AGV && (
+ <>
+ <Col span={24}>
+ <Form.Item
+ 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 }}
+ >
+ <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.CONVEYOR && (
+ <>
+ <Col span={24}>
+ <Form.Item
+ 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 }}
+ >
+ <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.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>
+ </>
+ )}
+
+ {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>
--
Gitblit v1.9.1