index.vue 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778
  1. <template>
  2. <view class="container">
  3. <view class="carousel-section">
  4. <!-- 背景色区域 -->
  5. <view class="bg"><image src="../../static/index/index13.png" mode=""></image></view>
  6. <!-- 标题栏和状态栏占位符 -->
  7. <view class="titleNview-placing"></view>
  8. <!-- 搜素栏 -->
  9. <view class="search flex">
  10. <image src="../../static/index/index09.png" class="address"></image>
  11. <!-- <view class="shop-name clamp" @click.stop="canChange == 0?nav('/pages/shoping/list'):''">{{ storeInfo.name }}</view> -->
  12. <view class="shop-name clamp">椒江区</view>
  13. <image class="shop-jt" src="../../static/index/index07.png" mode=""></image>
  14. <view class="input-box flex" @click.stop="clickSearch">
  15. <view class=" input-content flex">
  16. <view class="iconfont iconsearch"></view>
  17. <view class="input"><input type="text" disabled value="输入关键字搜索" /></view>
  18. </view>
  19. </view>
  20. </view>
  21. <swiper class="carousel" autoplay="true" duration="400" interval="5000" @change="swiperChange" :indicator-dots="true" indicator-active-color="#FFFFFF">
  22. <!-- <swiper class="carousel" autoplay="true" duration="400" interval="5000"> -->
  23. <swiper-item v-for="(item, index) in carouselList" :key="index" class="carousel-item">
  24. <image :src="item.pic" mode="aspectFill" @click="bannerNavToUrl(item)"></image>
  25. </swiper-item>
  26. </swiper>
  27. </view>
  28. <view class="navbar">
  29. <view class="navbar-box flex">
  30. <view class="navbar-item" @click="navTo('/pages/index/sign')">
  31. <image class="nitem-image" src="../../static/index/index05.png" mode=""></image>
  32. <view class="nitem-font">天天领红包</view>
  33. </view>
  34. <view class="navbar-item" @click="navTo('')">
  35. <image class="nitem-image" src="../../static/index/index04.png" mode=""></image>
  36. <view class="nitem-font">积分商城</view>
  37. </view>
  38. <view class="navbar-item" @click="navTo('')">
  39. <image class="nitem-image" src="../../static/index/index03.png" mode=""></image>
  40. <view class="nitem-font">公益</view>
  41. </view>
  42. <view class="navbar-item" @click="navTo('/pages/user/shareQrCode')">
  43. <image class="nitem-image" src="../../static/index/index02.png" mode=""></image>
  44. <view class="nitem-font">邀请有礼</view>
  45. </view>
  46. <view class="navbar-item" @click="navTo('')">
  47. <image class="nitem-image" src="../../static/index/index01.png" mode=""></image>
  48. <view class="nitem-font">话费充值</view>
  49. </view>
  50. </view>
  51. </view>
  52. <view class="product-box" v-if="bastList.length != 0">
  53. <view class="product-title">
  54. <image class="pt-image" src="../../static/index/index15.png" mode=""></image>
  55. <view class="pt-title">会员礼包</view>
  56. <view class="pt-tip">每日必买</view>
  57. </view>
  58. <view class="hotgoods">
  59. <view class="hotgoods-item" v-for="item in bastList" :key="item.id" @click="navToDetailPage(item)">
  60. <view class="image-wrapper"><image :src="item.image" mode="scaleToFill"></image></view>
  61. <view class="title clamp2">{{ item.store_name }}</view>
  62. <view class="hot-price">
  63. <view class="hotPrice-box">会员价</view>
  64. <view class="price">
  65. <text class="font-size-sm">¥</text>
  66. {{ item.price * 1 }}
  67. </view>
  68. <view class="yuanPrice">{{ item.ot_price }}</view>
  69. </view>
  70. </view>
  71. </view>
  72. </view>
  73. <view class="shop" v-if="shoplist.length != 0">
  74. <view class="shop-title">
  75. <view class="shop-item">
  76. <view class="sitem-font">智能排序</view>
  77. <image class="jt-down" src="../../static/index/index06.png" mode=""></image>
  78. </view>
  79. <view class="shop-item">
  80. <view class="sitem-font">位置距离</view>
  81. <image class="jt-down" src="../../static/index/index06.png" mode=""></image>
  82. </view>
  83. <view class="shop-item">
  84. <view class="sitem-font">折扣优惠</view>
  85. <image class="jt-down" src="../../static/index/index06.png" mode=""></image>
  86. </view>
  87. <view class="shop-item">
  88. <view class="sitem-font">筛选</view>
  89. <image class="jt-down" src="../../static/index/index06.png" mode=""></image>
  90. </view>
  91. </view>
  92. <view class="shop-main flex" v-for="(item, index) in shoplist" :key="index">
  93. <image class="main-left" src="../../static/index/index13.png" mode=""></image>
  94. <view class="main-right flex">
  95. <view class="shopm-info">
  96. <view class="shopm-title">
  97. <view class="shopmt-font clamp">李家烤肉11111111111111111111111111111111111111111111</view>
  98. <view class="shopmt-good">荐</view>
  99. </view>
  100. <view class="address">椒江区市府大道200号</view>
  101. <view class="shopmt-tip">消费最高可得10%积分</view>
  102. </view>
  103. <view class="right">
  104. <view class="mright-top">
  105. <image class="mrt-image" src="../../static/index/index10.png" mode=""></image>
  106. <view class="mrt-font">距离0.3KM</view>
  107. </view>
  108. <view class="mright-bottom">
  109. <image class="mrb-item" src="../../static/index/index14.png" mode=""></image>
  110. <image class="mrb-item" src="../../static/index/index11.png" mode=""></image>
  111. </view>
  112. </view>
  113. </view>
  114. </view>
  115. </view>
  116. <u-tabbar activeColor="#EE0979" v-model="current" :list="tabbar" :mid-button="true"></u-tabbar>
  117. </view>
  118. </template>
  119. <script>
  120. import { lookSubpoints, lookOneself } from '../../api/user.js';
  121. import seckill from '../../components/seckill/seckill.vue';
  122. import { loadIndexs } from '@/api/index.js';
  123. import { getUserInfo, spread } from '@/api/user.js';
  124. import { setCoupons } from '@/api/functionalUnit.js';
  125. import { getBargainList } from '@/api/product.js';
  126. import { interceptor } from '@/utils/loginUtils';
  127. import { mapState, mapMutations } from 'vuex';
  128. import { tabbar } from '@/utils/tabbar.js';
  129. // #ifdef H5
  130. import { weixindata } from '@/utils/wxAuthorized';
  131. // #endif
  132. export default {
  133. components: {
  134. seckill
  135. },
  136. data() {
  137. return {
  138. tabbar: tabbar,
  139. current: 0,
  140. shareShow: false, //分享海报
  141. pageProportion: 0, //保存页面基于750宽度的比例
  142. swiperHeight: 0,
  143. checkid: 0,
  144. titleNViewBackground: '',
  145. longitude: 0, //经度
  146. latitude: 0, //纬度
  147. swiperCurrent: 0,
  148. swiperLength: 0,
  149. carouselList: [], //轮播列表
  150. bastList: [], //会员礼包
  151. shoplist: [], //商店列表
  152. page: 1,
  153. limit: 5,
  154. };
  155. },
  156. computed: {
  157. ...mapState(['loginInterceptor']),
  158. ...mapState('user', ['hasLogin', 'userInfo'])
  159. },
  160. onLoad: function(option) {
  161. this.getaddress();
  162. // #ifdef MP
  163. if (option.scene) {
  164. // 存储小程序邀请人
  165. uni.setStorage({
  166. key: 'spread_code',
  167. data: option.scene
  168. });
  169. }
  170. // #endif
  171. },
  172. onShow: function() {
  173. // 判断是否强制登录
  174. if (this.loginInterceptor && !this.hasLogin) {
  175. // 登录拦截
  176. interceptor();
  177. }
  178. this.loadData();
  179. this.getBargainList();
  180. },
  181. //下拉刷新
  182. onPullDownRefresh() {
  183. this.loadData();
  184. },
  185. // #ifndef MP
  186. // 监听导航栏输入框点击事件
  187. onNavigationBarSearchInputClicked(e) {
  188. //跳转到搜索页面
  189. this.clickSearch();
  190. },
  191. //点击导航栏 buttons 时触发
  192. onNavigationBarButtonTap(e) {
  193. const index = e.index;
  194. if (index === 0) {
  195. this.$api.msg('点击了扫描');
  196. } else if (index === 1) {
  197. // #ifdef APP-PLUS
  198. const pages = getCurrentPages();
  199. const page = pages[pages.length - 1];
  200. const currentWebview = page.$getAppWebview();
  201. currentWebview.hideTitleNViewButtonRedDot({
  202. index
  203. });
  204. // #endif
  205. uni.navigateTo({
  206. url: '/pages/user/notice'
  207. });
  208. }
  209. },
  210. // #endif
  211. methods: {
  212. ...mapMutations(['setLat', 'setLon']),
  213. getaddress() {
  214. console.log('dizhi+++++++++++');
  215. let obj = this;
  216. // uni.getLocation({
  217. // type: 'gcj02',
  218. // success: res => {
  219. // console.log(res, 123456);
  220. // obj.setLat(res.latitude);
  221. // obj.setLon(res.longitude);
  222. // },
  223. // fail: err => {
  224. // console.log(err, 'shi+++++++++++++++');
  225. // openMap().then(e => {
  226. // this.getaddress();
  227. // });
  228. // }
  229. // });
  230. weixindata().then(wxOjb => {
  231. console.log(wxOjb,'获取微信');
  232. wxOjb.getLocation({
  233. type: 'gcj02',
  234. success: res => {
  235. console.log(res, 123456);
  236. obj.setLat(res.latitude);
  237. obj.setLon(res.longitude);
  238. },
  239. fail: err => {
  240. console.log(err, 'shi+++++++++++++++');
  241. openMap().then(e => {
  242. this.getaddress();
  243. });
  244. }
  245. });
  246. });
  247. },
  248. //砍价商品推荐详情页
  249. navToDetailPages(item) {
  250. let id = item.product_id;
  251. //let type = 2;
  252. uni.navigateTo({
  253. url: '/pages/product/product?id=' + id
  254. });
  255. },
  256. navTo(url) {
  257. if (url == '') {
  258. this.$api.msg('暂未开通,敬请期待');
  259. } else {
  260. uni.navigateTo({
  261. url
  262. });
  263. }
  264. },
  265. openSubscribe: function(e) {
  266. let page = e;
  267. // #ifndef MP
  268. uni.navigateTo({
  269. url: page
  270. });
  271. // #endif
  272. // #ifdef MP
  273. uni.showLoading({
  274. title: '正在加载'
  275. });
  276. openBargainSubscribe()
  277. .then(res => {
  278. uni.hideLoading();
  279. uni.navigateTo({
  280. url: page
  281. });
  282. })
  283. .catch(err => {
  284. uni.hideLoading();
  285. });
  286. // #endif
  287. },
  288. getBargainList() {
  289. let that = this;
  290. getBargainList({
  291. page: that.page,
  292. limit: that.limit
  293. })
  294. .then(function(res) {
  295. that.$set(that, 'bargainlist', res.data.slice(0, 2));
  296. })
  297. .catch(res => {
  298. console.log(res, 'getBargainList');
  299. });
  300. },
  301. Mask() {
  302. this.MaskShow = false;
  303. this.shareShow = true;
  304. uni.setStorage({
  305. key: 'FirstEntry',
  306. data: true,
  307. success: function() {
  308. console.log(uni.getStorageSync('FirstEntry'), 'Mask');
  309. }
  310. });
  311. },
  312. Toshare() {
  313. if (this.userInfo == '') {
  314. getUserInfo({})
  315. .then(({ data }) => {
  316. this.setUserInfo(data);
  317. this.userInfo = data;
  318. })
  319. .catch(e => {});
  320. } else {
  321. this.shareShow = false;
  322. uni.navigateTo({
  323. url: '/pages/user/shareQrCode?spread=' + this.userInfo.uid
  324. });
  325. }
  326. },
  327. Tocancel() {
  328. this.shareShow = false;
  329. },
  330. // 监听切换事件
  331. listChange(e) {
  332. this.checkid = e.detail.current;
  333. },
  334. // 點擊搜索框
  335. clickSearch() {
  336. uni.navigateTo({
  337. url: '/pages/product/search'
  338. });
  339. },
  340. // 点击触发领取优惠券
  341. setCoupons(item) {
  342. // 判断是否已经领取了优惠券
  343. let obj = this;
  344. uni.showModal({
  345. title: '领取提示',
  346. content: '是否领取优惠券',
  347. success(e) {
  348. if (e.confirm) {
  349. setCoupons({
  350. couponId: item.id
  351. }).then(e => {
  352. item.is_use = true;
  353. uni.showToast({
  354. title: '领取成功',
  355. type: 'top',
  356. duration: 2000
  357. });
  358. });
  359. }
  360. }
  361. });
  362. },
  363. //商品种类切换
  364. change(item) {
  365. let id = item;
  366. this.checkid = id;
  367. if (this.checkid == 1) {
  368. // console.log(1);
  369. this.detail = this.selected_detail;
  370. } else if (this.checkid == 2) {
  371. // console.log(2);
  372. this.detail = this.new_product;
  373. } else {
  374. this.detail = this.cheap_good;
  375. }
  376. },
  377. // 监听图片加载完成
  378. onImageError(key, index) {
  379. this[key][index].image = '/static/error/errorImage.jpg';
  380. },
  381. // 请求载入数据
  382. async loadData() {
  383. loadIndexs({})
  384. .then(({ data }) => {
  385. let goods = data.info;
  386. this.carouselList = data.banner;
  387. this.swiperLength = this.carouselList.length;
  388. this.bastList = data.giftInfo; //会员礼包
  389. uni.stopPullDownRefresh();
  390. })
  391. .catch(e => {
  392. uni.stopPullDownRefresh();
  393. });
  394. },
  395. //轮播图切换修改背景色
  396. swiperChange(e) {
  397. const index = e.detail.current;
  398. this.swiperCurrent = index;
  399. this.titleNViewBackground = this.carouselList[index].background;
  400. },
  401. //详情页
  402. navToDetailPage(item) {
  403. let id = item.id;
  404. uni.navigateTo({
  405. url: '/pages/product/product?id=' + id + '&isVip=1'
  406. });
  407. },
  408. // 轮播图跳转
  409. bannerNavToUrl(item) {
  410. // #ifdef H5
  411. if (item.wap_url.indexOf('http') > 0) {
  412. window.location.href = item.wap_url;
  413. }
  414. // #endif
  415. //测试数据没有写id,用title代替
  416. uni.navigateTo({
  417. url: item.wap_url
  418. });
  419. }
  420. }
  421. };
  422. </script>
  423. <style lang="scss">
  424. .carousel-section {
  425. position: relative;
  426. padding-top: 10px;
  427. .bg {
  428. position: absolute;
  429. top: 0;
  430. left: 0;
  431. width: 750rpx;
  432. height: 378rpx;
  433. image {
  434. width: 100%;
  435. height: 100%;
  436. }
  437. }
  438. .titleNview-placing {
  439. height: var(--status-bar-height);
  440. box-sizing: content-box;
  441. }
  442. .search {
  443. justify-content: flex-start;
  444. padding: 10rpx 32rpx 20rpx;
  445. align-items: center;
  446. .address {
  447. width: 32rpx;
  448. height: 38rpx;
  449. }
  450. .shop-name {
  451. height: 38rpx;
  452. position: relative;
  453. top: -4rpx;
  454. z-index: 100;
  455. font-size: 30rpx;
  456. font-family: PingFang SC;
  457. font-weight: 500;
  458. color: #ffffff;
  459. padding-left: 10rpx;
  460. }
  461. .shop-jt {
  462. margin-left: 8rpx;
  463. width: 16rpx;
  464. height: 10rpx;
  465. }
  466. .input-box {
  467. margin-left: 10rpx;
  468. position: relative;
  469. z-index: 99;
  470. width: 520rpx;
  471. height: 60rpx;
  472. background: rgba(255, 255, 255, 0.4);
  473. border-radius: 30rpx;
  474. .input-content {
  475. position: relative;
  476. z-index: 11;
  477. border-radius: 99rpx;
  478. flex-grow: 1;
  479. padding: 5rpx 30rpx;
  480. background: rgba(255, 255, 255, 0.4);
  481. .iconsearch {
  482. font-size: 50rpx;
  483. color: #ffffff;
  484. }
  485. .input {
  486. margin-left: 19rpx;
  487. flex-grow: 1;
  488. color: #ffffff;
  489. input {
  490. font-size: 28rpx;
  491. color: #ffffff;
  492. }
  493. }
  494. }
  495. .input-button {
  496. padding-left: 20rpx;
  497. font-size: $font-base;
  498. height: 100%;
  499. }
  500. }
  501. }
  502. }
  503. .carousel {
  504. position: relative;
  505. z-index: 3;
  506. width: 100%;
  507. height: 360rpx;
  508. .carousel-item {
  509. width: 100%;
  510. height: 100%;
  511. padding: 0 28rpx;
  512. overflow: hidden;
  513. }
  514. image {
  515. width: 100%;
  516. height: 100%;
  517. border-radius: $border-radius-sm;
  518. }
  519. }
  520. .navbar {
  521. position: relative;
  522. z-index: 2;
  523. margin-top: -200rpx;
  524. width: 750rpx;
  525. height: 462rpx;
  526. background: #ffffff;
  527. border-radius: 40rpx;
  528. .navbar-box {
  529. padding-top: 250rpx;
  530. .navbar-item {
  531. display: flex;
  532. flex-direction: column;
  533. align-items: center;
  534. width: 20%;
  535. .nitem-image {
  536. width: 98rpx;
  537. height: 98rpx;
  538. }
  539. .nitem-font {
  540. margin-top: 22rpx;
  541. font-size: 26rpx;
  542. font-family: PingFang SC;
  543. font-weight: 500;
  544. color: #000000;
  545. }
  546. }
  547. }
  548. }
  549. .product-box {
  550. margin-top: 20rpx;
  551. background: #ffffff;
  552. padding: 26rpx 30rpx 20rpx;
  553. .product-title {
  554. display: flex;
  555. align-items: center;
  556. .pt-image {
  557. width: 36rpx;
  558. height: 36rpx;
  559. }
  560. .pt-title {
  561. margin-left: 8rpx;
  562. font-size: 32rpx;
  563. font-family: PingFang SC;
  564. font-weight: bold;
  565. color: #333333;
  566. }
  567. .pt-tip {
  568. margin-left: 16rpx;
  569. font-size: 20rpx;
  570. font-family: PingFang SC;
  571. font-weight: bold;
  572. color: #95a0b1;
  573. }
  574. }
  575. .hotgoods {
  576. margin-top: 38rpx;
  577. width: 100%;
  578. display: flex;
  579. flex-wrap: wrap;
  580. padding: 0 0 30rpx;
  581. .hotgoods-item {
  582. width: 48%;
  583. background-color: #ffffff;
  584. border-radius: 12rpx;
  585. &:nth-child(2n + 1) {
  586. margin-right: 24rpx;
  587. }
  588. .image-wrapper {
  589. width: 100%;
  590. height: 330rpx;
  591. border-radius: 3px;
  592. overflow: hidden;
  593. image {
  594. width: 100%;
  595. height: 100%;
  596. opacity: 1;
  597. border-radius: 12rpx 12rpx 0 0;
  598. }
  599. }
  600. .title {
  601. margin-top: 24rpx;
  602. font-size: 28rpx;
  603. font-family: PingFang SC;
  604. font-weight: 500;
  605. color: #333333;
  606. }
  607. .hot-price {
  608. display: flex;
  609. justify-content: flex-start;
  610. align-items: center;
  611. padding: 14rpx 0 30rpx;
  612. .hotPrice-box {
  613. width: 70rpx;
  614. height: 28rpx;
  615. background: linear-gradient(90deg, #c79a4c, #f9df7f);
  616. border-radius: 5rpx;
  617. text-align: center;
  618. line-height: 28rpx;
  619. font-size: 20rpx;
  620. font-family: Source Han Sans CN;
  621. font-weight: 400;
  622. color: #ffffff;
  623. }
  624. .price {
  625. margin-left: 10rpx;
  626. font-size: 40rpx;
  627. color: #ff0000;
  628. font-weight: 500;
  629. }
  630. .yuanPrice {
  631. margin-left: 10rpx;
  632. font-size: 20rpx;
  633. font-family: PingFang SC;
  634. font-weight: 500;
  635. text-decoration: line-through;
  636. color: #999999;
  637. }
  638. .cart-icon {
  639. image {
  640. width: 44rpx;
  641. height: 44rpx;
  642. }
  643. }
  644. }
  645. }
  646. }
  647. }
  648. .shop {
  649. margin-top: 20rpx;
  650. background: #ffffff;
  651. padding: 0 12rpx;
  652. .shop-title {
  653. padding: 30rpx 0 20rpx;
  654. display: flex;
  655. align-items: center;
  656. border-bottom: 1px solid #e3e6e7;
  657. .shop-item {
  658. width: 25%;
  659. display: flex;
  660. align-items: center;
  661. justify-content: center;
  662. .sitem-font {
  663. font-size: 26rpx;
  664. font-family: PingFang SC;
  665. font-weight: bold;
  666. color: #333333;
  667. }
  668. .jt-down {
  669. width: 10rpx;
  670. height: 8rpx;
  671. margin-left: 12rpx;
  672. }
  673. }
  674. }
  675. .shop-main {
  676. padding: 32rpx 18rpx 0 12rpx;
  677. align-items: flex-start;
  678. justify-content: flex-start;
  679. .main-left {
  680. width: 180rpx;
  681. height: 180rpx;
  682. border-radius: 10rpx;
  683. }
  684. .main-right {
  685. width: 500rpx;
  686. justify-content: space-between;
  687. align-items: flex-start;
  688. margin-left: 20rpx;
  689. padding: 13rpx 0 35rpx;
  690. border-bottom: 1px solid #eaeced;
  691. .shopm-info {
  692. max-width: 60%;
  693. line-height: 1;
  694. .shopm-title {
  695. display: flex;
  696. justify-content: flex-start;
  697. .shopmt-font {
  698. font-size: 34rpx;
  699. font-family: PingFang SC;
  700. font-weight: bold;
  701. color: #333333;
  702. }
  703. .shopmt-good {
  704. margin-left: 6rpx;
  705. width: 30rpx;
  706. height: 30rpx;
  707. border: 1px solid #ff4c4c;
  708. border-radius: 5rpx;
  709. font-size: 20rpx;
  710. font-family: PingFang SC;
  711. font-weight: 500;
  712. color: #ff4c4c;
  713. text-align: center;
  714. line-height: 30rpx;
  715. }
  716. }
  717. .address {
  718. margin-top: 16rpx;
  719. font-size: 24rpx;
  720. font-family: PingFang SC;
  721. font-weight: 500;
  722. color: #666666;
  723. }
  724. .shopmt-tip {
  725. position: relative;
  726. margin-top: 52rpx;
  727. padding: 8rpx;
  728. background: #fcf3f0;
  729. border-radius: 16rpx 16rpx 16rpx 0px;
  730. font-size: 20rpx;
  731. font-family: PingFang SC;
  732. font-weight: 500;
  733. color: #ff440d;
  734. }
  735. }
  736. .right {
  737. height: 100%;
  738. margin-top: 5rpx;
  739. display: flex;
  740. flex-direction: column;
  741. .mright-top {
  742. display: flex;
  743. justify-content: flex-end;
  744. align-items: center;
  745. .mrt-image {
  746. width: 20rpx;
  747. height: 28rpx;
  748. }
  749. .mrt-font {
  750. margin-left: 8rpx;
  751. font-size: 22rpx;
  752. font-family: PingFang SC;
  753. font-weight: 500;
  754. color: #666666;
  755. }
  756. }
  757. .mright-bottom {
  758. margin-top: 80rpx;
  759. display: flex;
  760. justify-content: flex-end;
  761. .mrb-item {
  762. width: 46rpx;
  763. height: 46rpx;
  764. margin-left: 14rpx;
  765. }
  766. }
  767. }
  768. }
  769. }
  770. }
  771. </style>