skyouc
2025-04-09 6c5edf41ef56af07e6e3baa25f77759ecaf8f68c
任务列表界面优化
7个文件已修改
5个文件已删除
1015 ■■■■ 已修改文件
rsf-admin/src/page/ResourceContent.js 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/asnOrderLog/AsnOrderLogEdit.jsx 222 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/asnOrderLog/AsnOrderLogList.jsx 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/task/TaskEdit.jsx 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/taskItemLog/TaskItemLogCreate.jsx 216 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/taskItemLog/TaskItemLogEdit.jsx 188 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/taskItemLog/TaskItemLogList.jsx 172 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/taskItemLog/TaskItemLogPanel.jsx 147 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/taskItemLog/index.jsx 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/taskLog/TaskItemLogList.jsx 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/AsnOrderItemLog.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/TaskItemLog.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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 {
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: ' 正常' },
                                    { 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 />
        </>
    )
}
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
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 />
        </>
    )
}
rsf-admin/src/page/taskItemLog/TaskItemLogCreate.jsx
File was deleted
rsf-admin/src/page/taskItemLog/TaskItemLogEdit.jsx
File was deleted
rsf-admin/src/page/taskItemLog/TaskItemLogList.jsx
File was deleted
rsf-admin/src/page/taskItemLog/TaskItemLogPanel.jsx
File was deleted
rsf-admin/src/page/taskItemLog/index.jsx
File was deleted
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} />
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;
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
     */