From 9d0acfb65c80c4948c305ca01338f894b87346a0 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期一, 08 四月 2024 09:44:37 +0800
Subject: [PATCH] Merge branch 'Four-Way-Rack' of http://47.97.1.152:5880/r/zy-asrs-master into Four-Way-Rack

---
 zy-asrs-flow/src/pages/map/components/configSettings.jsx |  335 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 333 insertions(+), 2 deletions(-)

diff --git a/zy-asrs-flow/src/pages/map/components/configSettings.jsx b/zy-asrs-flow/src/pages/map/components/configSettings.jsx
index fdc6e17..6b45b0b 100644
--- a/zy-asrs-flow/src/pages/map/components/configSettings.jsx
+++ b/zy-asrs-flow/src/pages/map/components/configSettings.jsx
@@ -1,5 +1,5 @@
 import React, { useState, useRef, useEffect } from 'react';
-import { Col, Form, Input, Row, Checkbox, Slider, Select, Drawer, Space, Button, InputNumber, Card } from 'antd';
+import { message, Form, Input, Row, Checkbox, Slider, Select, Drawer, Space, Button, InputNumber, Card } from 'antd';
 import { FormattedMessage, useIntl, useModel } from '@umijs/max';
 import { createStyles } from 'antd-style';
 import * as Utils from '../utils'
@@ -15,11 +15,342 @@
     const { curSprite, configForm: form } = props;
 
     useEffect(() => {
+        form.resetFields();
+        if (curSprite) {
+            form.setFieldsValue({
+                shelfType: Utils.SHELF_TYPE.STORE,
+                ...curSprite.data
+            })
+        }
+    }, [props, form]);
 
