From c0a87b9244e1521c76b8a0dc70b922f6fc3e30a1 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期四, 17 七月 2025 16:35:23 +0800
Subject: [PATCH] Merge branch 'devlop' of http://47.97.1.152:5880/r/wms-master into devlop
---
rsf-admin/src/page/locItem/LocItemEdit.jsx | 205 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 205 insertions(+), 0 deletions(-)
diff --git a/rsf-admin/src/page/locItem/LocItemEdit.jsx b/rsf-admin/src/page/locItem/LocItemEdit.jsx
new file mode 100644
index 0000000..0274fb8
--- /dev/null
+++ b/rsf-admin/src/page/locItem/LocItemEdit.jsx
@@ -0,0 +1,205 @@
+import React, { useState, useRef, useEffect, useMemo } from "react";
+import {
+ Edit,
+ SimpleForm,
+ FormDataConsumer,
+ useTranslate,
+ TextInput,
+ NumberInput,
+ BooleanInput,
+ DateInput,
+ SelectInput,
+ ReferenceInput,
+ SelectArrayInput,
+ ReferenceArrayInput,
+ AutocompleteInput,
+ SaveButton,
+ Toolbar,
+ Labeled,
+ NumberField,
+ required,
+ useRecordContext,
+ DeleteButton,
+ useNotify,
+} 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 request from '@/utils/request';
+import DictionarySelect from "../components/DictionarySelect";
+import LocQueryList from "./LocQueryList";
+
+const FormToolbar = () => {
+ const { getValues } = useFormContext();
+
+ return (
+ <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 />}
+ title={"menu.loc"}
+ >
+ <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>
+ </SimpleForm>
+ </Edit >
+ <LocQueryList />
+ </>
+ )
+}
+
+export default LocItemEdit;
--
Gitblit v1.9.1