From 2bf88e36a2fa93d7818dd2984414c3b5d43aea2a Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期三, 09 四月 2025 12:49:32 +0800 Subject: [PATCH] #修改 1. 任务档列表样式修改 2. 任务档Edit样式修改 --- rsf-admin/src/page/task/TaskList.jsx | 14 +- rsf-admin/src/page/task/TaskEdit.jsx | 238 +++++++++++++++++----------------------------- rsf-admin/src/page/taskItem/TaskItemList.jsx | 8 + rsf-admin/src/page/purchase/PurchaseList.jsx | 2 4 files changed, 104 insertions(+), 158 deletions(-) diff --git a/rsf-admin/src/page/purchase/PurchaseList.jsx b/rsf-admin/src/page/purchase/PurchaseList.jsx index adc1921..ffdb648 100644 --- a/rsf-admin/src/page/purchase/PurchaseList.jsx +++ b/rsf-admin/src/page/purchase/PurchaseList.jsx @@ -123,7 +123,7 @@ <StyledDatagrid preferenceKey='purchase' bulkActionButtons={() => <BulkDeleteButton mutationMode={OPERATE_MODE} />} - rowClick={(id, resource, record) => false} + rowClick={'edit'} expand={() => <PurchasePanel />} expandSingle={true} omit={['id', 'createTime', 'createBy', 'memo']} diff --git a/rsf-admin/src/page/task/TaskEdit.jsx b/rsf-admin/src/page/task/TaskEdit.jsx index ab88ff1..bca87b3 100644 --- a/rsf-admin/src/page/task/TaskEdit.jsx +++ b/rsf-admin/src/page/task/TaskEdit.jsx @@ -2,180 +2,120 @@ 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 { useWatch, useFormContext, useForm } from "react-hook-form"; +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 TaskItemList from "./TaskItemList"; const FormToolbar = () => { const { getValues } = useFormContext(); - return ( - <Toolbar sx={{ justifyContent: 'space-between' }}> + <Toolbar sx={{ justifyContent: 'end' }}> <SaveButton /> - <DeleteButton mutationMode="optimistic" /> + {/* <DeleteButton mutationMode="optimistic" /> */} </Toolbar> ) } const TaskEdit = () => { 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.task.taskCode" - source="taskCode" - parse={v => v} - autoFocus - /> - </Stack> - <Stack direction='row' gap={2}> - <NumberInput - label="table.field.task.taskStatus" - source="taskStatus" - /> - </Stack> - <Stack direction='row' gap={2}> - <NumberInput - label="table.field.task.taskType" - source="taskType" - /> - </Stack> - <Stack direction='row' gap={2}> - <TextInput - label="table.field.task.orgLoc" - source="orgLoc" - parse={v => v} - /> - </Stack> - <Stack direction='row' gap={2}> - <TextInput - label="table.field.task.orgSite" - source="orgSite" - parse={v => v} - /> - </Stack> - <Stack direction='row' gap={2}> - <TextInput - label="table.field.task.targLoc" - source="targLoc" - parse={v => v} - /> - </Stack> - <Stack direction='row' gap={2}> - <TextInput - label="table.field.task.targSite" - source="targSite" - parse={v => v} - /> - </Stack> - <Stack direction='row' gap={2}> - <TextInput - label="table.field.task.barcode" - source="barcode" - parse={v => v} - /> - </Stack> - <Stack direction='row' gap={2}> - <TextInput - label="table.field.task.robotCode" - source="robotCode" - parse={v => v} - /> - </Stack> - <Stack direction='row' gap={2}> - <NumberInput - label="table.field.task.exceStatus" - source="exceStatus" - /> - </Stack> - <Stack direction='row' gap={2}> - <TextInput - label="table.field.task.expDesc" - source="expDesc" - parse={v => v} - /> - </Stack> - <Stack direction='row' gap={2}> - <NumberInput - label="table.field.task.sort" - source="sort" - /> - </Stack> - <Stack direction='row' gap={2}> - <TextInput - label="table.field.task.expCode" - source="expCode" - parse={v => v} - /> - </Stack> - <Stack direction='row' gap={2}> - <DateInput - label="table.field.task.startTime" - source="startTime" - /> - </Stack> - <Stack direction='row' gap={2}> - <DateInput - label="table.field.task.endTime" - source="endTime" - /> - </Stack> - + <SimpleForm + shouldUnregister + warnWhenUnsavedChanges + toolbar={<FormToolbar />} + mode="onTouched" + defaultValues={{}} + > + <Grid container width={{ xs: '100%', xl: '80%' }} rowSpacing={3} columnSpacing={3}> + <Grid item xs={24} md={16}> + <Typography variant="h6" gutterBottom> + {translate('common.edit.title.main')} + </Typography> + <Stack direction='row' gap={2}> + <TextInput + label="table.field.task.taskCode" + source="taskCode" + readOnly + parse={v => v} + autoFocus + /> + <TextInput + label="table.field.task.taskStatus" + readOnly + source="taskStatus$" + /> + <TextInput + label="table.field.task.taskType" + source="taskType$" + readOnly + /> + <TextInput + label="table.field.task.orgLoc" + source="orgLoc" + readOnly + parse={v => v} + /> + <TextInput + label="table.field.task.targLoc" + source="targLoc" + readOnly + parse={v => v} + /> + <TextInput + label="table.field.task.orgSite" + source="orgSite" + readOnly + parse={v => v} + /> + </Stack> + <Stack direction='row' gap={2}> + <TextInput + label="table.field.task.targSite" + source="targSite" + readOnly + parse={v => v} + /> + <TextInput + label="table.field.task.barcode" + source="barcode" + readOnly + parse={v => v} + /> + <NumberInput + label="table.field.task.sort" + source="sort" + /> + </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> + </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> - </SimpleForm> - </Edit > + </Card> + </> ) } diff --git a/rsf-admin/src/page/task/TaskList.jsx b/rsf-admin/src/page/task/TaskList.jsx index fc6657c..dc8eceb 100644 --- a/rsf-admin/src/page/task/TaskList.jsx +++ b/rsf-admin/src/page/task/TaskList.jsx @@ -37,7 +37,7 @@ 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"; @@ -63,7 +63,7 @@ '& .column-name': { }, '& .opt': { - width: 200 + width: 248 }, })); @@ -135,10 +135,10 @@ <BulkDeleteButton mutationMode={OPERATE_MODE} /> </> } - rowClick={false} - expand={() => <TaskPanel/>} + rowClick={'edit'} + expand={false} expandSingle={true} - omit={['id', 'createTime', 'createBy', 'memo', 'robotCode', 'exceStatus', 'expDesc', 'expCode', 'sort']} + omit={['id', 'createTime', 'createBy', 'memo', 'robotCode', 'exceStatus', 'expDesc', 'expCode', 'status', 'sort']} > <NumberField source="id" /> <TextField source="taskCode" label="table.field.task.taskCode" /> @@ -158,7 +158,7 @@ <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} /> + {/* <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"> <DoneButton sx={{ padding: '1px', fontSize: '.75rem' }} ></DoneButton> @@ -178,6 +178,8 @@ } export default TaskList; + + /** * 瀹屾垚鎿嶄綔 * @returns diff --git a/rsf-admin/src/page/taskItem/TaskItemList.jsx b/rsf-admin/src/page/taskItem/TaskItemList.jsx index d146e6d..e137031 100644 --- a/rsf-admin/src/page/taskItem/TaskItemList.jsx +++ b/rsf-admin/src/page/taskItem/TaskItemList.jsx @@ -38,6 +38,8 @@ import MyField from "../components/MyField"; import { PAGE_DRAWER_WIDTH, OPERATE_MODE, DEFAULT_PAGE_SIZE } from '@/config/setting'; import * as Common from '@/utils/common'; +import MyCreateButton from "../components/MyCreateButton"; +import TaskItemCreate from "../task/TaskItemCreate"; const StyledDatagrid = styled(DatagridConfigurable)(({ theme }) => ({ '& .css-1vooibu-MuiSvgIcon-root': { @@ -104,7 +106,7 @@ actions={( <TopToolbar> <FilterButton /> - {/* <MyCreateButton onClick={() => { setCreateDialog(true) }} /> */} + <MyCreateButton onClick={() => { setCreateDialog(true) }} /> <SelectColumnsButton preferenceKey='taskItem' /> {/* <MyExportButton /> */} </TopToolbar> @@ -132,7 +134,6 @@ <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> @@ -145,6 +146,9 @@ <TextField source="memo" label="common.field.memo" sortable={false} /> </StyledDatagrid> </List> + <TaskItemCreate + open={createDialog} + setOpen={setCreateDialog} /> <PageDrawer title='TaskItem Detail' drawerVal={drawerVal} -- Gitblit v1.9.1