my.scss 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726
  1. page {
  2. background-color: #fff;
  3. }
  4. .page {
  5. background-color: #fff;
  6. width: 100%;
  7. min-height: 100vh;
  8. }
  9. .reserveASeat {
  10. width: 100%;
  11. height: calc(var(--status-bar-height));
  12. }
  13. .topBody {
  14. width: 750rpx;
  15. }
  16. .header1 {
  17. display: flex;
  18. flex-direction: row;
  19. justify-content: flex-start;
  20. align-items: flex-start;
  21. width: 750rpx;
  22. height: 420rpx;
  23. position: relative;
  24. z-index: 10;
  25. position: relative;
  26. .topBg {
  27. width: 750rpx;
  28. height: 250rpx;
  29. background: #90d369;
  30. border-radius: 0 0 50% 50% / 0 0 20% 20%;
  31. z-index: 0;
  32. position: absolute;
  33. }
  34. /* 新增设置按钮 */
  35. .settingBtn {
  36. position: absolute;
  37. top: 24rpx;
  38. right: 30rpx;
  39. z-index: 11;
  40. width: 48rpx;
  41. height: 48rpx;
  42. /* 新增点击态 */
  43. &:active {
  44. opacity: 0.7;
  45. transform: scale(0.95);
  46. }
  47. image {
  48. width: 100%;
  49. height: 100%;
  50. }
  51. }
  52. .top_num {
  53. position: absolute;
  54. top: 24rpx; // 垂直对齐设置按钮
  55. right: 98rpx; // 30+48+20=98 预留按钮空间
  56. display: flex;
  57. flex-direction: row;
  58. justify-content: flex-end;
  59. align-items: center;
  60. z-index: 10;
  61. .num_1,
  62. .num_2 {
  63. display: flex;
  64. flex-direction: row;
  65. align-items: center;
  66. justify-content: center;
  67. background: rgba(255, 255, 255, 0.8);
  68. border-radius: 30rpx;
  69. padding: 10rpx 20rpx;
  70. margin-left: 20rpx;
  71. .num_1,
  72. .num_2 {
  73. margin-left: 10rpx; // 缩小间距
  74. padding: 8rpx 16rpx; // 调整内边距
  75. }
  76. text:first-child {
  77. font-size: 24rpx;
  78. line-height: 32rpx;
  79. color: #666;
  80. }
  81. text:last-child {
  82. font-size: 32rpx;
  83. line-height: 32rpx;
  84. font-weight: bold;
  85. color: #333;
  86. }
  87. }
  88. }
  89. .infoBg {
  90. display: flex;
  91. flex-direction: column;
  92. justify-content: flex-start;
  93. align-items: stretch;
  94. width: 690rpx;
  95. height: 320rpx;
  96. margin: 20rpx 30rpx;
  97. margin-top: 90rpx;
  98. background: rgba(255, 255, 255, 0.95);
  99. backdrop-filter: blur(10px);
  100. border-radius: 24rpx;
  101. padding-top: calc(var(--status-bar-height) + 0rpx);
  102. box-shadow: 0 8rpx 20rpx rgba(0, 0, 0, 0.1);
  103. .top_row {
  104. display: flex;
  105. flex-direction: row;
  106. justify-content: space-between;
  107. align-items: flex-start;
  108. padding: 20rpx 0;
  109. .left {
  110. padding-left: 30rpx;
  111. padding-right: 0rpx;
  112. width: 200rpx;
  113. image {
  114. width: 136rpx;
  115. height: 136rpx;
  116. border-radius: 100rpx;
  117. border: solid 4rpx #fff;
  118. }
  119. .level {
  120. display: flex;
  121. flex-direction: row;
  122. justify-content: center;
  123. align-items: center;
  124. height: 32rpx;
  125. padding: 0 12rpx;
  126. margin-left: 10rpx;
  127. border-radius: 12rpx;
  128. background: linear-gradient(90deg, #ff5869 0%, #f83881 100%);
  129. font-size: 20rpx;
  130. color: #fff;
  131. font-weight: normal;
  132. }
  133. }
  134. .right {
  135. color: #333;
  136. width: 500rpx;
  137. font-size: 40rpx;
  138. padding-top: 20rpx;
  139. .nickname {
  140. font-weight: bold;
  141. margin-bottom: 0rpx;
  142. display: flex;
  143. flex-direction: row;
  144. justify-content: flex-start;
  145. align-items: center;
  146. image {
  147. width: 36rpx;
  148. margin-left: 8rpx;
  149. margin-right: 10rpx;
  150. }
  151. .level {
  152. font-weight: normal;
  153. font-size: 32rpx;
  154. }
  155. }
  156. .tags_list {
  157. .tag {
  158. margin-right: 8rpx;
  159. }
  160. }
  161. .join_date {
  162. display: flex;
  163. flex-direction: row;
  164. justify-content: flex-start;
  165. align-items: center;
  166. font-size: 28rpx;
  167. color: #333;
  168. image {
  169. width: 32rpx;
  170. height: 32rpx;
  171. margin-left: 6rpx;
  172. }
  173. }
  174. .follow_info {
  175. display: none;
  176. }
  177. }
  178. }
  179. .bottom_row {
  180. padding: 20rpx 50rpx;
  181. .intro_row {
  182. display: flex;
  183. flex-direction: row;
  184. align-items: center;
  185. margin-bottom: 20rpx;
  186. .intro_text {
  187. color: #999;
  188. font-size: 28rpx;
  189. }
  190. .add_icon {
  191. width: 28rpx;
  192. margin-left: 10rpx;
  193. }
  194. }
  195. .follow_info {
  196. display: flex;
  197. flex-direction: row;
  198. align-items: center;
  199. justify-content: flex-start;
  200. .num {
  201. font-size: 36rpx;
  202. font-weight: bold;
  203. color: #333;
  204. margin-right: 8rpx;
  205. }
  206. .label {
  207. font-size: 28rpx;
  208. color: #999;
  209. }
  210. .separator {
  211. width: 2rpx;
  212. height: 24rpx;
  213. background-color: #e5e5e5;
  214. margin: 0 30rpx;
  215. }
  216. }
  217. }
  218. }
  219. .title {
  220. font-size: 34rpx;
  221. }
  222. }
  223. .header {
  224. padding: 20rpx;
  225. padding-top: 48rpx;
  226. background: linear-gradient(225deg, #cdff9f 0%, #acff5f 30%, #d0ffa5 100%);
  227. min-height: 620rpx;
  228. margin-bottom: calc(-60rpx + var(--status-bar-height));
  229. &.header-isvip {
  230. margin-bottom: calc(-240rpx + var(--status-bar-height));
  231. }
  232. .card-box {
  233. width: 100%;
  234. min-height: 490rpx;
  235. position: relative;
  236. left: 0;
  237. top: 0%;
  238. overflow: hidden;
  239. .card-top {
  240. height: 410rpx;
  241. width: 100%;
  242. background: url("../../static/me/my-card-bg.png") top center / 100% auto,
  243. #fff;
  244. position: absolute;
  245. top: 0%;
  246. left: 0;
  247. z-index: 5;
  248. padding: 24rpx 0;
  249. padding-top: 16rpx;
  250. box-sizing: border-box;
  251. border-radius: 25rpx;
  252. .top-box {
  253. display: flex;
  254. justify-content: space-between;
  255. align-items: center;
  256. // padding-top: 8rpx;
  257. background: url("../../static/me/car-top-bg-center.png") top center/
  258. 146rpx 50rpx no-repeat;
  259. padding-right: 24rpx;
  260. padding-left: 24rpx;
  261. .hello-box {
  262. font-family: "CustomFont" !important;
  263. font-size: 36rpx;
  264. font-weight: 700;
  265. }
  266. .settingBtn-box {
  267. width: 148rpx;
  268. display: flex;
  269. align-items: center;
  270. justify-content: space-between;
  271. image {
  272. width: 64rpx;
  273. height: 64rpx;
  274. }
  275. }
  276. }
  277. .userinfo-box {
  278. min-height: 120rpx;
  279. width: 100%;
  280. display: flex;
  281. padding-right: 24rpx;
  282. padding-left: 24rpx;
  283. padding-top: 18rpx;
  284. .avator {
  285. width: 120rpx;
  286. height: 120rpx;
  287. margin-right: 16rpx;
  288. }
  289. .userinfo-right {
  290. .nickname {
  291. font-weight: bold;
  292. margin-bottom: 0rpx;
  293. display: flex;
  294. flex-direction: row;
  295. justify-content: flex-start;
  296. align-items: center;
  297. display: flex;
  298. padding-bottom: 12rpx;
  299. > text {
  300. max-width: 380rpx;
  301. font-family: "PingFang SC-Bold";
  302. font-weight: 400;
  303. font-size: 36rpx;
  304. }
  305. image {
  306. width: 36rpx;
  307. margin-left: 8rpx;
  308. margin-right: 10rpx;
  309. }
  310. .level {
  311. font-weight: 400;
  312. font-size: 22rpx;
  313. font-family: "PingFang SC-Bold";
  314. background: linear-gradient(360deg, #acf934 0%, #ffe439 100%);
  315. border-radius: 8rpx;
  316. padding: 2rpx 8rpx;
  317. }
  318. }
  319. .label {
  320. height: 40rpx;
  321. // height: 110rpx;
  322. overflow: hidden;
  323. > view {
  324. color: #acf934;
  325. font-family: "PingFang SC-Medium";
  326. font-weight: 400;
  327. font-size: 24rpx;
  328. background: #1f1f1f;
  329. border-radius: 6px 6px 6px 6px;
  330. display: inline-block;
  331. margin-right: 10rpx;
  332. margin-bottom: 10rpx;
  333. padding: 6rpx 16rpx;
  334. }
  335. }
  336. }
  337. }
  338. .intro_row {
  339. width: 100%;
  340. display: flex;
  341. align-items: center;
  342. padding-right: 24rpx;
  343. padding-left: 24rpx;
  344. padding-top: 12rpx;
  345. padding-bottom: 12rpx;
  346. .intro_text {
  347. color: #1f1f1f;
  348. font-size: 24rpx;
  349. font-family: "PingFang SC-Bold";
  350. font-weight: 400;
  351. padding-right: 0rpx;
  352. ::v-deep.uv-text__value{
  353. font-size: 26rpx !important;
  354. }
  355. }
  356. .add_icon {
  357. width: 28rpx;
  358. margin-left: 10rpx;
  359. }
  360. }
  361. .line{
  362. width: 100%;
  363. height: 2rpx;
  364. background-color: #F2F6F2;
  365. margin:10rpx 0;
  366. }
  367. .bom {
  368. display: flex;
  369. align-items: center;
  370. justify-content: space-between;
  371. padding-right: 24rpx;
  372. padding-left: 24rpx;
  373. .follow_info {
  374. display: flex;
  375. align-items: center;
  376. justify-content: space-between;
  377. max-width: 300rpx;
  378. .follow-box {
  379. display: flex;
  380. flex-direction: column;
  381. align-items: center;
  382. justify-content: center;
  383. text-align: center;
  384. }
  385. .num {
  386. width: 100%;
  387. font-size: 36rpx;
  388. font-weight: bold;
  389. color: #333;
  390. }
  391. .label {
  392. width: 100%;
  393. font-size: 24rpx;
  394. color: #999;
  395. }
  396. .separator {
  397. width: 2rpx;
  398. height: 24rpx;
  399. background-color: #e5e5e5;
  400. margin: 0 30rpx;
  401. }
  402. }
  403. .points-box {
  404. display: flex;
  405. justify-content: space-between;
  406. .points {
  407. display: flex;
  408. align-items: center;
  409. background: #f2f6f2;
  410. border-radius: 30rpx;
  411. padding: 6rpx 12rpx 6rpx 8rpx;
  412. &:first-child {
  413. margin-right: 18rpx;
  414. }
  415. image {
  416. width: 40rpx;
  417. height: 40rpx;
  418. }
  419. text {
  420. display: inline-block;
  421. padding-left: 4rpx;
  422. line-height: 0;
  423. }
  424. }
  425. }
  426. }
  427. .follow_info {
  428. // display: none;
  429. }
  430. }
  431. .card-bom {
  432. width: 100%;
  433. height: 104rpx;
  434. background: url("../../static/me/my-card-bom-bg.png") top center / 100%
  435. auto;
  436. position: absolute;
  437. bottom: 0%;
  438. left: 0;
  439. padding: 0 28rpx;
  440. padding-top: 20rpx;
  441. box-sizing: border-box;
  442. display: flex;
  443. align-items: center;
  444. justify-content: space-between;
  445. transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  446. box-shadow: 0 -2rpx 8rpx rgba(0, 0, 0, 0.05);
  447. &:active {
  448. transform: scale(0.98);
  449. box-shadow: 0 -1rpx 4rpx rgba(0, 0, 0, 0.05);
  450. }
  451. > image {
  452. width: 44rpx;
  453. height: 44rpx;
  454. transition: all 0.3s ease;
  455. }
  456. .content-box {
  457. height: 100%;
  458. display: flex;
  459. align-items: center;
  460. color: #acf934;
  461. transition: all 0.3s ease;
  462. image {
  463. width: 34rpx;
  464. height: 34rpx;
  465. margin-right: 8rpx;
  466. transition: all 0.3s ease;
  467. }
  468. }
  469. }
  470. }
  471. }
  472. .thread {
  473. height: 210rpx;
  474. padding: 50rpx;
  475. font-size: 52rpx;
  476. color: #6e6a6a;
  477. padding-top: 80rpx;
  478. }
  479. .myinfo {
  480. width: 100%;
  481. display: flex;
  482. flex-direction: column;
  483. border-radius: 28rpx 28rpx 0 0;
  484. padding: 24rpx 20rpx;
  485. padding-top: 14rpx;
  486. justify-content: flex-start;
  487. box-sizing: border-box;
  488. background: #fff;
  489. .line {
  490. width: 100%;
  491. height: 2rpx;
  492. background: #f2f6f2;
  493. margin-bottom: 8rpx;
  494. margin-top: 32rpx;
  495. }
  496. .subtitle {
  497. display: flex;
  498. .item {
  499. padding: 0 43rpx;
  500. font-weight: 400;
  501. font-size: 28rpx;
  502. color: #999999;
  503. font-family: "PingFang SC-Medium";
  504. &.active {
  505. font-family: "PingFang SC-Bold";
  506. font-weight: 400;
  507. font-size: 28rpx;
  508. color: #1f1f1f;
  509. }
  510. }
  511. }
  512. .tablist {
  513. display: flex;
  514. justify-content: flex-start;
  515. box-sizing: border-box;
  516. background: #ffffff;
  517. .item {
  518. padding: 15rpx 38rpx;
  519. color: #1f1f1f;
  520. font-size: 28rpx;
  521. background: #f2f6f2;
  522. margin-right: 20rpx;
  523. border-radius: 30rpx;
  524. position: relative;
  525. left: 0;
  526. top: 0;
  527. line-height: 1;
  528. transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  529. // box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.05);
  530. &:active {
  531. transform: scale(0.95);
  532. // box-shadow: 0 1rpx 4rpx rgba(0, 0, 0, 0.05);
  533. }
  534. .indicator-triangle {
  535. position: absolute;
  536. bottom: -10rpx;
  537. left: 50%;
  538. transform: translateX(-50%);
  539. width: 0;
  540. height: 0;
  541. border-left: 10rpx solid transparent;
  542. border-right: 10rpx solid transparent;
  543. border-top: 10rpx solid #acf934;
  544. display: none;
  545. transition: all 0.3s ease;
  546. }
  547. &.active {
  548. background: #acf934;
  549. font-family: "CustomFont" !important;
  550. box-shadow: 0 4rpx 12rpx rgba(172, 249, 52, 0.3);
  551. .indicator-triangle {
  552. display: block;
  553. transform: translateX(-50%) scale(1.2);
  554. }
  555. }
  556. }
  557. }
  558. .numlist {
  559. display: flex;
  560. flex-direction: row;
  561. justify-content: center;
  562. align-items: center;
  563. .item {
  564. display: flex;
  565. justify-content: center;
  566. padding: 20rpx;
  567. border-radius: 38rpx;
  568. width: 316rpx;
  569. height: 186rpx;
  570. image {
  571. width: 64rpx;
  572. }
  573. .num {
  574. color: #fff;
  575. font-size: 36rpx;
  576. text-align: center;
  577. display: flex;
  578. flex-direction: column;
  579. justify-content: center;
  580. align-items: center;
  581. .name {
  582. font-size: 28rpx;
  583. color: #bababa;
  584. margin-top: 12rpx;
  585. }
  586. }
  587. }
  588. }
  589. .numlist1 {
  590. display: grid;
  591. grid-template-columns: repeat(2, 1fr);
  592. }
  593. .numlist2 {
  594. display: grid;
  595. grid-template-columns: repeat(2, 1fr);
  596. .num {
  597. position: relative;
  598. left: 0;
  599. top: 0;
  600. transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  601. &.clickable {
  602. cursor: pointer;
  603. box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.05);
  604. &:active {
  605. transform: scale(0.98);
  606. box-shadow: 0 1rpx 4rpx rgba(0, 0, 0, 0.05);
  607. }
  608. }
  609. .incomplete-bg {
  610. position: absolute;
  611. left: 0;
  612. top: 0;
  613. width: 346rpx;
  614. height: 520rpx;
  615. transition: all 0.3s ease;
  616. border-radius: 16rpx;
  617. }
  618. .incomplete-bg2 {
  619. position: absolute;
  620. left: 0;
  621. top: 50%;
  622. width: 346rpx;
  623. transform: translateY(-50%);
  624. transition: all 0.3s ease;
  625. border-radius: 16rpx;
  626. }
  627. .maskLayer {
  628. background: rgba(0, 0, 0, 0.4);
  629. position: absolute;
  630. left: 0;
  631. top: 0;
  632. width: 346rpx;
  633. height: 520rpx;
  634. transition: all 0.3s ease;
  635. border-radius: 16rpx;
  636. }
  637. .queue-status {
  638. position: absolute;
  639. left: 0;
  640. top: 0;
  641. width: 346rpx;
  642. height: 520rpx;
  643. color: #fff;
  644. transition: all 0.3s ease;
  645. .status-text {
  646. position: absolute;
  647. left: 0;
  648. top: 0;
  649. width: 100%;
  650. height: 100%;
  651. display: flex;
  652. justify-content: center;
  653. align-items: center;
  654. transition: all 0.3s ease;
  655. .state-img {
  656. height: 104rpx;
  657. width: 220rpx;
  658. position: absolute;
  659. left: 50%;
  660. top: 50%;
  661. transform: translate(-50%, -50%);
  662. transition: all 0.3s ease;
  663. }
  664. }
  665. }
  666. .name {
  667. transition: all 0.3s ease;
  668. }
  669. }
  670. .loading-more,
  671. .no-more {
  672. text-align: center;
  673. padding: 20rpx 0;
  674. color: #999;
  675. font-size: 28rpx;
  676. }
  677. }
  678. .btn_submit {
  679. width: 660rpx;
  680. height: 96rpx;
  681. margin: 0 auto;
  682. border: 2rpx solid #404040;
  683. border-radius: 28rpx;
  684. font-weight: bold;
  685. font-size: 32rpx;
  686. color: #ff2a95;
  687. display: flex;
  688. flex-direction: row;
  689. justify-content: center;
  690. align-items: center;
  691. }
  692. .blankHeight {
  693. height: 100rpx;
  694. position: absolute;
  695. left: 50%;
  696. top: 50%;
  697. transform: translate(-50%, -50%);
  698. }
  699. }
  700. .reserveASeatBom {
  701. width: 100%;
  702. height: calc(var(--window-bottom) + 200rpx);
  703. }