From 97c21abaebf6cb6cf15f8a7e3830676533d90dac Mon Sep 17 00:00:00 2001
From: skyouc <creaycat@gmail.com>
Date: 星期三, 26 十一月 2025 13:06:31 +0800
Subject: [PATCH] 添加库存明细功能
---
rsf-admin/src/page/locItem/LocItemEdit.jsx | 347 ++++++++++++++++++++++++++++++++-------------------------
1 files changed, 192 insertions(+), 155 deletions(-)
diff --git a/rsf-admin/src/page/locItem/LocItemEdit.jsx b/rsf-admin/src/page/locItem/LocItemEdit.jsx
index 9336316..8073eed 100644
--- a/rsf-admin/src/page/locItem/LocItemEdit.jsx
+++ b/rsf-admin/src/page/locItem/LocItemEdit.jsx
@@ -10,7 +10,6 @@
DateInput,
SelectInput,
ReferenceInput,
- SelectArrayInput,
ReferenceArrayInput,
AutocompleteInput,
SaveButton,
@@ -20,7 +19,6 @@
required,
useRecordContext,
DeleteButton,
- useNotify,
} from 'react-admin';
import { useWatch, useFormContext } from "react-hook-form";
import { Stack, Grid, Box, Typography } from '@mui/material';
@@ -30,175 +28,214 @@
import CustomerTopToolBar from "../components/EditTopToolBar";
import MemoInput from "../components/MemoInput";
import StatusSelectInput from "../components/StatusSelectInput";
-import request from '@/utils/request';
-import DictionarySelect from "../components/DictionarySelect";
-import LocQueryList from "./LocQueryList";
const FormToolbar = () => {
const { getValues } = useFormContext();
return (
- <Toolbar sx={{ justifyContent: 'end' }}>
+ <Toolbar sx={{ justifyContent: 'space-between' }}>
+ <SaveButton />
+ <DeleteButton mutationMode="optimistic" />
</Toolbar>
)
}
const LocItemEdit = () => {
const translate = useTranslate();
- const dicts = JSON.parse(localStorage.getItem('sys_dicts'))?.filter(dict => (dict.dictTypeCode == 'sys_loc_type')) || [];
- const [warehouseId, setWrehouseId] = useState();
-
- const warehouseChange = (val) => {
- setWrehouseId(val)
- }
return (
- <>
- <Edit
- redirect="list"
- mutationMode={EDIT_MODE}
- actions={<CustomerTopToolBar />}
- aside={<EditBaseAside />}
- title={"menu.loc"}
+ <Edit
+ redirect="list"
+ mutationMode={EDIT_MODE}
+ actions={<CustomerTopToolBar />}
+ aside={<EditBaseAside />}
+ >
+ <SimpleForm
+ shouldUnregister
+ warnWhenUnsavedChanges
+ toolbar={<FormToolbar />}
+ mode="onTouched"
+ defaultValues={{}}
+ // validate={(values) => { }}
>
- <SimpleForm
- shouldUnregister
- warnWhenUnsavedChanges
- toolbar={false}
- mode="onTouched"
- defaultValues={{}}
- // validate={(values) => { }}
- >
- <Grid container width={{ xs: '100%', xl: '90%' }} rowSpacing={3} columnSpacing={3}
- sx={{
- "& .MuiFormLabel-root.MuiInputLabel-root.Mui-disabled": {
- bgcolor: 'white',
- WebkitTextFillColor: "rgba(0, 0, 0)"
- },
+ <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}>
+ <NumberInput
+ label="table.field.locItem.locId"
+ source="locId"
+ autoFocus
+ />
+ </Stack>
+ <Stack direction='row' gap={2}>
+ <TextInput
+ label="table.field.locItem.locCode"
+ source="locCode"
+ parse={v => v}
+ />
+ </Stack>
+ <Stack direction='row' gap={2}>
+ <NumberInput
+ label="table.field.locItem.orderId"
+ source="orderId"
+ />
+ </Stack>
+ <Stack direction='row' gap={2}>
+ <TextInput
+ label="table.field.locItem.type"
+ source="type"
+ parse={v => v}
+ />
+ </Stack>
+ <Stack direction='row' gap={2}>
+ <NumberInput
+ label="table.field.locItem.orderItemId"
+ source="orderItemId"
+ />
+ </Stack>
+ <Stack direction='row' gap={2}>
+ <NumberInput
+ label="table.field.locItem.wkType"
+ source="wkType"
+ />
+ </Stack>
+ <Stack direction='row' gap={2}>
+ <NumberInput
+ label="table.field.locItem.matnrId"
+ source="matnrId"
+ />
+ </Stack>
+ <Stack direction='row' gap={2}>
+ <TextInput
+ label="table.field.locItem.maktx"
+ source="maktx"
+ parse={v => v}
+ />
+ </Stack>
+ <Stack direction='row' gap={2}>
+ <TextInput
+ label="table.field.locItem.platItemId"
+ source="platItemId"
+ parse={v => v}
+ />
+ </Stack>
+ <Stack direction='row' gap={2}>
+ <TextInput
+ label="table.field.locItem.platOrderCode"
+ source="platOrderCode"
+ parse={v => v}
+ />
+ </Stack>
+ <Stack direction='row' gap={2}>
+ <TextInput
+ label="table.field.locItem.platWorkCode"
+ source="platWorkCode"
+ parse={v => v}
+ />
+ </Stack>
+ <Stack direction='row' gap={2}>
+ <TextInput
+ label="table.field.locItem.projectCode"
+ source="projectCode"
+ parse={v => v}
+ />
+ </Stack>
+ <Stack direction='row' gap={2}>
+ <TextInput
+ label="table.field.locItem.matnrCode"
+ source="matnrCode"
+ parse={v => v}
+ />
+ </Stack>
+ <Stack direction='row' gap={2}>
+ <TextInput
+ label="table.field.locItem.trackCode"
+ source="trackCode"
+ parse={v => v}
+ />
+ </Stack>
+ <Stack direction='row' gap={2}>
+ <TextInput
+ label="table.field.locItem.unit"
+ source="unit"
+ parse={v => v}
+ />
+ </Stack>
+ <Stack direction='row' gap={2}>
+ <NumberInput
+ label="table.field.locItem.anfme"
+ source="anfme"
+ />
+ </Stack>
+ <Stack direction='row' gap={2}>
+ <NumberInput
+ label="table.field.locItem.qty"
+ source="qty"
+ />
+ </Stack>
+ <Stack direction='row' gap={2}>
+ <NumberInput
+ label="table.field.locItem.workQty"
+ source="workQty"
+ />
+ </Stack>
+ <Stack direction='row' gap={2}>
+ <TextInput
+ label="table.field.locItem.batch"
+ source="batch"
+ parse={v => v}
+ />
+ </Stack>
+ <Stack direction='row' gap={2}>
+ <TextInput
+ label="table.field.locItem.splrBatch"
+ source="splrBatch"
+ parse={v => v}
+ />
+ </Stack>
+ <Stack direction='row' gap={2}>
+ <NumberInput
+ label="table.field.locItem.splrId"
+ source="splrId"
+ />
+ </Stack>
+ <Stack direction='row' gap={2}>
+ <TextInput
+ label="table.field.locItem.spec"
+ source="spec"
+ parse={v => v}
+ />
+ </Stack>
+ <Stack direction='row' gap={2}>
+ <TextInput
+ label="table.field.locItem.model"
+ source="model"
+ parse={v => v}
+ />
+ </Stack>
+ <Stack direction='row' gap={2}>
+ <TextInput
+ label="table.field.locItem.fieldsIndex"
+ source="fieldsIndex"
+ parse={v => v}
+ />
+ </Stack>
- "& .MuiInputBase-input.MuiFilledInput-input.Mui-disabled": {
- bgcolor: 'white',
- WebkitTextFillColor: "rgba(0, 0, 0)"
- },
- "& .MuiFilledInput-root.MuiInputBase-sizeSmall": {
- bgcolor: 'white',
- }
- }}
- >
- <Grid item xs={12} md={10}>
- <Typography variant="h6" gutterBottom>
- {translate('common.edit.title.main')}
- </Typography>
- <Grid container rowSpacing={2} columnSpacing={2}>
- <Grid item display="flex" gap={2}>
- <ReferenceInput
- source="warehouseId"
- reference="warehouse"
- >
- <AutocompleteInput
- label="table.field.loc.warehouseId"
- optionText="name"
- readOnly
- validate={[required()]}
- onChange={warehouseChange}
- filterToQuery={(val) => ({ name: val })}
- />
- </ReferenceInput>
- <ReferenceInput
- source="areaId"
- reference="warehouseAreas"
- filter={{ warehouseId }}
- >
- <AutocompleteInput
- label="table.field.loc.areaId"
- optionText="name"
- readOnly
- validate={[required()]}
- filterToQuery={(val) => ({ name: val })}
- />
- </ReferenceInput>
- <TextInput
- label="table.field.loc.code"
- source="code"
- parse={v => v}
- readOnly
- validate={required()}
- />
- <NumberInput
- label="table.field.loc.length"
- source="length"
- readOnly
- validate={required()}
- />
-
- <NumberInput
- label="table.field.loc.width"
- source="width"
- readOnly
- validate={required()}
- />
-
- <NumberInput
- label="table.field.loc.height"
- source="height"
- readOnly
- validate={required()}
- />
- </Grid>
- <Grid item display="flex" gap={1}>
- <ReferenceArrayInput source="typeIds" reference="locType" >
- <SelectArrayInput label="table.field.loc.type" readOnly validate={[required()]} />
- </ReferenceArrayInput>
- <TextInput
- label="table.field.loc.unit"
- source="unit"
- readOnly
- parse={v => v}
- />
- <DictionarySelect
- label={translate("table.field.loc.useStatus")}
- name="useStatus"
- validate={[required()]}
- readOnly
- size="small"
- dictTypeCode="sys_loc_use_stas"
- />
- <NumberInput
- label="table.field.loc.row"
- source="row"
- readOnly
- validate={required()}
- />
-
- <NumberInput
- label="table.field.loc.col"
- source="col"
- readOnly
- validate={required()}
- />
-
- <NumberInput
- label="table.field.loc.lev"
- source="lev"
- readOnly
- validate={required()}
- />
- </Grid>
- </Grid>
- </Grid>
- <Grid item xs={12} md={2}>
- <Typography variant="h6" gutterBottom>
- {translate('common.edit.title.common')}
- </Typography>
- <StatusSelectInput readOnly />
- <Box mt="2em" />
- <MemoInput />
- </Grid>
</Grid>
- </SimpleForm>
- </Edit >
- <LocQueryList />
- </>
+ <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 >
)
}
--
Gitblit v1.9.1