From 06d7fb698ce6d0efc7ff4224c6b68d2f50feb716 Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期一, 21 四月 2025 16:23:46 +0800 Subject: [PATCH] DO单修改及优化 --- rsf-admin/src/page/orders/delivery/DeliveryEdit.jsx | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 157 insertions(+), 0 deletions(-) diff --git a/rsf-admin/src/page/orders/delivery/DeliveryEdit.jsx b/rsf-admin/src/page/orders/delivery/DeliveryEdit.jsx new file mode 100644 index 0000000..0f80dae --- /dev/null +++ b/rsf-admin/src/page/orders/delivery/DeliveryEdit.jsx @@ -0,0 +1,157 @@ +import React, { useState, useRef, useEffect, useMemo } from "react"; +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 DeliveryItemList from "./DeliveryItemList"; + +const FormToolbar = () => { + const { getValues } = useFormContext(); + + return ( + <Toolbar sx={{ justifyContent: 'end' }}> + <SaveButton /> + <DeleteButton mutationMode="optimistic" /> + </Toolbar> + ) +} + +const DeliveryEdit = () => { + const translate = useTranslate(); + const dicts = JSON.parse(localStorage.getItem('sys_dicts'))?.filter(dict => (dict.dictTypeCode == 'sys_order_type')) || []; + const business = JSON.parse(localStorage.getItem('sys_dicts'))?.filter(dict => (dict.dictTypeCode == 'sys_business_type')) || []; + + return ( + <> + <Edit + redirect="list" + mutationMode={EDIT_MODE} + actions={<CustomerTopToolBar />} + aside={<EditBaseAside />} + > + <SimpleForm + shouldUnregister + warnWhenUnsavedChanges + toolbar={<FormToolbar />} + mode="onTouched" + defaultValues={{}} + > + <Grid container width={{ xs: '100%', xl: '100%' }} rowSpacing={3} columnSpacing={3}> + <Grid item xs={16} md={10}> + <Typography variant="h6" gutterBottom> + {translate('common.edit.title.main')} + </Typography> + <Stack direction='row' gap={2}> + <TextInput + label="table.field.delivery.code" + source="code" + parse={v => v} + autoFocus + /> + <TextInput + label="table.field.delivery.platId" + source="platId" + parse={v => v} + /> + <AutocompleteInput + choices={dicts} + optionText="label" + label="table.field.asnOrder.type" + source="type" + optionValue="value" + parse={v => v} + readOnly + /> + <AutocompleteInput + choices={business} + optionText="label" + label="table.field.asnOrder.wkType" + source="wkType" + optionValue="value" + parse={v => v} + /> + </Stack> + <Stack direction='row' gap={2}> + <TextInput + label="table.field.delivery.source" + source="source" + parse={v => v} + validate={required()} + /> + <NumberInput + label="table.field.delivery.anfme" + source="anfme" + validate={required()} + /> + <NumberInput + label="table.field.delivery.qty" + source="qty" + validate={required()} + /> + <NumberInput + label="table.field.delivery.workQty" + source="workQty" + validate={required()} + /> + <TextInput + label="table.field.delivery.platCode" + source="platCode" + parse={v => v} + /> + </Stack> + <Stack direction='row' gap={2}> + <DateInput + label="table.field.delivery.startTime" + source="startTime" + /> + <DateInput + label="table.field.delivery.endTime" + source="endTime" + /> + </Stack> + </Grid> + <Grid item xs={8} md={2}> + <Typography variant="h6" gutterBottom> + {translate('common.edit.title.common')} + </Typography> + <StatusSelectInput /> + <Box mt="2em" /> + <MemoInput /> + </Grid> + </Grid> + </SimpleForm> + </Edit > + <Grid> + <Box mt="2em"></Box> + <DeliveryItemList /> + </Grid> + </> + ) +} + +export default DeliveryEdit; -- Gitblit v1.9.1