From 68a35dcfefb23182b2c2d5854d0656e5facb0a7d Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期五, 18 七月 2025 17:04:08 +0800 Subject: [PATCH] 盘点出库单功能优化 --- 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