|
@@ -1,11 +1,11 @@
|
|
|
import { useAjax } from "@/Hook/useAjax"
|
|
|
import Tables from "@/components/Tables"
|
|
|
import { getGameListNewApi } from "@/services/gameData"
|
|
|
-import { getSendMsgTaskListApi } from "@/services/gameData/roleOperate"
|
|
|
+import { getSendLogListApi, getSendMsgTaskListApi } from "@/services/gameData/roleOperate"
|
|
|
import { SyncOutlined } from "@ant-design/icons"
|
|
|
import { Button, Modal, Select, Space, message } from "antd"
|
|
|
import React, { useEffect, useState } from "react"
|
|
|
-import { columnsMsgTask } from "./tableConfig"
|
|
|
+import { columnsMsgTask, columnsMsgTaskLog } from "./tableConfig"
|
|
|
|
|
|
interface Props {
|
|
|
sourceSystem?: string
|
|
@@ -21,9 +21,14 @@ const TaskList: React.FC<Props> = ({ sourceSystem }) => {
|
|
|
const [gameList, setGameList] = useState<any[]>([])
|
|
|
const [gameId, setGameId] = useState<number>()
|
|
|
const [queryForm, setQueryForm] = useState<{ pageNum: number, pageSize: number }>({ pageNum: 1, pageSize: 20 })
|
|
|
+ const [queryFormLog, setQueryFormLog] = useState<{ pageNum: number, pageSize: number }>({ pageNum: 1, pageSize: 20 })
|
|
|
+ const [taskId, setTaskId] = useState<number>()
|
|
|
+ const [taskName, setTaskName] = useState<string>('')
|
|
|
+ const [visibleLog, setVisibleLog] = useState<boolean>(false)
|
|
|
|
|
|
const getGameListNew = useAjax((params) => getGameListNewApi(params))
|
|
|
const getSendMsgTaskList = useAjax((params) => getSendMsgTaskListApi(params))
|
|
|
+ const getSendLogList = useAjax((params) => getSendLogListApi(params))
|
|
|
/****************************/
|
|
|
|
|
|
useEffect(() => {
|
|
@@ -32,20 +37,31 @@ const TaskList: React.FC<Props> = ({ sourceSystem }) => {
|
|
|
}
|
|
|
}, [queryForm, gameId, visible])
|
|
|
|
|
|
+ useEffect(() => {
|
|
|
+ if (taskId && visibleLog) {
|
|
|
+ getSendLogList.run({ ...queryFormLog, taskId })
|
|
|
+ }
|
|
|
+ }, [taskId, visibleLog, queryFormLog])
|
|
|
+
|
|
|
const open = () => {
|
|
|
if (sourceSystem) {
|
|
|
setVisible(true)
|
|
|
getGameListNew.run({ sourceSystem }).then(res => {
|
|
|
- const { gameList } = res
|
|
|
- setGameList(gameList?.map((item: { id: any; game_name: any }) => ({ id: item.id, name: item.game_name })) || [])
|
|
|
- setGameId(gameList?.[0]?.id)
|
|
|
+ const { parentGameList } = res
|
|
|
+ setGameList(parentGameList?.map((item: { parent_game_id: any; parent_game_name: any }) => ({ id: item.parent_game_id, name: item.parent_game_name })) || [])
|
|
|
+ setGameId(parentGameList?.[0]?.parent_game_id)
|
|
|
})
|
|
|
} else {
|
|
|
message.error('请选择数据源')
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-
|
|
|
+ /** 发送记录按钮 */
|
|
|
+ const sendLog = (data: any) => {
|
|
|
+ setTaskName(data.taskName)
|
|
|
+ setTaskId(data.id)
|
|
|
+ setVisibleLog(true)
|
|
|
+ }
|
|
|
|
|
|
return <>
|
|
|
<Button type="primary" size="small" onClick={open}>消息推送任务列表</Button>
|
|
@@ -71,13 +87,13 @@ const TaskList: React.FC<Props> = ({ sourceSystem }) => {
|
|
|
visible={visible}
|
|
|
onCancel={() => setVisible(false)}
|
|
|
footer={null}
|
|
|
- width={1000}
|
|
|
+ width={900}
|
|
|
>
|
|
|
<Tables
|
|
|
bordered
|
|
|
current={queryForm.pageNum}
|
|
|
pageSize={queryForm.pageSize}
|
|
|
- columns={columnsMsgTask()}
|
|
|
+ columns={columnsMsgTask(sendLog)}
|
|
|
dataSource={getSendMsgTaskList?.data?.records}
|
|
|
scroll={{ x: 1000, y: 600 }}
|
|
|
onChange={(pagination: any, filters: any, sortData: any) => {
|
|
@@ -93,6 +109,41 @@ const TaskList: React.FC<Props> = ({ sourceSystem }) => {
|
|
|
defaultPageSize={20}
|
|
|
/>
|
|
|
</Modal>
|
|
|
+
|
|
|
+ {visibleLog && <Modal
|
|
|
+ title={<Space>
|
|
|
+ <strong>{taskName} 发送记录</strong>
|
|
|
+ <Button type="link" icon={<SyncOutlined />} onClick={() => getSendLogList.refresh()} loading={getSendLogList.loading} />
|
|
|
+ </Space>}
|
|
|
+ visible={visibleLog}
|
|
|
+ onCancel={() => {
|
|
|
+ setVisibleLog(false)
|
|
|
+ setTaskId(undefined)
|
|
|
+ setTaskName('')
|
|
|
+ }}
|
|
|
+ footer={null}
|
|
|
+ width={1000}
|
|
|
+ >
|
|
|
+ <Tables
|
|
|
+ bordered
|
|
|
+ current={queryFormLog.pageNum}
|
|
|
+ pageSize={queryFormLog.pageSize}
|
|
|
+ columns={columnsMsgTaskLog()}
|
|
|
+ dataSource={getSendLogList?.data?.records}
|
|
|
+ scroll={{ x: 1000, y: 600 }}
|
|
|
+ onChange={(pagination: any) => {
|
|
|
+ let { current, pageSize } = pagination
|
|
|
+ let newQueryForm = JSON.parse(JSON.stringify(queryFormLog))
|
|
|
+ newQueryForm.pageNum = current
|
|
|
+ newQueryForm.pageSize = pageSize
|
|
|
+ setQueryFormLog({ ...newQueryForm })
|
|
|
+ }}
|
|
|
+ size="small"
|
|
|
+ total={getSendLogList?.data?.total}
|
|
|
+ loading={getSendLogList?.loading}
|
|
|
+ defaultPageSize={20}
|
|
|
+ />
|
|
|
+ </Modal>}
|
|
|
</>
|
|
|
}
|
|
|
|