From ff18a8c103f1db8be2fcb22d69de3c32f745ff1d Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期六, 10 五月 2025 17:04:41 +0800
Subject: [PATCH] 质检信息修改 快速质检功能修改

---
 rsf-admin/src/page/basicInfo/matnr/MatnrEdit.jsx |   74 +++++++++++++++++++++++++++++++++----
 1 files changed, 66 insertions(+), 8 deletions(-)

diff --git a/rsf-admin/src/page/basicInfo/matnr/MatnrEdit.jsx b/rsf-admin/src/page/basicInfo/matnr/MatnrEdit.jsx
index 8cb7351..b3a5601 100644
--- a/rsf-admin/src/page/basicInfo/matnr/MatnrEdit.jsx
+++ b/rsf-admin/src/page/basicInfo/matnr/MatnrEdit.jsx
@@ -22,7 +22,7 @@
     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';
@@ -33,7 +33,7 @@
 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 />
@@ -88,6 +88,7 @@
         if (code === 200) {
             setDynamicFields(data || [])
 
+
         } else {
             notify(msg);
         }
@@ -100,7 +101,7 @@
             redirect="list"
             mutationMode={EDIT_MODE}
             actions={<CustomerTopToolBar />}
-            aside={<EditBaseAside />}
+            title={"menu.matnr"}
         >
             <SimpleForm
                 shouldUnregister
@@ -144,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 })}
@@ -267,21 +267,37 @@
                                 {dynamicFields.map((item) => {
                                     return (
                                         <Grid key={item.id} item xs={6} display="flex" gap={1}>
-                                            <TextInput
+                                            <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"
@@ -318,13 +334,40 @@
                                         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}>
+                                    <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="rglar_id"
+                                        source="rglarId"
                                         reference="serialRule"
                                         perPage={REFERENCE_INPUT_PAGESIZE}
                                     >
@@ -355,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