init: 2026Technology-Competition initial commit
This commit is contained in:
@@ -0,0 +1,316 @@
|
||||
<!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', sans-serif;
|
||||
}
|
||||
|
||||
.sidebar-active {
|
||||
background-color: rgba(26, 115, 232, 0.1);
|
||||
color: #1a73e8;
|
||||
border-right: 4px solid #1a73e8;
|
||||
}
|
||||
|
||||
.upload-dashed {
|
||||
background-image: url("data:image/svg+xml,%3csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%25' height='100%25' fill='none' rx='16' ry='16' stroke='%23D1D5DBFF' stroke-width='3' stroke-dasharray='8%2c 12' stroke-dashoffset='0' stroke-linecap='square'/%3e%3c/svg%3e");
|
||||
}
|
||||
|
||||
.upload-dashed:hover {
|
||||
background-image: url("data:image/svg+xml,%3csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%25' height='100%25' fill='none' rx='16' ry='16' stroke='%231A73E8FF' stroke-width='3' stroke-dasharray='8%2c 12' stroke-dashoffset='0' stroke-linecap='square'/%3e%3c/svg%3e");
|
||||
border-color: transparent;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body class="bg-gray-50 text-gray-800 flex overflow-hidden h-screen">
|
||||
<!-- Sidebar (Shared) -->
|
||||
<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 text-gray-600 hover:bg-gray-50 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 sidebar-active transition-all group"
|
||||
href="batch-input.html">
|
||||
<iconify-icon class="text-xl" 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" 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" 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" 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 class="h-16 bg-white border-b border-gray-200 flex items-center justify-between px-8 flex-none">
|
||||
<h2 class="text-lg font-semibold text-gray-800">指摘批量录入</h2>
|
||||
<div class="flex gap-3">
|
||||
<button
|
||||
class="flex items-center gap-2 px-4 py-2 text-sm font-semibold text-blue-600 border border-blue-200 bg-blue-50 rounded-lg hover:bg-blue-100 transition-colors">
|
||||
<iconify-icon icon="lucide:download"></iconify-icon> 下载导入模板
|
||||
</button>
|
||||
</div>
|
||||
</header>
|
||||
<div class="flex-1 overflow-y-auto p-8 space-y-8">
|
||||
<!-- Step 1: Upload -->
|
||||
<div
|
||||
class="bg-white p-10 rounded-2xl border border-gray-100 shadow-sm flex flex-col items-center justify-center text-center upload-dashed group transition-all">
|
||||
<div
|
||||
class="w-20 h-20 bg-blue-50 text-blue-600 rounded-full flex items-center justify-center mb-6 group-hover:scale-110 transition-transform">
|
||||
<iconify-icon class="text-4xl" icon="lucide:upload-cloud"></iconify-icon>
|
||||
</div>
|
||||
<h3 class="text-lg font-bold text-gray-900 mb-2">点击或拖拽文件到此处上传</h3>
|
||||
<p class="text-sm text-gray-400 mb-6">支持 .xlsx, .xls 文件,单个文件不超过 10MB</p>
|
||||
<input class="hidden" id="fileInput" type="file" />
|
||||
<button
|
||||
class="bg-blue-600 text-white px-8 py-3 rounded-xl font-bold hover:bg-blue-700 transition-all shadow-lg shadow-blue-200"
|
||||
onclick="document.getElementById('fileInput').click()">选择文件</button>
|
||||
</div>
|
||||
<!-- Step 2: Agent Validation (Hidden by default, shown after upload simulation) -->
|
||||
<div class="grid grid-cols-1 lg:grid-cols-3 gap-8">
|
||||
<!-- Validation Result -->
|
||||
<div class="lg:col-span-1 space-y-4">
|
||||
<div class="bg-white p-6 rounded-2xl border border-gray-100 shadow-sm">
|
||||
<div class="flex items-center justify-between mb-6">
|
||||
<div class="flex items-center gap-2">
|
||||
<iconify-icon class="text-blue-600 text-xl" icon="lucide:bot"></iconify-icon>
|
||||
<h4 class="font-bold text-gray-800">Agent 校验结果</h4>
|
||||
</div>
|
||||
<span class="px-2 py-0.5 bg-orange-100 text-orange-600 rounded text-[10px] font-bold">发现 3
|
||||
个建议</span>
|
||||
</div>
|
||||
<div class="space-y-4">
|
||||
<div class="p-4 bg-orange-50 rounded-xl border border-orange-100 relative group">
|
||||
<span class="absolute right-3 top-3 text-[10px] font-bold text-orange-400 uppercase">第 8
|
||||
行</span>
|
||||
<p class="text-[11px] font-bold text-orange-700 mb-1">字段: 工程阶段</p>
|
||||
<p class="text-xs text-orange-800/70 mb-3">输入内容 "详细测试" 在系统中不存在,根据上下文推断应为 "详细设计"。</p>
|
||||
<button
|
||||
class="w-full py-1.5 bg-white border border-orange-200 text-orange-700 text-[11px] font-bold rounded-lg hover:bg-orange-600 hover:text-white transition-all shadow-sm">应用修正</button>
|
||||
</div>
|
||||
<div class="p-4 bg-orange-50 rounded-xl border border-orange-100 relative">
|
||||
<span class="absolute right-3 top-3 text-[10px] font-bold text-orange-400 uppercase">第
|
||||
12 行</span>
|
||||
<p class="text-[11px] font-bold text-orange-700 mb-1">字段: 优先级</p>
|
||||
<p class="text-xs text-orange-800/70 mb-3">内容为空。检测到指摘描述包含 "崩溃"、"无法启动" 等词汇,建议设为 "紧急"。</p>
|
||||
<button
|
||||
class="w-full py-1.5 bg-white border border-orange-200 text-orange-700 text-[11px] font-bold rounded-lg hover:bg-orange-600 hover:text-white transition-all shadow-sm">应用修正</button>
|
||||
</div>
|
||||
<div class="p-4 bg-green-50 rounded-xl border border-green-100 flex items-center gap-3">
|
||||
<iconify-icon class="text-green-600 text-xl" icon="lucide:check-circle"></iconify-icon>
|
||||
<div>
|
||||
<p class="text-[11px] font-bold text-green-700 leading-none mb-1">其余 15 条数据校验通过</p>
|
||||
<p class="text-[10px] text-green-600/70">Agent 已完成自动关联与去重校验。</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<button
|
||||
class="w-full mt-6 py-3 bg-gray-900 text-white rounded-xl font-bold text-sm hover:bg-black transition-all shadow-lg shadow-gray-200">一键应用全部修正</button>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Preview Table -->
|
||||
<div
|
||||
class="lg:col-span-2 bg-white rounded-2xl border border-gray-100 shadow-sm overflow-hidden flex flex-col">
|
||||
<div class="p-6 border-b border-gray-100 flex justify-between items-center bg-gray-50/50">
|
||||
<h4 class="font-bold text-gray-800">预检数据预览 (18 条)</h4>
|
||||
<div class="flex gap-2">
|
||||
<span class="flex items-center gap-1 text-[10px] text-gray-400"><span
|
||||
class="w-2 h-2 bg-orange-400 rounded-full"></span> 待修正</span>
|
||||
<span class="flex items-center gap-1 text-[10px] text-gray-400"><span
|
||||
class="w-2 h-2 bg-green-400 rounded-full"></span> 已就绪</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="overflow-x-auto">
|
||||
<table class="w-full text-left text-xs">
|
||||
<thead class="bg-gray-50 border-b border-gray-100">
|
||||
<tr>
|
||||
<th class="px-6 py-3 font-bold text-gray-400 uppercase tracking-wider">行号</th>
|
||||
<th class="px-6 py-3 font-bold text-gray-400 uppercase tracking-wider">标题</th>
|
||||
<th class="px-6 py-3 font-bold text-gray-400 uppercase tracking-wider">工程阶段</th>
|
||||
<th class="px-6 py-3 font-bold text-gray-400 uppercase tracking-wider">优先级</th>
|
||||
<th class="px-6 py-3 font-bold text-gray-400 uppercase tracking-wider">担当者</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="divide-y divide-gray-50">
|
||||
<tr class="bg-orange-50/30">
|
||||
<td class="px-6 py-4 font-bold text-gray-400">08</td>
|
||||
<td class="px-6 py-4 font-medium text-gray-700">页面加载异常</td>
|
||||
<td class="px-6 py-4"><span
|
||||
class="text-red-500 font-bold underline decoration-wavy">详细测试</span></td>
|
||||
<td class="px-6 py-4 text-gray-500">中</td>
|
||||
<td class="px-6 py-4 text-gray-500">王志</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="px-6 py-4 font-bold text-gray-400">09</td>
|
||||
<td class="px-6 py-4 font-medium text-gray-700">Logo 尺寸显示不正确</td>
|
||||
<td class="px-6 py-4 text-gray-500">详细设计</td>
|
||||
<td class="px-6 py-4 text-gray-500">低</td>
|
||||
<td class="px-6 py-4 text-gray-500">李思</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="px-6 py-4 font-bold text-gray-400">10</td>
|
||||
<td class="px-6 py-4 font-medium text-gray-700">数据库连接泄漏问题</td>
|
||||
<td class="px-6 py-4 text-gray-500">单体测试</td>
|
||||
<td class="px-6 py-4 text-gray-500">高</td>
|
||||
<td class="px-6 py-4 text-gray-500">陈刚</td>
|
||||
</tr>
|
||||
<tr class="bg-orange-50/30">
|
||||
<td class="px-6 py-4 font-bold text-gray-400">12</td>
|
||||
<td class="px-6 py-4 font-medium text-gray-700">生产环境宕机风险点</td>
|
||||
<td class="px-6 py-4 text-gray-500">基本设计</td>
|
||||
<td class="px-6 py-4"><span
|
||||
class="text-red-500 font-bold bg-red-100 px-1 rounded">未填</span></td>
|
||||
<td class="px-6 py-4 text-gray-500">未分配</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="p-6 bg-gray-50 border-t border-gray-100 flex justify-end">
|
||||
<button
|
||||
class="bg-blue-600 text-white px-10 py-3 rounded-xl font-bold hover:bg-blue-700 transition-all shadow-lg shadow-blue-100 flex items-center gap-2">
|
||||
确认并正式导入 (18 条) <iconify-icon icon="lucide:arrow-right"></iconify-icon>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 历史导入记录 -->
|
||||
<div class="bg-white rounded-2xl border border-gray-100 shadow-sm overflow-hidden">
|
||||
<div class="p-6 border-b border-gray-100 flex justify-between items-center bg-gray-50/30">
|
||||
<div class="flex items-center gap-3">
|
||||
<iconify-icon class="text-blue-600 text-xl" icon="lucide:history"></iconify-icon>
|
||||
<h4 class="font-bold text-gray-800">历史导入记录</h4>
|
||||
</div>
|
||||
<div class="flex gap-2">
|
||||
<button class="p-2 hover:bg-white rounded-lg border border-transparent hover:border-gray-200 text-gray-400 transition-all"><iconify-icon icon="lucide:filter"></iconify-icon></button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="overflow-x-auto">
|
||||
<table class="w-full text-left">
|
||||
<thead class="bg-gray-50/50 border-b border-gray-100">
|
||||
<tr>
|
||||
<th class="px-6 py-4 text-[10px] font-bold text-gray-400 uppercase">导入时间</th>
|
||||
<th class="px-6 py-4 text-[10px] font-bold text-gray-400 uppercase">操作人</th>
|
||||
<th class="px-6 py-4 text-[10px] font-bold text-gray-400 uppercase text-center">总条数</th>
|
||||
<th class="px-6 py-4 text-[10px] font-bold text-gray-400 uppercase text-center">成功</th>
|
||||
<th class="px-6 py-4 text-[10px] font-bold text-gray-400 uppercase text-center">失败</th>
|
||||
<th class="px-6 py-4 text-[10px] font-bold text-gray-400 uppercase">状态</th>
|
||||
<th class="px-6 py-4 text-[10px] font-bold text-gray-400 uppercase text-right">操作</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="divide-y divide-gray-50 text-xs">
|
||||
<tr class="hover:bg-gray-50 transition-colors">
|
||||
<td class="px-6 py-4 text-gray-600">2026-07-17 09:30:15</td>
|
||||
<td class="px-6 py-4 font-medium text-gray-900">李志强</td>
|
||||
<td class="px-6 py-4 text-center font-bold text-gray-900">45</td>
|
||||
<td class="px-6 py-4 text-center text-green-600 font-bold">43</td>
|
||||
<td class="px-6 py-4 text-center text-red-500 font-bold">2</td>
|
||||
<td class="px-6 py-4"><span class="px-2 py-0.5 bg-green-50 text-green-700 rounded-full font-bold">已完成</span></td>
|
||||
<td class="px-6 py-4 text-right">
|
||||
<button class="text-blue-600 hover:text-blue-800 text-xs font-bold flex items-center gap-1 justify-end">
|
||||
<iconify-icon icon="lucide:download" width="14"></iconify-icon> 下载错误日志
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="hover:bg-gray-50 transition-colors">
|
||||
<td class="px-6 py-4 text-gray-600">2026-07-15 14:22:08</td>
|
||||
<td class="px-6 py-4 font-medium text-gray-900">张明亮</td>
|
||||
<td class="px-6 py-4 text-center font-bold text-gray-900">128</td>
|
||||
<td class="px-6 py-4 text-center text-green-600 font-bold">128</td>
|
||||
<td class="px-6 py-4 text-center text-gray-400 font-bold">0</td>
|
||||
<td class="px-6 py-4"><span class="px-2 py-0.5 bg-green-50 text-green-700 rounded-full font-bold">已完成</span></td>
|
||||
<td class="px-6 py-4 text-right">
|
||||
<span class="text-gray-400 text-xs">无错误日志</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="hover:bg-gray-50 transition-colors">
|
||||
<td class="px-6 py-4 text-gray-600">2026-07-12 10:05:33</td>
|
||||
<td class="px-6 py-4 font-medium text-gray-900">陈志伟</td>
|
||||
<td class="px-6 py-4 text-center font-bold text-gray-900">67</td>
|
||||
<td class="px-6 py-4 text-center text-green-600 font-bold">60</td>
|
||||
<td class="px-6 py-4 text-center text-red-500 font-bold">7</td>
|
||||
<td class="px-6 py-4"><span class="px-2 py-0.5 bg-yellow-50 text-yellow-700 rounded-full font-bold">部分成功</span></td>
|
||||
<td class="px-6 py-4 text-right">
|
||||
<button class="text-blue-600 hover:text-blue-800 text-xs font-bold flex items-center gap-1 justify-end">
|
||||
<iconify-icon icon="lucide:download" width="14"></iconify-icon> 下载错误日志
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="hover:bg-gray-50 transition-colors">
|
||||
<td class="px-6 py-4 text-gray-600">2026-07-10 16:45:21</td>
|
||||
<td class="px-6 py-4 font-medium text-gray-900">李志强</td>
|
||||
<td class="px-6 py-4 text-center font-bold text-gray-900">32</td>
|
||||
<td class="px-6 py-4 text-center text-green-600 font-bold">32</td>
|
||||
<td class="px-6 py-4 text-center text-gray-400 font-bold">0</td>
|
||||
<td class="px-6 py-4"><span class="px-2 py-0.5 bg-green-50 text-green-700 rounded-full font-bold">已完成</span></td>
|
||||
<td class="px-6 py-4 text-right">
|
||||
<span class="text-gray-400 text-xs">无错误日志</span>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<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 条,共 12 条记录</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>
|
||||
Reference in New Issue
Block a user