displayCard.vue 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. <template>
  2. <div class="display-card">
  3. <span @click="cardClose" v-if="cardShow" class="cardClose"><img src="/images/all/close.png"></span>
  4. <div class="content" v-if="cardShow">
  5. <div>
  6. <count-box></count-box>
  7. </div>
  8. <div>
  9. <p v-if="allCount[1].count"><span v-text="allCount[1].count"></span></p>
  10. <p v-else><span>0</span></p>
  11. </div>
  12. <div>
  13. <p v-if="payMoney"><span>${{payMoney}}</span><span v-if="isShow">亿</span><span v-if="isMore">万</span></p>
  14. <p v-else><span>0</span></p>
  15. </div>
  16. <div>
  17. <p v-if="allCount[3].count"><span v-text="allCount[3].count"></span></p>
  18. <p v-else><span>0</span></p>
  19. </div>
  20. <a class="enter" @click="onRegisterClick"><img src="/images/all/enter.png"></a>
  21. </div>
  22. </div>
  23. </template>
  24. <script>
  25. import CountBox from '../main/count/Box.vue'
  26. export default {
  27. name: 'display-card',
  28. data () {
  29. return {
  30. cardShow: true,
  31. isShow: false,
  32. isMore: false
  33. }
  34. },
  35. components: {
  36. CountBox
  37. },
  38. methods: {
  39. cardClose () {
  40. this.cardShow = false
  41. },
  42. formatNumber (num) {
  43. if (num > 99999999) {
  44. this.isShow = true
  45. let str2 = num.toString()
  46. num = Math.floor(num / 100000000)
  47. if (parseInt(str2.charAt(str2.length - 8)) > 8) {
  48. num = num + 1
  49. }
  50. }
  51. if (num > 9999 && num < 99999999) {
  52. this.isMore = true
  53. let str = num.toString()
  54. num = Math.floor(num / 10000)
  55. if (parseInt(str.charAt(str.length - 4)) > 4) {
  56. num = num + 1
  57. }
  58. }
  59. return num
  60. },
  61. onRegisterClick () {
  62. this.$http.get('/register/page').then(response => {
  63. if (response.data) {
  64. window.location.href = response.data.content
  65. }
  66. })
  67. }
  68. },
  69. computed: {
  70. allCount () {
  71. return this.$store.state.count.allCount.data
  72. },
  73. payMoney () {
  74. return this.formatNumber(this.allCount[2].count)
  75. }
  76. }
  77. }
  78. </script>
  79. <style lang="scss" scoped>
  80. .display-card{
  81. position: fixed;
  82. right: 100px;
  83. top: 115px;
  84. width: 144px;
  85. height: 527px;
  86. z-index: 100;
  87. .cardClose{
  88. position: absolute;
  89. right: 0px;
  90. top: 0px;
  91. opacity: 0.8;
  92. }
  93. .content{
  94. margin-top: 10px;
  95. width: 143px;
  96. height: 517px;
  97. background: url('/images/all/displayCard.png') no-repeat;
  98. div{
  99. height: 110px;
  100. padding-top: 55px;
  101. &:first-child{
  102. height: 110px;
  103. padding-top: 1px;
  104. }
  105. p{
  106. width: 100%;
  107. text-align: center;
  108. font-size: 26px;
  109. color: #fff;
  110. }
  111. }
  112. .enter{
  113. width: 100%;
  114. display: inline-block;
  115. position: absolute;
  116. bottom: 48px;
  117. left: -4px;
  118. text-align: center;
  119. }
  120. }
  121. }
  122. </style>