From d107c1cca034fb6cdde077656fa1776d09a4442f Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期三, 02 四月 2025 14:24:52 +0800 Subject: [PATCH] no message --- rsf-admin/src/page/task/TaskList.jsx | 137 +++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 124 insertions(+), 13 deletions(-) diff --git a/rsf-admin/src/page/task/TaskList.jsx b/rsf-admin/src/page/task/TaskList.jsx index 5cd8e66..64b1462 100644 --- a/rsf-admin/src/page/task/TaskList.jsx +++ b/rsf-admin/src/page/task/TaskList.jsx @@ -31,6 +31,7 @@ ReferenceArrayInput, AutocompleteInput, DeleteButton, + Button, } from 'react-admin'; import { Box, Typography, Card, Stack } from '@mui/material'; import { styled } from '@mui/material/styles'; @@ -39,6 +40,10 @@ import EmptyData from "../components/EmptyData"; import MyCreateButton from "../components/MyCreateButton"; import MyExportButton from '../components/MyExportButton'; +import SwapVertIcon from '@mui/icons-material/SwapVert'; +import AlignVerticalTopIcon from '@mui/icons-material/AlignVerticalTop'; +import TaskAltIcon from '@mui/icons-material/TaskAlt'; +import CancelIcon from '@mui/icons-material/Cancel'; import PageDrawer from "../components/PageDrawer"; import MyField from "../components/MyField"; import { PAGE_DRAWER_WIDTH, OPERATE_MODE, DEFAULT_PAGE_SIZE } from '@/config/setting'; @@ -62,7 +67,6 @@ <SearchInput source="condition" alwaysOn />, <DateInput label='common.time.after' source="timeStart" alwaysOn />, <DateInput label='common.time.before' source="timeEnd" alwaysOn />, - <TextInput source="taskCode" label="table.field.task.taskCode" />, <NumberInput source="taskStatus" label="table.field.task.taskStatus" />, <NumberInput source="taskType" label="table.field.task.taskType" />, @@ -92,7 +96,6 @@ const TaskList = () => { const translate = useTranslate(); - const [createDialog, setCreateDialog] = useState(false); const [drawerVal, setDrawerVal] = useState(false); @@ -108,26 +111,33 @@ marginRight: !!drawerVal ? `${PAGE_DRAWER_WIDTH}px` : 0, }} title={"menu.task"} - empty={<EmptyData onClick={() => { setCreateDialog(true) }} />} + // empty={<EmptyData onClick={() => { setCreateDialog(true) }} />} filters={filters} sort={{ field: "create_time", order: "desc" }} actions={( <TopToolbar> <FilterButton /> - <MyCreateButton onClick={() => { setCreateDialog(true) }} /> + {/* <MyCreateButton onClick={() => { setCreateDialog(true) }} /> */} <SelectColumnsButton preferenceKey='task' /> - <MyExportButton /> + {/* <MyExportButton /> */} </TopToolbar> )} perPage={DEFAULT_PAGE_SIZE} > <StyledDatagrid preferenceKey='task' - bulkActionButtons={() => <BulkDeleteButton mutationMode={OPERATE_MODE} />} + // bulkActionButtons={() => <BulkDeleteButton mutationMode={OPERATE_MODE} />} + bulkActionButtons={ + <> + <BulkResortButton /> + <BulkCancelButton /> + <BulkDeleteButton mutationMode={OPERATE_MODE} /> + </> + } rowClick={(id, resource, record) => false} - expand={() => <TaskPanel />} - expandSingle={true} - omit={['id', 'createTime', 'createBy', 'memo']} + // expand={() => <TaskPanel />} + // expandSingle={true} + omit={['id', 'createTime', 'createBy', 'memo', 'robotCode', 'exceStatus', 'expDesc', 'expCode', 'sort']} > <NumberField source="id" /> <TextField source="taskCode" label="table.field.task.taskCode" /> @@ -154,15 +164,17 @@ <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} /> + {/* <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 + {/* <TaskCreate open={createDialog} setOpen={setCreateDialog} - /> + /> */} <PageDrawer title='Task Detail' drawerVal={drawerVal} @@ -174,3 +186,102 @@ } export default TaskList; +/** + * 瀹屾垚鎿嶄綔 + * @returns + */ +const DoneButton = () => { + const record = useRecordContext(); + const clickComplete = () => { + completeTask([record]) + }; + //瀹屾垚浠诲姟 + const completeTask = async (row) => { } + return ( + <Button + onClick={clickComplete} + label="toolbar.complete"> + <TaskAltIcon /> + </Button> + ) +} + +/** + * 鍙栨秷鎸夐挳 + * @returns + */ +const CancelButton = () => { + const record = useRecordContext(); + const clickCancel = () => { + cancleTask([record]) + }; + //鍙栨秷浠诲姟 + const cancleTask = async (row) => {} + return ( + <Button + onClick={clickCancel} + label="toolbar.cancel"> + <CancelIcon /> + </Button> + ) +} +/** + * 缃《鎿嶄綔 + * @returns + */ +const SetTopButton = () => { + const record = useRecordContext(); + const clickTop = () => { + topTask([record]) + }; + //缃《浠诲姟 + const topTask = async (row) => { } + return ( + <Button + onClick={clickTop} + label="toolbar.top"> + <AlignVerticalTopIcon /> + </Button> + ) +} + +/** + * 鎵归噺鍙栨秷 + * @returns + */ +const BulkCancelButton = () => { + const record = useRecordContext(); + const clickCancel = () => { + cancleTask([record]) + }; + //鍙栨秷浠诲姟 + const cancleTask = async (row) => {} + return ( + <Button + onClick={clickCancel} + label="toolbar.cancel"> + <CancelIcon /> + </Button> + ) +} + +/** + * 鎵归噺鎺掑簭 + * @returns + */ +const BulkResortButton = () => { + const record = useRecordContext(); + const bulkResort = () => { + resortTask([record]) + }; + //鎵归噺鎺掑簭 + const resortTask = async (row) => { } + return ( + <Button + onClick={bulkResort} + label="toolbar.resort"> + <SwapVertIcon /> + </Button> + ) + +} \ No newline at end of file -- Gitblit v1.9.1