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/configSettings.jsx |  319 ++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 229 insertions(+), 90 deletions(-)

diff --git a/zy-asrs-flow/src/pages/map/components/configSettings.jsx b/zy-asrs-flow/src/pages/map/components/configSettings.jsx
index 168af6e..46d132c 100644
--- a/zy-asrs-flow/src/pages/map/components/configSettings.jsx
+++ b/zy-asrs-flow/src/pages/map/components/configSettings.jsx
@@ -3,7 +3,6 @@
 import { FormattedMessage, useIntl, useModel } from '@umijs/max';
 import { createStyles } from 'antd-style';
 import * as Utils from '../utils'
-import * as PIXI from 'pixi.js';
 
 const useStyles = createStyles(({ token, css }) => {
 
@@ -14,12 +13,18 @@
     const { styles } = useStyles();
     const { curSprite, configForm: form } = props;
 
+    const [showLiftNoItem, setShowLiftNoItem] = React.useState(false);
+    const [showConveyorNoItem, setShowConveyorNoItem] = React.useState(false);
+
     useEffect(() => {
         form.resetFields();
         if (curSprite) {
             form.setFieldsValue({
+                shelfType: Utils.SHELF_TYPE.STORE,
                 ...curSprite.data
             })
+            setShowLiftNoItem(form.getFieldValue('shelfType') === Utils.SHELF_TYPE.LIFT);
+            setShowConveyorNoItem(form.getFieldValue('shelfType') === Utils.SHELF_TYPE.CONVEYOR);
         }
     }, [props, form]);
 
@@ -77,6 +82,11 @@
                                 });
                             }
                             break;
+                        case 'shelfType':
+                            const shelfType = form.getFieldValue('shelfType');
+                            setShowLiftNoItem(shelfType === Utils.SHELF_TYPE.LIFT);
+                            setShowConveyorNoItem(shelfType === Utils.SHELF_TYPE.CONVEYOR);
+                            break;
                         default:
                             break;
                     }
@@ -94,11 +104,13 @@
         // execute where the form was finished
         const confirmSettings = () => {
             if (curSprite && curSprite?.data?.type) {
-                curSprite.data = { ...curSprite.data, ...values }
+                curSprite.data = { ...curSprite.data, ...values };
+                Utils.showSheflType(curSprite);
             }
             message.success(intl.formatMessage({ id: 'common.success', defaultMessage: '鎿嶄綔鎴愬姛' }));
         }
 
+        console.log(values);
         props.onSubmit({ ...values }, confirmSettings);
     }
 
@@ -135,7 +147,7 @@
                     <span>{curSprite?.data?.type}</span>
                 </Form.Item>
                 <Form.Item
-                    label={intl.formatMessage({ id: 'map.settings.uuid', defaultMessage: '鍦板浘鍙�' })}
+                    label={intl.formatMessage({ id: 'map.settings.uuid', defaultMessage: '鍥惧彿' })}
                 >
                     <span>{curSprite?.data?.uuid}</span>
                 </Form.Item>
@@ -146,44 +158,58 @@
                     </>
                 )}
 
+                {curSprite?.data?.type === Utils.SENSOR_TYPE.SHUTTLE && (
+                    <>
+
+                    </>
+                )}
+
                 {curSprite?.data?.type === Utils.SENSOR_TYPE.SHELF && (
                     <>
                         <Form.Item
-                            name='row'
-                            label={intl.formatMessage({ id: 'map.settings.shelf.row', defaultMessage: '鎺�' })}
-                            rules={[
-                                {
-                                    required: false,
-                                },
-                            ]}
+                            label={intl.formatMessage({ id: 'map.settings.shelf.location', defaultMessage: '搴撲綅' })}
                         >
-                            <InputNumber
-                                style={{
-                                    width: '50%',
-                                }}
-                            />
-                        </Form.Item>
-                        <Form.Item
-                            name='bay'
-                            label={intl.formatMessage({ id: 'map.settings.shelf.bay', defaultMessage: '鍒�' })}
-                            rules={[
-                                {
-                                    required: false,
-                                },
-                            ]}
-                        >
-                            <InputNumber
-                                style={{
-                                    width: '50%',
-                                }}
-                            />
+                            <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: false,
+                                    required: true,
                                 },
                             ]}
                         >
@@ -191,90 +217,203 @@
                                 style={{ width: 120 }}
                                 options={[
                                     {
-                                        label: '搴撲綅',
-                                        value: 'loc'
+                                        label: intl.formatMessage({ id: 'map.settings.shelf.store', defaultMessage: '搴撲綅' }),
+                                        value: Utils.SHELF_TYPE.STORE
                                     },
                                     {
-                                        label: '杞ㄩ亾',
-                                        value: 'track'
+                                        label: intl.formatMessage({ id: 'map.settings.shelf.track', defaultMessage: '杞ㄩ亾' }),
+                                        value: Utils.SHELF_TYPE.TRACK
                                     },
                                     {
-                                        label: '绂佺敤',
-                                        value: 'disable'
+                                        label: intl.formatMessage({ id: 'map.settings.shelf.lift', defaultMessage: '鎻愬崌鏈�' }),
+                                        value: Utils.SHELF_TYPE.LIFT
+                                    },
+                                    {
+                                        label: intl.formatMessage({ id: 'map.settings.shelf.charge', defaultMessage: '鍏呯數绔�' }),
+                                        value: Utils.SHELF_TYPE.CHARGE
+                                    },
+                                    {
+                                        label: intl.formatMessage({ id: 'map.settings.shelf.conveyor', defaultMessage: '杈撻�佺嚎' }),
+                                        value: Utils.SHELF_TYPE.CONVEYOR
+                                    },
+                                    {
+                                        label: intl.formatMessage({ id: 'map.settings.shelf.diable', defaultMessage: '绂佺敤' }),
+                                        value: Utils.SHELF_TYPE.DISABLE
                                     },
                                 ]}
                             />
                         </Form.Item>
