123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- 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 <LibMixins>{
- 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');
- }
- }
|