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 | 385 ++++++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 336 insertions(+), 49 deletions(-)
diff --git a/zy-asrs-flow/src/pages/map/components/configSettings.jsx b/zy-asrs-flow/src/pages/map/components/configSettings.jsx
index 3d0cda3..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,16 +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({
-
- // shelf
- row: curSprite?.data?.row,
- bay: curSprite?.data?.bay,
- shelfNo: curSprite?.data?.shelfNo,
+ 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]);
@@ -37,11 +38,11 @@
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;
@@ -49,13 +50,42 @@
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;
+ 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;
+ case 'shelfType':
+ const shelfType = form.getFieldValue('shelfType');
+ setShowLiftNoItem(shelfType === Utils.SHELF_TYPE.LIFT);
+ setShowConveyorNoItem(shelfType === Utils.SHELF_TYPE.CONVEYOR);
break;
default:
break;
@@ -74,21 +104,13 @@
// execute where the form was finished
const confirmSettings = () => {
if (curSprite && curSprite?.data?.type) {
- switch (curSprite.data.type) {
- case Utils.SENSOR_TYPE.SHELF:
- curSprite.data.shelfNo = values.shelfNo;
- curSprite.data.row = values.row;
- curSprite.data.bay = values.bay;
- break;
- case Utils.SENSOR_TYPE.AGV:
- break;
- default:
- break;
- }
+ curSprite.data = { ...curSprite.data, ...values };
+ Utils.showSheflType(curSprite);
}
message.success(intl.formatMessage({ id: 'common.success', defaultMessage: '鎿嶄綔鎴愬姛' }));
}
+ console.log(values);
props.onSubmit({ ...values }, confirmSettings);
}
@@ -111,10 +133,10 @@
disabled={false}
layout='horizontal'
labelCol={{
- span: 4,
+ span: 5,
}}
wrapperCol={{
- span: 20,
+ span: 19,
}}
>
<br />
@@ -125,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>
@@ -136,46 +158,240 @@
</>
)}
+ {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: '鎺�' })}
+ 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,
},
]}
>
- <InputNumber
- style={{
- width: '50%',
- }}
+ <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.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='bay'
- label={intl.formatMessage({ id: 'map.settings.shelf.bay', defaultMessage: '鍒�' })}
- rules={[
- {
- required: true,
- },
- ]}
+ 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='shelfNo'
- label={intl.formatMessage({ id: 'map.settings.shelf.no', defaultMessage: '璐ф灦鍙�' })}
- rules={[
- {
- required: true,
- },
- ]}
+ 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
+ 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: '鍦板浘鍊�' })}
>
<Input
style={{
@@ -186,6 +402,77 @@
</>
)}
+ {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
+ 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,
--
Gitblit v1.9.1