Files
2026Technology-Competition/docs/issue-new.html
T

341 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;
}
</style>
</head>
<body class="bg-gray-50 text-gray-800 flex overflow-hidden h-screen">
<!-- Sidebar -->
<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" target="_self">
<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" target="_self">
<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" target="_self">
<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" target="_self">
<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" target="_self">
<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" target="_self">
<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" target="_self">
<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" target="_self">
<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 -->
<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">
<a href="issues.html" target="_self" class="p-2 hover:bg-gray-50 rounded-lg text-gray-400 hover:text-gray-900 transition-colors">
<iconify-icon icon="lucide:arrow-left"></iconify-icon>
</a>
<h2 class="text-lg font-semibold text-gray-800">新建指摘</h2>
<span class="text-xs text-gray-400">ISSUE-2026-090 (草稿)</span>
</div>
<div class="flex items-center gap-3">
<button class="px-4 py-2 text-sm font-semibold text-gray-500 hover:text-gray-700 transition-colors border border-gray-200 rounded-lg hover:bg-gray-50">清空重置</button>
<button class="px-6 py-2 bg-blue-600 hover:bg-blue-700 text-white rounded-lg text-sm font-semibold transition-colors flex items-center gap-2 shadow-md shadow-blue-200">
<iconify-icon icon="lucide:save"></iconify-icon> 保存指摘
</button>
</div>
</header>
<!-- Content Area -->
<div class="flex-1 overflow-y-auto p-8">
<div class="max-w-6xl mx-auto grid grid-cols-1 lg:grid-cols-3 gap-8">
<!-- Left: Main Form -->
<div class="lg:col-span-2 space-y-6">
<!-- Basic Info Section -->
<div class="bg-white rounded-2xl border border-gray-100 shadow-sm p-6">
<div class="flex items-center gap-2 mb-6">
<div class="w-8 h-8 bg-blue-100 rounded-lg flex items-center justify-center">
<iconify-icon class="text-blue-600" icon="lucide:file-text"></iconify-icon>
</div>
<h3 class="font-bold text-gray-800">基本信息</h3>
</div>
<div class="grid grid-cols-2 gap-5">
<div class="col-span-2">
<label class="block text-[10px] font-bold text-gray-400 uppercase mb-1.5">指摘标题 <span class="text-red-500">*</span></label>
<input type="text" class="w-full bg-gray-50 border border-gray-200 rounded-lg px-4 py-2.5 text-sm focus:outline-none focus:ring-2 focus:ring-blue-500 focus:bg-white transition-all" placeholder="请输入指摘标题" />
</div>
<div>
<label class="block text-[10px] font-bold text-gray-400 uppercase mb-1.5">工程阶段 <span class="text-red-500">*</span></label>
<select class="w-full bg-gray-50 border border-gray-200 rounded-lg px-4 py-2.5 text-sm focus:outline-none focus:ring-2 focus:ring-blue-500 focus:bg-white transition-all">
<option>请选择</option>
<option>基本设计</option>
<option>详细设计</option>
<option>单体测试</option>
<option>结合测试 (IT)</option>
<option>综合测试 (ST)</option>
</select>
</div>
<div>
<label class="block text-[10px] font-bold text-gray-400 uppercase mb-1.5">子工程 <span class="text-red-500">*</span></label>
<select class="w-full bg-gray-50 border border-gray-200 rounded-lg px-4 py-2.5 text-sm focus:outline-none focus:ring-2 focus:ring-blue-500 focus:bg-white transition-all">
<option>请选择</option>
<option>用户管理子系统</option>
<option>权限控制子系统</option>
<option>数据报表子系统</option>
</select>
</div>
<div>
<label class="block text-[10px] font-bold text-gray-400 uppercase mb-1.5">区分 <span class="text-red-500">*</span></label>
<select class="w-full bg-gray-50 border border-gray-200 rounded-lg px-4 py-2.5 text-sm focus:outline-none focus:ring-2 focus:ring-blue-500 focus:bg-white transition-all">
<option>请选择</option>
<option>功能缺陷</option>
<option>UI/UX问题</option>
<option>性能问题</option>
<option>安全漏洞</option>
<option>文档错误</option>
</select>
</div>
<div>
<label class="block text-[10px] font-bold text-gray-400 uppercase mb-1.5">指摘日 <span class="text-red-500">*</span></label>
<input type="date" value="2026-07-20" class="w-full bg-gray-50 border border-gray-200 rounded-lg px-4 py-2.5 text-sm focus:outline-none focus:ring-2 focus:ring-blue-500 focus:bg-white transition-all" />
</div>
<div>
<label class="block text-[10px] font-bold text-gray-400 uppercase mb-1.5">关联 PGM</label>
<input type="text" class="w-full bg-gray-50 border border-gray-200 rounded-lg px-4 py-2.5 text-sm focus:outline-none focus:ring-2 focus:ring-blue-500 focus:bg-white transition-all" placeholder="如 PGM_AUTH_VIEW_001" />
</div>
<div>
<label class="block text-[10px] font-bold text-gray-400 uppercase mb-1.5">影响度 <span class="text-red-500">*</span></label>
<select class="w-full bg-gray-50 border border-gray-200 rounded-lg px-4 py-2.5 text-sm focus:outline-none focus:ring-2 focus:ring-blue-500 focus:bg-white transition-all">
<option>请选择</option>
<option>严重 - 系统不可用</option>
<option>较高 - 核心功能受影响</option>
<option>一般 - 非核心功能</option>
<option>轻微 - 体验优化</option>
</select>
</div>
<div>
<label class="block text-[10px] font-bold text-gray-400 uppercase mb-1.5">影响工程</label>
<input type="text" class="w-full bg-gray-50 border border-gray-200 rounded-lg px-4 py-2.5 text-sm focus:outline-none focus:ring-2 focus:ring-blue-500 focus:bg-white transition-all" placeholder="如:前端适配、数据库查询" />
</div>
<div>
<label class="block text-[10px] font-bold text-gray-400 uppercase mb-1.5">部署</label>
<input type="text" class="w-full bg-gray-50 border border-gray-200 rounded-lg px-4 py-2.5 text-sm focus:outline-none focus:ring-2 focus:ring-blue-500 focus:bg-white transition-all" placeholder="部署位置/环境" />
</div>
<div>
<label class="block text-[10px] font-bold text-gray-400 uppercase mb-1.5">Review 者 <span class="text-red-500">*</span></label>
<select class="w-full bg-gray-50 border border-gray-200 rounded-lg px-4 py-2.5 text-sm focus:outline-none focus:ring-2 focus:ring-blue-500 focus:bg-white transition-all">
<option>请选择</option>
<option>李志强</option>
<option>陈志伟</option>
<option>张美心</option>
</select>
</div>
<div>
<label class="block text-[10px] font-bold text-gray-400 uppercase mb-1.5">Review 工数 (h)</label>
<input type="number" step="0.5" class="w-full bg-gray-50 border border-gray-200 rounded-lg px-4 py-2.5 text-sm focus:outline-none focus:ring-2 focus:ring-blue-500 focus:bg-white transition-all" placeholder="0.0" />
</div>
</div>
</div>
<!-- Content Section -->
<div class="bg-white rounded-2xl border border-gray-100 shadow-sm p-6">
<div class="flex items-center gap-2 mb-6">
<div class="w-8 h-8 bg-orange-100 rounded-lg flex items-center justify-center">
<iconify-icon class="text-orange-600" icon="lucide:message-square"></iconify-icon>
</div>
<h3 class="font-bold text-gray-800">指摘内容</h3>
</div>
<div class="space-y-5">
<div>
<label class="block text-[10px] font-bold text-gray-400 uppercase mb-1.5">指摘内容 <span class="text-red-500">*</span></label>
<textarea rows="5" class="w-full bg-gray-50 border border-gray-200 rounded-lg px-4 py-3 text-sm focus:outline-none focus:ring-2 focus:ring-blue-500 focus:bg-white transition-all resize-none" placeholder="请详细描述问题现象、复现步骤、期望结果..."></textarea>
</div>
<div>
<label class="block text-[10px] font-bold text-gray-400 uppercase mb-1.5">NG 原因</label>
<input type="text" class="w-full bg-gray-50 border border-gray-200 rounded-lg px-4 py-2.5 text-sm focus:outline-none focus:ring-2 focus:ring-blue-500 focus:bg-white transition-all" placeholder="如:设计遗漏、编码错误、需求变更" />
</div>
</div>
</div>
<!-- Response Section -->
<div class="bg-white rounded-2xl border border-gray-100 shadow-sm p-6">
<div class="flex items-center gap-2 mb-6">
<div class="w-8 h-8 bg-green-100 rounded-lg flex items-center justify-center">
<iconify-icon class="text-green-600" icon="lucide:check-circle"></iconify-icon>
</div>
<h3 class="font-bold text-gray-800">对应信息</h3>
</div>
<div class="grid grid-cols-2 gap-5">
<div>
<label class="block text-[10px] font-bold text-gray-400 uppercase mb-1.5">对应者 <span class="text-red-500">*</span></label>
<select class="w-full bg-gray-50 border border-gray-200 rounded-lg px-4 py-2.5 text-sm focus:outline-none focus:ring-2 focus:ring-blue-500 focus:bg-white transition-all">
<option>请选择</option>
<option>陈志伟</option>
<option>张美心</option>
<option>李华</option>
<option>王五</option>
</select>
</div>
<div>
<label class="block text-[10px] font-bold text-gray-400 uppercase mb-1.5">对应工数 (h)</label>
<input type="number" step="0.5" class="w-full bg-gray-50 border border-gray-200 rounded-lg px-4 py-2.5 text-sm focus:outline-none focus:ring-2 focus:ring-blue-500 focus:bg-white transition-all" placeholder="0.0" />
</div>
<div class="col-span-2">
<label class="block text-[10px] font-bold text-gray-400 uppercase mb-1.5">对应内容</label>
<textarea rows="3" class="w-full bg-gray-50 border border-gray-200 rounded-lg px-4 py-3 text-sm focus:outline-none focus:ring-2 focus:ring-blue-500 focus:bg-white transition-all resize-none" placeholder="填写整改方案或对应措施..."></textarea>
</div>
<div>
<label class="block text-[10px] font-bold text-gray-400 uppercase mb-1.5">对应完了日</label>
<input type="date" class="w-full bg-gray-50 border border-gray-200 rounded-lg px-4 py-2.5 text-sm focus:outline-none focus:ring-2 focus:ring-blue-500 focus:bg-white transition-all" />
</div>
<div>
<label class="block text-[10px] font-bold text-gray-400 uppercase mb-1.5">确认者</label>
<select class="w-full bg-gray-50 border border-gray-200 rounded-lg px-4 py-2.5 text-sm focus:outline-none focus:ring-2 focus:ring-blue-500 focus:bg-white transition-all">
<option>请选择</option>
<option>李志强</option>
<option>陈志伟</option>
<option>张美心</option>
</select>
</div>
<div>
<label class="block text-[10px] font-bold text-gray-400 uppercase mb-1.5">确认日</label>
<input type="date" class="w-full bg-gray-50 border border-gray-200 rounded-lg px-4 py-2.5 text-sm focus:outline-none focus:ring-2 focus:ring-blue-500 focus:bg-white transition-all" />
</div>
</div>
</div>
<!-- Attachments -->
<div class="bg-white rounded-2xl border border-gray-100 shadow-sm p-6">
<div class="flex items-center justify-between mb-6">
<div class="flex items-center gap-2">
<div class="w-8 h-8 bg-purple-100 rounded-lg flex items-center justify-center">
<iconify-icon class="text-purple-600" icon="lucide:paperclip"></iconify-icon>
</div>
<h3 class="font-bold text-gray-800">附件</h3>
</div>
<button class="text-xs font-bold text-blue-600 hover:text-blue-800 flex items-center gap-1">
<iconify-icon icon="lucide:plus" width="14"></iconify-icon> 添加附件
</button>
</div>
<div class="border-2 border-dashed border-gray-200 rounded-xl p-8 text-center hover:border-blue-300 transition-colors">
<div class="w-12 h-12 bg-gray-50 rounded-full flex items-center justify-center mx-auto mb-3">
<iconify-icon class="text-2xl text-gray-400" icon="lucide:upload-cloud"></iconify-icon>
</div>
<p class="text-sm text-gray-500">点击或拖拽文件到此处上传</p>
<p class="text-[10px] text-gray-400 mt-1">支持图片、文档、日志文件,单个不超过 20MB</p>
</div>
</div>
</div>
<!-- Right: Quick Settings + Agent Assist -->
<div class="space-y-6">
<!-- Quick Settings Card -->
<div class="bg-white rounded-2xl border border-gray-100 shadow-sm p-6">
<h4 class="font-bold text-gray-800 mb-5 text-sm">快速设置</h4>
<div class="space-y-4">
<div>
<label class="block text-[10px] font-bold text-gray-400 uppercase mb-1.5">状态</label>
<select class="w-full bg-gray-50 border border-gray-200 rounded-lg px-4 py-2.5 text-sm focus:outline-none focus:ring-2 focus:ring-blue-500 focus:bg-white transition-all">
<option>草稿</option>
<option>待对应</option>
<option>对应中</option>
</select>
</div>
<div>
<label class="block text-[10px] font-bold text-gray-400 uppercase mb-1.5">优先级 <span class="text-red-500">*</span></label>
<div class="grid grid-cols-4 gap-2">
<button class="py-2 rounded-lg text-xs font-bold border border-red-200 bg-red-50 text-red-700">紧急</button>
<button class="py-2 rounded-lg text-xs font-bold border border-gray-200 text-gray-500 hover:bg-gray-50"></button>
<button class="py-2 rounded-lg text-xs font-bold border border-gray-200 text-gray-500 hover:bg-gray-50"></button>
<button class="py-2 rounded-lg text-xs font-bold border border-gray-200 text-gray-500 hover:bg-gray-50"></button>
</div>
</div>
<div>
<label class="block text-[10px] font-bold text-gray-400 uppercase mb-1.5">归属部门</label>
<select class="w-full bg-gray-50 border border-gray-200 rounded-lg px-4 py-2.5 text-sm focus:outline-none focus:ring-2 focus:ring-blue-500 focus:bg-white transition-all">
<option>研发中心</option>
<option>品质保证部</option>
<option>运维部</option>
</select>
</div>
<div>
<label class="block text-[10px] font-bold text-gray-400 uppercase mb-1.5">创建人</label>
<div class="flex items-center gap-2 bg-gray-50 border border-gray-200 rounded-lg px-4 py-2.5">
<div class="w-6 h-6 bg-blue-600 rounded-full flex items-center justify-center text-white text-[10px] font-bold"></div>
<span class="text-sm text-gray-700">李志强</span>
<span class="text-[10px] text-gray-400 ml-auto">只读</span>
</div>
</div>
<div>
<label class="block text-[10px] font-bold text-gray-400 uppercase mb-1.5">整改截止日期 <span class="text-red-500">*</span></label>
<input type="date" class="w-full bg-gray-50 border border-gray-200 rounded-lg px-4 py-2.5 text-sm focus:outline-none focus:ring-2 focus:ring-blue-500 focus:bg-white transition-all" />
</div>
</div>
</div>
<!-- Agent Assist Card -->
<div class="bg-blue-600 rounded-2xl shadow-lg shadow-blue-200 p-6 text-white relative overflow-hidden">
<iconify-icon class="absolute -right-4 -top-4 text-8xl text-white/10" icon="lucide:sparkles"></iconify-icon>
<div class="flex items-center gap-2 mb-4 relative z-10">
<iconify-icon class="text-xl" icon="lucide:bot"></iconify-icon>
<h4 class="font-bold">Agent 辅助</h4>
</div>
<p class="text-xs text-blue-100 mb-4 leading-relaxed relative z-10">输入标题后,Agent 可自动分析并推荐工程阶段、优先级、影响度等字段。</p>
<button class="w-full py-2.5 bg-white/20 hover:bg-white/30 rounded-lg text-sm font-semibold transition-colors backdrop-blur-sm relative z-10 flex items-center justify-center gap-2">
<iconify-icon icon="lucide:sparkles" width="16"></iconify-icon>
让 Agent 智能填充
</button>
</div>
<!-- Draft Save Info -->
<div class="bg-gray-50 rounded-2xl border border-gray-100 p-4">
<div class="flex items-center gap-2 text-gray-500">
<iconify-icon class="text-gray-400" icon="lucide:clock" width="16"></iconify-icon>
<span class="text-xs">自动保存于 13:58</span>
</div>
</div>
</div>
</div>
</div>
</main>
</body>
</html>