取消
@@ -109,7 +109,7 @@
class="ml-16px"
status="danger"
size="large"
- :disabled="!selectedAccounts.length"
+ :disabled="!selectedRows.length"
@click="onConfirm"
>添加已选账户
@@ -136,7 +136,7 @@ const form = ref(null);
const ROW_KEY = 'account_id';
const {
selectedRowKeys,
- selectedRows: selectedAccounts,
+ selectedRows,
dataSource,
pageInfo,
onPageChange,
@@ -170,7 +170,8 @@ const open = (formData) => {
const onClose = () => {
form.value = null;
- selectedAccounts.value = [];
+ selectedRows.value = [];
+ dataSource.value = [];
selectedRowKeys.value = [];
query.value = cloneDeep(INITIAL_FORM);
pageInfo.value = cloneDeep(INITIAL_PAGE_INFO);
@@ -178,7 +179,7 @@ const onClose = () => {
};
const onConfirm = async () => {
- const { code } = await postAddSubAccount({ ...form.value, subaccounts: selectedAccounts.value });
+ const { code } = await postAddSubAccount({ ...form.value, subaccounts: selectedRows.value });
if (code === 200) {
visible.value = false;
update();
From d30be4dc935026e8695aa49e8e4979d8a777bb82 Mon Sep 17 00:00:00 2001
From: rd <1344903914@qq.com>
Date: Thu, 17 Jul 2025 15:28:20 +0800
Subject: [PATCH 06/38] =?UTF-8?q?feat:=20=E4=B8=8B=E8=BD=BD=E4=B8=AD?=
=?UTF-8?q?=E5=BF=83?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/api/all/common.ts | 15 +
.../components/export-task/constants.ts | 28 +-
.../export-task/delete-task-modal.vue | 14 +-
.../components/export-task/index.vue | 143 ++++----
.../components/export-task/style.scss | 3 +
.../components/import-task/constants.ts | 38 +++
.../import-task/delete-task-modal.vue | 61 ++++
.../components/import-task/index.vue | 315 ++++++++++++++++++
.../components/import-task/style.scss | 51 +++
.../download-center-modal/constants.ts | 14 +
.../download-center-modal/index.vue | 24 +-
.../download-center-modal/style.scss | 70 ++--
src/hooks/useTableSelectionWithPagination.ts | 1 +
13 files changed, 651 insertions(+), 126 deletions(-)
create mode 100644 src/components/_base/navbar/components/download-center-modal/components/import-task/constants.ts
create mode 100644 src/components/_base/navbar/components/download-center-modal/components/import-task/delete-task-modal.vue
create mode 100644 src/components/_base/navbar/components/download-center-modal/components/import-task/index.vue
create mode 100644 src/components/_base/navbar/components/download-center-modal/components/import-task/style.scss
create mode 100644 src/components/_base/navbar/components/download-center-modal/constants.ts
diff --git a/src/api/all/common.ts b/src/api/all/common.ts
index 9b210da..a1a7b0c 100644
--- a/src/api/all/common.ts
+++ b/src/api/all/common.ts
@@ -13,3 +13,18 @@ export const getCustomColumns = (params = {}) => {
export const updateCustomColumns = (params = {}) => {
return Http.put('/v1/custom-columns', params);
};
+
+// 任务中心-分页
+export const getTask = (params = {}) => {
+ return Http.get('/v1/tasks', params);
+};
+
+// 任务中心-批量删除
+export const deleteBatchTasks = (params = {}) => {
+ return Http.delete('/v1/tasks', params);
+};
+
+// 任务中心-删除
+export const deleteTask = (id: string) => {
+ return Http.delete(`/v1/tasks/${id}`);
+};
diff --git a/src/components/_base/navbar/components/download-center-modal/components/export-task/constants.ts b/src/components/_base/navbar/components/download-center-modal/components/export-task/constants.ts
index 3b1fef8..0b9ed2c 100644
--- a/src/components/_base/navbar/components/download-center-modal/components/export-task/constants.ts
+++ b/src/components/_base/navbar/components/download-center-modal/components/export-task/constants.ts
@@ -1,21 +1,16 @@
export const INITIAL_FORM = {
- search: '',
+ type: 1,
+ operator_name: '',
module: '',
- column: undefined,
- order: undefined,
-};
-export const INITIAL_PAGE_INFO = {
- page: 1,
- pageSize: 20,
- total: 0,
+ sort_column: undefined,
+ sort_order: undefined,
};
export const TABLE_COLUMNS = [
{
title: '文件名称',
- dataIndex: 'file_name',
+ dataIndex: 'name',
width: 180,
- // fixed: 'left',
},
{
title: '所属模块',
@@ -23,16 +18,21 @@ export const TABLE_COLUMNS = [
width: 120,
},
{
- title: '下载时间',
- dataIndex: 'time',
- width: 120,
+ title: '状态',
+ dataIndex: 'status',
+ width: 100,
+ },
+ {
+ title: '创建时间',
+ dataIndex: 'created_at',
+ width: 140,
sortable: {
sortDirections: ['ascend', 'descend'],
},
},
{
title: '操作人员',
- dataIndex: 'name',
+ dataIndex: 'operator.name',
width: 120,
},
];
diff --git a/src/components/_base/navbar/components/download-center-modal/components/export-task/delete-task-modal.vue b/src/components/_base/navbar/components/download-center-modal/components/export-task/delete-task-modal.vue
index 9b3ed35..589cfe8 100644
--- a/src/components/_base/navbar/components/download-center-modal/components/export-task/delete-task-modal.vue
+++ b/src/components/_base/navbar/components/download-center-modal/components/export-task/delete-task-modal.vue
@@ -20,35 +20,35 @@
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
new file mode 100644
index 0000000..7e59e12
--- /dev/null
+++ b/src/components/_base/navbar/components/download-center-modal/components/import-task/index.vue
@@ -0,0 +1,315 @@
+
+
+
+
+
+
所属模块
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
+ 已选
+ {{ selectedRows.length }}
+ 个文件
+
+
+
批量下载
+
批量删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
![]()
+
{{ column.title }}
+
+
+
+
+
+
+
+ {{ record.platform === 0 ? '抖音' : record.platform === 1 ? '小红书' : '-' }}
+
+
+ {{ exactFormatTime(record.time) }}
+
+
+
+ {{ formatTableField(column, record, true) }}
+
+
+
+
+
+
![]()
+
下载
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/components/_base/navbar/components/download-center-modal/components/import-task/style.scss b/src/components/_base/navbar/components/download-center-modal/components/import-task/style.scss
new file mode 100644
index 0000000..606ffe5
--- /dev/null
+++ b/src/components/_base/navbar/components/download-center-modal/components/import-task/style.scss
@@ -0,0 +1,51 @@
+.import-task-wrap {
+ height: 100%;
+ .tip-row {
+ border-radius: 2px;
+ background: #f0edff;
+ .label {
+ font-family: $font-family-medium;
+ font-size: 14px;
+ font-style: normal;
+ font-weight: 400;
+ line-height: 22px;
+ }
+ &.normal {
+ background: #ebf7f2;
+ .label {
+ color: #211f24;
+ }
+ }
+ &.abnormal {
+ background: #ffe7e4;
+ .label {
+ color: #211f24;
+ }
+ }
+ .err-btn {
+ background-color: #f64b31 !important;
+ color: var(--BG-white, #fff);
+ font-family: 'PingFang SC';
+ font-size: 12px;
+ font-style: normal;
+ font-weight: 400;
+ line-height: 20px;
+ }
+ .operation-btn {
+ padding: 0;
+ cursor: pointer;
+ color: var(--Brand-Brand-6, #6d4cfe);
+ font-family: $font-family-regular;
+ font-size: 14px;
+ font-style: normal;
+ font-weight: 400;
+ line-height: 22px;
+ &:not(:last-child) {
+ margin-right: 16px;
+ }
+ &.red {
+ color: #f64b31;
+ }
+ }
+ }
+}
diff --git a/src/components/_base/navbar/components/download-center-modal/constants.ts b/src/components/_base/navbar/components/download-center-modal/constants.ts
new file mode 100644
index 0000000..4a1095f
--- /dev/null
+++ b/src/components/_base/navbar/components/download-center-modal/constants.ts
@@ -0,0 +1,14 @@
+export const TASK_STATUS = [
+ {
+ label: '导出中',
+ value: 0,
+ },
+ {
+ label: '已完成',
+ value: 1,
+ },
+ {
+ label: '导出失败',
+ value: 2,
+ },
+];
diff --git a/src/components/_base/navbar/components/download-center-modal/index.vue b/src/components/_base/navbar/components/download-center-modal/index.vue
index f4046b4..0986b9b 100644
--- a/src/components/_base/navbar/components/download-center-modal/index.vue
+++ b/src/components/_base/navbar/components/download-center-modal/index.vue
@@ -8,19 +8,41 @@
:footer="false"
@close="onClose"
>
-
+
+
+
+
+
+
+