| | |
| | | useNotify, |
| | | useRefresh, |
| | | } from 'react-admin'; |
| | | import { Box, Chip, Card, Stack } from '@mui/material'; |
| | | import { Box, Chip, Card, Stack, LinearProgress } from '@mui/material'; |
| | | import { styled } from '@mui/material/styles'; |
| | | import TaskCreate from "./TaskCreate"; |
| | | import TaskPanel from "./TaskPanel"; |
| | |
| | | width: 200 |
| | | }, |
| | | })); |
| | | |
| | | const UPLINK_STATUS_CHOICES = [ |
| | | { id: 'NONE', name: 'page.task.enums.uplinkSts.NONE', color: 'default' }, |
| | | { id: 'PENDING', name: 'page.task.enums.uplinkSts.PENDING', color: 'warning' }, |
| | | { id: 'SENDING', name: 'page.task.enums.uplinkSts.SENDING', color: 'info' }, |
| | | { id: 'SUCCESS', name: 'page.task.enums.uplinkSts.SUCCESS', color: 'success' }, |
| | | { id: 'FAILED', name: 'page.task.enums.uplinkSts.FAILED', color: 'error' }, |
| | | { id: 'SKIPPED', name: 'page.task.enums.uplinkSts.SKIPPED', color: 'secondary' }, |
| | | ]; |
| | | |
| | | const UPLINK_STATUS_MAP = UPLINK_STATUS_CHOICES.reduce((acc, item) => { |
| | | acc[item.id] = item; |
| | | return acc; |
| | | }, {}); |
| | | |
| | | const filters = [ |
| | | // <SearchInput source="condition" alwaysOn />, |
| | |
| | | <AutocompleteInput label="table.field.task.destCode" optionText="data" filterToQuery={(val) => ({ data: val })} /> |
| | | </ReferenceInput>, |
| | | <TextInput source="emptyMk" label="table.field.task.emptyMk" />, |
| | | <SelectInput source="uplinkSts" label="table.field.task.uplinkSts" choices={UPLINK_STATUS_CHOICES} />, |
| | | <TextInput source="zpallet" label="table.field.task.zpallet" />, |
| | | // <TextInput source="phase" label="table.field.task.phase" />, |
| | | <TextInput source="errDesc" label="table.field.task.errDesc" />, |
| | |
| | | ]} |
| | | />, |
| | | ] |
| | | |
| | | // const TaskListContent = () => { |
| | | // return ( |
| | | // <Box sx={{ position: 'relative' }}> |
| | | // {isLoading && ( |
| | | // <LinearProgress |
| | | // sx={{ |
| | | // height: "2px", |
| | | // position: 'absolute', |
| | | // top: 0, |
| | | // left: 0, |
| | | // right: 0, |
| | | // }} |
| | | // /> |
| | | // )} |
| | | |
| | | // } |
| | | |
| | | |
| | | const TaskList = () => { |
| | | const translate = useTranslate(); |
| | |
| | | <TextField source="oriDesc" label="table.field.task.oriDesc" sortable={false} /> |
| | | <TextField source="destDesc" label="table.field.task.destDesc" sortable={false} /> |
| | | <NumberField source="priority" label="table.field.task.priority" sortable={false} /> |
| | | <FunctionField |
| | | label="table.field.task.uplinkSts" |
| | | sortable={false} |
| | | render={record => { |
| | | const meta = UPLINK_STATUS_MAP[record?.uplinkSts]; |
| | | return ( |
| | | <Chip |
| | | label={meta?.name ? translate(meta.name) : translate('common.enums.na')} |
| | | variant="outlined" |
| | | size="small" |
| | | color={meta?.color ?? 'default'} |
| | | sx={{ fontSize: '0.75rem' }} |
| | | /> |
| | | ); |
| | | }} |
| | | /> |
| | | <TextField source="emptyMk" label="table.field.task.emptyMk" sortable={false} /> |
| | | <TextField source="zpallet" label="table.field.task.zpallet" sortable={false} /> |
| | | <TextField source="errDesc" label="table.field.task.errDesc" sortable={false} /> |