index.html 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263
  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>质检工单 · 同样本多工单 Tab 选型 · 索引</title>
  7. <link
  8. href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap"
  9. rel="stylesheet"
  10. />
  11. <link rel="stylesheet" href="_shared.css" />
  12. <style>
  13. .index-hero {
  14. max-width: 960px;
  15. margin: 0 auto;
  16. padding: 32px 24px 12px;
  17. }
  18. .index-hero h1 {
  19. margin: 0 0 8px;
  20. font-size: 22px;
  21. }
  22. .index-hero p {
  23. margin: 0;
  24. color: var(--text-muted);
  25. max-width: 720px;
  26. line-height: 1.6;
  27. }
  28. .index-cta {
  29. max-width: 960px;
  30. margin: 0 auto;
  31. padding: 8px 24px 12px;
  32. display: flex;
  33. flex-wrap: wrap;
  34. gap: 12px;
  35. }
  36. .index-cta a {
  37. display: inline-flex;
  38. align-items: center;
  39. gap: 8px;
  40. height: 44px;
  41. padding: 0 20px;
  42. border-radius: 10px;
  43. font-size: 14px;
  44. font-weight: 600;
  45. text-decoration: none;
  46. transition: background 0.15s;
  47. }
  48. .index-cta a.primary {
  49. background: var(--primary);
  50. color: #fff;
  51. box-shadow: 0 2px 8px rgba(16, 185, 129, 0.25);
  52. }
  53. .index-cta a.primary:hover {
  54. background: var(--primary-dark);
  55. }
  56. .index-cta a.secondary {
  57. background: var(--surface);
  58. color: var(--text);
  59. border: 1px solid var(--border);
  60. }
  61. .index-cta a.secondary:hover {
  62. border-color: #a7f3d0;
  63. background: var(--primary-bg);
  64. color: var(--primary-dark);
  65. }
  66. .batch-section {
  67. max-width: 960px;
  68. margin: 0 auto;
  69. padding: 16px 24px 8px;
  70. }
  71. .batch-section h2 {
  72. margin: 0 0 4px;
  73. font-size: 16px;
  74. font-weight: 600;
  75. }
  76. .batch-section p {
  77. margin: 0 0 12px;
  78. font-size: 13px;
  79. color: var(--text-muted);
  80. }
  81. .index-grid {
  82. max-width: 960px;
  83. margin: 0 auto;
  84. padding: 0 24px 32px;
  85. display: grid;
  86. grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  87. gap: 16px;
  88. }
  89. .index-card {
  90. background: var(--surface);
  91. border: 1px solid var(--border);
  92. border-radius: 12px;
  93. padding: 18px;
  94. }
  95. .index-card h3 {
  96. margin: 0 0 6px;
  97. font-size: 15px;
  98. font-weight: 600;
  99. color: var(--primary-dark);
  100. }
  101. .index-card p {
  102. margin: 0;
  103. font-size: 13px;
  104. color: var(--text-muted);
  105. line-height: 1.5;
  106. }
  107. .index-card .tag {
  108. display: inline-block;
  109. margin-top: 12px;
  110. padding: 2px 8px;
  111. border-radius: 6px;
  112. font-size: 11px;
  113. font-weight: 600;
  114. background: #f1f5f9;
  115. color: var(--text-muted);
  116. }
  117. .index-card .tag--rec {
  118. background: var(--primary-bg);
  119. color: var(--primary-dark);
  120. border: 1px solid #a7f3d0;
  121. }
  122. .index-card .tag--new {
  123. background: #fffbeb;
  124. color: #b45309;
  125. border: 1px solid #fcd34d;
  126. }
  127. .context-box {
  128. max-width: 960px;
  129. margin: 0 auto 8px;
  130. padding: 0 24px;
  131. }
  132. .context-box-inner {
  133. padding: 14px 16px;
  134. background: #fffbeb;
  135. border: 1px solid #fcd34d;
  136. border-radius: 10px;
  137. font-size: 13px;
  138. color: #92400e;
  139. line-height: 1.55;
  140. }
  141. </style>
  142. </head>
  143. <body>
  144. <div class="index-hero">
  145. <h1>质检工单 · 细胞存储 · 同样本多工单 Tab 选型</h1>
  146. <p>
  147. 针对 <code>QcWorkOrderSampleGroup.vue</code> 中「同一样本下样本接收 + 生产过程两条工单」的切换区域。
  148. 共两组 HTML 原型,均可点击交互。
  149. </p>
  150. </div>
  151. <div class="context-box">
  152. <div class="context-box-inner">
  153. <strong>问题:</strong>用户难以感知卡片内存在两类不同质检工单,且需要点击切换。
  154. </div>
  155. </div>
  156. <div class="index-cta">
  157. <a class="primary" href="independent-pills.html">独立胶囊 Tab(最新)→</a>
  158. <a class="secondary" href="compare-all-v2.html">第二组 · 强对比方案</a>
  159. <a class="secondary" href="compare-all.html">第一组 · 渐进改良方案</a>
  160. </div>
  161. <div class="batch-section">
  162. <h2>独立胶囊 Tab(现网结构 + 分离间距)</h2>
  163. <p>去掉轨道连体容器,每个 Tab 独立白底胶囊,间距 16 / 24 / 32px 三档对比。</p>
  164. </div>
  165. <div class="index-grid">
  166. <div class="index-card">
  167. <h3>A · 轨道内连体</h3>
  168. <p>现网对照:<code>panel-pill-tabs__track</code> 绿底容器。</p>
  169. <span class="tag">对照</span>
  170. </div>
  171. <div class="index-card">
  172. <h3>B · 独立胶囊 16px</h3>
  173. <p>独立边框 + 来源色,间距 16px。</p>
  174. <span class="tag tag--rec">推荐</span>
  175. <span class="tag tag--new">最新</span>
  176. </div>
  177. <div class="index-card">
  178. <h3>C · 独立胶囊 24px</h3>
  179. <p>分离感更强。</p>
  180. <span class="tag tag--new">最新</span>
  181. </div>
  182. <div class="index-card">
  183. <h3>D · 独立胶囊 32px 放大</h3>
  184. <p>最大间距 + 略放大点击区域。</p>
  185. <span class="tag tag--new">最新</span>
  186. </div>
  187. </div>
  188. <div class="batch-section">
  189. <h2>第二组 · 强对比(推荐先看)</h2>
  190. <p>加大色块面积、两条工单始终可见、未选中显式「切换/点击」 affordance。</p>
  191. </div>
  192. <div class="index-grid">
  193. <div class="index-card">
  194. <h3>N1 · 双色分栏顶栏</h3>
  195. <p>整宽 50/50 绿/琥珀分栏,未选中降饱和 + 👆 动画提示。</p>
  196. <span class="tag tag--rec">推荐</span>
  197. <span class="tag tag--new">第二组</span>
  198. </div>
  199. <div class="index-card">
  200. <h3>N2 · 双行 Radio 清单</h3>
  201. <p>列表单选形态,未选中行「切换至此」按钮。</p>
  202. <span class="tag tag--new">第二组</span>
  203. </div>
  204. <div class="index-card">
  205. <h3>N3 · 大开关 Toggle</h3>
  206. <p>居中 oversized 二选一开关,emoji + 粗体类别名。</p>
  207. <span class="tag tag--rec">推荐</span>
  208. <span class="tag tag--new">第二组</span>
  209. </div>
  210. <div class="index-card">
  211. <h3>N4 · 图标宫格</h3>
  212. <p>56px 大图标 + 虚线边框 = 可点击,视觉重量最大。</p>
  213. <span class="tag tag--new">第二组</span>
  214. </div>
  215. <div class="index-card">
  216. <h3>N5 · 双摘要条</h3>
  217. <p>提示横幅 + 并排 Chip,未选中绿色「切换」按钮。</p>
  218. <span class="tag tag--new">第二组</span>
  219. </div>
  220. <div class="index-card">
  221. <h3>N6 · 左导航 + 右预览</h3>
  222. <p>Master-Detail,左侧工单列表始终可见。</p>
  223. <span class="tag tag--new">第二组</span>
  224. </div>
  225. </div>
  226. <div class="batch-section">
  227. <h2>第一组 · 渐进改良</h2>
  228. <p>在现有 pill-tab 形态上微调,改动量较小。</p>
  229. </div>
  230. <div class="index-grid">
  231. <div class="index-card">
  232. <h3>V0–V5</h3>
  233. <p>胶囊 Tab、双卡片、步骤条、Segmented、色条 Tab 等 6 套。</p>
  234. <span class="tag">第一组</span>
  235. </div>
  236. </div>
  237. </body>
  238. </html>