diff --git a/web/src/components/PGTopo.vue b/web/src/components/PGTopo.vue
index 02b6ccfce761885762552e6836a4e4ea54a1fa42..163252078a27f417f8690f86cc441df5a5e7dfed 100644
--- a/web/src/components/PGTopo.vue
+++ b/web/src/components/PGTopo.vue
@@ -20,6 +20,8 @@ import resource_logo from "@/assets/icon/resource.png";
import { useTopoStore } from '@/stores/topo';
import { colorSets, graphInitOptions, graphTreeInitOptions } from './PGOptions';
+const emit = defineEmits(['clickTopoCanvas'])
+
const props = defineProps({
graph_mode: {
type: String,
@@ -53,6 +55,11 @@ onMounted(() => {
topo_container = document.getElementById("topo-container")!;
topoW.value = topo_container.clientWidth;
topoH.value = topo_container.clientHeight;
+ document.getElementById('topo-container')!.addEventListener('click', function (_event: any) {
+ // 点击画布时,关闭日志弹窗和tab页面
+ console.log(_event)
+ emit('clickTopoCanvas', _event)
+ });
})
const updateTopoData = (topoData: any) => {
diff --git a/web/src/views/TopoDisplay.vue b/web/src/views/TopoDisplay.vue
index 7f8f4f142046ee4f23eb85b9e8224560d1b24ccb..cdb80e0979ae346ea531201ca3b6c4b9ce9db4d4 100644
--- a/web/src/views/TopoDisplay.vue
+++ b/web/src/views/TopoDisplay.vue
@@ -20,7 +20,8 @@
-
+
@@ -64,24 +65,24 @@ let request_id: string | number
let showLogChart = ref(false);
const logChart = ref(null)
+const topoRef = ref(null)
+
const dialog = ref(false);
const title = ref('日志详情');
onMounted(() => {
loading.value = true;
- document.getElementById('topoDisplay')!.addEventListener('click', function (_event: any) {
- // 点击画布时,关闭日志弹窗和tab页面
- if (_event.target.nodeName === 'CANVAS') {
- dialog.value = false;
- showLogChart.value = false;
- }
-
- });
})
onBeforeUnmount(() => {
// 离开页面,清空点击事件缓存数据
useTopoStore().$reset();
})
+const clickTopoCanvas = (_e: any) => {
+ console.log('点击了topo的画布')
+ dialog.value = false;
+ showLogChart.value = false;
+}
+
const goBack = () => {
if (timer) {
diff --git a/web/src/views/customTopo.vue b/web/src/views/customTopo.vue
index df844e969e2c6b43ddffaca8c7903754c920feb1..c2f7986f62bbb1052b565506e227bccec175085d 100644
--- a/web/src/views/customTopo.vue
+++ b/web/src/views/customTopo.vue
@@ -169,9 +169,9 @@ const handleRuleType = (type: string, index: number) => {
// 获取批次所有主机
const handlebatchDetail = (e: string) => {
- let baychInfo = e.split('~');
- customForm.batchId = Number(baychInfo[0]);
- customForm.batchName = baychInfo[1];
+ let batchInfo = e.split('~');
+ customForm.batchId = Number(batchInfo[0]);
+ customForm.batchName = batchInfo[1];
getBatchDetail({ batchId: customForm.batchId }).then(res => {
if (res.data.code === 200) {
hosts.value = res.data.data;
@@ -264,6 +264,7 @@ watch(() => useConfigStore().topo_config, (newConfig) => {
configId.value = currentConf.id;
setTimeout(() => {
customForm.batchName = batchs.value.filter(item => item.id === customForm.batchId)[0].name;
+ handlebatchDetail(customForm.batchId + '~' + customForm.batchName);
}, 100)
}
}, { immediate: true, deep: true })
diff --git a/web/src/views/topoLogs/index.vue b/web/src/views/topoLogs/index.vue
index f9101809b6165ea02095bbe0cab8710a90954e86..5dad472555087fe7f00abdd67a6deb38d9521b15 100644
--- a/web/src/views/topoLogs/index.vue
+++ b/web/src/views/topoLogs/index.vue
@@ -43,7 +43,7 @@
-
@@ -72,7 +72,7 @@ const dialog = ref(false);
const title = ref('日志详情');
const log_type = ref('log');
const back_btn = ref(false);
-const clickChange = ref('first');
+const clickChange = ref('');
onMounted(() => {
getLogData();
@@ -152,13 +152,13 @@ const getLogData = (_params?: any) => {
case 'log':
if (_params || clickChange.value === 'first') {
// 第一次点击,请求进程信息
- back_btn.value = true;
- clickChange.value = 'second';
console.log('请求进程图表')
getELKProcessLogData(handleParams(_params)).then(res => {
if (res.data.code === 200) {
if (res.data.data.length > 0) {
logs.value = res.data.data;
+ back_btn.value = true;
+ clickChange.value = 'second';
} else {
ElMessage.info('无数据,请稍后重试')
}
@@ -244,6 +244,8 @@ const handleShowLog = (_process_info?: any, _size?: number) => {
if (res.data.data.hits.length > 0) {
log_stream.value = res.data.data.hits;
log_total.value = res.data.data.total;
+ } else {
+ ElMessage.info('当前时段日志文件无数据')
}
} else {
ElMessage.error(res.data.msg)
diff --git a/web/src/views/topoLogs/logStream.vue b/web/src/views/topoLogs/logStream.vue
index f34d562e5d9cc489208cb4e851f991f7a75f4e20..075c34ec94bd51dc893a41a871b3bb763e9e1f19 100644
--- a/web/src/views/topoLogs/logStream.vue
+++ b/web/src/views/topoLogs/logStream.vue
@@ -82,6 +82,9 @@ watchEffect(() => {
for (let i = 0; i < props.log_data.length; i++) {
activeNames.value.push(i);
}
+ } else {
+ log_stream.value = [];
+ total_logs.value = 0;
}
})
interface TimeRange {