126 lines
4.7 KiB
HTML
126 lines
4.7 KiB
HTML
|
|
<!DOCTYPE html>
|
||
|
|
<html lang="zh-CN">
|
||
|
|
<head>
|
||
|
|
<meta charset="UTF-8">
|
||
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||
|
|
<title>TBgen_App - 中国科学院卫星软件评测中心</title>
|
||
|
|
<link rel="stylesheet" href="{{ url_for('static', filename='style.css') }}">
|
||
|
|
</head>
|
||
|
|
<body>
|
||
|
|
|
||
|
|
<!-- 侧边栏 -->
|
||
|
|
<aside class="sidebar">
|
||
|
|
<div class="sidebar-header">
|
||
|
|
<h1><span>🛰️</span> 中国科学院卫星软件评测中心</h1>
|
||
|
|
<div class="subtitle">TBgen_App</div>
|
||
|
|
</div>
|
||
|
|
|
||
|
|
<div class="sidebar-content">
|
||
|
|
<div class="section-title">配置文件</div>
|
||
|
|
<select id="config-select" class="config-select">
|
||
|
|
<option>加载中...</option>
|
||
|
|
</select>
|
||
|
|
|
||
|
|
<div id="config-info" class="config-info">
|
||
|
|
<div class="config-info-row">
|
||
|
|
<span class="label">加载中...</span>
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
|
||
|
|
<div class="section-title">题目列表</div>
|
||
|
|
<div id="task-list" class="task-list">
|
||
|
|
<div class="task-item" style="color:var(--text-muted)">请选择配置文件</div>
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
|
||
|
|
<div class="sidebar-footer">
|
||
|
|
配置路径
|
||
|
|
<div id="config-path" class="path">-</div>
|
||
|
|
</div>
|
||
|
|
</aside>
|
||
|
|
|
||
|
|
<!-- 主区域 -->
|
||
|
|
<main class="main">
|
||
|
|
<!-- 标签导航 -->
|
||
|
|
<div class="tab-nav">
|
||
|
|
<button class="tab-btn active" data-tab="run">▶️ 运行</button>
|
||
|
|
<button class="tab-btn" data-tab="results">📊 结果</button>
|
||
|
|
</div>
|
||
|
|
|
||
|
|
<!-- 运行标签页 -->
|
||
|
|
<div id="tab-run" class="tab-content active">
|
||
|
|
<!-- 工具栏 -->
|
||
|
|
<div class="toolbar">
|
||
|
|
<div class="toolbar-title">终端输出</div>
|
||
|
|
<span id="status-badge" class="status-badge idle">就绪</span>
|
||
|
|
<span id="elapsed" class="elapsed"></span>
|
||
|
|
<button id="btn-start" class="btn btn-start">▶ 开始生成</button>
|
||
|
|
<button id="btn-stop" class="btn btn-stop" disabled>⏹ 停止</button>
|
||
|
|
<button id="btn-clear" class="btn btn-clear">🗑 清空</button>
|
||
|
|
</div>
|
||
|
|
|
||
|
|
<!-- 日志区域 -->
|
||
|
|
<div class="log-area">
|
||
|
|
<div class="log-header">
|
||
|
|
<span class="log-header-title">输出日志</span>
|
||
|
|
<div style="display:flex;align-items:center;gap:16px;">
|
||
|
|
<label class="auto-scroll-toggle">
|
||
|
|
<input type="checkbox" id="auto-scroll" checked>
|
||
|
|
自动滚动
|
||
|
|
</label>
|
||
|
|
<span id="log-line-count" class="log-line-count">0 行</span>
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<div id="log-content" class="log-content">
|
||
|
|
<div class="log-placeholder">
|
||
|
|
<div class="log-placeholder-content">
|
||
|
|
<div class="icon">⌨️</div>
|
||
|
|
<div>等待开始生成...</div>
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
|
||
|
|
<!-- 结果标签页 -->
|
||
|
|
<div id="tab-results" class="tab-content">
|
||
|
|
<div class="results-page">
|
||
|
|
<!-- 结果列表视图 -->
|
||
|
|
<div id="results-list-view" class="results-page">
|
||
|
|
<div class="results-toolbar">
|
||
|
|
<input type="text" id="results-search" class="search-input" placeholder="搜索 task_id...">
|
||
|
|
<span id="results-count" class="result-count"></span>
|
||
|
|
<button id="btn-refresh-results" class="btn btn-clear" style="padding:6px 12px;font-size:12px;">🔄 刷新</button>
|
||
|
|
</div>
|
||
|
|
<div id="results-list" class="results-list">
|
||
|
|
<div class="no-results">
|
||
|
|
<div class="no-results-content">
|
||
|
|
<div class="icon">📊</div>
|
||
|
|
<div>加载中...</div>
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
|
||
|
|
<!-- Task 详情视图 -->
|
||
|
|
<div id="task-detail-view" class="task-detail" style="display:none;">
|
||
|
|
<div class="task-detail-header">
|
||
|
|
<button id="btn-back-results" class="back-btn">← 返回列表</button>
|
||
|
|
<span id="detail-task-title" class="task-title"></span>
|
||
|
|
</div>
|
||
|
|
<div class="task-detail-body">
|
||
|
|
<div id="detail-info" class="detail-info"></div>
|
||
|
|
<div class="detail-code">
|
||
|
|
<div id="code-tabs" class="code-tabs"></div>
|
||
|
|
<div id="code-viewer" class="code-viewer"></div>
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
</main>
|
||
|
|
|
||
|
|
<script src="{{ url_for('static', filename='app.js') }}"></script>
|
||
|
|
</body>
|
||
|
|
</html>
|