diff --git a/src/api/all/common.ts b/src/api/all/common.ts index a1a7b0c..e4ee6d6 100644 --- a/src/api/all/common.ts +++ b/src/api/all/common.ts @@ -28,3 +28,8 @@ export const deleteBatchTasks = (params = {}) => { export const deleteTask = (id: string) => { return Http.delete(`/v1/tasks/${id}`); }; + +// 任务中心-查询任务状态 +export const getTaskStatus = (id: string) => { + return Http.get(`/v1/tasks/${id}/status`); +}; \ No newline at end of file diff --git a/src/components/_base/navbar/components/download-center-modal/components/export-task/index.vue b/src/components/_base/navbar/components/download-center-modal/components/export-task/index.vue index 4d3fa15..4078d77 100644 --- a/src/components/_base/navbar/components/download-center-modal/components/export-task/index.vue +++ b/src/components/_base/navbar/components/download-center-modal/components/export-task/index.vue @@ -107,8 +107,8 @@ export default { }; const handleDownload = (record) => { - showExportNotification(record.name) - record.file && downloadByUrl(record.file); + showExportNotification(`正在下载“${record.name}”,请稍后...`) + // record.file && downloadByUrl(record.file); }; const handleBatchDownload = () => { // 批量下载逻辑 diff --git a/src/components/_base/navbar/components/download-center-modal/components/import-task/index.vue b/src/components/_base/navbar/components/download-center-modal/components/import-task/index.vue index 76740bf..2f33fb5 100644 --- a/src/components/_base/navbar/components/download-center-modal/components/import-task/index.vue +++ b/src/components/_base/navbar/components/download-center-modal/components/import-task/index.vue @@ -107,7 +107,7 @@ export default { }; const handleDownload = (record) => { - showExportNotification(record.name) + showExportNotification(`正在下载“${record.name}”,请稍后...`) }; const handleBatchDownload = () => { // 批量下载逻辑 diff --git a/src/utils/arcoD.tsx b/src/utils/arcoD.tsx index 2259dc2..d51f04e 100644 --- a/src/utils/arcoD.tsx +++ b/src/utils/arcoD.tsx @@ -1,14 +1,15 @@ import { Notification } from '@arco-design/web-vue'; import { IconLoading } from '@arco-design/web-vue/es/icon'; -export function showExportNotification(name: string) { +export function showExportNotification(label: string, id: '') { Notification.warning({ + id, showIcon: false, closable: true, content: () => (
-

{`正在下载“${name}”,请稍后...`}

+

{label}

), duration: 3000, diff --git a/src/views/property-marketing/media-account/account-manage/components/add-account-modal/index.vue b/src/views/property-marketing/media-account/account-manage/components/add-account-modal/index.vue index 6f0c700..2c70712 100644 --- a/src/views/property-marketing/media-account/account-manage/components/add-account-modal/index.vue +++ b/src/views/property-marketing/media-account/account-manage/components/add-account-modal/index.vue @@ -22,16 +22,12 @@ import { import TagSelect from '@/views/property-marketing/media-account/components/tag-select'; import GroupSelect from '@/views/property-marketing/media-account/components/group-select'; import AuthorizedAccountModal from '../authorized-account-modal'; -import ImportPromptModal from '../import-prompt-modal'; +// import ImportPromptModal from '../import-prompt-modal'; import StatusBox from '../status-box'; import SyncDataModal from '../sync-data-modal'; -import icon1 from '@/assets/img/media-account/icon-download.png'; -import icon2 from '@/assets/img/media-account/icon-delete.png'; -import icon3 from '@/assets/img/media-account/icon-dy.png'; -import icon4 from '@/assets/img/media-account/icon-xhs.png'; -import icon5 from '@/assets/img/media-account/icon-warn-1.png'; -import icon6 from '@/assets/img/media-account/icon-success.png'; +import { downloadByUrl } from '@/utils/tools'; +import { showExportNotification } from '@/utils/arcoD'; import { fetchAccountTags, fetchAccountGroups, @@ -42,6 +38,13 @@ import { batchMediaAccounts, } from '@/api/all/propertyMarketing'; +import icon1 from '@/assets/img/media-account/icon-download.png'; +import icon2 from '@/assets/img/media-account/icon-delete.png'; +import icon3 from '@/assets/img/media-account/icon-dy.png'; +import icon4 from '@/assets/img/media-account/icon-xhs.png'; +import icon5 from '@/assets/img/media-account/icon-warn-1.png'; +import icon6 from '@/assets/img/media-account/icon-success.png'; + const UploadStatus = { DEFAULT: 'default', WAITING: 'waiting', @@ -77,7 +80,6 @@ export default { const form = ref({ ...INITIAL_FORM }); const syncDataModalRef = ref(null); const importLoading = ref(false); - const CustomNotificationVisible = ref(false); const rules = { mobile: [ @@ -132,6 +134,7 @@ export default { function removeFile() { fileName.value = ''; file.value = null; + importLoading.value = false; uploadStatus.value = UploadStatus.DEFAULT; } const reset = () => { @@ -175,22 +178,20 @@ export default { AMessage.warning('请上传要导入的文件'); return; } + importLoading.value = true; const formData = new FormData(); formData.append('file', file.value); - const { code } = await batchMediaAccounts(formData, { + const { code, data } = await batchMediaAccounts(formData, { headers: { 'Content-Type': 'multipart/form-data', }, }); if (code === 200) { - AMessage.success('导入成功'); - emit('update'); + const ID = 'IMPORT-ACCOUNT'; + showExportNotification(`正在导入“${file.value.name}”,请稍后...`, ID); + emit('startQueryTaskStatus', data.id, ID); onClose(); - - // const ID = 'IMPORT-ACCOUNT'; - // renderNotification(ID); - importPromptModalRef.value.open(); } else { uploadStatus.value = UploadStatus.ERROR; } @@ -247,9 +248,6 @@ export default { window.open(data.download_url, '_blank'); } }; - const handleDownloadError = () => { - console.log('handleDownloadError'); - }; const renderLabel = (label, tooltipContent) => { return ( <> @@ -260,31 +258,6 @@ export default { ); }; - const renderNotification = (id, hasError) => { - Notification.warning({ - id, - showIcon: false, - closable: true, - content: ( -
-
- - 导入完成 -
-

- 共导入 37 个账号,导入成功 32 个{hasError ? `,失败 5 个` : ''} -

- {hasError && ( -
- 下载问题表格 -
- )} -
- ), - duration: 3000, - class: `px-16px py-16px w-400px rounded-2px ${hasError ? 'bg-#FFF7E5' : 'bg-#EBF7F2'}`, - }); - }; expose({ open }); @@ -452,7 +425,7 @@ export default { emit('update')} /> - + {/* */} ); diff --git a/src/views/property-marketing/media-account/account-manage/index.vue b/src/views/property-marketing/media-account/account-manage/index.vue index 2de1a5c..ccdeda1 100644 --- a/src/views/property-marketing/media-account/account-manage/index.vue +++ b/src/views/property-marketing/media-account/account-manage/index.vue @@ -107,7 +107,7 @@ - + @@ -117,6 +117,7 @@