From 052ee1f9c0b9e2bc8bbd4cf135ae45fed7422023 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期一, 28 十月 2024 10:36:28 +0800
Subject: [PATCH] #
---
zy-acs-flow/src/page/mission/MissionResend.jsx | 92 +++++++++++++++++++++++++++++----------------
1 files changed, 59 insertions(+), 33 deletions(-)
diff --git a/zy-acs-flow/src/page/mission/MissionResend.jsx b/zy-acs-flow/src/page/mission/MissionResend.jsx
index 1d9518f..85823b3 100644
--- a/zy-acs-flow/src/page/mission/MissionResend.jsx
+++ b/zy-acs-flow/src/page/mission/MissionResend.jsx
@@ -36,6 +36,7 @@
import DialogCloseButton from "../components/DialogCloseButton";
import { format } from 'date-fns';
import ArrowBackIosNewIcon from '@mui/icons-material/ArrowBackIosNew';
+import request from '@/utils/request';
const MissionResend = ({ open, id }) => {
const redirect = useRedirect();
@@ -136,8 +137,7 @@
</Box>
)}
- <ActionTable actionIds={record?.actionIds} />
-
+ <ActionTable actionIds={record?.actionIds} currCode={record.currCode} handleClose={handleClose} />
</Box>
</Box>
</Stack>
@@ -147,39 +147,41 @@
const headCells = [
{
- id: 'name',
+ id: 'actionType',
numeric: false,
disablePadding: true,
- label: 'Dessert聽(100g serving)',
+ label: 'table.field.action.actionType',
},
{
- id: 'calories',
+ id: 'code',
numeric: true,
disablePadding: false,
- label: 'Calories',
+ label: 'table.field.action.code',
},
{
- id: 'fat',
+ id: 'taskId',
numeric: true,
disablePadding: false,
- label: 'Fat聽(g)',
+ label: 'table.field.action.taskId',
},
{
- id: 'carbs',
+ id: 'val',
numeric: true,
disablePadding: false,
- label: 'Carbs聽(g)',
+ label: 'table.field.action.val',
},
{
- id: 'protein',
+ id: 'params',
numeric: true,
disablePadding: false,
- label: 'Protein聽(g)',
+ label: 'table.field.action.params',
},
];
-const ActionTable = ({ actionIds }) => {
+const ActionTable = ({ actionIds, currCode, handleClose }) => {
const dataProvider = useDataProvider();
+ const translate = useTranslate();
+ const notify = useNotify();
const [actions, setActions] = useState([]);
const [selected, setSelected] = React.useState([]);
@@ -188,6 +190,13 @@
dataProvider.getMany('action', { ids: actionIds }).then(res => {
if (res.data?.length > 0) {
setActions(res.data);
+
+ // init selected
+ const indexOfCurrCode = res.data.findIndex(item => item.code === currCode);
+ if (indexOfCurrCode !== -1) {
+ const selectedIds = res.data.slice(indexOfCurrCode).map(item => item.id);
+ setSelected(selectedIds);
+ }
}
})
}
@@ -221,16 +230,35 @@
setSelected(newSelected);
};
+ const resendSubmit = () => {
+ if (!!selected?.length) {
+ request.post("/mission/resend", selected.map(id => ({ id }))).then(res => {
+ const { code, msg, data } = res.data;
+ if (code === 200) {
+ notify(msg || 'common.response.success', { type: 'success', messageArgs: { _: msg } });
+ handleClose();
+ } 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 sx={{ width: '100%' }}>
- <Paper sx={{ width: '100%', mb: 2 }}>
+ <Paper sx={{
+ width: '100%',
+ mb: 2,
+ }}>
<Toolbar
sx={[
{
pl: { sm: 2 },
pr: { xs: 1, sm: 1 },
+ minHeight: '52.5px !important',
},
selected.length > 0 && {
bgcolor: (theme) =>
@@ -245,29 +273,25 @@
variant="subtitle1"
component="div"
>
- {selected.length} selected
+ {selected.length} {translate('common.action.selected')}
</Typography>
) : (
<Typography
sx={{ flex: '1 1 100%' }}
- variant="h6"
+ variant="subtitle1"
id="tableTitle"
component="div"
>
- Actions
+ {translate('table.field.mission.actions')}
</Typography>
)}
{selected.length > 0 && (
- <Tooltip title="Delete">
- <IconButton>
- <Button
- onClick={() => {
- alert('clicked');
- }}
- >
- ss
- </Button>
- </IconButton>
+ <Tooltip title="Resend">
+ <Button
+ onClick={resendSubmit}
+ >
+ {translate('ra.action.confirm')}
+ </Button>
</Tooltip>
)}
</Toolbar>
@@ -297,7 +321,7 @@
align={headCell.numeric ? 'right' : 'left'}
padding={headCell.disablePadding ? 'none' : 'normal'}
>
- {headCell.label}
+ {translate(headCell.label)}
</TableCell>
))}
</TableRow>
@@ -333,12 +357,14 @@
scope="row"
padding="none"
>
- {row.name}
+ [ {row.priority} ]
+
+ {row.actionType$}
</TableCell>
- <TableCell align="right">{row.calories}</TableCell>
- <TableCell align="right">{row.fat}</TableCell>
- <TableCell align="right">{row.carbs}</TableCell>
- <TableCell align="right">{row.protein}</TableCell>
+ <TableCell align="right">{row.code}</TableCell>
+ <TableCell align="right">{row.taskId$}</TableCell>
+ <TableCell align="right">{row.val}</TableCell>
+ <TableCell align="right">{row.params}</TableCell>
</TableRow>
);
})}
--
Gitblit v1.9.1