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