rechargeItem.vue 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <template>
  2. <!-- :class="{ SelectStatus: isSelectStatus() ,UnSelectStatus: isSelectStatus()==false }" -->
  3. <view :style="{'backgroundColor':selectBgColor}" >
  4. <view v-if="isVipRecharge()==true" @click="onItemClick">
  5. {{recharge_item_data.name}}--VIP{{recharge_item_data.day}}天
  6. </view>
  7. <view v-if="isVipRecharge()==false" @click="onItemClick">
  8. 充值{{recharge_item_data.coin}} 赠送{{recharge_item_data.give_coin}}
  9. </view>
  10. </view>
  11. </template>
  12. <script lang="ts" setup>
  13. import { onMounted, ref, watch } from 'vue';
  14. import { recharge_list_data } from '../../data/data';
  15. const {recharge_item_data} = defineProps({recharge_item_data:{type:recharge_list_data,required:true,default:null}})
  16. const emits = defineEmits(['itemClick'])
  17. function isVipRecharge():boolean{
  18. return recharge_item_data.is_vip==1
  19. }
  20. let isSelect = ref(false)
  21. function isSelectStatus(){
  22. return isSelect
  23. }
  24. onMounted(()=>{
  25. if(recharge_item_data.is_default==1&&isSelect.value==false){
  26. onItemClick()
  27. }
  28. })
  29. function onItemClick(){
  30. emits('itemClick',recharge_item_data.goods_id,recharge_item_data.is_vip==1)
  31. }
  32. let selectBgColor = ref('#ffffff')
  33. watch(()=>isSelect.value,()=>{
  34. if(isSelect.value==true){
  35. selectBgColor.value = '#adff2f'
  36. }else{
  37. selectBgColor.value = '#ffffff'
  38. }
  39. })
  40. function updateSelectStatus(goods_id:number){
  41. isSelect.value = (goods_id==recharge_item_data.goods_id)
  42. }
  43. defineExpose({updateSelectStatus})
  44. </script>
  45. <style scoped lang="scss">
  46. </style>