From 83aa27180531b67993158d37729efa9c5fc723bb Mon Sep 17 00:00:00 2001 From: betaqi <3188864257@qq.com> Date: Mon, 16 Jun 2025 11:16:52 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=8A=9F=E8=83=BD=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- global.types/components.d.ts | 7 + src/api/module/firmware/index.ts | 3 - src/api/module/taks/index.ts | 70 +++ src/components/Edfs-button.vue | 1 + src/components/Edfs-table/index.vue | 47 +- src/router/index.ts | 10 + src/views/layout/index.vue | 7 +- .../stationData/components/offTransferDlg.vue | 52 +- .../components/onLineTransferDlg.vue | 94 +-- src/views/stationData/index.vue | 1 - src/views/stationData/transferData.vue | 552 ++---------------- src/views/taskList/index.vue | 130 +++++ src/views/taskList/infoDrawer.vue | 107 ++++ 13 files changed, 463 insertions(+), 618 deletions(-) create mode 100644 src/api/module/taks/index.ts create mode 100644 src/views/taskList/index.vue create mode 100644 src/views/taskList/infoDrawer.vue diff --git a/global.types/components.d.ts b/global.types/components.d.ts index b6c94ef..e3c4b9f 100644 --- a/global.types/components.d.ts +++ b/global.types/components.d.ts @@ -21,17 +21,24 @@ declare module 'vue' { ElConfigProvider: typeof import('element-plus/es')['ElConfigProvider'] ElContainer: typeof import('element-plus/es')['ElContainer'] ElDatePicker: typeof import('element-plus/es')['ElDatePicker'] + ElDescriptions: typeof import('element-plus/es')['ElDescriptions'] + ElDescriptionsItem: typeof import('element-plus/es')['ElDescriptionsItem'] ElDialog: typeof import('element-plus/es')['ElDialog'] ElDivider: typeof import('element-plus/es')['ElDivider'] ElDrawer: typeof import('element-plus/es')['ElDrawer'] + ElDropdown: typeof import('element-plus/es')['ElDropdown'] + ElDropdownItem: typeof import('element-plus/es')['ElDropdownItem'] + ElDropdownMenu: typeof import('element-plus/es')['ElDropdownMenu'] ElHeader: typeof import('element-plus/es')['ElHeader'] ElInput: typeof import('element-plus/es')['ElInput'] ElMenu: typeof import('element-plus/es')['ElMenu'] ElMenuItem: typeof import('element-plus/es')['ElMenuItem'] + ElPagination: typeof import('element-plus/es')['ElPagination'] ElProgress: typeof import('element-plus/es')['ElProgress'] ElRow: typeof import('element-plus/es')['ElRow'] ElScrollbar: typeof import('element-plus/es')['ElScrollbar'] ElSubMenu: typeof import('element-plus/es')['ElSubMenu'] + ElTableColumn: typeof import('element-plus/es')['ElTableColumn'] ElTag: typeof import('element-plus/es')['ElTag'] ElTooltip: typeof import('element-plus/es')['ElTooltip'] ElTree: typeof import('element-plus/es')['ElTree'] diff --git a/src/api/module/firmware/index.ts b/src/api/module/firmware/index.ts index 4dba6ba..2e3180a 100644 --- a/src/api/module/firmware/index.ts +++ b/src/api/module/firmware/index.ts @@ -1,8 +1,5 @@ import { globalServer } from '../index' - - - export const uploadFirmwareFile = (params: FormData, abort: AbortController) => globalServer({ url: 'api/upload', diff --git a/src/api/module/taks/index.ts b/src/api/module/taks/index.ts new file mode 100644 index 0000000..dba2a06 --- /dev/null +++ b/src/api/module/taks/index.ts @@ -0,0 +1,70 @@ +import { globalServer } from '../index' + +interface Param { + page: number + size: number +} + +export const getTaskList = (params: Param) => + globalServer<{ + tasks: TaskList[] + total: number + }>({ + url: 'api/task/summary', + method: 'get', + data: params, + + }) + + +export const getTaskInfo = (taskId: string) => globalServer<{ details: TaskInfo[] }>({ + url: 'api/task/detail', + method: 'GET', + params: { task: taskId }, +}) + +export interface TaskCreateParams { + site: string + devices: { + sn: string + disk?: string + host?: string + }[], + mode: 'import' | 'export' | 'update' + startTime?: string + endTime?: string +} + +export const createTask = (params: TaskCreateParams) => globalServer({ + url: 'api/task/apply', + method: 'POST', + data: params, +}) + +export const cancelTask = (taskId: string) => globalServer({ + url: 'api/task/cancel', + method: 'POST', + data: { task: taskId }, +}) + +export type TaskInfo = { + finish: number; + id: string; + info: string; + site: string; + sn: string; + status: -1 | 0 | 1 | 2; // -1 失败, 0 未开始, 1 进行中, 2 成功 + task_id: string; + total: number; +}; + +export interface TaskList { + endTime: string; // 结束时间(可能是空字符串) + id: string; // "task759956" + info: string; // "" + mode: string; // "export" + site: string; // "test1" + startTime: string; // 开始时间(可能是空字符串) + status: -1 | 0 | 1 | 2 | 3; // -1 失败, 0 未开始, 1 进行中, 2 取消, 3 成功 + loading?: boolean +} \ No newline at end of file diff --git a/src/components/Edfs-button.vue b/src/components/Edfs-button.vue index 646310d..5c3aad1 100644 --- a/src/components/Edfs-button.vue +++ b/src/components/Edfs-button.vue @@ -13,6 +13,7 @@ :color="color" :class="className" @click="onClick" + :link="link" :text="text" class="edfs-button" > diff --git a/src/components/Edfs-table/index.vue b/src/components/Edfs-table/index.vue index 9d2b539..3f03986 100644 --- a/src/components/Edfs-table/index.vue +++ b/src/components/Edfs-table/index.vue @@ -1,36 +1,16 @@ -
-
-
- - - - -
- - - - - - + + + \ No newline at end of file diff --git a/src/views/taskList/infoDrawer.vue b/src/views/taskList/infoDrawer.vue new file mode 100644 index 0000000..90e38f4 --- /dev/null +++ b/src/views/taskList/infoDrawer.vue @@ -0,0 +1,107 @@ + + + + +