-    }, []);
+    const formValuesChange = (changeList) => {
+        if (curSprite && changeList && changeList.length > 0) {
+            changeList.forEach(change => {
+                const { name: nameList, value } = change;
+                nameList.forEach(name => {
+                    switch (name) {
+                        case 'row':
+                            const bay = form.getFieldValue('bay')
+                            if (value && bay) {
+                                form.setFieldsValue({
+                                    no: Utils.pureNumStr(value) + '-' + Utils.pureNumStr(bay)
+                                });
+                            } else {
+                                form.setFieldsValue({
+                                    no: ''
+                                });
+                            }
+                            break;
+                        case 'bay':
+                            const row = form.getFieldValue('row')
+                            if (value && row) {
+                                form.setFieldsValue({
+                                    no: Utils.pureNumStr(row) + '-' + Utils.pureNumStr(value)
+                                });
+                            } else {
+                                form.setFieldsValue({
+                                    no: ''
+                                });
+                            }
+                            break;
+                        case 'vertical':
+                            const horizontal = form.getFieldValue('horizontal')
+                            if (value && horizontal) {
+                                form.setFieldsValue({
+                                    no: Utils.pureNumStr(value) + '-' + Utils.pureNumStr(horizontal)
+                                });
+                            } else {
+                                form.setFieldsValue({
+                                    no: ''
+                                });
+                            }
+                            break;
+                        case 'horizontal':
+                            const vertical = form.getFieldValue('vertical')
+                            if (value && vertical) {
+                                form.setFieldsValue({
+                                    no: Utils.pureNumStr(vertical) + '-' + Utils.pureNumStr(value)
+                                });
+                            } else {
+                                form.setFieldsValue({
+                                    no: ''
+                                });
+                            }
+                            break;
+                        default:
+                            break;
+                    }
+                    Utils.removeSelectedEffect();
+                    Utils.showSelectedEffect(curSprite);
+                })
+            })
+        }
+    }
+
+    const onFinishFailed = (errorInfo) => {
+    };
+
+    const handleFinish = (values) => {
+        // execute where the form was finished
+        const confirmSettings = () => {
+            if (curSprite && curSprite?.data?.type) {
+                curSprite.data = { ...curSprite.data, ...values };
+                Utils.showSheflType(curSprite);
+            }
+            message.success(intl.formatMessage({ id: 'common.success', defaultMessage: '鎿嶄綔鎴愬姛' }));
+        }
+
+        props.onSubmit({ ...values }, confirmSettings);
+    }
 
     return (
         <>
+            <Form
+                form={form}
+                onFieldsChange={formValuesChange}
+                initialValues={{
+                }}
+                onFinish={handleFinish}
+                onFinishFailed={onFinishFailed}
+                autoComplete="off"
+                style={{
+                    maxWidth: 600,
+                }}
+                size='defalargeult'
+                variant='filled'
+                labelWrap
+                disabled={false}
+                layout='horizontal'
+                labelCol={{
+                    span: 5,
+                }}
+                wrapperCol={{
+                    span: 19,
+                }}
+            >
+                <br />
+
+                <Form.Item
+                    label={intl.formatMessage({ id: 'map.settings.type', defaultMessage: '绫诲瀷' })}
+                >
+                    <span>{curSprite?.data?.type}</span>
+                </Form.Item>
+                <Form.Item
+                    label={intl.formatMessage({ id: 'map.settings.uuid', defaultMessage: '鍥惧彿' })}
+                >
+                    <span>{curSprite?.data?.uuid}</span>
+                </Form.Item>
+
+                {curSprite?.data?.type === Utils.SENSOR_TYPE.AGV && (
+                    <>
+
+                    </>
+                )}
+
+                {curSprite?.data?.type === Utils.SENSOR_TYPE.SHUTTLE && (
+                    <>
+
+                    </>
+                )}
+
+                {curSprite?.data?.type === Utils.SENSOR_TYPE.SHELF && (
+                    <>
+                        <Form.Item
+                            label={intl.formatMessage({ id: 'map.settings.shelf.location', defaultMessage: '搴撲綅' })}
+                        >
+                            <Space.Compact>
+                                <Form.Item
+                                    name='row'
+                                    noStyle
+                                    rules={[
+                                        {
+                                            required: false,
+                                        },
+                                    ]}
+                                >
+                                    <InputNumber
+                                        addonBefore={<Space.Compact><FormattedMessage id='map.settings.shelf.row' defaultMessage='鎺�' /></Space.Compact>}
+                                        style={{
+                                            width: '50%',
+                                        }}
+                                    />
+                                </Form.Item>
+                                <Form.Item
+                                    name='bay'
+                                    noStyle
+                                    rules={[
+                                        {
+                                            required: false,
+                                        },
+                                    ]}
+                                >
+                                    <InputNumber
+                                        addonBefore={<Space.Compact><FormattedMessage id='map.settings.shelf.bay' defaultMessage='鍒�' /></Space.Compact>}
+                                        style={{
+                                            width: '50%',
+                                        }}
+                                    />
+                                </Form.Item>
+                            </Space.Compact>
+                        </Form.Item>
+                        <Form.Item
+                            name='shelfType'
+                            label={intl.formatMessage({ id: 'map.settings.shelf.type', defaultMessage: '绫诲瀷' })}
+                            rules={[
+                                {
+                                    required: true,
+                                },
+                            ]}
+                        >
+                            <Select
+                                style={{ width: 120 }}
+                                options={[
+                                    {
+                                        label: intl.formatMessage({ id: 'map.settings.shelf.store', defaultMessage: '搴撲綅' }),
+                                        value: Utils.SHELF_TYPE.STORE
+                                    },
+                                    {
+                                        label: intl.formatMessage({ id: 'map.settings.shelf.track', defaultMessage: '杞ㄩ亾' }),
+                                        value: Utils.SHELF_TYPE.TRACK
+                                    },
+                                    {
+                                        label: intl.formatMessage({ id: 'map.settings.shelf.diable', defaultMessage: '绂佺敤' }),
+                                        value: Utils.SHELF_TYPE.DISABLE
+                                    },
+                                ]}
+                            />
+                        </Form.Item>
+                        <Form.Item
+                            label={intl.formatMessage({ id: 'map.settings.shelf.space', defaultMessage: '闂磋窛' })}
+                        >
+                            <Space.Compact>
+                                <Form.Item
+                                    name='top'
+                                    noStyle
+                                >
+                                    <InputNumber
+                                        addonBefore={<Space.Compact><FormattedMessage id='map.settings.shelf.top' defaultMessage='涓�' /></Space.Compact>}
+                                        style={{
+                                            width: '50%',
+                                        }}
+                                    />
+                                </Form.Item>
+                                <Form.Item
+                                    name='bottom'
+                                    noStyle
+                                >
+                                    <InputNumber
+                                        addonBefore={<Space.Compact><FormattedMessage id='map.settings.shelf.bottom' defaultMessage='涓�' /></Space.Compact>}
+                                        style={{
+                                            width: '50%',
+                                        }}
+                                    />
+                                </Form.Item>
+                            </Space.Compact>
+                        </Form.Item>
+                        <Form.Item
+                            label={' '}
+                        >
+                            <Space.Compact>
+                                <Form.Item
+                                    name='left'
+                                    noStyle
+                                >
+                                    <InputNumber
+                                        addonBefore={<Space.Compact><FormattedMessage id='map.settings.shelf.left' defaultMessage='宸�' /></Space.Compact>}
+                                        style={{
+                                            width: '50%',
+                                        }}
+                                    />
+                                </Form.Item>
+                                <Form.Item
+                                    name='right'
+                                    noStyle
+                                >
+                                    <InputNumber
+                                        addonBefore={<Space.Compact><FormattedMessage id='map.settings.shelf.right' defaultMessage='鍙�' /></Space.Compact>}
+                                        style={{
+                                            width: '50%',
+                                        }}
+                                    />
+                                </Form.Item>
+                            </Space.Compact>
+                        </Form.Item>
+                        <Form.Item
+                            name='value'
+                            label={intl.formatMessage({ id: 'map.settings.shelf.value', defaultMessage: '鍦板浘鍊�' })}
+                        >
+                            <Input
+                                style={{
+                                    width: '50%',
+                                }}
+                            />
+                        </Form.Item>
+                    </>
+                )}
+
+                {curSprite?.data?.type === Utils.SENSOR_TYPE.POINT && (
+                    <>
+                        <Form.Item
+                            name='vertical'
+                            label={intl.formatMessage({ id: 'map.settings.point.vertical', defaultMessage: '绾靛悜' })}
+                            rules={[
+                                {
+                                    required: false,
+                                },
+                            ]}
+                        >
+                            <InputNumber
+                                style={{
+                                    width: '50%',
+                                }}
+                            />
+                        </Form.Item>
+                        <Form.Item
+                            name='horizontal'
+                            label={intl.formatMessage({ id: 'map.settings.point.horizontal', defaultMessage: '妯悜' })}
+                            rules={[
+                                {
+                                    required: false,
+                                },
+                            ]}
+                        >
+                            <InputNumber
+                                style={{
+                                    width: '50%',
+                                }}
+                            />
+                        </Form.Item>
+                    </>
+                )}
+
+                <Form.Item
+                    name='no'
+                    label={intl.formatMessage({ id: 'map.settings.no', defaultMessage: '缂栧彿' })}
+                    rules={[
+                        {
+                            required: false,
+                        },
+                    ]}
+                >
+                    <Input
+                        style={{
+                            width: '50%',
+                        }}
+                    />
+                </Form.Item>
+
+                <Form.Item
+                    wrapperCol={{
+                        offset: 4,
+                        span: 16,
+                    }}>
+                    <Button type="primary" htmlType="submit">
+                        <FormattedMessage id='common.submit' defaultMessage='淇濆瓨' />
+                    </Button>
+                </Form.Item>
+            </Form >
         </>
     )
 }

--
Gitblit v1.9.1