From b8bd1d4b22086fab2ec75bc2092d2bd904a16628 Mon Sep 17 00:00:00 2001 From: lijiahang Date: Wed, 20 Mar 2024 19:40:37 +0800 Subject: [PATCH] =?UTF-8?q?:hammer:=20=E6=89=A7=E8=A1=8C=E6=97=A5=E5=BF=97?= =?UTF-8?q?.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/HostSftpLogServiceImpl.java | 3 +- .../log/panel/const.ts} | 44 ++++++++++++++++- .../exec/log/panel/exec-host.vue} | 9 ++-- .../exec/log/panel/index.vue} | 37 ++++++++------- .../log/panel}/log-appender.ts | 4 +- .../exec/log/panel/log-item.vue} | 6 +-- .../exec/log/panel/log-view.vue} | 24 +++++----- .../exec-command/components/exec-history.vue | 19 -------- .../exec-command/components/exec-panel.vue | 5 +- .../src/views/exec/exec-command/index.vue | 47 ++----------------- .../components/exec-host-log-table.vue | 16 +++++-- .../exec-log/components/exec-log-table.vue | 2 +- .../components/exec-template-form-drawer.vue | 4 +- .../components/exec-template-table.vue | 12 +---- 14 files changed, 111 insertions(+), 121 deletions(-) rename orion-ops-ui/src/components/{xtrem/log-appender/appender.const.ts => exec/log/panel/const.ts} (67%) rename orion-ops-ui/src/{views/exec/exec-command/components/log-panel-host.vue => components/exec/log/panel/exec-host.vue} (92%) rename orion-ops-ui/src/{views/exec/exec-command/components/log-panel.vue => components/exec/log/panel/index.vue} (83%) rename orion-ops-ui/src/components/{xtrem/log-appender => exec/log/panel}/log-appender.ts (98%) rename orion-ops-ui/src/{views/exec/exec-command/components/log-panel-appender.vue => components/exec/log/panel/log-item.vue} (97%) rename orion-ops-ui/src/{views/exec/exec-command/components/log-panel-view.vue => components/exec/log/panel/log-view.vue} (71%) delete mode 100644 orion-ops-ui/src/views/exec/exec-command/components/exec-history.vue diff --git a/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/service/impl/HostSftpLogServiceImpl.java b/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/service/impl/HostSftpLogServiceImpl.java index 42de8e6c..893a3ab4 100644 --- a/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/service/impl/HostSftpLogServiceImpl.java +++ b/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/service/impl/HostSftpLogServiceImpl.java @@ -53,7 +53,8 @@ public class HostSftpLogServiceImpl implements HostSftpLogService { vo.setExtra(extra); return vo; }).collect(Collectors.toList()); - // 返回 TODO KIT + // 返回 + // TODO KIT DataGrid result = new DataGrid<>(rows, dataGrid.getTotal()); result.setPage(dataGrid.getPage()); result.setLimit(dataGrid.getLimit()); diff --git a/orion-ops-ui/src/components/xtrem/log-appender/appender.const.ts b/orion-ops-ui/src/components/exec/log/panel/const.ts similarity index 67% rename from orion-ops-ui/src/components/xtrem/log-appender/appender.const.ts rename to orion-ops-ui/src/components/exec/log/panel/const.ts index 7f6fa055..c75dff93 100644 --- a/orion-ops-ui/src/components/xtrem/log-appender/appender.const.ts +++ b/orion-ops-ui/src/components/exec/log/panel/const.ts @@ -1,5 +1,4 @@ -import type { IDisposable, ITerminalOptions, ITerminalInitOnlyOptions } from 'xterm'; -import type { Terminal } from 'xterm'; +import type { IDisposable, ITerminalInitOnlyOptions, ITerminalOptions, Terminal } from 'xterm'; import type { FitAddon } from 'xterm-addon-fit'; import type { SearchAddon } from 'xterm-addon-search'; import type { CanvasAddon } from 'xterm-addon-canvas'; @@ -96,3 +95,44 @@ export interface ILogAppender { // 关闭 close(): void; } + +/** + * 批量执行状态 + */ +export const execStatus = { + // 等待中 + WAITING: 'WAITING', + // 运行中 + RUNNING: 'RUNNING', + // 执行完成 + COMPLETED: 'COMPLETED', + // 执行失败 + FAILED: 'FAILED', +}; + +/** + * 主机执行状态 + */ +export const execHostStatus = { + // 等待中 + WAITING: 'WAITING', + // 运行中 + RUNNING: 'RUNNING', + // 执行完成 + COMPLETED: 'COMPLETED', + // 执行失败 + FAILED: 'FAILED', + // 执行超时 + TIMEOUT: 'TIMEOUT', + // 已中断 + INTERRUPTED: 'INTERRUPTED', +}; + +// 执行状态 字典项 +export const execStatusKey = 'execStatus'; + +// 执行状态 字典项 +export const execHostStatusKey = 'execHostStatus'; + +// 加载的字典值 +export const dictKeys = [execStatusKey, execHostStatusKey]; diff --git a/orion-ops-ui/src/views/exec/exec-command/components/log-panel-host.vue b/orion-ops-ui/src/components/exec/log/panel/exec-host.vue similarity index 92% rename from orion-ops-ui/src/views/exec/exec-command/components/log-panel-host.vue rename to orion-ops-ui/src/components/exec/log/panel/exec-host.vue index 4b4ce662..2fc1371e 100644 --- a/orion-ops-ui/src/views/exec/exec-command/components/log-panel-host.vue +++ b/orion-ops-ui/src/components/exec/log/panel/exec-host.vue @@ -5,7 +5,9 @@

