import React, { useEffect, useState } from "react" import { Tabs, Card, Badge } from "antd"; import { connect } from 'umi' import { dicFindUtils, DictBizType } from '@/utils/utils' import { dispatchHandle } from "@/utils/publicHandle"; import AllTasks from './AllTasks' import MyApply from './MyApply' import WaitApprovalByMe from './WaitApprovalByMe' import style from "./index.less" const { TabPane } = Tabs; const MainTask = (props) => { const { dispatch, dict: { dicTotalsList }, user: { currentUser }, maintaining: { waitApprovalByMeList, waitApprovalByMeListCount }, location: { query } } = props; const [activeKey, setActiveKey] = useState('allTasks') const waitApprovalByMeListRequest = (payload = {}) => { dispatchHandle(// 待我审批列表 dispatch, 'maintaining/operation_service_m_curing_task_taskApprovaPageList_post', payload ) } useEffect(() => { dispatchHandle(// 登陆者 dispatch, 'user/account_service_user_myInfo_get', {} ) dispatchHandle( dispatch, 'maintaining/operation_service_m_curing_task_taskApprovaPageList_post_wait', { personalAuditState: 4 } ) waitApprovalByMeListRequest() if (query?.tab) { setActiveKey('approvalByMe') } }, []) const tabChange = (activeKey) => { setActiveKey(activeKey) } const maintainTypeList = dicFindUtils(dicTotalsList, DictBizType.maintainType); // 养护类型 return <Card> <Tabs activeKey={activeKey} onChange={tabChange}> <TabPane tab="全部任务" key="allTasks"> <AllTasks maintainTypeList={maintainTypeList} query={query} /> </TabPane> <TabPane tab="我的申请" key="applyByMe"> <MyApply maintainTypeList={maintainTypeList} pathKey="applyByMe" /> </TabPane> <TabPane tab={ <Badge className={style.count} count={(waitApprovalByMeListCount && waitApprovalByMeListCount.length && waitApprovalByMeListCount.length > 0 && waitApprovalByMeListCount.length) || 0} offset={[23, 8]} showZero={true} > 待我审批 </Badge> } key="approvalByMe"> <WaitApprovalByMe maintainTypeList={maintainTypeList} waitRequestAction={waitApprovalByMeListRequest} pathKey="approvalByMe" /> </TabPane> </Tabs> </Card> } export default connect(({ user, dict, maintaining }) => ({ user, dict, maintaining }))(MainTask)