zjj
2025-02-17 a4093814b51bba7eae9530cfa076f6242df3f5f8
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,6 +13,9 @@
    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) {
@@ -21,6 +23,8 @@
                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]);
@@ -78,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;
                    }
@@ -101,6 +110,7 @@
            message.success(intl.formatMessage({ id: 'common.success', defaultMessage: '操作成功' }));
        }
        console.log(values);
        props.onSubmit({ ...values }, confirmSettings);
    }
@@ -215,12 +225,76 @@
                                        value: Utils.SHELF_TYPE.TRACK
                                    },
                                    {
                                        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
                            label={intl.formatMessage({ id: 'map.settings.shelf.space', defaultMessage: '间距' })}
                        >
@@ -278,6 +352,44 @@
                            </Space.Compact>
                        </Form.Item>
                        <Form.Item
                            label={intl.formatMessage({ id: 'map.settings.shelf.reference', defaultMessage: '基准值' })}
                        >
                            <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: '地图值' })}
                        >
@@ -290,6 +402,26 @@
                    </>
                )}
                {curSprite?.data?.type === Utils.SENSOR_TYPE.CONVEYOR && (
                    <>
                        <Form.Item
                            name='plcNo'
                            label={intl.formatMessage({ id: 'map.settings.conveyor.plc.no', defaultMessage: 'PLC编号' })}
                            rules={[
                                {
                                    required: true,
                                },
                            ]}
                        >
                            <InputNumber
                                style={{
                                    width: '50%',
                                }}
                            />
                        </Form.Item>
                    </>
                )}
                {curSprite?.data?.type === Utils.SENSOR_TYPE.POINT && (
                    <>
                        <Form.Item