index.html 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481
  1. <!DOCTYPE html>
  2. <html lang="zh-CN">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>映三色项目需求细化会议报告 - 2025.09.15</title>
  7. <link href="https://cdn.bootcdn.net/ajax/libs/bootstrap/5.3.0/css/bootstrap.min.css" rel="stylesheet">
  8. <link href="https://cdn.bootcdn.net/ajax/libs/font-awesome/6.4.0/css/all.min.css" rel="stylesheet">
  9. <link href="https://cdn.bootcdn.net/ajax/libs/animate.css/4.1.1/animate.min.css" rel="stylesheet">
  10. <style>
  11. :root {
  12. --primary-color: #00d4ff;
  13. --secondary-color: #0099cc;
  14. --dark-bg: #0a0a0a;
  15. --card-bg: #1a1a1a;
  16. --text-primary: #ffffff;
  17. --text-secondary: #cccccc;
  18. --gradient-1: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  19. --gradient-2: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
  20. --gradient-3: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
  21. --gradient-4: linear-gradient(135deg, #43e97b 0%, #38f9d7 100%);
  22. }
  23. * {
  24. margin: 0;
  25. padding: 0;
  26. box-sizing: border-box;
  27. }
  28. body {
  29. background: var(--dark-bg);
  30. color: var(--text-primary);
  31. font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  32. overflow-x: hidden;
  33. }
  34. /* 动态背景 */
  35. .bg-animation {
  36. position: fixed;
  37. top: 0;
  38. left: 0;
  39. width: 100%;
  40. height: 100%;
  41. z-index: -1;
  42. background: radial-gradient(circle at 20% 80%, #120a8f 0%, transparent 50%),
  43. radial-gradient(circle at 80% 20%, #8b5fbf 0%, transparent 50%),
  44. radial-gradient(circle at 40% 40%, #02aab0 0%, transparent 50%);
  45. animation: backgroundShift 20s ease-in-out infinite;
  46. }
  47. @keyframes backgroundShift {
  48. 0%, 100% { opacity: 0.3; }
  49. 50% { opacity: 0.6; }
  50. }
  51. /* 头部样式 */
  52. .header {
  53. background: rgba(26, 26, 26, 0.9);
  54. backdrop-filter: blur(10px);
  55. border-bottom: 1px solid var(--primary-color);
  56. position: sticky;
  57. top: 0;
  58. z-index: 1000;
  59. }
  60. .header h1 {
  61. background: linear-gradient(45deg, var(--primary-color), #667eea);
  62. -webkit-background-clip: text;
  63. -webkit-text-fill-color: transparent;
  64. font-weight: bold;
  65. text-align: center;
  66. padding: 20px 0;
  67. font-size: 2.5rem;
  68. }
  69. .meeting-info {
  70. text-align: center;
  71. color: var(--text-secondary);
  72. padding-bottom: 10px;
  73. }
  74. /* 导航卡片 */
  75. .nav-cards {
  76. display: grid;
  77. grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  78. gap: 20px;
  79. padding: 40px 20px;
  80. max-width: 1200px;
  81. margin: 0 auto;
  82. }
  83. .nav-card {
  84. background: rgba(26, 26, 26, 0.8);
  85. border-radius: 15px;
  86. padding: 30px;
  87. text-decoration: none;
  88. color: var(--text-primary);
  89. transition: all 0.3s ease;
  90. border: 1px solid transparent;
  91. position: relative;
  92. overflow: hidden;
  93. }
  94. .nav-card:hover {
  95. transform: translateY(-10px);
  96. box-shadow: 0 20px 40px rgba(0, 212, 255, 0.2);
  97. border-color: var(--primary-color);
  98. color: var(--text-primary);
  99. }
  100. .nav-card::before {
  101. content: '';
  102. position: absolute;
  103. top: 0;
  104. left: -100%;
  105. width: 100%;
  106. height: 100%;
  107. background: linear-gradient(90deg, transparent, rgba(0, 212, 255, 0.1), transparent);
  108. transition: left 0.5s ease;
  109. }
  110. .nav-card:hover::before {
  111. left: 100%;
  112. }
  113. .nav-card-icon {
  114. font-size: 3rem;
  115. margin-bottom: 20px;
  116. background: var(--gradient-3);
  117. -webkit-background-clip: text;
  118. -webkit-text-fill-color: transparent;
  119. }
  120. .nav-card h3 {
  121. margin-bottom: 15px;
  122. font-size: 1.5rem;
  123. }
  124. .nav-card p {
  125. color: var(--text-secondary);
  126. line-height: 1.6;
  127. }
  128. /* 统计卡片 */
  129. .stats-section {
  130. padding: 40px 20px;
  131. background: rgba(26, 26, 26, 0.5);
  132. }
  133. .stats-container {
  134. max-width: 1200px;
  135. margin: 0 auto;
  136. }
  137. .stats-grid {
  138. display: grid;
  139. grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  140. gap: 20px;
  141. margin-top: 30px;
  142. }
  143. .stat-card {
  144. background: rgba(26, 26, 26, 0.8);
  145. border-radius: 10px;
  146. padding: 25px;
  147. text-align: center;
  148. border: 1px solid rgba(0, 212, 255, 0.3);
  149. }
  150. .stat-number {
  151. font-size: 2.5rem;
  152. font-weight: bold;
  153. background: var(--gradient-4);
  154. -webkit-background-clip: text;
  155. -webkit-text-fill-color: transparent;
  156. display: block;
  157. margin-bottom: 10px;
  158. }
  159. .stat-label {
  160. color: var(--text-secondary);
  161. font-size: 0.9rem;
  162. }
  163. /* 进度条 */
  164. .progress-bar {
  165. background: rgba(0, 212, 255, 0.2);
  166. height: 4px;
  167. border-radius: 2px;
  168. overflow: hidden;
  169. margin: 20px 0;
  170. }
  171. .progress-fill {
  172. height: 100%;
  173. background: var(--gradient-3);
  174. width: 0;
  175. animation: progressFill 2s ease-in-out forwards;
  176. }
  177. @keyframes progressFill {
  178. to { width: 100%; }
  179. }
  180. /* 响应式设计 */
  181. @media (max-width: 768px) {
  182. .header h1 {
  183. font-size: 2rem;
  184. }
  185. .nav-cards {
  186. grid-template-columns: 1fr;
  187. padding: 20px 10px;
  188. }
  189. .nav-card {
  190. padding: 20px;
  191. }
  192. }
  193. /* 悬浮按钮 */
  194. .floating-btn {
  195. position: fixed;
  196. bottom: 30px;
  197. right: 30px;
  198. width: 60px;
  199. height: 60px;
  200. background: var(--gradient-3);
  201. border: none;
  202. border-radius: 50%;
  203. color: white;
  204. font-size: 1.5rem;
  205. cursor: pointer;
  206. box-shadow: 0 4px 20px rgba(0, 212, 255, 0.4);
  207. transition: all 0.3s ease;
  208. z-index: 1000;
  209. }
  210. .floating-btn:hover {
  211. transform: scale(1.1);
  212. box-shadow: 0 6px 25px rgba(0, 212, 255, 0.6);
  213. }
  214. /* 滚动条样式 */
  215. ::-webkit-scrollbar {
  216. width: 8px;
  217. }
  218. ::-webkit-scrollbar-track {
  219. background: var(--dark-bg);
  220. }
  221. ::-webkit-scrollbar-thumb {
  222. background: var(--primary-color);
  223. border-radius: 4px;
  224. }
  225. ::-webkit-scrollbar-thumb:hover {
  226. background: var(--secondary-color);
  227. }
  228. </style>
  229. </head>
  230. <body>
  231. <div class="bg-animation"></div>
  232. <header class="header">
  233. <div class="container">
  234. <h1 class="animate__animated animate__fadeInDown">映三色项目需求细化会议报告</h1>
  235. <div class="meeting-info animate__animated animate__fadeIn animate__delay-1s">
  236. <i class="fas fa-calendar-alt me-2"></i>2025年9月15日
  237. <i class="fas fa-users ms-4 me-2"></i>各岗位成员参与
  238. <i class="fas fa-cog ms-4 me-2"></i>技术细节调整
  239. </div>
  240. <div class="progress-bar">
  241. <div class="progress-fill"></div>
  242. </div>
  243. </div>
  244. </header>
  245. <section class="stats-section">
  246. <div class="stats-container">
  247. <h2 class="text-center mb-4">
  248. <i class="fas fa-chart-line me-2"></i>会议概览
  249. </h2>
  250. <div class="stats-grid">
  251. <div class="stat-card animate__animated animate__fadeInUp">
  252. <span class="stat-number">6</span>
  253. <div class="stat-label">系统端口</div>
  254. </div>
  255. <div class="stat-card animate__animated animate__fadeInUp animate__delay-1s">
  256. <span class="stat-number">3</span>
  257. <div class="stat-label">项目阶段</div>
  258. </div>
  259. <div class="stat-card animate__animated animate__fadeInUp animate__delay-2s">
  260. <span class="stat-number">15+</span>
  261. <div class="stat-label">核心功能</div>
  262. </div>
  263. <div class="stat-card animate__animated animate__fadeInUp animate__delay-3s">
  264. <span class="stat-number">20+</span>
  265. <div class="stat-label">待办事项</div>
  266. </div>
  267. </div>
  268. </div>
  269. </section>
  270. <main class="nav-cards">
  271. <a href="modules.html" class="nav-card animate__animated animate__fadeInLeft">
  272. <div class="nav-card-icon">
  273. <i class="fas fa-desktop"></i>
  274. </div>
  275. <h3>各端模块详情</h3>
  276. <p>客服端、设计师端、组长、财务端、人事端、系统管理员等各个端口的功能需求和修改反馈详情。</p>
  277. </a>
  278. <a href="workflow.html" class="nav-card animate__animated animate__fadeInUp">
  279. <div class="nav-card-icon">
  280. <i class="fas fa-project-diagram"></i>
  281. </div>
  282. <h3>项目流程管控</h3>
  283. <p>从需求沟通、项目执行到收尾阶段的完整流程把控和质量管理标准。</p>
  284. </a>
  285. <a href="tasks.html" class="nav-card animate__animated animate__fadeInRight">
  286. <div class="nav-card-icon">
  287. <i class="fas fa-tasks"></i>
  288. </div>
  289. <h3>本周待办事项</h3>
  290. <p>项目流程评估标准、财务核心流程、人事招聘评判维度等本周需要完成的任务清单。</p>
  291. </a>
  292. <a href="analysis.html" class="nav-card animate__animated animate__fadeInLeft animate__delay-1s">
  293. <div class="nav-card-icon">
  294. <i class="fas fa-analytics"></i>
  295. </div>
  296. <h3>深度分析报告</h3>
  297. <p>基于会议内容的深度分析,包括业务流程优化建议和技术实现方案。</p>
  298. </a>
  299. <a href="roadmap.html" class="nav-card animate__animated animate__fadeInUp animate__delay-1s">
  300. <div class="nav-card-icon">
  301. <i class="fas fa-road"></i>
  302. </div>
  303. <h3>产品路线图</h3>
  304. <p>基于会议讨论的功能优先级和开发时间线规划。</p>
  305. </a>
  306. <a href="faq.html" class="nav-card animate__animated animate__fadeInRight animate__delay-1s">
  307. <div class="nav-card-icon">
  308. <i class="fas fa-question-circle"></i>
  309. </div>
  310. <h3>FAQ & 问题解答</h3>
  311. <p>会议中提到的项目流程悖论和常见问题的解答。</p>
  312. </a>
  313. </main>
  314. <button class="floating-btn" onclick="scrollToTop()" title="回到顶部">
  315. <i class="fas fa-chevron-up"></i>
  316. </button>
  317. <script src="https://cdn.bootcdn.net/ajax/libs/bootstrap/5.3.0/js/bootstrap.bundle.min.js"></script>
  318. <script>
  319. // 滚动到顶部
  320. function scrollToTop() {
  321. window.scrollTo({
  322. top: 0,
  323. behavior: 'smooth'
  324. });
  325. }
  326. // 显示/隐藏浮动按钮
  327. window.addEventListener('scroll', function() {
  328. const btn = document.querySelector('.floating-btn');
  329. if (window.scrollY > 300) {
  330. btn.style.opacity = '1';
  331. btn.style.visibility = 'visible';
  332. } else {
  333. btn.style.opacity = '0';
  334. btn.style.visibility = 'hidden';
  335. }
  336. });
  337. // 初始化动画
  338. document.addEventListener('DOMContentLoaded', function() {
  339. // 为统计数字添加计数动画
  340. const statNumbers = document.querySelectorAll('.stat-number');
  341. statNumbers.forEach(stat => {
  342. const target = stat.textContent;
  343. const isNumber = !isNaN(parseInt(target));
  344. if (isNumber) {
  345. animateNumber(stat, parseInt(target));
  346. }
  347. });
  348. });
  349. function animateNumber(element, target) {
  350. let current = 0;
  351. const increment = target / 50;
  352. const timer = setInterval(() => {
  353. current += increment;
  354. if (current >= target) {
  355. current = target;
  356. clearInterval(timer);
  357. }
  358. element.textContent = Math.floor(current);
  359. }, 40);
  360. }
  361. // 鼠标跟随效果
  362. document.addEventListener('mousemove', function(e) {
  363. const cursor = document.querySelector('.cursor');
  364. if (!cursor) {
  365. const cursorElement = document.createElement('div');
  366. cursorElement.className = 'cursor';
  367. cursorElement.style.cssText = `
  368. position: fixed;
  369. width: 20px;
  370. height: 20px;
  371. background: radial-gradient(circle, var(--primary-color), transparent);
  372. border-radius: 50%;
  373. pointer-events: none;
  374. z-index: 9999;
  375. mix-blend-mode: difference;
  376. transition: transform 0.1s ease;
  377. `;
  378. document.body.appendChild(cursorElement);
  379. }
  380. const cursorElement = document.querySelector('.cursor');
  381. cursorElement.style.left = e.clientX - 10 + 'px';
  382. cursorElement.style.top = e.clientY - 10 + 'px';
  383. });
  384. // 卡片悬停粒子效果
  385. document.querySelectorAll('.nav-card').forEach(card => {
  386. card.addEventListener('mouseenter', function() {
  387. createParticles(this);
  388. });
  389. });
  390. function createParticles(element) {
  391. for (let i = 0; i < 5; i++) {
  392. const particle = document.createElement('div');
  393. particle.style.cssText = `
  394. position: absolute;
  395. width: 4px;
  396. height: 4px;
  397. background: var(--primary-color);
  398. border-radius: 50%;
  399. pointer-events: none;
  400. top: ${Math.random() * 100}%;
  401. left: ${Math.random() * 100}%;
  402. animation: particleFloat 2s ease-out forwards;
  403. `;
  404. element.appendChild(particle);
  405. setTimeout(() => {
  406. if (particle.parentNode) {
  407. particle.parentNode.removeChild(particle);
  408. }
  409. }, 2000);
  410. }
  411. }
  412. // 添加粒子动画样式
  413. const style = document.createElement('style');
  414. style.textContent = `
  415. @keyframes particleFloat {
  416. 0% {
  417. opacity: 1;
  418. transform: translateY(0) scale(1);
  419. }
  420. 100% {
  421. opacity: 0;
  422. transform: translateY(-50px) scale(0);
  423. }
  424. }
  425. `;
  426. document.head.appendChild(style);
  427. </script>
  428. </body>
  429. </html>