log.tsx 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. import { useAjax } from '@/Hook/useAjax';
  2. import { getProjectLogListApi } from '@/pages/weComTask/API/businessPlan/create';
  3. import { Drawer, Spin, Tabs } from 'antd';
  4. import React, { useEffect, useState } from 'react';
  5. import WelcomeTask from './components/welcomeTask';
  6. import ExternalUserTransferTask from './components/externalUserTransferTask';
  7. import GroupTask from './components/groupTask';
  8. import HighGroupTask from './components/highGroupTask';
  9. interface Props {
  10. data: any,
  11. bookPlatForm: TASK_CREATE.BookPlatFormProps[]
  12. bookList: TASK_CREATE.BookListProps[]
  13. corpList: TASK_CREATE.CorpListProps[]
  14. visible?: boolean,
  15. onClose?: () => void,
  16. }
  17. export const DispatchTaskDetails = React.createContext<TASK_CREATE.DispatchTaskDetails | null>(null);
  18. /**
  19. * 任务日志
  20. * @param param0
  21. * @returns
  22. */
  23. const Log: React.FC<Props> = ({ data, bookPlatForm, bookList, corpList, visible, onClose }) => {
  24. /******************************************************/
  25. const [previewData, setPreviewData] = useState<{ welcomeMsgTemplateVO?: any, groupSendTaskVOList?: any[], externalUserTransferTasksVOList?: any[] }>({})
  26. const getProjectLogList = useAjax((params) => getProjectLogListApi(params))
  27. /******************************************************/
  28. useEffect(() => {
  29. console.log(data.id)
  30. getProjectLogList.run(data.id).then(res => {
  31. if (res?.data) {
  32. setPreviewData(res.data)
  33. }
  34. })
  35. }, [])
  36. return <Drawer
  37. title={<strong>{data.projectName} 任务详情</strong>}
  38. onClose={onClose}
  39. open={visible}
  40. width={1200}
  41. styles={{ body: { paddingTop: 5 } }}
  42. >
  43. <Spin spinning={getProjectLogList.loading}>
  44. <DispatchTaskDetails.Provider
  45. value={{ bookPlatForm, bookList, corpList }}
  46. >
  47. <Tabs
  48. items={Object.keys(previewData).filter(key => key === 'welcomeMsgTemplateVO' ? previewData[key] : previewData[key]?.length).map(key => ({
  49. key: key,
  50. label: { 'externalUserTransferTasksVOList': '客户继承', 'groupSendTaskVOList': '客户群发', 'welcomeMsgTemplateVO': '欢迎语', 'messageSendTaskVOS': '高级群发' }[key],
  51. children: key === 'externalUserTransferTasksVOList' ? <>
  52. <ExternalUserTransferTask externalUserTransferTasksVOList={previewData[key]} />
  53. </> : key === 'groupSendTaskVOList' ? <>
  54. <GroupTask groupSendTaskVOList={previewData[key]} />
  55. </> : key === 'welcomeMsgTemplateVO' ? <>
  56. <WelcomeTask welcomeMsgTemplateVO={previewData[key]} />
  57. </> : key === 'messageSendTaskVOS' ? <>
  58. <HighGroupTask groupSendTaskVOList={previewData[key]} />
  59. </> : undefined
  60. }))}
  61. />
  62. </DispatchTaskDetails.Provider>
  63. </Spin>
  64. </Drawer>
  65. };
  66. export default Log;