From 6c5edf41ef56af07e6e3baa25f77759ecaf8f68c Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期三, 09 四月 2025 15:41:50 +0800 Subject: [PATCH] 任务列表界面优化 --- /dev/null | 18 --- rsf-admin/src/page/asnOrderLog/AsnOrderLogList.jsx | 11 - rsf-admin/src/page/task/TaskEdit.jsx | 14 +- rsf-admin/src/page/taskLog/TaskItemLogList.jsx | 10 + rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/AsnOrderItemLog.java | 2 rsf-admin/src/page/asnOrderLog/AsnOrderLogEdit.jsx | 222 ++++++++++++++++++++------------------------ rsf-admin/src/page/ResourceContent.js | 12 +- rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/TaskItemLog.java | 3 8 files changed, 128 insertions(+), 164 deletions(-) diff --git a/rsf-admin/src/page/ResourceContent.js b/rsf-admin/src/page/ResourceContent.js index 3b244fe..ed01cd9 100644 --- a/rsf-admin/src/page/ResourceContent.js +++ b/rsf-admin/src/page/ResourceContent.js @@ -45,11 +45,11 @@ import waitPakinLog from './waitPakinLog'; import waitPakinItemLog from './waitPakinItemLog'; import asnOrderLog from './asnOrderLog'; -import asnOrderItemLog from './asnOrderItemLog'; +// import asnOrderItemLog from './asnOrderItemLog'; import task from './task'; // import taskItem from './taskItem'; import taskLog from './taskLog'; -import taskItemLog from './taskItemLog'; +// import taskItemLog from './taskItemLog'; const ResourceContent = (node) => { @@ -110,8 +110,8 @@ return asnOrderItem; case 'asnOrderLog': return asnOrderLog; - case 'asnOrderItemLog': - return asnOrderItemLog; + // case 'asnOrderItemLog': + // return asnOrderItemLog; case 'purchaseItem': return purchaseItem; case 'purchase': @@ -144,8 +144,8 @@ // return taskItem; case 'taskLog': return taskLog; - case 'taskItemLog': - return taskItemLog; + // case 'taskItemLog': + // return taskItemLog; default: return { diff --git a/rsf-admin/src/page/asnOrderLog/AsnOrderLogEdit.jsx b/rsf-admin/src/page/asnOrderLog/AsnOrderLogEdit.jsx index 2e044bd..a1c2e7c 100644 --- a/rsf-admin/src/page/asnOrderLog/AsnOrderLogEdit.jsx +++ b/rsf-admin/src/page/asnOrderLog/AsnOrderLogEdit.jsx @@ -21,21 +21,20 @@ DeleteButton, } from 'react-admin'; import { useWatch, useFormContext } from "react-hook-form"; -import { Stack, Grid, Box, Typography } from '@mui/material'; +import { Stack, Grid, Box, Typography, Card } from '@mui/material'; import * as Common from '@/utils/common'; import { EDIT_MODE, REFERENCE_INPUT_PAGESIZE } from '@/config/setting'; import EditBaseAside from "../components/EditBaseAside"; import CustomerTopToolBar from "../components/EditTopToolBar"; import MemoInput from "../components/MemoInput"; import StatusSelectInput from "../components/StatusSelectInput"; - +import AsnOrderItemLogList from "./AsnOrderItemLogList" const FormToolbar = () => { const { getValues } = useFormContext(); return ( - <Toolbar sx={{ justifyContent: 'space-between' }}> + <Toolbar sx={{ justifyContent: 'end' }}> <SaveButton /> - <DeleteButton mutationMode="optimistic" /> </Toolbar> ) } @@ -44,125 +43,106 @@ const translate = useTranslate(); return ( - <Edit - redirect="list" - mutationMode={EDIT_MODE} - actions={<CustomerTopToolBar />} - aside={<EditBaseAside />} - > - <SimpleForm - shouldUnregister - warnWhenUnsavedChanges - toolbar={<FormToolbar />} - mode="onTouched" - defaultValues={{}} - // validate={(values) => { }} + <> + <Edit + redirect="list" + mutationMode={EDIT_MODE} + actions={<CustomerTopToolBar />} + aside={<EditBaseAside />} > - <Grid container width={{ xs: '100%', xl: '80%' }} rowSpacing={3} columnSpacing={3}> - <Grid item xs={12} md={8}> - <Typography variant="h6" gutterBottom> - {translate('common.edit.title.main')} - </Typography> - <Stack direction='row' gap={2}> - <TextInput - label="table.field.asnOrderLog.code" - source="code" - parse={v => v} - autoFocus - /> - </Stack> - <Stack direction='row' gap={2}> - <TextInput - label="table.field.asnOrderLog.poCode" - source="poCode" - parse={v => v} - /> - </Stack> - <Stack direction='row' gap={2}> - <NumberInput - label="table.field.asnOrderLog.poId" - source="poId" - /> - </Stack> - <Stack direction='row' gap={2}> - <TextInput - label="table.field.asnOrderLog.type" - source="type" - parse={v => v} - validate={required()} - /> - </Stack> - <Stack direction='row' gap={2}> - <TextInput - label="table.field.asnOrderLog.wkType" - source="wkType" - parse={v => v} - validate={required()} - /> - </Stack> - <Stack direction='row' gap={2}> - <NumberInput - label="table.field.asnOrderLog.anfme" - source="anfme" - validate={required()} - /> - </Stack> - <Stack direction='row' gap={2}> - <NumberInput - label="table.field.asnOrderLog.qty" - source="qty" - validate={required()} - /> - </Stack> - <Stack direction='row' gap={2}> - <TextInput - label="table.field.asnOrderLog.logisNo" - source="logisNo" - parse={v => v} - /> - </Stack> - <Stack direction='row' gap={2}> - <DateInput - label="table.field.asnOrderLog.arrTime" - source="arrTime" - /> - </Stack> - <Stack direction='row' gap={2}> - <SelectInput - label="table.field.asnOrderLog.rleStatus" - source="rleStatus" - choices={[ - { id: 0, name: ' 姝e父' }, - { id: 1, name: ' 宸查噴鏀�' }, - ]} - validate={required()} - /> - </Stack> - <Stack direction='row' gap={2}> - <SelectInput - label="table.field.asnOrderLog.ntyStatus" - source="ntyStatus" - choices={[ - { id: 0, name: ' 鏈笂鎶�' }, - { id: 1, name: ' 宸蹭笂鎶�' }, - { id: 2, name: ' 閮ㄥ垎涓婃姤' }, - ]} - validate={required()} - /> - </Stack> - + <SimpleForm + shouldUnregister + warnWhenUnsavedChanges + toolbar={<FormToolbar />} + mode="onTouched" + defaultValues={{}} + // validate={(values) => { }} + > + <Grid container width={{ xs: '100%', xl: '80%' }} rowSpacing={3} columnSpacing={3}> + <Grid item xs={24} md={12}> + <Typography variant="h6" gutterBottom> + {translate('common.edit.title.main')} + </Typography> + <Stack direction='row' gap={2}> + <TextInput + label="table.field.asnOrderLog.code" + source="code" + parse={v => v} + readOnly + /> + <TextInput + label="table.field.asnOrderLog.poCode" + source="poCode" + readOnly + parse={v => v} + /> + <NumberInput + label="table.field.asnOrderLog.poId" + readOnly + source="poId" + /> + <TextInput + label="table.field.asnOrderLog.type" + source="type" + readOnly + parse={v => v} + validate={required()} + /> + <TextInput + label="table.field.asnOrderLog.wkType" + source="wkType" + readOnly + parse={v => v} + validate={required()} + /> + </Stack> + <Stack direction='row' gap={2}> + <NumberInput + label="table.field.asnOrderLog.anfme" + source="anfme" + readOnly + validate={required()} + /> + <NumberInput + label="table.field.asnOrderLog.qty" + source="qty" + readOnly + validate={required()} + /> + <TextInput + label="table.field.asnOrderLog.logisNo" + source="logisNo" + readOnly + parse={v => v} + /> + <DateInput + label="table.field.asnOrderLog.arrTime" + readOnly + source="arrTime" + /> + <SelectInput + label="table.field.asnOrderLog.ntyStatus" + source="ntyStatus" + readOnly + choices={[ + { id: 0, name: ' 鏈笂鎶�' }, + { id: 1, name: ' 宸蹭笂鎶�' }, + { id: 2, name: ' 閮ㄥ垎涓婃姤' }, + ]} + validate={required()} + /> + </Stack> + </Grid> </Grid> - <Grid item xs={12} md={4}> - <Typography variant="h6" gutterBottom> - {translate('common.edit.title.common')} - </Typography> - <StatusSelectInput /> - <Box mt="2em" /> - <MemoInput /> - </Grid> - </Grid> - </SimpleForm> - </Edit > + </SimpleForm> + </Edit > + <Grid item xs={24} md={16} sx={{ marginTop: '1em' }}> + <Typography variant="h6" gutterBottom > + {translate('common.edit.title.common')} + </Typography> + </Grid> + <AsnOrderItemLogList /> + </> ) } diff --git a/rsf-admin/src/page/asnOrderLog/AsnOrderLogList.jsx b/rsf-admin/src/page/asnOrderLog/AsnOrderLogList.jsx index a4e8f60..29c4a09 100644 --- a/rsf-admin/src/page/asnOrderLog/AsnOrderLogList.jsx +++ b/rsf-admin/src/page/asnOrderLog/AsnOrderLogList.jsx @@ -98,7 +98,6 @@ const AsnOrderLogList = () => { const translate = useTranslate(); - const [createDialog, setCreateDialog] = useState(false); const [drawerVal, setDrawerVal] = useState(false); @@ -120,7 +119,7 @@ actions={( <TopToolbar> <FilterButton /> - <MyCreateButton onClick={() => { setCreateDialog(true) }} /> + {/* <MyCreateButton onClick={() => { setCreateDialog(true) }} /> */} <SelectColumnsButton preferenceKey='asnOrderLog' /> <MyExportButton /> </TopToolbar> @@ -130,8 +129,8 @@ <StyledDatagrid preferenceKey='asnOrderLog' bulkActionButtons={() => <BulkDeleteButton mutationMode={OPERATE_MODE} />} - rowClick={(id, resource, record) => false} - expand={() => <AsnOrderLogPanel />} + rowClick={'edit'} + expand={false} expandSingle={true} omit={['id', 'createTime', 'createBy', 'memo']} > @@ -158,10 +157,6 @@ <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> </StyledDatagrid> </List> <AsnOrderLogCreate diff --git a/rsf-admin/src/page/task/TaskEdit.jsx b/rsf-admin/src/page/task/TaskEdit.jsx index bca87b3..166b846 100644 --- a/rsf-admin/src/page/task/TaskEdit.jsx +++ b/rsf-admin/src/page/task/TaskEdit.jsx @@ -107,14 +107,12 @@ </Grid> </SimpleForm> </Edit > - <Card sx={{ marginTop: '1em', }}> - <Grid item xs={24} md={16} sx={{ margin: '1em' }}> - <Typography variant="h6" gutterBottom > - {translate('common.edit.title.common')} - </Typography> - <TaskItemList /> - </Grid> - </Card> + <Grid item xs={24} md={16} sx={{ margin: '1em', height: 'auto' }}> + <Typography variant="h6" gutterBottom > + {translate('common.edit.title.common')} + </Typography> + </Grid> + <TaskItemList /> </> ) } diff --git a/rsf-admin/src/page/taskItemLog/TaskItemLogCreate.jsx b/rsf-admin/src/page/taskItemLog/TaskItemLogCreate.jsx deleted file mode 100644 index 29f89f7..0000000 --- a/rsf-admin/src/page/taskItemLog/TaskItemLogCreate.jsx +++ /dev/null @@ -1,216 +0,0 @@ -import React, { useState, useRef, useEffect, useMemo } from "react"; -import { - CreateBase, - useTranslate, - TextInput, - NumberInput, - BooleanInput, - DateInput, - SaveButton, - SelectInput, - ReferenceInput, - ReferenceArrayInput, - AutocompleteInput, - Toolbar, - required, - useDataProvider, - useNotify, - Form, - useCreateController, -} from 'react-admin'; -import { - Dialog, - DialogActions, - DialogContent, - DialogTitle, - Stack, - Grid, - Box, -} from '@mui/material'; -import DialogCloseButton from "../components/DialogCloseButton"; -import StatusSelectInput from "../components/StatusSelectInput"; -import MemoInput from "../components/MemoInput"; - -const TaskItemLogCreate = (props) => { - const { open, setOpen } = props; - - const translate = useTranslate(); - const notify = useNotify(); - - const handleClose = (event, reason) => { - if (reason !== "backdropClick") { - setOpen(false); - } - }; - - const handleSuccess = async (data) => { - setOpen(false); - notify('common.response.success'); - }; - - const handleError = async (error) => { - notify(error.message || 'common.response.fail', { type: 'error', messageArgs: { _: error.message } }); - }; - - return ( - <> - <CreateBase - record={{}} - transform={(data) => { - return data; - }} - mutationOptions={{ onSuccess: handleSuccess, onError: handleError }} - > - <Dialog - open={open} - onClose={handleClose} - aria-labelledby="form-dialog-title" - fullWidth - disableRestoreFocus - maxWidth="md" // 'xs' | 'sm' | 'md' | 'lg' | 'xl' - > - <Form> - <DialogTitle id="form-dialog-title" sx={{ - position: 'sticky', - top: 0, - backgroundColor: 'background.paper', - zIndex: 1000 - }} - > - {translate('create.title')} - <Box sx={{ position: 'absolute', top: 8, right: 8, zIndex: 1001 }}> - <DialogCloseButton onClose={handleClose} /> - </Box> - </DialogTitle> - <DialogContent sx={{ mt: 2 }}> - <Grid container rowSpacing={2} columnSpacing={2}> - <Grid item xs={6} display="flex" gap={1}> - <NumberInput - label="table.field.taskItemLog.taskItemId" - source="taskItemId" - autoFocus - /> - </Grid> - <Grid item xs={6} display="flex" gap={1}> - <NumberInput - label="table.field.taskItemLog.taskId" - source="taskId" - /> - </Grid> - <Grid item xs={6} display="flex" gap={1}> - <NumberInput - label="table.field.taskItemLog.orderId" - source="orderId" - /> - </Grid> - <Grid item xs={6} display="flex" gap={1}> - <TextInput - label="table.field.taskItemLog.orderType" - source="orderType" - parse={v => v} - /> - </Grid> - <Grid item xs={6} display="flex" gap={1}> - <NumberInput - label="table.field.taskItemLog.orderItemId" - source="orderItemId" - /> - </Grid> - <Grid item xs={6} display="flex" gap={1}> - <NumberInput - label="table.field.taskItemLog.source" - source="source" - /> - </Grid> - <Grid item xs={6} display="flex" gap={1}> - <NumberInput - label="table.field.taskItemLog.matnrId" - source="matnrId" - /> - </Grid> - <Grid item xs={6} display="flex" gap={1}> - <TextInput - label="table.field.taskItemLog.maktx" - source="maktx" - parse={v => v} - /> - </Grid> - <Grid item xs={6} display="flex" gap={1}> - <TextInput - label="table.field.taskItemLog.matnrCode" - source="matnrCode" - parse={v => v} - /> - </Grid> - <Grid item xs={6} display="flex" gap={1}> - <TextInput - label="table.field.taskItemLog.trackCode" - source="trackCode" - parse={v => v} - /> - </Grid> - <Grid item xs={6} display="flex" gap={1}> - <TextInput - label="table.field.taskItemLog.unit" - source="unit" - parse={v => v} - /> - </Grid> - <Grid item xs={6} display="flex" gap={1}> - <NumberInput - label="table.field.taskItemLog.anfme" - source="anfme" - /> - </Grid> - <Grid item xs={6} display="flex" gap={1}> - <TextInput - label="table.field.taskItemLog.batch" - source="batch" - parse={v => v} - /> - </Grid> - <Grid item xs={6} display="flex" gap={1}> - <TextInput - label="table.field.taskItemLog.spec" - source="spec" - parse={v => v} - /> - </Grid> - <Grid item xs={6} display="flex" gap={1}> - <TextInput - label="table.field.taskItemLog.model" - source="model" - parse={v => v} - /> - </Grid> - <Grid item xs={6} display="flex" gap={1}> - <TextInput - label="table.field.taskItemLog.fieldsIndex" - source="fieldsIndex" - parse={v => v} - /> - </Grid> - - <Grid item xs={6} display="flex" gap={1}> - <StatusSelectInput /> - </Grid> - <Grid item xs={12} display="flex" gap={1}> - <Stack direction="column" spacing={1} width={'100%'}> - <MemoInput /> - </Stack> - </Grid> - </Grid> - </DialogContent> - <DialogActions sx={{ position: 'sticky', bottom: 0, backgroundColor: 'background.paper', zIndex: 1000 }}> - <Toolbar sx={{ width: '100%', justifyContent: 'space-between' }} > - <SaveButton /> - </Toolbar> - </DialogActions> - </Form> - </Dialog> - </CreateBase> - </> - ) -} - -export default TaskItemLogCreate; diff --git a/rsf-admin/src/page/taskItemLog/TaskItemLogEdit.jsx b/rsf-admin/src/page/taskItemLog/TaskItemLogEdit.jsx deleted file mode 100644 index 229ce32..0000000 --- a/rsf-admin/src/page/taskItemLog/TaskItemLogEdit.jsx +++ /dev/null @@ -1,188 +0,0 @@ -import React, { useState, useRef, useEffect, useMemo } from "react"; -import { - Edit, - SimpleForm, - FormDataConsumer, - useTranslate, - TextInput, - NumberInput, - BooleanInput, - DateInput, - SelectInput, - ReferenceInput, - ReferenceArrayInput, - AutocompleteInput, - SaveButton, - Toolbar, - Labeled, - NumberField, - required, - useRecordContext, - DeleteButton, -} from 'react-admin'; -import { useWatch, useFormContext } from "react-hook-form"; -import { Stack, Grid, Box, Typography } from '@mui/material'; -import * as Common from '@/utils/common'; -import { EDIT_MODE, REFERENCE_INPUT_PAGESIZE } from '@/config/setting'; -import EditBaseAside from "../components/EditBaseAside"; -import CustomerTopToolBar from "../components/EditTopToolBar"; -import MemoInput from "../components/MemoInput"; -import StatusSelectInput from "../components/StatusSelectInput"; - -const FormToolbar = () => { - const { getValues } = useFormContext(); - - return ( - <Toolbar sx={{ justifyContent: 'space-between' }}> - <SaveButton /> - <DeleteButton mutationMode="optimistic" /> - </Toolbar> - ) -} - -const TaskItemLogEdit = () => { - const translate = useTranslate(); - - return ( - <Edit - redirect="list" - mutationMode={EDIT_MODE} - actions={<CustomerTopToolBar />} - aside={<EditBaseAside />} - > - <SimpleForm - shouldUnregister - warnWhenUnsavedChanges - toolbar={<FormToolbar />} - mode="onTouched" - defaultValues={{}} - // validate={(values) => { }} - > - <Grid container width={{ xs: '100%', xl: '80%' }} rowSpacing={3} columnSpacing={3}> - <Grid item xs={12} md={8}> - <Typography variant="h6" gutterBottom> - {translate('common.edit.title.main')} - </Typography> - <Stack direction='row' gap={2}> - <NumberInput - label="table.field.taskItemLog.taskItemId" - source="taskItemId" - autoFocus - /> - </Stack> - <Stack direction='row' gap={2}> - <NumberInput - label="table.field.taskItemLog.taskId" - source="taskId" - /> - </Stack> - <Stack direction='row' gap={2}> - <NumberInput - label="table.field.taskItemLog.orderId" - source="orderId" - /> - </Stack> - <Stack direction='row' gap={2}> - <TextInput - label="table.field.taskItemLog.orderType" - source="orderType" - parse={v => v} - /> - </Stack> - <Stack direction='row' gap={2}> - <NumberInput - label="table.field.taskItemLog.orderItemId" - source="orderItemId" - /> - </Stack> - <Stack direction='row' gap={2}> - <NumberInput - label="table.field.taskItemLog.source" - source="source" - /> - </Stack> - <Stack direction='row' gap={2}> - <NumberInput - label="table.field.taskItemLog.matnrId" - source="matnrId" - /> - </Stack> - <Stack direction='row' gap={2}> - <TextInput - label="table.field.taskItemLog.maktx" - source="maktx" - parse={v => v} - /> - </Stack> - <Stack direction='row' gap={2}> - <TextInput - label="table.field.taskItemLog.matnrCode" - source="matnrCode" - parse={v => v} - /> - </Stack> - <Stack direction='row' gap={2}> - <TextInput - label="table.field.taskItemLog.trackCode" - source="trackCode" - parse={v => v} - /> - </Stack> - <Stack direction='row' gap={2}> - <TextInput - label="table.field.taskItemLog.unit" - source="unit" - parse={v => v} - /> - </Stack> - <Stack direction='row' gap={2}> - <NumberInput - label="table.field.taskItemLog.anfme" - source="anfme" - /> - </Stack> - <Stack direction='row' gap={2}> - <TextInput - label="table.field.taskItemLog.batch" - source="batch" - parse={v => v} - /> - </Stack> - <Stack direction='row' gap={2}> - <TextInput - label="table.field.taskItemLog.spec" - source="spec" - parse={v => v} - /> - </Stack> - <Stack direction='row' gap={2}> - <TextInput - label="table.field.taskItemLog.model" - source="model" - parse={v => v} - /> - </Stack> - <Stack direction='row' gap={2}> - <TextInput - label="table.field.taskItemLog.fieldsIndex" - source="fieldsIndex" - parse={v => v} - /> - </Stack> - - </Grid> - <Grid item xs={12} md={4}> - <Typography variant="h6" gutterBottom> - {translate('common.edit.title.common')} - </Typography> - <StatusSelectInput /> - <Box mt="2em" /> - <MemoInput /> - </Grid> - </Grid> - </SimpleForm> - </Edit > - ) -} - -export default TaskItemLogEdit; diff --git a/rsf-admin/src/page/taskItemLog/TaskItemLogList.jsx b/rsf-admin/src/page/taskItemLog/TaskItemLogList.jsx deleted file mode 100644 index 58c7f4f..0000000 --- a/rsf-admin/src/page/taskItemLog/TaskItemLogList.jsx +++ /dev/null @@ -1,172 +0,0 @@ -import React, { useState, useRef, useEffect, useMemo, useCallback } from "react"; -import { useNavigate } from 'react-router-dom'; -import { - List, - DatagridConfigurable, - SearchInput, - TopToolbar, - SelectColumnsButton, - EditButton, - FilterButton, - CreateButton, - ExportButton, - BulkDeleteButton, - WrapperField, - useRecordContext, - useTranslate, - useNotify, - useListContext, - FunctionField, - TextField, - NumberField, - DateField, - BooleanField, - ReferenceField, - TextInput, - DateTimeInput, - DateInput, - SelectInput, - NumberInput, - ReferenceInput, - ReferenceArrayInput, - AutocompleteInput, - DeleteButton, -} from 'react-admin'; -import { Box, Typography, Card, Stack } from '@mui/material'; -import { styled } from '@mui/material/styles'; -import TaskItemLogCreate from "./TaskItemLogCreate"; -import TaskItemLogPanel from "./TaskItemLogPanel"; -import EmptyData from "../components/EmptyData"; -import MyCreateButton from "../components/MyCreateButton"; -import MyExportButton from '../components/MyExportButton'; -import PageDrawer from "../components/PageDrawer"; -import MyField from "../components/MyField"; -import { PAGE_DRAWER_WIDTH, OPERATE_MODE, DEFAULT_PAGE_SIZE } from '@/config/setting'; -import * as Common from '@/utils/common'; - -const StyledDatagrid = styled(DatagridConfigurable)(({ theme }) => ({ - '& .css-1vooibu-MuiSvgIcon-root': { - height: '.9em' - }, - '& .RaDatagrid-row': { - cursor: 'auto' - }, - '& .column-name': { - }, - '& .opt': { - width: 200 - }, -})); - -const filters = [ - <SearchInput source="condition" alwaysOn />, - <DateInput label='common.time.after' source="timeStart" alwaysOn />, - <DateInput label='common.time.before' source="timeEnd" alwaysOn />, - - <NumberInput source="taskItemId" label="table.field.taskItemLog.taskItemId" />, - <NumberInput source="taskId" label="table.field.taskItemLog.taskId" />, - <NumberInput source="orderId" label="table.field.taskItemLog.orderId" />, - <TextInput source="orderType" label="table.field.taskItemLog.orderType" />, - <NumberInput source="orderItemId" label="table.field.taskItemLog.orderItemId" />, - <NumberInput source="source" label="table.field.taskItemLog.source" />, - <NumberInput source="matnrId" label="table.field.taskItemLog.matnrId" />, - <TextInput source="maktx" label="table.field.taskItemLog.maktx" />, - <TextInput source="matnrCode" label="table.field.taskItemLog.matnrCode" />, - <TextInput source="trackCode" label="table.field.taskItemLog.trackCode" />, - <TextInput source="unit" label="table.field.taskItemLog.unit" />, - <NumberInput source="anfme" label="table.field.taskItemLog.anfme" />, - <TextInput source="batch" label="table.field.taskItemLog.batch" />, - <TextInput source="spec" label="table.field.taskItemLog.spec" />, - <TextInput source="model" label="table.field.taskItemLog.model" />, - <TextInput source="fieldsIndex" label="table.field.taskItemLog.fieldsIndex" />, - - <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 TaskItemLogList = () => { - const translate = useTranslate(); - - const [createDialog, setCreateDialog] = useState(false); - const [drawerVal, setDrawerVal] = useState(false); - - return ( - <Box display="flex"> - <List - sx={{ - flexGrow: 1, - transition: (theme) => - theme.transitions.create(['all'], { - duration: theme.transitions.duration.enteringScreen, - }), - marginRight: !!drawerVal ? `${PAGE_DRAWER_WIDTH}px` : 0, - }} - title={"menu.taskItemLog"} - filters={filters} - empty={false} - sort={{ field: "create_time", order: "desc" }} - actions={( - <TopToolbar> - <FilterButton /> - <SelectColumnsButton preferenceKey='taskItemLog' /> - <MyExportButton /> - </TopToolbar> - )} - perPage={DEFAULT_PAGE_SIZE} - > - <StyledDatagrid - preferenceKey='taskItemLog' - bulkActionButtons={false} - rowClick={(id, resource, record) => false} - expandSingle={true} - omit={['id', 'createTime', 'createBy', 'memo', 'taskId', 'orderId', 'orderItemId', 'matnrId']} - > - <NumberField source="id" /> - <NumberField source="taskItemId" label="table.field.taskItemLog.taskItemId" /> - <NumberField source="taskId" label="table.field.taskItemLog.taskId" /> - <NumberField source="orderId" label="table.field.taskItemLog.orderId" /> - <TextField source="orderType" label="table.field.taskItemLog.orderType" /> - <NumberField source="orderItemId" label="table.field.taskItemLog.orderItemId" /> - <NumberField source="source" label="table.field.taskItemLog.source" /> - <NumberField source="matnrId" label="table.field.taskItemLog.matnrId" /> - <TextField source="maktx" label="table.field.taskItemLog.maktx" /> - <TextField source="matnrCode" label="table.field.taskItemLog.matnrCode" /> - <TextField source="trackCode" label="table.field.taskItemLog.trackCode" /> - <TextField source="unit" label="table.field.taskItemLog.unit" /> - <NumberField source="anfme" label="table.field.taskItemLog.anfme" /> - <TextField source="batch" label="table.field.taskItemLog.batch" /> - <TextField source="spec" label="table.field.taskItemLog.spec" /> - <TextField source="model" label="table.field.taskItemLog.model" /> - <TextField source="fieldsIndex" label="table.field.taskItemLog.fieldsIndex" /> - - <ReferenceField source="updateBy" label="common.field.updateBy" reference="user" link={false} sortable={false}> - <TextField source="nickname" /> - </ReferenceField> - <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> - </List> - <PageDrawer - title='TaskItemLog Detail' - drawerVal={drawerVal} - setDrawerVal={setDrawerVal} - > - </PageDrawer> - </Box> - ) -} - -export default TaskItemLogList; diff --git a/rsf-admin/src/page/taskItemLog/TaskItemLogPanel.jsx b/rsf-admin/src/page/taskItemLog/TaskItemLogPanel.jsx deleted file mode 100644 index 6f863f8..0000000 --- a/rsf-admin/src/page/taskItemLog/TaskItemLogPanel.jsx +++ /dev/null @@ -1,147 +0,0 @@ -import React, { useState, useRef, useEffect, useMemo } from "react"; -import { Box, Card, CardContent, Grid, Typography, Tooltip } from '@mui/material'; -import { - useTranslate, - useRecordContext, -} from 'react-admin'; -import PanelTypography from "../components/PanelTypography"; -import * as Common from '@/utils/common' - -const TaskItemLogPanel = () => { - const record = useRecordContext(); - if (!record) return null; - const translate = useTranslate(); - return ( - <> - <Card sx={{ width: { xs: 300, sm: 500, md: 600, lg: 800 }, margin: 'auto' }}> - <CardContent> - <Grid container spacing={2}> - <Grid item xs={12} sx={{ display: 'flex', justifyContent: 'space-between' }}> - <Typography variant="h6" gutterBottom align="left" sx={{ - maxWidth: { xs: '100px', sm: '180px', md: '260px', lg: '360px' }, - whiteSpace: 'nowrap', - overflow: 'hidden', - textOverflow: 'ellipsis', - }}> - {Common.camelToPascalWithSpaces(translate('table.field.taskItemLog.id'))}: {record.id} - </Typography> - {/* inherit, primary, secondary, textPrimary, textSecondary, error */} - <Typography variant="h6" gutterBottom align="right" > - ID: {record.id} - </Typography> - </Grid> - </Grid> - <Grid container spacing={2}> - <Grid item xs={12} container alignContent="flex-end"> - <Typography variant="caption" color="textSecondary" sx={{ wordWrap: 'break-word', wordBreak: 'break-all' }}> - {Common.camelToPascalWithSpaces(translate('common.field.memo'))}:{record.memo} - </Typography> - </Grid> - </Grid> - <Box height={20}> </Box> - <Grid container spacing={2}> - <Grid item xs={6}> - <PanelTypography - title="table.field.taskItemLog.taskItemId" - property={record.taskItemId} - /> - </Grid> - <Grid item xs={6}> - <PanelTypography - title="table.field.taskItemLog.taskId" - property={record.taskId} - /> - </Grid> - <Grid item xs={6}> - <PanelTypography - title="table.field.taskItemLog.orderId" - property={record.orderId} - /> - </Grid> - <Grid item xs={6}> - <PanelTypography - title="table.field.taskItemLog.orderType" - property={record.orderType} - /> - </Grid> - <Grid item xs={6}> - <PanelTypography - title="table.field.taskItemLog.orderItemId" - property={record.orderItemId} - /> - </Grid> - <Grid item xs={6}> - <PanelTypography - title="table.field.taskItemLog.source" - property={record.source} - /> - </Grid> - <Grid item xs={6}> - <PanelTypography - title="table.field.taskItemLog.matnrId" - property={record.matnrId} - /> - </Grid> - <Grid item xs={6}> - <PanelTypography - title="table.field.taskItemLog.maktx" - property={record.maktx} - /> - </Grid> - <Grid item xs={6}> - <PanelTypography - title="table.field.taskItemLog.matnrCode" - property={record.matnrCode} - /> - </Grid> - <Grid item xs={6}> - <PanelTypography - title="table.field.taskItemLog.trackCode" - property={record.trackCode} - /> - </Grid> - <Grid item xs={6}> - <PanelTypography - title="table.field.taskItemLog.unit" - property={record.unit} - /> - </Grid> - <Grid item xs={6}> - <PanelTypography - title="table.field.taskItemLog.anfme" - property={record.anfme} - /> - </Grid> - <Grid item xs={6}> - <PanelTypography - title="table.field.taskItemLog.batch" - property={record.batch} - /> - </Grid> - <Grid item xs={6}> - <PanelTypography - title="table.field.taskItemLog.spec" - property={record.spec} - /> - </Grid> - <Grid item xs={6}> - <PanelTypography - title="table.field.taskItemLog.model" - property={record.model} - /> - </Grid> - <Grid item xs={6}> - <PanelTypography - title="table.field.taskItemLog.fieldsIndex" - property={record.fieldsIndex} - /> - </Grid> - - </Grid> - </CardContent> - </Card > - </> - ); -}; - -export default TaskItemLogPanel; diff --git a/rsf-admin/src/page/taskItemLog/index.jsx b/rsf-admin/src/page/taskItemLog/index.jsx deleted file mode 100644 index 0208e30..0000000 --- a/rsf-admin/src/page/taskItemLog/index.jsx +++ /dev/null @@ -1,18 +0,0 @@ -import React, { useState, useRef, useEffect, useMemo } from "react"; -import { - ListGuesser, - EditGuesser, - ShowGuesser, -} from "react-admin"; - -import TaskItemLogList from "./TaskItemLogList"; -import TaskItemLogEdit from "./TaskItemLogEdit"; - -export default { - list: TaskItemLogList, - edit: TaskItemLogEdit, - show: ShowGuesser, - recordRepresentation: (record) => { - return `${record.id}` - } -}; diff --git a/rsf-admin/src/page/taskLog/TaskItemLogList.jsx b/rsf-admin/src/page/taskLog/TaskItemLogList.jsx index 72abff1..acf1ae7 100644 --- a/rsf-admin/src/page/taskLog/TaskItemLogList.jsx +++ b/rsf-admin/src/page/taskLog/TaskItemLogList.jsx @@ -31,6 +31,7 @@ ReferenceArrayInput, AutocompleteInput, DeleteButton, + useGetRecordId, } from 'react-admin'; import { Box, Typography, Card, Stack } from '@mui/material'; import { styled } from '@mui/material/styles'; @@ -88,13 +89,15 @@ const TaskItemLogList = () => { const translate = useTranslate(); - const [createDialog, setCreateDialog] = useState(false); const [drawerVal, setDrawerVal] = useState(false); + const recodeId = useGetRecordId(); + return ( <Box display="flex"> <List + resource="taskItemLog" sx={{ flexGrow: 1, transition: (theme) => @@ -106,6 +109,7 @@ title={"menu.taskItemLog"} filters={filters} empty={false} + filter={{logId: Number(recodeId) }} sort={{ field: "create_time", order: "desc" }} actions={( <TopToolbar> @@ -138,8 +142,8 @@ <TextField source="batch" label="table.field.taskItemLog.batch" /> <TextField source="spec" label="table.field.taskItemLog.spec" /> <TextField source="model" label="table.field.taskItemLog.model" /> - <TextField source="updateBy$" label="common.field.updateBy"/> - <TextField source="createBy$" label="common.field.createBy"/> + <TextField source="updateBy$" label="common.field.updateBy" /> + <TextField source="createBy$" label="common.field.createBy" /> <DateField source="updateTime" label="common.field.updateTime" showTime /> <DateField source="createTime" label="common.field.createTime" showTime /> <BooleanField source="statusBool" label="common.field.status" sortable={false} /> diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/AsnOrderItemLog.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/AsnOrderItemLog.java index 6522439..767d42d 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/AsnOrderItemLog.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/AsnOrderItemLog.java @@ -37,6 +37,8 @@ @TableId(value = "id", type = IdType.AUTO) private Long id; + @ApiModelProperty("涓诲崟ID") + private Long logId; @ApiModelProperty("Item ID") private Long asnItemId; diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/TaskItemLog.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/TaskItemLog.java index 498f156..18dc247 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/TaskItemLog.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/TaskItemLog.java @@ -37,6 +37,9 @@ @TableId(value = "id", type = IdType.AUTO) private Long id; + @ApiModelProperty("涓诲崟ID") + private Long logId; + /** * 涓诲崟ID */ -- Gitblit v1.9.1