diff --git a/static/js/app.js b/static/js/app.js index a87eb1d..01b4bf5 100644 --- a/static/js/app.js +++ b/static/js/app.js @@ -2758,21 +2758,6 @@ async function loadHistoryResults(historyId) { // 显示结果 displayResults(result.data); - // 加载相关的查询日志 - try { - await loadQueryLogsByHistory(historyId); - // 自动切换到查询日志选项卡以显示关联信息 - const logsTab = document.getElementById('logs-tab'); - if (logsTab) { - // 添加一个小延迟确保结果已经显示 - setTimeout(() => { - logsTab.click(); - }, 500); - } - } catch (logError) { - console.warn('加载历史记录相关查询日志失败:', logError); - } - // 关闭历史记录modal const modal = bootstrap.Modal.getInstance(document.getElementById('queryHistoryModal')); if (modal) { @@ -2781,7 +2766,7 @@ async function loadHistoryResults(historyId) { const queryTypeDesc = (result.data.history_info && result.data.history_info.query_type === 'sharding') ? '分表查询' : '单表查询'; const historyName = (result.data.history_info && result.data.history_info.name) || '未知'; - showAlert('success', `${queryTypeDesc}历史记录结果 "${historyName}" 加载成功,查询日志已关联显示`); + showAlert('success', `${queryTypeDesc}历史记录结果 "${historyName}" 加载成功`); } else { showAlert('danger', result.error || '加载历史记录结果失败'); } @@ -3199,171 +3184,16 @@ function showAlert(type, message) { let allQueryLogs = []; // 存储所有日志 async function refreshQueryLogs() { - try { - const response = await fetch('/api/query-logs?grouped=true&from_db=true'); - const result = await response.json(); - - if (result.success && result.data) { - if (result.grouped) { - displayGroupedQueryLogs(result.data); - } else { - // 兼容旧版本的平铺显示 - allQueryLogs = result.data; - filterLogsByLevel(); - } - } else { - document.getElementById('query-logs').innerHTML = '
$1;
');
- }
-
- // 高亮重要信息
- message = message.replace(/(\\d+\\.\\d{3}秒)/g, '$1');
- message = message.replace(/(返回记录数=\\d+)/g, '$1');
- message = message.replace(/(执行时间=[\\d.]+秒)/g, '$1');
-
- html += `
- $1;
');
+ }
+
+ // 高亮重要信息
+ formatted = formatted.replace(/([\d.]+秒)/g, '$1');
+ formatted = formatted.replace(/(返回记录数=\d+)/g, '$1');
+ formatted = formatted.replace(/(执行时间=[\d.]+秒)/g, '$1');
+ formatted = formatted.replace(/(分表索引=\d+)/g, '$1');
+ formatted = formatted.replace(/(表名=\w+)/g, '$1');
+
+ return formatted;
+}
+
function filterLogsByLevel() {
// 刷新分组日志显示,应用过滤器
refreshQueryLogs();
@@ -3456,6 +3307,228 @@ async function cleanupOldLogs() {
}
}
+// 显示查询日志对话框
+function showQueryLogsDialog() {
+ // 打开模态框
+ const modal = new bootstrap.Modal(document.getElementById('queryLogsModal'));
+ modal.show();
+
+ // 加载查询日志
+ refreshModalQueryLogs();
+}
+
+// 刷新模态框中的查询日志
+async function refreshModalQueryLogs() {
+ try {
+ const response = await fetch('/api/query-logs?grouped=true&from_db=true');
+ const result = await response.json();
+
+ if (result.success && result.data) {
+ if (result.grouped) {
+ displayModalGroupedQueryLogs(result.data);
+ } else {
+ // 兼容旧版本的平铺显示
+ displayModalQueryLogs(result.data);
+ }
+ } else {
+ document.getElementById('modal-query-logs').innerHTML = '