执行主机

- + 返回
@@ -34,16 +36,17 @@ @@ -24,9 +25,13 @@ import type { ExecCommandResponse } from '@/api/exec/exec'; import { onUnmounted, ref, nextTick } from 'vue'; import { getExecLogStatus } from '@/api/exec/exec-log'; - import { execHostStatus, execStatus } from '@/views/exec/exec-log/types/const'; - import LogPanelHost from './log-panel-host.vue'; - import LogPanelView from './log-panel-view.vue'; + import { execHostStatus, execStatus } from './const'; + import ExecHost from './exec-host.vue'; + import LogView from './log-view.vue'; + + const props = defineProps<{ + visibleBack: boolean + }>(); const emits = defineEmits(['back']); @@ -146,20 +151,20 @@ position: absolute; } - .host-container, .log-container { + .exec-host-container, .log-view-container { height: 100%; border-radius: 4px; position: relative; background: var(--color-bg-2); } - .host-container { + .exec-host-container { width: @host-width; padding: 16px; margin-right: 16px; } - .log-container { + .log-view-container { width: calc(100% - @host-real-width); } diff --git a/orion-ops-ui/src/components/xtrem/log-appender/log-appender.ts b/orion-ops-ui/src/components/exec/log/panel/log-appender.ts similarity index 98% rename from orion-ops-ui/src/components/xtrem/log-appender/log-appender.ts rename to orion-ops-ui/src/components/exec/log/panel/log-appender.ts index a9c3b0a8..a61c8db6 100644 --- a/orion-ops-ui/src/components/xtrem/log-appender/log-appender.ts +++ b/orion-ops-ui/src/components/exec/log/panel/log-appender.ts @@ -1,6 +1,6 @@ -import type { ILogAppender, LogAddons, LogAppenderConf, LogDomRef } from './appender.const'; +import type { ILogAppender, LogAddons, LogAppenderConf, LogDomRef } from './const'; import type { ExecTailRequest } from '@/api/exec/exec'; -import { AppenderOptions } from './appender.const'; +import { AppenderOptions } from './const'; import { getExecLogTailToken } from '@/api/exec/exec'; import { webSocketBaseUrl } from '@/utils/env'; import { Message } from '@arco-design/web-vue'; diff --git a/orion-ops-ui/src/views/exec/exec-command/components/log-panel-appender.vue b/orion-ops-ui/src/components/exec/log/panel/log-item.vue similarity index 97% rename from orion-ops-ui/src/views/exec/exec-command/components/log-panel-appender.vue rename to orion-ops-ui/src/components/exec/log/panel/log-item.vue index 54e7b698..244ae674 100644 --- a/orion-ops-ui/src/views/exec/exec-command/components/log-panel-appender.vue +++ b/orion-ops-ui/src/components/exec/log/panel/log-item.vue @@ -155,15 +155,15 @@ diff --git a/orion-ops-ui/src/views/exec/exec-command/components/exec-panel.vue b/orion-ops-ui/src/views/exec/exec-command/components/exec-panel.vue index 6cea502f..8c516545 100644 --- a/orion-ops-ui/src/views/exec/exec-command/components/exec-panel.vue +++ b/orion-ops-ui/src/views/exec/exec-command/components/exec-panel.vue @@ -220,10 +220,11 @@ @command-gap: @form-width + @history-width + 32px; .exec-container { + width: calc(100% - 32px); + height: calc(100% - 32px); display: flex; justify-content: space-between; - width: 100%; - height: 100%; + position: absolute; .exec-form-container { width: @form-width; diff --git a/orion-ops-ui/src/views/exec/exec-command/index.vue b/orion-ops-ui/src/views/exec/exec-command/index.vue index 8699180c..35cdef6e 100644 --- a/orion-ops-ui/src/views/exec/exec-command/index.vue +++ b/orion-ops-ui/src/views/exec/exec-command/index.vue @@ -4,9 +4,10 @@ - + @@ -23,7 +24,7 @@ import { useDictStore } from '@/store'; import { dictKeys } from '@/views/exec/exec-log/types/const'; import ExecPanel from './components/exec-panel.vue'; - import LogPanel from './components/log-panel.vue'; + import ExecLogPanel from '@/components/exec/log/panel/index.vue'; const { visible: logVisible, setVisible: setLogVisible } = useVisible(); const { loadKeys } = useDictStore(); @@ -43,44 +44,6 @@ await loadKeys(dictKeys); }); - onMounted(() => { - openLog({ - id: 65, - hosts: [ - { - id: 103, - hostId: 5, - hostName: 'main-55', - hostAddress: '192.412.53.2', - status: 'INTERRUPTED' - }, { - id: 76, - hostId: 1, - hostName: 'main-11', - hostAddress: '192.412.53.2', - status: 'WAITING' - }, { - id: 77, - hostId: 2, - hostName: 'main-22', - hostAddress: '192.412.53.2', - status: 'RUNNING' - }, { - id: 78, - hostId: 3, - hostName: 'main-33', - hostAddress: '192.412.53.2', - status: 'COMPLETED' - }, { - id: 79, - hostId: 4, - hostName: 'main-44', - hostAddress: '192.412.53.2', - status: 'TIMEOUT' - },] - } as ExecCommandResponse); - }); -