index.vue 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. <template>
  2. <div class="introduce-layout">
  3. <div class="introduce-bg">
  4. <div class="introduce-con" :style="{marginLeft:(split + 37)+'px'}">
  5. <div class="info">
  6. <p>设备ID:{{detail.childName}}</p>
  7. </div>
  8. <div class="c-dec">
  9. 剩余点数:<span>{{detail.balance}}</span>
  10. </div>
  11. <div class="c-detail">
  12. <span>点数构成:{{detail.spaceContent}}</span>
  13. </div>
  14. </div>
  15. </div>
  16. <div class="plate02">
  17. <div>
  18. <div class="intro-title">
  19. <img src="@/assets/images/introduce-line.png" alt="">
  20. <p>点数充值,记录您的美好空间</p>
  21. </div>
  22. <p class="intro-sub">购买立即生效,拍摄安心存放</p>
  23. <ul class="intro-type">
  24. <li v-for="(item,i) in type" :key="i">
  25. <p class="point">{{item.capacity}}</p>
  26. <p class="price"><i>¥</i><span>{{item.price}}</span></p>
  27. <div class="btn" @click="buy(item)">立即购买</div>
  28. </li>
  29. </ul>
  30. <ul class="qa-con">
  31. <li v-for="(item,i) in qa" :key="i">
  32. <p>{{item.q}}</p>
  33. <p v-html="item.a"></p>
  34. </li>
  35. </ul>
  36. </div>
  37. </div>
  38. </div>
  39. </template>
  40. <script>
  41. import {mapState} from 'vuex'
  42. export default {
  43. data () {
  44. let type = [
  45. {
  46. capacity: '600点',
  47. price: '600'
  48. },
  49. {
  50. capacity: '800点',
  51. price: '800'
  52. },
  53. {
  54. capacity: '1000点',
  55. price: '1000'
  56. }
  57. ]
  58. let qa = [
  59. {
  60. q: '为什么需要点数充值?',
  61. a: '当您的基础点数不足99点时,最新拍摄的场景将无法生成,通过购买点数则可以计算存储更多场景。'
  62. }, {
  63. q: '点数充值之后还可以退款吗?',
  64. a: '不可以,因为点数充值之后,相应点数会立即到账生效,所以不接受中途退款,敬请谅解。'
  65. }, {
  66. q: '删除场景后会返还点数吗?',
  67. a: '点数充值没有有效期,所以消费后代表永久记录您的美好空间,删除场景后不会返还。'
  68. }, {
  69. q: '点数不足还可继续拍摄上传吗?',
  70. a: '点数不足时,不影响设备正常的拍摄,但会无法上传计算,这时只能进行删除操作;直到您的点数满足消费,此时您才可以将拍摄的场景上传计算,随之可查看、编辑和分享。'
  71. }
  72. ]
  73. return {
  74. type,
  75. qa,
  76. detail: ''
  77. }
  78. },
  79. computed: {
  80. ...mapState({
  81. split: state => state.ui.navDivision,
  82. info: state => state.user.info,
  83. token: state => state.user.token
  84. })
  85. },
  86. mounted () {
  87. this.getDetail()
  88. },
  89. methods: {
  90. buy (item) {
  91. this.$toast.showPointRecharge(item, this.detail.childName, this.detail.id)
  92. },
  93. async getDetail () {
  94. let {id} = this.$route.params
  95. let params = {
  96. childName: id
  97. }
  98. let result = await this.$http({
  99. method: 'post',
  100. data: params,
  101. headers: {
  102. token: this.token
  103. },
  104. url: '/user/camera/detail'
  105. })
  106. let data = result.data
  107. if (data.code !== 0) {
  108. return this.$toast.show('error', '获取设备详情失败')
  109. }
  110. this.detail = data.data
  111. }
  112. }
  113. }
  114. </script>
  115. <style lang="scss" scoped>
  116. @import './style.scss';
  117. </style>