From c01d9b053852b12e7d3ced66367babb4d499b14b Mon Sep 17 00:00:00 2001
From: vincentlu <t1341870251@gmail.com>
Date: 星期四, 26 二月 2026 11:44:15 +0800
Subject: [PATCH] #

---
 zy-acs-flow/src/page/guarantee/GuaranteeEdit.jsx |   70 ++++++++++++++++------------------
 1 files changed, 33 insertions(+), 37 deletions(-)

diff --git a/zy-acs-flow/src/page/guarantee/GuaranteeEdit.jsx b/zy-acs-flow/src/page/guarantee/GuaranteeEdit.jsx
index 4580c59..aae03b9 100644
--- a/zy-acs-flow/src/page/guarantee/GuaranteeEdit.jsx
+++ b/zy-acs-flow/src/page/guarantee/GuaranteeEdit.jsx
@@ -2,36 +2,25 @@
 import {
     Edit,
     SimpleForm,
-    FormDataConsumer,
     useTranslate,
     TextInput,
     NumberInput,
-    BooleanInput,
-    DateInput,
-    SelectInput,
-    ReferenceInput,
-    ReferenceArrayInput,
-    AutocompleteInput,
     SaveButton,
     Toolbar,
-    Labeled,
-    NumberField,
     required,
-    useRecordContext,
     DeleteButton,
 } 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 { EDIT_MODE } from '@/config/setting';
 import EditBaseAside from "../components/EditBaseAside";
 import CustomerTopToolBar from "../components/EditTopToolBar";
 import MemoInput from "../components/MemoInput";
 import StatusSelectInput from "../components/StatusSelectInput";
+import ScopeField from "./ScopeField";
+import CronField from "./CronField";
+import { DEFAULT_SCOPE_TYPE } from "./guaranteeConstants";
 
 const FormToolbar = () => {
-    const { getValues } = useFormContext();
-
     return (
         <Toolbar sx={{ justifyContent: 'space-between' }}>
             <SaveButton />
@@ -76,45 +65,36 @@
                                 label="table.field.guarantee.name"
                                 source="name"
                                 parse={v => v}
+                                validate={[required()]}
                             />
                         </Stack>
-                        <Stack direction='row' gap={2}>
-                            <TextInput
-                                label="table.field.guarantee.scopeType"
-                                source="scopeType"
-                                parse={v => v}
-                            />
-                        </Stack>
-                        <Stack direction='row' gap={2}>
-                            <TextInput
-                                label="table.field.guarantee.scopeValue"
-                                source="scopeValue"
-                                parse={v => v}
-                            />
-                        </Stack>
-                        <Stack direction='row' gap={2}>
-                            <TextInput
-                                label="table.field.guarantee.cronExpr"
-                                source="cronExpr"
-                                parse={v => v}
-                            />
-                        </Stack>
+                        <ScopeField />
+                        <Box mt={2}>
+                            <CronField />
+                        </Box>
                         <Stack direction='row' gap={2}>
                             <NumberInput
                                 label="table.field.guarantee.requiredCount"
                                 source="requiredCount"
+                                validate={[required()]}
+                                min={1}
                             />
                         </Stack>
                         <Stack direction='row' gap={2}>
                             <NumberInput
                                 label="table.field.guarantee.minSoc"
                                 source="minSoc"
+                                validate={[required()]}
+                                min={1}
+                                max={100}
                             />
                         </Stack>
                         <Stack direction='row' gap={2}>
                             <NumberInput
                                 label="table.field.guarantee.leadTime"
                                 source="leadTime"
+                                validate={[required()]}
+                                min={1}
                             />
                         </Stack>
 
@@ -133,4 +113,20 @@
     )
 }
 
-export default GuaranteeEdit;
+const GuaranteeEditWrapper = () => (
+    <Edit
+        redirect="list"
+        mutationMode={EDIT_MODE}
+        actions={<CustomerTopToolBar />}
+        aside={<EditBaseAside />}
+        transform={(data) => ({
+            ...data,
+            cronExpr: (data.cronExpr || '').trim(),
+            scopeValue: data.scopeType === DEFAULT_SCOPE_TYPE ? null : data.scopeValue,
+        })}
+    >
+        <GuaranteeEdit />
+    </Edit>
+);
+
+export default GuaranteeEditWrapper;

--
Gitblit v1.9.1