#
luxiaotao1123
2024-09-24 a7a2a9b8f1524831898501d11bbedc0c4a3da3a4
#
3个文件已修改
104 ■■■■ 已修改文件
zy-acs-flow/src/i18n/core/chineseMessages.js 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-flow/src/page/task/TaskList.jsx 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-flow/src/page/task/TaskListAside.jsx 69 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-flow/src/i18n/core/chineseMessages.js
@@ -171,15 +171,15 @@
            unique: 'Must be unique',
        },
        saved_queries: {
            label: 'Saved queries',
            label: '保存过滤',
            query_name: 'Query name',
            new_label: '保存过滤条件...',
            new_dialog_title: 'Save current query as',
            remove_label: '移除过滤条件',
            remove_label_with_name: 'Remove query "%{name}"',
            remove_dialog_title: 'Remove saved query?',
            remove_dialog_title: '移除过滤条件?',
            remove_message:
                'Are you sure you want to remove that item from your list of saved queries?',
                '您确定要移除已保存过滤条件吗?',
            help: 'Filter the list and save this query for later',
        },
        configurable: {
zy-acs-flow/src/page/task/TaskList.jsx
@@ -63,17 +63,17 @@
}));
const filters = [
    <SearchInput source="condition" alwaysOn />,
    // <SearchInput source="condition" alwaysOn />,
    <DateInput label='common.time.after' source="timeStart" alwaysOn />,
    <DateInput label='common.time.before' source="timeEnd" alwaysOn />,
    <TextInput source="uuid" label="table.field.task.uuid" />,
    // <TextInput source="uuid" label="table.field.task.uuid" />,
    <ReferenceInput source="busId" label="table.field.task.busId" reference="bus">
        <AutocompleteInput label="table.field.task.busId" optionText="seqNum" filterToQuery={(val) => ({ seqNum: val })} />
    </ReferenceInput>,
    <TextInput source="seqNum" label="table.field.task.seqNum" />,
    <NumberInput source="priority" label="table.field.task.priority" />,
    <TextInput source="name" label="table.field.task.name" />,
    // <TextInput source="name" label="table.field.task.name" />,
    <ReferenceInput source="taskSts" label="table.field.task.taskSts" reference="taskSts">
        <AutocompleteInput label="table.field.task.taskSts" optionText="name" filterToQuery={(val) => ({ name: val })} />
    </ReferenceInput>,
@@ -83,23 +83,23 @@
    <ReferenceInput source="agvId" label="table.field.task.agvId" reference="agv">
        <AutocompleteInput label="table.field.task.agvId" optionText="uuid" filterToQuery={(val) => ({ uuid: val })} />
    </ReferenceInput>,
    <DateInput source="ioTime" label="table.field.task.ioTime" />,
    <DateInput source="startTime" label="table.field.task.startTime" />,
    <DateInput source="endTime" label="table.field.task.endTime" />,
    <DateInput source="errTime" label="table.field.task.errTime" />,
    <ReferenceInput source="oriSta" label="table.field.task.oriSta" reference="sta">
    // <DateInput source="ioTime" label="table.field.task.ioTime" />,
    // <DateInput source="startTime" label="table.field.task.startTime" />,
    // <DateInput source="endTime" label="table.field.task.endTime" />,
    // <DateInput source="errTime" label="table.field.task.errTime" />,
    <ReferenceInput source="oriSta" label="table.field.task.oriSta" reference="sta" alwaysOn>
        <AutocompleteInput label="table.field.task.oriSta" optionText="staNo" filterToQuery={(val) => ({ staNo: val })} />
    </ReferenceInput>,
    <ReferenceInput source="oriLoc" label="table.field.task.oriLoc" reference="loc">
    <ReferenceInput source="oriLoc" label="table.field.task.oriLoc" reference="loc" alwaysOn>
        <AutocompleteInput label="table.field.task.oriLoc" optionText="locNo" filterToQuery={(val) => ({ locNo: val })} />
    </ReferenceInput>,
    <ReferenceInput source="oriCode" label="table.field.task.oriCode" reference="code">
        <AutocompleteInput label="table.field.task.oriCode" optionText="data" filterToQuery={(val) => ({ data: val })} />
    </ReferenceInput>,
    <ReferenceInput source="destSta" label="table.field.task.destSta" reference="sta">
    <ReferenceInput source="destSta" label="table.field.task.destSta" reference="sta" alwaysOn>
        <AutocompleteInput label="table.field.task.destSta" optionText="staNo" filterToQuery={(val) => ({ staNo: val })} />
    </ReferenceInput>,
    <ReferenceInput source="destLoc" label="table.field.task.destLoc" reference="loc">
    <ReferenceInput source="destLoc" label="table.field.task.destLoc" reference="loc" alwaysOn>
        <AutocompleteInput label="table.field.task.destLoc" optionText="locNo" filterToQuery={(val) => ({ locNo: val })} />
    </ReferenceInput>,
    <ReferenceInput source="destCode" label="table.field.task.destCode" reference="code">
@@ -107,7 +107,7 @@
    </ReferenceInput>,
    <TextInput source="emptyMk" label="table.field.task.emptyMk" />,
    <TextInput source="zpallet" label="table.field.task.zpallet" />,
    <TextInput source="phase" label="table.field.task.phase" />,
    // <TextInput source="phase" label="table.field.task.phase" />,
    <TextInput source="errDesc" label="table.field.task.errDesc" />,
    <TextInput label="common.field.memo" source="memo" />,
@@ -155,11 +155,12 @@
            >
                <StyledDatagrid
                    preferenceKey='task'
                    bulkActionButtons={() => <BulkDeleteButton mutationMode={OPERATE_MODE} />}
                    bulkActionButtons={false}
                    rowClick={(id, resource, record) => false}
                    expand={() => <TaskPanel />}
                    expandSingle={true}
                    omit={['id', 'uuid', 'startTime', 'endTime', 'errTime', 'emptyMk', 'zpallet',
                        'oriSta', 'oriLoc', 'oriCode', 'destSta', 'destLoc', 'destCode',
                        'updateTime', 'updateBy', 'createTime', 'createBy', 'statusBool', 'memo']}
                >
                    <NumberField source="id" />
@@ -201,6 +202,8 @@
                    <ReferenceField source="destCode" label="table.field.task.destCode" reference="code" link={false} sortable={false}>
                        <TextField source="data" />
                    </ReferenceField>
                    <TextField source="oriDesc" label="table.field.task.oriDesc" />
                    <TextField source="destDesc" label="table.field.task.destDesc" />
                    <TextField source="emptyMk" label="table.field.task.emptyMk" />
                    <TextField source="zpallet" label="table.field.task.zpallet" />
                    <TextField source="errDesc" label="table.field.task.errDesc" />
zy-acs-flow/src/page/task/TaskListAside.jsx
@@ -6,12 +6,13 @@
    FilterListItem,
    useTheme,
    useStore,
    useTranslate,
} from 'react-admin';
import { Box, Typography, Card, CardContent } from '@mui/material';
import * as Common from '@/utils/common';
import WcIcon from '@mui/icons-material/Wc';
import BookmarkIcon from '@mui/icons-material/BookmarkBorder';
import StyleIcon from '@mui/icons-material/Style';
import RunningWithErrorsIcon from '@mui/icons-material/RunningWithErrors';
import TypeSpecimenIcon from '@mui/icons-material/TypeSpecimen';
import AccessTimeIcon from '@mui/icons-material/AccessTime';
import {
    endOfYesterday,
@@ -24,32 +25,22 @@
const TaskListAside = (props) => {
    const theme = useTheme();
    const [roles, setRoles] = React.useState([]);
    const translate = useTranslate();
    const [taskStsList, setTaskStsList] = React.useState([]);
    const [taskTypeList, setTaskTypeList] = React.useState([]);
    React.useEffect(() => {
        request.post('/role/list', {}).then(res => {
        request.post('/taskSts/list', {}).then(res => {
            if (res?.data?.code === 200) {
                setRoles(res.data.data);
                setTaskStsList(res.data.data);
            }
        })
        request.post('/taskType/list', {}).then(res => {
            if (res?.data?.code === 200) {
                setTaskTypeList(res.data.data);
            }
        })
    }, [])
    const isSelected = (value, filters) => {
        const roleIds = filters.roleIds || [];
        return roleIds.includes(value.roleId);
    };
    const toggleFilter = (value, filters) => {
        const roleIds = filters.roleIds || [];
        return {
            ...filters,
            roleIds: roleIds.includes(value.roleId)
                ? roleIds.filter(v => v !== value.roleId)
                // : [...roleIds, value.roleId],
                : [value.roleId],
        };
    };
    return (
        <Card
@@ -60,12 +51,12 @@
                mt: 8,
                alignSelf: 'flex-start',
                border: theme[0] === 'light' && '1px solid #e0e0e3',
                // width: 200
                width: 255
            }}
        >
            <CardContent>
                <SavedQueriesList icon={<BookmarkIcon />} />
                <FilterLiveSearch source='condition' hiddenLabel />
                <FilterLiveSearch label={translate("table.field.task.seqNum")} source='seqNum' hiddenLabel />
                <FilterList
                    label="filters.lastCreated"
@@ -115,21 +106,25 @@
                    />
                </FilterList>
                <FilterList label="table.field.user.sex" icon={<WcIcon />}>
                    <FilterListItem label="table.field.user.sexes.female" value={{ sex: '2' }} />
                    <FilterListItem label="table.field.user.sexes.male" value={{ sex: '1' }} />
                    <FilterListItem label="table.field.user.sexes.unknown" value={{ sex: '0' }} />
                </FilterList>
                <FilterList label="table.field.user.role" icon={<StyleIcon />}>
                    {roles.map(role => {
                <FilterList label="table.field.task.taskSts" icon={<RunningWithErrorsIcon />}>
                    {taskStsList.map(taskSts => {
                        return (
                            <FilterListItem
                                key={role.id}
                                label={`${role.name}`}
                                value={{ roleId: role.id }}
                                isSelected={isSelected}
                                toggleFilter={toggleFilter}
                                key={taskSts.id}
                                label={`${taskSts.name}`}
                                value={{ taskSts: taskSts.id }}
                            />
                        )
                    })}
                </FilterList>
                <FilterList label="table.field.task.taskType" icon={<TypeSpecimenIcon />}>
                    {taskTypeList.map(taskType => {
                        return (
                            <FilterListItem
                                key={taskType.id}
                                label={`${taskType.name}`}
                                value={{ taskType: taskType.id }}
                            />
                        )
                    })}