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/GuaranteeCreate.jsx |   67 +++++++++++++++++----------------
 1 files changed, 35 insertions(+), 32 deletions(-)

diff --git a/zy-acs-flow/src/page/guarantee/GuaranteeCreate.jsx b/zy-acs-flow/src/page/guarantee/GuaranteeCreate.jsx
index 7b28c4d..16239fa 100644
--- a/zy-acs-flow/src/page/guarantee/GuaranteeCreate.jsx
+++ b/zy-acs-flow/src/page/guarantee/GuaranteeCreate.jsx
@@ -4,19 +4,11 @@
     useTranslate,
     TextInput,
     NumberInput,
-    BooleanInput,
-    DateInput,
     SaveButton,
-    SelectInput,
-    ReferenceInput,
-    ReferenceArrayInput,
-    AutocompleteInput,
     Toolbar,
     required,
-    useDataProvider,
     useNotify,
     Form,
-    useCreateController,
 } from 'react-admin';
 import {
     Dialog,
@@ -30,12 +22,25 @@
 import DialogCloseButton from "../components/DialogCloseButton";
 import StatusSelectInput from "../components/StatusSelectInput";
 import MemoInput from "../components/MemoInput";
+import ScopeField from "./ScopeField";
+import CronField from "./CronField";
+import { DEFAULT_CRON_EXPRESSION } from "./cronUtils";
+import { DEFAULT_SCOPE_TYPE } from "./guaranteeConstants";
 
 const GuaranteeCreate = (props) => {
     const { open, setOpen } = props;
 
     const translate = useTranslate();
     const notify = useNotify();
+
+    const defaultRecord = {
+        scopeType: DEFAULT_SCOPE_TYPE,
+        cronExpr: DEFAULT_CRON_EXPRESSION,
+        requiredCount: 10,
+        minSoc: 50,
+        leadTime: 60,
+        status: 1,
+    };
 
     const handleClose = (event, reason) => {
         if (reason !== "backdropClick") {
@@ -55,9 +60,13 @@
     return (
         <>
             <CreateBase
-                record={{}}
+                record={defaultRecord}
                 transform={(data) => {
-                    return data;
+                    return {
+                        ...data,
+                        cronExpr: (data.cronExpr || '').trim(),
+                        scopeValue: data.scopeType === DEFAULT_SCOPE_TYPE ? null : data.scopeValue,
+                    };
                 }}
                 mutationOptions={{ onSuccess: handleSuccess, onError: handleError }}
             >
@@ -97,45 +106,39 @@
                                         label="table.field.guarantee.name"
                                         source="name"
                                         parse={v => v}
+                                        validate={[required()]}
+                                        fullWidth
                                     />
                                 </Grid>
-                                <Grid item xs={6} display="flex" gap={1}>
-                                    <TextInput
-                                        label="table.field.guarantee.scopeType"
-                                        source="scopeType"
-                                        parse={v => v}
-                                    />
+                                <Grid item xs={12}>
+                                    <ScopeField />
                                 </Grid>
-                                <Grid item xs={6} display="flex" gap={1}>
-                                    <TextInput
-                                        label="table.field.guarantee.scopeValue"
-                                        source="scopeValue"
-                                        parse={v => v}
-                                    />
+                                <Grid item xs={12}>
+                                    <CronField />
                                 </Grid>
-                                <Grid item xs={6} display="flex" gap={1}>
-                                    <TextInput
-                                        label="table.field.guarantee.cronExpr"
-                                        source="cronExpr"
-                                        parse={v => v}
-                                    />
-                                </Grid>
-                                <Grid item xs={6} display="flex" gap={1}>
+                                <Grid item xs={4} display="flex" gap={1}>
                                     <NumberInput
                                         label="table.field.guarantee.requiredCount"
                                         source="requiredCount"
+                                        validate={[required()]}
+                                        min={1}
                                     />
                                 </Grid>
-                                <Grid item xs={6} display="flex" gap={1}>
+                                <Grid item xs={4} display="flex" gap={1}>
                                     <NumberInput
                                         label="table.field.guarantee.minSoc"
                                         source="minSoc"
+                                        validate={[required()]}
+                                        min={1}
+                                        max={100}
                                     />
                                 </Grid>
-                                <Grid item xs={6} display="flex" gap={1}>
+                                <Grid item xs={4} display="flex" gap={1}>
                                     <NumberInput
                                         label="table.field.guarantee.leadTime"
                                         source="leadTime"
+                                        validate={[required()]}
+                                        min={1}
                                     />
                                 </Grid>
 

--
Gitblit v1.9.1