From 99411967019bbf0d7b0b971eae0db2c2c58025f0 Mon Sep 17 00:00:00 2001
From: skyouc <958836976@qq.com>
Date: 星期六, 30 八月 2025 16:27:47 +0800
Subject: [PATCH] 修改任务状态
---
rsf-admin/src/page/basicInfo/matnr/MatnrEdit.jsx | 135 ++++++++++++++++++++++++++++++++++++--------
1 files changed, 109 insertions(+), 26 deletions(-)
diff --git a/rsf-admin/src/page/basicInfo/matnr/MatnrEdit.jsx b/rsf-admin/src/page/basicInfo/matnr/MatnrEdit.jsx
index 4af39ad..0cf5299 100644
--- a/rsf-admin/src/page/basicInfo/matnr/MatnrEdit.jsx
+++ b/rsf-admin/src/page/basicInfo/matnr/MatnrEdit.jsx
@@ -19,9 +19,10 @@
required,
useRecordContext,
DeleteButton,
+ useNotify,
} from 'react-admin';
import PropTypes from 'prop-types';
-import { useWatch, useFormContext } from "react-hook-form";
+import { useWatch, useFormContext, useForm, useFormState } from "react-hook-form";
import { Stack, Grid, Box, Typography, Tabs, Tab, } from '@mui/material';
import * as Common from '@/utils/common';
import { EDIT_MODE, REFERENCE_INPUT_PAGESIZE } from '@/config/setting';
@@ -30,9 +31,9 @@
import MemoInput from "@/page/components/MemoInput";
import StatusSelectInput from "@/page/components/StatusSelectInput";
import TreeSelectInput from "@/page/components/TreeSelectInput";
-
+import request from '@/utils/request';
const FormToolbar = () => {
- const { getValues } = useFormContext();
+ const { getValues } = useFormState();
return (
<Toolbar sx={{ justifyContent: 'space-between' }}>
<SaveButton />
@@ -73,6 +74,25 @@
const MatnrEdit = () => {
const translate = useTranslate();
const [value, setValue] = React.useState(0);
+
+ const notify = useNotify();
+ const [dynamicFields, setDynamicFields] = useState([]);
+
+ useEffect(() => {
+ getDynamicFields();
+ }, []);
+ const getDynamicFields = async () => {
+ const {
+ data: { code, data, msg },
+ } = await request.get("/fields/enable/list");
+ if (code === 200) {
+ setDynamicFields(data || [])
+
+
+ } else {
+ notify(msg);
+ }
+ };
const handleChange = (event, newValue) => {
setValue(newValue);
};
@@ -81,7 +101,7 @@
redirect="list"
mutationMode={EDIT_MODE}
actions={<CustomerTopToolBar />}
- aside={<EditBaseAside />}
+ title={"menu.matnr"}
>
<SimpleForm
shouldUnregister
@@ -125,7 +145,6 @@
<Grid item xs={6} display="flex" gap={1}>
<ReferenceInput source="shipperId" reference="companys" filter={{ type: 'shipper' }}>
<AutocompleteInput
- validate={[required()]}
label="table.field.matnr.shipperId"
optionText="name"
filterToQuery={(val) => ({ name: val })}
@@ -152,19 +171,7 @@
source="groupId"
/>
</Grid>
- {/* <Grid item xs={6} display="flex" gap={1}>
- <ReferenceInput
- source="rglarId"
- reference="batchRegular"
- perPage={REFERENCE_INPUT_PAGESIZE}
- >
- <AutocompleteInput
- label="table.field.matnr.rglarId"
- optionText="code"
- filterToQuery={(val) => ({ code: val })}
- />
- </ReferenceInput>
- </Grid> */}
+
<Grid item xs={6} display="flex" gap={1}>
<TextInput
label="table.field.matnr.platCode"
@@ -248,7 +255,7 @@
<Grid item xs={6} display="flex" gap={1}>
<SelectInput
label="table.field.matnr.isLabelMange"
- source="isLabelMange"
+ source="flagLabelMange"
choices={[
{ id: 0, name: ' 鍚�' },
{ id: 1, name: ' 鏄�' },
@@ -257,13 +264,40 @@
/>
</Grid>
-
+ {dynamicFields.map((item) => {
+ return (
+ <Grid key={item.id} item xs={6} display="flex" gap={1}>
+ <DynamicFields
+ label={item.fieldsAlise}
+ source={item.fields}
+ validate={item.unique === 1 ? required() : false}
+ />
+ </Grid>
+ )
+ })}
</Grid>
</CustomTabPanel>
<CustomTabPanel value={value} index={1}>
<Grid container rowSpacing={2} columnSpacing={2}>
+ <Grid item xs={6} display="flex" gap={1}>
+ <TextInput
+ label="table.field.matnr.name"
+ source="name"
+ parse={v => v}
+ required
+ autoFocus
+ />
+ </Grid>
+ <Grid item xs={6} display="flex" gap={1}>
+ <TextInput
+ label="table.field.matnr.code"
+ source="code"
+ required
+ parse={v => v}
+ />
+ </Grid>
<Grid item xs={6} display="flex" gap={1}>
<NumberInput
label="table.field.matnr.safeQty"
@@ -300,29 +334,63 @@
source="valid"
/>
</Grid>
+ <Grid item xs={6} display="flex" gap={1}>
+ <SelectInput
+ label="table.field.matnr.flagCheck"
+ source="flagCheck"
+ choices={[
+ { id: 0, name: ' 鍚�' },
+ { id: 1, name: ' 鏄�' },
+ ]}
+ />
+ </Grid>
</Grid>
</CustomTabPanel>
<CustomTabPanel value={value} index={2}>
<Grid container rowSpacing={2} columnSpacing={2}>
- <Grid item xs={6} display="flex" gap={1}>
- <NumberInput
- label="table.field.matnr.flagCheck"
- source="flagCheck"
+ <Grid item xs={6} display="flex" gap={1}>
+ <TextInput
+ label="table.field.matnr.name"
+ source="name"
+ parse={v => v}
+ required
+ autoFocus
/>
+ </Grid>
+ <Grid item xs={6} display="flex" gap={1}>
+ <TextInput
+ label="table.field.matnr.code"
+ source="code"
+ required
+ parse={v => v}
+ />
+ </Grid>
+ <Grid item xs={6} display="flex" gap={1}>
+ <ReferenceInput
+ source="rglarId"
+ reference="serialRule"
+ perPage={REFERENCE_INPUT_PAGESIZE}
+ >
+ <AutocompleteInput
+ label="table.field.matnr.rglarId"
+ optionText="name"
+ filterToQuery={(val) => ({ name: val })}
+ />
+ </ReferenceInput>
</Grid>
</Grid>
</CustomTabPanel>
</Grid>
- <Grid item xs={12} md={2}>
+ {/* <Grid item xs={12} md={2}>
<Typography variant="h6" gutterBottom>
{translate('common.edit.title.common')}
</Typography>
<StatusSelectInput />
<Box mt="2em" />
<MemoInput />
- </Grid>
+ </Grid> */}
</Grid>
</SimpleForm>
</Edit >
@@ -330,3 +398,18 @@
}
export default MatnrEdit;
+
+const DynamicFields = (props) => {
+ const { ...parmas } = props;
+ const form = useFormContext();
+ const field = `extendFields.${parmas.source}`;
+
+ const value = form.getValues(field) || form.formState.defaultValues?.extendFields?.[parmas.source];
+
+ value && form.setValue(parmas.source, value);
+ return (
+ <TextInput
+ {...parmas}
+ />
+ )
+}
--
Gitblit v1.9.1