openMember.vue 22 KB

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