job.scss 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846
  1. page {
  2. background-color: #fff;
  3. font-family: "PingFang SC-Medium";
  4. min-height: 100vh;
  5. }
  6. .page {
  7. min-height: 100vh;
  8. background-color: #fff;
  9. position: relative;
  10. background: url("../../static/me/job/rw_bg_01.png") center top / 100% auto
  11. no-repeat,
  12. #f2f6f2;
  13. }
  14. // 顶部黄色背景
  15. .PageHeader {
  16. background: url("../../static/me/job/rw_bg_01.png") center top / 100% auto
  17. no-repeat,
  18. #f2f6f2;
  19. background-position-y: var(--status-bar-height);
  20. }
  21. .occupyHigh {
  22. height: calc(var(--status-bar-height) + 150rpx);
  23. width: 100%;
  24. }
  25. // 内容区域
  26. .content-area {
  27. position: relative;
  28. z-index: 1;
  29. padding: 0 20rpx;
  30. }
  31. // 星源余额展示区
  32. .person-info {
  33. display: flex;
  34. justify-content: space-between;
  35. align-items: center;
  36. padding: 0 20rpx;
  37. padding-bottom: 48rpx;
  38. .person-info-left {
  39. display: flex;
  40. .avator {
  41. width: 100rpx;
  42. height: 100rpx;
  43. border: 4rpx solid #fff;
  44. margin-right: 28rpx;
  45. }
  46. .title-area {
  47. .my-bean-title {
  48. font-size: 24rpx;
  49. }
  50. .bean-number {
  51. display: flex;
  52. align-items: center;
  53. font-family: "CustomFont";
  54. font-weight: 700;
  55. font-size: 48rpx;
  56. color: #1f1f1f;
  57. image {
  58. width: 40rpx;
  59. height: 40rpx;
  60. margin-right: 8rpx;
  61. }
  62. }
  63. }
  64. }
  65. .exchange-btn {
  66. width: 140rpx;
  67. height: 52rpx;
  68. background: #1f1f1f;
  69. border-radius: 26rpx;
  70. font-size: 24rpx;
  71. color: #acf934;
  72. display: flex;
  73. align-items: center;
  74. justify-content: center;
  75. }
  76. }
  77. // 星愿打卡区域
  78. .starWishCheckIn {
  79. width: 710rpx;
  80. height: 380rpx;
  81. background: url("../../static/me/job/rw_bg_02.png") top left/100% no-repeat,
  82. #ffffff;
  83. box-shadow: 0rpx 6rpx 8rpx 0rpx rgba(231, 231, 231, 0.29);
  84. border-radius: 20rpx;
  85. padding: 20rpx;
  86. padding-top: 96rpx;
  87. margin-bottom: 20rpx;
  88. display: flex;
  89. justify-content: space-between;
  90. position: relative;
  91. left: 0;
  92. top: 0;
  93. .title {
  94. position: absolute;
  95. left: 20rpx;
  96. top: 20rpx;
  97. width: 200rpx;
  98. height: 104rpx;
  99. }
  100. .card {
  101. width: 328rpx;
  102. height: 238rpx;
  103. padding: 28rpx 26rpx 22rpx 24rpx;
  104. box-sizing: border-box;
  105. .card-title {
  106. font-weight: 700;
  107. font-size: 28rpx;
  108. color: #ffffff;
  109. font-family: "CustomFont";
  110. }
  111. .card-desc {
  112. font-weight: 400;
  113. font-size: 22rpx;
  114. color: rgba(255, 255, 255, 0.8);
  115. width: 180rpx;
  116. padding-bottom: 20rpx;
  117. }
  118. .card-btn {
  119. width: 276rpx;
  120. height: 64rpx;
  121. display: flex;
  122. align-items: center;
  123. justify-content: center;
  124. padding-bottom: 10rpx;
  125. font-weight: 400;
  126. font-size: 28rpx;
  127. &.card-reward {
  128. background: url("../../static/me/job/rw_btn_01.png") center/100%
  129. no-repeat;
  130. color: #c88618;
  131. }
  132. &.sign-btn {
  133. background: url("../../static/me/job/rw_btn_02.png") center/100%
  134. no-repeat;
  135. color: #0484ce;
  136. }
  137. }
  138. &.purple-card {
  139. background: url("../../static/me/job/sy_img_xingyuandaka01.png")
  140. center/100% no-repeat;
  141. }
  142. &.yellow-card {
  143. background: url("../../static/me/job/sy_img_xingyuandaka02.png")
  144. center/100% no-repeat;
  145. }
  146. }
  147. }
  148. // 任务列表
  149. .task-list-box {
  150. box-shadow: 0rpx 6rpx 8rpx 0rpx rgba(231, 231, 231, 0.29);
  151. border-radius: 20rpx;
  152. background: url("../../static/me/job/rw_bg_02.png") top left/100% no-repeat,
  153. #ffffff;
  154. padding: 20rpx;
  155. box-sizing: border-box;
  156. .task-header {
  157. display: flex;
  158. align-items: center;
  159. image {
  160. width: 200rpx;
  161. height: 50rpx;
  162. margin-right: 4rpx;
  163. }
  164. .task-subtitle {
  165. font-weight: 400;
  166. font-size: 22rpx;
  167. color: #999999;
  168. }
  169. }
  170. .task-item {
  171. display: flex;
  172. flex-direction: row;
  173. align-items: center;
  174. padding: 20rpx 0;
  175. border-bottom: 1px solid #f0f0f0;
  176. justify-content: space-between;
  177. .task-info {
  178. flex: 1;
  179. display: flex;
  180. align-items: center;
  181. justify-content: flex-start;
  182. max-width: 408rpx;
  183. image {
  184. width: 88rpx;
  185. height: 88rpx;
  186. flex-shrink: 0;
  187. margin-right: 20rpx;
  188. }
  189. .task-name {
  190. color: #333;
  191. margin-bottom: 6rpx;
  192. max-width: 310rpx;
  193. font-weight: 400;
  194. font-size: 28rpx;
  195. color: #1f1f1f;
  196. font-family: "PingFang SC-Bold";
  197. }
  198. .task-desc {
  199. max-width: 310rpx;
  200. font-weight: 400;
  201. font-size: 22rpx;
  202. color: #999999;
  203. }
  204. }
  205. .task-reward {
  206. font-size: 28rpx;
  207. color: #1f1f1f;
  208. margin-right: 20rpx;
  209. display: flex;
  210. align-items: center;
  211. justify-content: center;
  212. image {
  213. width: 36rpx;
  214. height: 36rpx;
  215. }
  216. }
  217. .task-btn {
  218. display: flex;
  219. justify-content: center;
  220. align-items: center;
  221. width: 140rpx;
  222. height: 52rpx;
  223. background: #1f1f1f;
  224. border-radius: 26rpx;
  225. font-weight: 400;
  226. font-size: 24rpx;
  227. color: #acf934;
  228. border: 2rpx solid #1f1f1f;
  229. &.task-completed {
  230. background-color: #fff;
  231. color: #1f1f1f;
  232. border: 2rpx solid #1f1f1f;
  233. }
  234. }
  235. }
  236. }
  237. // 兑换弹窗
  238. .NicknamePopUpWindowBox {
  239. ::v-deep.uv-popup .uv-popup__content {
  240. border-radius: 28rpx 28rpx 0 0;
  241. min-height: 400rpx;
  242. background: url("../../static/me/wd_bg_jianjie.png") center top/100% auto
  243. no-repeat,
  244. #f2f6f2 !important;
  245. padding-bottom: 40rpx;
  246. }
  247. }
  248. .NicknamePopUpWindow {
  249. .nickname-heard {
  250. padding: 0 32rpx;
  251. padding-top: 20rpx;
  252. padding-bottom: -26rpx;
  253. display: flex;
  254. flex-direction: center;
  255. align-items: center;
  256. position: relative;
  257. left: 0;
  258. top: 0;
  259. width: 100vw;
  260. box-sizing: border-box;
  261. .available-mCoin {
  262. font-weight: 400;
  263. font-size: 24rpx;
  264. color: #1f1f1f;
  265. }
  266. .exchange-title {
  267. position: absolute;
  268. left: 50%;
  269. top: calc(50% + 10rpx);
  270. transform: translate(-50%, -50%);
  271. font-family: "CustomFont";
  272. font-weight: 700;
  273. font-size: 36rpx;
  274. color: #1f1f1f;
  275. }
  276. }
  277. .content-box {
  278. width: 686rpx;
  279. height: 420rpx;
  280. background: #ffffff;
  281. border-radius: 20rpx;
  282. margin: 0 auto;
  283. margin-bottom: 40rpx;
  284. padding: 24rpx;
  285. .prompt {
  286. font-weight: 400;
  287. font-size: 28rpx;
  288. color: #1f1f1f;
  289. padding-bottom: 24rpx;
  290. text {
  291. color: #999999;
  292. font-size: 24rpx;
  293. }
  294. }
  295. ::v-deep.uv-input {
  296. background-color: #f2f6f2;
  297. }
  298. .input-box {
  299. width: 100%;
  300. height: 88rpx;
  301. background: #f2f6f2;
  302. border-radius: 20rpx;
  303. display: flex;
  304. align-items: center;
  305. justify-content: center;
  306. margin-bottom: 60rpx;
  307. padding: 18rpx 24rpx;
  308. > image {
  309. width: 48rpx;
  310. height: 48rpx;
  311. margin-right: 16rpx;
  312. }
  313. .input {
  314. }
  315. }
  316. .tips-text {
  317. font-size: 24rpx;
  318. color: #999;
  319. text-align: center;
  320. display: block;
  321. text-align: center;
  322. padding: 20rpx 0;
  323. }
  324. }
  325. }
  326. // 星源余额展示区
  327. .bean-balance {
  328. width: 690rpx;
  329. background-color: #ffffff;
  330. border-radius: 24rpx;
  331. padding: 30rpx;
  332. margin-bottom: 30rpx;
  333. box-shadow: 0 4rpx 16rpx rgba(0, 0, 0, 0.05);
  334. .balance-header {
  335. display: flex;
  336. flex-direction: row;
  337. justify-content: space-between;
  338. align-items: center;
  339. .title-area {
  340. display: flex;
  341. flex-direction: row;
  342. align-items: center;
  343. .yellow-dot {
  344. width: 16rpx;
  345. height: 16rpx;
  346. border-radius: 50%;
  347. background-color: #90d369;
  348. margin-right: 10rpx;
  349. }
  350. .my-bean-title {
  351. font-size: 32rpx;
  352. color: #333;
  353. font-weight: bold;
  354. }
  355. }
  356. .exchange-btn {
  357. width: 120rpx;
  358. height: 60rpx;
  359. background-color: #90d369;
  360. border-radius: 30rpx;
  361. display: flex;
  362. justify-content: center;
  363. align-items: center;
  364. font-size: 28rpx;
  365. color: #fff;
  366. font-weight: bold;
  367. }
  368. }
  369. .bean-number {
  370. font-size: 80rpx;
  371. font-weight: bold;
  372. color: #333;
  373. margin-top: 20rpx;
  374. }
  375. }
  376. // 星愿打卡区域
  377. .sign-cards {
  378. display: flex;
  379. flex-direction: row;
  380. justify-content: space-between;
  381. margin-bottom: 30rpx;
  382. .card {
  383. width: 330rpx;
  384. height: 240rpx;
  385. border-radius: 24rpx;
  386. padding: 24rpx;
  387. display: flex;
  388. flex-direction: column;
  389. box-shadow: 0 4rpx 16rpx rgba(0, 0, 0, 0.05);
  390. .card-title {
  391. font-size: 34rpx;
  392. font-weight: bold;
  393. color: #ffffff;
  394. margin-bottom: 10rpx;
  395. }
  396. .card-desc {
  397. font-size: 24rpx;
  398. color: rgba(255, 255, 255, 0.8);
  399. margin-bottom: 30rpx;
  400. }
  401. .card-reward {
  402. font-size: 30rpx;
  403. color: #ffffff;
  404. font-weight: bold;
  405. }
  406. .card-progress {
  407. font-size: 36rpx;
  408. color: #ffffff;
  409. font-weight: bold;
  410. margin-top: auto;
  411. }
  412. .sign-btn {
  413. width: 180rpx;
  414. height: 70rpx;
  415. background-color: #ffffff;
  416. border-radius: 35rpx;
  417. display: flex;
  418. justify-content: center;
  419. align-items: center;
  420. font-size: 28rpx;
  421. color: #333;
  422. font-weight: bold;
  423. margin-top: auto;
  424. }
  425. }
  426. .purple-card {
  427. background-color: #9c27b0;
  428. }
  429. .yellow-card {
  430. background-color: #90d369;
  431. }
  432. }
  433. // 任务列表
  434. .task-list {
  435. background-color: #ffffff;
  436. border-radius: 24rpx;
  437. padding: 30rpx;
  438. box-shadow: 0 4rpx 16rpx rgba(0, 0, 0, 0.05);
  439. .task-header {
  440. display: flex;
  441. flex-direction: row;
  442. align-items: center;
  443. margin-bottom: 30rpx;
  444. .task-title {
  445. font-size: 34rpx;
  446. color: #333;
  447. font-weight: bold;
  448. margin-right: 20rpx;
  449. }
  450. .task-subtitle {
  451. font-size: 24rpx;
  452. color: #999;
  453. }
  454. }
  455. .task-item {
  456. display: flex;
  457. flex-direction: row;
  458. align-items: center;
  459. padding: 20rpx 0;
  460. border-bottom: 1px solid #f0f0f0;
  461. .task-info {
  462. flex: 1;
  463. .task-name {
  464. font-size: 30rpx;
  465. color: #333;
  466. margin-bottom: 6rpx;
  467. }
  468. .task-desc {
  469. font-size: 24rpx;
  470. color: #999;
  471. }
  472. }
  473. .task-reward {
  474. font-size: 30rpx;
  475. color: #90d369;
  476. font-weight: bold;
  477. margin-right: 20rpx;
  478. }
  479. .task-btn {
  480. width: 120rpx;
  481. height: 60rpx;
  482. background-color: #90d369;
  483. border-radius: 30rpx;
  484. display: flex;
  485. justify-content: center;
  486. align-items: center;
  487. font-size: 26rpx;
  488. color: #fff;
  489. font-weight: bold;
  490. }
  491. .task-completed {
  492. background-color: #f0f0f0;
  493. color: #999;
  494. }
  495. }
  496. }
  497. // 星源兑换弹窗
  498. .exchange-popup {
  499. position: fixed;
  500. bottom: 0;
  501. left: 0;
  502. width: 100%;
  503. height: 100%;
  504. z-index: 999;
  505. .popup-mask {
  506. position: absolute;
  507. top: 0;
  508. left: 0;
  509. width: 100%;
  510. height: 100%;
  511. background-color: rgba(0, 0, 0, 0.5);
  512. }
  513. .popup-content {
  514. position: absolute;
  515. bottom: 0;
  516. left: 0;
  517. width: 100%;
  518. background-color: #f5f5f5;
  519. border-radius: 24rpx 24rpx 0 0;
  520. padding-bottom: 50rpx;
  521. .popup-header {
  522. display: flex;
  523. flex-direction: row;
  524. justify-content: space-between;
  525. align-items: center;
  526. padding: 30rpx;
  527. .available-balance {
  528. font-size: 28rpx;
  529. color: #333;
  530. }
  531. .exchange-title {
  532. font-size: 28rpx;
  533. color: #333;
  534. font-weight: bold;
  535. }
  536. }
  537. .exchange-area {
  538. background-color: #ffffff;
  539. margin: 0 30rpx;
  540. border-radius: 20rpx;
  541. padding: 30rpx;
  542. .exchange-title-area {
  543. margin-bottom: 40rpx;
  544. .exchange-main-title {
  545. font-size: 34rpx;
  546. color: #333;
  547. font-weight: bold;
  548. display: block;
  549. margin-bottom: 10rpx;
  550. }
  551. .exchange-subtitle {
  552. font-size: 24rpx;
  553. color: #999;
  554. }
  555. }
  556. .input-area {
  557. display: flex;
  558. flex-direction: row;
  559. align-items: center;
  560. padding: 20rpx 0;
  561. border-bottom: 1px solid #f0f0f0;
  562. margin-bottom: 50rpx;
  563. .bean-icon {
  564. width: 40rpx;
  565. height: 40rpx;
  566. border-radius: 50%;
  567. background-color: #ffe156;
  568. margin-right: 20rpx;
  569. }
  570. .exchange-input {
  571. flex: 1;
  572. height: 60rpx;
  573. font-size: 30rpx;
  574. }
  575. }
  576. .action-area {
  577. display: flex;
  578. flex-direction: column;
  579. align-items: center;
  580. .exchange-btn-large {
  581. width: 100%;
  582. height: 90rpx;
  583. background-color: #90d369;
  584. border-radius: 45rpx;
  585. display: flex;
  586. justify-content: center;
  587. align-items: center;
  588. font-size: 32rpx;
  589. color: #fff;
  590. font-weight: bold;
  591. margin-bottom: 20rpx;
  592. }
  593. .tips-text {
  594. font-size: 24rpx;
  595. color: #999;
  596. text-align: center;
  597. }
  598. }
  599. }
  600. }
  601. }
  602. // 签到弹窗
  603. .sign-popup {
  604. position: fixed;
  605. bottom: 0;
  606. left: 0;
  607. width: 100%;
  608. height: 100%;
  609. z-index: 1000;
  610. .popup-mask {
  611. position: absolute;
  612. top: 0;
  613. left: 0;
  614. width: 100%;
  615. height: 100%;
  616. background-color: rgba(0, 0, 0, 0.5);
  617. }
  618. .sign-popup-content {
  619. position: absolute;
  620. bottom: 0;
  621. left: 0;
  622. width: 100%;
  623. background: #ffffff;
  624. border-radius: 24rpx 24rpx 0 0;
  625. padding: 30rpx;
  626. padding-bottom: 50rpx;
  627. .sign-popup-header {
  628. position: relative;
  629. padding-bottom: 30rpx;
  630. .sign-popup-title {
  631. font-size: 36rpx;
  632. color: #333333;
  633. font-weight: bold;
  634. margin-bottom: 30rpx;
  635. display: block;
  636. }
  637. .sign-notify-switch {
  638. display: flex;
  639. flex-direction: row;
  640. align-items: center;
  641. position: absolute;
  642. top: 0;
  643. right: 0;
  644. .sign-notify-text {
  645. font-size: 24rpx;
  646. color: #666666;
  647. margin-right: 10rpx;
  648. }
  649. .sign-switch {
  650. transform: scale(0.7);
  651. }
  652. }
  653. .sign-days-tag {
  654. display: inline-block;
  655. padding: 6rpx 20rpx;
  656. background-color: #ffd54f;
  657. border-radius: 24rpx;
  658. font-size: 24rpx;
  659. color: #333;
  660. font-weight: bold;
  661. }
  662. }
  663. .vip-area {
  664. display: flex;
  665. flex-direction: row;
  666. justify-content: space-between;
  667. align-items: center;
  668. background-color: #f5f5f5;
  669. border-radius: 12rpx;
  670. padding: 20rpx;
  671. margin-bottom: 30rpx;
  672. .vip-left {
  673. .vip-text {
  674. font-size: 26rpx;
  675. color: #333333;
  676. }
  677. }
  678. .vip-right {
  679. .vip-offer {
  680. font-size: 24rpx;
  681. color: #9c27b0;
  682. }
  683. }
  684. }
  685. .sign-grid {
  686. display: flex;
  687. flex-direction: row;
  688. flex-wrap: wrap;
  689. margin: 0 -10rpx;
  690. margin-bottom: 40rpx;
  691. .sign-grid-item {
  692. width: calc(33.33% - 20rpx);
  693. background-color: #f5f5f5;
  694. border-radius: 12rpx;
  695. padding: 20rpx;
  696. margin: 10rpx;
  697. position: relative;
  698. height: 180rpx;
  699. display: flex;
  700. flex-direction: column;
  701. .sign-day-num {
  702. font-size: 24rpx;
  703. color: #666666;
  704. margin-bottom: 10rpx;
  705. }
  706. .sign-item-img {
  707. width: 70rpx;
  708. height: 70rpx;
  709. background-color: #dddddd;
  710. border-radius: 50%;
  711. margin: 10rpx auto;
  712. }
  713. .sign-item-name {
  714. font-size: 24rpx;
  715. color: #333333;
  716. text-align: center;
  717. margin-top: auto;
  718. }
  719. .sign-vip-tag {
  720. position: absolute;
  721. top: 20rpx;
  722. right: 20rpx;
  723. padding: 4rpx 10rpx;
  724. background-color: #9c27b0;
  725. border-radius: 10rpx;
  726. font-size: 20rpx;
  727. color: #ffffff;
  728. }
  729. .sign-received-mask {
  730. position: absolute;
  731. top: 0;
  732. left: 0;
  733. width: 100%;
  734. height: 100%;
  735. background-color: rgba(0, 0, 0, 0.5);
  736. border-radius: 12rpx;
  737. display: flex;
  738. justify-content: center;
  739. align-items: center;
  740. .received-text {
  741. font-size: 28rpx;
  742. color: #ffffff;
  743. font-weight: bold;
  744. }
  745. }
  746. }
  747. }
  748. .sign-btn-large {
  749. width: 100%;
  750. height: 90rpx;
  751. background-color: #9c27b0;
  752. border-radius: 45rpx;
  753. display: flex;
  754. justify-content: center;
  755. align-items: center;
  756. font-size: 32rpx;
  757. color: #ffffff;
  758. font-weight: bold;
  759. &.sign-btn-disabled {
  760. background-color: #cccccc;
  761. color: #999999;
  762. }
  763. }
  764. }
  765. }