index.vue 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985
  1. <template>
  2. <!-- svip会员模块 -->
  3. <view class="vipBox" @touchstart="touchStart">
  4. <view class="vipPaid pt-40">
  5. <!-- #ifdef MP -->
  6. <nav-bar ref="navBarRef" navTitle="SVIP会员" :iconColor="iconColor" :isBackgroundColor="false"
  7. :backgroundColor="backgroundColor"></nav-bar>
  8. <!-- #endif -->
  9. <view class="headerBg" :style="{'background-image': `url(${urlDomain}crmebimage/presets/svipbg.png)`}">
  10. </view>
  11. <!-- 会员信息 -->
  12. <view class="card-section" :style="[svipInfo.isPaidMember?paidMemberSize:noMemberSize]">
  13. <view v-if="svipInfo.isPaidMember" class="avatar-wrap">
  14. <view class="acea-row mb-28">
  15. <image class="avatar" :src="svipInfo.avatar"></image>
  16. <view class="text">
  17. <view class="name line1">{{svipInfo.nickname}}</view>
  18. <view class="tips">{{svipInfo.phone}}</view>
  19. </view>
  20. </view>
  21. <view class="acea-row row-middle tips" @click="goToRecord">
  22. <view v-if="svipInfo.isPermanentPaidMember">永久SVIP会员</view>
  23. <view v-else>SVIP会员至{{svipInfo.paidMemberExpirationTime}}</view>
  24. <text class="f-s-20 iconfont icon-gengduo3 ml-8"></text>
  25. </view>
  26. </view>
  27. </view>
  28. <!-- 会员权益 -->
  29. <view class="benefits-section" :class="!svipInfo.isPaidMember?'bgColor':''">
  30. <view class="acea-row row-between mb-36" @click="goToBenefits(0)">
  31. <view class="title">会员尊享权益</view>
  32. <view class="acea-row row-middle">
  33. <view class="f-s-24 text mr10">权益介绍</view>
  34. <text class="text f-s-20 iconfont icon-gengduo3"></text>
  35. </view>
  36. </view>
  37. <view class="section-bd acea-row row-between-wrapper">
  38. <view v-for="(item,index) in svipInfo.benefitsList" :key="item.id" class="item"
  39. @click="goToBenefits(index)">
  40. <view class="image-wrap acea-row row-center row-middle">
  41. <view class="image-wrap-inner acea-row row-center-wrapper">
  42. <image class="image" :src="item.imageUrl"></image>
  43. </view>
  44. </view>
  45. <view class="text">
  46. <view class="name f-s-24 lh-34rpx">{{item.value}}</view>
  47. <view class="f-s-20 lh-28rpx">{{item.message}}</view>
  48. </view>
  49. </view>
  50. </view>
  51. </view>
  52. <view class="other-section pt-20">
  53. <!-- 会员卡 -->
  54. <view
  55. v-if="svipInfo && svipInfo.cardList && svipInfo.cardList.length>0 && !svipInfo.isPermanentPaidMember"
  56. class="type-section" id="card">
  57. <view class="type-section-inner">
  58. <view class="title acea-row row-between-wrapper">
  59. <view class="">开通SVIP</view>
  60. </view>
  61. <scroll-view class="scroll" scroll-x="true">
  62. <view v-for="item in svipInfo.cardList" :key="item.id" class="item"
  63. :class="{on: item.id === svip.id}" @click="checkType(item)">
  64. <view v-show="item.label" class="badge">{{item.label}}</view>
  65. <view class="name">{{item.name}}</view>
  66. <view class="new">¥<text class="num semiBold">{{item.price | moneyFormat}}</text></view>
  67. <view class="old">¥{{item.originalPrice | moneyFormat}}</view>
  68. </view>
  69. </scroll-view>
  70. </view>
  71. </view>
  72. <!-- 推荐商品 -->
  73. <view v-if="recommendList.length">
  74. <view class="flex-center recommend-box mt-20">
  75. <image :src="`${urlDomain}crmebimage/presets/haowuzuo.png`"></image>
  76. <view class="f-s-32 lh-44rpx ml-4">会员专享好物</view>
  77. <image class="ml-6" :src="`${urlDomain}crmebimage/presets/haowuyou.png`"></image>
  78. </view>
  79. <recommend style="margin-top: -6rpx;" ref="recommendIndex" :isShowTitle="false" :isDefault="false"
  80. :recommendList="recommendList">
  81. </recommend>
  82. <view class="footer-placeholder"></view>
  83. </view>
  84. <!-- 购买按钮 -->
  85. <view v-if="!svipInfo.isPermanentPaidMember" class="footer">
  86. <view class="protocol acea-row row-middle mb-20" :class="svip.giftBalance==0?'row-center':''">
  87. <view class="checkbox acea-row row-middle" @click="isAgree=!isAgree">
  88. <text v-if="!isAgree" class="iconfont icon-weixuanzhong"></text>
  89. <text v-else class="iconfont icon-xuanzhong1"></text>
  90. </view>
  91. <text class="f-s-24 text-999 ml-8">开通前请确认<text @click="userAgree"
  92. class="protocol_text f-s-24">《会员服务协议》</text></text>
  93. </view>
  94. <view v-show="svip.giftBalance!=0" class="isFirstChargeGive f-s-24"
  95. :style="{'background-image': `url(${urlDomain}crmebimage/presets/juxing.png)`}">
  96. {{svip.isFirstChargeGive?'首次开通':'现在购买'}}立送{{svip.giftBalance}}元余额
  97. </view>
  98. <view class="acea-row">
  99. <view class="text acea-row row-middle">
  100. <view><text class="symbol">¥ </text> <text class="number semiBold ml-4">
  101. {{ svip.price }}</text><text
  102. class="original regular">原价¥{{ parseFloat(svip.originalPrice) }}</text></view>
  103. </view>
  104. <view class="buy acea-row row-center-wrapper" @tap="subOrder">立即开通</view>
  105. </view>
  106. </view>
  107. <!-- <view v-show="!svipInfo.isPermanentPaidMember" class="footer-placeholder"></view> -->
  108. </view>
  109. </view>
  110. <!-- 评论 -->
  111. <uni-popup type="center" animation ref="activate" :mask-click="false">
  112. <view class="w-600 h-344 bg--w111-fff rd-14rpx acea-row row-column activate-box">
  113. <span class="iconfont icon-guanbi5 absolute" @click="onClose"></span>
  114. <view class="f-s-32 text--w111-333 lh-44rpx mb-24 text-center">确认开通</view>
  115. <view class="text--w111-666 mb-40">我已阅读并同意<text @click="userAgree"
  116. class="protocol_text f-s-24">《会员服务协议》</text>,确认开通该套餐。</view>
  117. <view class="btn" @click="sureOrder">继续开通</view>
  118. </view>
  119. </uni-popup>
  120. </view>
  121. </template>
  122. <script>
  123. import recommend from "@/components/base/recommend.vue";
  124. import navBar from '@/components/navBar';
  125. import orderPay from "@/mixins/OrderPay.js";
  126. import {
  127. Debounce
  128. } from '@/utils/validate.js'
  129. import {
  130. svipInfoApi,
  131. svipBenefitsListApi
  132. } from '@/api/activity.js';
  133. import {
  134. productMemberApi
  135. } from '@/api/product.js';
  136. import {
  137. goToAgreement
  138. } from "@/libs/order";
  139. export default {
  140. mixins: [orderPay],
  141. components: {
  142. // #ifdef MP
  143. navBar,
  144. // #endif
  145. recommend
  146. },
  147. computed: {
  148. paidMemberSize() {
  149. return {
  150. backgroundImage: `url(${this.$Cache.get("imgHost")}crmebimage/presets/huiyuanbj2.png)`,
  151. width: '710rpx',
  152. height: '642rpx',
  153. backgroundSize: '710rpx 642rpx',
  154. marginLeft: '20rpx'
  155. }
  156. },
  157. noMemberSize() {
  158. return {
  159. backgroundImage: `url(${this.$Cache.get("imgHost")}crmebimage/presets/huiyuanbj.png)`,
  160. width: '662rpx',
  161. height: '329rpx',
  162. backgroundSize: '662rpx 329rpx',
  163. marginLeft: '36rpx',
  164. }
  165. }
  166. },
  167. data() {
  168. return {
  169. urlDomain: this.$Cache.get("imgHost"),
  170. userInfo: {},
  171. // #ifdef MP
  172. iconColor: '#FFFFFF',
  173. isScrolling: false,
  174. // #endif
  175. benefitsList: [], //会员权益
  176. svipInfo: {}, //会员信息
  177. svip: {},
  178. goodScroll: false,
  179. params: { //精品推荐分页
  180. page: 1,
  181. limit: 10,
  182. },
  183. loading: false,
  184. recommendList: [],
  185. totalPrice: 0,
  186. isAgree: false,
  187. backgroundColor: '',
  188. }
  189. },
  190. onLoad() {
  191. this.getProductMember()
  192. this.getSvipInfo();
  193. this.getSvipBenefitsList();
  194. },
  195. onPageScroll(e) {
  196. uni.$emit('scroll');
  197. // #ifdef MP
  198. if (e.scrollTop > 50) {
  199. this.backgroundColor = '#fff';
  200. this.iconColor = '#333333'
  201. } else if (e.scrollTop < 50) {
  202. this.backgroundColor = '';
  203. this.iconColor = '#fff'
  204. }
  205. // #endif
  206. },
  207. methods: {
  208. //滚动
  209. touchStart() {
  210. this.$refs.navBarRef.currentPage = false;
  211. },
  212. //关闭弹窗
  213. onClose() {
  214. this.$refs.activate.close();
  215. },
  216. //记录跳转
  217. goToRecord() {
  218. uni.navigateTo({
  219. url: `/pages/activity/vip_order_record/index`
  220. });
  221. },
  222. //确认开通
  223. sureOrder() {
  224. this.isAgree = true;
  225. this.$refs.activate.close();
  226. this.handlerOpen();
  227. },
  228. //协议跳转
  229. userAgree() {
  230. goToAgreement('paid/member/agreement/info')
  231. },
  232. //权益跳转
  233. goToBenefits(currentIndex) {
  234. uni.navigateTo({
  235. url: `/pages/activity/vip_paid_benefits/index?currentIndex=${currentIndex}`
  236. });
  237. },
  238. //会员专享好物
  239. getProductMember() {
  240. uni.hideLoading();
  241. if (this.goodScroll) return;
  242. this.loading = true
  243. productMemberApi(
  244. this.params
  245. ).then((res) => {
  246. this.$set(this.params, 'page', this.params.page + 1);
  247. this.goodScroll = this.params.page > res.data.totalPage;
  248. this.recommendList = this.recommendList.concat(res.data.list || []);
  249. this.loading = false
  250. }).catch(err => {
  251. this.loading = false
  252. });
  253. },
  254. //会员信息
  255. getSvipInfo() {
  256. uni.hideLoading();
  257. svipInfoApi().then(res => {
  258. this.svipInfo = res.data;
  259. this.svip = this.svipInfo.cardList[0];
  260. }).catch(err => {
  261. uni.showToast({
  262. title: err,
  263. icon: 'none'
  264. });
  265. });
  266. },
  267. //会员权益
  268. getSvipBenefitsList() {
  269. uni.hideLoading();
  270. svipBenefitsListApi().then(res => {
  271. this.benefitsList = res.data;
  272. }).catch(err => {
  273. uni.showToast({
  274. title: err,
  275. icon: 'none'
  276. });
  277. });
  278. },
  279. //点击会员卡
  280. checkType(svip) {
  281. this.svip = svip;
  282. },
  283. //立即开通
  284. subOrder: Debounce(function(e) {
  285. if (!this.isAgree) return this.$refs.activate.open()
  286. this.handlerOpen();
  287. }),
  288. handlerOpen() {
  289. uni.showLoading({
  290. title: '正在提交中'
  291. });
  292. setTimeout(() => {
  293. uni.navigateTo({
  294. url: `/pages/goods/order_payment/index?orderNo=${this.svip.id}&payPrice=${this.svip.price}&fromType=svip`
  295. });
  296. uni.hideLoading();
  297. }, 1000)
  298. }
  299. }
  300. }
  301. </script>
  302. <style lang="scss" scoped>
  303. .icon-guanbi5 {
  304. top: 30rpx;
  305. right: 30rpx;
  306. color: #AAAAAA;
  307. }
  308. /deep/.list .texts {
  309. background-color: #fff;
  310. border-radius: 0 0 14rpx 14rpx;
  311. }
  312. .recommend-box {
  313. image {
  314. width: 42rpx;
  315. height: 36rpx;
  316. }
  317. view {
  318. font-weight: 600;
  319. }
  320. }
  321. .vipBox {
  322. padding-bottom: 172px;
  323. }
  324. .activate-box {
  325. padding: 40rpx;
  326. .btn {
  327. width: 520rpx;
  328. height: 72rpx;
  329. background: #E93323;
  330. border-radius: 43rpx 43rpx 43rpx 43rpx;
  331. font-family: PingFang SC, PingFang SC;
  332. font-weight: 400;
  333. font-size: 32rpx;
  334. color: #FFFFFF;
  335. line-height: 72rpx;
  336. text-align: center;
  337. }
  338. }
  339. /deep/uni-checkbox .uni-checkbox-wrapper {
  340. vertical-align: inherit !important;
  341. }
  342. .protocol_text {
  343. color: #D88D0E;
  344. }
  345. .isFirstChargeGive {
  346. height: 66rpx;
  347. line-height: 66rpx;
  348. background-repeat: no-repeat;
  349. background-size: 100% 100%;
  350. position: absolute;
  351. right: 20rpx;
  352. top: 34rpx;
  353. z-index: 9;
  354. color: #fff;
  355. padding: 0 30rpx 0 20rpx;
  356. }
  357. .checkbox {
  358. text-align: center;
  359. font-size: 24rpx;
  360. font-weight: 400;
  361. span {
  362. margin-left: 5rpx;
  363. }
  364. .icon-xuanzhong1 {
  365. color: #E93323;
  366. font-style: normal;
  367. }
  368. .iconfont {
  369. font-size: 36rpx;
  370. }
  371. }
  372. .vipPaid {
  373. background: linear-gradient(180deg, #141414 0%, #000000 100%);
  374. height: 900rpx;
  375. }
  376. .headerBg {
  377. position: absolute;
  378. top: 0;
  379. left: 0;
  380. width: 100%;
  381. height: 820rpx;
  382. background-position: right top;
  383. background-repeat: no-repeat;
  384. background-size: 566rpx 334rpx;
  385. }
  386. .paidMemberSize {
  387. width: 710rpx;
  388. height: 642rpx;
  389. background-size: 710rpx 642rpx;
  390. }
  391. .noMemberSize {
  392. width: 662rpx;
  393. height: 329rpx;
  394. background-size: 662rpx 329rpx;
  395. }
  396. .card-section {
  397. position: absolute;
  398. border-bottom-right-radius: 48rpx;
  399. z-index: 9;
  400. background-position: 0% 0%;
  401. background-repeat: no-repeat;
  402. .vip-paid {
  403. position: absolute;
  404. top: 40rpx;
  405. right: 52rpx;
  406. width: 228rpx;
  407. height: 328rpx;
  408. }
  409. .expect {
  410. padding: 32rpx 0 58rpx 36rpx;
  411. .image {
  412. display: block;
  413. width: 414rpx;
  414. height: 76rpx;
  415. }
  416. .mark {
  417. display: inline-flex;
  418. align-items: center;
  419. height: 48rpx;
  420. padding: 0 24rpx;
  421. border-radius: 24rpx;
  422. margin-top: 12rpx;
  423. background: linear-gradient(-270deg, #E7B667 0%, #FFEAB5 100%);
  424. font-size: 28rpx;
  425. line-height: 48rpx;
  426. color: #7E4B06;
  427. .number {
  428. margin: 0 8rpx;
  429. font-size: 36rpx;
  430. }
  431. }
  432. }
  433. .avatar-wrap {
  434. min-height: 236rpx;
  435. padding: 62rpx 0 0 40rpx;
  436. .text {
  437. flex: 1;
  438. font-size: 22rpx;
  439. line-height: 30rpx;
  440. color: #89735B;
  441. .shopName {
  442. max-width: 164rpx;
  443. }
  444. .name {
  445. display: inline-block;
  446. vertical-align: middle;
  447. font-weight: 500;
  448. font-size: 32rpx;
  449. line-height: 44rpx;
  450. background: linear-gradient(-270deg, #FACB7A 0%, #FFF3D5 100%);
  451. -webkit-background-clip: text;
  452. -webkit-text-fill-color: transparent;
  453. }
  454. }
  455. }
  456. .avatar {
  457. width: 88rpx;
  458. height: 88rpx;
  459. border-radius: 50%;
  460. margin-right: 20rpx;
  461. }
  462. .tips {
  463. margin-top: 6rpx;
  464. font-size: 22rpx;
  465. line-height: 30rpx;
  466. color: rgba(254, 227, 174, 0.8);
  467. }
  468. .info {
  469. margin-top: 74rpx;
  470. font-size: 24rpx;
  471. color: #AE5A2A;
  472. }
  473. .num {
  474. font-size: 36rpx;
  475. }
  476. .btn {
  477. width: 146rpx;
  478. height: 44rpx;
  479. border-radius: 22rpx;
  480. background-color: #FFFFFF;
  481. line-height: 44rpx;
  482. text-align: center;
  483. }
  484. }
  485. .bgColor {
  486. background-color: #1B1B1B;
  487. }
  488. .benefits-section {
  489. padding: 32rpx;
  490. width: 710rpx;
  491. height: 400rpx;
  492. border-radius: 24rpx;
  493. margin: 234rpx 20rpx 0 20rpx;
  494. position: relative;
  495. z-index: 97;
  496. .title {
  497. font-family: PingFang SC, PingFang SC;
  498. font-weight: 500;
  499. font-size: 30rpx;
  500. color: rgba(250, 204, 125, 0.8);
  501. line-height: 44rpx;
  502. }
  503. .text {
  504. color: rgba(255, 255, 255, 0.6);
  505. }
  506. .section-hd {
  507. padding: 32rpx 32rpx 36rpx;
  508. font-weight: 500;
  509. font-size: 30rpx;
  510. line-height: 44rpx;
  511. color: rgba(250, 204, 125, 0.8);
  512. .arrow {
  513. font-weight: 400;
  514. font-size: 24rpx;
  515. line-height: 34rpx;
  516. color: rgba(255, 255, 255, 0.6);
  517. }
  518. .iconfont {
  519. font-size: 24rpx;
  520. }
  521. }
  522. .section-bd {
  523. padding: 0 0 32rpx;
  524. .item {
  525. flex: 1;
  526. min-width: 0;
  527. }
  528. .image-wrap {
  529. position: relative;
  530. border-radius: 50%;
  531. margin: 0 auto;
  532. width: 88rpx;
  533. height: 88rpx;
  534. background: linear-gradient(180deg, rgba(255, 255, 255, 0.1) 2%, rgba(255, 255, 255, 0) 100%);
  535. border: 1rpx solid;
  536. .image-wrap-inner {
  537. width: 42rpx;
  538. height: 37rpx;
  539. }
  540. }
  541. .image-inner {
  542. height: 100%;
  543. border-radius: 50%;
  544. }
  545. .image {
  546. width: 100%;
  547. height: 100%;
  548. }
  549. .text {
  550. margin-top: 28rpx;
  551. text-align: center;
  552. color: rgba(255, 255, 255, 0.4);
  553. }
  554. .name {
  555. margin-bottom: 8rpx;
  556. color: rgba(255, 255, 255, 0.7);
  557. }
  558. }
  559. }
  560. .other-section {
  561. position: relative;
  562. border-top-left-radius: 48rpx;
  563. border-top-right-radius: 48rpx;
  564. background-color: #F5F5F5;
  565. margin-top: -68rpx;
  566. z-index: 98;
  567. }
  568. .type-section {
  569. padding: 0 20rpx 22rpx 20rpx;
  570. .type-section-inner {
  571. border-radius: 24rpx;
  572. background-color: #FFFFFF;
  573. padding-bottom: 32rpx;
  574. }
  575. .title {
  576. padding: 32rpx 32rpx 26rpx;
  577. border-radius: 24rpx 24rpx 0 0;
  578. background: linear-gradient(180deg, #FFEFCE 0%, #FFFFFF 100%);
  579. font-weight: bold;
  580. font-size: 32rpx;
  581. line-height: 44rpx;
  582. color: #333333;
  583. .bold {
  584. display: inline-block;
  585. margin-right: 14rpx;
  586. font-weight: bold;
  587. font-size: 32rpx;
  588. line-height: 45rpx;
  589. color: #333333;
  590. +view {
  591. display: inline-block;
  592. }
  593. }
  594. .time {
  595. margin-left: 14rpx;
  596. font-size: 24rpx;
  597. color: #AE5A2A;
  598. }
  599. .cash {
  600. font-weight: 400;
  601. font-size: 26rpx;
  602. line-height: 36rpx;
  603. color: rgba(217, 126, 29, 0.8);
  604. }
  605. }
  606. .scroll {
  607. white-space: nowrap;
  608. }
  609. .item {
  610. position: relative;
  611. display: inline-block;
  612. min-width: 220rpx;
  613. padding: 60rpx 6rpx;
  614. border: 1rpx solid #DDDDDD;
  615. border-radius: 24rpx;
  616. margin: 16rpx 24rpx 0 0;
  617. &:first-child {
  618. margin: 16rpx 24rpx 0 32rpx;
  619. }
  620. &:last-child {
  621. margin: 16rpx 32rpx 0 0;
  622. }
  623. &.on {
  624. border: 2rpx solid #D97E1D;
  625. background: linear-gradient(180deg, #FFFFFF 0%, #FEF5E6 100%);
  626. }
  627. .badge {
  628. position: absolute;
  629. top: 0;
  630. left: -2rpx;
  631. height: 44rpx;
  632. padding: 0 12rpx;
  633. border-radius: 22rpx 22rpx 22rpx 0;
  634. margin-top: -18rpx;
  635. background: linear-gradient(90deg, #FF7931 0%, #E93323 100%);
  636. font-size: 24rpx;
  637. line-height: 44rpx;
  638. color: #FFFFFF;
  639. }
  640. .name {
  641. text-align: center;
  642. font-weight: 500;
  643. font-size: 28rpx;
  644. line-height: 40rpx;
  645. color: #7E4B06;
  646. }
  647. .button {
  648. width: 142rpx;
  649. height: 52rpx;
  650. border-radius: 22rpx;
  651. margin: 18rpx auto 0;
  652. background-color: #FEE8BC;
  653. text-align: center;
  654. font-size: 22rpx;
  655. line-height: 52rpx;
  656. color: #333333;
  657. }
  658. }
  659. .new {
  660. margin-top: 28rpx;
  661. text-align: center;
  662. font-family: SemiBold;
  663. font-size: 36rpx;
  664. line-height: 62rpx;
  665. color: #333333;
  666. .num {
  667. font-size: 52rpx;
  668. }
  669. }
  670. .old {
  671. margin-top: 8rpx;
  672. text-decoration: line-through;
  673. text-align: center;
  674. font-size: 24rpx;
  675. line-height: 34rpx;
  676. color: #999999;
  677. }
  678. .info {
  679. margin-top: 4rpx;
  680. text-align: center;
  681. font-size: 24rpx;
  682. line-height: 34rpx;
  683. color: #999999;
  684. }
  685. .agree {
  686. font-size: 22rpx;
  687. text-align: center;
  688. color: #797979;
  689. .link {
  690. display: inline-block;
  691. }
  692. .mark {
  693. color: #AE5A2A;
  694. }
  695. }
  696. }
  697. .footer-placeholder {
  698. height: 208rpx;
  699. height: calc(208rpx + constant(safe-area-inset-bottom));
  700. height: calc(208rpx + env(safe-area-inset-bottom));
  701. }
  702. .footer {
  703. position: fixed;
  704. bottom: 0;
  705. left: 0;
  706. width: 100%;
  707. padding: 22rpx 20rpx;
  708. padding-bottom: calc(22rpx + constant(safe-area-inset-bottom));
  709. padding-bottom: calc(22rpx + env(safe-area-inset-bottom));
  710. background-color: #FFFFFF;
  711. z-index: 9;
  712. .text {
  713. flex: 1;
  714. height: 108rpx;
  715. padding-left: 48rpx;
  716. border-radius: 54rpx 0 0 54rpx;
  717. background-color: #222222;
  718. font-size: 28rpx;
  719. color: #FACC7D;
  720. }
  721. .symbol {
  722. font-weight: 600;
  723. font-size: 32rpx;
  724. }
  725. .number {
  726. font-size: 48rpx;
  727. }
  728. .original {
  729. margin-left: 16rpx;
  730. text-decoration: line-through;
  731. font-size: 24rpx;
  732. color: rgba(255, 255, 255, 0.4);
  733. }
  734. .buy {
  735. position: relative;
  736. width: 266rpx;
  737. height: 108rpx;
  738. border-radius: 0 54rpx 54rpx 0;
  739. background: linear-gradient(to right, #FFDD9C, #EEA82F);
  740. font-weight: 500;
  741. font-size: 32rpx;
  742. color: #7E4B06;
  743. &::before {
  744. content: "";
  745. position: absolute;
  746. top: 0;
  747. left: 0;
  748. border-width: 54rpx 20rpx;
  749. border-style: solid;
  750. border-color: #222222 transparent transparent #222222;
  751. }
  752. }
  753. }
  754. .coupon-section {
  755. border-radius: 24rpx;
  756. margin: 0 20rpx;
  757. background-color: #FFFFFF;
  758. .section-hd {
  759. padding: 32rpx 32rpx 24rpx;
  760. font-weight: bold;
  761. font-size: 32rpx;
  762. line-height: 44rpx;
  763. color: #333333;
  764. .link {
  765. font-weight: 400;
  766. font-size: 26rpx;
  767. line-height: 36rpx;
  768. color: #666666;
  769. .iconfont {
  770. font-size: 24rpx;
  771. }
  772. }
  773. }
  774. .section-bd {
  775. padding-bottom: 24rpx;
  776. white-space: nowrap;
  777. .item {
  778. position: relative;
  779. display: inline-block;
  780. width: 151rpx;
  781. padding: 0 6rpx;
  782. border-radius: 24rpx;
  783. margin: 20rpx 14rpx 0 0;
  784. background-color: #E0A558;
  785. &:first-child {
  786. margin-left: 32rpx;
  787. }
  788. .inner {
  789. padding-bottom: 76rpx;
  790. border: 2rpx solid #FFEDCA;
  791. border-radius: 12rpx;
  792. margin-top: -20rpx;
  793. background-color: #FFFFFF;
  794. .type {
  795. width: 96rpx;
  796. height: 38rpx;
  797. border-radius: 0 0 12rpx 12rpx;
  798. background-color: rgba(224, 165, 88, 0.2);
  799. margin: 0 auto;
  800. text-align: center;
  801. font-size: 20rpx;
  802. line-height: 38rpx;
  803. color: #333333;
  804. }
  805. }
  806. &.gray {
  807. background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAWgAAACUCAMAAACJHEMxAAAAeFBMVEUAAAC/v7/f39/V1dXf39/c3Nzh4eHc3Nze3t7a2tre3t7f39/e3t7d3d3e3t7d3d3f39/e3t7e3t7e3t7d3d3e3t7e3t7d3d3d3d3e3t7d3d3e3t7f39/h4eHi4uLn5+fo6Ojp6enq6urs7Ozu7u7v7+/w8PDx8fEswD7yAAAAG3RSTlMABAgMECQrLC8we4+Tl6uvr7/Dz9PT5+vz9/vtB+63AAADZElEQVR42u3Zy3baMBSFYbmmsaFuIRcKxdixi5He/w0LGJtLljrA1mby7xFZyehbyjkS25hD0uzjT06CZP2RpabNt59wBM0mi47O0RsUofN6lM5wCJ/MmOkGBsH0SDjQqiO9BEGRd5NEcTJbIREuv2dJHCXtDW+yuPlVUTfWkYdim6q4wfw1Mde5lq5QHmZdXWEuzG0ml+mxc7Yut/zLP5Zt+de63WVuTO6gzaz7Ve32BV5DUuxdf6Zn985m2v2VszgPlba9YfIFOu4PdIXU0NSuPn+KvdCN40APTukaL3Q3OqzDaXic9Y6Obhk6oMeAdr5l2F/vgB4VenV/vZvnQIeAzue353meAx0GOp+fz3Qaxen1l0pAjwydr2ZpHKXmf39CxoBuAzTQQBOggQZ6etcZAj029KkznH7pDIEeGdrXGQI9LvSCL5Uk0P7OEOhRof2dIdCjQvs7Q6BHhY6BfhY0o0M0OliGmmXI9S4MNJ2h6sFCZ6h6gtMZiqDpDFXQbYAGGmgCNNBA0xmGhqYz1EDTGWqg6Qw10HSGImg6QxE0naEIms7wadCMDtHoYBlqliHXuzDQdIaqBwudoeoJTmcogqYzVEG3ARpooAnQQANNZxgams5QA01nqIGmM9RA0xmKoOkMRdB0hiJoOsOnQTM6RKODZahZhlzvwkDTGaoeLHSGqic4naEIms5QBd0GaKCBJkADDTSdYWhoOkMNNJ2hBprOUANNZyiCpjMUQdMZiqDpDJ8GzegQjQ6WoWYZcr0LA01nqHqw0BmqnuB0hiJoOkMVdBuggQaaAA000HSGoaHpDDXQdIYaaDpDDTSdoQiazlAETWcogqYzfBo0o0M0OliGmmXI9S4MNJ2h6sFCZ6h6gtMZiqDpDFXQbYAGGmgCNNBA0xmGhqYz1EDTGWqg6Qw10HSGImh/Z2iBHgPanj/4O8PGlTgNTema8yd/Z1i7CqihqXpEf2dYOFsgNSyFdYV3dHTL8HCk90gPc967Ovctw8nlcbhz9rPc4vVYtuWndbv+R39neJww1pEBsddbztsZns5+3WD9qHJT3U7erjN8uesMydg5dYYvZomEIu8mA0GRzEw3KITP5nCf5khLDrQx0RsOofMaHe8dEWc68NzIou57jmy5xiNM1ssf34/G/wD2nqj2ECBXfgAAAABJRU5ErkJggg==");
  808. .btn {
  809. color: #9F9F9F;
  810. }
  811. .money {
  812. color: #fff;
  813. .num {
  814. color: #fff;
  815. }
  816. }
  817. .name {
  818. color: #fff;
  819. }
  820. .text {
  821. color: #9F9F9F;
  822. }
  823. .mark {
  824. color: #A8A8A8;
  825. }
  826. }
  827. .btn {
  828. width: 52rpx;
  829. padding-right: 14rpx;
  830. padding-left: 14rpx;
  831. white-space: pre-wrap;
  832. font-size: 24rpx;
  833. color: #5D3324;
  834. }
  835. .text {
  836. position: absolute;
  837. bottom: 0;
  838. left: 0;
  839. width: 100%;
  840. height: 76rpx;
  841. padding-top: 30rpx;
  842. background-image: url("data:image/png;base64,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");
  843. background-repeat: no-repeat;
  844. background-size: 100% 100%;
  845. }
  846. .name {
  847. overflow: hidden;
  848. white-space: nowrap;
  849. text-overflow: ellipsis;
  850. font-weight: bold;
  851. font-size: 28rpx;
  852. line-height: 40rpx;
  853. color: #5D3324;
  854. }
  855. .mark {
  856. text-align: center;
  857. font-weight: 500;
  858. font-size: 22rpx;
  859. line-height: 30rpx;
  860. color: rgba(250, 204, 125, 0.8);
  861. }
  862. .money {
  863. margin-top: 16rpx;
  864. text-align: center;
  865. font-weight: 500;
  866. font-size: 28rpx;
  867. line-height: 44rpx;
  868. color: #E0A558;
  869. }
  870. .num {
  871. font-family: SemiBold;
  872. font-size: 44rpx;
  873. }
  874. }
  875. }
  876. }
  877. .recommend /deep/ .fw-500 {
  878. font-weight: bold;
  879. }
  880. </style>