From d1dfd94112002b0db2fb6090715191903796ec0b Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期二, 05 八月 2025 13:00:00 +0800
Subject: [PATCH] 新增库存调整功能
---
rsf-admin/src/page/orders/transfer/TransferEdit.jsx | 323 +++++++++++++++++++++++++++--------------------------
1 files changed, 164 insertions(+), 159 deletions(-)
diff --git a/rsf-admin/src/page/orders/transfer/TransferEdit.jsx b/rsf-admin/src/page/orders/transfer/TransferEdit.jsx
index 2cd2003..a12c97d 100644
--- a/rsf-admin/src/page/orders/transfer/TransferEdit.jsx
+++ b/rsf-admin/src/page/orders/transfer/TransferEdit.jsx
@@ -1,171 +1,176 @@
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.js';
-import { EDIT_MODE, REFERENCE_INPUT_PAGESIZE } from '@/config/setting.js';
-import EditBaseAside from "../../components/EditBaseAside.jsx";
-import CustomerTopToolBar from "../../components/EditTopToolBar.jsx";
-import MemoInput from "../../components/MemoInput.jsx";
+ Edit,
+ SimpleForm,
+ FormDataConsumer,
+ useTranslate,
+ TextInput,
+ NumberInput,
+ BooleanInput,
+ DateInput,
+ SelectInput,
+ ReferenceInput,
+ ReferenceArrayInput,
+ AutocompleteInput,
+ SaveButton,
+ Toolbar,
+ Labeled,
+ NumberField,
+ required,
+ useRecordContext,
+ DeleteButton,
+} from "react-admin";
+
+import { EDIT_MODE, REFERENCE_INPUT_PAGESIZE } from "@/config/setting.js";
import StatusSelectInput from "../../components/StatusSelectInput.jsx";
+import CustomerTopToolBar from "../../components/EditTopToolBar.jsx";
+import EditBaseAside from "../../components/EditBaseAside.jsx";
+import { Stack, Grid, Box, Typography } from "@mui/material";
+import { useWatch, useFormContext } from "react-hook-form";
+import MemoInput from "../../components/MemoInput.jsx";
+import TransferItemList from "./TransferItemList.jsx";
+import * as Common from "@/utils/common.js";
const FormToolbar = () => {
- const { getValues } = useFormContext();
+ const { getValues } = useFormContext();
- return (
- <Toolbar sx={{ justifyContent: 'space-between' }}>
- <SaveButton />
- <DeleteButton mutationMode="optimistic" />
- </Toolbar>
- )
-}
+ return (
+ <Toolbar sx={{ justifyContent: "flex-end" }}>
+ <SaveButton />
+ <DeleteButton mutationMode="optimistic" />
+ </Toolbar>
+ );
+};
const TransferEdit = () => {
- const translate = useTranslate();
+ const translate = useTranslate();
- return (
- <Edit
- redirect="list"
- mutationMode={EDIT_MODE}
- actions={<CustomerTopToolBar />}
- aside={<EditBaseAside />}
+ return (
+ <>
+ <Edit
+ redirect="list"
+ mutationMode={EDIT_MODE}
+ actions={<CustomerTopToolBar />}
+ aside={<EditBaseAside />}
+ >
+ <SimpleForm
+ sx={{
+ "& .MuiFormLabel-root.MuiInputLabel-root.Mui-disabled": {
+ bgcolor: 'white',
+ WebkitTextFillColor: "rgba(0, 0, 0)"
+ },
+
+ "& .MuiInputBase-input.MuiFilledInput-input.Mui-disabled": {
+ bgcolor: 'white',
+ WebkitTextFillColor: "rgba(0, 0, 0)"
+ },
+
+ "& .MuiFilledInput-root.MuiInputBase-sizeSmall": {
+ bgcolor: 'white',
+ }
+ }}
+ shouldUnregister
+ warnWhenUnsavedChanges
+ toolbar={false}
+ mode="onTouched"
+ defaultValues={{}}
>
- <SimpleForm
- shouldUnregister
- warnWhenUnsavedChanges
- toolbar={<FormToolbar />}
- mode="onTouched"
- defaultValues={{}}
- // validate={(values) => { }}
- >
- <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.transfer.code"
- source="code"
- parse={v => v}
- autoFocus
- />
- </Stack>
- <Stack direction='row' gap={2}>
- <NumberInput
- label="table.field.transfer.type"
- source="type"
- />
- </Stack>
- <Stack direction='row' gap={2}>
- <SelectInput
- label="table.field.transfer.source"
- source="source"
- choices={[
- { id: 1, name: 'ERP绯荤粺' },
- { id: 2, name: 'WMS绯荤粺鐢熸垚' },
- { id: 3, name: 'EXCEL瀵煎叆 ' },
- { id: 4, name: 'QMS绯荤粺' },
- ]}
- />
- </Stack>
- <Stack direction='row' gap={2}>
- <SelectInput
- label="table.field.transfer.exceStatus"
- source="exceStatus"
- choices={[
- { id: 0, name: '鏈墽琛�' },
- { id: 1, name: '鎵ц涓�' },
- { id: 2, name: '鎵ц瀹屾垚' },
- ]}
- />
- </Stack>
- <Stack direction='row' gap={2}>
- <NumberInput
- label="table.field.transfer.orgWareId"
- source="orgWareId"
- />
- </Stack>
- <Stack direction='row' gap={2}>
- <TextInput
- label="table.field.transfer.orgWareName"
- source="orgWareName"
- parse={v => v}
- />
- </Stack>
- <Stack direction='row' gap={2}>
- <NumberInput
- label="table.field.transfer.tarWareId"
- source="tarWareId"
- />
- </Stack>
- <Stack direction='row' gap={2}>
- <TextInput
- label="table.field.transfer.tarWareName"
- source="tarWareName"
- parse={v => v}
- />
- </Stack>
- <Stack direction='row' gap={2}>
- <NumberInput
- label="table.field.transfer.orgAreaId"
- source="orgAreaId"
- />
- </Stack>
- <Stack direction='row' gap={2}>
- <TextInput
- label="table.field.transfer.orgAreaName"
- source="orgAreaName"
- parse={v => v}
- />
- </Stack>
- <Stack direction='row' gap={2}>
- <NumberInput
- label="table.field.transfer.tarAreaId"
- source="tarAreaId"
- />
- </Stack>
- <Stack direction='row' gap={2}>
- <TextInput
- label="table.field.transfer.tarAreaName"
- source="tarAreaName"
- parse={v => v}
- />
- </Stack>
-
- </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 >
- )
-}
+ <Grid
+ container
+ width={{ xs: "100%", xl: "90%", }}
+ rowSpacing={3}
+ columnSpacing={3}
+ >
+ <Grid item xs={24} md={16}>
+ <Typography variant="h6" gutterBottom>
+ {translate("common.edit.title.main")}
+ </Typography>
+ <Stack direction="row" gap={2}>
+ <TextInput
+ label="table.field.transfer.code"
+ source="code"
+ parse={(v) => v}
+ autoFocus
+ readOnly
+ />
+ <TextInput label="table.field.transfer.type" source="type$" readOnly/>
+ <SelectInput
+ label="table.field.transfer.source"
+ source="source"
+ readOnly
+ choices={[
+ { id: 1, name: "ERP绯荤粺" },
+ { id: 2, name: "WMS绯荤粺鐢熸垚" },
+ { id: 3, name: "EXCEL瀵煎叆 " },
+ { id: 4, name: "QMS绯荤粺" },
+ ]}
+ />
+ <SelectInput
+ label="table.field.transfer.exceStatus"
+ source="exceStatus$"
+ readOnly
+ choices={[
+ { id: 0, name: "鏈墽琛�" },
+ { id: 1, name: "鎵ц涓�" },
+ { id: 2, name: "鎵ц瀹屾垚" },
+ ]}
+ />
+ </Stack>
+ <Stack direction="row" gap={2}>
+ <NumberInput
+ label="table.field.transfer.orgWareId"
+ source="orgWareId"
+ readOnly
+ />
+ <TextInput
+ label="table.field.transfer.orgWareName"
+ source="orgWareName"
+ readOnly
+ parse={(v) => v}
+ />
+ <NumberInput
+ label="table.field.transfer.tarWareId"
+ source="tarWareId"
+ readOnly
+ />
+ <TextInput
+ label="table.field.transfer.tarWareName"
+ source="tarWareName"
+ readOnly
+ parse={(v) => v}
+ />
+ </Stack>
+ <Stack direction="row" gap={2}>
+ <NumberInput
+ label="table.field.transfer.orgAreaId"
+ source="orgAreaId"
+ readOnly
+ />
+ <TextInput
+ label="table.field.transfer.orgAreaName"
+ source="orgAreaName"
+ readOnly
+ parse={(v) => v}
+ />
+ <NumberInput
+ label="table.field.transfer.tarAreaId"
+ source="tarAreaId"
+ readOnly
+ />
+ <TextInput
+ label="table.field.transfer.tarAreaName"
+ source="tarAreaName"
+ readOnly
+ parse={(v) => v}
+ />
+ </Stack>
+ </Grid>
+ </Grid>
+ </SimpleForm>
+ </Edit>
+ <TransferItemList />
+ </>
+ );
+};
export default TransferEdit;
--
Gitblit v1.9.1