| | |
| | | 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' |
| | |
| | | const { curSprite, configForm: form } = props; |
| | | |
| | | useEffect(() => { |
| | | }, []); |
| | | form.resetFields(); |
| | | if (curSprite) { |
| | | form.setFieldsValue({ |
| | | |
| | | // shelf |
| | | row: curSprite?.data?.row, |
| | | bay: curSprite?.data?.bay, |
| | | no: curSprite?.data?.no, |
| | | }) |
| | | } |
| | | }, [props, form]); |
| | | |
| | | const formValuesChange = (changeList) => { |
| | | if (curSprite && changeList && changeList.length > 0) { |
| | |
| | | const bay = form.getFieldValue('bay') |
| | | if (value && bay) { |
| | | form.setFieldsValue({ |
| | | shelfNo: Utils.pureNumStr(value) + '-' + Utils.pureNumStr(bay) |
| | | no: Utils.pureNumStr(value) + '-' + Utils.pureNumStr(bay) |
| | | }); |
| | | } else { |
| | | form.setFieldsValue({ |
| | | shelfNo: '' |
| | | no: '' |
| | | }); |
| | | } |
| | | break; |
| | |
| | | const row = form.getFieldValue('row') |
| | | if (value && row) { |
| | | form.setFieldsValue({ |
| | | shelfNo: Utils.pureNumStr(row) + '-' + Utils.pureNumStr(value) |
| | | no: Utils.pureNumStr(row) + '-' + Utils.pureNumStr(value) |
| | | }); |
| | | } else { |
| | | form.setFieldsValue({ |
| | | shelfNo: '' |
| | | no: '' |
| | | }); |
| | | } |
| | | break; |
| | |
| | | if (curSprite && curSprite?.data?.type) { |
| | | switch (curSprite.data.type) { |
| | | case Utils.SENSOR_TYPE.SHELF: |
| | | curSprite.data.shelfNo = values.shelfNo; |
| | | curSprite.data.no = values.no; // * |
| | | curSprite.data.row = values.row; |
| | | curSprite.data.bay = values.bay; |
| | | break; |
| | | case Utils.SENSOR_TYPE.AGV: |
| | | curSprite.data.no = values.no; // * |
| | | break; |
| | | default: |
| | | break; |
| | | } |
| | | } |
| | | message.success(intl.formatMessage({ id: 'common.success', defaultMessage: '操作成功' })); |
| | | } |
| | | |
| | | props.onSubmit({ ...values }, confirmSettings); |
| | |
| | | <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> |
| | |
| | | label={intl.formatMessage({ id: 'map.settings.shelf.row', defaultMessage: '排' })} |
| | | rules={[ |
| | | { |
| | | required: true, |
| | | required: false, |
| | | }, |
| | | ]} |
| | | > |
| | |
| | | label={intl.formatMessage({ id: 'map.settings.shelf.bay', defaultMessage: '列' })} |
| | | rules={[ |
| | | { |
| | | required: true, |
| | | required: false, |
| | | }, |
| | | ]} |
| | | > |
| | |
| | | }} |
| | | /> |
| | | </Form.Item> |
| | | <Form.Item |
| | | name='shelfNo' |
| | | label={intl.formatMessage({ id: 'map.settings.shelf.no', defaultMessage: '货架号' })} |
| | | rules={[ |
| | | { |
| | | required: true, |
| | | }, |
| | | ]} |
| | | > |
| | | <Input |
| | | 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, |