job.scss 17 KB

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