+
+                        {showLiftNoItem && (
+                            <>
+                                <Form.Item
+                                    name='liftNo'
+                                    label={intl.formatMessage({ id: 'map.settings.lift.no', defaultMessage: '鎻愬崌鏈虹紪鍙�' })}
+                                    rules={[
+                                        {
+                                            required: true,
+                                        },
+                                    ]}
+                                >
+                                    <InputNumber
+                                        style={{
+                                            width: '50%',
+                                        }}
+                                    />
+                                </Form.Item>
+                            </>
+                        )}
+
+                        {showConveyorNoItem && (
+                            <>
+                                <Form.Item
+                                    name='conveyorNo'
+                                    label={intl.formatMessage({ id: 'map.settings.conveyor.no', defaultMessage: '杈撻�佺珯鍙�' })}
+                                    rules={[
+                                        {
+                                            required: true,
+                                        },
+                                    ]}
+                                >
+                                    <InputNumber
+                                        style={{
+                                            width: '50%',
+                                        }}
+                                    />
+                                </Form.Item>
+                                <Form.Item
+                                    name='conveyorHasGo'
+                                    label={intl.formatMessage({ id: 'map.settings.conveyor.hasGo', defaultMessage: '灏忚溅鍙蛋' })}
+                                    valuePropName="checked"
+                                >
+                                    <Checkbox
+                                        style={{
+                                            width: '50%',
+                                        }}
+                                    />
+                                </Form.Item>
+                            </>
+                        )}
+
                         <Form.Item
-                            name='top'
-                            label={intl.formatMessage({ id: 'map.settings.shelf.top', defaultMessage: '涓�' })}
-                            rules={[
-                                {
-                                    required: false,
-                                },
-                            ]}
+                            label={intl.formatMessage({ id: 'map.settings.shelf.space', defaultMessage: '闂磋窛' })}
                         >
-                            <InputNumber
-                                style={{
-                                    width: '50%',
-                                }}
-                            />
+                            <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
-                            name='right'
-                            label={intl.formatMessage({ id: 'map.settings.shelf.right', defaultMessage: '鍙�' })}
-                            rules={[
-                                {
-                                    required: false,
-                                },
-                            ]}
+                            label={' '}
                         >
-                            <InputNumber
-                                style={{
-                                    width: '50%',
-                                }}
-                            />
+                            <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='bottom'
-                            label={intl.formatMessage({ id: 'map.settings.shelf.bottom', defaultMessage: '涓�' })}
-                            rules={[
-                                {
-                                    required: false,
-                                },
-                            ]}
+                            label={intl.formatMessage({ id: 'map.settings.shelf.reference', defaultMessage: '鍩哄噯鍊�' })}
                         >
-                            <InputNumber
-                                style={{
-                                    width: '50%',
-                                }}
-                            />
-                        </Form.Item>
-                        <Form.Item
-                            name='left'
-                            label={intl.formatMessage({ id: 'map.settings.shelf.left', defaultMessage: '宸�' })}
-                            rules={[
-                                {
-                                    required: false,
-                                },
-                            ]}
-                        >
-                            <InputNumber
-                                style={{
-                                    width: '50%',
-                                }}
-                            />
+                            <Space.Compact>
+                                <Form.Item
+                                    name='refx'
+                                    noStyle
+                                    rules={[
+                                        {
+                                            required: false,
+                                        },
+                                    ]}
+                                >
+                                    <InputNumber
+                                        addonBefore={<Space.Compact><FormattedMessage id='map.x' defaultMessage='x' /></Space.Compact>}
+                                        style={{
+                                            width: '50%',
+                                        }}
+                                    />
+                                </Form.Item>
+                                <Form.Item
+                                    name='refy'
+                                    noStyle
+                                    rules={[
+                                        {
+                                            required: false,
+                                        },
+                                    ]}
+                                >
+                                    <InputNumber
+                                        addonBefore={<Space.Compact><FormattedMessage id='map.y' defaultMessage='y' /></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.CONVEYOR && (
+                    <>
+                        <Form.Item
+                            name='plcNo'
+                            label={intl.formatMessage({ id: 'map.settings.conveyor.plc.no', defaultMessage: 'PLC缂栧彿' })}
                             rules={[
                                 {
-                                    required: false,
+                                    required: true,
                                 },
                             ]}
                         >
-                            <Input
+                            <InputNumber
                                 style={{
                                     width: '50%',
                                 }}

--
Gitblit v1.9.1