text-classify-ui/templates/dashboard.html
superlishunqin f434b83090 first commit
2025-03-17 22:43:53 +08:00

239 lines
11 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!-- templates/dashboard.html -->
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>中文文本分类系统</title>
<!-- Bootstrap 5 CSS -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet">
<!-- Font Awesome 图标 -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css">
<!-- 自定义CSS -->
<link rel="stylesheet" href="{{ url_for('static', filename='css/dashboard.css') }}">
</head>
<body>
<!-- 顶部导航栏 -->
<nav class="navbar navbar-expand-lg fixed-top top-navbar">
<div class="container-fluid">
<!-- 侧边栏切换按钮 -->
<button class="btn btn-link text-white me-3 d-lg-none" id="sidebar-toggle">
<i class="fas fa-bars"></i>
</button>
<!-- 网站标题 -->
<a class="navbar-brand text-white" href="#">
<i class="fas fa-file-alt me-2"></i>
中文文本分类系统
</a>
<!-- 右侧用户信息 -->
<div class="ms-auto d-flex align-items-center user-dropdown">
<div class="dropdown">
<a class="nav-link dropdown-toggle text-white" href="#" id="userDropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false">
<i class="fas fa-user-circle me-1"></i>
<span>{{ session.user_name if session.user_name else session.user_email }}</span>
</a>
<ul class="dropdown-menu" aria-labelledby="userDropdown">
<li><a class="dropdown-item" href="#"><i class="fas fa-user me-2"></i>个人资料</a></li>
<li><hr class="dropdown-divider"></li>
<li><a class="dropdown-item" href="{{ url_for('auth.logout') }}"><i class="fas fa-sign-out-alt me-2"></i>退出登录</a></li>
</ul>
</div>
</div>
</div>
</nav>
<!-- 侧边栏 -->
<div class="sidebar">
<div class="px-3 mb-3">
<div class="text-muted small">导航菜单</div>
</div>
<ul class="nav flex-column mb-auto">
<li class="nav-item">
<a href="#" class="sidebar-link active" data-page="classify">
<i class="fas fa-file-alt"></i>
<span>文本分类</span>
</a>
</li>
<li class="nav-item">
<a href="#" class="sidebar-link" data-page="documents">
<i class="fas fa-list-alt"></i>
<span>已处理文本</span>
</a>
</li>
<li class="nav-item">
<a href="#" class="sidebar-link" data-page="batch">
<i class="fas fa-layer-group"></i>
<span>批量文本分类</span>
</a>
</li>
</ul>
</div>
<!-- 主内容区 -->
<div class="main-content">
<!-- 内容区域 - 根据选择的页面显示不同内容 -->
<div id="page-content">
<!-- 文本分类页面 (默认显示) -->
<div class="page-section" id="classify-section">
<h2 class="mb-4">文本分类</h2>
<div class="content-card">
<div class="row">
<div class="col-md-6">
<div class="form-group mb-3">
<label for="text-input" class="form-label">输入文本内容</label>
<textarea class="form-control" id="text-input" rows="10" placeholder="请输入或粘贴需要分类的中文文本..."></textarea>
</div>
<div class="mb-3">
<button id="classify-text-btn" class="btn btn-primary me-2">
<i class="fas fa-search me-1"></i> 分类文本
</button>
<button id="clear-text-btn" class="btn btn-outline-secondary">
<i class="fas fa-eraser me-1"></i> 清空
</button>
</div>
</div>
<div class="col-md-6">
<div class="border rounded p-3 h-100" id="classification-result">
<h5 class="text-center text-muted">
<i class="fas fa-info-circle me-2"></i>
分类结果将在这里显示
</h5>
<div class="text-center mt-4">
<i class="fas fa-arrow-left text-muted me-2"></i>
请在左侧输入文本或上传文件
</div>
</div>
</div>
</div>
</div>
<div class="content-card mt-4">
<h4 class="mb-3">上传文本文件</h4>
<div class="mb-3">
<div class="input-group">
<input type="file" class="form-control" id="file-upload" accept=".txt">
<button class="btn btn-primary" id="upload-file-btn">
<i class="fas fa-upload me-1"></i> 上传并分类
</button>
</div>
<div class="form-text">支持上传 .txt 格式的文本文件</div>
</div>
<div id="file-result" class="mt-3" style="display: none;">
<!-- 文件分类结果将在这里显示 -->
</div>
</div>
</div>
<!-- 已处理文本页面 (默认隐藏) -->
<div class="page-section d-none" id="documents-section">
<h2 class="mb-4">已处理文本</h2>
<div class="content-card">
<div class="row mb-3">
<div class="col-md-6">
<div class="input-group">
<label class="input-group-text" for="category-filter">分类筛选</label>
<select class="form-select" id="category-filter">
<option value="all" selected>全部</option>
<!-- 分类选项将通过JavaScript动态添加 -->
</select>
</div>
</div>
<div class="col-md-6 text-md-end">
<div class="input-group justify-content-md-end">
<label class="input-group-text" for="per-page-select">每页显示</label>
<select class="form-select" style="max-width: 80px;" id="per-page-select">
<option value="10">10</option>
<option value="25">25</option>
<option value="50">50</option>
<option value="100">100</option>
</select>
</div>
</div>
</div>
<div class="mb-3">
<button id="download-selected-btn" class="btn btn-success disabled">
<i class="fas fa-download me-1"></i> 下载选中文件
</button>
</div>
<div class="table-responsive">
<table class="table table-hover" id="documents-table">
<thead>
<tr>
<th width="40">
<div class="form-check">
<input class="form-check-input" type="checkbox" id="select-all-docs">
</div>
</th>
<th>文件名</th>
<th>分类</th>
<th>大小</th>
<th>分类时间</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<!-- 文档列表将通过JavaScript动态添加 -->
<tr>
<td colspan="6" class="text-center py-4">
正在加载文档...
</td>
</tr>
</tbody>
</table>
</div>
<div class="d-flex justify-content-between align-items-center mt-3" id="pagination-container">
<!-- 分页控件将通过JavaScript动态添加 -->
</div>
</div>
</div>
<!-- 批量文本分类页面 (默认隐藏) -->
<div class="page-section d-none" id="batch-section">
<h2 class="mb-4">批量文本分类</h2>
<div class="content-card">
<div class="text-center py-4 mb-4 border rounded">
<i class="fas fa-upload fa-3x mb-3 text-primary"></i>
<h4>上传压缩文件</h4>
<p class="text-muted">支持ZIP/RAR格式最大10MB包含多个TXT文件</p>
<div class="mb-3 mx-auto" style="max-width: 400px;">
<input type="file" class="form-control" id="batch-file-upload" accept=".zip,.rar">
</div>
<button class="btn btn-primary" id="upload-batch-btn">
<i class="fas fa-cogs me-1"></i> 上传并批量分类
</button>
</div>
<div id="batch-result" style="display: none;">
<!-- 批量处理结果将在这里显示 -->
</div>
</div>
</div>
</div>
</div>
<!-- 加载指示器 -->
<div class="spinner-overlay" id="loading-overlay">
<div class="spinner-border text-primary" role="status" style="width: 3rem; height: 3rem;">
<span class="visually-hidden">加载中...</span>
</div>
</div>
<!-- Bootstrap 5 JS with Popper -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script>
<!-- 自定义JavaScript -->
<script src="{{ url_for('static', filename='js/dashboard.js') }}"></script>
</body>
</html>