skyouc
2025-04-09 6c5edf41ef56af07e6e3baa25f77759ecaf8f68c
rsf-admin/src/page/asnOrderLog/AsnOrderLogEdit.jsx
@@ -21,21 +21,20 @@
    DeleteButton,
} from 'react-admin';
import { useWatch, useFormContext } from "react-hook-form";
import { Stack, Grid, Box, Typography } from '@mui/material';
import { Stack, Grid, Box, Typography, Card } from '@mui/material';
import * as Common from '@/utils/common';
import { EDIT_MODE, REFERENCE_INPUT_PAGESIZE } from '@/config/setting';
import EditBaseAside from "../components/EditBaseAside";
import CustomerTopToolBar from "../components/EditTopToolBar";
import MemoInput from "../components/MemoInput";
import StatusSelectInput from "../components/StatusSelectInput";
import AsnOrderItemLogList from "./AsnOrderItemLogList"
const FormToolbar = () => {
    const { getValues } = useFormContext();
    return (
        <Toolbar sx={{ justifyContent: 'space-between' }}>
        <Toolbar sx={{ justifyContent: 'end' }}>
            <SaveButton />
            <DeleteButton mutationMode="optimistic" />
        </Toolbar>
    )
}
@@ -44,125 +43,106 @@
    const translate = useTranslate();
    return (
        <Edit
            redirect="list"
            mutationMode={EDIT_MODE}
            actions={<CustomerTopToolBar />}
            aside={<EditBaseAside />}
        >
            <SimpleForm
                shouldUnregister
                warnWhenUnsavedChanges
                toolbar={<FormToolbar />}
                mode="onTouched"
                defaultValues={{}}
            // validate={(values) => { }}
        <>
            <Edit
                redirect="list"
                mutationMode={EDIT_MODE}
                actions={<CustomerTopToolBar />}
                aside={<EditBaseAside />}
            >
                <Grid container width={{ xs: '100%', xl: '80%' }} rowSpacing={3} columnSpacing={3}>
                    <Grid item xs={12} md={8}>
                        <Typography variant="h6" gutterBottom>
                            {translate('common.edit.title.main')}
                        </Typography>
                        <Stack direction='row' gap={2}>
                            <TextInput
                                label="table.field.asnOrderLog.code"
                                source="code"
                                parse={v => v}
                                autoFocus
                            />
                        </Stack>
                        <Stack direction='row' gap={2}>
                            <TextInput
                                label="table.field.asnOrderLog.poCode"
                                source="poCode"
                                parse={v => v}
                            />
                        </Stack>
                        <Stack direction='row' gap={2}>
                            <NumberInput
                                label="table.field.asnOrderLog.poId"
                                source="poId"
                            />
                        </Stack>
                        <Stack direction='row' gap={2}>
                            <TextInput
                                label="table.field.asnOrderLog.type"
                                source="type"
                                parse={v => v}
                                validate={required()}
                            />
                        </Stack>
                        <Stack direction='row' gap={2}>
                            <TextInput
                                label="table.field.asnOrderLog.wkType"
                                source="wkType"
                                parse={v => v}
                                validate={required()}
                            />
                        </Stack>
                        <Stack direction='row' gap={2}>
                            <NumberInput
                                label="table.field.asnOrderLog.anfme"
                                source="anfme"
                                validate={required()}
                            />
                        </Stack>
                        <Stack direction='row' gap={2}>
                            <NumberInput
                                label="table.field.asnOrderLog.qty"
                                source="qty"
                                validate={required()}
                            />
                        </Stack>
                        <Stack direction='row' gap={2}>
                            <TextInput
                                label="table.field.asnOrderLog.logisNo"
                                source="logisNo"
                                parse={v => v}
                            />
                        </Stack>
                        <Stack direction='row' gap={2}>
                            <DateInput
                                label="table.field.asnOrderLog.arrTime"
                                source="arrTime"
                            />
                        </Stack>
                        <Stack direction='row' gap={2}>
                            <SelectInput
                                label="table.field.asnOrderLog.rleStatus"
                                source="rleStatus"
                                choices={[
                                    { id: 0, name: ' 正常' },
                                    { id:  1, name: ' 已释放' },
                                ]}
                                validate={required()}
                            />
                        </Stack>
                        <Stack direction='row' gap={2}>
                            <SelectInput
                                label="table.field.asnOrderLog.ntyStatus"
                                source="ntyStatus"
                                choices={[
                                    { id: 0, name: ' 未上报' },
                                    { id:  1, name: ' 已上报' },
                                    { id:  2, name: ' 部分上报' },
                                ]}
                                validate={required()}
                            />
                        </Stack>
                <SimpleForm
                    shouldUnregister
                    warnWhenUnsavedChanges
                    toolbar={<FormToolbar />}
                    mode="onTouched"
                    defaultValues={{}}
                // validate={(values) => { }}
                >
                    <Grid container width={{ xs: '100%', xl: '80%' }} rowSpacing={3} columnSpacing={3}>
                        <Grid item xs={24} md={12}>
                            <Typography variant="h6" gutterBottom>
                                {translate('common.edit.title.main')}
                            </Typography>
                            <Stack direction='row' gap={2}>
                                <TextInput
                                    label="table.field.asnOrderLog.code"
                                    source="code"
                                    parse={v => v}
                                    readOnly
                                />
                                <TextInput
                                    label="table.field.asnOrderLog.poCode"
                                    source="poCode"
                                    readOnly
                                    parse={v => v}
                                />
                                <NumberInput
                                    label="table.field.asnOrderLog.poId"
                                    readOnly
                                    source="poId"
                                />
                                <TextInput
                                    label="table.field.asnOrderLog.type"
                                    source="type"
                                    readOnly
                                    parse={v => v}
                                    validate={required()}
                                />
                                <TextInput
                                    label="table.field.asnOrderLog.wkType"
                                    source="wkType"
                                    readOnly
                                    parse={v => v}
                                    validate={required()}
                                />
                            </Stack>
                            <Stack direction='row' gap={2}>
                                <NumberInput
                                    label="table.field.asnOrderLog.anfme"
                                    source="anfme"
                                    readOnly
                                    validate={required()}
                                />
                                <NumberInput
                                    label="table.field.asnOrderLog.qty"
                                    source="qty"
                                    readOnly
                                    validate={required()}
                                />
                                <TextInput
                                    label="table.field.asnOrderLog.logisNo"
                                    source="logisNo"
                                    readOnly
                                    parse={v => v}
                                />
                                <DateInput
                                    label="table.field.asnOrderLog.arrTime"
                                    readOnly
                                    source="arrTime"
                                />
                                <SelectInput
                                    label="table.field.asnOrderLog.ntyStatus"
                                    source="ntyStatus"
                                    readOnly
                                    choices={[
                                        { id: 0, name: ' 未上报' },
                                        { id: 1, name: ' 已上报' },
                                        { id: 2, name: ' 部分上报' },
                                    ]}
                                    validate={required()}
                                />
                            </Stack>
                        </Grid>
                    </Grid>
                    <Grid item xs={12} md={4}>
                        <Typography variant="h6" gutterBottom>
                            {translate('common.edit.title.common')}
                        </Typography>
                        <StatusSelectInput />
                        <Box mt="2em" />
                        <MemoInput />
                    </Grid>
                </Grid>
            </SimpleForm>
        </Edit >
                </SimpleForm>
            </Edit >
            <Grid item xs={24} md={16} sx={{ marginTop: '1em' }}>
                <Typography variant="h6" gutterBottom >
                    {translate('common.edit.title.common')}
                </Typography>
            </Grid>
            <AsnOrderItemLogList />
        </>
    )
}