openMember.vue 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929
  1. <template>
  2. <view class="conter">
  3. <view class="top">
  4. <view class="bg">
  5. <view class="bg-item">
  6. </view>
  7. </view>
  8. <view class="card">
  9. <view class="opennow">
  10. 立即开通
  11. </view>
  12. <view class="card-top flex">
  13. <view class="avtur"><image :src="userInfo.avatar || '/static/error/missing-face.png'" mode=""></image></view>
  14. <view class="main">
  15. <view class="name">{{ userInfo.nickname }}</view>
  16. <view class="tip" v-if="userInfo.pay_valid_time == null">尚未开通会员</view>
  17. <view class="tip" v-else>
  18. <text v-if="type">离会员到期仅剩{{ day }}天</text>
  19. <text else>会员已过期</text>
  20. </view>
  21. </view>
  22. </view>
  23. <view class="bottom flex" style="z-index: 9; margin-top: 94rpx;">
  24. <view class="font">
  25. <view class="font-title">会员卡</view>
  26. <view class="font-tip">¥500/永久 终身付费会员</view>
  27. </view>
  28. </view>
  29. </view>
  30. </view>
  31. <view class="vip">
  32. <view class="system-title">
  33. <view class="img" style="margin-right: 45rpx;"><image class="img" src="../../static/img/vip-left.png"></image></view>
  34. <view class="title">会员特权</view>
  35. <view class="img" style="margin-left: 45rpx;"><image class="img" src="../../static/img/vip-right.png"></image></view>
  36. </view>
  37. <view class="item-box flex">
  38. <view class="item" v-for="(item, index) in viplist" :key="index">
  39. <image :src="item.pic" mode=""></image>
  40. <view class="item-title">{{ item.title }}</view>
  41. <view class="item-tip">{{ item.tip }}</view>
  42. </view>
  43. </view>
  44. </view>
  45. <view class="vip">
  46. <view class="system-title">
  47. <view class="img" style="margin-right: 45rpx;"><image class="img" src="../../static/img/vip-left.png"></image></view>
  48. <view class="title">会员特权</view>
  49. <view class="img" style="margin-left: 45rpx;"><image class="img" src="../../static/img/vip-right.png"></image></view>
  50. </view>
  51. <view class="money-box flex">
  52. <view class="money" v-for="(item, index) in 3" @click="changevip(item, index)" :class="{ current: index == choose }">
  53. <view class="money-name">会员</view>
  54. <view class="now-money">
  55. <text>500</text>
  56. </view>
  57. <view class="bf-money">¥600</view>
  58. <view class="money-tip" :class="{ moneyc: index == choose }">
  59. <image src="../../static/img/good.png" mode=""></image>
  60. 专属折扣
  61. </view>
  62. </view>
  63. </view>
  64. </view>
  65. <view class="box-buttom">
  66. <view class="price-left">
  67. <text class="entrepreneurship">
  68. 开通前请阅读
  69. <text>《会员服务协议》</text>
  70. </text>
  71. </view>
  72. <view class="price-right" @click="submit">马上开通</view>
  73. </view>
  74. <uni-popup ref="popupPay" type="bottom">
  75. <view class="popup-box">
  76. <view class="popup-pay">
  77. <view class="paybox-top flex">
  78. <view class="type">选择支付方式</view>
  79. <view class="image" @click="close"><image src="https://zhibo.liuniu946.com/img/x.png" mode="aspectFill"></image></view>
  80. </view>
  81. <!-- #ifndef APP-PLUS -->
  82. <view class="paybox-main flex">
  83. <view class="zftype flex">
  84. <image src="https://zhibo.liuniu946.com/img/weixin.png" mode="aspectFill"></image>
  85. <view class="zf">微信支付</view>
  86. </view>
  87. <label class="radio1" @click="changePayType(1)"><radio style="transform:scale(0.7)" value="" :checked="payType == 1" color="#FE4141"></radio></label>
  88. </view>
  89. <!-- #endif -->
  90. <!-- #ifdef APP-PLUS -->
  91. <view class="paybox-main flex">
  92. <view class="zftype flex">
  93. <view class="icon iconfont iconzhifubao"></view>
  94. <view class="zf">支付宝支付</view>
  95. </view>
  96. <label class="radio1" @click="changePayType(3)"><radio style="transform:scale(0.7)" value="" :checked="payType == 3" color="#FE4141"></radio></label>
  97. </view>
  98. <!-- #endif -->
  99. <view class="paybox-main flex">
  100. <view class="zftype flex">
  101. <image src="https://zhibo.liuniu946.com/img/yue.png" mode="aspectFill"></image>
  102. <view class="zf">余额支付</view>
  103. </view>
  104. <label class="radio" @click="changePayType(2)">
  105. <radio style="transform:scale(0.7)" class="rad" value="" :checked="payType == 2" color="#FE4141"></radio>
  106. </label>
  107. </view>
  108. </view>
  109. <view class="buttom flex">
  110. <view class="heji">
  111. 合计:
  112. <text>
  113. <text class="money">{{ money }}</text>
  114. </text>
  115. </view>
  116. <view class="zhifu" @click="readyPay()">立即支付</view>
  117. </view>
  118. </view>
  119. </uni-popup>
  120. </view>
  121. </template>
  122. <script>
  123. import { mapState, mapMutations } from 'vuex';
  124. import { becomeVip, getVip, setUserRed, claseauto } from '@/api/user.js';
  125. import { getUserInfo } from '@/api/user.js';
  126. import { timeComputed } from '@/utils/rocessor.js';
  127. // // #ifdef H5
  128. // import weixinObj from '@/plugin/jweixin-module/index.js';
  129. // // #endif
  130. export default {
  131. computed: {
  132. ...mapState(['weichatObj']),
  133. ...mapState('user', ['userInfo', 'orderInfo', 'hasLogin'])
  134. },
  135. onLoad(option) {
  136. this.state = option.state;
  137. this.getVip();
  138. this.checkedAuto = +this.userInfo.red_packet == 0 ? false : true;
  139. if (this.userInfo.pay_valid_time != null) {
  140. let TimeObj = timeComputed(this.userInfo.pay_valid_time * 1000);
  141. this.type = TimeObj.type == 0 ? true : false;
  142. this.day = TimeObj.day;
  143. }
  144. },
  145. data() {
  146. return {
  147. checkedZdLoding: false, //自动拼团是否加载中
  148. checkedAutoZd: 1, //开启关闭自动拼团
  149. timeEnd: true, //判断会员是否超时
  150. viplist: [
  151. {
  152. pic: '../../static/img/yjjl.png',
  153. title: '佣金奖励',
  154. tip: '更多佣金奖励'
  155. },
  156. {
  157. pic: '../../static/img/zszk.png',
  158. title: '专属折扣',
  159. tip: '优享会员折扣'
  160. },
  161. {
  162. pic: '../../static/img/tdjl.png',
  163. title: '团队奖励',
  164. tip: '更多团队奖励'
  165. }
  166. ],
  167. state: '',
  168. // #ifndef APP-PLUS
  169. payType: 1,
  170. payName: 'weixin',
  171. // #endif
  172. // #ifdef APP-PLUS
  173. payType: 2,
  174. payName: 'yue',
  175. // #endif
  176. day: '', //会员的天数
  177. name: '',
  178. payList: [],
  179. froms: '',
  180. money: 0,
  181. explain: '',
  182. now_money: '', // 当前余额
  183. payLoding: false, //判断是否支付中
  184. choose: 0,
  185. level_id: '',
  186. checkedAuto: false, //是否开启自动领红包
  187. checkedLoding: false //请求自动加载设置保存中
  188. };
  189. },
  190. methods: {
  191. ...mapMutations('user', ['setUserInfo', 'setOrderInfo']),
  192. // 开启关闭自动拼团
  193. autoOut(e) {
  194. uni.showLoading({
  195. title: '关闭中...',
  196. mask: true
  197. });
  198. claseauto()
  199. .then(e => {
  200. uni.hideLoading();
  201. uni.showToast({
  202. title: '成功关闭!'
  203. });
  204. })
  205. .catch(e => {
  206. uni.hideLoading();
  207. });
  208. }, //自动拼团是否加载中
  209. // 获取vip等级
  210. getVip() {
  211. getVip({}).then(({ data }) => {
  212. data.forEach((sj, index) => {
  213. sj.sq = (sj.money * 0.33).toFixed(0);
  214. sj.yuan = (sj.sq * 1 + sj.money * 1).toFixed(2);
  215. });
  216. this.payList = data;
  217. // 设置默认选中的对象
  218. this.level_id = data[0].id;
  219. this.money = data[0].money;
  220. console.log(this.payList);
  221. });
  222. },
  223. // 开启关闭自动加载
  224. changeAuto(e) {
  225. console.log(e);
  226. if (this.checkedLoding) {
  227. return;
  228. }
  229. this.checkedLoding = true;
  230. setUserRed({
  231. red_packet: e
  232. })
  233. .then(e => {
  234. uni.showToast({
  235. title: '设置成功!'
  236. });
  237. this.checkedLoding = false;
  238. })
  239. .catch(e => {
  240. this.checkedAuto = false;
  241. this.checkedLoding = false;
  242. });
  243. },
  244. submit() {
  245. if (this.money == 0) {
  246. uni.showModal({
  247. title: '提示',
  248. content: '请选择要开通的会员'
  249. });
  250. } else {
  251. console.log('打开支付弹窗');
  252. this.$refs.popupPay.open();
  253. }
  254. },
  255. close() {
  256. this.$refs.popupPay.close();
  257. },
  258. changePayType(type) {
  259. this.payType = type;
  260. console.log('this.payType', this.payType);
  261. if (this.payType == 1) {
  262. this.payName = 'weixin';
  263. console.log('weixin', this.payName);
  264. }
  265. if (this.payType == 2) {
  266. this.payName = 'yue';
  267. console.log('yue', this.payName);
  268. }
  269. if (this.payType == 3) {
  270. this.payName = 'ali';
  271. console.log('ali', this.payName);
  272. }
  273. },
  274. readyPay() {
  275. // this.$refs.popup.open();
  276. this.pay();
  277. },
  278. changevip(item, index) {
  279. this.level_id = item.id;
  280. this.choose = index;
  281. console.log(this.level_id);
  282. this.money = item.money;
  283. },
  284. getUserInfoB() {
  285. getUserInfo({})
  286. .then(({ data }) => {
  287. this.setUserInfo(data);
  288. if (this.state == 1) {
  289. uni.navigateTo({
  290. url: '/pages/vip/success'
  291. });
  292. } else {
  293. uni.navigateBack();
  294. }
  295. })
  296. .catch(e => {
  297. console.log(e);
  298. });
  299. },
  300. pay() {
  301. let obj = this;
  302. console.log('点击');
  303. try {
  304. let obj = this;
  305. obj.payLoding = true;
  306. // #ifdef H5
  307. // 获取当前是否为微信浏览器
  308. obj.froms = uni.getStorageSync('weichatBrowser') || '';
  309. // #endif
  310. uni.showLoading({
  311. title: '支付中',
  312. mask: true
  313. });
  314. let data = {
  315. pay_type: this.payName,
  316. level_id: obj.level_id,
  317. // #ifdef H5
  318. from: obj.froms ? 'weixin' : 'H5', //来源
  319. // #endif
  320. // #ifdef MP-WEIXIN
  321. from: 'routine', //来源
  322. // #endif
  323. // #ifdef APP-PLUS
  324. from: 'app' //来源
  325. // #endif
  326. };
  327. console.log(data, '传值');
  328. becomeVip(data).then(({ data }) => {
  329. console.log('fufei', data);
  330. uni.hideLoading();
  331. if (obj.payName == 'ali') {
  332. const url = data.data;
  333. console.log(url, 'url');
  334. uni.requestPayment({
  335. provider: 'alipay',
  336. orderInfo: url,
  337. success: res => {
  338. console.log(res);
  339. uni.showToast({
  340. title: '充值成功',
  341. duration: 2000
  342. });
  343. },
  344. fail: e => {
  345. console.log(e);
  346. },
  347. complete: () => {}
  348. });
  349. obj.payLoding = false;
  350. }
  351. if (data.status == 'PAY_ERROR') {
  352. console.log(data);
  353. }
  354. if (data.status == 'SUCCESS') {
  355. obj.$refs.popupPay.close();
  356. obj.getUserInfoB();
  357. // getUserInfo({})
  358. // .then(({ data }) => {
  359. // obj.setUserInfo(data);
  360. // if (obj.state == 1) {
  361. // uni.navigateTo({
  362. // url: '/pages/vip/success'
  363. // });
  364. // } else {
  365. // uni.navigateBack();
  366. // }
  367. // })
  368. // .catch(e => {
  369. // console.log(e);
  370. // });
  371. }
  372. console.log('-----', data);
  373. let da = data.result.jsConfig;
  374. if (obj.payName == 'weixin' || obj.payName == 'routine') {
  375. // let da = data.result.jsConfig;
  376. console.log('--da--', da);
  377. let data = {
  378. // #ifdef H5
  379. timestamp: da.timestamp,
  380. // #endif
  381. // #ifdef MP
  382. timeStamp: da.timestamp,
  383. // #endif
  384. nonceStr: da.nonceStr,
  385. package: da.package,
  386. signType: da.signType,
  387. paySign: da.paySign,
  388. success: function(res) {
  389. console.log(res);
  390. obj.getUserInfoB();
  391. // getUserInfo({})
  392. // .then(({ data }) => {
  393. // obj.setUserInfo(data);
  394. // if (obj.state == 1) {
  395. // uni.navigateTo({
  396. // url: '/pages/vip/success'
  397. // });
  398. // } else {
  399. // uni.navigateBack();
  400. // }
  401. // })
  402. // .catch(e => {
  403. // console.log(e);
  404. // });
  405. },
  406. fail: e => {
  407. console.log(e);
  408. }
  409. };
  410. console.log('--data--', data);
  411. // #ifdef MP
  412. wx.requestPayment(data);
  413. // #endif
  414. // #ifdef H5
  415. if (obj.payName == 'weixin') {
  416. weichatObj.chooseWXPay(data);
  417. }
  418. // #endif
  419. }
  420. uni.hideLoading();
  421. // #ifdef H5
  422. if (data.status == 'PAY_ERROR') {
  423. console.log(data);
  424. }
  425. if (data.status == 'SUCCESS') {
  426. obj.$refs.popupPay.close();
  427. obj.getUserInfoB();
  428. // getUserInfo({})
  429. // .then(({ data }) => {
  430. // obj.setUserInfo(data);
  431. // if (obj.state == 1) {
  432. // uni.navigateTo({
  433. // url: '/pages/vip/success'
  434. // });
  435. // } else {
  436. // uni.navigateBack();
  437. // }
  438. // })
  439. // .catch(e => {
  440. // console.log(e);
  441. // });
  442. }
  443. // #endif
  444. });
  445. } catch (e) {
  446. console.log('fufiecw', e);
  447. //TODO handle the exception
  448. }
  449. }
  450. }
  451. };
  452. </script>
  453. <style lang="scss">
  454. .outBottom {
  455. width: 190rpx;
  456. height: 69rpx;
  457. background: #3a3a3b;
  458. border-radius: 35rpx;
  459. color: #ffffff;
  460. line-height: 69rpx;
  461. text-align: center;
  462. font-size: 27rpx;
  463. font-family: PingFang SC;
  464. font-weight: 500;
  465. }
  466. .top {
  467. width: 750rpx;
  468. background-color: #fff;
  469. padding-top: 45rpx;
  470. padding-bottom: 45rpx;
  471. // height: 626rpx;
  472. .bg {
  473. position: absolute;
  474. top: 0;
  475. left: 0;
  476. right: 0;
  477. width: 750rpx;
  478. height: 200rpx;
  479. overflow: hidden;
  480. .bg-item {
  481. width: 750rpx;
  482. height: 145rpx;
  483. background-color: #363533;
  484. border-radius:0 0 25% 25%;
  485. // position: absolute;
  486. // bottom: 0;
  487. // top: -2200rpx;
  488. // left: 0;
  489. // right: 0;
  490. // margin:0 auto;
  491. }
  492. }
  493. .title {
  494. position: relative;
  495. z-index: 10;
  496. width: 100%;
  497. padding-top: 20rpx;
  498. text-align: center;
  499. font-size: 34rpx;
  500. font-family: PingFang SC;
  501. font-weight: bold;
  502. color: #333333;
  503. }
  504. .card {
  505. position: relative;
  506. margin: 0 auto 0;
  507. z-index: 10;
  508. width: 655rpx;
  509. // height: 324rpx;
  510. background: linear-gradient(225deg, #ffeed2 0%, #fed591 100%);
  511. border-radius: 24rpx;
  512. padding: 28rpx 25rpx 30rpx 36rpx;
  513. .opennow {
  514. width: 190rpx;
  515. line-height: 69rpx;
  516. background: #3A3A3B;
  517. border-radius: 35rpx;
  518. position: absolute;
  519. top: 39rpx;
  520. right: 25rpx;
  521. font-size: 30rpx;
  522. font-family: PingFang SC;
  523. font-weight: 500;
  524. color: #FFFFFF;
  525. text-align: center;
  526. }
  527. .card-top {
  528. justify-content: flex-start;
  529. .avtur {
  530. width: 90rpx;
  531. height: 90rpx;
  532. border-radius: 50%;
  533. margin-right: 10rpx;
  534. image {
  535. background-color: #eee;
  536. width: 100%;
  537. height: 100%;
  538. border-radius: 50%;
  539. }
  540. }
  541. .name {
  542. font-size: 30rpx;
  543. font-family: PingFang SC;
  544. font-weight: 500;
  545. color: #333333;
  546. }
  547. .tip {
  548. font-size: 20rpx;
  549. font-family: PingFang SC;
  550. font-weight: 500;
  551. color: #333333;
  552. opacity: 0.52;
  553. }
  554. }
  555. .btn {
  556. position: absolute;
  557. top: 40rpx;
  558. right: 24rpx;
  559. width: 190rpx;
  560. height: 69rpx;
  561. background: #3a3a3b;
  562. border-radius: 35rpx;
  563. font-size: 30rpx;
  564. font-family: PingFang SC;
  565. font-weight: 500;
  566. color: #ffffff;
  567. line-height: 69rpx;
  568. text-align: center;
  569. }
  570. }
  571. .bottom {
  572. margin-top: 40rpx;
  573. .font-title {
  574. font-size: 30rpx;
  575. font-family: PingFang SC;
  576. font-weight: bold;
  577. color: #333333;
  578. }
  579. .font-tip {
  580. font-size: 22rpx;
  581. font-family: PingFang SC;
  582. font-weight: 500;
  583. color: #343434;
  584. }
  585. }
  586. .turn {
  587. width: 108rpx;
  588. height: 51rpx;
  589. background: #ffffff;
  590. border-radius: 26rpx;
  591. padding: 10rpx;
  592. font-size: 30rpx;
  593. font-family: PingFang SC;
  594. font-weight: bold;
  595. color: #333333;
  596. display: flex;
  597. align-items: center;
  598. .yuan {
  599. display: inline-block;
  600. width: 35rpx;
  601. height: 35rpx;
  602. background: linear-gradient(112deg, #ffe5bb, #fed591);
  603. border-radius: 50%;
  604. margin-right: 12rpx;
  605. }
  606. }
  607. }
  608. .vip {
  609. margin-top: 20rpx;
  610. background: #ffffff;
  611. padding-bottom: 54rpx;
  612. .system-title {
  613. display: flex;
  614. justify-content: center;
  615. align-items: center;
  616. padding-top: 40rpx;
  617. .title {
  618. font-size: 32rpx;
  619. font-family: PingFang SC;
  620. font-weight: bold;
  621. color: #1d2023;
  622. }
  623. .img {
  624. width: 170rpx;
  625. height: 2rpx;
  626. display: block;
  627. }
  628. }
  629. .item-box {
  630. margin-top: 40rpx;
  631. justify-content: center;
  632. align-items: center;
  633. .item {
  634. flex: 1;
  635. display: flex;
  636. flex-direction: column;
  637. align-items: center;
  638. image {
  639. width: 100rpx;
  640. height: 100rpx;
  641. }
  642. .item-title {
  643. margin-top: 14rpx;
  644. font-size: 24rpx;
  645. font-family: PingFang SC;
  646. font-weight: 500;
  647. color: #333333;
  648. }
  649. .item-tip {
  650. margin-top: 10rpx;
  651. font-size: 20rpx;
  652. font-family: PingFang SC;
  653. font-weight: 500;
  654. color: #999999;
  655. }
  656. }
  657. }
  658. .money-box {
  659. margin-top: 40rpx;
  660. justify-content: center;
  661. align-items: center;
  662. padding: 0 47rpx 160rpx 25rpx;
  663. .current {
  664. border: 1rpx solid #fed591 !important;
  665. background: #fff8ec !important;
  666. }
  667. .money {
  668. margin-left: 22rpx;
  669. flex: 1;
  670. display: flex;
  671. flex-direction: column;
  672. align-items: center;
  673. width: 204rpx;
  674. height: 296rpx;
  675. background: #f5f5f5;
  676. border: 1rpx solid #ffffff;
  677. border-radius: 20rpx;
  678. position: relative;
  679. .tj {
  680. position: absolute;
  681. top: 0;
  682. left: 0;
  683. width: 90rpx;
  684. height: 44rpx;
  685. text-align: center;
  686. line-height: 44rpx;
  687. font-size: 25rpx;
  688. font-family: PingFang SC;
  689. font-weight: 500;
  690. color: #ffffff;
  691. .tj-bg {
  692. width: 90rpx;
  693. height: 44rpx;
  694. }
  695. text {
  696. display: inline-block;
  697. position: relative;
  698. top: -56rpx;
  699. }
  700. }
  701. .money-name {
  702. margin-top: 58rpx;
  703. font-size: 33rpx;
  704. font-family: PingFang SC;
  705. font-weight: 500;
  706. color: #644931;
  707. }
  708. .now-money {
  709. font-size: 30rpx;
  710. font-family: FZCuHeiSongS-B-GB;
  711. font-weight: 400;
  712. color: #f7cf9c;
  713. text {
  714. font-size: 50rpx;
  715. }
  716. }
  717. .bf-money {
  718. font-size: 33rpx;
  719. font-family: PingFang SC;
  720. font-weight: 500;
  721. text-decoration: line-through;
  722. color: #9a5a12;
  723. opacity: 0.35;
  724. }
  725. .moneyc {
  726. background: #f7cf9c !important;
  727. color: #ffffff !important;
  728. }
  729. .money-tip {
  730. margin-top: 10rpx;
  731. width: 158rpx;
  732. height: 45rpx;
  733. background: #f5f5f5;
  734. border: 1px solid #f7cf9c;
  735. border-radius: 23rpx;
  736. padding: 5rpx 10rpx;
  737. font-size: 25rpx;
  738. font-family: PingFang SC;
  739. font-weight: 500;
  740. color: #f7cf9c;
  741. image {
  742. position: relative;
  743. top: 2rpx;
  744. width: 23rpx;
  745. height: 23rpx;
  746. }
  747. }
  748. }
  749. }
  750. }
  751. .box-buttom {
  752. width: 750rpx;
  753. height: 98rpx;
  754. // position: absolute;
  755. // buttom:0;
  756. position: fixed;
  757. bottom: 0;
  758. right: 0;
  759. // position: absolute;
  760. // buttom:100rpx;
  761. display: flex;
  762. align-items: center;
  763. background: #34332f;
  764. .price-left {
  765. display: flex;
  766. .entrepreneurship {
  767. font-size: 24rpx;
  768. font-weight: 500;
  769. color: #bbbbbb;
  770. margin-left: 16rpx;
  771. text {
  772. font-size: 30rpx;
  773. color: #ffffff;
  774. }
  775. }
  776. }
  777. .price-right {
  778. position: absolute;
  779. bottom: 0;
  780. right: 0;
  781. // position: fixed;
  782. // buttom: 0;
  783. // right: 0;
  784. width: 280rpx;
  785. height: 108rpx;
  786. background: #fed591;
  787. font-size: 36rpx;
  788. font-weight: bold;
  789. color: #000000;
  790. display: flex;
  791. justify-content: center;
  792. align-items: center;
  793. }
  794. .price-right1 {
  795. position: absolute;
  796. bottom: 0;
  797. right: 0;
  798. // position: fixed;
  799. // buttom: 0;
  800. // right: 0;
  801. width: 280rpx;
  802. height: 108rpx;
  803. background: #b5b5b5;
  804. font-size: 36rpx;
  805. font-weight: bold;
  806. color: #ffffff;
  807. display: flex;
  808. justify-content: center;
  809. align-items: center;
  810. }
  811. }
  812. .popup-box {
  813. width: 100%;
  814. height: 450rpx;
  815. background: #ffffff;
  816. }
  817. .popup-pay {
  818. position: relative;
  819. justify-content: space-between;
  820. padding: 0rpx 25rpx 32rpx 25rpx;
  821. .paybox-top {
  822. padding-top: 38rpx;
  823. width: 100%;
  824. .type {
  825. font-size: 28rpx;
  826. font-family: PingFang SC;
  827. font-weight: bold;
  828. color: #333333;
  829. }
  830. .image {
  831. padding-right: 24rpx;
  832. padding-bottom: 10rpx;
  833. image {
  834. width: 16rpx;
  835. height: 16rpx;
  836. }
  837. }
  838. }
  839. .paybox-main {
  840. width: 100%;
  841. margin-top: 54rpx;
  842. .zftype {
  843. padding-left: 5rpx;
  844. image {
  845. width: 38rpx;
  846. height: 40rpx;
  847. }
  848. .zf {
  849. padding-left: 18rpx;
  850. font-size: 28rpx;
  851. font-family: PingFang SC;
  852. font-weight: 400;
  853. color: #3f454b;
  854. }
  855. }
  856. }
  857. }
  858. .buttom {
  859. width: 100%;
  860. height: 113rpx;
  861. padding-top: 20rpx;
  862. align-items: center;
  863. .heji {
  864. height: 100%;
  865. width: 50%;
  866. padding-left: 23rpx;
  867. padding-top: 20rpx;
  868. font-size: 28rpx;
  869. font-family: PingFang SC;
  870. font-weight: 400;
  871. color: #3f454b;
  872. text {
  873. font-size: 24rpx;
  874. font-family: PingFang SC;
  875. font-weight: bold;
  876. color: #ff0000;
  877. .money {
  878. font-size: 36rpx;
  879. }
  880. }
  881. }
  882. .zhifu {
  883. width: 50%;
  884. height: 92rpx;
  885. background: linear-gradient(180deg, #fd4646, #ff3535);
  886. text-align: center;
  887. line-height: 92rpx;
  888. font-size: 32rpx;
  889. font-family: PingFang SC;
  890. font-weight: bold;
  891. color: #ffffff;
  892. }
  893. }
  894. .ling-box {
  895. position: relative;
  896. z-index: 10;
  897. width: 654rpx;
  898. height: auto;
  899. background: #fff8ec;
  900. border: 1px solid #fed591;
  901. border-radius: 24rpx;
  902. margin: 20rpx auto 0;
  903. padding: 20rpx 24rpx 15rpx 42rpx;
  904. .ling-title {
  905. font-size: 30rpx;
  906. font-family: PingFang SC;
  907. font-weight: bold;
  908. color: #644931;
  909. }
  910. .ling-tip {
  911. font-size: 22rpx;
  912. font-family: PingFang SC;
  913. font-weight: 500;
  914. color: #644931;
  915. line-height: 24px;
  916. opacity: 0.67;
  917. }
  918. }
  919. </style>