skyouc
2025-04-10 7baf8317e993d80db17bf3d80d88eadb94c1a06a
收货历史单据优化
1个文件已添加
177 ■■■■■ 已修改文件
rsf-admin/src/page/asnOrderLog/AsnOrderItemLogList.jsx 177 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/asnOrderLog/AsnOrderItemLogList.jsx
New file
@@ -0,0 +1,177 @@
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,
    useGetRecordId,
} from 'react-admin';
import { Box, Typography, Card, Stack } from '@mui/material';
import { styled } from '@mui/material/styles';
import EmptyData from "../components/EmptyData";
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 />,
    <NumberInput source="asnId" label="table.field.asnOrderItemLog.asnId" />,
    <TextInput source="asnCode" label="table.field.asnOrderItemLog.asnCode" />,
    <TextInput source="platItemId" label="table.field.asnOrderItemLog.platItemId" />,
    <NumberInput source="poDetlId" label="table.field.asnOrderItemLog.poDetlId" />,
    <TextInput source="poCode" label="table.field.asnOrderItemLog.poCode" />,
    <TextInput source="fieldsIndex" label="table.field.asnOrderItemLog.fieldsIndex" />,
    <TextInput source="matnrId" label="table.field.asnOrderItemLog.matnrId" />,
    <TextInput source="matnrCode" label="table.field.asnOrderItemLog.matnrCode" />,
    <TextInput source="maktx" label="table.field.asnOrderItemLog.maktx" />,
    <NumberInput source="anfme" label="table.field.asnOrderItemLog.anfme" />,
    <TextInput source="stockUnit" label="table.field.asnOrderItemLog.stockUnit" />,
    <NumberInput source="purQty" label="table.field.asnOrderItemLog.purQty" />,
    <TextInput source="purUnit" label="table.field.asnOrderItemLog.purUnit" />,
    <NumberInput source="qty" label="table.field.asnOrderItemLog.qty" />,
    <TextInput source="splrCode" label="table.field.asnOrderItemLog.splrCode" />,
    <TextInput source="splrBatch" label="table.field.asnOrderItemLog.splrBatch" />,
    <TextInput source="splrName" label="table.field.asnOrderItemLog.splrName" />,
    <TextInput source="qrcode" label="table.field.asnOrderItemLog.qrcode" />,
    <TextInput source="trackCode" label="table.field.asnOrderItemLog.trackCode" />,
    <TextInput source="barcode" label="table.field.asnOrderItemLog.barcode" />,
    <TextInput source="packName" label="table.field.asnOrderItemLog.packName" />,
    <SelectInput source="ntyStatus" label="table.field.asnOrderItemLog.ntyStatus"
        choices={[
            { id: 0, name: ' 未上报' },
            { id: 1, name: ' 已上报' },
        ]}
    />,
    <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 AsnOrderItemLogList = () => {
    const translate = useTranslate();
    const [createDialog, setCreateDialog] = useState(false);
    const [drawerVal, setDrawerVal] = useState(false);
    const recodeId = useGetRecordId();
    return (
        <Box display="flex">
            <List
                resource="asnOrderItemLog"
                sx={{
                    flexGrow: 1,
                    transition: (theme) =>
                        theme.transitions.create(['all'], {
                            duration: theme.transitions.duration.enteringScreen,
                        }),
                    marginRight: drawerVal ? `${PAGE_DRAWER_WIDTH}px` : 0,
                }}
                title={"menu.asnOrderItemLog"}
                empty={false}
                filters={filters}
                filter={{ logId: recodeId }}
                sort={{ field: "create_time", order: "desc" }}
                actions={(
                    <TopToolbar>
                        <FilterButton />
                        <SelectColumnsButton preferenceKey='asnOrderItemLog' />
                        <MyExportButton />
                    </TopToolbar>
                )}
                perPage={DEFAULT_PAGE_SIZE}
            >
                <StyledDatagrid
                    preferenceKey='asnOrderItemLog'
                    bulkActionButtons={false}
                    rowClick={(id, resource, record) => false}
                    omit={['id', 'asnId', 'poDetlId', 'poCode', 'qrcode', 'packName', 'createTime', 'memo', 'fieldsIndex', 'matnrId', 'splrCode', 'status', 'createBy$']}
                >
                    <NumberField source="id" />
                    <NumberField source="asnId" label="table.field.asnOrderItemLog.asnId" />
                    <TextField source="asnCode" label="table.field.asnOrderItemLog.asnCode" />
                    <TextField source="platItemId" label="table.field.asnOrderItemLog.platItemId" />
                    <NumberField source="poDetlId" label="table.field.asnOrderItemLog.poDetlId" />
                    <TextField source="poCode" label="table.field.asnOrderItemLog.poCode" />
                    <TextField source="fieldsIndex" label="table.field.asnOrderItemLog.fieldsIndex" />
                    <TextField source="matnrId" label="table.field.asnOrderItemLog.matnrId" />
                    <TextField source="matnrCode" label="table.field.asnOrderItemLog.matnrCode" />
                    <TextField source="maktx" label="table.field.asnOrderItemLog.maktx" />
                    <NumberField source="anfme" label="table.field.asnOrderItemLog.anfme" />
                    <NumberField source="purQty" label="table.field.asnOrderItemLog.purQty" />
                    <TextField source="purUnit" label="table.field.asnOrderItemLog.purUnit" />
                    <NumberField source="qty" label="table.field.asnOrderItemLog.qty" />
                    <TextField source="splrCode" label="table.field.asnOrderItemLog.splrCode" />
                    <TextField source="splrBatch" label="table.field.asnOrderItemLog.splrBatch" />
                    <TextField source="splrName" label="table.field.asnOrderItemLog.splrName" />
                    <TextField source="qrcode" label="table.field.asnOrderItemLog.qrcode" />
                    <TextField source="trackCode" label="table.field.asnOrderItemLog.trackCode" />
                    <TextField source="packName" label="table.field.asnOrderItemLog.packName" />
                    <TextField source="ntyStatus$" label="table.field.asnOrderItemLog.ntyStatus" sortable={false} />
                    <TextField source="updateBy$" label="common.field.updateBy" />
                    <TextField source="createBy$" label="common.field.createBy" />
                    <DateField source="createTime" label="common.field.createTime" showTime />
                    <TextField source="memo" label="common.field.memo" sortable={false} />
                </StyledDatagrid>
            </List>
            <PageDrawer
                title='AsnOrderItemLog Detail'
                drawerVal={drawerVal}
                setDrawerVal={setDrawerVal}
            >
            </PageDrawer>
        </Box>
    )
}
export default AsnOrderItemLogList;