#
luxiaotao1123
2024-03-25 7f56a5e2cd30276f1d3ee792384fb51586c05d51
zy-asrs-flow/src/pages/map/batch/modify.jsx
@@ -3,54 +3,24 @@
import {
    ProForm,
    StepsForm,
    ProFormSelect
} from '@ant-design/pro-components';
import { FormattedMessage, useIntl, useModel } from '@umijs/max';
import { createStyles } from 'antd-style';
import * as Utils from '../utils'
import ShowJson from '../drawer/showJson';
const waitTime = (time = 100) => {
    return new Promise((resolve) => {
        setTimeout(() => {
            resolve(true);
        }, time);
    });
};
const useStyles = createStyles(({ token, css }) => {
    return {
    }
})
const BatchModify = (props) => {
    const intl = useIntl();
    const { styles } = useStyles();
    const { batchSprites } = props;
    const [form] = Form.useForm();
    const [currentStep, setCurrentStep] = useState(0);
    const [uuidsOfBatchSprites, setUuidsOfBatchSprites] = useState([]);
    const resetForm = () => {
    useEffect(() => {
        form.resetFields();
        form.setFieldsValue({
            shelfType: Utils.SHELF_TYPE.STORE
        })
        setCurrentStep(0);
    };
    useEffect(() => {
        resetForm();
        if (batchSprites?.length > 0) {
            setUuidsOfBatchSprites(batchSprites?.filter(item => {
                return item.data?.type === Utils.SENSOR_TYPE.SHELF
            }).map(item => {
                return item.data?.no;
            }));
        } else {
            setUuidsOfBatchSprites([]);
        }
    }, [batchSprites]);
    const handleOk = (values) => {
@@ -58,9 +28,21 @@
        if (batchSprites?.length > 0) {
            // loading
            batchSprites.forEach(sprite => {
                console.log(sprite);    // ?? why shelfType be undefined
                if (sprite.data?.type === Utils.SENSOR_TYPE.SHELF) {
                    if (values.shelfType) {
                    if (values.shelfType !== null) {
                        sprite.data.shelfType = values.shelfType;
                        console.log(sprite.data);
                    }
                    if (values.top !== null) {
                    }
                    if (values.right !== null) {
                    }
                    if (values.bottom !== null) {
                    }
                    if (values.left !== null) {
                    }
                    if (values.value !== null) {
                    }
                    Utils.showSheflType(sprite);
                }
@@ -71,24 +53,11 @@
        }
    }
    useEffect(() => {
        if (currentStep === 1) {
            form.setFieldsValue({
                shelfType: Utils.SHELF_TYPE.STORE
            });
        }
    }, [currentStep]);
    return (
        <>
            <StepsForm
                form={form}
                current={currentStep}
                onCurrentChange={setCurrentStep}
                onFinish={async () => {
                    await waitTime(1000);
                    message.success('提交成功');
                }}
                formProps={{
                    variant: 'filled',
                    layout: 'horizontal',
@@ -105,9 +74,6 @@
                        return props.step === 2 ? [] : dom;
                    },
                }}
                initialValues={{
                    shelfType: Utils.SHELF_TYPE.STORE
                }}
            >
                {/************************* first ****************************/}
                <StepsForm.StepForm
@@ -119,7 +85,11 @@
                >
                    <ProForm.Item>
                        <ShowJson
                            data={uuidsOfBatchSprites}
                            data={batchSprites?.filter(item => {
                                return item.data?.type === Utils.SENSOR_TYPE.SHELF
                            }).map(item => {
                                return item.data?.no;
                            })}
                            height='500px'
                            jsonType={0}
                        />
@@ -128,61 +98,41 @@
                {/************************* second ****************************/}
                <StepsForm.StepForm
                    name="checkbox"
                    form={form}
                    title={intl.formatMessage({ id: 'map.settings.batch.set.params', defaultMessage: '设置参数' })}
                    onFinish={handleOk}
                >
                    {/* <ProForm.Item
                    <ProForm.Item
                        name='shelfType'
                        label={intl.formatMessage({ id: 'map.settings.shelf.type', defaultMessage: '类型' })}
                        rules={[
                            {
                                required: true,
                                required: false,
                            },
                        ]}
                    >
                        <Select
                            style={{ width: 120 }}
                            style={{ width: 160 }}
                            options={[
                                {
                                    label: intl.formatMessage({ id: 'common.select.cancel', defaultMessage: '取消选择' }),
                                    value: null
                                },
                                {
                                    label: intl.formatMessage({ id: 'map.settings.shelf.store', defaultMessage: '库位' }),
                                    value: 0
                                    value: Utils.SHELF_TYPE.STORE
                                },
                                {
                                    label: intl.formatMessage({ id: 'map.settings.shelf.track', defaultMessage: '轨道' }),
                                    value: 3
                                    value: Utils.SHELF_TYPE.TRACK
                                },
                                {
                                    label: intl.formatMessage({ id: 'map.settings.shelf.diable', defaultMessage: '禁用' }),
                                    value: 1
                                    value: Utils.SHELF_TYPE.DISABLE
                                },
                            ]}
                            defaultValue={0}
                        />
                    </ProForm.Item> */}
                    <ProFormSelect
                        name='shelfType'
                        label={intl.formatMessage({ id: 'map.settings.shelf.type', defaultMessage: '类型' })}
                        rules={[
                            {
                                required: true,
                            },
                        ]}
                        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
                            },
                        ]}
                    />
                    </ProForm.Item>
                    <ProForm.Item
                        label={intl.formatMessage({ id: 'map.settings.shelf.space', defaultMessage: '间距' })}
                    >