import unit from "$utils/unit/unit"; import popup from "$utils/tool/popup"; import {PopupExportComponent} from "$popup/popup-export/const"; import {mapState} from "vuex"; export default { data(){ return { swiperOption:{ slidesPerView:5, slidesPerGroup:5, spaceBetween:unit.unitPx(10), slidesPerColumn:2, slidesPerColumnFill:'row' }, offsetTop: unit.unitPx(10), } }, methods:{ mouseover(event,item){ if (event.target) { if (this.useOffsetWidth === undefined) { this.useOffsetWidth =event.target.parentNode.offsetWidth /2; } popup.$popup && popup.$popup.open(PopupExportComponent.giftBubble,{ value:true, x: event.clientX - event.offsetX + this.useOffsetWidth, y: event.clientY - event.offsetY + this.offsetTop, item, number: this.numberObject[item.gid] || 1, updateNumber:(data)=> this.updateNumber(data), reward:(data)=> this.reward(data) }); } }, mouseout(event){ // 设置关闭 popup.$popup && popup.$popup.open(PopupExportComponent.giftBubble,{value:false}); }, updateNumber({item,number}){ this.numberObject[item.gid] = number; }, reward({item,value}){ if (item.gid) { // 计算余额是否足够 let integral = item.gift_price * value; if (this.$store.getters.integral >= integral) { popup.$confirm({ title:'是否赠送'+value+'个'+(item.gift_name)+'?', confirm:()=>{ this.$request({ url:'gift/send_gift', token:true, data:{ pack:2, num: value, gid:item.gid } }) } }); } else { return popup.$toast('余额不足'); } } }, }, computed:mapState({ // @ts-ignore giftData:(state)=> state.gift.giftData }), created() { this.numberObject = {}; return this.$store.dispatch('initializationGiftPromise'); } }