diff --git a/src/api/admin/kvmService.js b/src/api/admin/kvmService.js index f1a3128..a26a92f 100644 --- a/src/api/admin/kvmService.js +++ b/src/api/admin/kvmService.js @@ -557,6 +557,18 @@ export const abortDataMigrate = (data) => { }) } +/** 获取跨服务数据迁移聚合队列 */ +export const getDataMigrateQueue = (params) => { + return http2.get('/api/v1/admin/server/host_service/point/vm/data_migrate/queue', { params }) +} + +/** 按迁移记录中断队列任务 */ +export const abortDataMigrateQueue = (data) => { + return http2.post('/api/v1/admin/server/host_service/point/vm/data_migrate/queue/abort', data, { + headers: { 'Content-Type': 'multipart/form-data' } + }) +} + /** 获取跨服务数据迁移并发及队列状态 */ export const getDataMigrateConcurrency = () => { return http2.get('/api/v1/admin/server/host_service/point/vm/data_migrate/concurrency') diff --git a/src/views/virtualization/KvmServiceDetail.vue b/src/views/virtualization/KvmServiceDetail.vue index f60b770..7dc77d1 100644 --- a/src/views/virtualization/KvmServiceDetail.vue +++ b/src/views/virtualization/KvmServiceDetail.vue @@ -191,6 +191,7 @@ const serviceInfo = ref({}) // Tab 管理 const activeTab = ref('host') +provide('activeKvmDetailTab', activeTab) const tabLoaded = reactive({ 'host': true, 'image': false, diff --git a/src/views/virtualization/VmMigrationQueue.vue b/src/views/virtualization/VmMigrationQueue.vue index 53f7705..dc80ef2 100644 --- a/src/views/virtualization/VmMigrationQueue.vue +++ b/src/views/virtualization/VmMigrationQueue.vue @@ -33,14 +33,14 @@ @@ -83,15 +83,26 @@ - + + @@ -114,29 +125,30 @@ @@ -299,6 +302,7 @@ onBeforeUnmount(() => { .stack-cell { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; } .progress-meta { display: flex; justify-content: space-between; gap: 8px; margin-top: 3px; } .dialog-alert { margin-bottom: 18px; } +.queue-pagination { justify-content: flex-end; margin-top: 18px; } .form-hint { margin-left: 10px; color: #909399; font-size: 12px; } @media (max-width: 900px) { .queue-header { flex-direction: column; }