-
+
-
@@ -62,7 +57,7 @@
{{ dt.params?.name }}
{{ dt.params?.ip }} : {{ dt.params?.port }}
- {{ dt.params?.username }}
+ {{ dt.params?.selectAuthCert.username }}
{{ dt.params?.remark }}
@@ -165,13 +160,14 @@ import TagTree from '../component/TagTree.vue';
import { Pane, Splitpanes } from 'splitpanes';
import { ContextmenuItem } from '@/components/contextmenu/index';
import TerminalBody from '@/components/terminal/TerminalBody.vue';
-import { TerminalStatus } from '@/components/terminal/common';
+import { TerminalStatus, TerminalStatusEnum } from '@/components/terminal/common';
import MachineRdp from '@/components/terminal-rdp/MachineRdp.vue';
import MachineFile from '@/views/ops/machine/file/MachineFile.vue';
import ResourceTags from '../component/ResourceTags.vue';
import { MachineProtocolEnum } from './enums';
import { useAutoOpenResource } from '@/store/autoOpenResource';
import { storeToRefs } from 'pinia';
+import EnumValue from '@/common/Enum';
// 组件
const ScriptManage = defineAsyncComponent(() => import('./ScriptManage.vue'));
@@ -340,8 +336,13 @@ watch(
watch(
() => state.activeTermName,
(newValue, oldValue) => {
+ fitTerminal();
+
oldValue && terminalRefs[oldValue]?.blur && terminalRefs[oldValue]?.blur();
terminalRefs[newValue]?.focus && terminalRefs[newValue]?.focus();
+
+ const nowTab = state.tabs.get(state.activeTermName);
+ tagTreeRef.value.setCurrentKey(nowTab?.authCert);
}
);
@@ -509,7 +510,7 @@ const onRemoveTab = (targetName: string) => {
state.tabs.delete(targetName);
state.activeTermName = activeTermName;
- onTabChange();
+ // onTabChange();
}
};
@@ -535,21 +536,13 @@ const onResizeTagTree = () => {
fitTerminal();
};
-const onTabChange = () => {
- fitTerminal();
-
- const nowTab = state.tabs.get(state.activeTermName);
- tagTreeRef.value.setCurrentKey(nowTab?.authCert);
-};
-
const fitTerminal = () => {
setTimeout(() => {
let info = state.tabs.get(state.activeTermName);
if (info) {
terminalRefs[info.key]?.fitTerminal && terminalRefs[info.key]?.fitTerminal();
- terminalRefs[info.key]?.focus && terminalRefs[info.key]?.focus();
}
- }, 100);
+ });
};
const handleReconnect = (tab: any, force = false) => {
diff --git a/mayfly_go_web/src/views/ops/machine/api.ts b/mayfly_go_web/src/views/ops/machine/api.ts
index 36be00d6..a09a80f0 100644
--- a/mayfly_go_web/src/views/ops/machine/api.ts
+++ b/mayfly_go_web/src/views/ops/machine/api.ts
@@ -12,6 +12,8 @@ export const machineApi = {
process: Api.newGet('/machines/{id}/process'),
// 终止进程
killProcess: Api.newDelete('/machines/{id}/process'),
+ users: Api.newGet('/machines/{id}/users'),
+ groups: Api.newGet('/machines/{id}/groups'),
testConn: Api.newPost('/machines/test-conn'),
// 保存按钮
saveMachine: Api.newPost('/machines'),
diff --git a/mayfly_go_web/src/views/ops/machine/cronjob/CronJobExecList.vue b/mayfly_go_web/src/views/ops/machine/cronjob/CronJobExecList.vue
index 365e5ae9..aa763fc7 100644
--- a/mayfly_go_web/src/views/ops/machine/cronjob/CronJobExecList.vue
+++ b/mayfly_go_web/src/views/ops/machine/cronjob/CronJobExecList.vue
@@ -3,6 +3,7 @@