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/GuaranteeList.jsx | 59 ++++++++++++++++++++++++++++++++++++++++++-----------------
1 files changed, 42 insertions(+), 17 deletions(-)
diff --git a/zy-acs-flow/src/page/guarantee/GuaranteeList.jsx b/zy-acs-flow/src/page/guarantee/GuaranteeList.jsx
index 576e125..cd953e2 100644
--- a/zy-acs-flow/src/page/guarantee/GuaranteeList.jsx
+++ b/zy-acs-flow/src/page/guarantee/GuaranteeList.jsx
@@ -1,21 +1,14 @@
-import React, { useState, useRef, useEffect, useMemo, useCallback } from "react";
-import { useNavigate } from 'react-router-dom';
+import React, { useState, useCallback } from "react";
import {
List,
DatagridConfigurable,
SearchInput,
TopToolbar,
SelectColumnsButton,
- EditButton,
FilterButton,
- CreateButton,
- ExportButton,
BulkDeleteButton,
WrapperField,
- useRecordContext,
useTranslate,
- useNotify,
- useListContext,
FunctionField,
TextField,
NumberField,
@@ -27,10 +20,8 @@
DateInput,
SelectInput,
NumberInput,
- ReferenceInput,
- ReferenceArrayInput,
- AutocompleteInput,
DeleteButton,
+ EditButton,
} from 'react-admin';
import { Box, Typography, Card, Stack } from '@mui/material';
import { styled } from '@mui/material/styles';
@@ -40,9 +31,10 @@
import MyCreateButton from "../components/MyCreateButton";
import MyExportButton from '../components/MyExportButton';
import PageDrawer from "../components/PageDrawer";
-import MyField from "../components/MyField";
import { PAGE_DRAWER_WIDTH, OPERATE_MODE, DEFAULT_PAGE_SIZE } from '@/config/setting';
import * as Common from '@/utils/common';
+import { describeCronExpression } from "./cronUtils";
+import { DEFAULT_SCOPE_TYPE, SCOPE_FILTER_CHOICES, getScopeLabel } from "./guaranteeConstants";
const StyledDatagrid = styled(DatagridConfigurable)(({ theme }) => ({
'& .css-1vooibu-MuiSvgIcon-root': {
@@ -65,7 +57,14 @@
<TextInput source="uuid" label="table.field.guarantee.uuid" />,
<TextInput source="name" label="table.field.guarantee.name" />,
- <TextInput source="scopeType" label="table.field.guarantee.scopeType" />,
+ <SelectInput
+ source="scopeType"
+ label="table.field.guarantee.scopeType"
+ choices={SCOPE_FILTER_CHOICES}
+ translateChoice
+ allowEmpty
+ resettable
+ />,
<TextInput source="scopeValue" label="table.field.guarantee.scopeValue" />,
<TextInput source="cronExpr" label="table.field.guarantee.cronExpr" />,
<NumberInput source="requiredCount" label="table.field.guarantee.requiredCount" />,
@@ -90,6 +89,32 @@
const [createDialog, setCreateDialog] = useState(false);
const [drawerVal, setDrawerVal] = useState(false);
+ const renderScopeType = useCallback((record) => {
+ if (!record) {
+ return '';
+ }
+ return getScopeLabel(record.scopeType, translate);
+ }, [translate]);
+
+ const renderScopeValue = useCallback((record) => {
+ if (!record) {
+ return '';
+ }
+ if (!record.scopeValue) {
+ return record.scopeType === DEFAULT_SCOPE_TYPE
+ ? translate('page.guarantee.scope.globalHelper')
+ : translate('common.enums.na');
+ }
+ return record.scopeValue;
+ }, [translate]);
+
+ const renderCron = useCallback((record) => {
+ if (!record || !record.cronExpr) {
+ return translate('common.enums.na');
+ }
+ return describeCronExpression(record.cronExpr, translate);
+ }, [translate]);
+
return (
<Box display="flex">
<List
@@ -99,7 +124,7 @@
theme.transitions.create(['all'], {
duration: theme.transitions.duration.enteringScreen,
}),
- marginRight: !!drawerVal ? `${PAGE_DRAWER_WIDTH}px` : 0,
+ marginRight: drawerVal ? `${PAGE_DRAWER_WIDTH}px` : 0,
}}
title={"menu.guarantee"}
empty={<EmptyData onClick={() => { setCreateDialog(true) }} />}
@@ -126,9 +151,9 @@
<NumberField source="id" />
<TextField source="uuid" label="table.field.guarantee.uuid" />
<TextField source="name" label="table.field.guarantee.name" />
- <TextField source="scopeType" label="table.field.guarantee.scopeType" />
- <TextField source="scopeValue" label="table.field.guarantee.scopeValue" />
- <TextField source="cronExpr" label="table.field.guarantee.cronExpr" />
+ <FunctionField label="table.field.guarantee.scopeType" render={renderScopeType} />
+ <FunctionField label="table.field.guarantee.scopeValue" render={renderScopeValue} />
+ <FunctionField label="table.field.guarantee.cronExpr" render={renderCron} />
<NumberField source="requiredCount" label="table.field.guarantee.requiredCount" />
<NumberField source="minSoc" label="table.field.guarantee.minSoc" />
<NumberField source="leadTime" label="table.field.guarantee.leadTime" />
--
Gitblit v1.9.1