#
luxiaotao1123
2024-11-04 7f70cb15d035f0c233b9e62b9e43aa985317c908
zy-acs-flow/src/page/segment/SegmentList.jsx
@@ -33,7 +33,7 @@
    FunctionField,
    Count,
} from 'react-admin';
import { Box, Typography, Card, Stack, useMediaQuery, Tabs, Tab, Divider } from '@mui/material';
import { Box, Typography, Stack, useMediaQuery, Tabs, Tab, Divider } from '@mui/material';
import { styled } from '@mui/material/styles';
import SegmentPanel from "./SegmentPanel";
import EmptyData from "../components/EmptyData";
@@ -58,23 +58,24 @@
}));
const filters = [
    <SearchInput source="condition" alwaysOn />,
    // <SearchInput source="condition" alwaysOn />,
    <TextInput source="groupId" label="table.field.segment.groupId" alwaysOn/>,
    <ReferenceInput source="agvId" label="table.field.segment.agvId" reference="agv" alwaysOn>
        <AutocompleteInput label="table.field.segment.agvId" optionText="uuid" filterToQuery={(val) => ({ uuid: val })} />
    </ReferenceInput>,
    <ReferenceInput source="taskId" label="table.field.segment.taskId" reference="task" alwaysOn>
        <AutocompleteInput label="table.field.segment.taskId" optionText="seqNum" filterToQuery={(val) => ({ seqNum: val })} />
    </ReferenceInput>,
    <TextInput source="posType" label="table.field.segment.posType" alwaysOn resettable />,
    <DateInput label='common.time.after' source="timeStart" alwaysOn />,
    <DateInput label='common.time.before' source="timeEnd" alwaysOn />,
    <TextInput source="uuid" label="table.field.segment.uuid" />,
    <TextInput source="groupId" label="table.field.segment.groupId" />,
    <NumberInput source="travelId" label="table.field.segment.travelId" />,
    <ReferenceInput source="taskId" label="table.field.segment.taskId" reference="task">
        <AutocompleteInput label="table.field.segment.taskId" optionText="seqNum" filterToQuery={(val) => ({ seqNum: val })} />
    </ReferenceInput>,
    <ReferenceInput source="agvId" label="table.field.segment.agvId" reference="agv">
        <AutocompleteInput label="table.field.segment.agvId" optionText="uuid" filterToQuery={(val) => ({ uuid: val })} />
    </ReferenceInput>,
    <ReferenceInput source="endNode" label="table.field.segment.endNode" reference="code">
        <AutocompleteInput label="table.field.segment.endNode" optionText="data" filterToQuery={(val) => ({ data: val })} />
    </ReferenceInput>,
    <TextInput source="posType" label="table.field.segment.posType" />,
    <NumberInput source="backpack" label="table.field.segment.backpack" />,
    <TextInput label="common.field.memo" source="memo" />,
@@ -107,7 +108,7 @@
                title={"menu.segment"}
                empty={<EmptyData />}
                filters={filters}
                sort={{ field: "create_time", order: "desc" }}
                sort={{ field: "update_time", order: "desc" }}
                actions={(
                    <TopToolbar>
                        <FilterButton />
@@ -131,13 +132,14 @@
}
const tabs = [
    { id: 'INIT', name: 'INIT' },
    { id: 'WAITING', name: 'WAITING' },
    { id: 'RUNNING', name: 'RUNNING' },
    { id: 'FINISH', name: 'FINISH' },
    { id: 'INIT', name: 'page.segment.enums.state.init' },
    { id: 'WAITING', name: 'page.segment.enums.state.waiting' },
    { id: 'RUNNING', name: 'page.segment.enums.state.running' },
    { id: 'FINISH', name: 'page.segment.enums.state.finish' },
];
const TabbedDatagrid = () => {
    const translate = useTranslate();
    const { filterValues, setFilters, displayedFilters } = useListContext();
    const isXSmall = useMediaQuery(theme =>
        theme.breakpoints.down('sm')
@@ -165,15 +167,18 @@
                        key={item.id}
                        value={item.id}
                        label={
                            <span>
                                {item.name}
                            <span style={{ fontWeight: 'bold' }}>
                                <span >
                                    {translate(item.name)}
                                </span>
                                &nbsp;
                                (
                                <Count
                                    filter={{
                                        ...filterValues,
                                        state: item.name,
                                        state: item.id,
                                    }}
                                    sx={{ lineHeight: 'inherit', fontWeight: 'bold' }}
                                    sx={{ lineHeight: 'inherit' }}
                                />
                                )
                            </span>
@@ -194,11 +199,11 @@
                            <>
                                <StyledDatagrid
                                    preferenceKey='segment'
                                    bulkActionButtons={() => <BulkDeleteButton mutationMode={OPERATE_MODE} />}
                                    bulkActionButtons={false}
                                    rowClick={(id, resource, record) => false}
                                    expand={() => <SegmentPanel />}
                                    expandSingle={true}
                                    omit={['id', 'startNode', 'statusBool', 'updateBy', 'createTime', 'createBy', 'memo']}
                                    omit={['id', 'uuid', 'startNode', 'statusBool', 'updateBy', 'createTime', 'createBy', 'memo']}
                                >
                                    <NumberField source="id" />
                                    {/* <TextField source="segDesc" label="table.field.segment.segDesc" /> */}
@@ -207,20 +212,23 @@
                                    <ReferenceField source="travelId" label="table.field.segment.travelId" reference="travel" link={false} sortable={false}>
                                        <TextField source="uuid" />
                                    </ReferenceField>
                                    <ReferenceField source="taskId" label="table.field.segment.taskId" reference="task" link={false} sortable={false}>
                                        <TextField source="seqNum" />
                                    </ReferenceField>
                                    <ReferenceField source="agvId" label="table.field.segment.agvId" reference="agv" link={false} sortable={false}>
                                        <TextField source="uuid" />
                                    </ReferenceField>
                                    <NumberField source="serial" label="table.field.segment.serial" />
                                    <ReferenceField source="taskId" label="table.field.segment.taskId" reference="task" link={false} sortable={false}>
                                        <TextField source="seqNum" />
                                    </ReferenceField>
                                    <TextField source="posType" label="table.field.segment.posType" sortable={false} />
                                    <NumberField source="backpack" label="table.field.segment.backpack" sortable={false} />
                                    <ReferenceField source="endNode" label="table.field.segment.endNode" reference="code" link={false} sortable={false}>
                                        <TextField source="data" />
                                    </ReferenceField>
                                    <TextField source="posType" label="table.field.segment.posType" />
                                    <NumberField source="backpack" label="table.field.segment.backpack" />
                                    <TextField source="state" label="table.field.segment.state" />
                                    <FunctionField label="table.field.segment.state" cellClassName="state" render={record => (
                                        <>
                                            {translate(tabs.find(item => item.id === record.state)?.name)}
                                        </>
                                    )} />
                                    <NumberField source="serial" label="table.field.segment.serial" sortable={false} />
                                    <ReferenceField source="updateBy" label="common.field.updateBy" reference="user" link={false} sortable={false}>
                                        <TextField source="nickname" />
                                    </ReferenceField>