From 5b79a154460d45ad32b0c34b23ae2f77cacb765b Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期六, 19 七月 2025 14:03:43 +0800
Subject: [PATCH] #盘点pda
---
rsf-admin/src/page/locItem/LocItemEdit.jsx | 313 +++++++++++++++++++++++++--------------------------
1 files changed, 155 insertions(+), 158 deletions(-)
diff --git a/rsf-admin/src/page/locItem/LocItemEdit.jsx b/rsf-admin/src/page/locItem/LocItemEdit.jsx
index f9d7aa1..0274fb8 100644
--- a/rsf-admin/src/page/locItem/LocItemEdit.jsx
+++ b/rsf-admin/src/page/locItem/LocItemEdit.jsx
@@ -10,6 +10,7 @@
DateInput,
SelectInput,
ReferenceInput,
+ SelectArrayInput,
ReferenceArrayInput,
AutocompleteInput,
SaveButton,
@@ -19,6 +20,7 @@
required,
useRecordContext,
DeleteButton,
+ useNotify,
} from 'react-admin';
import { useWatch, useFormContext } from "react-hook-form";
import { Stack, Grid, Box, Typography } from '@mui/material';
@@ -28,180 +30,175 @@
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: 'space-between' }}>
- <SaveButton />
- <DeleteButton mutationMode="optimistic" />
+ <Toolbar sx={{ justifyContent: 'end' }}>
</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 />}
- >
- <SimpleForm
- shouldUnregister
- warnWhenUnsavedChanges
- toolbar={<FormToolbar />}
- mode="onTouched"
- defaultValues={{}}
- // validate={(values) => { }}
+ <>
+ <Edit
+ redirect="list"
+ mutationMode={EDIT_MODE}
+ actions={<CustomerTopToolBar />}
+ aside={<EditBaseAside />}
+ title={"menu.loc"}
>
- <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.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}>
- <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>
+ <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)"
+ },
+ "& .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>
- <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 >
+ <LocQueryList />
+ </>
)
}
--
Gitblit v1.9.1