123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173 |
- <template>
- <view class="content">
- <view class="tab flex">
- <view class="tab-name">
- 可用于兑换的绿积分:
- </view>
- <view class="tab-val">
- {{userInfo.green_integral || '0'}}
- </view>
- </view>
- <view class="tab flex">
- <view class="tab-name">
- 兑换比例:
- </view>
- <view class="tab-val">
- {{bl}}:1
- </view>
- </view>
- <view class="tab flex">
- <view class="tab-name">
- 可兑换绿卡数量:
- </view>
- <view class="tab-val">
- {{could}}
- </view>
- </view>
- <view class="tab flex">
- <view class="tab-name">
- 申请兑换绿卡数量:
- </view>
- <input type="number" class="tab-val" placeholder="请输入兑换绿卡数量" placeholder-style="font-size:28rpx;"
- v-model="changeNum">
- <!-- <view class="tab-val">
- {{sqss}}
- </view> -->
- </view>
- <view class="sub" :class="{'loading': load}" @click="exchangeGreen">
- 立即兑换
- </view>
- </view>
- </template>
- <script>
- import {
- mapState,
- mapMutations
- } from 'vuex';
- import {
- getGreenBl,
- getUserInfo,
- exchangeGreen
- } from '@/api/user.js'
- export default {
- data() {
- return {
- bl: 0,
- load: true,
- changeNum: '',
- }
- },
- onLoad() {
- },
- onShow() {
- this.getGreenBl()
- },
- onReachBottom() {
- },
- onReady() {
- },
- computed: {
- ...mapState('user', ['userInfo']),
- could() {
- if (this.userInfo.green_integral == 0) {
- return 0
- } else {
- return Math.floor(this.userInfo.green_integral / this.bl)
- }
- },
- },
- methods: {
- ...mapMutations('user', ['setUserInfo']),
- getGreenBl() {
- getGreenBl().then(res => {
- console.log(res)
- this.bl = res.data.bl
- this.getUserInfo()
- })
- },
- getUserInfo() {
- let obj = this
- getUserInfo().then(res => {
- obj.setUserInfo(res.data)
- obj.load = false
- })
- },
- exchangeGreen() {
- let obj = this
- if (obj.load) {
- return
- }
- if (obj.changeNum == '') {
- return obj.$api.msg('请输入兑换绿卡数量')
- }
- if (obj.userInfo.green_integral == 0) {
- return obj.$api.msg('您的绿积分不足')
- }
- if (obj.changeNum * 1 > obj.could) {
- return obj.$api.msg('您的绿积分不足')
- }
- obj.load = true
- exchangeGreen({
- num: obj.changeNum
- }).then(({
- data
- }) => {
- console.log(data)
- uni.showToast({
- title: '提交成功',
- duration: 2000,
- position: 'top'
- });
- obj.getGreenBl()
- // obj.load = false
- }).catch(err => {
- obj.load = false
- })
- }
- }
- }
- </script>
- <style lang="scss">
- .tab {
- font-size: 32rpx;
- font-weight: 500;
- color: #333333;
- line-height: 110rpx;
- border-bottom: 1px solid #eee;
- width: 710rpx;
- margin: auto;
- .tab-name {
- flex-shrink: 0;
- }
- .tab-val {
- flex-grow: 1;
- text-align: right;
- font-size: 48rpx;
- font-weight: bold;
- }
- }
- .sub {
- width: 670rpx;
- line-height: 88rpx;
- background: #FF4C4C;
- border-radius: 10rpx;
- font-size: 32rpx;
- font-weight: bold;
- color: #FFFFFF;
- text-align: center;
- margin: 60rpx auto 0;
- }
- .loading {
- background: #999;
- }
- </style>
|