wjx 1 månad sedan
förälder
incheckning
4ff363c02c

+ 14 - 0
src/pages/weComTask/API/businessPlan/create.ts

@@ -170,6 +170,20 @@ export async function getSendTaskGroupuserListApi(data: GetSendTaskGroupuserList
     });
 }
 
+/**
+ * 下载下发企微号列表
+ * @param data 
+ * @returns 
+ */
+export async function downloadSendTaskuserApi(data: GetSendTaskGroupuserListProps) {
+    return request({
+        url: `/corp/group/send/task/user/excel`,
+        method: 'POST',
+        data,
+        responseType: 'blob'
+    });
+}
+
 /**
  * 群群发获取下发企微号列表
  * @param data 

+ 14 - 2
src/pages/weComTask/page/businessPlan/taskList/components/groupTask/groupXfCorpTabls.tsx

@@ -3,9 +3,10 @@ import useNewToken from "@/Hook/useNewToken"
 import { useUpdateEffect } from "ahooks"
 import { App, Badge, Button, DatePicker, Input, Select, Space, Table, Tag } from "antd"
 import React, { useEffect, useState } from "react"
-import { SearchOutlined, SyncOutlined } from '@ant-design/icons';
+import { DownloadOutlined, SearchOutlined, SyncOutlined } from '@ant-design/icons';
 import { groupMsgCorpUserListConfig } from "./groupTableConfig"
-import { cancelGroupSendApi, getSendTaskGroupuserListApi, GetSendTaskGroupuserListProps, remindGroupSendApi, syncSendGroupTaskExternalApi, syncSendGroupTaskUserApi } from "@/pages/weComTask/API/businessPlan/create"
+import { cancelGroupSendApi, downloadSendTaskuserApi, getSendTaskGroupuserListApi, GetSendTaskGroupuserListProps, remindGroupSendApi, syncSendGroupTaskExternalApi, syncSendGroupTaskUserApi } from "@/pages/weComTask/API/businessPlan/create"
+import { downloadFile1, formatDate } from "@/utils/downloadFile"
 
 
 interface Props {
@@ -25,6 +26,7 @@ const GroupXfCorpTabls: React.FC<Props> = ({ corpId, taskId }) => {
     const [queryForms, setQueryForms] = useState<GetSendTaskGroupuserListProps>({ pageNum: 1, pageSize: 20, corpId, taskId })
 
     const getSendTaskuserList = useAjax((params) => getSendTaskGroupuserListApi(params))
+    const downloadSendTaskuser = useAjax((params) => downloadSendTaskuserApi(params))
     const syncSendTaskUser = useAjax((params) => syncSendGroupTaskUserApi(params))
     const cancelSend = useAjax((params) => cancelGroupSendApi(params))
     const remindSend = useAjax((params) => remindGroupSendApi(params))
@@ -86,6 +88,15 @@ const GroupXfCorpTabls: React.FC<Props> = ({ corpId, taskId }) => {
         }
     }
 
+    /**下载 */
+    const handleDownload = () => {
+        if (queryForms.corpId && queryForms.taskId) {
+            downloadSendTaskuser.run(queryForms).then((res: any) => {
+                downloadFile1(res, 'octet-stream', formatDate(new Date()) + ".xlsx")
+            })
+        }
+    }
+
     return <div>
         <Space style={{ width: '100%' }} wrap>
             <Input placeholder="消息ID" style={{ width: 120 }} allowClear onChange={(e) => setQueryForms({ ...queryForms, msgId: e.target.value })} />
@@ -108,6 +119,7 @@ const GroupXfCorpTabls: React.FC<Props> = ({ corpId, taskId }) => {
             <DatePicker.RangePicker placeholder={['预计送达时间(起始)', '预计送达时间(结束)']} onChange={(e, date) => { setQueryForms({ ...queryForms, createStartDate: date[0], createEndDate: date[1] }) }} />
             <Button onClick={() => getSendTaskuserList.refresh()} loading={getSendTaskuserList.loading} icon={<SearchOutlined />}>搜索</Button>
             <Button onClick={() => syncHandle()} loading={syncSendTaskUser.loading || syncSendTaskExternal.loading} type="primary" icon={<SyncOutlined />}>同步</Button>
+            <Button icon={<DownloadOutlined />} loading={downloadSendTaskuser.loading} onClick={handleDownload}>下载</Button>
         </Space>
 
         {/* 表 */}