From 70e8f76e19575de4b21e5c0ff225af7a1849fec6 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期一, 28 十月 2024 09:51:39 +0800
Subject: [PATCH] #
---
zy-acs-flow/src/page/task/TaskList.jsx | 110 +++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 103 insertions(+), 7 deletions(-)
diff --git a/zy-acs-flow/src/page/task/TaskList.jsx b/zy-acs-flow/src/page/task/TaskList.jsx
index b140bbd..5ec10b1 100644
--- a/zy-acs-flow/src/page/task/TaskList.jsx
+++ b/zy-acs-flow/src/page/task/TaskList.jsx
@@ -32,6 +32,8 @@
DeleteButton,
FunctionField,
Pagination,
+ useNotify,
+ useRefresh,
} from 'react-admin';
import { Box, Chip, Card, Stack } from '@mui/material';
import { styled } from '@mui/material/styles';
@@ -46,6 +48,10 @@
import * as Common from '@/utils/common';
import TaskListAside from "./TaskListAside";
import { getTaskStsChipColor } from '@/utils/color-util';
+import ConfirmButton from "../components/ConfirmButton";
+import ClearIcon from '@mui/icons-material/Clear';
+import CheckIcon from '@mui/icons-material/Check';
+import request from '@/utils/request';
const StyledDatagrid = styled(DatagridConfigurable)(({ theme }) => ({
'& .css-1vooibu-MuiSvgIcon-root': {
@@ -126,9 +132,62 @@
const TaskList = () => {
const translate = useTranslate();
-
+ const notify = useNotify();
+ const refresh = useRefresh();
const [createDialog, setCreateDialog] = useState(false);
const [drawerVal, setDrawerVal] = useState(false);
+
+ const [taskStsByComplete, setTaskStsByComplete] = useState(null);
+ const [taskStsByCancel, setTaskStsByCancel] = useState(null);
+
+ useEffect(() => {
+ request.post('/taskSts/list', {
+ uuid: 'COMPLETE'
+ }, {
+ headers: {
+ 'Content-Type': 'application/x-www-form-urlencoded'
+ }
+ }).then(res => {
+ setTaskStsByComplete(res.data.data[0]?.id);
+ })
+ request.post('/taskSts/list', {
+ uuid: 'CANCEL'
+ }, {
+ headers: {
+ 'Content-Type': 'application/x-www-form-urlencoded'
+ }
+ }).then(res => {
+ setTaskStsByCancel(res.data.data[0]?.id);
+ })
+ }, []);
+
+ const onComplete = (taskId) => {
+ request.get("/task/complete/" + taskId).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 } });
+ })
+ }
+
+ const onCancel = (taskId) => {
+ request.get("/task/cancel/" + taskId).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 (
<Box display="flex">
@@ -153,8 +212,8 @@
<MyExportButton />
</TopToolbar>
)}
- pagination={<Pagination rowsPerPageOptions={[10, 20, 50, 100]} />}
- perPage={20}
+ pagination={<Pagination rowsPerPageOptions={[10, 25, 50, 100]} />}
+ perPage={25}
aside={<TaskListAside />}
>
<StyledDatagrid
@@ -234,10 +293,47 @@
<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} />
- <WrapperField cellClassName="opt" label="common.field.opt">
- <EditButton sx={{ padding: '1px', fontSize: '.75rem' }} />
- <DeleteButton sx={{ padding: '1px', fontSize: '.75rem' }} mutationMode={OPERATE_MODE} />
- </WrapperField>
+ <FunctionField label="common.field.opt" cellClassName="opt" render={record => (
+ (record.taskSts !== taskStsByComplete && record.taskSts !== taskStsByCancel) && (
+ <>
+ <ConfirmButton
+ label="common.action.complete"
+ size="small"
+ color="primary"
+ startIcon={<CheckIcon />}
+ sx={{
+ padding: '1px',
+ fontSize: '.75rem',
+ '& .MuiButton-startIcon': {
+ marginRight: '2px'
+ },
+ mr: 1
+ }}
+ data={record.seqNum}
+ onConfirm={() => {
+ onComplete(record.id);
+ }}
+ />
+ <ConfirmButton
+ label="ra.action.cancel"
+ size="small"
+ color="error"
+ startIcon={<ClearIcon />}
+ sx={{
+ padding: '1px',
+ fontSize: '.75rem',
+ '& .MuiButton-startIcon': {
+ marginRight: '1.5px'
+ },
+ }}
+ data={record.seqNum}
+ onConfirm={() => {
+ onCancel(record.id);
+ }}
+ />
+ </>
+ )
+ )} />
</StyledDatagrid>
</List>
<TaskCreate
--
Gitblit v1.9.1