From 0d0c4fd1316341b04e1a2b8f29e634d4464f712e Mon Sep 17 00:00:00 2001
From: vincentlu <t1341870251@gmail.com>
Date: 星期五, 18 四月 2025 15:42:49 +0800
Subject: [PATCH] #
---
zy-acs-flow/src/page/segment/SegmentList.jsx | 52 ++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 46 insertions(+), 6 deletions(-)
diff --git a/zy-acs-flow/src/page/segment/SegmentList.jsx b/zy-acs-flow/src/page/segment/SegmentList.jsx
index 23ad4aa..4d57b2f 100644
--- a/zy-acs-flow/src/page/segment/SegmentList.jsx
+++ b/zy-acs-flow/src/page/segment/SegmentList.jsx
@@ -32,6 +32,8 @@
DeleteButton,
FunctionField,
Count,
+ useNotify,
+ useRefresh,
} from 'react-admin';
import { Box, Typography, Stack, useMediaQuery, Tabs, Tab, Divider } from '@mui/material';
import { styled } from '@mui/material/styles';
@@ -42,6 +44,9 @@
import MyField from "../components/MyField";
import { PAGE_DRAWER_WIDTH, OPERATE_MODE, DEFAULT_PAGE_SIZE } from '@/config/setting';
import * as Common from '@/utils/common';
+import ConfirmButton from "../components/ConfirmButton";
+import ClearIcon from '@mui/icons-material/Clear';
+import request from '@/utils/request';
const StyledDatagrid = styled(DatagridConfigurable)(({ theme }) => ({
'& .css-1vooibu-MuiSvgIcon-root': {
@@ -53,13 +58,13 @@
'& .column-name': {
},
'& .opt': {
- width: 200
+ width: 120
},
}));
const filters = [
// <SearchInput source="condition" alwaysOn />,
- <TextInput source="groupId" label="table.field.segment.groupId" alwaysOn/>,
+ <TextInput source="groupId" label="table.field.segment.groupId" alwaysOn />,
<ReferenceInput source="agvId" label="table.field.segment.agvId" reference="agv" alwaysOn>
<AutocompleteInput label="table.field.segment.agvId" optionText="uuid" filterToQuery={(val) => ({ uuid: val })} />
</ReferenceInput>,
@@ -140,6 +145,8 @@
const TabbedDatagrid = () => {
const translate = useTranslate();
+ const notify = useNotify();
+ const refresh = useRefresh();
const { filterValues, setFilters, displayedFilters } = useListContext();
const isXSmall = useMediaQuery(theme =>
theme.breakpoints.down('sm')
@@ -152,6 +159,19 @@
);
}, [filterValues, setFilters, displayedFilters]);
+ const handleDeprecate = (segmentId) => {
+ request.get("/segment/cancel/" + segmentId).then(res => {
+ const { code, msg, data } = res.data;
+ if (code === 200) {
+ notify(msg || 'common.response.success', { type: 'success', messageArgs: { _: msg } });
+ refresh();
+ } else {
+ notify(msg || 'common.response.fail', { type: 'error', messageArgs: { _: msg } });
+ }
+ }).catch(error => {
+ notify(error.message || 'common.response.fail', { type: 'error', messageArgs: { _: error.message } });
+ })
+ }
return (
<>
@@ -220,6 +240,7 @@
</ReferenceField>
<TextField source="posType" label="table.field.segment.posType" sortable={false} />
<NumberField source="backpack" label="table.field.segment.backpack" sortable={false} />
+ <NumberField source="algoTime" label="table.field.segment.algoTime" sortable={false} />
<ReferenceField source="endNode" label="table.field.segment.endNode" reference="code" link={false} sortable={false}>
<TextField source="data" />
</ReferenceField>
@@ -239,10 +260,29 @@
<DateField source="createTime" label="common.field.createTime" showTime />
<BooleanField source="statusBool" label="common.field.status" sortable={false} />
<TextField source="memo" label="common.field.memo" sortable={false} />
- {/* <FunctionField label="common.field.opt" cellClassName="opt" render={record => (
- <>
- </>
- )} /> */}
+ {filterValues.state === 'RUNNING' && (
+ <FunctionField label="common.field.opt" cellClassName="opt" render={record => (
+ <>
+ <ConfirmButton
+ label="common.action.deprecate"
+ size="small"
+ color="error"
+ startIcon={<ClearIcon />}
+ sx={{
+ padding: '1px',
+ fontSize: '.75rem',
+ '& .MuiButton-startIcon': {
+ marginRight: '2px'
+ },
+ }}
+ data={record.id}
+ onConfirm={() => {
+ handleDeprecate(record.id);
+ }}
+ />
+ </>
+ )} />
+ )}
</StyledDatagrid>
</>
)}
--
Gitblit v1.9.1