openMember.vue 22 KB

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