index.wxss 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393
  1. .data-v-17a44f9d ::-webkit-scrollbar {
  2. display: none !important;
  3. width: 0 !important;
  4. height: 0 !important;
  5. }
  6. .order-container.data-v-17a44f9d {
  7. width: 100%;
  8. height: 100vh;
  9. background: #f8fafc;
  10. display: flex;
  11. flex-direction: column;
  12. overflow: hidden;
  13. }
  14. /* 授权等待样式保持一致 */
  15. .auth-waiting-full.data-v-17a44f9d {
  16. flex: 1;
  17. display: flex;
  18. flex-direction: column;
  19. align-items: center;
  20. justify-content: flex-start;
  21. padding: 200rpx 40rpx 40rpx;
  22. background: linear-gradient(180deg, rgba(0, 122, 255, 0.08) 0%, rgba(247, 248, 250, 1) 100%);
  23. }
  24. .auth-card.data-v-17a44f9d {
  25. display: flex;
  26. flex-direction: column;
  27. align-items: center;
  28. text-align: center;
  29. }
  30. .auth-icon.data-v-17a44f9d {
  31. width: 200rpx;
  32. height: 200rpx;
  33. margin-bottom: 50rpx;
  34. }
  35. .auth-title.data-v-17a44f9d {
  36. font-size: 44rpx;
  37. font-weight: bold;
  38. color: #1a1a1a;
  39. margin-bottom: 24rpx;
  40. }
  41. .auth-desc.data-v-17a44f9d {
  42. font-size: 28rpx;
  43. color: #666;
  44. line-height: 1.8;
  45. margin-bottom: 80rpx;
  46. padding: 0 20rpx;
  47. }
  48. .contact-btn.data-v-17a44f9d {
  49. width: 360rpx;
  50. height: 96rpx;
  51. background: linear-gradient(135deg, #C1001C 0%, #FF4D4F 100%);
  52. color: #fff;
  53. border-radius: 48rpx;
  54. display: flex;
  55. align-items: center;
  56. justify-content: center;
  57. font-size: 32rpx;
  58. font-weight: bold;
  59. border: none;
  60. box-shadow: 0 12rpx 30rpx rgba(193, 0, 28, 0.2);
  61. }
  62. .authorized-btn.data-v-17a44f9d {
  63. width: 360rpx;
  64. height: 96rpx;
  65. background: #fff;
  66. color: #C1001C;
  67. border-radius: 48rpx;
  68. display: flex;
  69. align-items: center;
  70. justify-content: center;
  71. font-size: 32rpx;
  72. font-weight: bold;
  73. border: 2rpx solid #C1001C;
  74. margin-top: 30rpx;
  75. }
  76. /* 已授权列表页样式 */
  77. .order-container.data-v-17a44f9d {
  78. width: 100%;
  79. height: 100vh;
  80. background: #f7f8fa;
  81. display: flex;
  82. flex-direction: column;
  83. overflow: hidden;
  84. }
  85. .order-scroll-list.data-v-17a44f9d {
  86. flex: 1;
  87. height: 0;
  88. }
  89. .list-wrapper.data-v-17a44f9d {
  90. padding: 30rpx;
  91. /* 确保最后一条数据不被底部双层固定栏遮挡:汇总栏130 + 菜单栏110 + 安全区 + 缓冲余量 */
  92. padding-bottom: calc(280rpx + env(safe-area-inset-bottom));
  93. }
  94. .list-header.data-v-17a44f9d {
  95. padding: 10rpx 0 20rpx;
  96. }
  97. .header-text.data-v-17a44f9d {
  98. font-size: 34rpx;
  99. font-weight: bold;
  100. color: #1a1a1a;
  101. position: relative;
  102. padding-left: 24rpx;
  103. }
  104. .header-text.data-v-17a44f9d::before {
  105. content: '';
  106. position: absolute;
  107. left: 0;
  108. top: 10%;
  109. height: 80%;
  110. width: 8rpx;
  111. background: #C1001C;
  112. border-radius: 4rpx;
  113. }
  114. /* 型号卡片:大幅升级美化 */
  115. .model-item-card.data-v-17a44f9d {
  116. background: #fff;
  117. border-radius: 24rpx;
  118. padding: 36rpx;
  119. margin-bottom: 30rpx;
  120. position: relative;
  121. box-shadow: 0 8rpx 30rpx rgba(0, 0, 0, 0.04);
  122. border: 1rpx solid rgba(0, 0, 0, 0.02);
  123. }
  124. .remove-icon.data-v-17a44f9d {
  125. position: absolute;
  126. right: 0;
  127. top: 0;
  128. width: 50rpx;
  129. height: 50rpx;
  130. background: rgba(255, 77, 79, 0.1);
  131. border-radius: 0 24rpx 0 24rpx;
  132. display: flex;
  133. align-items: center;
  134. justify-content: center;
  135. z-index: 5;
  136. }
  137. .x-icon.data-v-17a44f9d {
  138. font-size: 32rpx;
  139. color: #ff4d4f;
  140. font-weight: bold;
  141. }
  142. .card-line.data-v-17a44f9d {
  143. display: flex;
  144. align-items: center;
  145. margin-bottom: 20rpx;
  146. }
  147. .card-line.secondary.data-v-17a44f9d {
  148. margin-bottom: 0;
  149. padding-top: 20rpx;
  150. border-top: 1rpx dashed #f0f0f0;
  151. }
  152. .model-value.data-v-17a44f9d {
  153. font-size: 34rpx;
  154. font-weight: bold;
  155. color: #333;
  156. flex: 1;
  157. }
  158. .count-tag.data-v-17a44f9d {
  159. background: #FFF1F2;
  160. color: #C1001C;
  161. padding: 4rpx 16rpx;
  162. border-radius: 8rpx;
  163. font-size: 24rpx;
  164. font-weight: bold;
  165. }
  166. .count-num.data-v-17a44f9d {
  167. font-size: 30rpx;
  168. margin-left: 8rpx;
  169. }
  170. .surface-label.data-v-17a44f9d {
  171. font-size: 26rpx;
  172. color: #999;
  173. }
  174. .surface-text.data-v-17a44f9d {
  175. font-size: 28rpx;
  176. color: #666;
  177. }
  178. /* 悬浮添加按钮:位置上移避免拥挤 */
  179. .floating-add-btn.data-v-17a44f9d {
  180. position: fixed;
  181. right: 40rpx;
  182. bottom: calc(260rpx + env(safe-area-inset-bottom) + 40rpx);
  183. width: 110rpx;
  184. height: 110rpx;
  185. background: #C1001C;
  186. border-radius: 50%;
  187. display: flex;
  188. align-items: center;
  189. justify-content: center;
  190. box-shadow: 0 12rpx 40rpx rgba(193, 0, 28, 0.4);
  191. z-index: 100;
  192. transition: transform 0.2s;
  193. }
  194. .floating-add-btn.data-v-17a44f9d:active {
  195. transform: scale(0.9);
  196. }
  197. .plus-icon.data-v-17a44f9d {
  198. width: 40rpx;
  199. height: 4rpx;
  200. background: #fff;
  201. border-radius: 2rpx;
  202. position: relative;
  203. }
  204. .plus-icon.data-v-17a44f9d::after {
  205. content: '';
  206. position: absolute;
  207. top: 0;
  208. left: 0;
  209. width: 100%;
  210. height: 100%;
  211. background: #fff;
  212. transform: rotate(90deg);
  213. border-radius: 2rpx;
  214. }
  215. /* 底部汇总栏:微调间距与样式 */
  216. .footer-summary-bar.data-v-17a44f9d {
  217. position: fixed;
  218. bottom: calc(110rpx + env(safe-area-inset-bottom));
  219. left: 0;
  220. width: 100%;
  221. height: 130rpx;
  222. background: #fff;
  223. border-top: 1rpx solid #f0f0f0;
  224. display: flex;
  225. align-items: center;
  226. justify-content: space-between;
  227. padding: 0 40rpx;
  228. box-sizing: border-box;
  229. z-index: 99;
  230. box-shadow: 0 -10rpx 40rpx rgba(0, 0, 0, 0.05);
  231. }
  232. .summary-info.data-v-17a44f9d {
  233. display: flex;
  234. align-items: center;
  235. }
  236. .count-label.data-v-17a44f9d {
  237. font-size: 26rpx;
  238. color: #999;
  239. }
  240. .num-highlight.data-v-17a44f9d {
  241. font-size: 36rpx;
  242. font-weight: bold;
  243. color: #1a1a1a;
  244. margin: 0 4rpx;
  245. }
  246. .num-highlight.green.data-v-17a44f9d {
  247. color: #C1001C;
  248. }
  249. .unit.data-v-17a44f9d {
  250. font-size: 24rpx;
  251. color: #999;
  252. margin-left: 2rpx;
  253. }
  254. .split-line.data-v-17a44f9d {
  255. width: 1rpx;
  256. height: 30rpx;
  257. background: #eee;
  258. margin: 0 20rpx;
  259. }
  260. .submit-order-btn.data-v-17a44f9d {
  261. width: 220rpx;
  262. height: 80rpx;
  263. background: #e0e0e0;
  264. color: #666;
  265. font-size: 28rpx;
  266. border-radius: 40rpx;
  267. display: flex;
  268. align-items: center;
  269. justify-content: center;
  270. border: none;
  271. margin: 0;
  272. transition: all 0.3s;
  273. }
  274. .submit-order-btn.data-v-17a44f9d:not([disabled]) {
  275. background: #C1001C;
  276. color: #fff;
  277. font-weight: bold;
  278. }
  279. /* 全屏缺省页样式 */
  280. .empty-state-full.data-v-17a44f9d {
  281. display: flex;
  282. flex-direction: column;
  283. align-items: center;
  284. justify-content: center;
  285. padding-top: 120rpx;
  286. }
  287. .empty-visual.data-v-17a44f9d {
  288. position: relative;
  289. margin-bottom: 40rpx;
  290. width: 400rpx;
  291. height: 400rpx;
  292. display: flex;
  293. align-items: center;
  294. justify-content: center;
  295. }
  296. .empty-img.data-v-17a44f9d {
  297. width: 320rpx;
  298. height: 320rpx;
  299. z-index: 2;
  300. }
  301. .empty-bg-glow.data-v-17a44f9d {
  302. position: absolute;
  303. width: 240rpx;
  304. height: 240rpx;
  305. background: radial-gradient(circle, rgba(193, 0, 28, 0.15) 0%, rgba(248, 250, 252, 0) 70%);
  306. z-index: 1;
  307. border-radius: 50%;
  308. }
  309. .empty-title.data-v-17a44f9d {
  310. font-size: 36rpx;
  311. font-weight: bold;
  312. color: #1a1a1a;
  313. margin-bottom: 80rpx;
  314. }
  315. .empty-desc.data-v-17a44f9d {
  316. font-size: 26rpx;
  317. color: #999;
  318. margin-bottom: 60rpx;
  319. text-align: center;
  320. padding: 0 80rpx;
  321. line-height: 1.6;
  322. }
  323. .empty-action-btn.data-v-17a44f9d {
  324. width: 320rpx;
  325. height: 90rpx;
  326. background: #C1001C;
  327. color: #fff;
  328. border-radius: 45rpx;
  329. font-size: 30rpx;
  330. font-weight: bold;
  331. display: flex;
  332. align-items: center;
  333. justify-content: center;
  334. box-shadow: 0 10rpx 30rpx rgba(193, 0, 28, 0.2);
  335. border: none;
  336. }
  337. .empty-action-btn.data-v-17a44f9d:active {
  338. opacity: 0.8;
  339. transform: scale(0.96);
  340. }
  341. .bottom-safe-space.data-v-17a44f9d {
  342. height: 100rpx;
  343. }
  344. /* 加载动画样式 */
  345. .loading-state-full.data-v-17a44f9d {
  346. flex: 1;
  347. display: flex;
  348. align-items: center;
  349. justify-content: center;
  350. padding-bottom: 200rpx;
  351. }
  352. .loading-anim-box.data-v-17a44f9d {
  353. display: flex;
  354. flex-direction: column;
  355. align-items: center;
  356. }
  357. .dot-spinner.data-v-17a44f9d {
  358. display: flex;
  359. justify-content: center;
  360. align-items: center;
  361. margin-bottom: 30rpx;
  362. }
  363. .dot.data-v-17a44f9d {
  364. width: 16rpx;
  365. height: 16rpx;
  366. background-color: #C1001C;
  367. border-radius: 50%;
  368. margin: 0 8rpx;
  369. animation: dot-pulse-17a44f9d 1.4s infinite ease-in-out both;
  370. }
  371. .dot.data-v-17a44f9d:nth-child(1) { animation-delay: -0.32s;
  372. }
  373. .dot.data-v-17a44f9d:nth-child(2) { animation-delay: -0.16s;
  374. }
  375. @keyframes dot-pulse-17a44f9d {
  376. 0%, 80%, 100% { transform: scale(0); opacity: 0.3;
  377. }
  378. 40% { transform: scale(1); opacity: 1;
  379. }
  380. }
  381. .loading-text.data-v-17a44f9d {
  382. font-size: 26rpx;
  383. color: #999;
  384. letter-spacing: 2rpx;
  385. }