From f14ae29680bed4616a9fc200af37c71c0645d0b3 Mon Sep 17 00:00:00 2001
From: vincentlu <t1341870251@gmail.com>
Date: 星期日, 04 一月 2026 18:03:42 +0800
Subject: [PATCH] #
---
zy-acs-flow/src/page/staReserve/StaReserveList.jsx | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 51 insertions(+), 5 deletions(-)
diff --git a/zy-acs-flow/src/page/staReserve/StaReserveList.jsx b/zy-acs-flow/src/page/staReserve/StaReserveList.jsx
index 2010d52..30cfa01 100644
--- a/zy-acs-flow/src/page/staReserve/StaReserveList.jsx
+++ b/zy-acs-flow/src/page/staReserve/StaReserveList.jsx
@@ -44,6 +44,19 @@
import { PAGE_DRAWER_WIDTH, OPERATE_MODE, DEFAULT_PAGE_SIZE } from '@/config/setting';
import * as Common from '@/utils/common';
+const TYPE_FILTER_CHOICES = [
+ { id: 'IN', name: 'page.sta.enums.type.in' },
+ { id: 'OUT', name: 'page.sta.enums.type.out' },
+];
+
+const STATE_FILTER_CHOICES = [
+ { id: 'RESERVED', name: 'page.sta.enums.state.reserved' },
+ { id: 'WAITING', name: 'page.sta.enums.state.waiting' },
+ { id: 'CONFIRMED', name: 'page.sta.enums.state.confirmed' },
+ { id: 'CANCELLED', name: 'page.sta.enums.state.canceled' },
+ { id: 'TIMEOUT', name: 'page.sta.enums.state.timeout' },
+];
+
const StyledDatagrid = styled(DatagridConfigurable)(({ theme }) => ({
'& .css-1vooibu-MuiSvgIcon-root': {
height: '.9em'
@@ -77,9 +90,9 @@
<AutocompleteInput label="table.field.staReserve.agvId" optionText="uuid" filterToQuery={(val) => ({ uuid: val })} />
</ReferenceInput>,
// <TextInput source="name" label="table.field.staReserve.name" />,
- <TextInput source="type" label="table.field.staReserve.type" />,
+ <SelectInput source="type" label="table.field.staReserve.type" choices={TYPE_FILTER_CHOICES} alwaysOn />,
<NumberInput source="qty" label="table.field.staReserve.qty" />,
- <TextInput source="state" label="table.field.staReserve.state" />,
+ <SelectInput source="state" label="table.field.staReserve.state" choices={STATE_FILTER_CHOICES} alwaysOn />,
<TextInput source="reason" label="table.field.staReserve.reason" />,
<DateInput source="expireTime" label="table.field.staReserve.expireTime" />,
<DateInput source="waitingAt" label="table.field.staReserve.waitingAt" />,
@@ -123,7 +136,7 @@
actions={(
<TopToolbar>
<FilterButton />
- <MyCreateButton onClick={() => { setCreateDialog(true) }} />
+ {/* <MyCreateButton onClick={() => { setCreateDialog(true) }} /> */}
<SelectColumnsButton preferenceKey='staReserve' />
<MyExportButton />
</TopToolbar>
@@ -155,9 +168,15 @@
<TextField source="uuid" />
</ReferenceField>
<TextField source="name" label="table.field.staReserve.name" />
- <TextField source="type" label="table.field.staReserve.type" />
+ <FunctionField
+ label="table.field.staReserve.type"
+ render={(record) => formatReserveType(record?.type, translate)}
+ />
<NumberField source="qty" label="table.field.staReserve.qty" />
- <TextField source="state" label="table.field.staReserve.state" />
+ <FunctionField
+ label="table.field.staReserve.state"
+ render={(record) => formatReserveState(record?.state, translate)}
+ />
<TextField source="reason" label="table.field.staReserve.reason" />
<DateField source="expireTime" label="table.field.staReserve.expireTime" showTime />
<DateField source="waitingAt" label="table.field.staReserve.waitingAt" showTime />
@@ -196,3 +215,30 @@
}
export default StaReserveList;
+
+const formatReserveType = (value, translate) =>
+ formatReserveEnum(value, translate, 'type');
+
+const formatReserveState = (value, translate) =>
+ formatReserveEnum(value, translate, 'state', {
+ cancelled: 'canceled',
+ });
+
+const formatReserveEnum = (value, translate, enumType, overrides = {}) => {
+ const normalized = normalizeValueKey(value);
+ if (!normalized) {
+ return '-';
+ }
+ const translationKey = overrides[normalized] || normalized;
+ return translate(`page.sta.enums.${enumType}.${translationKey}`, { _: value });
+};
+
+const normalizeValueKey = (value) => {
+ if (typeof value === 'string') {
+ return value.trim().toLowerCase();
+ }
+ if (value === undefined || value === null) {
+ return '';
+ }
+ return String(value).trim().toLowerCase();
+};
--
Gitblit v1.9.1