|
@@ -240,8 +240,9 @@ const Details: React.FC<Props> = ({ data, bookPlatForm, bookList, visible, onClo
|
|
const ExpandedRow: React.FC<{ record: any }> = ({ record }) => {
|
|
const ExpandedRow: React.FC<{ record: any }> = ({ record }) => {
|
|
|
|
|
|
/*****************************************/
|
|
/*****************************************/
|
|
- const [detalisData, setDetalisData] = useState<{visible?: boolean, taskLogId?: number}>()
|
|
|
|
|
|
+ const [detalisData, setDetalisData] = useState<{ visible?: boolean, taskLogId?: number }>()
|
|
const [queryForm, setQueryForm] = useState<{ pageNum: number, pageSize: number }>({ pageNum: 1, pageSize: 20 })
|
|
const [queryForm, setQueryForm] = useState<{ pageNum: number, pageSize: number }>({ pageNum: 1, pageSize: 20 })
|
|
|
|
+ const [failedUserDetails, setFailedUserDetails] = useState<{ visible?: boolean, list: any[] }>({ visible: false, list: [] })
|
|
const getProjectTaskLogList = useAjax((params) => getProjectTaskLogListApi(params))
|
|
const getProjectTaskLogList = useAjax((params) => getProjectTaskLogListApi(params))
|
|
/*****************************************/
|
|
/*****************************************/
|
|
|
|
|
|
@@ -296,6 +297,21 @@ const ExpandedRow: React.FC<{ record: any }> = ({ record }) => {
|
|
key: 'pullSuccessUserCount',
|
|
key: 'pullSuccessUserCount',
|
|
width: 120
|
|
width: 120
|
|
},
|
|
},
|
|
|
|
+ {
|
|
|
|
+ title: '实际拉群数',
|
|
|
|
+ dataIndex: 'pullSuccessCount',
|
|
|
|
+ key: 'pullSuccessCount',
|
|
|
|
+ width: 120
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ title: '失败客户数',
|
|
|
|
+ dataIndex: 'pullFailedUserCount',
|
|
|
|
+ key: 'pullFailedUserCount',
|
|
|
|
+ width: 120,
|
|
|
|
+ render: (a, b) => {
|
|
|
|
+ return <a onClick={() => setFailedUserDetails({ visible: true, list: b?.pullFailedUserDetail || [] })}>{a}</a>
|
|
|
|
+ }
|
|
|
|
+ },
|
|
{
|
|
{
|
|
title: '执行时间',
|
|
title: '执行时间',
|
|
dataIndex: 'createTime',
|
|
dataIndex: 'createTime',
|
|
@@ -312,10 +328,16 @@ const ExpandedRow: React.FC<{ record: any }> = ({ record }) => {
|
|
/>
|
|
/>
|
|
|
|
|
|
{/* 详情 */}
|
|
{/* 详情 */}
|
|
- {detalisData?.visible && <TaskDetails
|
|
|
|
|
|
+ {detalisData?.visible && <TaskDetails
|
|
{...detalisData}
|
|
{...detalisData}
|
|
onClose={() => setDetalisData(undefined)}
|
|
onClose={() => setDetalisData(undefined)}
|
|
/>}
|
|
/>}
|
|
|
|
+
|
|
|
|
+ {/* 失败客户详情 */}
|
|
|
|
+ {failedUserDetails?.visible && <FailedUserDetails
|
|
|
|
+ {...failedUserDetails}
|
|
|
|
+ onClose={() => setFailedUserDetails({ visible: false, list: [] })}
|
|
|
|
+ />}
|
|
</div>
|
|
</div>
|
|
}
|
|
}
|
|
|
|
|
|
@@ -324,7 +346,7 @@ const TaskDetails: React.FC<{
|
|
visible?: boolean,
|
|
visible?: boolean,
|
|
taskLogId?: number,
|
|
taskLogId?: number,
|
|
onClose?: () => void
|
|
onClose?: () => void
|
|
-}> = ({visible, taskLogId, onClose}) => {
|
|
|
|
|
|
+}> = ({ visible, taskLogId, onClose }) => {
|
|
|
|
|
|
/*******************************************/
|
|
/*******************************************/
|
|
const getProjectLogDetailsList = useAjax((params) => getProjectLogDetailsListApi(params))
|
|
const getProjectLogDetailsList = useAjax((params) => getProjectLogDetailsListApi(params))
|
|
@@ -388,4 +410,73 @@ const TaskDetails: React.FC<{
|
|
</Modal>
|
|
</Modal>
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+
|
|
|
|
+const FailedUserDetails: React.FC<{
|
|
|
|
+ visible?: boolean,
|
|
|
|
+ list?: any[],
|
|
|
|
+ onClose?: () => void
|
|
|
|
+}> = ({ visible, list, onClose }) => {
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ return <Modal
|
|
|
|
+ title={<strong>任务详情</strong>}
|
|
|
|
+ open={visible}
|
|
|
|
+ onCancel={onClose}
|
|
|
|
+ width={900}
|
|
|
|
+ footer={null}
|
|
|
|
+ >
|
|
|
|
+ <Table
|
|
|
|
+ size='small'
|
|
|
|
+ bordered
|
|
|
|
+ rowKey={'externalUserId'}
|
|
|
|
+ dataSource={list || []}
|
|
|
|
+ scroll={{ y: 1000 }}
|
|
|
|
+ columns={[
|
|
|
|
+ {
|
|
|
|
+ title: '企业名称',
|
|
|
|
+ dataIndex: 'corpName',
|
|
|
|
+ key: 'corpName',
|
|
|
|
+ width: 120,
|
|
|
|
+ ellipsis: true,
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ title: '企业ID',
|
|
|
|
+ dataIndex: 'corpId',
|
|
|
|
+ key: 'corpId',
|
|
|
|
+ width: 120,
|
|
|
|
+ ellipsis: true,
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ title: '客服名称',
|
|
|
|
+ dataIndex: 'corpUserName',
|
|
|
|
+ key: 'corpUserName',
|
|
|
|
+ width: 120,
|
|
|
|
+ ellipsis: true,
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ title: '客服ID',
|
|
|
|
+ dataIndex: 'corpUserId',
|
|
|
|
+ key: 'corpUserId',
|
|
|
|
+ width: 120,
|
|
|
|
+ ellipsis: true,
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ title: '客服名称',
|
|
|
|
+ dataIndex: 'name',
|
|
|
|
+ key: 'name',
|
|
|
|
+ width: 120,
|
|
|
|
+ ellipsis: true,
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ title: '客户ID',
|
|
|
|
+ dataIndex: 'externalUserId',
|
|
|
|
+ key: 'externalUserId',
|
|
|
|
+ width: 120,
|
|
|
|
+ ellipsis: true,
|
|
|
|
+ }
|
|
|
|
+ ]}
|
|
|
|
+ />
|
|
|
|
+ </Modal>
|
|
|
|
+}
|
|
|
|
+
|
|
export default React.memo(Details)
|
|
export default React.memo(Details)
|