From d458679502e679ff49446e2a69c9d4abbb5ecfd8 Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期二, 08 四月 2025 20:47:19 +0800 Subject: [PATCH] 任务档显示优化 --- rsf-admin/src/page/task/TaskList.jsx | 18 ++------ rsf-admin/src/page/task/TaskPanel.jsx | 93 +++++++++++----------------------------------- rsf-admin/src/page/task/index.jsx | 1 3 files changed, 27 insertions(+), 85 deletions(-) diff --git a/rsf-admin/src/page/task/TaskList.jsx b/rsf-admin/src/page/task/TaskList.jsx index 0df58a6..fc6657c 100644 --- a/rsf-admin/src/page/task/TaskList.jsx +++ b/rsf-admin/src/page/task/TaskList.jsx @@ -69,8 +69,8 @@ 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" />, @@ -121,16 +121,13 @@ 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 /> @@ -138,7 +135,7 @@ <BulkDeleteButton mutationMode={OPERATE_MODE} /> </> } - rowClick={(id, resource, record) => false} + rowClick={false} expand={() => <TaskPanel/>} expandSingle={true} omit={['id', 'createTime', 'createBy', 'memo', 'robotCode', 'exceStatus', 'expDesc', 'expCode', 'sort']} @@ -157,18 +154,13 @@ <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} /> <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> diff --git a/rsf-admin/src/page/task/TaskPanel.jsx b/rsf-admin/src/page/task/TaskPanel.jsx index bac8c60..a207d24 100644 --- a/rsf-admin/src/page/task/TaskPanel.jsx +++ b/rsf-admin/src/page/task/TaskPanel.jsx @@ -1,40 +1,15 @@ import React, { useState, useRef, useEffect, useMemo } from "react"; -import { Box, Card, CardContent, Grid, Typography, Tooltip, Pagination } from '@mui/material'; +import { Box } from '@mui/material'; import { List, DatagridConfigurable, - SearchInput, - TopToolbar, - SelectColumnsButton, - EditButton, - FilterButton, - CreateButton, - ExportButton, - BulkDeleteButton, - useDataProvider, - WrapperField, - useGetList, useRecordContext, useTranslate, - useNotify, - useListContext, - FunctionField, TextField, NumberField, DateField, BooleanField, ReferenceField, - TextInput, - DateTimeInput, - DateInput, - SelectInput, - NumberInput, - ReferenceInput, - ReferenceArrayInput, - AutocompleteInput, - DeleteButton, - useList, - ReferenceManyField, } from 'react-admin'; import { styled } from '@mui/material/styles'; import PageDrawer from "../components/PageDrawer"; @@ -55,54 +30,34 @@ }, })); -const filters = [ - <SearchInput source="condition" alwaysOn />, - <DateInput label='common.time.after' source="timeStart" />, - <DateInput label='common.time.before' source="timeEnd" />, - <NumberInput source="taskId" label="table.field.taskItem.taskId" />, - <NumberInput source="orderId" label="table.field.taskItem.orderId" />, - <NumberInput source="orderType" label="table.field.taskItem.orderType" />, - <NumberInput source="orderItemId" label="table.field.taskItem.orderItemId" />, - <NumberInput source="matnrId" label="table.field.taskItem.matnrId" />, - <TextInput source="maktx" label="table.field.taskItem.maktx" />, - <TextInput source="matnrCode" label="table.field.taskItem.matnrCode" />, - <TextInput source="unit" label="table.field.taskItem.unit" />, - <NumberInput source="anfme" label="table.field.taskItem.anfme" />, - <TextInput source="batch" label="table.field.taskItem.batch" />, - <TextInput source="spec" label="table.field.taskItem.spec" />, - <TextInput source="model" label="table.field.taskItem.model" />, - <TextInput label="common.field.memo" source="memo" />, - <SelectInput - label="common.field.status" - source="status" - choices={[ - { id: '1', name: 'common.enums.statusTrue' }, - { id: '0', name: 'common.enums.statusFalse' }, - ]} - resettable - />, -] - const TaskPanel = () => { + const record = useRecordContext(); const translate = useTranslate(); const [createDialog, setCreateDialog] = useState(false); const [drawerVal, setDrawerVal] = useState(false); - // const { data, isPending, error } = useGetList('taskItem', { pagination: { page: 1, perPage: 10 } }); - // const listContext = useList({ - // data, - // isPending, - // perPage: 10, - // sort: {field: 'create_time', order: 'DESC'} - // }) return ( <> <Box display="flex"> - <ReferenceManyField pagination={<Pagination />} reference="taskItem" target="task_id"> + <List resource="taskItem" + sx={{ + flexGrow: 1, + transition: (theme) => + theme.transitions.create(['all'], { + duration: theme.transitions.duration.enteringScreen, + }), + marginRight: !!drawerVal ? `${PAGE_DRAWER_WIDTH}px` : 0, + }} + filter={{ taskId: record.id }} + title={"menu.taskItem"} + pagination={false} + empty={false} + actions={false} + > <StyledDatagrid preferenceKey='taskItem' bulkActionButtons={false} - rowClick={(id, resource, record) => false} - expandSingle={true} + rowClick={false} + expandSingle omit={['id', 'createTime', 'createBy', 'memo', 'taskId', 'orderId', 'orderItemId', 'matnrId']} > <NumberField source="id" /> @@ -118,18 +73,14 @@ <TextField source="batch" label="table.field.taskItem.batch" /> <TextField source="spec" label="table.field.taskItem.spec" /> <TextField source="model" label="table.field.taskItem.model" /> - <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} /> <TextField source="memo" label="common.field.memo" sortable={false} /> </StyledDatagrid> - </ReferenceManyField> + </List> </Box> </> ); diff --git a/rsf-admin/src/page/task/index.jsx b/rsf-admin/src/page/task/index.jsx index 85c3ffe..1a48e09 100644 --- a/rsf-admin/src/page/task/index.jsx +++ b/rsf-admin/src/page/task/index.jsx @@ -9,7 +9,6 @@ import TaskEdit from "./TaskEdit"; export default { - list: TaskList, edit: TaskEdit, show: ShowGuesser, -- Gitblit v1.9.1