zjj
2025-05-23 48ad97c8a8afa2c9333bd00545dbc54bb4f0870a
rsf-admin/src/page/waitPakin/WaitPakinEdit.jsx
@@ -2,38 +2,28 @@
import {
    Edit,
    SimpleForm,
    FormDataConsumer,
    useTranslate,
    TextInput,
    NumberInput,
    BooleanInput,
    DateInput,
    SelectInput,
    ReferenceInput,
    ReferenceArrayInput,
    AutocompleteInput,
    SaveButton,
    Toolbar,
    Labeled,
    NumberField,
    required,
    useRecordContext,
    DeleteButton,
} from 'react-admin';
import { useWatch, useFormContext } from "react-hook-form";
import { Stack, Grid, Box, Typography } 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 WaitPakinItemList from "./WaitPakinItemList";
const FormToolbar = () => {
    const { getValues } = useFormContext();
    return (
        <Toolbar sx={{ justifyContent: 'space-between' }}>
        <Toolbar sx={{ justifyContent: 'end' }}>
            <SaveButton />
            <DeleteButton mutationMode="optimistic" />
        </Toolbar>
@@ -44,82 +34,80 @@
    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.waitPakin.code"
                                source="code"
                                parse={v => v}
                                autoFocus
                            />
                        </Stack>
                        <Stack direction='row' gap={2}>
                            <NumberInput
                                label="table.field.waitPakin.ansId"
                                source="ansId"
                            />
                        </Stack>
                        <Stack direction='row' gap={2}>
                            <TextInput
                                label="table.field.waitPakin.asnCode"
                                source="asnCode"
                                parse={v => v}
                            />
                        </Stack>
                        <Stack direction='row' gap={2}>
                            <TextInput
                                label="table.field.waitPakin.barcode"
                                source="barcode"
                                parse={v => v}
                            />
                        </Stack>
                        <Stack direction='row' gap={2}>
                            <NumberInput
                                label="table.field.waitPakin.anfme"
                                source="anfme"
                            />
                        </Stack>
                        <Stack direction='row' gap={2}>
                            <SelectInput
                                label="table.field.waitPakin.ioStatus"
                                source="ioStatus"
                                choices={[
                                    { id: 0, name: '待入库' },
                                    { id:  1, name: ' 入库中' },
                                ]}
                            />
                        </Stack>
                <SimpleForm
                    sx={{
                        '& .MuiInputBase-input.MuiFilledInput-input.Mui-disabled': {
                            bgcolor: "white",
                            color: "black",
                            '-webkit-text-fill-color': "rgba(0, 0, 0)"
                        },
                        '& .MuiFormLabel-root.MuiInputLabel-root.Mui-disabled': {
                            color: 'rgba(0, 0, 0, 0.77)'
                        }
                    }}
                    shouldUnregister
                    warnWhenUnsavedChanges
                    toolbar={<></>}
                    mode="onTouched"
                    defaultValues={{}}
                >
                    <Grid container width={{ xs: '100%', xl: '100%' }}>
                        <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.waitPakin.code"
                                    source="code"
                                    readOnly
                                    parse={v => v}
                                    autoFocus
                                />
                                <SelectInput
                                    label="table.field.waitPakin.flagDefect"
                                    readOnly
                                    source="flagDefect"
                                    choices={[
                                        { id: 0, name: '否' },
                                        { id: 1, name: ' 是' },
                                    ]}
                                />
                                <TextInput
                                    label="table.field.waitPakin.barcode"
                                    readOnly
                                    source="barcode"
                                    parse={v => v}
                                />
                                <NumberInput
                                    label="table.field.waitPakin.anfme"
                                    readOnly
                                    source="anfme"
                                />
                                <SelectInput
                                    label="table.field.waitPakin.ioStatus"
                                    readOnly
                                    source="ioStatus"
                                    choices={[
                                        { id: 0, name: '待入库' },
                                        { id: 1, name: ' 入库中' },
                                    ]}
                                />
                            </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 >
            <WaitPakinItemList />
        </>
    )
}