Files
MER-2.2_2601/mer_uniapp/pages/activity/mer-good-seckill/index.vue
2026-03-08 20:07:52 +08:00

117 lines
2.8 KiB
Vue

<template>
<view class="activity-box">
<view class="activity_header" :style="{backgroundImage: headerBg}">
<view class='cart_nav'>
<nav-bar navTitle="秒杀列表" ref="navBarRef" iconColor='#fff' :backgroundColor="backgroundColor"
:isBackgroundColor="false"></nav-bar>
</view>
</view>
<view class="list-box" :style="{'z-index':listZindex}" @touchstart="touchStart">
<seckill-list :seckillList="seckillList" :loading="loading" :loadTitle="loadTitle"
:seckillStatus="1"></seckill-list>
</view>
</view>
</template>
<script>
import navBar from '@/components/navBar';
import useActivity from "@/mixins/useActivity";
import SeckillList from "../components/SeckillList";
import {
seckillMerchantApi
} from "../../../api/activity";
import {
silenceBindingSpread,
getUserSpread
} from '@/utils/index.js';
import {
mapGetters
} from "vuex";
import onShare from "@/mixins/onShare";
export default {
mixins: [useActivity,onShare],
name: "index",
computed: {
headerBg() {
return 'url(' + this.urlDomain + 'crmebimage/presets/seckill_header.png' + ')'
},
...mapGetters(['isLogin', 'uid', 'globalData']),
},
components: {
navBar,
SeckillList
},
data() {
return {
seckillList: [],
page: 1,
limit: 10,
loading: false,
loadend: false,
merId: 0,
loadTitle: '',
urlDomain: this.$Cache.get("imgHost"),
title: '秒杀列表'
}
},
onLoad(options) {
this.merId = options.merId
this.getSeckillList()
//分销码
getUserSpread(options);
},
onShow() {
//分销绑定
silenceBindingSpread(this.isLogin, this.globalData.spread);
},
// 滚动监听
onPageScroll(e) {
// 传入scrollTop值并触发所有easy-loadimage组件下的滚动监听事件
uni.$emit('scroll');
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function() {
this.getSeckillList();
},
methods: {
//滚动
touchStart() {
this.$refs.navBarRef.currentPage = false;
},
getSeckillList() {
let data = {
page: this.page,
limit: this.limit,
merId: this.merId,
};
if (this.loadend) return;
if (this.loading) return;
this.loadTitle = '';
this.loading = true
seckillMerchantApi(data).then(res => {
this.$set(this, 'page', this.page + 1);
this.seckillList = this.seckillList.concat(res.data.list || []);
this.loadend = this.page > res.data.totalPage;
this.loadTitle = this.loadend ? '已全部加载' : '加载更多';
this.loading = false;
this.showSkeleton = false
}).catch(err => {
this.loading = false
});
},
}
}
</script>
<style scoped lang="scss">
@import "../static/css/activity.scss";
/deep/.seckill_list{
padding: 0 !important;
background-color: #f5f5f5 !important;
}
/deep/.seckill_item{
border: none;
}
</style>