|
@@ -1,57 +1,207 @@
|
|
|
<template>
|
|
|
- <div class="introtow-layout">
|
|
|
- <div class="it-header it-txt">
|
|
|
- <p>ID:asdasd</p>
|
|
|
- <p>剩余点数:2000</p>
|
|
|
- </div>
|
|
|
- <div class="point-list it-txt">
|
|
|
- <p>限时抢购点数包</p>
|
|
|
- <p>购买立即生效</p>
|
|
|
- <div class="card-scroll">
|
|
|
- <div class="card-item" v-for="(item,i) in 3" :key="i">
|
|
|
- <div></div>
|
|
|
- <p>小号点数包</p>
|
|
|
- <p>¥<span>539</span><i>¥600</i></p>
|
|
|
- <p class="p-tag">限时活动</p>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="point-qa">
|
|
|
- <div class="qa-item" v-for="(item,i) in qa" :key="i">
|
|
|
- <p>{{item.q}}</p>
|
|
|
- <p>{{item.a}}</p>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
+ <div class="introtow-layout">
|
|
|
+ <div class="it-header it-txt">
|
|
|
+ <p>ID::{{detail.childName}}</p>
|
|
|
+ <p>剩余点数:{{detail.balance}}</p>
|
|
|
+ </div>
|
|
|
+ <div class="point-list it-txt">
|
|
|
+ <p>限时抢购点数包</p>
|
|
|
+ <p>购买立即生效</p>
|
|
|
+ <div class="card-scroll">
|
|
|
+ <div @click="toPay(item)" class="card-item" v-for="(item,i) in type" :key="i">
|
|
|
+ <div class="top-card">
|
|
|
+ <img :src="`${$cdn}images/card-bg1.png`" alt />
|
|
|
+ <div>
|
|
|
+ <p>{{item.price}}</p>
|
|
|
+ <p>立即抢购</p>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <p>小号点数包</p>
|
|
|
+ <p>
|
|
|
+ ¥
|
|
|
+ <span>{{item.capacity}}</span>
|
|
|
+ <i>¥{{item.price}}</i>
|
|
|
+ </p>
|
|
|
+ <p class="p-tag">限时活动</p>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="point-qa">
|
|
|
+ <div class="qa-item" v-for="(item,i) in qa" :key="i">
|
|
|
+ <p>{{item.q}}</p>
|
|
|
+ <p>{{item.a}}</p>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="hover-mask" @touchmove.prevent @click="payactive=!payactive" :class="{'hover-active':payactive}">
|
|
|
+ <div class="h-con" @click.stop>
|
|
|
+ <p class="h-title">购买扩容包</p>
|
|
|
+ <div class="point-card">
|
|
|
+ <div class="p-left">
|
|
|
+ <p>小号扩容包</p>
|
|
|
+ <p>购买点数计算存储更多场景</p>
|
|
|
+ </div>
|
|
|
+ <div class="p-right">
|
|
|
+ <div class="top-card">
|
|
|
+ <img :src="`${$cdn}images/card-bg1.png`" alt />
|
|
|
+ <div>
|
|
|
+ <p>{{item.price}}</p>
|
|
|
+ <p>立即抢购</p>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="poinit-detail">
|
|
|
+ <div class="pd-title">
|
|
|
+ <span>售卖价</span>
|
|
|
+ <div>
|
|
|
+ <span class="p-tag">限时优惠</span>
|
|
|
+ <i>¥{{item.dollarPrice}}</i>
|
|
|
+ ¥{{item.price}}
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="point-qa" @touchmove.stop>
|
|
|
+ <div class="qa-item" v-for="(item,i) in qa" :key="i">
|
|
|
+ <p v-html="item.q"></p>
|
|
|
+ <p v-html="item.a"></p>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="point-pay">
|
|
|
+ <div class="pp-left">
|
|
|
+ <span>应付金额:</span>
|
|
|
+ <i>¥</i>
|
|
|
+ {{item.price}}
|
|
|
+ </div>
|
|
|
+ <div class="btn" @click="pay">前往支付</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
+import { mapState } from 'vuex'
|
|
|
|
|
|
export default {
|
|
|
-
|
|
|
+ computed: {
|
|
|
+ ...mapState({
|
|
|
+ token: state => state.user.token
|
|
|
+ })
|
|
|
+ },
|
|
|
data () {
|
|
|
+ let type = [
|
|
|
+ {
|
|
|
+ capacity: '600点',
|
|
|
+ price: '600',
|
|
|
+ dollarPrice: '600'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ capacity: '800点',
|
|
|
+ price: '800',
|
|
|
+ dollarPrice: '800'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ dollarPrice: '1000',
|
|
|
+ capacity: '1000点',
|
|
|
+ price: '1000'
|
|
|
+ }
|
|
|
+ ]
|
|
|
let qa = [
|
|
|
{
|
|
|
q: '为什么需要点数充值?',
|
|
|
- a: '当您的基础点数不足99点时,最新拍摄的场景将无法生成,通过购买点数则可以计算存储更多场景。'
|
|
|
+ a: '答:当您的基础点数不足99点时,最新拍摄的场景将无法生成,通过购买点数则可以计算存储更多场景。'
|
|
|
}, {
|
|
|
q: '点数充值之后还可以退款吗?',
|
|
|
- a: '不可以,因为点数充值之后,相应点数会立即到账生效,所以不接受中途退款,敬请谅解。'
|
|
|
+ a: '答:不可以,因为点数充值之后,相应点数会立即到账生效,所以不接受中途退款,敬请谅解。'
|
|
|
}, {
|
|
|
q: '删除场景后会返还点数吗?',
|
|
|
- a: '点数充值没有有效期,所以消费后代表永久记录您的美好空间,删除场景后不会返还。'
|
|
|
+ a: '答:点数充值没有有效期,所以消费后代表永久记录您的美好空间,删除场景后不会返还。'
|
|
|
}, {
|
|
|
q: '点数不足还可继续拍摄上传吗?',
|
|
|
- a: '点数不足时,不影响设备正常的拍摄,但会无法上传计算,这时只能进行删除操作;直到您的点数满足消费,此时您才可以将拍摄的场景上传计算,随之可查看、编辑和分享。'
|
|
|
+ a: '答:点数不足时,不影响设备正常的拍摄,但会无法上传计算,这时只能进行删除操作;直到您的点数满足消费,此时您才可以将拍摄的场景上传计算,随之可查看、编辑和分享。'
|
|
|
}
|
|
|
]
|
|
|
return {
|
|
|
- qa
|
|
|
+ payactive: false,
|
|
|
+ qa,
|
|
|
+ detail: '',
|
|
|
+ type,
|
|
|
+ currentId: '',
|
|
|
+ orderSn: '',
|
|
|
+ item: ''
|
|
|
+ }
|
|
|
+ },
|
|
|
+ mounted () {
|
|
|
+ this.getDetail()
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ async getDetail () {
|
|
|
+ let { id } = this.$route.params
|
|
|
+ let params = {
|
|
|
+ childName: id
|
|
|
+ }
|
|
|
+ let result = await this.$http({
|
|
|
+ method: 'post',
|
|
|
+ data: params,
|
|
|
+ headers: {
|
|
|
+ token: this.token
|
|
|
+ },
|
|
|
+ url: '/user/camera/detail'
|
|
|
+ })
|
|
|
+ let data = result.data
|
|
|
+ if (data.code !== 0) {
|
|
|
+ return this.$toast.show('error', '获取设备详情失败')
|
|
|
+ }
|
|
|
+ this.detail = data.data
|
|
|
+ },
|
|
|
+ toPay (item) {
|
|
|
+ this.payactive = !this.payactive
|
|
|
+ this.item = item
|
|
|
+ },
|
|
|
+ async pay () {
|
|
|
+ let { price } = this.item
|
|
|
+
|
|
|
+ let params = {
|
|
|
+ cameraId: this.detail.id,
|
|
|
+ points: price,
|
|
|
+ payType: 0,
|
|
|
+ abroad: this.language === 'en' ? 1 : 0
|
|
|
+ }
|
|
|
+
|
|
|
+ let res = await this.$http.post('/user/order/rechargeOrder', params, {
|
|
|
+ headers: {
|
|
|
+ token: this.token
|
|
|
+ }
|
|
|
+ })
|
|
|
+
|
|
|
+ let data = res.data
|
|
|
+ if (data.code !== 0) {
|
|
|
+ return this.$toast.show('error', '获取订单信息失败')
|
|
|
+ }
|
|
|
+ let { id, orderSn } = data.data
|
|
|
+ this.currentId = id
|
|
|
+ this.orderSn = orderSn
|
|
|
+ this.goPay({ id, orderSn })
|
|
|
+ },
|
|
|
+
|
|
|
+ goPay (item) {
|
|
|
+ this.$store.commit('ORDERINFO', {
|
|
|
+ orderSn: item.orderSn,
|
|
|
+ price: item.goodsAmount || 0,
|
|
|
+ orderType: 1
|
|
|
+ })
|
|
|
+ this.$router.push({
|
|
|
+ name: 'payselect',
|
|
|
+ params: {
|
|
|
+ orderId: item.id || 1,
|
|
|
+ orderType: 1
|
|
|
+ }
|
|
|
+ })
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
</script>
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
|
-@import './style.scss';
|
|
|
+@import "./style.scss";
|
|
|
</style>
|