| | |
| | | import { useEffect, useState } from 'react'; |
| | | import { DragDropContext } from '@hello-pangea/dnd'; |
| | | import { Box } from '@mui/material'; |
| | | import isEqual from 'lodash/isEqual'; |
| | | import { useEffect, useState } from 'react'; |
| | | import { useDataProvider, useListContext } from 'react-admin'; |
| | | |
| | | import { |
| | | useDataProvider, |
| | | useListContext, |
| | | useNotify, |
| | | useRefresh, |
| | | useTranslate, |
| | | } from 'react-admin'; |
| | | import { MissionColumn } from './MissionColumn'; |
| | | import request from '@/utils/request'; |
| | | |
| | | export const MissionListContent = () => { |
| | | const translate = useTranslate(); |
| | | const notify = useNotify(); |
| | | const refresh = useRefresh(); |
| | | const { data, isPending, refetch } = useListContext(); |
| | | const dataProvider = useDataProvider(); |
| | | |
| | | const [stages, setStages] = useState([]); |
| | | |
| | | // const [dealsByStage, setDealsByStage] = useState( |
| | | // getDealsByStage([], dealStages) |
| | | // ); |
| | | |
| | | useEffect(() => { |
| | | const httpStages = async () => { |
| | | request.post('/mission/posType/list').then(res => { |
| | | const { code, msg, data } = res.data; |
| | | if (code === 200) { |
| | | setStages(data); |
| | | } else { |
| | | notify(msg || 'common.response.fail', { type: 'error', messageArgs: { _: msg } }); |
| | | } |
| | | }).catch(error => { |
| | | notify(error.message || 'common.response.fail', { type: 'error', messageArgs: { _: error.message } }); |
| | | }) |
| | | } |
| | | httpStages(); |
| | | }, []); |
| | | |
| | | useEffect(() => { |
| | | // if (data) { |
| | |
| | | // }); |
| | | }; |
| | | |
| | | const columns = ['a', 'b'] |
| | | |
| | | return ( |
| | | <DragDropContext onDragEnd={onDragEnd}> |
| | | <Box display="flex"> |
| | | {columns.map(column => ( |
| | | {stages.map(stage => ( |
| | | <MissionColumn |
| | | stage={column} |
| | | missions={data} |
| | | key={column} |
| | | key={stage} |
| | | stage={stage} |
| | | missions={data.filter(item => item.posType === stage)} |
| | | /> |
| | | ))} |
| | | </Box> |