03_订单与历史.html 150 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860
  1. <!DOCTYPE html>
  2. <html lang="zh-CN" data-theme="light">
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="viewport" content="width=device-width,initial-scale=1">
  6. <title>订单 · 批量处理与历史</title>
  7. <style>
  8. /* ============================================================
  9. 共赢票据投资者 APP — 深空蓝设计系统 (Deep-Space Blue)
  10. 双主题:data-theme="light" | "dark",可作用于 :root 或任意容器
  11. ============================================================ */
  12. /* ---------- 浅色(默认) ---------- */
  13. :root,
  14. [data-theme="light"]{
  15. --canvas:#E7ECF4; /* 图纸底 */
  16. --canvas-2:#F4F7FB; /* 图纸卡片 */
  17. --canvas-line:#D3DCE8;
  18. --canvas-ink:#0F1B33;
  19. --canvas-mute:#647591;
  20. --app-bg:#F6F8FB; /* App 页面底 */
  21. --surface:#FFFFFF; /* 卡片/导航 */
  22. --surface-2:#F1F4F9; /* 次级面/表头 */
  23. --surface-3:#E8EDF5; /* 三级面 */
  24. --line:#E3E9F1;
  25. --line-2:#CFD9E7;
  26. --ink-1:#0F1B33;
  27. --ink-2:#4C5C78;
  28. --ink-3:#8A99B2;
  29. --ink-4:#AEBACD;
  30. --brand:#1B4FD8;
  31. --brand-2:#123CAE;
  32. --brand-weak:#E7EEFF;
  33. --brand-line:#B9CDFF;
  34. --on-brand:#FFFFFF;
  35. --accent:#B4700E; /* 琥珀 强调 */
  36. --accent-weak:#FDF2DE;
  37. --accent-line:#EBCD97;
  38. --rise:#E5484D; /* 涨 / 盈利 */
  39. --fall:#12A594; /* 跌 / 亏损 */
  40. --rise-weak:#FDECEC;
  41. --fall-weak:#E3F7F3;
  42. --warn:#C2410C;
  43. --warn-weak:#FEF0E6;
  44. --danger:#DC2626;
  45. --danger-weak:#FDEBEB;
  46. --ok:#0F7B4F;
  47. --ok-weak:#E4F5EC;
  48. --shadow-card:0 1px 2px rgba(15,27,51,.05),0 8px 24px rgba(15,27,51,.06);
  49. --shadow-phone:0 18px 44px rgba(15,27,51,.16),0 2px 6px rgba(15,27,51,.08);
  50. --shadow-pop:0 12px 40px rgba(15,27,51,.20);
  51. --scrim:rgba(11,18,34,.42);
  52. --bezel:#C7D2E2;
  53. --glow:none;
  54. }
  55. /* ---------- 深色 ---------- */
  56. [data-theme="dark"]{
  57. --canvas:#060A14;
  58. --canvas-2:#0E1526;
  59. --canvas-line:#1E2A44;
  60. --canvas-ink:#E9EFFA;
  61. --canvas-mute:#8797B4;
  62. --app-bg:#0B1020;
  63. --surface:#131B2E;
  64. --surface-2:#18223A;
  65. --surface-3:#1E2A45;
  66. --line:#232F4B;
  67. --line-2:#32436A;
  68. --ink-1:#EAF0FA;
  69. --ink-2:#A5B4D0;
  70. --ink-3:#7486A5;
  71. --ink-4:#54658A;
  72. --brand:#5B8CFF;
  73. --brand-2:#7FA6FF;
  74. --brand-weak:rgba(91,140,255,.16);
  75. --brand-line:rgba(91,140,255,.42);
  76. --on-brand:#05122E;
  77. --accent:#F0A93B;
  78. --accent-weak:rgba(240,169,59,.15);
  79. --accent-line:rgba(240,169,59,.42);
  80. --rise:#FF6B6E;
  81. --fall:#2FD4B9;
  82. --rise-weak:rgba(255,107,110,.14);
  83. --fall-weak:rgba(47,212,185,.14);
  84. --warn:#F59E42;
  85. --warn-weak:rgba(245,158,66,.14);
  86. --danger:#FF6B6E;
  87. --danger-weak:rgba(255,107,110,.14);
  88. --ok:#2FD4B9;
  89. --ok-weak:rgba(47,212,185,.14);
  90. --shadow-card:0 1px 2px rgba(0,0,0,.4),0 8px 24px rgba(0,0,0,.34);
  91. --shadow-phone:0 20px 50px rgba(0,0,0,.6),0 0 0 1px rgba(91,140,255,.10);
  92. --shadow-pop:0 14px 44px rgba(0,0,0,.62);
  93. --scrim:rgba(2,6,16,.62);
  94. --bezel:#26324C;
  95. --glow:0 0 0 1px rgba(91,140,255,.14);
  96. }
  97. /* ---------- 基础 ---------- */
  98. *{box-sizing:border-box;margin:0;padding:0}
  99. html{-webkit-text-size-adjust:100%}
  100. body{
  101. background:var(--canvas);color:var(--canvas-ink);
  102. font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,-apple-system,"Segoe UI",sans-serif;
  103. -webkit-font-smoothing:antialiased;
  104. padding:44px 46px 110px;
  105. transition:background .28s ease,color .28s ease;
  106. }
  107. .mono{font-family:"SF Mono",ui-monospace,"JetBrains Mono",Menlo,Consolas,monospace}
  108. .num{font-variant-numeric:tabular-nums;letter-spacing:.01em}
  109. /* ---------- 图纸头 ---------- */
  110. .sheet-head{
  111. display:flex;flex-wrap:wrap;gap:32px;align-items:flex-end;justify-content:space-between;
  112. padding-bottom:24px;margin-bottom:44px;border-bottom:1px solid var(--canvas-line);
  113. }
  114. .brandmark{display:flex;align-items:center;gap:14px}
  115. .brandmark .glyph{
  116. width:44px;height:44px;border-radius:12px;flex:none;position:relative;
  117. background:linear-gradient(145deg,var(--brand),var(--brand-2));
  118. box-shadow:0 6px 18px rgba(27,79,216,.28);
  119. }
  120. .brandmark .glyph::before{
  121. content:"";position:absolute;inset:12px 11px;border:1.6px solid rgba(255,255,255,.9);
  122. border-radius:2px;border-bottom-width:4px;
  123. }
  124. .brandmark .glyph::after{
  125. content:"";position:absolute;right:8px;top:8px;width:7px;height:7px;border-radius:50%;background:var(--accent);
  126. }
  127. .sheet-title{font-size:26px;font-weight:650;letter-spacing:.02em;line-height:1.2}
  128. .sheet-sub{margin-top:6px;font-size:12.5px;color:var(--canvas-mute);letter-spacing:.02em}
  129. .head-right{display:flex;align-items:center;gap:26px;flex-wrap:wrap}
  130. .meta{display:flex;gap:26px}
  131. .meta div{font-size:10.5px;color:var(--canvas-mute);letter-spacing:.1em;text-transform:uppercase}
  132. .meta b{display:block;margin-top:5px;font-size:12.5px;color:var(--canvas-ink);font-weight:550;letter-spacing:0;text-transform:none}
  133. /* 换肤开关 */
  134. .skin{
  135. display:flex;align-items:center;gap:0;padding:3px;border-radius:9px;
  136. background:var(--canvas-2);border:1px solid var(--canvas-line);
  137. }
  138. .skin button{
  139. border:0;background:transparent;cursor:pointer;font:inherit;
  140. padding:7px 13px;border-radius:6px;font-size:12px;color:var(--canvas-mute);
  141. display:flex;align-items:center;gap:6px;letter-spacing:.04em;transition:.2s;
  142. }
  143. .skin button.on{background:var(--brand);color:#fff;box-shadow:0 2px 8px rgba(27,79,216,.3)}
  144. [data-theme="dark"] .skin button.on{color:#04122F}
  145. .skin svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  146. /* ---------- 章节 ---------- */
  147. .sec{margin-bottom:60px}
  148. .sec-head{display:flex;align-items:baseline;gap:14px;margin-bottom:24px}
  149. .sec-num{
  150. font-family:"SF Mono",ui-monospace,Menlo,monospace;font-size:11px;color:var(--brand);
  151. letter-spacing:.12em;padding:3px 8px;border:1px solid var(--brand-line);border-radius:5px;background:var(--brand-weak);
  152. }
  153. .sec-name{font-size:17px;font-weight:600;letter-spacing:.04em}
  154. .sec-rule{flex:1;height:1px;background:var(--canvas-line)}
  155. .sec-note{font-size:12px;color:var(--canvas-mute)}
  156. /* ---------- 说明卡 ---------- */
  157. .cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}
  158. .card-x{background:var(--canvas-2);border:1px solid var(--canvas-line);border-radius:12px;padding:18px 20px}
  159. .card-x h4{font-size:11px;font-weight:600;letter-spacing:.14em;color:var(--canvas-mute);margin-bottom:14px;text-transform:uppercase}
  160. .kv{display:flex;flex-direction:column;gap:10px}
  161. .kv .r{display:flex;justify-content:space-between;gap:14px;font-size:12.5px;line-height:1.5}
  162. .kv .r span{color:var(--canvas-mute)}
  163. .kv .r b{font-weight:520;text-align:right;font-variant-numeric:tabular-nums}
  164. .bullets{display:flex;flex-direction:column;gap:9px}
  165. .bullets li{list-style:none;font-size:12.5px;line-height:1.65;color:var(--canvas-mute);padding-left:14px;position:relative}
  166. .bullets li::before{content:"";position:absolute;left:0;top:8px;width:6px;height:1.5px;background:var(--brand);border-radius:1px}
  167. .bullets b{color:var(--canvas-ink);font-weight:560}
  168. code{font-family:"SF Mono",ui-monospace,Menlo,monospace;font-size:11.5px;background:var(--surface-3);color:var(--canvas-ink);padding:1px 5px;border-radius:4px}
  169. /* ---------- 色板 ---------- */
  170. .pal{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:10px}
  171. .sw{border:1px solid var(--canvas-line);border-radius:10px;overflow:hidden;background:var(--canvas-2)}
  172. .sw .chip{height:56px;display:flex;align-items:flex-end;justify-content:flex-end;padding:7px 9px}
  173. .sw .chip i{font-style:normal;font-size:9.5px;color:rgba(255,255,255,.85);font-family:"SF Mono",monospace}
  174. .sw .lb{padding:9px 11px}
  175. .sw .lb b{display:block;font-size:12px;font-weight:560}
  176. .sw .lb em{font-style:normal;display:block;font-size:10.5px;color:var(--canvas-mute);margin-top:3px;font-family:"SF Mono",monospace}
  177. /* ---------- 表 ---------- */
  178. table.spec{width:100%;border-collapse:collapse;font-size:12.5px;background:var(--canvas-2);border:1px solid var(--canvas-line);border-radius:12px;overflow:hidden}
  179. table.spec th{
  180. background:var(--surface-2);text-align:left;padding:11px 14px;font-size:10.5px;font-weight:600;
  181. letter-spacing:.1em;color:var(--canvas-mute);text-transform:uppercase;border-bottom:1px solid var(--canvas-line);
  182. }
  183. table.spec td{padding:11px 14px;border-bottom:1px solid var(--canvas-line);color:var(--canvas-mute);line-height:1.6;vertical-align:top}
  184. table.spec tr:last-child td{border-bottom:0}
  185. table.spec td b{color:var(--canvas-ink);font-weight:550}
  186. table.spec td.m{font-family:"SF Mono",ui-monospace,Menlo,monospace;color:var(--canvas-ink);font-size:11.5px}
  187. /* ---------- 画板 ---------- */
  188. .frames{display:grid;grid-template-columns:repeat(auto-fit,minmax(390px,390px));gap:52px 36px;justify-content:start}
  189. .frame{width:390px}
  190. .frame.w2{grid-column:span 2}
  191. .phone{
  192. width:390px;height:844px;border-radius:42px;overflow:hidden;position:relative;
  193. background:var(--app-bg);border:1px solid var(--bezel);box-shadow:var(--shadow-phone);
  194. font-size:15px;color:var(--ink-1);transition:background .28s ease,border-color .28s ease;
  195. isolation:isolate;
  196. }
  197. .cap{margin-top:18px;padding-left:13px;border-left:2px solid var(--brand)}
  198. .cap-num{font-family:"SF Mono",ui-monospace,Menlo,monospace;font-size:10.5px;color:var(--brand);letter-spacing:.12em}
  199. .cap-title{font-size:14.5px;font-weight:600;margin:5px 0 8px;letter-spacing:.02em}
  200. .cap ul{list-style:none;display:flex;flex-direction:column;gap:6px}
  201. .cap li{font-size:12px;line-height:1.62;color:var(--canvas-mute);padding-left:12px;position:relative}
  202. .cap li::before{content:"";position:absolute;left:0;top:8px;width:5px;height:1px;background:var(--canvas-line)}
  203. .cap li b{color:var(--canvas-ink);font-weight:550}
  204. .cap code{font-size:11px;background:var(--surface-3)}
  205. /* ============================================================
  206. App 内部组件
  207. ============================================================ */
  208. .screen{position:absolute;inset:0;display:flex;flex-direction:column;overflow:hidden;background:var(--app-bg)}
  209. .statusbar{height:52px;flex:none;display:flex;align-items:flex-end;justify-content:space-between;padding:0 24px 6px;font-size:14.5px;font-weight:600;color:var(--ink-1)}
  210. .statusbar .ic{display:flex;gap:6px;align-items:center;opacity:.9}
  211. .statusbar svg{height:12px;fill:currentColor}
  212. .homebar{position:absolute;left:50%;bottom:8px;transform:translateX(-50%);width:132px;height:5px;border-radius:3px;background:var(--ink-1);opacity:.26;z-index:60}
  213. /* 顶栏 */
  214. .navbar{height:46px;flex:none;display:flex;align-items:center;padding:0 16px;position:relative;background:var(--app-bg)}
  215. .navbar h2{position:absolute;left:0;right:0;text-align:center;font-size:16.5px;font-weight:600;letter-spacing:.03em}
  216. .navbar .bk,.navbar .rt{position:relative;z-index:2;color:var(--ink-2);display:flex;align-items:center;gap:5px;font-size:13px}
  217. .navbar .rt{margin-left:auto;color:var(--brand)}
  218. .icn{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
  219. .icn.sm{width:14px;height:14px}
  220. .icn.lg{width:22px;height:22px}
  221. .appbar{padding:4px 20px 0;flex:none}
  222. .appbar h1{font-size:22px;font-weight:650;letter-spacing:.02em;display:flex;align-items:center;gap:9px}
  223. .appbar h1 .tiny{font-size:11px;font-weight:500;color:var(--ink-3);letter-spacing:.1em;padding:3px 7px;border:1px solid var(--line-2);border-radius:5px}
  224. /* 顶栏铃铛 · 未读红点 */
  225. .bellwrap{position:relative;display:inline-flex;flex:none}
  226. .bellwrap .rd{position:absolute;top:-1px;right:0;width:8px;height:8px;border-radius:50%;background:var(--danger);box-shadow:0 0 0 2px var(--app-bg);font-style:normal}
  227. /* 两行顶栏(标题 + 分段控件)的标题行:标题左、铃铛右 */
  228. .apphd{display:flex;align-items:center;justify-content:space-between}
  229. /* 分段控件 */
  230. .seg{display:flex;padding:3px;background:var(--surface-2);border-radius:9px;gap:2px}
  231. .seg span{flex:1;text-align:center;padding:7px 0;font-size:13.5px;color:var(--ink-3);border-radius:7px;transition:.2s}
  232. .seg span.on{background:var(--surface);color:var(--ink-1);font-weight:600;box-shadow:var(--shadow-card)}
  233. [data-theme="dark"] .seg span.on{background:var(--surface-3);color:var(--brand)}
  234. /* 下划线 tab */
  235. .tabs{display:flex;gap:24px;padding:0 20px;border-bottom:1px solid var(--line);flex:none;background:var(--app-bg)}
  236. .tabs span{padding:12px 1px 11px;font-size:14.5px;color:var(--ink-3);position:relative;white-space:nowrap}
  237. .tabs span.on{color:var(--ink-1);font-weight:600}
  238. .tabs span.on::after{content:"";position:absolute;left:50%;transform:translateX(-50%);bottom:-1px;width:22px;height:2.5px;border-radius:2px;background:var(--brand)}
  239. .tabs span .dot{position:absolute;top:9px;right:-7px;width:6px;height:6px;padding:0;font-size:0;border-radius:50%;background:var(--danger)}
  240. .tabs span em{font-style:normal;color:var(--danger)}
  241. /* 底部 tabbar */
  242. .tabbar{height:72px;flex:none;display:flex;background:var(--surface);border-top:1px solid var(--line);padding-bottom:10px}
  243. .tb{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:10.5px;color:var(--ink-3)}
  244. .tb.on{color:var(--brand)}
  245. .tb .icn{width:21px;height:21px;stroke-width:1.6}
  246. /* 滚动体 */
  247. .body{flex:1;overflow:hidden;position:relative}
  248. .pad{padding:0 16px}
  249. /* 卡片 */
  250. .card{background:var(--surface);border-radius:14px;box-shadow:var(--shadow-card);overflow:hidden}
  251. [data-theme="dark"] .card{border:1px solid var(--line)}
  252. .card + .card:not(.pos):not(.qc){margin-top:11px}
  253. .card-hd{display:flex;align-items:center;justify-content:space-between;padding:13px 15px 0}
  254. .card-hd h3{font-size:14.5px;font-weight:600}
  255. .card-hd .more{font-size:12px;color:var(--ink-3);display:flex;align-items:center;gap:2px}
  256. /* 资金看板 */
  257. .hero{
  258. margin:10px 16px 0;border-radius:16px;padding:18px 18px 16px;position:relative;overflow:hidden;
  259. background:linear-gradient(150deg,#1B4FD8 0%,#123CAE 58%,#0C2C86 100%);color:#fff;
  260. box-shadow:0 12px 30px rgba(18,60,174,.30);
  261. }
  262. [data-theme="dark"] .hero{background:linear-gradient(150deg,#1A2C5C 0%,#132347 55%,#101B39 100%);box-shadow:0 12px 30px rgba(0,0,0,.5);border:1px solid rgba(91,140,255,.24)}
  263. .hero::after{content:"";position:absolute;right:-40px;top:-52px;width:180px;height:180px;border-radius:50%;background:rgba(255,255,255,.07)}
  264. [data-theme="dark"] .hero::after{background:rgba(91,140,255,.10)}
  265. .hero .lb{display:flex;align-items:center;gap:6px;font-size:12.5px;color:rgba(255,255,255,.76)}
  266. .hero .lb .cur{display:flex;align-items:center;gap:3px;padding:2px 6px;border-radius:5px;background:rgba(255,255,255,.14);font-size:11.5px}
  267. .hero .amt{margin-top:7px;font-size:33px;font-weight:600;letter-spacing:.01em;font-variant-numeric:tabular-nums;display:flex;align-items:baseline;gap:8px}
  268. .hero .amt .eye{opacity:.6}
  269. .hero .arrow{position:absolute;right:18px;top:20px;opacity:.75}
  270. .hero .grid3{display:flex;margin-top:16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.16)}
  271. .hero .grid3 div{flex:1}
  272. .hero .grid3 span{display:block;font-size:11px;color:rgba(255,255,255,.7)}
  273. .hero .grid3 b{display:block;margin-top:5px;font-size:14.5px;font-weight:600;font-variant-numeric:tabular-nums}
  274. /* 币种表 */
  275. .fxtab{width:100%;border-collapse:collapse;font-size:12.5px}
  276. .fxtab th{padding:9px 15px;font-size:10.5px;font-weight:500;color:var(--ink-3);letter-spacing:.06em;text-align:right;background:var(--surface-2)}
  277. .fxtab th:first-child{text-align:left}
  278. .fxtab td{padding:10px 15px;text-align:right;font-variant-numeric:tabular-nums;color:var(--ink-1);border-top:1px solid var(--line)}
  279. .fxtab td:first-child{text-align:left;font-family:"SF Mono",monospace;font-size:12px;color:var(--ink-2)}
  280. /* 快捷入口 */
  281. .quick{display:flex;gap:11px;margin:11px 16px 0}
  282. .qk{flex:1;background:var(--surface);border-radius:13px;padding:13px 12px;display:flex;align-items:center;gap:10px;box-shadow:var(--shadow-card);position:relative}
  283. [data-theme="dark"] .qk{border:1px solid var(--line)}
  284. .qk .ib{width:32px;height:32px;border-radius:9px;background:var(--brand-weak);color:var(--brand);display:flex;align-items:center;justify-content:center;flex:none}
  285. .qk b{font-size:13.5px;font-weight:550}
  286. .qk .rd{position:absolute;top:9px;right:9px;width:7px;height:7px;border-radius:50%;background:var(--danger);box-shadow:0 0 0 2px var(--surface)}
  287. /* 列表行 */
  288. .row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 15px;border-bottom:1px solid var(--line);font-size:14.5px}
  289. .row:last-child{border-bottom:0}
  290. .row .k{color:var(--ink-2);display:flex;align-items:center;gap:7px;flex:none}
  291. .row .k .icn{color:var(--ink-3)}
  292. .row .v{color:var(--ink-1);font-variant-numeric:tabular-nums;display:flex;align-items:center;gap:6px;text-align:right}
  293. .row .v.ph{color:var(--ink-4)}
  294. .row .v.m{font-family:"SF Mono",monospace;font-size:13.5px}
  295. .hint{width:13px;height:13px;border-radius:50%;border:1px solid var(--ink-4);color:var(--ink-3);font-size:8.5px;display:inline-flex;align-items:center;justify-content:center;font-style:normal;flex:none}
  296. /* 标签 / 徽标 */
  297. .tag{font-size:10.5px;padding:2px 6px;border-radius:4px;letter-spacing:.02em;font-weight:520;display:inline-flex;align-items:center;gap:3px;flex:none}
  298. .t-brand{background:var(--brand-weak);color:var(--brand)}
  299. .t-accent{background:var(--accent-weak);color:var(--accent)}
  300. .t-rise{background:var(--rise-weak);color:var(--rise)}
  301. .t-fall{background:var(--fall-weak);color:var(--fall)}
  302. .t-ok{background:var(--ok-weak);color:var(--ok)}
  303. .t-warn{background:var(--warn-weak);color:var(--warn)}
  304. .t-mute{background:var(--surface-3);color:var(--ink-3)}
  305. .t-solid{background:var(--brand);color:var(--on-brand)}
  306. .t-danger{background:var(--danger);color:#fff}
  307. .cmark{width:14px;height:14px;border-radius:50%;background:var(--brand);color:var(--on-brand);font-size:9px;display:inline-flex;align-items:center;justify-content:center;font-weight:600;flex:none;font-style:normal}
  308. .corner{position:absolute;left:0;top:0;padding:2px 9px 2px 7px;font-size:9.5px;color:#fff;background:var(--danger);border-radius:12px 0 12px 0;letter-spacing:.04em;z-index:3}
  309. .corner.due{background:var(--accent)}
  310. .corner.pend{background:var(--ink-3)}
  311. /* 状态点 */
  312. .st{display:inline-flex;align-items:center;gap:5px;font-size:12.5px}
  313. .st i{width:6px;height:6px;border-radius:50%;flex:none;background:currentColor}
  314. .st.wait{color:var(--ink-3)}
  315. .st.live{color:var(--accent)}
  316. .st.live i{background:transparent;border:1.6px solid currentColor}
  317. .st.done{color:var(--ok)}
  318. .st.rej{color:var(--danger)}
  319. .st.exp{color:var(--ink-4)}
  320. /* 按钮 */
  321. .btn{
  322. height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;gap:6px;
  323. background:var(--brand);color:var(--on-brand);font-size:15.5px;font-weight:600;letter-spacing:.06em;
  324. box-shadow:0 6px 16px rgba(27,79,216,.24);
  325. }
  326. [data-theme="dark"] .btn{box-shadow:0 6px 18px rgba(91,140,255,.20)}
  327. .btn.sm{height:38px;font-size:14px;border-radius:10px;box-shadow:none}
  328. .btn.off{background:var(--surface-3);color:var(--ink-4);box-shadow:none}
  329. .btn.ghost{background:transparent;border:1px solid var(--line-2);color:var(--ink-2);box-shadow:none;font-weight:500}
  330. .btn.danger{background:var(--danger);box-shadow:none;color:#fff}
  331. .btn.wide{width:100%}
  332. .iconbtn{width:46px;height:46px;border-radius:12px;border:1px solid var(--line-2);display:flex;align-items:center;justify-content:center;color:var(--ink-2);flex:none;background:var(--surface)}
  333. /* 输入 */
  334. .field{background:var(--surface);border:1px solid var(--line-2);border-radius:11px;height:44px;display:flex;align-items:center;gap:9px;padding:0 13px;font-size:14.5px;color:var(--ink-1)}
  335. .field.focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-weak)}
  336. .field.err{border-color:var(--danger);box-shadow:0 0 0 3px var(--danger-weak)}
  337. .field .ph{color:var(--ink-4)}
  338. .field .icn{color:var(--ink-3)}
  339. .field .unit{margin-left:auto;color:var(--ink-2);font-size:13.5px}
  340. .lbl{font-size:11.5px;color:var(--ink-3);letter-spacing:.06em;margin-bottom:7px;display:block}
  341. .errtip{font-size:11.5px;color:var(--danger);margin-top:6px;display:flex;align-items:center;gap:4px}
  342. /* chips */
  343. .chips{display:flex;gap:7px;flex-wrap:wrap}
  344. .chip{height:32px;padding:0 12px;border-radius:9px;border:1px solid var(--line-2);background:var(--surface);color:var(--ink-2);font-size:13px;display:flex;align-items:center;font-variant-numeric:tabular-nums}
  345. .chip.on{background:var(--brand-weak);border-color:var(--brand-line);color:var(--brand);font-weight:560}
  346. .chip.dash{border-style:dashed}
  347. /* 单选 / 复选 */
  348. .rad{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;color:var(--ink-2)}
  349. .rad i{width:15px;height:15px;border-radius:50%;border:1.4px solid var(--line-2);position:relative;flex:none}
  350. .rad.on{color:var(--ink-1)}
  351. .rad.on i{border-color:var(--brand)}
  352. .rad.on i::after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--brand)}
  353. .cb{width:16px;height:16px;border-radius:4.5px;border:1.4px solid var(--line-2);flex:none;display:flex;align-items:center;justify-content:center;color:transparent}
  354. .cb.on{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}
  355. .cb .icn{width:11px;height:11px;stroke-width:2.6}
  356. /* 步进器 */
  357. .stepper{height:38px;border:1px solid var(--line-2);border-radius:10px;display:flex;align-items:center;overflow:hidden;background:var(--surface)}
  358. .stepper b{width:34px;text-align:center;font-weight:400;font-size:17px;color:var(--ink-3)}
  359. .stepper i{flex:1;text-align:center;font-style:normal;font-variant-numeric:tabular-nums;font-size:15px;border-left:1px solid var(--line);border-right:1px solid var(--line);line-height:36px}
  360. .stepper.err{border-color:var(--danger)}
  361. .stepper.err i{color:var(--danger)}
  362. /* 搜索 */
  363. .search{height:38px;border-radius:10px;background:var(--surface-2);display:flex;align-items:center;gap:8px;padding:0 12px;font-size:14px;color:var(--ink-4)}
  364. .search .icn{color:var(--ink-3)}
  365. .search b{color:var(--ink-1);font-weight:500}
  366. .sug{background:var(--surface);border-radius:12px;box-shadow:var(--shadow-pop);overflow:hidden;margin-top:6px}
  367. .sug div{padding:11px 13px;font-size:14px;border-bottom:1px solid var(--line);display:flex;gap:8px}
  368. .sug div:last-child{border-bottom:0}
  369. .sug em{font-style:normal;color:var(--brand)}
  370. .sug span{font-family:"SF Mono",monospace;font-size:12.5px;color:var(--ink-3)}
  371. /* 弹窗 */
  372. .scrim{position:absolute;inset:0;background:var(--scrim);z-index:40;display:flex;align-items:center;justify-content:center;padding:0 30px}
  373. .scrim.bottom{align-items:flex-end;padding:0}
  374. .dlg{width:100%;background:var(--surface);border-radius:16px;overflow:hidden;box-shadow:var(--shadow-pop)}
  375. .dlg.sheet{border-radius:18px 18px 0 0;padding-bottom:22px}
  376. .dlg-hd{padding:18px 18px 0;text-align:center}
  377. .dlg-hd h3{font-size:16.5px;font-weight:600}
  378. .dlg-bd{padding:14px 18px 4px;font-size:14px;color:var(--ink-2);line-height:1.65}
  379. .dlg-ft{display:flex;border-top:1px solid var(--line);margin-top:16px}
  380. .dlg-ft span{flex:1;text-align:center;padding:14px 0;font-size:15.5px;color:var(--brand);font-weight:550}
  381. .dlg-ft span:first-child{color:var(--ink-2);border-right:1px solid var(--line)}
  382. .dlg-ft.single span{color:var(--brand)}
  383. .dlg-btns{display:flex;gap:11px;padding:16px 18px 0}
  384. .dlg-btns .btn{flex:1}
  385. /* toast */
  386. .toast{
  387. position:absolute;left:50%;top:47%;transform:translate(-50%,-50%);z-index:50;
  388. background:rgba(15,25,45,.90);color:#fff;padding:12px 20px;border-radius:11px;font-size:14px;max-width:290px;text-align:center;line-height:1.55;
  389. }
  390. [data-theme="dark"] .toast{background:rgba(230,238,250,.94);color:#0B1020}
  391. /* 提示条 */
  392. .notice{display:flex;gap:8px;padding:10px 12px;border-radius:10px;font-size:12.5px;line-height:1.6}
  393. .notice.warn{background:var(--warn-weak);color:var(--warn)}
  394. .notice.info{background:var(--brand-weak);color:var(--brand)}
  395. .notice.danger{background:var(--danger-weak);color:var(--danger)}
  396. .notice .icn{flex:none;margin-top:1px}
  397. /* 空态 */
  398. .empty{padding:44px 0;text-align:center;color:var(--ink-4);font-size:13.5px}
  399. .empty .icn{width:34px;height:34px;stroke-width:1.2;margin-bottom:10px;color:var(--ink-4)}
  400. /* 分组标题 */
  401. .gtitle{padding:16px 16px 8px;font-size:12px;color:var(--ink-3);letter-spacing:.06em}
  402. /* 骨架/遮罩说明用 */
  403. .dim{opacity:.45}
  404. /* ============================================================
  405. 业务组件
  406. ============================================================ */
  407. /* 筛选栏 */
  408. .filterbar{display:flex;gap:8px;padding:10px 16px;background:var(--app-bg);flex:none;align-items:center}
  409. .fb{height:34px;padding:0 11px;border-radius:9px;background:var(--surface-2);color:var(--ink-2);font-size:13px;display:flex;align-items:center;gap:5px;white-space:nowrap}
  410. .fb.on{background:var(--brand-weak);color:var(--brand);font-weight:550}
  411. .fb .icn{width:13px;height:13px}
  412. .fb.flex{flex:1;min-width:0}
  413. /* 筛选栏 v2 —— 搜索行 + 条件行(时间在左,筛选入口在右) */
  414. .fsearch{margin:10px 16px 0;height:40px;border-radius:12px;background:var(--surface-2);display:flex;align-items:center;gap:9px;padding:0 13px;font-size:14px;color:var(--ink-4);flex:none}
  415. .fsearch .icn{width:16px;height:16px;color:var(--ink-3);flex:none}
  416. .fsearch b{color:var(--ink-1);font-weight:500}
  417. .fsearch .clr{margin-left:auto;color:var(--ink-4)}
  418. .fcond{display:flex;align-items:center;justify-content:space-between;padding:11px 16px;flex:none;background:var(--app-bg)}
  419. .fpill{height:34px;padding:0 14px;border-radius:17px;border:1px solid var(--line-2);background:var(--surface);color:var(--ink-2);font-size:13.5px;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
  420. .fpill .icn{width:13px;height:13px;color:var(--ink-3)}
  421. .fpill.on{background:var(--brand-weak);border-color:var(--brand-line);color:var(--brand);font-weight:560}
  422. .fpill.on .icn{color:var(--brand)}
  423. .fmore{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;color:var(--ink-2);position:relative;padding-right:2px}
  424. .fmore .icn{width:15px;height:15px;color:var(--ink-3)}
  425. .fmore.on{color:var(--brand);font-weight:560}
  426. .fmore.on .icn{color:var(--brand)}
  427. .fmore.on::after{content:"";position:absolute;right:-5px;top:-3px;width:6px;height:6px;border-radius:50%;background:var(--danger)}
  428. /* 筛选面板 —— 底部弹层 */
  429. .fsheet{padding-bottom:20px}
  430. .fsheet-hd{display:flex;align-items:center;justify-content:space-between;padding:20px 20px 2px}
  431. .fsheet-hd b{font-size:17px;font-weight:600;letter-spacing:.02em}
  432. .fsheet-hd .icn{width:19px;height:19px;color:var(--ink-3)}
  433. .fsec{padding:16px 20px 0}
  434. .fsec .lbl{margin-bottom:10px}
  435. .optgrid{display:grid;grid-template-columns:1fr 1fr;gap:11px}
  436. .opt{height:42px;border-radius:21px;border:1px solid var(--line-2);background:var(--surface);color:var(--ink-2);font-size:14px;display:flex;align-items:center;justify-content:center;white-space:nowrap;padding:0 10px}
  437. .opt.on{background:var(--brand-weak);border-color:var(--brand);color:var(--brand);font-weight:600}
  438. .opt.dis{background:var(--surface-2);border-color:var(--line);color:var(--ink-4)}
  439. .fline{height:1px;background:var(--line);margin:18px 20px 0}
  440. /* 自定义区间 · 日期段 + 滚轮 */
  441. .dtrow{display:flex;gap:11px}
  442. .dt{flex:1;min-width:0;background:var(--surface);border:1px solid var(--line-2);border-radius:12px;padding:8px 12px 10px}
  443. .dt em{display:block;font-style:normal;font-size:11px;color:var(--ink-3);letter-spacing:.04em}
  444. .dt b{display:block;margin-top:3px;font-size:16px;font-weight:600;color:var(--ink-1);font-variant-numeric:tabular-nums;font-family:"SF Mono",ui-monospace,Menlo,monospace}
  445. .dt.act{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-weak)}
  446. .dt.act em{color:var(--brand)}
  447. .dt.err{border-color:var(--danger);box-shadow:0 0 0 3px var(--danger-weak)}
  448. .wheel{position:relative;margin:14px 20px 0;padding:4px 8px;display:grid;grid-template-columns:repeat(3,1fr);text-align:center}
  449. .wheel .band{position:absolute;left:6px;right:6px;top:50%;height:40px;transform:translateY(-50%);background:var(--surface-2);border-radius:10px}
  450. .wcol{position:relative;z-index:1;display:flex;flex-direction:column}
  451. .wcol span{height:40px;line-height:40px;font-size:14px;color:var(--ink-2);font-variant-numeric:tabular-nums}
  452. .wcol span.far{color:var(--ink-4);opacity:.5}
  453. .wcol span.now{color:var(--ink-1);font-size:16px;font-weight:600}
  454. .fsheet-ft{display:flex;gap:12px;padding:20px 20px 0}
  455. .fsheet-ft .btn{flex:1.18}
  456. .fsheet-ft .btn.ghost{flex:.82;background:var(--surface-2);border:0;color:var(--ink-2);font-weight:600}
  457. /* 持仓卡片 */
  458. .pos{position:relative;margin:0 16px 11px;padding:13px 0 0}
  459. .pos-hd{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:0 14px}
  460. .pos-name{font-size:15.5px;font-weight:600;display:flex;align-items:center;gap:6px}
  461. .pos-code{font-size:11px;color:var(--ink-3);margin-top:4px;letter-spacing:.02em;font-family:"SF Mono",monospace}
  462. .pos-val{text-align:right;flex:none}
  463. .pos-val b{display:block;font-size:18px;font-weight:600;font-variant-numeric:tabular-nums}
  464. .pos-val span{display:block;font-size:10.5px;color:var(--ink-3);margin-top:3px}
  465. .pos-pl{display:flex;justify-content:flex-end;gap:9px;padding:6px 14px 0;font-size:12.5px;font-variant-numeric:tabular-nums}
  466. .up{color:var(--rise)} .down{color:var(--fall)} .flat{color:var(--ink-3)}
  467. .pos-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px 6px;padding:12px 14px 13px;margin-top:10px;border-top:1px solid var(--line)}
  468. .pos-grid div span{display:block;font-size:10px;color:var(--ink-3);letter-spacing:.02em}
  469. .pos-grid div b{display:block;margin-top:4px;font-size:12.5px;font-weight:550;font-variant-numeric:tabular-nums;white-space:nowrap}
  470. .pos-grid div b em{font-style:normal;color:var(--ink-3);font-weight:400;font-size:11px}
  471. .pos-ops{display:flex;border-top:1px solid var(--line);background:var(--surface-2)}
  472. .pos-ops span{flex:1;text-align:center;padding:11px 0;font-size:13.5px;color:var(--ink-2);border-right:1px solid var(--line)}
  473. .pos-ops span:last-child{border-right:0}
  474. .pos-ops span.pri{color:var(--brand);font-weight:550}
  475. .pos-ops span.hot{color:var(--danger);font-weight:550}
  476. .pos-ops span.off{color:var(--ink-4)}
  477. /* 冻结列表格(数据模式) */
  478. .gridtab{display:flex;font-size:12px;overflow:hidden}
  479. .gt-fix{flex:none;width:118px;border-right:1px solid var(--line-2);background:var(--surface);position:relative;z-index:2;box-shadow:4px 0 10px rgba(15,27,51,.06)}
  480. [data-theme="dark"] .gt-fix{box-shadow:4px 0 10px rgba(0,0,0,.35)}
  481. .gt-scroll{flex:1;overflow:hidden;background:var(--surface)}
  482. .gt-h{height:36px;display:flex;align-items:center;background:var(--surface-2);color:var(--ink-3);font-size:10.5px;letter-spacing:.02em;padding:0 10px;border-bottom:1px solid var(--line);white-space:nowrap;gap:14px}
  483. .gt-r{height:52px;display:flex;align-items:center;padding:0 10px;border-bottom:1px solid var(--line);white-space:nowrap;gap:14px;font-variant-numeric:tabular-nums}
  484. .gt-fix .gt-r{flex-direction:column;align-items:flex-start;justify-content:center;gap:3px;position:relative;padding-left:14px}
  485. .gt-fix .gt-h{padding-left:14px}
  486. /* 表格形式的「新报价」角标:斜切丝带,带 NEW 文案;冻结列左内边距统一 14px 给丝带让位,行内文字不被压 */
  487. .gt-new{position:absolute;left:0;top:0;width:34px;height:34px;overflow:hidden;z-index:3;pointer-events:none}
  488. .gt-new::before{content:"NEW";position:absolute;left:-17px;top:1px;width:48px;padding:1px 0;transform:rotate(-45deg);background:var(--danger);color:#fff;font-size:7.5px;font-weight:600;font-style:normal;letter-spacing:.04em;text-align:center;line-height:1.35}
  489. .gt-r i{font-style:normal;display:inline-block;text-align:right}
  490. .gt-h i{display:inline-block;text-align:right}
  491. /* 询价 / 订单卡片 */
  492. .qc{margin:0 16px 10px;padding:13px 14px;position:relative}
  493. .qc-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
  494. .qc-name{font-size:15px;font-weight:600;display:flex;align-items:center;gap:6px}
  495. .qc-sub{font-size:11px;color:var(--ink-3);margin-top:4px;font-family:"SF Mono",monospace}
  496. .qc-r{text-align:right;flex:none}
  497. .qc-time{font-size:10.5px;color:var(--ink-3);margin-top:5px;font-family:"SF Mono",monospace}
  498. .qc-meta{display:flex;gap:16px;margin-top:10px;font-size:12.5px;color:var(--ink-2);font-variant-numeric:tabular-nums}
  499. .qc-meta em{font-style:normal;color:var(--ink-3);font-size:11px;margin-right:4px}
  500. .qc-open{margin-top:12px;border-top:1px dashed var(--line-2);padding-top:10px}
  501. .qt{display:grid;grid-template-columns:1.1fr .8fr .8fr .9fr;font-size:12px;font-variant-numeric:tabular-nums;align-items:center}
  502. .qt.h{color:var(--ink-3);font-size:10.5px;padding-bottom:7px}
  503. .qt.r{padding:9px 8px;margin:0 -8px;border-radius:8px}
  504. .qt.r:hover,.qt.r.hl{background:var(--brand-weak)}
  505. .qt .p{color:var(--brand);font-weight:600}
  506. .qt .t{color:var(--ink-3);font-size:10.5px;text-align:right}
  507. /* 「新」标记分工:卡片/行角标表明本单有新报价,行内红点指出具体是哪一条 */
  508. .qt span:first-child{position:relative;padding-left:12px}
  509. .qt .newdot{position:absolute;left:0;top:50%;margin:0;transform:translateY(-50%);vertical-align:0}
  510. .newdot{width:6px;height:6px;border-radius:50%;background:var(--danger);display:inline-block;margin-right:5px;vertical-align:1px}
  511. /* 时间线(流水) */
  512. .tl{padding:0 16px}
  513. .tl-i{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}
  514. .tl-i .dot{width:9px;height:9px;border-radius:50%;background:var(--brand);flex:none;margin-top:5px;box-shadow:0 0 0 3px var(--brand-weak)}
  515. .tl-i .dot.out{background:var(--accent);box-shadow:0 0 0 3px var(--accent-weak)}
  516. .tl-i .c{flex:1}
  517. .tl-i .c b{font-size:14.5px;font-weight:550}
  518. .tl-i .c span{display:block;font-size:11px;color:var(--ink-3);margin-top:4px;font-family:"SF Mono",monospace}
  519. .tl-i .amt{font-size:15px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
  520. /* 设置项列表 */
  521. .menu{background:var(--surface);border-radius:14px;overflow:hidden;margin:0 16px 12px;box-shadow:var(--shadow-card)}
  522. [data-theme="dark"] .menu{border:1px solid var(--line)}
  523. .mi{display:flex;align-items:center;gap:12px;padding:15px 15px;border-bottom:1px solid var(--line);font-size:15px}
  524. .mi:last-child{border-bottom:0}
  525. .mi .ib{width:30px;height:30px;border-radius:9px;background:var(--brand-weak);color:var(--brand);display:flex;align-items:center;justify-content:center;flex:none}
  526. .mi .ib.am{background:var(--accent-weak);color:var(--accent)}
  527. .mi .tx{flex:1}
  528. .mi .tx em{font-style:normal;display:block;font-size:11.5px;color:var(--ink-3);margin-top:3px}
  529. .mi .rv{color:var(--ink-3);font-size:13.5px;display:flex;align-items:center;gap:4px}
  530. /* 开关 */
  531. .sw2{width:44px;height:26px;border-radius:14px;background:var(--line-2);position:relative;flex:none;transition:.2s}
  532. .sw2::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:.2s}
  533. .sw2.on{background:var(--brand)}
  534. .sw2.on::after{left:21px}
  535. /* 数据表(App 内) */
  536. .dt{width:100%;border-collapse:collapse;font-size:12.5px}
  537. .dt th{background:var(--surface-2);color:var(--ink-3);font-size:10.5px;font-weight:500;padding:9px 10px;text-align:right;letter-spacing:.02em}
  538. .dt th:first-child{text-align:left}
  539. .dt td{padding:10px;text-align:right;border-top:1px solid var(--line);font-variant-numeric:tabular-nums}
  540. .dt td:first-child{text-align:left;color:var(--ink-2)}
  541. /* 键盘 */
  542. .kbd{background:var(--surface-2);padding:8px 6px 26px;display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
  543. .kbd span{height:44px;border-radius:8px;background:var(--surface);display:flex;align-items:center;justify-content:center;font-size:21px;font-weight:500;box-shadow:0 1px 2px rgba(15,27,51,.10)}
  544. [data-theme="dark"] .kbd span{box-shadow:none;border:1px solid var(--line)}
  545. .kbd span.fn{background:transparent;box-shadow:none;font-size:15px;color:var(--ink-2)}
  546. .kbd span.ok{background:var(--brand);color:var(--on-brand);font-size:16px}
  547. /* 对照页专用 */
  548. .pair{display:grid;grid-template-columns:390px 390px;gap:36px;justify-content:start}
  549. .pair-lb{display:flex;align-items:center;gap:7px;font-size:11.5px;color:var(--canvas-mute);margin-bottom:12px;letter-spacing:.08em}
  550. .pair-lb i{width:12px;height:12px;border-radius:3px;border:1px solid var(--canvas-line);flex:none}
  551. /* 角标占位:有角标的卡片顶部让出空间,避免压住标的名 */
  552. .pos:has(.corner) .pos-hd{padding-top:15px}
  553. .qc:has(.corner){padding-top:26px}
  554. /* 列表视图切换:卡片 / 表格 */
  555. .viewtog{display:inline-flex;padding:2px;background:var(--surface-2);border-radius:8px;gap:2px;flex:none;position:relative}
  556. .viewtog span{width:28px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:6px;color:var(--ink-3)}
  557. .viewtog span.on{background:var(--surface);color:var(--brand);box-shadow:var(--shadow-card)}
  558. [data-theme="dark"] .viewtog span.on{background:var(--surface-3)}
  559. .viewtog .icn{width:15px;height:15px;stroke-width:1.8}
  560. .fright{display:flex;align-items:center;gap:12px}
  561. /* 筛选条:chips 可横滑,视图切换固定在右侧不参与滚动 */
  562. .fbscroll{display:flex;gap:8px;align-items:center;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none}
  563. .fbscroll::-webkit-scrollbar{display:none}
  564. .viewtog.sep{margin-left:4px}
  565. .viewtog.sep::before{content:"";position:absolute;left:-7px;top:2px;bottom:2px;width:1px;background:var(--line-2)}
  566. /* ==== v1.3 · 03 专用 BEGIN ==== */
  567. /* 当日订单筛选栏(代码 StatusChipRow):胶囊带条数(灰,买入待处理有单时红)、历史图标、切换控件固定在右 */
  568. .filterbar .fb{gap:0}
  569. .filterbar .fb em{font-style:normal;color:var(--ink-3);font-weight:400}
  570. .filterbar .fb em.hot{color:var(--danger)}
  571. .filterbar .fhist{flex:none;color:var(--ink-2);display:flex;align-items:center;padding:0 4px}
  572. .filterbar .fhist .icn{width:18px;height:18px}
  573. .batchrow{display:flex;justify-content:flex-end;padding:0 16px 10px}
  574. .batchrow .chip.on{font-weight:600}
  575. /* 订单卡片:展开 / 选中时品牌描边;操作条三枚 chip 右对齐(详情 · 撤单 · 改价),不可操作时灰显 */
  576. .qc.open{box-shadow:var(--shadow-card),0 0 0 1px var(--brand-line)}
  577. .qc-meta{flex-wrap:wrap;row-gap:8px}
  578. .qc-meta2{display:flex;gap:16px;margin-top:8px;font-size:12.5px;color:var(--ink-2)}
  579. .qc-meta2 em{font-style:normal;color:var(--ink-3);font-size:11px;margin-right:4px}
  580. .ops{display:flex;gap:10px;justify-content:flex-end;border-top:1px solid var(--line);margin-top:11px;padding-top:11px}
  581. .ops .chip.dg{color:var(--danger);border-color:var(--danger)}
  582. .ops .chip.dis{background:var(--surface-2);border-color:var(--line);color:var(--ink-4)}
  583. .selwrap{display:flex;gap:12px;align-items:flex-start}
  584. .selwrap .body2{flex:1;min-width:0}
  585. .selcb{width:20px;height:20px;border-radius:6px;border:1.5px solid var(--line-2);display:flex;align-items:center;justify-content:center;flex:none;margin-top:2px;background:var(--surface)}
  586. .selcb.on{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}
  587. .selcb .icn{width:13px;height:13px;stroke-width:2.6}
  588. .bbar{padding:12px 16px 30px;display:flex;gap:11px;align-items:center;border-top:1px solid var(--line);background:var(--surface)}
  589. .bbar .all{display:flex;align-items:center;gap:9px;font-size:13.5px;color:var(--ink-2);flex:none}
  590. /* 弹窗里的小表(订单金额确认 / 抢单结果) */
  591. .mtab{border:1px solid var(--line);border-radius:10px;overflow:hidden}
  592. .mtab>div{display:flex;align-items:center;gap:8px;padding:10px;border-top:1px solid var(--line);font-size:12px;font-family:var(--font-num)}
  593. .mtab>div:first-child{border-top:0}
  594. .mtab>div>span{flex:1;text-align:right;white-space:nowrap}
  595. .mtab>div>span:first-child{text-align:left;font-family:var(--font-mono);color:var(--ink-2);flex:.8}
  596. .mtab .h{background:var(--surface-2);font-size:10.5px;color:var(--ink-3);font-family:inherit;padding:9px 10px}
  597. .mtab .h>span:first-child{font-family:inherit;color:var(--ink-3)}
  598. .mtab .dg{color:var(--danger)}
  599. .rtab>div{display:flex;align-items:center;padding:10px;border-top:1px solid var(--line);font-size:12px}
  600. .rtab .nm{flex:1.5;line-height:1.35}
  601. .rtab .nm small{display:block;font-family:var(--font-mono);font-size:10.5px;color:var(--ink-3)}
  602. .rtab .v{flex:1;text-align:right;font-family:var(--font-num)}
  603. .rtab .v.r{flex:.6}
  604. .rtab .ok{color:var(--ok)} .rtab .no{color:var(--ink-3)}
  605. .agree2{padding:12px 16px 0;display:flex;flex-direction:column;gap:9px}
  606. .agree2 label{display:flex;gap:9px;font-size:12.5px;color:var(--ink-2);line-height:1.5;align-items:flex-start}
  607. .agree2 label b{color:var(--brand);font-weight:600}
  608. .agree2 .cb{margin-top:2px}
  609. /* 历史订单卡片:名义本金 / 执行名义本金 + 价格要求两栏 */
  610. .hcard .hrow{display:flex;justify-content:space-between;gap:16px;margin-top:10px}
  611. .hcard .hrow span{display:block;font-size:10.5px;color:var(--ink-3)}
  612. .hcard .hrow b{display:block;margin-top:3px;font-size:12.5px;font-weight:400;font-family:var(--font-num)}
  613. .hcard .hrow>div:last-child{text-align:right}
  614. .qc-time.full{font-size:10.5px}
  615. /* 历史询价的报价子表:时间两行 */
  616. .qtab{margin:0 -14px -13px}
  617. .qtab>div{display:flex;align-items:center;gap:8px;padding:0 10px 0 14px;border-top:1px solid var(--line)}
  618. .qtab>div:first-child{border-top:0}
  619. .qtab .qh{height:36px;font-size:10.5px;letter-spacing:.02em;color:var(--ink-3)}
  620. .qtab .qr{height:48px;font-size:12px}
  621. .qtab>div>span{flex:1;text-align:right;font-family:var(--font-num);font-variant-numeric:tabular-nums;white-space:nowrap}
  622. .qtab>div>span:first-child{text-align:left;font-family:var(--font-mono)}
  623. .qtab .qh>span{font-family:inherit}
  624. .qtab .p{color:var(--brand);font-weight:600}
  625. .qtab .t{color:var(--ink-3);font-size:10.5px;line-height:1.45}
  626. /* 订单详情:分组卡片的字段行;链接、盈亏色 */
  627. .frow b.lk{color:var(--brand);text-decoration:underline;font-family:var(--font-mono);font-size:13px}
  628. .frow b.dn{color:var(--fall)}
  629. .frow.tot{background:var(--surface-2)}
  630. .frow.tot>span{color:var(--ink-1);font-weight:600}
  631. .frow.tot>b{font-size:17px;font-weight:600}
  632. .gtitle.ex{display:flex;align-items:center;justify-content:space-between}
  633. .gtitle.ex .icn{width:14px;height:14px;color:var(--ink-4)}
  634. .fexp{padding:12px 18px 0;font-size:13.5px;line-height:1.7;color:var(--ink-2)}
  635. .fexp b{display:block;color:var(--ink-1);font-size:14px;margin-top:10px}
  636. .fexp b:first-child{margin-top:0}
  637. .fexp li{margin:4px 0 0 16px}
  638. /* ==== v1.3 · 03 专用 END ==== */
  639. /* ==== v1.3 公共覆盖 BEGIN · 2026-10-14 按代码现状对齐(同一段注入全部图纸,改动从清单目录的 common-v13.css 同步) ==== */
  640. /* 字体:数值走 Inter(代码 NumText),代码 / 编号走 iOS 的 Menlo(代码 MonoText),正文仍是系统字 */
  641. @font-face{font-family:"Inter";src:url("assets/fonts/Inter-Regular.subset.otf") format("opentype");font-weight:400}
  642. @font-face{font-family:"Inter";src:url("assets/fonts/Inter-Medium.subset.otf") format("opentype");font-weight:500}
  643. @font-face{font-family:"Inter";src:url("assets/fonts/Inter-SemiBold.subset.otf") format("opentype");font-weight:600}
  644. @font-face{font-family:"Inter";src:url("assets/fonts/Inter-Bold.subset.otf") format("opentype");font-weight:700}
  645. :root{--font-num:"Inter","PingFang SC","Hiragino Sans GB",system-ui,sans-serif;--font-mono:Menlo,"SF Mono",ui-monospace,monospace}
  646. .phone .num,.hero .amt,.hero .grid3 b,.fxtab td,.pos-val b,.pos-pl,.pos-grid div b,.qt,.gt-r,.stepper i,.kbd span,.tl-i .amt{font-family:var(--font-num)}
  647. .statusbar .num{font-family:inherit}
  648. .phone .mono,.pos-code,.qc-sub,.qc-time,.fxtab td:first-child,.sug span,.tl-i .c span,.row .v.m{font-family:var(--font-mono)}
  649. /* 底栏:四个 Tab(票据 / 账户 / 消息 / 我的);消息 Tab 只有红点,后端不给条数 */
  650. .tb .tbi{position:relative;display:inline-flex;flex:none}
  651. .tb .tbi .rdot{position:absolute;top:-2px;left:14px;width:8px;height:8px;border-radius:50%;background:var(--danger);box-shadow:0 0 0 2px var(--surface)}
  652. /* 二级页导航栏:iOS 系统导航栏,表面色底、居中 17 / 600 标题、品牌色返回箭头、无分隔线(H5 标题靠左,见 00 规范) */
  653. .navbar{height:44px;background:var(--surface)}
  654. .statusbar:has(+ .navbar){background:var(--surface)}
  655. .navbar h2{font-size:17px;font-weight:600;letter-spacing:0}
  656. .navbar .bk{color:var(--brand)}
  657. .navbar .bk .icn{width:22px;height:22px;stroke-width:2.1}
  658. /* 图注里的身份标记:本期未上线 / v1.3 新增 / 平台限定 */
  659. .cap-flags{display:inline-flex;gap:6px;margin-left:8px;vertical-align:1px}
  660. .cap-flag{font-family:"PingFang SC",system-ui,sans-serif;font-size:10px;letter-spacing:.04em;padding:1px 6px;border-radius:4px;border:1px solid var(--canvas-line);color:var(--canvas-mute);background:var(--canvas-2)}
  661. .cap-flag.off{color:var(--accent);border-color:var(--accent-line);background:var(--accent-weak)}
  662. .cap-flag.new{color:var(--brand);border-color:var(--brand-line);background:var(--brand-weak)}
  663. .cap-flag.plat{color:var(--ok);border-color:rgba(15,123,79,.35);background:var(--ok-weak)}
  664. /* 实心底上的文字(角标 / 实心标签 / 危险按钮):浅色白字,深色下底色被提亮、改配近黑字(代码 $onFill / $onDanger) */
  665. [data-theme="dark"] .corner,[data-theme="dark"] .t-danger,[data-theme="dark"] .btn.danger,[data-theme="dark"] .mb,[data-theme="dark"] .gt-new::before{color:#05122E}
  666. /* 表格首列的迷你角标(代码 CornerBadge variant="mini"):9 / 600、左右 4 */
  667. .mb{display:inline-flex;align-items:center;font-size:9px;font-weight:600;line-height:12px;padding:1px 4px;border-radius:4px;color:#fff;background:var(--ink-3);white-space:nowrap}
  668. .mb.d{background:var(--danger)} .mb.a{background:var(--accent)} .mb.m{background:var(--ink-3)} .mb.b{background:var(--brand)}
  669. /* Toast:按内容定宽、最宽 290(代码 maxW 290),单行放得下就不折行;位置 top 76% */
  670. .toast{width:max-content;max-width:290px}
  671. /* ---- 通用组件(代码 components/ 的对应件) ---- */
  672. /* 资金看板右上「>」用 lg 档 */
  673. .hero .arrow{width:22px;height:22px}
  674. /* 只读行:InfoRow(无分隔线)/ FieldRow(带分隔线,.frow),左 ink2 右 Inter */
  675. .irow{display:flex;justify-content:space-between;align-items:center;padding:14px 15px;font-size:14.5px}
  676. .irow span{color:var(--ink-2)}
  677. .irow b{font-weight:400;font-family:var(--font-num);font-variant-numeric:tabular-nums}
  678. .irow b.dg{color:var(--danger)}
  679. .frow{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 15px;border-bottom:1px solid var(--line);font-size:14.5px}
  680. .frow>span{color:var(--ink-2);display:flex;align-items:center;gap:6px}
  681. .frow>b{font-weight:400;font-family:var(--font-num);font-variant-numeric:tabular-nums;text-align:right}
  682. .frow.hl{background:var(--brand-weak)}
  683. .frow.hl>span,.frow.hl>b{color:var(--brand)}
  684. .frow.hl>b{font-weight:600}
  685. .frow.last,.frow:last-child{border-bottom:0}
  686. /* 字段说明 ⓘ(代码 IconButton name="info",ink4 14) */
  687. .xi{width:14px;height:14px;color:var(--ink-4);flex:none}
  688. /* 弹窗里的证券行(代码在前)与行情行 */
  689. .secl{display:flex;align-items:center;gap:7px}
  690. .secl .mono{font-size:12px;color:var(--ink-3)}
  691. .secl b{font-size:14.5px;font-weight:600}
  692. .phint{display:flex;gap:14px;margin-top:9px;font-size:12px;color:var(--ink-3)}
  693. .phint b{font-weight:400;font-family:var(--font-num);font-variant-numeric:tabular-nums}
  694. .field .num{font-family:var(--font-num)}
  695. .errtip .icn{width:13px;height:13px}
  696. .errtip.r{justify-content:flex-end}
  697. /* 时间片块(代码 TradingWindowDialog) */
  698. .twin{border-radius:10px;background:var(--surface-2);padding:13px 0;display:flex;flex-direction:column;align-items:center;gap:5px}
  699. .twin span{font-size:13px;color:var(--ink-3)}
  700. .twin b{font-size:17px;font-weight:600;font-family:var(--font-num)}
  701. /* 弹窗标题区(代码 DialogHeading):图标圆 44 + 标题 16.5 / 600 + 说明 14 / ink2 / 行高 23 */
  702. .dicon{width:44px;height:44px;border-radius:22px;display:flex;align-items:center;justify-content:center;margin:0 auto 6px}
  703. .dicon.warn{background:var(--warn-weak);color:var(--warn)}
  704. .dicon.danger{background:var(--danger-weak);color:var(--danger)}
  705. .dicon.ok{background:var(--ok-weak);color:var(--ok)}
  706. .dicon.brand{background:var(--brand-weak);color:var(--brand)}
  707. .dlg-hd .dsc{margin-top:6px;font-size:14px;color:var(--ink-2);line-height:23px}
  708. .dlg-ft span{font-weight:500}
  709. .dlg-ft span.off{color:var(--brand);opacity:.4}
  710. .dlg-ft span.dg{color:var(--danger)}
  711. /* 底部面板标题行(代码 SheetFrame 的四套头):select 左标题 + 右 × / centered 居中无关闭 / centered-close 居中 + 右 × / filter 左大标题 + 右 × */
  712. .shd{display:flex;align-items:center;justify-content:space-between;padding:16px 18px 6px}
  713. .shd b{font-size:15.5px;font-weight:600}
  714. .shd .icn{color:var(--ink-3)}
  715. .shd-c{padding:16px 18px 4px;text-align:center;position:relative}
  716. .shd-c b{font-size:16.5px;font-weight:600}
  717. .shd-c .icn{position:absolute;right:18px;top:17px;color:var(--ink-3)}
  718. /* 单选面板的选项行(代码 SelectSheet) */
  719. .opt-row{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--line);font-size:14.5px;color:var(--ink-2)}
  720. .opt-row .icn{width:14px;height:14px;color:var(--brand)}
  721. .opt-row b{font-weight:400;color:var(--ink-1)}
  722. .opt-row.sel b{font-weight:600}
  723. .opt-row:last-child{border-bottom:0}
  724. /* 叠在另一层弹窗之上的第二层遮罩 */
  725. .scrim.top2{z-index:45}
  726. /* 列表尾的文字入口(历史票据 > 等) */
  727. .listfoot{display:flex;justify-content:center;align-items:center;gap:3px;padding:12px 0;font-size:13px;color:var(--brand)}
  728. .listfoot .icn{width:13px;height:13px}
  729. /* 分组标题(代码 Section 的标题:12 / ink3,上 16 下 8) */
  730. .gtitle{padding:16px 16px 8px}
  731. /* 转圈(代码 ProgressRing,下拉刷新 / 上拉加载 / 检索在搜共用) */
  732. @keyframes hh-spin{from{transform:rotate(-90deg)}to{transform:rotate(270deg)}}
  733. .ring{width:16px;height:16px;position:relative;flex:none;display:inline-block}
  734. .ring>svg{width:100%;height:100%;transform:rotate(-90deg);display:block}
  735. .ring .trk{fill:none;stroke:var(--line-2);stroke-width:2.8}
  736. .ring .bar{fill:none;stroke:var(--brand);stroke-width:2.8;stroke-linecap:round}
  737. .spin{animation:hh-spin .9s linear infinite}
  738. .ring.lg{width:24px;height:24px}
  739. .ring.lg .trk,.ring.lg .bar{stroke-width:2.2}
  740. /* 空态(代码 EmptyState):整页 120×104 / sm 72×62 / row 30×26 三档,插画取色走 --il-* */
  741. .emptyslot{flex:1;display:flex;align-items:center;justify-content:center;padding:0 0 204px}
  742. .emptybox{--il-a:#E7EDF6;--il-b:#D8E0EC;--il-c:#F8FAFE;display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 32px}
  743. [data-theme="dark"] .emptybox{--il-a:#1F2A45;--il-b:#161F38;--il-c:#28355A}
  744. .emptybox .illu{width:120px;height:104px;display:block}
  745. .emptybox .etxt{margin-top:16px;font-size:14px;color:var(--ink-3);letter-spacing:.1em}
  746. .emptybox .esub{margin-top:8px;font-size:12px;line-height:1.65;color:var(--ink-4);max-width:236px}
  747. .emptybox .eact{margin-top:20px}
  748. .emptybox.sm{padding:26px 20px}
  749. .emptybox.sm .illu{width:72px;height:62px}
  750. .emptybox.sm .etxt{margin-top:11px;font-size:12.5px;letter-spacing:.08em}
  751. .emptybox.row{flex-direction:row;align-items:center;justify-content:center;gap:10px;padding:9px 0}
  752. .emptybox.row .illu{width:30px;height:26px}
  753. .emptybox.row .etxt{margin-top:0;font-size:12.5px;letter-spacing:.06em}
  754. /* 状态点「已提交」档(代码 StatusSemantic submitted:未报 / 待报 / 待审批):品牌色空心 */
  755. .st.sub{color:var(--brand)}
  756. .st.sub i{background:transparent;border:1.6px solid currentColor}
  757. /* ---- 持仓卡片(代码 PositionCard)与通用表格(代码 DataTable) ---- */
  758. /* 持仓卡片:多枚角标并排;有角标时顶部只让到 15;估值后的币种小一号 */
  759. .pos .corners{position:absolute;left:0;top:0;display:flex;z-index:3}
  760. .pos .corners .corner{position:static}
  761. .pos:has(.corners) .pos-hd{padding-top:2px}
  762. .pos-val b small{font-size:13.5px;font-weight:400;color:var(--ink-2)}
  763. .pos-code b{font-weight:400;color:var(--accent)}
  764. /* 信息格五项一行:整行按宽度降档 12.5 / 11.5 / 10.5,最小档仍放不下时成对的值拆成两行(i) */
  765. .pos-grid.f5{display:flex;flex-wrap:wrap;column-gap:6px;row-gap:10px}
  766. .pos-grid.f5>div{flex:1 0 auto}
  767. .pos-grid.f5 div span{font-size:10px;letter-spacing:.02em}
  768. .pos-grid.f5 div b{font-size:12.5px;font-weight:500}
  769. .pos-grid.f5 div b em{font-size:11px;font-weight:400}
  770. .pos-grid.f5 div i{display:block;font-style:normal;font-size:11px;color:var(--ink-3);font-family:var(--font-num);font-variant-numeric:tabular-nums;white-space:nowrap}
  771. .pos-grid.f5.s115 div b{font-size:11.5px}.pos-grid.f5.s115 div b em{font-size:10px}
  772. .pos-grid.f5.s105 div b{font-size:10.5px}.pos-grid.f5.s105 div b em{font-size:9px}
  773. .pos-ops span.pri,.pos-ops span.hot{font-weight:500}
  774. /* 表格模式(DataTable):表头 36 / 行 52、单元格 12、列距 14,前两列冻结带右投影 */
  775. .ptab{background:var(--surface);overflow:hidden}
  776. .ptab .r{display:flex;align-items:stretch;height:52px;border-bottom:1px solid var(--line);font-size:12px;white-space:nowrap}
  777. .ptab .r.h{height:36px;background:var(--surface-2);font-size:10.5px;letter-spacing:.02em;color:var(--ink-3)}
  778. .ptab .fz,.ptab .sc{display:flex;align-items:center;gap:14px;flex:none}
  779. .ptab .fz{padding:0 14px 0 10px;background:var(--surface);position:relative;z-index:2;box-shadow:4px 0 10px rgba(15,27,51,.06)}
  780. [data-theme="dark"] .ptab .fz{box-shadow:4px 0 10px rgba(0,0,0,.35)}
  781. .ptab .r.h .fz{background:var(--surface-2)}
  782. .ptab .c{flex:none}
  783. .ptab .c.n{text-align:right;font-family:var(--font-num);font-variant-numeric:tabular-nums}
  784. .ptab .r.h .c.n{font-family:inherit}
  785. .ptab .c.n .sub{display:block;font-size:11px;color:var(--ink-3);margin-top:2px}
  786. .ptab .cat b{display:block;font-size:12px;font-weight:600}
  787. .ptab .cat b.db{color:var(--accent)}
  788. .ptab .cat .mbs{display:flex;gap:3px;margin-top:3px}
  789. .ptab .scd b{display:block;font-size:12px;font-weight:400}
  790. .ptab .scd span{display:flex;align-items:center;gap:4px;font-family:var(--font-mono);font-size:11px;color:var(--ink-3);margin-top:3px}
  791. .ptab .scd .cmark{width:13px;height:13px;font-size:8.5px}
  792. .ptab .opsrow{border-bottom:1px solid var(--line)}
  793. .ptab .opsrow .pos-ops{border-top:0}
  794. .ptab .r.sel,.ptab .r.sel .fz{background:var(--brand-weak)}
  795. .ptab .xrow{background:var(--surface-2);border-bottom:1px solid var(--line)}
  796. /* ---- 卡片 / 表格切换(代码 ViewModeToggle) ---- */
  797. .viewtog{display:inline-flex;padding:2px;background:var(--surface-2);border-radius:8px;gap:2px;flex:none;position:relative}
  798. .viewtog.sep{margin-left:4px}
  799. .viewtog.sep::before{content:"";position:absolute;left:-7px;top:2px;bottom:2px;width:1px;background:var(--line-2)}
  800. .viewtog span{width:28px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:6px;color:var(--ink-3)}
  801. .viewtog span.on{background:var(--surface);color:var(--brand);box-shadow:var(--shadow-card)}
  802. [data-theme="dark"] .viewtog span.on{background:var(--surface-3)}
  803. .viewtog .icn{width:15px;height:15px;stroke-width:1.8}
  804. /* ==== v1.3 公共覆盖 END ==== */
  805. </style>
  806. </head>
  807. <body>
  808. <svg width="0" height="0" style="position:absolute" aria-hidden="true"><defs>
  809. <g id="i-back"><polyline points="15 4 7 12 15 20"/></g>
  810. <g id="i-right"><polyline points="9 4 17 12 9 20"/></g>
  811. <g id="i-down"><polyline points="5 9 12 16 19 9"/></g>
  812. <g id="i-up"><polyline points="5 15 12 8 19 15"/></g>
  813. <g id="i-search"><circle cx="11" cy="11" r="6.5"/><line x1="16" y1="16" x2="21" y2="21"/></g>
  814. <g id="i-x"><line x1="6" y1="6" x2="18" y2="18"/><line x1="18" y1="6" x2="6" y2="18"/></g>
  815. <g id="i-check"><polyline points="4 12.5 9.5 18 20 6"/></g>
  816. <g id="i-plus"><line x1="12" y1="5" x2="12" y2="19"/><line x1="5" y1="12" x2="19" y2="12"/></g>
  817. <g id="i-minus"><line x1="5" y1="12" x2="19" y2="12"/></g>
  818. <g id="i-eye"><path d="M2 12s3.6-6.5 10-6.5S22 12 22 12s-3.6 6.5-10 6.5S2 12 2 12z"/><circle cx="12" cy="12" r="2.6"/></g>
  819. <g id="i-eyeoff"><path d="M4 5l16 14"/><path d="M9.5 6.2A9.7 9.7 0 0 1 12 5.5c6.4 0 10 6.5 10 6.5a17 17 0 0 1-3.3 4"/><path d="M6.2 8.3A16.6 16.6 0 0 0 2 12s3.6 6.5 10 6.5a10 10 0 0 0 3.3-.55"/></g>
  820. <g id="i-clock"><circle cx="12" cy="12" r="8.5"/><polyline points="12 7 12 12 15.5 14"/></g>
  821. <g id="i-history"><path d="M3.5 12a8.5 8.5 0 1 0 2.6-6.1"/><polyline points="3 4 3 9 8 9"/><polyline points="12 7.5 12 12 15.5 14"/></g>
  822. <g id="i-filter"><path d="M4 6h16l-6.2 7.4V19l-3.6-2v-3.6z"/></g>
  823. <g id="i-calendar"><rect x="3.5" y="5" width="17" height="15.5" rx="2.5"/><line x1="3.5" y1="9.5" x2="20.5" y2="9.5"/><line x1="8" y1="3" x2="8" y2="6.5"/><line x1="16" y1="3" x2="16" y2="6.5"/></g>
  824. <g id="i-note"><path d="M6 3h8l4.5 4.5V21H6z"/><polyline points="14 3 14 8 18.5 8"/><line x1="9" y1="13" x2="15" y2="13"/><line x1="9" y1="17" x2="13" y2="17"/></g>
  825. <g id="i-wallet"><rect x="3" y="6" width="18" height="14" rx="3"/><path d="M3 10h18"/><circle cx="16.5" cy="15" r="1.3" fill="currentColor" stroke="none"/></g>
  826. <g id="i-user"><circle cx="12" cy="8.5" r="3.8"/><path d="M4.5 20.5a7.5 7.5 0 0 1 15 0"/></g>
  827. <g id="i-transfer"><polyline points="7 7 4 10 7 13"/><path d="M4 10h12a4 4 0 0 1 0 8h-3"/><polyline points="17 17 20 14 17 11" opacity="0"/></g>
  828. <g id="i-swap"><polyline points="8 5 4.5 8.5 8 12"/><line x1="4.5" y1="8.5" x2="19" y2="8.5"/><polyline points="16 19 19.5 15.5 16 12"/><line x1="19.5" y1="15.5" x2="5" y2="15.5"/></g>
  829. <g id="i-refresh"><path d="M20 12a8 8 0 1 1-2.4-5.7"/><polyline points="20 4 20 9 15 9"/></g>
  830. <g id="i-help"><circle cx="12" cy="12" r="8.6"/><path d="M9.6 9.6a2.5 2.5 0 1 1 3.2 2.4c-.6.2-.9.7-.9 1.4v.5"/><circle cx="11.9" cy="16.6" r=".9" fill="currentColor" stroke="none"/></g>
  831. <g id="i-info"><circle cx="12" cy="12" r="8.6"/><line x1="12" y1="11" x2="12" y2="16.5"/><circle cx="12" cy="7.8" r=".9" fill="currentColor" stroke="none"/></g>
  832. <g id="i-alert"><path d="M12 4.5 21 19.5H3z"/><line x1="12" y1="10" x2="12" y2="14.5"/><circle cx="12" cy="17" r=".9" fill="currentColor" stroke="none"/></g>
  833. <g id="i-lock"><rect x="5" y="10.5" width="14" height="10" rx="2.5"/><path d="M8.2 10.5V8a3.8 3.8 0 0 1 7.6 0v2.5"/></g>
  834. <g id="i-key"><circle cx="8" cy="14" r="4"/><path d="M11 11.5 20 3"/><line x1="17" y1="6" x2="19" y2="8"/></g>
  835. <g id="i-shield"><path d="M12 3.5 19 6v6c0 4.2-2.9 7.2-7 8.5-4.1-1.3-7-4.3-7-8.5V6z"/><polyline points="9 12 11.3 14.3 15.3 10.3"/></g>
  836. <g id="i-font"><path d="M4 19 10 5l6 14"/><line x1="6.2" y1="14.5" x2="13.8" y2="14.5"/><path d="M17 19l3-8 3 8" transform="scale(.72) translate(6.5 5)"/></g>
  837. <g id="i-doc"><rect x="4.5" y="3.5" width="15" height="17" rx="2.5"/><line x1="8" y1="9" x2="16" y2="9"/><line x1="8" y1="13" x2="16" y2="13"/><line x1="8" y1="17" x2="12.5" y2="17"/></g>
  838. <g id="i-logout"><path d="M14 5H6.5A2.5 2.5 0 0 0 4 7.5v9A2.5 2.5 0 0 0 6.5 19H14"/><polyline points="16.5 8 20.5 12 16.5 16"/><line x1="20.5" y1="12" x2="10" y2="12"/></g>
  839. <g id="i-fee"><circle cx="12" cy="12" r="8.5"/><path d="M9.5 9h5M9.5 12h5M12 9v8"/></g>
  840. <g id="i-theme"><circle cx="12" cy="12" r="7.5"/><path d="M12 4.5v15a7.5 7.5 0 0 0 0-15z" fill="currentColor" stroke="none"/></g>
  841. <g id="i-sun"><circle cx="12" cy="12" r="4.2"/><line x1="12" y1="2.5" x2="12" y2="5"/><line x1="12" y1="19" x2="12" y2="21.5"/><line x1="2.5" y1="12" x2="5" y2="12"/><line x1="19" y1="12" x2="21.5" y2="12"/><line x1="5.4" y1="5.4" x2="7.1" y2="7.1"/><line x1="16.9" y1="16.9" x2="18.6" y2="18.6"/><line x1="5.4" y1="18.6" x2="7.1" y2="16.9"/><line x1="16.9" y1="7.1" x2="18.6" y2="5.4"/></g>
  842. <g id="i-moon"><path d="M20 14.2A8.4 8.4 0 0 1 9.8 4 8.6 8.6 0 1 0 20 14.2z"/></g>
  843. <g id="i-bell"><path d="M18 16V11a6 6 0 1 0-12 0v5l-1.6 2.5h15.2z"/><path d="M9.8 21a2.4 2.4 0 0 0 4.4 0"/></g>
  844. <g id="i-list"><line x1="4" y1="7" x2="20" y2="7"/><line x1="4" y1="12" x2="20" y2="12"/><line x1="4" y1="17" x2="20" y2="17"/></g>
  845. <g id="i-sort"><polyline points="7 9 10 6 13 9"/><polyline points="7 15 10 18 13 15"/></g>
  846. <g id="i-trend"><polyline points="3 16 9 10 13 14 21 6"/><polyline points="15.5 6 21 6 21 11.5"/></g>
  847. <g id="i-img"><rect x="3.5" y="5" width="17" height="14" rx="2.5"/><circle cx="9" cy="10" r="1.6"/><polyline points="5 17 10 12 13.5 15.5 16.5 13 19.5 16"/></g>
  848. <g id="i-upload"><path d="M12 16V5"/><polyline points="7.5 9.5 12 5 16.5 9.5"/><path d="M4 15v3.5A2.5 2.5 0 0 0 6.5 21h11a2.5 2.5 0 0 0 2.5-2.5V15"/></g>
  849. <g id="i-face"><rect x="4" y="4" width="16" height="16" rx="4"/><circle cx="9.3" cy="10.5" r=".9" fill="currentColor" stroke="none"/><circle cx="14.7" cy="10.5" r=".9" fill="currentColor" stroke="none"/><path d="M9 15c1.8 1.5 4.2 1.5 6 0"/></g>
  850. <g id="i-cardview"><rect x="3.5" y="4" width="17" height="7" rx="2"/><rect x="3.5" y="13" width="17" height="7" rx="2"/></g>
  851. <g id="i-tableview"><rect x="3.5" y="4.5" width="17" height="15" rx="2"/><line x1="3.5" y1="9.5" x2="20.5" y2="9.5"/><line x1="3.5" y1="14.5" x2="20.5" y2="14.5"/><line x1="9.6" y1="4.5" x2="9.6" y2="19.5"/></g>
  852. </defs></svg>
  853. <div class="sheet-head">
  854. <div class="brandmark">
  855. <div class="glyph"></div>
  856. <div>
  857. <div class="sheet-title">订单 · 批量处理与历史</div>
  858. <div class="sheet-sub">票据投资者 APP / A类订单 · B类批量买入 · 历史订单 · 历史询价 · 订单详情</div>
  859. </div>
  860. </div>
  861. <div class="head-right">
  862. <div class="meta">
  863. <div>模块<b>订单 ORDER</b></div>
  864. <div>规格<b>iOS 390 &times; 844 @3x</b></div>
  865. <div>主题<b>深空蓝 Light / Dark</b></div>
  866. <div>版本<b>v1.3.1 · 2026-11-03</b></div>
  867. </div>
  868. <div class="skin" role="group" aria-label="主题切换">
  869. <button data-set="light" class="on"><svg viewBox="0 0 24 24"><use href="#i-sun"/></svg>浅色</button>
  870. <button data-set="dark"><svg viewBox="0 0 24 24"><use href="#i-moon"/></svg>深色</button>
  871. </div>
  872. </div>
  873. </div>
  874. <style>
  875. .selcb{width:20px;height:20px;border-radius:6px;border:1.5px solid var(--line-2);flex:none;display:flex;align-items:center;justify-content:center;color:transparent}
  876. .selcb.on{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}
  877. .batchbar{border-top:1px solid var(--line);background:var(--surface);padding:12px 16px;display:flex;align-items:center;gap:11px}
  878. </style>
  879. <div class="sec">
  880. <div class="sec-head"><span class="sec-num">01</span><span class="sec-name">状态 · 组件 · 约束</span><span class="sec-rule"></span><span class="sec-note">v1.3 按代码现状重画;A 类自主下单可撤可改,B 类被动确认走批量(本期未上线)</span></div>
  881. <div class="cards">
  882. <div class="card-x">
  883. <h4>订单状态 STATUS</h4>
  884. <div class="bullets">
  885. <li><b>A 类十一态</b>:未报 · 待报 · 待处理 · 执行中 · 待撤 · 撤单中 · 已撤 · 确认中 · 已完成 · 已拒绝 · 已结算</li>
  886. <li><b>可操作</b>:撤单 / 改价各认后端 <code>can_cancel</code> / <code>can_reprice</code>,不可操作时灰显</li>
  887. <li><b>类型着色</b>:买入 / 正常卖出 = 品牌弱底;<b>到期 / 强平卖出 = 危险色实心「卖出」</b></li>
  888. <li><b>B 类</b>:只有 mock,线上不可见;批量合适性两边都是占位</li>
  889. </div>
  890. </div>
  891. <div class="card-x">
  892. <h4>组件 COMPONENT</h4>
  893. <div class="bullets">
  894. <li><b>状态筛选栏</b>:A 类 全部 / 可撤 / 已完成(带条数);B 类 全部 / 买入待处理(红色条数)/ 已完成</li>
  895. <li><b>操作条</b>:详情 · 撤单 · 改价三枚 chip,卡片展开与表格展开行共用</li>
  896. <li><b>批量条</b>:全选 + 拒绝 + 确认买入(N)</li>
  897. <li><b>历史筛选</b>:搜索行(联想)+ 条件行(时间胶囊左、筛选与切换右)</li>
  898. </div>
  899. </div>
  900. <div class="card-x">
  901. <h4>约束 RULES</h4>
  902. <div class="kv">
  903. <div class="r"><span>当日列表</span><b>仅当天,创建时间倒序</b></div>
  904. <div class="r"><span>历史订单</span><b>不含当天;缺省近三月</b></div>
  905. <div class="r"><span>历史状态筛选</span><b>只含终态四项</b></div>
  906. <div class="r"><span>改价</span><b>与原价格要求不同才可确认</b></div>
  907. <div class="r"><span>撤单 / 改价受理</span><b>异步,Toast「…申请已提交」</b></div>
  908. </div>
  909. </div>
  910. </div>
  911. </div>
  912. <div class="sec">
  913. <div class="sec-head"><span class="sec-num">02</span><span class="sec-name">界面与状态</span><span class="sec-rule"></span><span class="sec-note">17 帧(O12b、O14、O14b、O15 为 v1.3 新增;O4–O8 为 B 类,本期未上线;O6 协议 v1.3.1 改一句一勾)· 点右上角「深色 / 浅色」实时换肤</span></div>
  914. <div class="frames">
  915. <!-- ===== O1 A 类订单 · 列表与筛选 ===== -->
  916. <div class="frame">
  917. <div class="phone">
  918. <div class="screen">
  919. <div class="statusbar"><span class="num">9:41</span><span class="ic"><svg class="icn sm" viewBox="0 0 24 24" style="fill:currentColor;stroke:none"><rect x="1" y="14" width="3.4" height="6" rx="1"/><rect x="6.4" y="10" width="3.4" height="10" rx="1"/><rect x="11.8" y="6" width="3.4" height="14" rx="1"/><rect x="17.2" y="3" width="3.4" height="17" rx="1" opacity=".35"/></svg><svg class="icn sm" viewBox="0 0 24 24" style="fill:currentColor;stroke:none"><path d="M12 19.5 2 9a14 14 0 0 1 20 0z" opacity=".95"/></svg><svg class="icn" viewBox="0 0 30 24" style="fill:none;stroke:currentColor;stroke-width:1.5;width:24px"><rect x="1.5" y="7" width="21" height="11" rx="3"/><rect x="3.6" y="9.1" width="14" height="6.8" rx="1.6" fill="currentColor" stroke="none"/><path d="M24.5 11v6a3.2 3.2 0 0 0 0-6z" fill="currentColor" stroke="none"/></svg></span></div>
  920. <div class="appbar"><h1>共赢票据</h1></div>
  921. <div class="tabs" style="margin-top:12px"><span>询价</span><span class="on">订单</span></div>
  922. <div class="body">
  923. <div class="filterbar"><div class="fbscroll"><span class="fb on">全部<em class="">(50)</em></span><span class="fb">可撤<em class="">(20)</em></span><span class="fb">已完成<em class="">(19)</em></span></div><span class="fhist"><svg class="icn" viewBox="0 0 24 24"><use href="#i-history"/></svg></span><span class="viewtog sep"><span class="on"><svg class="icn" viewBox="0 0 24 24"><use href="#i-cardview"/></svg></span><span><svg class="icn" viewBox="0 0 24 24"><use href="#i-tableview"/></svg></span></span></div>
  924. <div class="card qc"><div class="qc-top">
  925. <div><div class="qc-name">贵州茅台 <i class="cmark">C</i> <span class="tag t-brand">买入</span></div><div class="qc-sub">600519.SH</div></div>
  926. <div class="qc-r"><span class="st live"><i></i>待处理</span><div class="qc-time">13:31:02</div></div>
  927. </div>
  928. <div class="qc-meta"><span><em>名义本金</em>100万</span><span><em>价格要求</em>限价 11.23</span></div></div>
  929. <div class="card qc"><div class="qc-top">
  930. <div><div class="qc-name">贵州燃气 <i class="cmark">C</i> <span class="tag t-brand">买入</span></div><div class="qc-sub">600903.SH</div></div>
  931. <div class="qc-r"><span class="st live"><i></i>执行中</span><div class="qc-time">12:20:11</div></div>
  932. </div>
  933. <div class="qc-meta"><span><em>名义本金</em>200万</span><span><em>价格要求</em>市价</span></div></div>
  934. <div class="card qc"><div class="qc-top">
  935. <div><div class="qc-name">贵州茅台 <i class="cmark">C</i> <span class="tag t-brand">买入</span></div><div class="qc-sub">600519.SH</div></div>
  936. <div class="qc-r"><span class="st live"><i></i>待撤</span><div class="qc-time">11:50:00</div></div>
  937. </div>
  938. <div class="qc-meta"><span><em>名义本金</em>100万</span><span><em>价格要求</em>限价 11.23</span></div></div>
  939. <div class="card qc"><div class="qc-top">
  940. <div><div class="qc-name">贵州茅台 <i class="cmark">C</i> <span class="tag t-brand">买入</span></div><div class="qc-sub">600519.SH</div></div>
  941. <div class="qc-r"><span class="st live"><i></i>撤单中</span><div class="qc-time">11:30:00</div></div>
  942. </div>
  943. <div class="qc-meta"><span><em>名义本金</em>100万</span><span><em>价格要求</em>限价 11.23</span></div></div>
  944. <div class="card qc"><div class="qc-top">
  945. <div><div class="qc-name">贵州茅台 <i class="cmark">C</i> <span class="tag t-danger">卖出</span></div><div class="qc-sub">600519.SH</div></div>
  946. <div class="qc-r"><span class="st done"><i></i>已完成</span><div class="qc-time">09:10:00</div></div>
  947. </div>
  948. <div class="qc-meta"><span><em>名义本金</em>100万</span><span><em>价格要求</em>限价 11.23</span></div></div>
  949. </div>
  950. <div class="tabbar"><div class="tb on"><span class="tbi"><svg class="icn" viewBox="0 0 24 24"><use href="#i-note"/></svg></span>票据</div><div class="tb"><span class="tbi"><svg class="icn" viewBox="0 0 24 24"><use href="#i-wallet"/></svg></span>账户</div><div class="tb"><span class="tbi"><svg class="icn" viewBox="0 0 24 24"><use href="#i-bell"/></svg><i class="rdot"></i></span>消息</div><div class="tb"><span class="tbi"><svg class="icn" viewBox="0 0 24 24"><use href="#i-user"/></svg></span>我的</div></div>
  951. <div class="homebar"></div>
  952. </div>
  953. </div>
  954. <div class="cap">
  955. <div class="cap-num">O1</div>
  956. <div class="cap-title">A 类订单 · 列表与筛选</div>
  957. <ul>
  958. <li>三档筛选带条数:全部 / 可撤(待处理 · 执行中 · 待撤 · 撤单中)/ 已完成;右侧历史图标(只有图标)进历史订单,卡片 / 表格切换固定不滚</li>
  959. <li>卡片:名称 + Ⓒ + 类型标签,第二行只给代码;摘要「名义本金 / 价格要求」;右侧状态 + 下单时间</li>
  960. <li>类型标签:买入 / 正常卖出为品牌弱底;<b>到期与强平卖出是危险色实心「卖出」</b></li>
  961. <li>只开通 A 类时没有 A / B 分段;列表仅当天、创建时间倒序</li>
  962. </ul>
  963. </div>
  964. </div>
  965. <!-- ===== O2 订单展开 · 撤单确认 ===== -->
  966. <div class="frame">
  967. <div class="phone">
  968. <div class="screen">
  969. <div class="statusbar"><span class="num">9:41</span><span class="ic"><svg class="icn sm" viewBox="0 0 24 24" style="fill:currentColor;stroke:none"><rect x="1" y="14" width="3.4" height="6" rx="1"/><rect x="6.4" y="10" width="3.4" height="10" rx="1"/><rect x="11.8" y="6" width="3.4" height="14" rx="1"/><rect x="17.2" y="3" width="3.4" height="17" rx="1" opacity=".35"/></svg><svg class="icn sm" viewBox="0 0 24 24" style="fill:currentColor;stroke:none"><path d="M12 19.5 2 9a14 14 0 0 1 20 0z" opacity=".95"/></svg><svg class="icn" viewBox="0 0 30 24" style="fill:none;stroke:currentColor;stroke-width:1.5;width:24px"><rect x="1.5" y="7" width="21" height="11" rx="3"/><rect x="3.6" y="9.1" width="14" height="6.8" rx="1.6" fill="currentColor" stroke="none"/><path d="M24.5 11v6a3.2 3.2 0 0 0 0-6z" fill="currentColor" stroke="none"/></svg></span></div>
  970. <div class="appbar"><h1>共赢票据</h1></div>
  971. <div class="tabs" style="margin-top:12px"><span>询价</span><span class="on">订单</span></div>
  972. <div class="body">
  973. <div class="filterbar"><div class="fbscroll"><span class="fb on">全部<em class="">(50)</em></span><span class="fb">可撤<em class="">(20)</em></span><span class="fb">已完成<em class="">(19)</em></span></div><span class="fhist"><svg class="icn" viewBox="0 0 24 24"><use href="#i-history"/></svg></span><span class="viewtog sep"><span class="on"><svg class="icn" viewBox="0 0 24 24"><use href="#i-cardview"/></svg></span><span><svg class="icn" viewBox="0 0 24 24"><use href="#i-tableview"/></svg></span></span></div>
  974. <div class="card qc open"><div class="qc-top">
  975. <div><div class="qc-name">贵州茅台 <i class="cmark">C</i> <span class="tag t-brand">买入</span></div><div class="qc-sub">600519.SH</div></div>
  976. <div class="qc-r"><span class="st live"><i></i>待处理</span><div class="qc-time">13:31:02</div></div>
  977. </div>
  978. <div class="qc-meta"><span><em>名义本金</em>100万</span><span><em>价格要求</em>限价 11.23</span></div><div class="ops"><span class="chip">详情</span><span class="chip dg">撤单</span><span class="chip">改价</span></div></div>
  979. <div class="card qc"><div class="qc-top">
  980. <div><div class="qc-name">贵州燃气 <i class="cmark">C</i> <span class="tag t-brand">买入</span></div><div class="qc-sub">600903.SH</div></div>
  981. <div class="qc-r"><span class="st live"><i></i>执行中</span><div class="qc-time">12:20:11</div></div>
  982. </div>
  983. <div class="qc-meta"><span><em>名义本金</em>200万</span><span><em>价格要求</em>市价</span></div></div>
  984. <div class="card qc"><div class="qc-top">
  985. <div><div class="qc-name">贵州茅台 <i class="cmark">C</i> <span class="tag t-brand">买入</span></div><div class="qc-sub">600519.SH</div></div>
  986. <div class="qc-r"><span class="st live"><i></i>待撤</span><div class="qc-time">11:50:00</div></div>
  987. </div>
  988. <div class="qc-meta"><span><em>名义本金</em>100万</span><span><em>价格要求</em>限价 11.23</span></div></div>
  989. <div class="card qc"><div class="qc-top">
  990. <div><div class="qc-name">贵州茅台 <i class="cmark">C</i> <span class="tag t-brand">买入</span></div><div class="qc-sub">600519.SH</div></div>
  991. <div class="qc-r"><span class="st live"><i></i>撤单中</span><div class="qc-time">11:30:00</div></div>
  992. </div>
  993. <div class="qc-meta"><span><em>名义本金</em>100万</span><span><em>价格要求</em>限价 11.23</span></div></div>
  994. <div class="card qc"><div class="qc-top">
  995. <div><div class="qc-name">贵州茅台 <i class="cmark">C</i> <span class="tag t-danger">卖出</span></div><div class="qc-sub">600519.SH</div></div>
  996. <div class="qc-r"><span class="st done"><i></i>已完成</span><div class="qc-time">09:10:00</div></div>
  997. </div>
  998. <div class="qc-meta"><span><em>名义本金</em>100万</span><span><em>价格要求</em>限价 11.23</span></div></div>
  999. </div>
  1000. <div class="tabbar"><div class="tb on"><span class="tbi"><svg class="icn" viewBox="0 0 24 24"><use href="#i-note"/></svg></span>票据</div><div class="tb"><span class="tbi"><svg class="icn" viewBox="0 0 24 24"><use href="#i-wallet"/></svg></span>账户</div><div class="tb"><span class="tbi"><svg class="icn" viewBox="0 0 24 24"><use href="#i-bell"/></svg><i class="rdot"></i></span>消息</div><div class="tb"><span class="tbi"><svg class="icn" viewBox="0 0 24 24"><use href="#i-user"/></svg></span>我的</div></div>
  1001. <div class="scrim">
  1002. <div class="dlg">
  1003. <div class="dlg-hd" style="padding-bottom:0"><h3>确认撤单吗?</h3></div>
  1004. <div class="dlg-ft"><span>取消</span><span>确认</span></div>
  1005. </div>
  1006. </div>
  1007. <div class="homebar"></div>
  1008. </div>
  1009. </div>
  1010. <div class="cap">
  1011. <div class="cap-num">O2</div>
  1012. <div class="cap-title">订单展开 · 撤单确认</div>
  1013. <ul>
  1014. <li>点卡片就地展开操作条(品牌描边),三枚 chip 恒在、右对齐:详情 · 撤单(危险色描边)· 改价</li>
  1015. <li>撤单 / 改价按后端 <code>can_cancel</code> / <code>can_reprice</code> 判可否:终态订单两枚灰显不可点,不是不画</li>
  1016. <li>撤单确认只有标题「确认撤单吗?」,确认键品牌色;受理后 Toast「撤单申请已提交」</li>
  1017. </ul>
  1018. </div>
  1019. </div>
  1020. <!-- ===== O3 改价弹窗 · 买卖通用 ===== -->
  1021. <div class="frame">
  1022. <div class="phone">
  1023. <div class="screen">
  1024. <div class="statusbar"><span class="num">9:41</span><span class="ic"><svg class="icn sm" viewBox="0 0 24 24" style="fill:currentColor;stroke:none"><rect x="1" y="14" width="3.4" height="6" rx="1"/><rect x="6.4" y="10" width="3.4" height="10" rx="1"/><rect x="11.8" y="6" width="3.4" height="14" rx="1"/><rect x="17.2" y="3" width="3.4" height="17" rx="1" opacity=".35"/></svg><svg class="icn sm" viewBox="0 0 24 24" style="fill:currentColor;stroke:none"><path d="M12 19.5 2 9a14 14 0 0 1 20 0z" opacity=".95"/></svg><svg class="icn" viewBox="0 0 30 24" style="fill:none;stroke:currentColor;stroke-width:1.5;width:24px"><rect x="1.5" y="7" width="21" height="11" rx="3"/><rect x="3.6" y="9.1" width="14" height="6.8" rx="1.6" fill="currentColor" stroke="none"/><path d="M24.5 11v6a3.2 3.2 0 0 0 0-6z" fill="currentColor" stroke="none"/></svg></span></div>
  1025. <div class="appbar"><h1>共赢票据</h1></div>
  1026. <div class="tabs" style="margin-top:12px"><span>询价</span><span class="on">订单</span></div>
  1027. <div class="body">
  1028. <div class="filterbar"><div class="fbscroll"><span class="fb on">全部<em class="">(50)</em></span><span class="fb">可撤<em class="">(20)</em></span><span class="fb">已完成<em class="">(19)</em></span></div><span class="fhist"><svg class="icn" viewBox="0 0 24 24"><use href="#i-history"/></svg></span><span class="viewtog sep"><span class="on"><svg class="icn" viewBox="0 0 24 24"><use href="#i-cardview"/></svg></span><span><svg class="icn" viewBox="0 0 24 24"><use href="#i-tableview"/></svg></span></span></div>
  1029. <div class="card qc open"><div class="qc-top">
  1030. <div><div class="qc-name">贵州茅台 <i class="cmark">C</i> <span class="tag t-brand">买入</span></div><div class="qc-sub">600519.SH</div></div>
  1031. <div class="qc-r"><span class="st live"><i></i>待处理</span><div class="qc-time">13:31:02</div></div>
  1032. </div>
  1033. <div class="qc-meta"><span><em>名义本金</em>100万</span><span><em>价格要求</em>限价 11.23</span></div><div class="ops"><span class="chip">详情</span><span class="chip dg">撤单</span><span class="chip">改价</span></div></div>
  1034. <div class="card qc"><div class="qc-top">
  1035. <div><div class="qc-name">贵州燃气 <i class="cmark">C</i> <span class="tag t-brand">买入</span></div><div class="qc-sub">600903.SH</div></div>
  1036. <div class="qc-r"><span class="st live"><i></i>执行中</span><div class="qc-time">12:20:11</div></div>
  1037. </div>
  1038. <div class="qc-meta"><span><em>名义本金</em>200万</span><span><em>价格要求</em>市价</span></div></div>
  1039. <div class="card qc"><div class="qc-top">
  1040. <div><div class="qc-name">贵州茅台 <i class="cmark">C</i> <span class="tag t-brand">买入</span></div><div class="qc-sub">600519.SH</div></div>
  1041. <div class="qc-r"><span class="st live"><i></i>待撤</span><div class="qc-time">11:50:00</div></div>
  1042. </div>
  1043. <div class="qc-meta"><span><em>名义本金</em>100万</span><span><em>价格要求</em>限价 11.23</span></div></div>
  1044. <div class="card qc"><div class="qc-top">
  1045. <div><div class="qc-name">贵州茅台 <i class="cmark">C</i> <span class="tag t-brand">买入</span></div><div class="qc-sub">600519.SH</div></div>
  1046. <div class="qc-r"><span class="st live"><i></i>撤单中</span><div class="qc-time">11:30:00</div></div>
  1047. </div>
  1048. <div class="qc-meta"><span><em>名义本金</em>100万</span><span><em>价格要求</em>限价 11.23</span></div></div>
  1049. <div class="card qc"><div class="qc-top">
  1050. <div><div class="qc-name">贵州茅台 <i class="cmark">C</i> <span class="tag t-danger">卖出</span></div><div class="qc-sub">600519.SH</div></div>
  1051. <div class="qc-r"><span class="st done"><i></i>已完成</span><div class="qc-time">09:10:00</div></div>
  1052. </div>
  1053. <div class="qc-meta"><span><em>名义本金</em>100万</span><span><em>价格要求</em>限价 11.23</span></div></div>
  1054. </div>
  1055. <div class="tabbar"><div class="tb on"><span class="tbi"><svg class="icn" viewBox="0 0 24 24"><use href="#i-note"/></svg></span>票据</div><div class="tb"><span class="tbi"><svg class="icn" viewBox="0 0 24 24"><use href="#i-wallet"/></svg></span>账户</div><div class="tb"><span class="tbi"><svg class="icn" viewBox="0 0 24 24"><use href="#i-bell"/></svg><i class="rdot"></i></span>消息</div><div class="tb"><span class="tbi"><svg class="icn" viewBox="0 0 24 24"><use href="#i-user"/></svg></span>我的</div></div>
  1056. <div class="scrim">
  1057. <div class="dlg">
  1058. <div class="dlg-hd"><h3>改价</h3></div>
  1059. <div style="padding:12px 18px 0">
  1060. <div class="secl"><b>贵州茅台</b><span class="mono">600519.SH</span></div>
  1061. <div class="phint"><span>最新价 <b class="up">11.39 +0.09%</b></span></div>
  1062. <div class="phint" style="margin-top:6px"><span>涨停 <b class="up">12.52</b></span><span>跌停 <b class="down">10.24</b></span></div>
  1063. </div>
  1064. <div style="padding:14px 18px 0">
  1065. <div style="display:flex;align-items:center;gap:16px"><span class="rad"><i></i>市价</span><span class="rad on"><i></i>限价</span><div class="stepper" style="flex:1"><b>−</b><i>11.23</i><b>+</b></div></div>
  1066. </div>
  1067. <div class="dlg-btns" style="padding:18px"><span class="btn ghost">取消</span><span class="btn off">确认</span></div>
  1068. </div>
  1069. </div>
  1070. <div class="homebar"></div>
  1071. </div>
  1072. </div>
  1073. <div class="cap">
  1074. <div class="cap-num">O3</div>
  1075. <div class="cap-title">改价弹窗 · 买卖通用</div>
  1076. <ul>
  1077. <li>首行「名称 代码」;行情两行:最新价(带涨跌幅)一行,涨停 / 跌停一行</li>
  1078. <li>市价 / 限价单选,默认选中订单当前的价格要求,限价带入原价;<b>与原价格要求无变化时「确认」置灰</b></li>
  1079. <li>限价越界:失焦时 Toast「价格超出合理范围(10.24~12.52)」,步进器转危险色;受理后 Toast「改价申请已提交」</li>
  1080. </ul>
  1081. </div>
  1082. </div>
  1083. <!-- ===== O4 B 类订单 · 待确认 ===== -->
  1084. <div class="frame">
  1085. <div class="phone">
  1086. <div class="screen">
  1087. <div class="statusbar"><span class="num">9:41</span><span class="ic"><svg class="icn sm" viewBox="0 0 24 24" style="fill:currentColor;stroke:none"><rect x="1" y="14" width="3.4" height="6" rx="1"/><rect x="6.4" y="10" width="3.4" height="10" rx="1"/><rect x="11.8" y="6" width="3.4" height="14" rx="1"/><rect x="17.2" y="3" width="3.4" height="17" rx="1" opacity=".35"/></svg><svg class="icn sm" viewBox="0 0 24 24" style="fill:currentColor;stroke:none"><path d="M12 19.5 2 9a14 14 0 0 1 20 0z" opacity=".95"/></svg><svg class="icn" viewBox="0 0 30 24" style="fill:none;stroke:currentColor;stroke-width:1.5;width:24px"><rect x="1.5" y="7" width="21" height="11" rx="3"/><rect x="3.6" y="9.1" width="14" height="6.8" rx="1.6" fill="currentColor" stroke="none"/><path d="M24.5 11v6a3.2 3.2 0 0 0 0-6z" fill="currentColor" stroke="none"/></svg></span></div>
  1088. <div class="appbar"><h1>共赢票据</h1></div>
  1089. <div class="seg" style="margin:14px 20px 0;width:150px"><span>A类</span><span class="on">B类</span></div>
  1090. <div class="body" style="padding-top:10px">
  1091. <div class="filterbar"><div class="fbscroll"><span class="fb">全部</span><span class="fb on">买入待处理<em class="hot">(11)</em></span><span class="fb">已完成</span></div><span class="fhist"><svg class="icn" viewBox="0 0 24 24"><use href="#i-history"/></svg></span><span class="viewtog sep"><span class="on"><svg class="icn" viewBox="0 0 24 24"><use href="#i-cardview"/></svg></span><span><svg class="icn" viewBox="0 0 24 24"><use href="#i-tableview"/></svg></span></span></div>
  1092. <div class="batchrow"><span class="chip">批量处理</span></div>
  1093. <div class="card qc"><div class="qc-top">
  1094. <div><div class="qc-name">贵州茅台 <i class="cmark">C</i> <span class="tag t-brand">买入</span></div><div class="qc-sub">600519.SH</div></div>
  1095. <div class="qc-r"><span class="st live"><i></i>待处理</span><div class="qc-time">13:20:00</div></div>
  1096. </div>
  1097. <div class="qc-meta"><span><em>名义本金</em>100万</span><span><em>价格要求</em>限价 11.23</span></div><div class="qc-meta2"><span><em>成交均价</em>10.35</span><span><em>结算币种</em>HKD</span></div></div>
  1098. <div class="card qc"><div class="qc-top">
  1099. <div><div class="qc-name">贵州燃气 <i class="cmark">C</i> <span class="tag t-brand">买入</span></div><div class="qc-sub">600903.SH</div></div>
  1100. <div class="qc-r"><span class="st live"><i></i>待处理</span><div class="qc-time">13:10:00</div></div>
  1101. </div>
  1102. <div class="qc-meta"><span><em>名义本金</em>200万</span><span><em>价格要求</em>限价 11.23</span></div><div class="qc-meta2"><span><em>成交均价</em>9.88</span><span><em>结算币种</em>USD</span></div></div>
  1103. <div class="card qc"><div class="qc-top">
  1104. <div><div class="qc-name">平安银行 <i class="cmark">C</i> <span class="tag t-brand">买入</span></div><div class="qc-sub">000001.SZ</div></div>
  1105. <div class="qc-r"><span class="st live"><i></i>待处理</span><div class="qc-time">13:00:00</div></div>
  1106. </div>
  1107. <div class="qc-meta"><span><em>名义本金</em>150万</span><span><em>价格要求</em>限价 11.23</span></div><div class="qc-meta2"><span><em>成交均价</em>10.02</span><span><em>结算币种</em>HKD</span></div></div>
  1108. <div class="card qc"><div class="qc-top">
  1109. <div><div class="qc-name">平安银行 <i class="cmark">C</i> <span class="tag t-brand">买入</span></div><div class="qc-sub">000001.SZ</div></div>
  1110. <div class="qc-r"><span class="st live"><i></i>待处理</span><div class="qc-time">08:57:46</div></div>
  1111. </div>
  1112. <div class="qc-meta"><span><em>名义本金</em>50万</span><span><em>价格要求</em>限价 11.23</span></div><div class="qc-meta2"><span><em>成交均价</em>11.20</span><span><em>结算币种</em>HKD</span></div></div>
  1113. </div>
  1114. <div class="tabbar"><div class="tb on"><span class="tbi"><svg class="icn" viewBox="0 0 24 24"><use href="#i-note"/></svg></span>票据</div><div class="tb"><span class="tbi"><svg class="icn" viewBox="0 0 24 24"><use href="#i-wallet"/></svg></span>账户</div><div class="tb"><span class="tbi"><svg class="icn" viewBox="0 0 24 24"><use href="#i-bell"/></svg><i class="rdot"></i></span>消息</div><div class="tb"><span class="tbi"><svg class="icn" viewBox="0 0 24 24"><use href="#i-user"/></svg></span>我的</div></div>
  1115. <div class="homebar"></div>
  1116. </div>
  1117. </div>
  1118. <div class="cap">
  1119. <div class="cap-num">O4</div>
  1120. <div class="cap-title">B 类订单 · 待确认<span class="cap-flags"><span class="cap-flag off">本期未上线 · 仅 mock</span></span></div>
  1121. <ul>
  1122. <li>两类都开通才出 A / B 分段;B 类没有「询价」子 Tab,直接是订单列表</li>
  1123. <li>「买入待处理」条数标红;首份数据到达时有待处理就默认进该档</li>
  1124. <li>B 类「买入待处理」卡片多一行「成交均价 · 结算币种」;筛选栏下方常驻「批量处理」</li>
  1125. </ul>
  1126. </div>
  1127. </div>
  1128. <!-- ===== O5 批量处理 · 选择态 ===== -->
  1129. <div class="frame">
  1130. <div class="phone">
  1131. <div class="screen">
  1132. <div class="statusbar"><span class="num">9:41</span><span class="ic"><svg class="icn sm" viewBox="0 0 24 24" style="fill:currentColor;stroke:none"><rect x="1" y="14" width="3.4" height="6" rx="1"/><rect x="6.4" y="10" width="3.4" height="10" rx="1"/><rect x="11.8" y="6" width="3.4" height="14" rx="1"/><rect x="17.2" y="3" width="3.4" height="17" rx="1" opacity=".35"/></svg><svg class="icn sm" viewBox="0 0 24 24" style="fill:currentColor;stroke:none"><path d="M12 19.5 2 9a14 14 0 0 1 20 0z" opacity=".95"/></svg><svg class="icn" viewBox="0 0 30 24" style="fill:none;stroke:currentColor;stroke-width:1.5;width:24px"><rect x="1.5" y="7" width="21" height="11" rx="3"/><rect x="3.6" y="9.1" width="14" height="6.8" rx="1.6" fill="currentColor" stroke="none"/><path d="M24.5 11v6a3.2 3.2 0 0 0 0-6z" fill="currentColor" stroke="none"/></svg></span></div>
  1133. <div class="appbar"><h1>共赢票据</h1></div>
  1134. <div class="seg" style="margin:14px 20px 0;width:150px"><span>A类</span><span class="on">B类</span></div>
  1135. <div class="body" style="padding-top:10px">
  1136. <div class="filterbar"><div class="fbscroll"><span class="fb">全部</span><span class="fb on">买入待处理<em class="hot">(11)</em></span><span class="fb">已完成</span></div><span class="fhist"><svg class="icn" viewBox="0 0 24 24"><use href="#i-history"/></svg></span><span class="viewtog sep"><span class="on"><svg class="icn" viewBox="0 0 24 24"><use href="#i-cardview"/></svg></span><span><svg class="icn" viewBox="0 0 24 24"><use href="#i-tableview"/></svg></span></span></div>
  1137. <div class="batchrow"><span class="chip on">退出批量处理</span></div>
  1138. <div class="card qc open"><div class="selwrap"><span class="selcb on"><svg class="icn" viewBox="0 0 24 24"><use href="#i-check"/></svg></span><div class="body2"><div class="qc-top">
  1139. <div><div class="qc-name">贵州茅台 <i class="cmark">C</i> <span class="tag t-brand">买入</span></div><div class="qc-sub">600519.SH</div></div>
  1140. <div class="qc-r"><span class="st live"><i></i>待处理</span><div class="qc-time">13:20:00</div></div>
  1141. </div>
  1142. <div class="qc-meta"><span><em>名义本金</em>100万</span><span><em>价格要求</em>限价 11.23</span></div><div class="qc-meta2"><span><em>成交均价</em>10.35</span><span><em>结算币种</em>HKD</span></div></div></div></div>
  1143. <div class="card qc open"><div class="selwrap"><span class="selcb on"><svg class="icn" viewBox="0 0 24 24"><use href="#i-check"/></svg></span><div class="body2"><div class="qc-top">
  1144. <div><div class="qc-name">贵州燃气 <i class="cmark">C</i> <span class="tag t-brand">买入</span></div><div class="qc-sub">600903.SH</div></div>
  1145. <div class="qc-r"><span class="st live"><i></i>待处理</span><div class="qc-time">13:10:00</div></div>
  1146. </div>
  1147. <div class="qc-meta"><span><em>名义本金</em>200万</span><span><em>价格要求</em>限价 11.23</span></div><div class="qc-meta2"><span><em>成交均价</em>9.88</span><span><em>结算币种</em>USD</span></div></div></div></div>
  1148. <div class="card qc"><div class="selwrap"><span class="selcb"></span><div class="body2"><div class="qc-top">
  1149. <div><div class="qc-name">平安银行 <i class="cmark">C</i> <span class="tag t-brand">买入</span></div><div class="qc-sub">000001.SZ</div></div>
  1150. <div class="qc-r"><span class="st live"><i></i>待处理</span><div class="qc-time">13:00:00</div></div>
  1151. </div>
  1152. <div class="qc-meta"><span><em>名义本金</em>150万</span><span><em>价格要求</em>限价 11.23</span></div><div class="qc-meta2"><span><em>成交均价</em>10.02</span><span><em>结算币种</em>HKD</span></div></div></div></div>
  1153. <div class="card qc"><div class="selwrap"><span class="selcb"></span><div class="body2"><div class="qc-top">
  1154. <div><div class="qc-name">平安银行 <i class="cmark">C</i> <span class="tag t-brand">买入</span></div><div class="qc-sub">000001.SZ</div></div>
  1155. <div class="qc-r"><span class="st live"><i></i>待处理</span><div class="qc-time">08:57:46</div></div>
  1156. </div>
  1157. <div class="qc-meta"><span><em>名义本金</em>50万</span><span><em>价格要求</em>限价 11.23</span></div><div class="qc-meta2"><span><em>成交均价</em>11.20</span><span><em>结算币种</em>HKD</span></div></div></div></div>
  1158. </div>
  1159. <div class="bbar"><span class="all"><span class="selcb"></span>全选</span><span class="btn ghost" style="flex:1">拒绝</span><span class="btn" style="flex:1.4">确认买入 (2)</span></div>
  1160. <div class="tabbar"><div class="tb on"><span class="tbi"><svg class="icn" viewBox="0 0 24 24"><use href="#i-note"/></svg></span>票据</div><div class="tb"><span class="tbi"><svg class="icn" viewBox="0 0 24 24"><use href="#i-wallet"/></svg></span>账户</div><div class="tb"><span class="tbi"><svg class="icn" viewBox="0 0 24 24"><use href="#i-bell"/></svg><i class="rdot"></i></span>消息</div><div class="tb"><span class="tbi"><svg class="icn" viewBox="0 0 24 24"><use href="#i-user"/></svg></span>我的</div></div>
  1161. <div class="homebar"></div>
  1162. </div>
  1163. </div>
  1164. <div class="cap">
  1165. <div class="cap-num">O5</div>
  1166. <div class="cap-title">批量处理 · 选择态<span class="cap-flags"><span class="cap-flag off">本期未上线 · 仅 mock</span></span></div>
  1167. <ul>
  1168. <li>进入批量后卡片左侧出 20px 多选框、整卡点击即勾选,选中卡品牌描边;入口变成「退出批量处理」</li>
  1169. <li>底栏:全选 + 拒绝(次级)+ 确认买入(主按钮带已选计数);未选时两键置灰</li>
  1170. </ul>
  1171. </div>
  1172. </div>
  1173. <!-- ===== O7 批量拒绝 · 二次确认 ===== -->
  1174. <div class="frame">
  1175. <div class="phone">
  1176. <div class="screen">
  1177. <div class="statusbar"><span class="num">9:41</span><span class="ic"><svg class="icn sm" viewBox="0 0 24 24" style="fill:currentColor;stroke:none"><rect x="1" y="14" width="3.4" height="6" rx="1"/><rect x="6.4" y="10" width="3.4" height="10" rx="1"/><rect x="11.8" y="6" width="3.4" height="14" rx="1"/><rect x="17.2" y="3" width="3.4" height="17" rx="1" opacity=".35"/></svg><svg class="icn sm" viewBox="0 0 24 24" style="fill:currentColor;stroke:none"><path d="M12 19.5 2 9a14 14 0 0 1 20 0z" opacity=".95"/></svg><svg class="icn" viewBox="0 0 30 24" style="fill:none;stroke:currentColor;stroke-width:1.5;width:24px"><rect x="1.5" y="7" width="21" height="11" rx="3"/><rect x="3.6" y="9.1" width="14" height="6.8" rx="1.6" fill="currentColor" stroke="none"/><path d="M24.5 11v6a3.2 3.2 0 0 0 0-6z" fill="currentColor" stroke="none"/></svg></span></div>
  1178. <div class="appbar"><h1>共赢票据</h1></div>
  1179. <div class="seg" style="margin:14px 20px 0;width:150px"><span>A类</span><span class="on">B类</span></div>
  1180. <div class="body" style="padding-top:10px">
  1181. <div class="filterbar"><div class="fbscroll"><span class="fb">全部</span><span class="fb on">买入待处理<em class="hot">(11)</em></span><span class="fb">已完成</span></div><span class="fhist"><svg class="icn" viewBox="0 0 24 24"><use href="#i-history"/></svg></span><span class="viewtog sep"><span class="on"><svg class="icn" viewBox="0 0 24 24"><use href="#i-cardview"/></svg></span><span><svg class="icn" viewBox="0 0 24 24"><use href="#i-tableview"/></svg></span></span></div>
  1182. <div class="batchrow"><span class="chip on">退出批量处理</span></div>
  1183. <div class="card qc open"><div class="selwrap"><span class="selcb on"><svg class="icn" viewBox="0 0 24 24"><use href="#i-check"/></svg></span><div class="body2"><div class="qc-top">
  1184. <div><div class="qc-name">贵州茅台 <i class="cmark">C</i> <span class="tag t-brand">买入</span></div><div class="qc-sub">600519.SH</div></div>
  1185. <div class="qc-r"><span class="st live"><i></i>待处理</span><div class="qc-time">13:20:00</div></div>
  1186. </div>
  1187. <div class="qc-meta"><span><em>名义本金</em>100万</span><span><em>价格要求</em>限价 11.23</span></div><div class="qc-meta2"><span><em>成交均价</em>10.35</span><span><em>结算币种</em>HKD</span></div></div></div></div>
  1188. <div class="card qc open"><div class="selwrap"><span class="selcb on"><svg class="icn" viewBox="0 0 24 24"><use href="#i-check"/></svg></span><div class="body2"><div class="qc-top">
  1189. <div><div class="qc-name">贵州燃气 <i class="cmark">C</i> <span class="tag t-brand">买入</span></div><div class="qc-sub">600903.SH</div></div>
  1190. <div class="qc-r"><span class="st live"><i></i>待处理</span><div class="qc-time">13:10:00</div></div>
  1191. </div>
  1192. <div class="qc-meta"><span><em>名义本金</em>200万</span><span><em>价格要求</em>限价 11.23</span></div><div class="qc-meta2"><span><em>成交均价</em>9.88</span><span><em>结算币种</em>USD</span></div></div></div></div>
  1193. <div class="card qc"><div class="selwrap"><span class="selcb"></span><div class="body2"><div class="qc-top">
  1194. <div><div class="qc-name">平安银行 <i class="cmark">C</i> <span class="tag t-brand">买入</span></div><div class="qc-sub">000001.SZ</div></div>
  1195. <div class="qc-r"><span class="st live"><i></i>待处理</span><div class="qc-time">13:00:00</div></div>
  1196. </div>
  1197. <div class="qc-meta"><span><em>名义本金</em>150万</span><span><em>价格要求</em>限价 11.23</span></div><div class="qc-meta2"><span><em>成交均价</em>10.02</span><span><em>结算币种</em>HKD</span></div></div></div></div>
  1198. <div class="card qc"><div class="selwrap"><span class="selcb"></span><div class="body2"><div class="qc-top">
  1199. <div><div class="qc-name">平安银行 <i class="cmark">C</i> <span class="tag t-brand">买入</span></div><div class="qc-sub">000001.SZ</div></div>
  1200. <div class="qc-r"><span class="st live"><i></i>待处理</span><div class="qc-time">08:57:46</div></div>
  1201. </div>
  1202. <div class="qc-meta"><span><em>名义本金</em>50万</span><span><em>价格要求</em>限价 11.23</span></div><div class="qc-meta2"><span><em>成交均价</em>11.20</span><span><em>结算币种</em>HKD</span></div></div></div></div>
  1203. </div>
  1204. <div class="tabbar"><div class="tb on"><span class="tbi"><svg class="icn" viewBox="0 0 24 24"><use href="#i-note"/></svg></span>票据</div><div class="tb"><span class="tbi"><svg class="icn" viewBox="0 0 24 24"><use href="#i-wallet"/></svg></span>账户</div><div class="tb"><span class="tbi"><svg class="icn" viewBox="0 0 24 24"><use href="#i-bell"/></svg><i class="rdot"></i></span>消息</div><div class="tb"><span class="tbi"><svg class="icn" viewBox="0 0 24 24"><use href="#i-user"/></svg></span>我的</div></div>
  1205. <div class="scrim">
  1206. <div class="dlg">
  1207. <div class="dlg-hd"><h3>确认拒绝吗?</h3><p class="dsc">已选 2 笔订单</p></div>
  1208. <div class="dlg-ft"><span>再想想</span><span class="dg">拒绝</span></div>
  1209. </div>
  1210. </div>
  1211. <div class="homebar"></div>
  1212. </div>
  1213. </div>
  1214. <div class="cap">
  1215. <div class="cap-num">O7</div>
  1216. <div class="cap-title">批量拒绝 · 二次确认<span class="cap-flags"><span class="cap-flag off">本期未上线 · 仅 mock</span></span></div>
  1217. <ul>
  1218. <li>标题「确认拒绝吗?」+「已选 N 笔订单」,两键「再想想 · 拒绝」,<b>拒绝为危险色文字</b>(B 类上线时再换成危险实心按钮)</li>
  1219. <li>提交成功 Toast「已拒绝」,按剩余待处理数决定是否退出批量态</li>
  1220. </ul>
  1221. </div>
  1222. </div>
  1223. <!-- ===== O6 阶段一 · 购买力确认 ===== -->
  1224. <div class="frame">
  1225. <div class="phone">
  1226. <div class="screen">
  1227. <div class="statusbar"><span class="num">9:41</span><span class="ic"><svg class="icn sm" viewBox="0 0 24 24" style="fill:currentColor;stroke:none"><rect x="1" y="14" width="3.4" height="6" rx="1"/><rect x="6.4" y="10" width="3.4" height="10" rx="1"/><rect x="11.8" y="6" width="3.4" height="14" rx="1"/><rect x="17.2" y="3" width="3.4" height="17" rx="1" opacity=".35"/></svg><svg class="icn sm" viewBox="0 0 24 24" style="fill:currentColor;stroke:none"><path d="M12 19.5 2 9a14 14 0 0 1 20 0z" opacity=".95"/></svg><svg class="icn" viewBox="0 0 30 24" style="fill:none;stroke:currentColor;stroke-width:1.5;width:24px"><rect x="1.5" y="7" width="21" height="11" rx="3"/><rect x="3.6" y="9.1" width="14" height="6.8" rx="1.6" fill="currentColor" stroke="none"/><path d="M24.5 11v6a3.2 3.2 0 0 0 0-6z" fill="currentColor" stroke="none"/></svg></span></div>
  1228. <div class="appbar"><h1>共赢票据</h1></div>
  1229. <div class="seg" style="margin:14px 20px 0;width:150px"><span>A类</span><span class="on">B类</span></div>
  1230. <div class="body" style="padding-top:10px">
  1231. <div class="filterbar"><div class="fbscroll"><span class="fb">全部</span><span class="fb on">买入待处理<em class="hot">(11)</em></span><span class="fb">已完成</span></div><span class="fhist"><svg class="icn" viewBox="0 0 24 24"><use href="#i-history"/></svg></span><span class="viewtog sep"><span class="on"><svg class="icn" viewBox="0 0 24 24"><use href="#i-cardview"/></svg></span><span><svg class="icn" viewBox="0 0 24 24"><use href="#i-tableview"/></svg></span></span></div>
  1232. <div class="batchrow"><span class="chip on">退出批量处理</span></div>
  1233. <div class="card qc open"><div class="selwrap"><span class="selcb on"><svg class="icn" viewBox="0 0 24 24"><use href="#i-check"/></svg></span><div class="body2"><div class="qc-top">
  1234. <div><div class="qc-name">贵州茅台 <i class="cmark">C</i> <span class="tag t-brand">买入</span></div><div class="qc-sub">600519.SH</div></div>
  1235. <div class="qc-r"><span class="st live"><i></i>待处理</span><div class="qc-time">13:20:00</div></div>
  1236. </div>
  1237. <div class="qc-meta"><span><em>名义本金</em>100万</span><span><em>价格要求</em>限价 11.23</span></div><div class="qc-meta2"><span><em>成交均价</em>10.35</span><span><em>结算币种</em>HKD</span></div></div></div></div>
  1238. <div class="card qc open"><div class="selwrap"><span class="selcb on"><svg class="icn" viewBox="0 0 24 24"><use href="#i-check"/></svg></span><div class="body2"><div class="qc-top">
  1239. <div><div class="qc-name">贵州燃气 <i class="cmark">C</i> <span class="tag t-brand">买入</span></div><div class="qc-sub">600903.SH</div></div>
  1240. <div class="qc-r"><span class="st live"><i></i>待处理</span><div class="qc-time">13:10:00</div></div>
  1241. </div>
  1242. <div class="qc-meta"><span><em>名义本金</em>200万</span><span><em>价格要求</em>限价 11.23</span></div><div class="qc-meta2"><span><em>成交均价</em>9.88</span><span><em>结算币种</em>USD</span></div></div></div></div>
  1243. <div class="card qc"><div class="selwrap"><span class="selcb"></span><div class="body2"><div class="qc-top">
  1244. <div><div class="qc-name">平安银行 <i class="cmark">C</i> <span class="tag t-brand">买入</span></div><div class="qc-sub">000001.SZ</div></div>
  1245. <div class="qc-r"><span class="st live"><i></i>待处理</span><div class="qc-time">13:00:00</div></div>
  1246. </div>
  1247. <div class="qc-meta"><span><em>名义本金</em>150万</span><span><em>价格要求</em>限价 11.23</span></div><div class="qc-meta2"><span><em>成交均价</em>10.02</span><span><em>结算币种</em>HKD</span></div></div></div></div>
  1248. <div class="card qc"><div class="selwrap"><span class="selcb"></span><div class="body2"><div class="qc-top">
  1249. <div><div class="qc-name">平安银行 <i class="cmark">C</i> <span class="tag t-brand">买入</span></div><div class="qc-sub">000001.SZ</div></div>
  1250. <div class="qc-r"><span class="st live"><i></i>待处理</span><div class="qc-time">08:57:46</div></div>
  1251. </div>
  1252. <div class="qc-meta"><span><em>名义本金</em>50万</span><span><em>价格要求</em>限价 11.23</span></div><div class="qc-meta2"><span><em>成交均价</em>11.20</span><span><em>结算币种</em>HKD</span></div></div></div></div>
  1253. </div>
  1254. <div class="tabbar"><div class="tb on"><span class="tbi"><svg class="icn" viewBox="0 0 24 24"><use href="#i-note"/></svg></span>票据</div><div class="tb"><span class="tbi"><svg class="icn" viewBox="0 0 24 24"><use href="#i-wallet"/></svg></span>账户</div><div class="tb"><span class="tbi"><svg class="icn" viewBox="0 0 24 24"><use href="#i-bell"/></svg><i class="rdot"></i></span>消息</div><div class="tb"><span class="tbi"><svg class="icn" viewBox="0 0 24 24"><use href="#i-user"/></svg></span>我的</div></div>
  1255. <div class="scrim">
  1256. <div class="dlg">
  1257. <div class="dlg-hd"><h3>订单金额确认</h3></div>
  1258. <div style="padding:12px 14px 0">
  1259. <div class="mtab"><div class="h"><span>结算币种</span><span>合计买入金额</span><span>购买力</span></div>
  1260. <div><span>HKD</span><span class="dg">11,237,000.00</span><span>8,000,000.00</span></div>
  1261. <div><span>USD</span><span>200,000.00</span><span>300,000.00</span></div>
  1262. </div>
  1263. </div>
  1264. <div class="agree2">
  1265. <label><span class="cb on"><svg class="icn" viewBox="0 0 24 24"><use href="#i-check"/></svg></span><span>我已阅读并同意<b>《销售说明》</b><b>《风险披露》</b>的全部内容</span></label>
  1266. </div>
  1267. <div class="dlg-ft"><span>取消</span><span>确认买入</span></div>
  1268. </div>
  1269. </div>
  1270. <div class="toast" style="top:76%">HKD购买力不足</div>
  1271. <div class="homebar"></div>
  1272. </div>
  1273. </div>
  1274. <div class="cap">
  1275. <div class="cap-num">O6</div>
  1276. <div class="cap-title">阶段一 · 购买力确认<span class="cap-flags"><span class="cap-flag off">本期未上线 · 仅 mock</span></span></div>
  1277. <ul>
  1278. <li>所选订单按结算币种汇总,逐币种与购买力对照;超出的币种合计金额转危险色</li>
  1279. <li>两份协议合成一句一个勾(同下单页;本期只有 mock,文件名不成链接),勾上「确认买入」才可点;有币种不足时点确认留在弹窗内 Toast「HKD购买力不足」(多币种用顿号并列)</li>
  1280. <li>第二阶段批量合适性评估本期两边都是占位:mock 里通过阶段一后 Toast「共赢票据B类暂未开放」</li>
  1281. </ul>
  1282. </div>
  1283. </div>
  1284. <!-- ===== O8 阶段三 · 抢单结果 ===== -->
  1285. <div class="frame">
  1286. <div class="phone">
  1287. <div class="screen">
  1288. <div class="statusbar"><span class="num">9:41</span><span class="ic"><svg class="icn sm" viewBox="0 0 24 24" style="fill:currentColor;stroke:none"><rect x="1" y="14" width="3.4" height="6" rx="1"/><rect x="6.4" y="10" width="3.4" height="10" rx="1"/><rect x="11.8" y="6" width="3.4" height="14" rx="1"/><rect x="17.2" y="3" width="3.4" height="17" rx="1" opacity=".35"/></svg><svg class="icn sm" viewBox="0 0 24 24" style="fill:currentColor;stroke:none"><path d="M12 19.5 2 9a14 14 0 0 1 20 0z" opacity=".95"/></svg><svg class="icn" viewBox="0 0 30 24" style="fill:none;stroke:currentColor;stroke-width:1.5;width:24px"><rect x="1.5" y="7" width="21" height="11" rx="3"/><rect x="3.6" y="9.1" width="14" height="6.8" rx="1.6" fill="currentColor" stroke="none"/><path d="M24.5 11v6a3.2 3.2 0 0 0 0-6z" fill="currentColor" stroke="none"/></svg></span></div>
  1289. <div class="appbar"><h1>共赢票据</h1></div>
  1290. <div class="seg" style="margin:14px 20px 0;width:150px"><span>A类</span><span class="on">B类</span></div>
  1291. <div class="body" style="padding-top:10px">
  1292. <div class="filterbar"><div class="fbscroll"><span class="fb">全部</span><span class="fb on">买入待处理<em class="hot">(11)</em></span><span class="fb">已完成</span></div><span class="fhist"><svg class="icn" viewBox="0 0 24 24"><use href="#i-history"/></svg></span><span class="viewtog sep"><span class="on"><svg class="icn" viewBox="0 0 24 24"><use href="#i-cardview"/></svg></span><span><svg class="icn" viewBox="0 0 24 24"><use href="#i-tableview"/></svg></span></span></div>
  1293. <div class="card qc"><div class="qc-top">
  1294. <div><div class="qc-name">贵州茅台 <i class="cmark">C</i> <span class="tag t-brand">买入</span></div><div class="qc-sub">600519.SH</div></div>
  1295. <div class="qc-r"><span class="st live"><i></i>待处理</span><div class="qc-time">13:20:00</div></div>
  1296. </div>
  1297. <div class="qc-meta"><span><em>名义本金</em>100万</span><span><em>价格要求</em>限价 11.23</span></div><div class="qc-meta2"><span><em>成交均价</em>10.35</span><span><em>结算币种</em>HKD</span></div></div>
  1298. <div class="card qc"><div class="qc-top">
  1299. <div><div class="qc-name">贵州燃气 <i class="cmark">C</i> <span class="tag t-brand">买入</span></div><div class="qc-sub">600903.SH</div></div>
  1300. <div class="qc-r"><span class="st live"><i></i>待处理</span><div class="qc-time">13:10:00</div></div>
  1301. </div>
  1302. <div class="qc-meta"><span><em>名义本金</em>200万</span><span><em>价格要求</em>限价 11.23</span></div><div class="qc-meta2"><span><em>成交均价</em>9.88</span><span><em>结算币种</em>USD</span></div></div>
  1303. <div class="card qc"><div class="qc-top">
  1304. <div><div class="qc-name">平安银行 <i class="cmark">C</i> <span class="tag t-brand">买入</span></div><div class="qc-sub">000001.SZ</div></div>
  1305. <div class="qc-r"><span class="st live"><i></i>待处理</span><div class="qc-time">13:00:00</div></div>
  1306. </div>
  1307. <div class="qc-meta"><span><em>名义本金</em>150万</span><span><em>价格要求</em>限价 11.23</span></div><div class="qc-meta2"><span><em>成交均价</em>10.02</span><span><em>结算币种</em>HKD</span></div></div>
  1308. <div class="card qc"><div class="qc-top">
  1309. <div><div class="qc-name">平安银行 <i class="cmark">C</i> <span class="tag t-brand">买入</span></div><div class="qc-sub">000001.SZ</div></div>
  1310. <div class="qc-r"><span class="st live"><i></i>待处理</span><div class="qc-time">08:57:46</div></div>
  1311. </div>
  1312. <div class="qc-meta"><span><em>名义本金</em>50万</span><span><em>价格要求</em>限价 11.23</span></div><div class="qc-meta2"><span><em>成交均价</em>11.20</span><span><em>结算币种</em>HKD</span></div></div>
  1313. </div>
  1314. <div class="tabbar"><div class="tb on"><span class="tbi"><svg class="icn" viewBox="0 0 24 24"><use href="#i-note"/></svg></span>票据</div><div class="tb"><span class="tbi"><svg class="icn" viewBox="0 0 24 24"><use href="#i-wallet"/></svg></span>账户</div><div class="tb"><span class="tbi"><svg class="icn" viewBox="0 0 24 24"><use href="#i-bell"/></svg><i class="rdot"></i></span>消息</div><div class="tb"><span class="tbi"><svg class="icn" viewBox="0 0 24 24"><use href="#i-user"/></svg></span>我的</div></div>
  1315. <div class="scrim">
  1316. <div class="dlg">
  1317. <div class="dlg-hd"><h3 style="line-height:1.5">部分订单已被其他投资者抢先买入,买入结果详见:</h3></div>
  1318. <div style="padding:12px 14px 0" class="rtab">
  1319. <div><span class="nm">贵州茅台<small>600519.SH</small></span><span class="v">100万 CNY</span><span class="v">10.35</span><span class="v r ok">成功</span></div>
  1320. <div><span class="nm">贵州燃气<small>600903.SH</small></span><span class="v">200万 CNY</span><span class="v">--</span><span class="v r no">失败</span></div>
  1321. </div>
  1322. <div class="dlg-ft single"><span>我知道了</span></div>
  1323. </div>
  1324. </div>
  1325. <div class="homebar"></div>
  1326. </div>
  1327. </div>
  1328. <div class="cap">
  1329. <div class="cap-num">O8</div>
  1330. <div class="cap-title">阶段三 · 抢单结果<span class="cap-flags"><span class="cap-flag off">本期未上线 · 仅 mock</span></span></div>
  1331. <ul>
  1332. <li>整句即标题:「部分订单已被其他投资者抢先买入,买入结果详见:」;逐笔列名称代码、名义本金、成交均价与结果</li>
  1333. <li>成功安全色、失败中性灰;全部成功只 Toast「买入成功!」</li>
  1334. <li>本期走不到这一步(阶段二占位),按代码画出</li>
  1335. </ul>
  1336. </div>
  1337. </div>
  1338. <!-- ===== O9 历史订单 · A 类视图 ===== -->
  1339. <div class="frame">
  1340. <div class="phone">
  1341. <div class="screen">
  1342. <div class="statusbar"><span class="num">9:41</span><span class="ic"><svg class="icn sm" viewBox="0 0 24 24" style="fill:currentColor;stroke:none"><rect x="1" y="14" width="3.4" height="6" rx="1"/><rect x="6.4" y="10" width="3.4" height="10" rx="1"/><rect x="11.8" y="6" width="3.4" height="14" rx="1"/><rect x="17.2" y="3" width="3.4" height="17" rx="1" opacity=".35"/></svg><svg class="icn sm" viewBox="0 0 24 24" style="fill:currentColor;stroke:none"><path d="M12 19.5 2 9a14 14 0 0 1 20 0z" opacity=".95"/></svg><svg class="icn" viewBox="0 0 30 24" style="fill:none;stroke:currentColor;stroke-width:1.5;width:24px"><rect x="1.5" y="7" width="21" height="11" rx="3"/><rect x="3.6" y="9.1" width="14" height="6.8" rx="1.6" fill="currentColor" stroke="none"/><path d="M24.5 11v6a3.2 3.2 0 0 0 0-6z" fill="currentColor" stroke="none"/></svg></span></div>
  1343. <div class="navbar"><span class="bk"><svg class="icn" viewBox="0 0 24 24"><use href="#i-back"/></svg></span><h2>A类历史订单</h2></div>
  1344. <div class="body">
  1345. <div class="fsearch"><svg class="icn" viewBox="0 0 24 24"><use href="#i-search"/></svg>股票代码/拼音/名称</div>
  1346. <div class="fcond"><span class="fpill on">近三月 <svg class="icn" viewBox="0 0 24 24"><use href="#i-down"/></svg></span><span class="fright"><span class="fmore">筛选 <svg class="icn" viewBox="0 0 24 24"><use href="#i-filter"/></svg></span><span class="viewtog sep"><span class="on"><svg class="icn" viewBox="0 0 24 24"><use href="#i-cardview"/></svg></span><span><svg class="icn" viewBox="0 0 24 24"><use href="#i-tableview"/></svg></span></span></span></div>
  1347. <div class="card qc hcard">
  1348. <div class="qc-top">
  1349. <div><div class="qc-name">贵州茅台 <i class="cmark">C</i> <span class="tag t-brand">买入</span></div><div class="qc-sub">600519.SH</div></div>
  1350. <div class="qc-r"><span class="st done"><i></i>已结算</span><div class="qc-time">2025/12/11 13:31:02</div></div>
  1351. </div>
  1352. <div class="hrow"><div><span>名义本金 / 执行名义本金</span><b>100万 / 0</b></div><div><span>价格要求</span><b>限价 11.23</b></div></div>
  1353. </div>
  1354. <div class="card qc hcard">
  1355. <div class="qc-top">
  1356. <div><div class="qc-name">贵州燃气 <i class="cmark">C</i> <span class="tag t-brand">买入</span></div><div class="qc-sub">600903.SH</div></div>
  1357. <div class="qc-r"><span class="st exp"><i></i>已撤</span><div class="qc-time">2025/12/11 12:20:11</div></div>
  1358. </div>
  1359. <div class="hrow"><div><span>名义本金 / 执行名义本金</span><b>200万 / 0</b></div><div><span>价格要求</span><b>市价</b></div></div>
  1360. </div>
  1361. <div class="card qc hcard">
  1362. <div class="qc-top">
  1363. <div><div class="qc-name">贵州茅台 <i class="cmark">C</i> <span class="tag t-brand">买入</span></div><div class="qc-sub">600519.SH</div></div>
  1364. <div class="qc-r"><span class="st rej"><i></i>已拒绝</span><div class="qc-time">2025/12/11 11:50:00</div></div>
  1365. </div>
  1366. <div class="hrow"><div><span>名义本金 / 执行名义本金</span><b>100万 / 0</b></div><div><span>价格要求</span><b>限价 11.23</b></div></div>
  1367. </div>
  1368. <div class="card qc hcard">
  1369. <div class="qc-top">
  1370. <div><div class="qc-name">贵州茅台 <i class="cmark">C</i> <span class="tag t-brand">买入</span></div><div class="qc-sub">600519.SH</div></div>
  1371. <div class="qc-r"><span class="st done"><i></i>已结算</span><div class="qc-time">2025/12/11 09:20:00</div></div>
  1372. </div>
  1373. <div class="hrow"><div><span>名义本金 / 执行名义本金</span><b>100万 / 100万</b></div><div><span>价格要求</span><b>限价 11.23</b></div></div>
  1374. </div>
  1375. <div class="card qc hcard">
  1376. <div class="qc-top">
  1377. <div><div class="qc-name">贵州茅台 <i class="cmark">C</i> <span class="tag t-danger">卖出</span></div><div class="qc-sub">600519.SH</div></div>
  1378. <div class="qc-r"><span class="st rej"><i></i>已拒绝</span><div class="qc-time">2025/12/11 09:10:00</div></div>
  1379. </div>
  1380. <div class="hrow"><div><span>名义本金 / 执行名义本金</span><b>100万 / 100万</b></div><div><span>价格要求</span><b>限价 11.23</b></div></div>
  1381. </div>
  1382. </div>
  1383. <div class="homebar"></div>
  1384. </div>
  1385. </div>
  1386. <div class="cap">
  1387. <div class="cap-num">O9</div>
  1388. <div class="cap-title">历史订单 · A 类视图<span class="cap-flags"><span class="cap-flag new">v1.3.1 改</span></span></div>
  1389. <ul>
  1390. <li>标题带品类「A类历史订单」;搜索行输入后弹联想,点选股票才按它筛选(与询价页同一个检索)</li>
  1391. <li>条件行:左侧时间胶囊(缺省近三月)、右侧「筛选」+ 卡片 / 表格切换</li>
  1392. <li>卡片第三行:「名义本金 / 执行名义本金」与「价格要求」(B 类同位置是成交均价);时间 <code>YYYY/MM/DD hh:mm:ss</code>;点卡片进订单详情</li>
  1393. </ul>
  1394. </div>
  1395. </div>
  1396. <!-- ===== O10 筛选条件 · 底部面板 ===== -->
  1397. <div class="frame">
  1398. <div class="phone">
  1399. <div class="screen">
  1400. <div class="statusbar"><span class="num">9:41</span><span class="ic"><svg class="icn sm" viewBox="0 0 24 24" style="fill:currentColor;stroke:none"><rect x="1" y="14" width="3.4" height="6" rx="1"/><rect x="6.4" y="10" width="3.4" height="10" rx="1"/><rect x="11.8" y="6" width="3.4" height="14" rx="1"/><rect x="17.2" y="3" width="3.4" height="17" rx="1" opacity=".35"/></svg><svg class="icn sm" viewBox="0 0 24 24" style="fill:currentColor;stroke:none"><path d="M12 19.5 2 9a14 14 0 0 1 20 0z" opacity=".95"/></svg><svg class="icn" viewBox="0 0 30 24" style="fill:none;stroke:currentColor;stroke-width:1.5;width:24px"><rect x="1.5" y="7" width="21" height="11" rx="3"/><rect x="3.6" y="9.1" width="14" height="6.8" rx="1.6" fill="currentColor" stroke="none"/><path d="M24.5 11v6a3.2 3.2 0 0 0 0-6z" fill="currentColor" stroke="none"/></svg></span></div>
  1401. <div class="navbar"><span class="bk"><svg class="icn" viewBox="0 0 24 24"><use href="#i-back"/></svg></span><h2>A类历史订单</h2></div>
  1402. <div class="body">
  1403. <div class="fsearch"><svg class="icn" viewBox="0 0 24 24"><use href="#i-search"/></svg>股票代码/拼音/名称</div>
  1404. <div class="fcond"><span class="fpill on">近三月 <svg class="icn" viewBox="0 0 24 24"><use href="#i-down"/></svg></span><span class="fright"><span class="fmore">筛选 <svg class="icn" viewBox="0 0 24 24"><use href="#i-filter"/></svg></span><span class="viewtog sep"><span class="on"><svg class="icn" viewBox="0 0 24 24"><use href="#i-cardview"/></svg></span><span><svg class="icn" viewBox="0 0 24 24"><use href="#i-tableview"/></svg></span></span></span></div>
  1405. <div class="card qc hcard">
  1406. <div class="qc-top">
  1407. <div><div class="qc-name">贵州茅台 <i class="cmark">C</i> <span class="tag t-brand">买入</span></div><div class="qc-sub">600519.SH</div></div>
  1408. <div class="qc-r"><span class="st done"><i></i>已结算</span><div class="qc-time">2025/12/11 13:31:02</div></div>
  1409. </div>
  1410. <div class="hrow"><div><span>名义本金 / 执行名义本金</span><b>100万 / 0</b></div><div><span>价格要求</span><b>限价 11.23</b></div></div>
  1411. </div>
  1412. <div class="card qc hcard">
  1413. <div class="qc-top">
  1414. <div><div class="qc-name">贵州燃气 <i class="cmark">C</i> <span class="tag t-brand">买入</span></div><div class="qc-sub">600903.SH</div></div>
  1415. <div class="qc-r"><span class="st exp"><i></i>已撤</span><div class="qc-time">2025/12/11 12:20:11</div></div>
  1416. </div>
  1417. <div class="hrow"><div><span>名义本金 / 执行名义本金</span><b>200万 / 0</b></div><div><span>价格要求</span><b>市价</b></div></div>
  1418. </div>
  1419. <div class="card qc hcard">
  1420. <div class="qc-top">
  1421. <div><div class="qc-name">贵州茅台 <i class="cmark">C</i> <span class="tag t-brand">买入</span></div><div class="qc-sub">600519.SH</div></div>
  1422. <div class="qc-r"><span class="st rej"><i></i>已拒绝</span><div class="qc-time">2025/12/11 11:50:00</div></div>
  1423. </div>
  1424. <div class="hrow"><div><span>名义本金 / 执行名义本金</span><b>100万 / 0</b></div><div><span>价格要求</span><b>限价 11.23</b></div></div>
  1425. </div>
  1426. <div class="card qc hcard">
  1427. <div class="qc-top">
  1428. <div><div class="qc-name">贵州茅台 <i class="cmark">C</i> <span class="tag t-brand">买入</span></div><div class="qc-sub">600519.SH</div></div>
  1429. <div class="qc-r"><span class="st done"><i></i>已结算</span><div class="qc-time">2025/12/11 09:20:00</div></div>
  1430. </div>
  1431. <div class="hrow"><div><span>名义本金 / 执行名义本金</span><b>100万 / 100万</b></div><div><span>价格要求</span><b>限价 11.23</b></div></div>
  1432. </div>
  1433. <div class="card qc hcard">
  1434. <div class="qc-top">
  1435. <div><div class="qc-name">贵州茅台 <i class="cmark">C</i> <span class="tag t-danger">卖出</span></div><div class="qc-sub">600519.SH</div></div>
  1436. <div class="qc-r"><span class="st rej"><i></i>已拒绝</span><div class="qc-time">2025/12/11 09:10:00</div></div>
  1437. </div>
  1438. <div class="hrow"><div><span>名义本金 / 执行名义本金</span><b>100万 / 100万</b></div><div><span>价格要求</span><b>限价 11.23</b></div></div>
  1439. </div>
  1440. </div>
  1441. <div class="scrim bottom">
  1442. <div class="dlg sheet fsheet">
  1443. <div class="fsheet-hd"><b>选择筛选条件</b><svg class="icn" viewBox="0 0 24 24"><use href="#i-x"/></svg></div>
  1444. <div class="fsec">
  1445. <span class="lbl">订单状态</span>
  1446. <div class="optgrid"><span class="opt on">全部</span><span class="opt">已结算</span><span class="opt">已撤</span><span class="opt">已拒绝</span></div>
  1447. </div>
  1448. <div class="fsheet-ft"><span class="btn ghost">重置</span><span class="btn">确认</span></div>
  1449. </div>
  1450. </div>
  1451. <div class="homebar"></div>
  1452. </div>
  1453. </div>
  1454. <div class="cap">
  1455. <div class="cap-num">O10</div>
  1456. <div class="cap-title">筛选条件 · 底部面板</div>
  1457. <ul>
  1458. <li>面板只有「订单状态」一组:全部 / 已结算 / 已撤 / 已拒绝(只含终态),缺省全部</li>
  1459. <li>面板内选择点「确认」才生效;「重置」只清面板条件,不动时间与搜索</li>
  1460. <li>条件非缺省时「筛选」入口变品牌色并挂红点</li>
  1461. </ul>
  1462. </div>
  1463. </div>
  1464. <!-- ===== O13 时间范围 · 快捷 + 自定义 ===== -->
  1465. <div class="frame">
  1466. <div class="phone">
  1467. <div class="screen">
  1468. <div class="statusbar"><span class="num">9:41</span><span class="ic"><svg class="icn sm" viewBox="0 0 24 24" style="fill:currentColor;stroke:none"><rect x="1" y="14" width="3.4" height="6" rx="1"/><rect x="6.4" y="10" width="3.4" height="10" rx="1"/><rect x="11.8" y="6" width="3.4" height="14" rx="1"/><rect x="17.2" y="3" width="3.4" height="17" rx="1" opacity=".35"/></svg><svg class="icn sm" viewBox="0 0 24 24" style="fill:currentColor;stroke:none"><path d="M12 19.5 2 9a14 14 0 0 1 20 0z" opacity=".95"/></svg><svg class="icn" viewBox="0 0 30 24" style="fill:none;stroke:currentColor;stroke-width:1.5;width:24px"><rect x="1.5" y="7" width="21" height="11" rx="3"/><rect x="3.6" y="9.1" width="14" height="6.8" rx="1.6" fill="currentColor" stroke="none"/><path d="M24.5 11v6a3.2 3.2 0 0 0 0-6z" fill="currentColor" stroke="none"/></svg></span></div>
  1469. <div class="navbar"><span class="bk"><svg class="icn" viewBox="0 0 24 24"><use href="#i-back"/></svg></span><h2>A类历史订单</h2></div>
  1470. <div class="body">
  1471. <div class="fsearch"><svg class="icn" viewBox="0 0 24 24"><use href="#i-search"/></svg>股票代码/拼音/名称</div>
  1472. <div class="fcond"><span class="fpill on">近三月 <svg class="icn" viewBox="0 0 24 24"><use href="#i-down"/></svg></span><span class="fright"><span class="fmore">筛选 <svg class="icn" viewBox="0 0 24 24"><use href="#i-filter"/></svg></span><span class="viewtog sep"><span class="on"><svg class="icn" viewBox="0 0 24 24"><use href="#i-cardview"/></svg></span><span><svg class="icn" viewBox="0 0 24 24"><use href="#i-tableview"/></svg></span></span></span></div>
  1473. <div class="card qc hcard">
  1474. <div class="qc-top">
  1475. <div><div class="qc-name">贵州茅台 <i class="cmark">C</i> <span class="tag t-brand">买入</span></div><div class="qc-sub">600519.SH</div></div>
  1476. <div class="qc-r"><span class="st done"><i></i>已结算</span><div class="qc-time">2025/12/11 13:31:02</div></div>
  1477. </div>
  1478. <div class="hrow"><div><span>名义本金 / 执行名义本金</span><b>100万 / 0</b></div><div><span>价格要求</span><b>限价 11.23</b></div></div>
  1479. </div>
  1480. <div class="card qc hcard">
  1481. <div class="qc-top">
  1482. <div><div class="qc-name">贵州燃气 <i class="cmark">C</i> <span class="tag t-brand">买入</span></div><div class="qc-sub">600903.SH</div></div>
  1483. <div class="qc-r"><span class="st exp"><i></i>已撤</span><div class="qc-time">2025/12/11 12:20:11</div></div>
  1484. </div>
  1485. <div class="hrow"><div><span>名义本金 / 执行名义本金</span><b>200万 / 0</b></div><div><span>价格要求</span><b>市价</b></div></div>
  1486. </div>
  1487. <div class="card qc hcard">
  1488. <div class="qc-top">
  1489. <div><div class="qc-name">贵州茅台 <i class="cmark">C</i> <span class="tag t-brand">买入</span></div><div class="qc-sub">600519.SH</div></div>
  1490. <div class="qc-r"><span class="st rej"><i></i>已拒绝</span><div class="qc-time">2025/12/11 11:50:00</div></div>
  1491. </div>
  1492. <div class="hrow"><div><span>名义本金 / 执行名义本金</span><b>100万 / 0</b></div><div><span>价格要求</span><b>限价 11.23</b></div></div>
  1493. </div>
  1494. <div class="card qc hcard">
  1495. <div class="qc-top">
  1496. <div><div class="qc-name">贵州茅台 <i class="cmark">C</i> <span class="tag t-brand">买入</span></div><div class="qc-sub">600519.SH</div></div>
  1497. <div class="qc-r"><span class="st done"><i></i>已结算</span><div class="qc-time">2025/12/11 09:20:00</div></div>
  1498. </div>
  1499. <div class="hrow"><div><span>名义本金 / 执行名义本金</span><b>100万 / 100万</b></div><div><span>价格要求</span><b>限价 11.23</b></div></div>
  1500. </div>
  1501. <div class="card qc hcard">
  1502. <div class="qc-top">
  1503. <div><div class="qc-name">贵州茅台 <i class="cmark">C</i> <span class="tag t-danger">卖出</span></div><div class="qc-sub">600519.SH</div></div>
  1504. <div class="qc-r"><span class="st rej"><i></i>已拒绝</span><div class="qc-time">2025/12/11 09:10:00</div></div>
  1505. </div>
  1506. <div class="hrow"><div><span>名义本金 / 执行名义本金</span><b>100万 / 100万</b></div><div><span>价格要求</span><b>限价 11.23</b></div></div>
  1507. </div>
  1508. </div>
  1509. <div class="scrim bottom">
  1510. <div class="dlg sheet fsheet">
  1511. <div class="fsheet-hd"><b>自定义时间范围</b><svg class="icn" viewBox="0 0 24 24"><use href="#i-x"/></svg></div>
  1512. <div class="fsec"><div class="optgrid"><span class="opt">近一周</span><span class="opt">近一月</span><span class="opt">近三月</span><span class="opt on">自定义</span></div></div>
  1513. <div class="fline"></div>
  1514. <div class="fsec"><div class="dtrow"><div class="dt act"><em>开始日期</em><b>2025-09-12</b></div><div class="dt"><em>结束日期</em><b>2025-12-12</b></div></div></div>
  1515. <div class="wheel"><div class="band"></div>
  1516. <div class="wcol"><span class="far">2023年</span><span>2024年</span><span class="now">2025年</span><span>&nbsp;</span><span class="far">&nbsp;</span></div>
  1517. <div class="wcol"><span class="far">7月</span><span>8月</span><span class="now">9月</span><span>10月</span><span class="far">11月</span></div>
  1518. <div class="wcol"><span class="far">10日</span><span>11日</span><span class="now">12日</span><span>13日</span><span class="far">14日</span></div>
  1519. </div>
  1520. <div class="fsheet-ft"><span class="btn ghost">重置</span><span class="btn">确认</span></div>
  1521. </div>
  1522. </div>
  1523. <div class="homebar"></div>
  1524. </div>
  1525. </div>
  1526. <div class="cap">
  1527. <div class="cap-num">O13</div>
  1528. <div class="cap-title">时间范围 · 快捷 + 自定义</div>
  1529. <ul>
  1530. <li>点时间胶囊唤起:近一周 / 近一月 / 近三月 / 自定义四选一;选快捷档即收起日期段与滚轮</li>
  1531. <li>自定义:先点开始 / 结束日期段使其高亮,滚轮改的就是那一段;开始 ≤ 结束、结束不超过今日、跨度不超过一年</li>
  1532. <li>确认后胶囊显示区间;「重置」回近三月</li>
  1533. </ul>
  1534. </div>
  1535. </div>
  1536. <!-- ===== O11 历史询价 · 展开明细 ===== -->
  1537. <div class="frame">
  1538. <div class="phone">
  1539. <div class="screen">
  1540. <div class="statusbar"><span class="num">9:41</span><span class="ic"><svg class="icn sm" viewBox="0 0 24 24" style="fill:currentColor;stroke:none"><rect x="1" y="14" width="3.4" height="6" rx="1"/><rect x="6.4" y="10" width="3.4" height="10" rx="1"/><rect x="11.8" y="6" width="3.4" height="14" rx="1"/><rect x="17.2" y="3" width="3.4" height="17" rx="1" opacity=".35"/></svg><svg class="icn sm" viewBox="0 0 24 24" style="fill:currentColor;stroke:none"><path d="M12 19.5 2 9a14 14 0 0 1 20 0z" opacity=".95"/></svg><svg class="icn" viewBox="0 0 30 24" style="fill:none;stroke:currentColor;stroke-width:1.5;width:24px"><rect x="1.5" y="7" width="21" height="11" rx="3"/><rect x="3.6" y="9.1" width="14" height="6.8" rx="1.6" fill="currentColor" stroke="none"/><path d="M24.5 11v6a3.2 3.2 0 0 0 0-6z" fill="currentColor" stroke="none"/></svg></span></div>
  1541. <div class="navbar"><span class="bk"><svg class="icn" viewBox="0 0 24 24"><use href="#i-back"/></svg></span><h2>历史询价</h2></div>
  1542. <div class="body">
  1543. <div class="fsearch"><svg class="icn" viewBox="0 0 24 24"><use href="#i-search"/></svg>股票代码/拼音/名称</div>
  1544. <div class="fcond"><span class="fpill on">近三月 <svg class="icn" viewBox="0 0 24 24"><use href="#i-down"/></svg></span><span class="fright"><span class="fmore">筛选 <svg class="icn" viewBox="0 0 24 24"><use href="#i-filter"/></svg></span><span class="viewtog sep"><span class="on"><svg class="icn" viewBox="0 0 24 24"><use href="#i-cardview"/></svg></span><span><svg class="icn" viewBox="0 0 24 24"><use href="#i-tableview"/></svg></span></span></span></div>
  1545. <div class="card qc open">
  1546. <div class="qc-top">
  1547. <div><div class="qc-name">贵州茅台 <i class="cmark">C</i></div><div class="qc-sub">600519.SH · CALL · 1M · 200万</div></div>
  1548. <div class="qc-r"><span class="st done"><i></i>已完成</span><div class="qc-time">2025/12/11 11:15:15</div></div>
  1549. </div>
  1550. <div class="qc-open"><div class="qtab">
  1551. <div class="qh"><span>报价名义本金</span><span>收益比例</span><span>报价</span><span>时间</span></div>
  1552. <div class="qr"><span>100万 CNY</span><span>70.00%</span><span class="p">11.23%</span><span class="t">2025/12/12<br>13:30:45</span></div>
  1553. <div class="qr"><span>200万 CNY</span><span>68.50%</span><span class="p">11.05%</span><span class="t">2025/12/12<br>13:29:15</span></div>
  1554. <div class="qr"><span>50万 CNY</span><span>66.00%</span><span class="p">10.84%</span><span class="t">2025/12/12<br>13:28:02</span></div>
  1555. </div></div>
  1556. </div>
  1557. <div class="card qc">
  1558. <div class="qc-top">
  1559. <div><div class="qc-name">贵州燃气 <i class="cmark">C</i></div><div class="qc-sub">600903.SH · CALL · 1M</div></div>
  1560. <div class="qc-r"><span class="st rej"><i></i>已拒绝</span><div class="qc-time">2025/12/11 11:42:40</div></div>
  1561. </div>
  1562. <div class="qc-meta"><span><em>名义本金</em>100万</span><span><em>报价</em>--</span></div>
  1563. </div>
  1564. <div class="card qc">
  1565. <div class="qc-top">
  1566. <div><div class="qc-name">贵州三力 <i class="cmark">C</i></div><div class="qc-sub">603439.SH · CALL · 1M</div></div>
  1567. <div class="qc-r"><span class="st exp"><i></i>已失效</span><div class="qc-time">2025/12/11 10:49:41</div></div>
  1568. </div>
  1569. <div class="qc-meta"><span><em>名义本金</em>500万</span><span><em>报价</em>--</span></div>
  1570. </div>
  1571. </div>
  1572. <div class="homebar"></div>
  1573. </div>
  1574. </div>
  1575. <div class="cap">
  1576. <div class="cap-num">O11</div>
  1577. <div class="cap-title">历史询价 · 展开明细</div>
  1578. <ul>
  1579. <li>只含历史(不含当天),申请时间倒序;点卡展开、再点收起,同时只开一张</li>
  1580. <li>报价子表没有下单键;时间列拆成年月日、时分秒两行</li>
  1581. <li>「筛选」面板只有询价状态:全部 / 已完成 / 已拒绝 / 已失效</li>
  1582. </ul>
  1583. </div>
  1584. </div>
  1585. <!-- ===== O12 订单详情 · 买入(上屏) ===== -->
  1586. <div class="frame">
  1587. <div class="phone">
  1588. <div class="screen">
  1589. <div class="statusbar"><span class="num">9:41</span><span class="ic"><svg class="icn sm" viewBox="0 0 24 24" style="fill:currentColor;stroke:none"><rect x="1" y="14" width="3.4" height="6" rx="1"/><rect x="6.4" y="10" width="3.4" height="10" rx="1"/><rect x="11.8" y="6" width="3.4" height="14" rx="1"/><rect x="17.2" y="3" width="3.4" height="17" rx="1" opacity=".35"/></svg><svg class="icn sm" viewBox="0 0 24 24" style="fill:currentColor;stroke:none"><path d="M12 19.5 2 9a14 14 0 0 1 20 0z" opacity=".95"/></svg><svg class="icn" viewBox="0 0 30 24" style="fill:none;stroke:currentColor;stroke-width:1.5;width:24px"><rect x="1.5" y="7" width="21" height="11" rx="3"/><rect x="3.6" y="9.1" width="14" height="6.8" rx="1.6" fill="currentColor" stroke="none"/><path d="M24.5 11v6a3.2 3.2 0 0 0 0-6z" fill="currentColor" stroke="none"/></svg></span></div>
  1590. <div class="navbar"><span class="bk"><svg class="icn" viewBox="0 0 24 24"><use href="#i-back"/></svg></span><h2>A类订单详情</h2></div>
  1591. <div class="body" id="o12body">
  1592. <div class="gtitle">订单信息</div>
  1593. <div class="card" style="margin:0 16px"><div class="frow"><span>订单方向</span><b>买入</b></div><div class="frow"><span>操作类型</span><b>正常</b></div><div class="frow"><span>订单状态</span><b>已完成</b></div><div class="frow"><span>证券代码/名称</span><b>600519.SH 贵州茅台</b></div><div class="frow"><span>票据方向</span><b>CALL</b></div><div class="frow"><span>周期</span><b>1M</b></div><div class="frow"><span>交易币种</span><b>CNY</b></div><div class="frow"><span>价格要求</span><b>限价:11.23 CNY</b></div><div class="frow"><span>订单名义本金</span><b>1,000,000.00 CNY</b></div><div class="frow"><span>A类收益比例</span><b>70.00%</b></div><div class="frow"><span>A类报价</span><b>10.00%</b></div><div class="frow"><span>结算币种</span><b>HKD</b></div><div class="frow"><span>订单编号</span><b>ORD001202512120005A</b></div><div class="frow"><span>下单时间</span><b>2025-12-12 10:12:44</b></div></div>
  1594. <div class="gtitle">执行信息</div>
  1595. <div class="card" style="margin:0 16px"><div class="frow"><span>执行名义本金</span><b>1,000,000.00 CNY</b></div><div class="frow"><span>订单成交均价</span><b>10.367891 CNY</b></div><div class="frow"><span>订单买入股数</span><b>96,400.000000股</b></div></div>
  1596. <div class="gtitle ex">资金情况</div>
  1597. <div class="card" style="margin:0 16px"><div class="frow"><span>结算汇率</span><b>1.123456</b></div><div class="frow"><span>票据面值</span><b>109,000.00 HKD</b></div><div class="frow"><span>票据发行价</span><b>110,000.00 HKD</b></div><div class="frow"><span>承销费用</span><b>1,000.00 HKD</b></div><div class="frow tot last"><span>总金额</span><b>111,000.00 HKD</b></div></div>
  1598. <div class="gtitle">关联票据</div><div class="card ocard" style="margin:0 16px 16px"><div class="frow"><span>共赢票据A类</span><b class="lk">ABCDELTA-20251212006A</b></div><div class="frow"><span>共赢票据A类</span><b class="lk">ABCDELTA-20251201007A</b></div><div class="frow"><span>共赢票据A类</span><b class="lk">ABCDELTA-20251128008A</b></div></div>
  1599. </div>
  1600. <div class="homebar"></div>
  1601. </div>
  1602. </div>
  1603. <div class="cap">
  1604. <div class="cap-num">O12</div>
  1605. <div class="cap-title">订单详情 · 买入(上屏)</div>
  1606. <ul>
  1607. <li>标题带品类「A类订单详情」;不再有顶部概要卡,四组字段卡:订单信息 · 执行信息 · 资金情况 · 关联票据</li>
  1608. <li>订单信息 14 行照原型逐字(价格要求写「限价:11.23 CNY」带全角冒号);已拒绝时订单状态下方多一行红字「拒绝原因:…」</li>
  1609. </ul>
  1610. </div>
  1611. </div>
  1612. <!-- ===== O12b 订单详情 · 买入(下屏) ===== -->
  1613. <div class="frame">
  1614. <div class="phone">
  1615. <div class="screen">
  1616. <div class="statusbar"><span class="num">9:41</span><span class="ic"><svg class="icn sm" viewBox="0 0 24 24" style="fill:currentColor;stroke:none"><rect x="1" y="14" width="3.4" height="6" rx="1"/><rect x="6.4" y="10" width="3.4" height="10" rx="1"/><rect x="11.8" y="6" width="3.4" height="14" rx="1"/><rect x="17.2" y="3" width="3.4" height="17" rx="1" opacity=".35"/></svg><svg class="icn sm" viewBox="0 0 24 24" style="fill:currentColor;stroke:none"><path d="M12 19.5 2 9a14 14 0 0 1 20 0z" opacity=".95"/></svg><svg class="icn" viewBox="0 0 30 24" style="fill:none;stroke:currentColor;stroke-width:1.5;width:24px"><rect x="1.5" y="7" width="21" height="11" rx="3"/><rect x="3.6" y="9.1" width="14" height="6.8" rx="1.6" fill="currentColor" stroke="none"/><path d="M24.5 11v6a3.2 3.2 0 0 0 0-6z" fill="currentColor" stroke="none"/></svg></span></div>
  1617. <div class="navbar"><span class="bk"><svg class="icn" viewBox="0 0 24 24"><use href="#i-back"/></svg></span><h2>A类订单详情</h2></div>
  1618. <div class="body"><div style="margin-top:-690px" data-clone="#o12body"></div></div>
  1619. <div class="homebar"></div>
  1620. </div>
  1621. </div>
  1622. <div class="cap">
  1623. <div class="cap-num">O12b</div>
  1624. <div class="cap-title">订单详情 · 买入(下屏)<span class="cap-flags"><span class="cap-flag new">v1.3 新增</span></span></div>
  1625. <ul>
  1626. <li>执行信息:执行名义本金、订单成交均价(6 位)、订单买入股数</li>
  1627. <li>资金情况:结算汇率、票据面值、票据发行价、承销费用、总金额(灰底加粗);关联票据点编号进票据详情</li>
  1628. </ul>
  1629. </div>
  1630. </div>
  1631. <!-- ===== O14 订单详情 · 卖出(上屏) ===== -->
  1632. <div class="frame">
  1633. <div class="phone">
  1634. <div class="screen">
  1635. <div class="statusbar"><span class="num">9:41</span><span class="ic"><svg class="icn sm" viewBox="0 0 24 24" style="fill:currentColor;stroke:none"><rect x="1" y="14" width="3.4" height="6" rx="1"/><rect x="6.4" y="10" width="3.4" height="10" rx="1"/><rect x="11.8" y="6" width="3.4" height="14" rx="1"/><rect x="17.2" y="3" width="3.4" height="17" rx="1" opacity=".35"/></svg><svg class="icn sm" viewBox="0 0 24 24" style="fill:currentColor;stroke:none"><path d="M12 19.5 2 9a14 14 0 0 1 20 0z" opacity=".95"/></svg><svg class="icn" viewBox="0 0 30 24" style="fill:none;stroke:currentColor;stroke-width:1.5;width:24px"><rect x="1.5" y="7" width="21" height="11" rx="3"/><rect x="3.6" y="9.1" width="14" height="6.8" rx="1.6" fill="currentColor" stroke="none"/><path d="M24.5 11v6a3.2 3.2 0 0 0 0-6z" fill="currentColor" stroke="none"/></svg></span></div>
  1636. <div class="navbar"><span class="bk"><svg class="icn" viewBox="0 0 24 24"><use href="#i-back"/></svg></span><h2>A类订单详情</h2></div>
  1637. <div class="body" id="o14body">
  1638. <div class="gtitle">订单信息</div>
  1639. <div class="card" style="margin:0 16px"><div class="frow"><span>订单方向</span><b>卖出</b></div><div class="frow"><span>操作类型</span><b>到期</b></div><div class="frow"><span>订单状态</span><b>已完成</b></div><div class="frow"><span>卖出票据编号</span><b class="lk">ABCDELTA-20251125001A</b></div><div class="frow"><span>证券代码/名称</span><b>600519.SH 贵州茅台</b></div><div class="frow"><span>票据方向</span><b>CALL</b></div><div class="frow"><span>到期日</span><b>2024-12-29</b></div><div class="frow"><span>交易币种</span><b>CNY</b></div><div class="frow"><span>订单名义本金</span><b>1,000,000.00 CNY</b></div><div class="frow"><span>卖出票据股数</span><b>44,000.123456 股</b></div><div class="frow"><span>票据期初价格</span><b>11.345678 CNY</b></div><div class="frow"><span>价格要求</span><b>限价:11.23 CNY</b></div><div class="frow"><span>A类收益比例</span><b>70.00%</b></div><div class="frow"><span>结算币种</span><b>HKD</b></div><div class="frow"><span>初始汇率</span><b>1.071157</b></div><div class="frow"><span>订单编号</span><b>ORD001202512120009A</b></div><div class="frow"><span>下单时间</span><b>2025-12-12 09:10:00</b></div></div>
  1640. <div class="gtitle">执行信息</div>
  1641. <div class="card" style="margin:0 16px"><div class="frow"><span>执行名义本金</span><b>1,000,000.00 CNY</b></div><div class="frow"><span>订单成交均价</span><b>10.235560 CNY</b></div><div class="frow"><span>订单卖出股数</span><b>44,000.123456 股</b></div></div>
  1642. <div class="gtitle ex">资金情况<svg class="icn" viewBox="0 0 24 24"><use href="#i-info"/></svg></div>
  1643. <div class="card" style="margin:0 16px"><div class="frow"><span>结算汇率</span><b>1.123456</b></div><div class="frow"><span>卖出票据面值</span><b>53,471.15 HKD</b></div><div class="frow"><span>卖出增额金额</span><b>0.00 HKD</b></div><div class="frow"><span>实现分红</span><b>0.00 HKD</b></div><div class="frow"><span>底层资产盈亏</span><b class="dn">-37,107.48 HKD</b></div><div class="frow"><span>最终盈亏</span><b class="dn">-37,107.48 HKD</b></div><div class="frow tot last"><span>总金额</span><b>16,363.67 HKD</b></div></div>
  1644. </div>
  1645. <div class="homebar"></div>
  1646. </div>
  1647. </div>
  1648. <div class="cap">
  1649. <div class="cap-num">O14</div>
  1650. <div class="cap-title">订单详情 · 卖出(上屏)<span class="cap-flags"><span class="cap-flag new">v1.3 新增</span></span></div>
  1651. <ul>
  1652. <li>卖出订单多「卖出票据编号」(可点进票据详情)、到期日、卖出票据股数、票据期初价格、初始汇率</li>
  1653. <li>资金情况:卖出票据面值、卖出增额金额、实现分红、底层资产盈亏、最终盈亏(按涨跌色)与总金额;标题右侧 ⓘ 看公式(O15)</li>
  1654. </ul>
  1655. </div>
  1656. </div>
  1657. <!-- ===== O14b 订单详情 · 卖出(下屏) ===== -->
  1658. <div class="frame">
  1659. <div class="phone">
  1660. <div class="screen">
  1661. <div class="statusbar"><span class="num">9:41</span><span class="ic"><svg class="icn sm" viewBox="0 0 24 24" style="fill:currentColor;stroke:none"><rect x="1" y="14" width="3.4" height="6" rx="1"/><rect x="6.4" y="10" width="3.4" height="10" rx="1"/><rect x="11.8" y="6" width="3.4" height="14" rx="1"/><rect x="17.2" y="3" width="3.4" height="17" rx="1" opacity=".35"/></svg><svg class="icn sm" viewBox="0 0 24 24" style="fill:currentColor;stroke:none"><path d="M12 19.5 2 9a14 14 0 0 1 20 0z" opacity=".95"/></svg><svg class="icn" viewBox="0 0 30 24" style="fill:none;stroke:currentColor;stroke-width:1.5;width:24px"><rect x="1.5" y="7" width="21" height="11" rx="3"/><rect x="3.6" y="9.1" width="14" height="6.8" rx="1.6" fill="currentColor" stroke="none"/><path d="M24.5 11v6a3.2 3.2 0 0 0 0-6z" fill="currentColor" stroke="none"/></svg></span></div>
  1662. <div class="navbar"><span class="bk"><svg class="icn" viewBox="0 0 24 24"><use href="#i-back"/></svg></span><h2>A类订单详情</h2></div>
  1663. <div class="body"><div style="margin-top:-722px" data-clone="#o14body"></div></div>
  1664. <div class="homebar"></div>
  1665. </div>
  1666. </div>
  1667. <div class="cap">
  1668. <div class="cap-num">O14b</div>
  1669. <div class="cap-title">订单详情 · 卖出(下屏)<span class="cap-flags"><span class="cap-flag new">v1.3 新增</span></span></div>
  1670. <ul>
  1671. <li>执行信息:执行名义本金、订单成交均价、订单卖出股数</li>
  1672. <li>资金情况标题右侧 ⓘ:底层资产盈亏、最终盈亏按涨跌色;总金额灰底加粗</li>
  1673. </ul>
  1674. </div>
  1675. </div>
  1676. <!-- ===== O15 资金情况 · 公式说明 ===== -->
  1677. <div class="frame">
  1678. <div class="phone">
  1679. <div class="screen">
  1680. <div class="statusbar"><span class="num">9:41</span><span class="ic"><svg class="icn sm" viewBox="0 0 24 24" style="fill:currentColor;stroke:none"><rect x="1" y="14" width="3.4" height="6" rx="1"/><rect x="6.4" y="10" width="3.4" height="10" rx="1"/><rect x="11.8" y="6" width="3.4" height="14" rx="1"/><rect x="17.2" y="3" width="3.4" height="17" rx="1" opacity=".35"/></svg><svg class="icn sm" viewBox="0 0 24 24" style="fill:currentColor;stroke:none"><path d="M12 19.5 2 9a14 14 0 0 1 20 0z" opacity=".95"/></svg><svg class="icn" viewBox="0 0 30 24" style="fill:none;stroke:currentColor;stroke-width:1.5;width:24px"><rect x="1.5" y="7" width="21" height="11" rx="3"/><rect x="3.6" y="9.1" width="14" height="6.8" rx="1.6" fill="currentColor" stroke="none"/><path d="M24.5 11v6a3.2 3.2 0 0 0 0-6z" fill="currentColor" stroke="none"/></svg></span></div>
  1681. <div class="navbar"><span class="bk"><svg class="icn" viewBox="0 0 24 24"><use href="#i-back"/></svg></span><h2>A类订单详情</h2></div>
  1682. <div class="body">
  1683. <div class="gtitle">订单信息</div>
  1684. <div class="card" style="margin:0 16px"><div class="frow"><span>订单方向</span><b>卖出</b></div><div class="frow"><span>操作类型</span><b>到期</b></div><div class="frow"><span>订单状态</span><b>已完成</b></div><div class="frow"><span>卖出票据编号</span><b class="lk">ABCDELTA-20251125001A</b></div><div class="frow"><span>证券代码/名称</span><b>600519.SH 贵州茅台</b></div><div class="frow"><span>票据方向</span><b>CALL</b></div><div class="frow"><span>到期日</span><b>2024-12-29</b></div><div class="frow"><span>交易币种</span><b>CNY</b></div><div class="frow"><span>订单名义本金</span><b>1,000,000.00 CNY</b></div><div class="frow"><span>卖出票据股数</span><b>44,000.123456 股</b></div><div class="frow"><span>票据期初价格</span><b>11.345678 CNY</b></div><div class="frow"><span>价格要求</span><b>限价:11.23 CNY</b></div><div class="frow"><span>A类收益比例</span><b>70.00%</b></div><div class="frow"><span>结算币种</span><b>HKD</b></div><div class="frow"><span>初始汇率</span><b>1.071157</b></div><div class="frow"><span>订单编号</span><b>ORD001202512120009A</b></div><div class="frow"><span>下单时间</span><b>2025-12-12 09:10:00</b></div></div>
  1685. <div class="gtitle">执行信息</div>
  1686. <div class="card" style="margin:0 16px"><div class="frow"><span>执行名义本金</span><b>1,000,000.00 CNY</b></div><div class="frow"><span>订单成交均价</span><b>10.235560 CNY</b></div><div class="frow"><span>订单卖出股数</span><b>44,000.123456 股</b></div></div>
  1687. <div class="gtitle ex">资金情况<svg class="icn" viewBox="0 0 24 24"><use href="#i-info"/></svg></div>
  1688. <div class="card" style="margin:0 16px"><div class="frow"><span>结算汇率</span><b>1.123456</b></div><div class="frow"><span>卖出票据面值</span><b>53,471.15 HKD</b></div><div class="frow"><span>卖出增额金额</span><b>0.00 HKD</b></div><div class="frow"><span>实现分红</span><b>0.00 HKD</b></div><div class="frow"><span>底层资产盈亏</span><b class="dn">-37,107.48 HKD</b></div><div class="frow"><span>最终盈亏</span><b class="dn">-37,107.48 HKD</b></div><div class="frow tot last"><span>总金额</span><b>16,363.67 HKD</b></div></div>
  1689. </div>
  1690. <div class="scrim">
  1691. <div class="dlg">
  1692. <div class="fexp">
  1693. <b>底层资产盈亏</b>本次卖出,对应底层资产卖出的实现盈亏;<br>底层资产盈亏=卖出股数*(成交均价-期初价格)+实现分红。
  1694. <b>最终盈亏</b>本次卖出,该A类票据的实现盈亏;<br>最终盈亏=总金额-卖出票据面值-卖出增额金额。
  1695. <b>总金额</b>该笔订单完成后,最终的可到手金额。
  1696. <ul><li>若底层资产盈亏>0,则需按照收益比例计算A类票据盈亏,总金额=底层资产盈亏×A类收益比例+卖出票据面值+卖出增额金额;</li><li>若底层资产盈亏<0,总金额=底层资产盈亏+卖出票据面值+卖出增额金额,最低为0。</li></ul>
  1697. </div>
  1698. <div class="dlg-ft single"><span>我知道了</span></div>
  1699. </div>
  1700. </div>
  1701. <div class="homebar"></div>
  1702. </div>
  1703. </div>
  1704. <div class="cap">
  1705. <div class="cap-num">O15</div>
  1706. <div class="cap-title">资金情况 · 公式说明<span class="cap-flags"><span class="cap-flag new">v1.3 新增</span></span></div>
  1707. <ul>
  1708. <li>三段说明:底层资产盈亏 / 最终盈亏 / 总金额,正文照原型逐字;内容比屏幕高时卡片限高、正文滚动</li>
  1709. </ul>
  1710. </div>
  1711. </div>
  1712. </div>
  1713. </div>
  1714. <div class="sec" style="margin-bottom:20px">
  1715. <div class="sec-head"><span class="sec-num">03</span><span class="sec-name">B 类批量买入三阶段</span><span class="sec-rule"></span><span class="sec-note">本期未上线:mock 可走到阶段一,阶段二两边都是占位</span></div>
  1716. <table class="spec">
  1717. <tr><th style="width:110px">阶段</th><th style="width:240px">内容</th><th style="width:200px">失败形态</th><th>说明</th></tr>
  1718. <tr><td><b>一 · 购买力</b></td><td>按结算币种汇总合计买入金额 vs 购买力</td><td>该币种金额转红 + 弹窗内 Toast</td><td>「{币种、币种}购买力不足」;须勾上同意句(一句一个勾)</td></tr>
  1719. <tr><td><b>二 · 合适性</b></td><td>批量合适性评估</td><td>—</td><td>本期占位:mock 与真实网关都停在这一步(Toast「共赢票据B类暂未开放」)</td></tr>
  1720. <tr><td><b>三 · 防重抢单</b></td><td>提交时复核订单是否仍待处理</td><td>逐笔结果弹窗</td><td>部分被抢 → 列成功 / 失败;全部成功 → Toast「买入成功!」</td></tr>
  1721. <tr><td><b>拒绝</b></td><td>所选订单批量拒绝</td><td>二次确认</td><td>「再想想 · 拒绝」,成功 Toast「已拒绝」</td></tr>
  1722. </table>
  1723. </div>
  1724. <script>
  1725. (function(){
  1726. var root=document.documentElement,btns=document.querySelectorAll('.skin button');
  1727. document.querySelectorAll('[data-clone]').forEach(function(el){
  1728. var src=document.querySelector(el.getAttribute('data-clone'));
  1729. if(src) el.innerHTML=src.innerHTML;
  1730. });
  1731. function set(t){
  1732. root.setAttribute('data-theme',t);
  1733. btns.forEach(function(b){b.classList.toggle('on',b.dataset.set===t)});
  1734. document.querySelectorAll('.phone:not([data-lock])').forEach(function(p){p.setAttribute('data-theme',t)});
  1735. try{localStorage.setItem('hh-skin',t)}catch(e){}
  1736. }
  1737. btns.forEach(function(b){b.addEventListener('click',function(){set(b.dataset.set)})});
  1738. document.body.setAttribute('data-h',String(document.body.scrollHeight));
  1739. var hash=(location.hash||'').replace('#','');
  1740. var saved=null;try{saved=localStorage.getItem('hh-skin')}catch(e){}
  1741. set(hash==='dark'||hash==='light'?hash:(saved||'light'));
  1742. })();
  1743. </script>
  1744. </body>
  1745. </html>