Files
2026Technology-Competition/docs/issues.html
T

411 lines
26 KiB
HTML

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1.0" name="viewport" />
<title>指摘列表 - AI指摘管理系统</title>
<script src="https://modao.cc/agent-py/static/source/js/tailwindcss.js"></script>
<script src="https://modao.cc/agent-py/static/source/js/iconify-icon.min.js"></script>
<style>
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');
body {
font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}
.sidebar-active {
background-color: rgba(26, 115, 232, 0.1);
color: #1a73e8;
border-right: 4px solid #1a73e8;
}
.issue-row:hover {
background-color: #f8fafc;
cursor: pointer;
}
.agent-suggestion {
position: relative;
}
.agent-suggestion::before {
content: '';
position: absolute;
left: -8px;
top: 50%;
transform: translateY(-50%);
width: 3px;
height: 60%;
background: linear-gradient(to bottom, #1a73e8, #60a5fa);
border-radius: 2px;
}
</style>
</head>
<body class="bg-gray-50 text-gray-800 flex overflow-hidden h-screen">
<!-- Sidebar (Same as Dashboard) -->
<aside class="w-64 bg-white border-r border-gray-200 flex flex-col flex-none">
<div class="p-6 flex items-center gap-3">
<div class="w-10 h-10 bg-blue-600 rounded-xl flex items-center justify-center shadow-lg shadow-blue-200">
<iconify-icon class="text-white text-2xl" icon="lucide:shield-check"></iconify-icon>
</div>
<div>
<h1 class="font-bold text-lg leading-none text-gray-900">IMS</h1>
<p class="text-[10px] text-gray-400 mt-1 uppercase tracking-widest font-semibold">AI Assistant</p>
</div>
</div>
<nav class="flex-1 mt-4 px-3 space-y-1 overflow-y-auto">
<a class="flex items-center gap-3 px-4 py-3 rounded-lg text-gray-600 hover:bg-gray-50 transition-all group"
href="dashboard.html">
<iconify-icon class="text-xl" icon="lucide:layout-dashboard"></iconify-icon>
<span class="font-medium text-sm">工作台</span>
</a>
<a class="flex items-center gap-3 px-4 py-3 rounded-lg sidebar-active transition-all group"
href="issues.html">
<iconify-icon class="text-xl" icon="lucide:list-todo"></iconify-icon>
<span class="font-medium text-sm">指摘列表</span>
</a>
<a class="flex items-center gap-3 px-4 py-3 rounded-lg text-gray-600 hover:bg-gray-50 transition-all group"
href="batch-input.html">
<iconify-icon class="text-xl group-hover:text-blue-600" icon="lucide:file-up"></iconify-icon>
<span class="font-medium text-sm">批量录入</span>
</a>
<div class="pt-4 pb-2 px-4 text-[10px] font-bold text-gray-400 uppercase tracking-widest">AI 智能分析</div>
<a class="flex items-center gap-3 px-4 py-3 rounded-lg text-gray-600 hover:bg-gray-50 transition-all group" href="ai-analysis.html">
<iconify-icon class="text-xl" icon="lucide:brain-circuit"></iconify-icon>
<span class="font-medium text-sm">AI分析记录</span>
</a>
<a class="flex items-center gap-3 px-4 py-3 rounded-lg text-gray-600 hover:bg-gray-50 transition-all group"
href="knowledge-base.html">
<iconify-icon class="text-xl" icon="lucide:database"></iconify-icon>
<span class="font-medium text-sm">知识库管理</span>
</a>
<div class="pt-4 pb-2 px-4 text-[10px] font-bold text-gray-400 uppercase tracking-widest">系统设置</div>
<a class="flex items-center gap-3 px-4 py-3 rounded-lg text-gray-600 hover:bg-gray-50 transition-all group"
href="users.html">
<iconify-icon class="text-xl group-hover:text-blue-600" icon="lucide:users"></iconify-icon>
<span class="font-medium text-sm">用户管理</span>
</a>
<a class="flex items-center gap-3 px-4 py-3 rounded-lg text-gray-600 hover:bg-gray-50 transition-all group"
href="roles.html">
<iconify-icon class="text-xl group-hover:text-blue-600" icon="lucide:key-round"></iconify-icon>
<span class="font-medium text-sm">角色权限</span>
</a>
<a class="flex items-center gap-3 px-4 py-3 rounded-lg text-gray-600 hover:bg-gray-50 transition-all group"
href="agent-management.html">
<iconify-icon class="text-xl group-hover:text-blue-600" icon="lucide:bot"></iconify-icon>
<span class="font-medium text-sm">Agent管理</span>
</a>
</nav>
</aside>
<!-- Main Content -->
<main class="flex-1 flex flex-col min-w-0 overflow-hidden">
<!-- Header -->
<header class="h-16 bg-white border-b border-gray-200 flex items-center justify-between px-8 flex-none">
<div class="flex items-center gap-4">
<h2 class="text-lg font-semibold text-gray-800">指摘列表</h2>
<div class="flex items-center px-3 py-1.5 bg-blue-50 text-blue-700 rounded-full text-xs font-bold">
<iconify-icon class="mr-1" icon="lucide:sparkles"></iconify-icon>
AI 实时监控中
</div>
</div>
<div class="flex items-center gap-4">
<div class="relative">
<iconify-icon class="absolute left-3 top-1/2 -translate-y-1/2 text-gray-400"
icon="lucide:search"></iconify-icon>
<input
class="pl-9 pr-4 py-2 bg-gray-50 border border-gray-200 rounded-lg text-sm w-80 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:bg-white transition-all"
placeholder="搜索指摘 ID、标题或关键词..." type="text" />
</div>
<button class="flex items-center gap-2 bg-gray-100 hover:bg-gray-200 text-gray-700 px-4 py-2 rounded-lg text-sm font-semibold transition-colors">
<iconify-icon icon="lucide:file-spreadsheet"></iconify-icon> 导出 Excel
</button>
<a href="issue-new.html" target="_self" class="flex items-center gap-2 bg-blue-600 hover:bg-blue-700 text-white px-4 py-2 rounded-lg text-sm font-semibold transition-colors">
<iconify-icon icon="lucide:plus"></iconify-icon> 新建指摘
</a>
</div>
</header>
<!-- Main Body -->
<div class="flex-1 overflow-y-auto p-8 flex flex-col gap-8">
<!-- Status Tabs / Overview -->
<div class="grid grid-cols-4 gap-6 flex-none">
<div
class="bg-white border-b-4 border-orange-400 p-4 rounded-xl shadow-sm hover:shadow-md transition-shadow cursor-pointer">
<div class="flex justify-between items-center mb-1">
<span class="text-xs font-bold text-gray-500 uppercase tracking-wider">待对应</span>
<iconify-icon class="text-orange-400" icon="lucide:alert-circle"></iconify-icon>
</div>
<div class="text-2xl font-bold text-gray-900">42</div>
</div>
<div
class="bg-white border-b-4 border-blue-400 p-4 rounded-xl shadow-sm hover:shadow-md transition-shadow cursor-pointer">
<div class="flex justify-between items-center mb-1">
<span class="text-xs font-bold text-gray-500 uppercase tracking-wider">对应中</span>
<iconify-icon class="text-blue-400" icon="lucide:clock"></iconify-icon>
</div>
<div class="text-2xl font-bold text-gray-900">128</div>
</div>
<div
class="bg-white border-b-4 border-purple-400 p-4 rounded-xl shadow-sm hover:shadow-md transition-shadow cursor-pointer">
<div class="flex justify-between items-center mb-1">
<span class="text-xs font-bold text-gray-500 uppercase tracking-wider">待确认</span>
<iconify-icon class="text-purple-400" icon="lucide:eye"></iconify-icon>
</div>
<div class="text-2xl font-bold text-gray-900">65</div>
</div>
<div
class="bg-white border-b-4 border-green-400 p-4 rounded-xl shadow-sm hover:shadow-md transition-shadow cursor-pointer">
<div class="flex justify-between items-center mb-1">
<span class="text-xs font-bold text-gray-500 uppercase tracking-wider">已关闭</span>
<iconify-icon class="text-green-400" icon="lucide:check-circle"></iconify-icon>
</div>
<div class="text-2xl font-bold text-gray-900">856</div>
</div>
</div>
<!-- Filter Panel -->
<div class="bg-white p-6 rounded-2xl border border-gray-100 shadow-sm">
<div class="flex items-center gap-2 mb-4">
<iconify-icon class="text-gray-400" icon="lucide:sliders-horizontal"></iconify-icon>
<span class="text-sm font-bold text-gray-700">筛选条件</span>
</div>
<div class="grid grid-cols-4 gap-4">
<div class="space-y-1.5">
<label class="text-[11px] font-bold text-gray-400 uppercase">工程阶段</label>
<select
class="w-full bg-gray-50 border border-gray-200 rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-blue-500">
<option>全部</option>
<option>基本设计</option>
<option>详细设计</option>
<option>单体测试</option>
<option>结合测试</option>
</select>
</div>
<div class="space-y-1.5">
<label class="text-[11px] font-bold text-gray-400 uppercase">子工程</label>
<select
class="w-full bg-gray-50 border border-gray-200 rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-blue-500">
<option>全部</option>
<option>子系统 A</option>
<option>子系统 B</option>
</select>
</div>
<div class="space-y-1.5">
<label class="text-[11px] font-bold text-gray-400 uppercase">优先级</label>
<select
class="w-full bg-gray-50 border border-gray-200 rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-blue-500">
<option>全部</option>
<option>紧急</option>
<option></option>
<option></option>
<option></option>
</select>
</div>
<div class="space-y-1.5">
<label class="text-[11px] font-bold text-gray-400 uppercase">影响度</label>
<select
class="w-full bg-gray-50 border border-gray-200 rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-blue-500">
<option>全部</option>
<option>严重</option>
<option>较大</option>
<option>一般</option>
</select>
</div>
</div>
<div class="flex justify-end mt-4 gap-2">
<button
class="px-4 py-2 text-sm font-semibold text-gray-500 hover:text-gray-700 transition-colors">重置</button>
<button
class="px-6 py-2 bg-gray-900 text-white rounded-lg text-sm font-semibold hover:bg-black transition-all">应用筛选</button>
</div>
</div>
<!-- Agent批量操作栏 -->
<div class="bg-blue-50 border border-blue-100 rounded-xl p-4 flex items-center justify-between">
<div class="flex items-center gap-3">
<div class="w-8 h-8 bg-blue-100 rounded-lg flex items-center justify-center">
<iconify-icon class="text-blue-600" icon="lucide:bot"></iconify-icon>
</div>
<div>
<p class="text-sm font-bold text-blue-800">Agent 批量处理</p>
<p class="text-[10px] text-blue-600/70">选中多条指摘后,可使用 Agent 统一分配或催办</p>
</div>
</div>
<div class="flex gap-2">
<button class="px-4 py-2 bg-white border border-blue-200 text-blue-700 rounded-lg text-xs font-bold hover:bg-blue-50 transition-all flex items-center gap-1.5">
<iconify-icon icon="lucide:shuffle" width="14"></iconify-icon> Agent 统一分配
</button>
<button class="px-4 py-2 bg-white border border-blue-200 text-blue-700 rounded-lg text-xs font-bold hover:bg-blue-50 transition-all flex items-center gap-1.5">
<iconify-icon icon="lucide:bell" width="14"></iconify-icon> Agent 批量催办
</button>
<button class="px-4 py-2 bg-blue-600 text-white rounded-lg text-xs font-bold hover:bg-blue-700 transition-all flex items-center gap-1.5 shadow-sm shadow-blue-200">
<iconify-icon icon="lucide:sparkles" width="14"></iconify-icon> Agent 智能分析
</button>
</div>
</div>
<!-- Table Container -->
<div class="bg-white rounded-2xl border border-gray-100 shadow-sm overflow-hidden flex flex-col">
<table class="w-full text-left">
<thead class="bg-gray-50 border-b border-gray-100">
<tr>
<th class="px-4 py-4 w-10">
<input type="checkbox" class="rounded border-gray-300 text-blue-600 focus:ring-blue-500" />
</th>
<th class="px-6 py-4 text-[11px] font-bold text-gray-400 uppercase tracking-wider">ID / 标题</th>
<th class="px-6 py-4 text-[11px] font-bold text-gray-400 uppercase tracking-wider text-center">状态</th>
<th class="px-6 py-4 text-[11px] font-bold text-gray-400 uppercase tracking-wider text-center">优先级</th>
<th class="px-6 py-4 text-[11px] font-bold text-gray-400 uppercase tracking-wider text-center">影响度</th>
<th class="px-6 py-4 text-[11px] font-bold text-gray-400 uppercase tracking-wider">对应者</th>
<th class="px-6 py-4 text-[11px] font-bold text-gray-400 uppercase tracking-wider">Agent 建议</th>
<th class="px-6 py-4 text-[11px] font-bold text-gray-400 uppercase tracking-wider">日期</th>
<th class="px-6 py-4 text-[11px] font-bold text-gray-400 uppercase tracking-wider text-right">操作</th>
</tr>
</thead>
<tbody class="divide-y divide-gray-50">
<!-- Row 1 -->
<tr class="issue-row group">
<td class="px-4 py-4">
<input type="checkbox" class="rounded border-gray-300 text-blue-600 focus:ring-blue-500" />
</td>
<td class="px-6 py-4" onclick="window.location.href='issue-detail.html'">
<p class="text-[10px] font-bold text-blue-600 mb-1">ISSUE-2026-089</p>
<p class="text-sm font-semibold text-gray-900 group-hover:text-blue-600 transition-colors">UI 适配在大屏幕(4K)下出现布局错位</p>
</td>
<td class="px-6 py-4 text-center">
<span class="px-3 py-1 bg-blue-50 text-blue-700 rounded-full text-[11px] font-bold border border-blue-100">对应中</span>
</td>
<td class="px-6 py-4 text-center">
<span class="px-3 py-1 bg-red-50 text-red-600 rounded-full text-[11px] font-bold border border-red-100">紧急</span>
</td>
<td class="px-6 py-4 text-center">
<iconify-icon class="text-red-500 text-lg" icon="lucide:arrow-up-circle"></iconify-icon>
</td>
<td class="px-6 py-4 text-sm font-medium text-gray-700">陈志伟</td>
<td class="px-6 py-4">
<div class="agent-suggestion pl-2">
<p class="text-[11px] text-blue-700 font-medium">知识库匹配到相似案例 #KB-042</p>
<p class="text-[10px] text-gray-400 mt-0.5">建议替换 min-h-screen</p>
</div>
</td>
<td class="px-6 py-4 text-xs text-gray-500 font-medium">2026-07-17</td>
<td class="px-6 py-4 text-right">
<iconify-icon class="text-gray-400 hover:text-blue-600" icon="lucide:more-vertical"></iconify-icon>
</td>
</tr>
<!-- Row 2 -->
<tr class="issue-row group">
<td class="px-4 py-4">
<input type="checkbox" class="rounded border-gray-300 text-blue-600 focus:ring-blue-500" />
</td>
<td class="px-6 py-4" onclick="window.location.href='issue-detail.html'">
<p class="text-[10px] font-bold text-blue-600 mb-1">ISSUE-2026-085</p>
<p class="text-sm font-semibold text-gray-900 group-hover:text-blue-600 transition-colors">数据库慢查询:用户订单统计页面响应超 5s</p>
</td>
<td class="px-6 py-4 text-center">
<span class="px-3 py-1 bg-orange-50 text-orange-700 rounded-full text-[11px] font-bold border border-orange-100">待对应</span>
</td>
<td class="px-6 py-4 text-center">
<span class="px-3 py-1 bg-orange-50 text-orange-600 rounded-full text-[11px] font-bold border border-orange-100"></span>
</td>
<td class="px-6 py-4 text-center">
<iconify-icon class="text-orange-500 text-lg" icon="lucide:arrow-up-circle"></iconify-icon>
</td>
<td class="px-6 py-4 text-sm font-medium text-gray-400">未分配</td>
<td class="px-6 py-4">
<div class="agent-suggestion pl-2">
<p class="text-[11px] text-orange-700 font-medium">建议添加复合索引</p>
<p class="text-[10px] text-gray-400 mt-0.5">检测到缺失 WHERE 索引</p>
</div>
</td>
<td class="px-6 py-4 text-xs text-gray-500 font-medium">2026-07-16</td>
<td class="px-6 py-4 text-right">
<iconify-icon class="text-gray-400 hover:text-blue-600" icon="lucide:more-vertical"></iconify-icon>
</td>
</tr>
<!-- Row 3 -->
<tr class="issue-row group">
<td class="px-4 py-4">
<input type="checkbox" class="rounded border-gray-300 text-blue-600 focus:ring-blue-500" />
</td>
<td class="px-6 py-4" onclick="window.location.href='issue-detail.html'">
<p class="text-[10px] font-bold text-blue-600 mb-1">ISSUE-2026-082</p>
<p class="text-sm font-semibold text-gray-900 group-hover:text-blue-600 transition-colors">登录页面表单校验逻辑漏掉了特殊字符处理</p>
</td>
<td class="px-6 py-4 text-center">
<span class="px-3 py-1 bg-purple-50 text-purple-700 rounded-full text-[11px] font-bold border border-purple-100">待确认</span>
</td>
<td class="px-6 py-4 text-center">
<span class="px-3 py-1 bg-gray-50 text-gray-600 rounded-full text-[11px] font-bold border border-gray-100"></span>
</td>
<td class="px-6 py-4 text-center">
<iconify-icon class="text-gray-400 text-lg" icon="lucide:arrow-right-circle"></iconify-icon>
</td>
<td class="px-6 py-4 text-sm font-medium text-gray-700">张美心</td>
<td class="px-6 py-4">
<div class="agent-suggestion pl-2">
<p class="text-[11px] text-green-700 font-medium">整改方案已验证通过</p>
<p class="text-[10px] text-gray-400 mt-0.5">可进入确认流程</p>
</div>
</td>
<td class="px-6 py-4 text-xs text-gray-500 font-medium">2026-07-15</td>
<td class="px-6 py-4 text-right">
<iconify-icon class="text-gray-400 hover:text-blue-600" icon="lucide:more-vertical"></iconify-icon>
</td>
</tr>
<!-- Row 4 -->
<tr class="issue-row group">
<td class="px-4 py-4">
<input type="checkbox" class="rounded border-gray-300 text-blue-600 focus:ring-blue-500" />
</td>
<td class="px-6 py-4" onclick="window.location.href='issue-detail.html'">
<p class="text-[10px] font-bold text-blue-600 mb-1">ISSUE-2026-078</p>
<p class="text-sm font-semibold text-gray-900 group-hover:text-blue-600 transition-colors">API 文档中 PGM_005 接口参数描述错误</p>
</td>
<td class="px-6 py-4 text-center">
<span class="px-3 py-1 bg-green-50 text-green-700 rounded-full text-[11px] font-bold border border-green-100">已关闭</span>
</td>
<td class="px-6 py-4 text-center">
<span class="px-3 py-1 bg-gray-50 text-gray-600 rounded-full text-[11px] font-bold border border-gray-100"></span>
</td>
<td class="px-6 py-4 text-center">
<iconify-icon class="text-green-500 text-lg" icon="lucide:arrow-down-circle"></iconify-icon>
</td>
<td class="px-6 py-4 text-sm font-medium text-gray-700">李华</td>
<td class="px-6 py-4">
<div class="pl-2">
<p class="text-[11px] text-gray-400"></p>
</div>
</td>
<td class="px-6 py-4 text-xs text-gray-500 font-medium">2026-07-14</td>
<td class="px-6 py-4 text-right">
<iconify-icon class="text-gray-400 hover:text-blue-600" icon="lucide:more-vertical"></iconify-icon>
</td>
</tr>
</tbody>
</table>
<!-- Pagination -->
<div class="px-6 py-4 bg-gray-50 border-t border-gray-100 flex items-center justify-between">
<p class="text-xs text-gray-500 font-medium">显示 1 到 4 条,共 1,091 条</p>
<div class="flex gap-1">
<button
class="w-8 h-8 rounded border border-gray-200 flex items-center justify-center text-gray-400 hover:bg-white transition-colors"><iconify-icon
icon="lucide:chevron-left"></iconify-icon></button>
<button
class="w-8 h-8 rounded border border-blue-600 bg-blue-600 text-white flex items-center justify-center text-xs font-bold transition-colors">1</button>
<button
class="w-8 h-8 rounded border border-gray-200 flex items-center justify-center text-xs font-bold text-gray-600 hover:bg-white transition-colors">2</button>
<button
class="w-8 h-8 rounded border border-gray-200 flex items-center justify-center text-xs font-bold text-gray-600 hover:bg-white transition-colors">3</button>
<button
class="w-8 h-8 rounded border border-gray-200 flex items-center justify-center text-gray-400 hover:bg-white transition-colors"><iconify-icon
icon="lucide:chevron-right"></iconify-icon></button>
</div>
</div>
</div>
</div>
</main>
</body>
</html>