index.vue 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. <template>
  2. <app-view class="credit-lottery">
  3. <template #header>
  4. <app-navbar title="积分红包" />
  5. </template>
  6. <div class="credit-lottery__title">
  7. <img src="@mobile/assets/images/lottery/lottery-title.png" />
  8. </div>
  9. <div class="credit-lottery__container">
  10. <div class="credit-lottery__box credit-lottery__draw">
  11. <div class="block">
  12. <ul class="block-prize">
  13. <li>
  14. <span>一等奖</span>
  15. <span>现金红包</span>
  16. </li>
  17. <li>
  18. <span>二等奖</span>
  19. <span>现金红包</span>
  20. </li>
  21. <li>
  22. <span>谢谢参与</span>
  23. </li>
  24. </ul>
  25. <div class="block-button">
  26. <button type="button" @click="onSubmit">立即抽奖</button>
  27. </div>
  28. <div class="block-info">
  29. <span>当前积分:{{ userAccount.curscore ?? 0 }}</span>
  30. <span>*抽一次消耗{{ creditConfig.parma1 ?? 0 }}积分</span>
  31. </div>
  32. </div>
  33. </div>
  34. <div class="credit-lottery__box credit-lottery__record">
  35. <dl class="block">
  36. <dt class="block-title">- 我的红包 -</dt>
  37. <dd class="block-item" v-for="(item, index) in creditList" :key="index">
  38. <span>{{ item.createtime }}</span>
  39. <span>{{ item.score }}</span>
  40. </dd>
  41. </dl>
  42. </div>
  43. </div>
  44. <Reward v-model:show="showReward" :value="redEnvelope.RedPacketAmount" :level="redEnvelope.GearLevel" />
  45. </app-view>
  46. </template>
  47. <script lang="ts" setup>
  48. import { shallowRef } from 'vue'
  49. import { Button, Toast } from 'vant'
  50. import { fullloading } from '@/utils/vant'
  51. import { useCreditLottery } from '@/business/credit'
  52. import Reward from './components/reward/index.vue'
  53. const { creditConfig, userAccount, creditList, redEnvelope, formSubmit, formRefresh } = useCreditLottery()
  54. const showReward = shallowRef(false) // 显示抽奖红包
  55. const onSubmit = () => {
  56. //showReward.value = true
  57. fullloading((hideLoading) => {
  58. formSubmit().then(() => {
  59. hideLoading()
  60. showReward.value = true
  61. }).catch(() => {
  62. Toast.fail('抽奖失败')
  63. })
  64. })
  65. }
  66. formRefresh()
  67. </script>
  68. <style lang="less">
  69. @import './index.less';
  70. </style>