From 06d7fb698ce6d0efc7ff4224c6b68d2f50feb716 Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期一, 21 四月 2025 16:23:46 +0800 Subject: [PATCH] DO单修改及优化 --- rsf-admin/src/page/task/TaskList.jsx | 78 +++++++++++++++++---------------------- 1 files changed, 34 insertions(+), 44 deletions(-) diff --git a/rsf-admin/src/page/task/TaskList.jsx b/rsf-admin/src/page/task/TaskList.jsx index 72cfe20..087ce49 100644 --- a/rsf-admin/src/page/task/TaskList.jsx +++ b/rsf-admin/src/page/task/TaskList.jsx @@ -8,35 +8,25 @@ SearchInput, TopToolbar, SelectColumnsButton, - EditButton, FilterButton, - CreateButton, - ExportButton, BulkDeleteButton, WrapperField, useRecordContext, useTranslate, useNotify, useRefresh, - useListContext, - FunctionField, TextField, NumberField, DateField, BooleanField, - ReferenceField, TextInput, - DateTimeInput, DateInput, SelectInput, NumberInput, - ReferenceInput, - ReferenceArrayInput, - AutocompleteInput, - DeleteButton, + Button, } from 'react-admin'; -import { Box, Typography, Card, Stack } from '@mui/material'; +import { Box, Typography, Card, Stack, Drawer } from '@mui/material'; import { styled } from '@mui/material/styles'; import TaskCreate from "./TaskCreate"; import TaskPanel from "./TaskPanel"; @@ -62,14 +52,14 @@ '& .column-name': { }, '& .opt': { - width: 200 + width: 248 }, })); const filters = [ <SearchInput source="condition" alwaysOn />, - <DateInput label='common.time.after' source="timeStart" alwaysOn />, - <DateInput label='common.time.before' source="timeEnd" alwaysOn />, + <DateInput label='common.time.after' source="timeStart" />, + <DateInput label='common.time.before' source="timeEnd" />, <TextInput source="taskCode" label="table.field.task.taskCode" />, <NumberInput source="taskStatus" label="table.field.task.taskStatus" />, <NumberInput source="taskType" label="table.field.task.taskType" />, @@ -97,11 +87,9 @@ />, ] -const TaskList = () => { +const TaskList = (props) => { const translate = useTranslate(); - const [createDialog, setCreateDialog] = useState(false); const [drawerVal, setDrawerVal] = useState(false); - return ( <Box display="flex"> <List @@ -114,22 +102,19 @@ marginRight: !!drawerVal ? `${PAGE_DRAWER_WIDTH}px` : 0, }} title={"menu.task"} - empty={<EmptyData onClick={() => { }} />} + empty={false} filters={filters} sort={{ field: "sort", order: "desc" }} actions={( <TopToolbar> <FilterButton /> - {/* <MyCreateButton onClick={() => { setCreateDialog(true) }} /> */} <SelectColumnsButton preferenceKey='task' /> - {/* <MyExportButton /> */} </TopToolbar> )} perPage={DEFAULT_PAGE_SIZE} > <StyledDatagrid preferenceKey='task' - // bulkActionButtons={() => <BulkDeleteButton mutationMode={OPERATE_MODE} />} bulkActionButtons={ <> <BulkResortButton /> @@ -137,10 +122,10 @@ <BulkDeleteButton mutationMode={OPERATE_MODE} /> </> } - rowClick={(id, resource, record) => false} - // expand={() => <TaskPanel />} - // expandSingle={true} - omit={['id', 'createTime', 'createBy', 'memo', 'robotCode', 'exceStatus', 'expDesc', 'expCode', 'sort']} + rowClick={'edit'} + expand={false} + expandSingle={true} + omit={['id', 'createTime', 'createBy', 'memo', 'robotCode', 'exceStatus', 'expDesc', 'expCode', 'status', 'sort']} > <NumberField source="id" /> <TextField source="taskCode" label="table.field.task.taskCode" /> @@ -156,28 +141,19 @@ <TextField source="expDesc" label="table.field.task.expDesc" /> <NumberField source="sort" label="table.field.task.sort" /> <TextField source="expCode" label="table.field.task.expCode" /> - <ReferenceField source="updateBy" label="common.field.updateBy" reference="user" link={false} sortable={false}> - <TextField source="nickname" /> - </ReferenceField> + <TextField source="updateBy$" label="common.field.updateBy" /> + <TextField source="createBy$" label="common.field.createBy" /> <DateField source="updateTime" label="common.field.updateTime" showTime /> - <ReferenceField source="createBy" label="common.field.createBy" reference="user" link={false} sortable={false}> - <TextField source="nickname" /> - </ReferenceField> <DateField source="createTime" label="common.field.createTime" showTime /> - <BooleanField source="statusBool" label="common.field.status" sortable={false} /> + {/* <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' }} /> */} <DoneButton sx={{ padding: '1px', fontSize: '.75rem' }} ></DoneButton> <CancelButton sx={{ padding: '1px', fontSize: '.75rem' }} mutationMode={OPERATE_MODE} /> <SetTopButton sx={{ padding: '1px', fontSize: '.75rem' }} ></SetTopButton> </WrapperField> </StyledDatagrid> </List> - {/* <TaskCreate - open={createDialog} - setOpen={setCreateDialog} - /> */} <PageDrawer title='Task Detail' drawerVal={drawerVal} @@ -189,17 +165,31 @@ } export default TaskList; + + /** * 瀹屾垚鎿嶄綔 * @returns */ -const DoneButton = () => { +const DoneButton = (props) => { const record = useRecordContext(); - const clickComplete = () => { - completeTask([record]) + const notify = useNotify(); + const refresh = useRefresh(); + const clickComplete = (event) => { + event.stopPropagation(); + completeTask(record) }; //瀹屾垚浠诲姟 - const completeTask = async (row) => { } + const completeTask = async (row) => { + console.log(row.id); + const { data: { code, data, msg } } = await request.post(`task/complete/` + row.id); + if (code === 200) { + notify(msg); + refresh(); + } else { + notify(msg); + } + } return ( <Button onClick={clickComplete} @@ -221,7 +211,7 @@ cancleTask(record) }; //鍙栨秷浠诲姟 - const cancleTask = async (row) => { + const cancleTask = async (row) => { console.log(row); const { data: { code, data, msg } } = await request.post(`/task/remove/` + row.id); if (code === 200) { @@ -259,7 +249,7 @@ } else { notify(msg); } - } + } return ( <Button onClick={clickTop} -- Gitblit v1.9.1