yuminge-app/yun-min-program-plugin-master/packageG/mycomponent/deposit/deposit.js

115 lines
3.5 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// packageE/lottery/lottery.js
// var app = getApp();
Component({
properties: {
datas: {
type: null,
},
component_id: {
type: null,
},
},
// 私有数据,可用于模板渲染
data: {
emptyImage: "https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/image.png",
clientWidth: "375",
countTime: 0,
timeData: {},
activity: {},
activity_id: '', // 活动id
goods_id: '', // 活动商品id
options_id: '', // 绑定商品规格的id
activity_start: '', //活动开始时间
activity_end: '', // 活动结束
currentTime: parseInt(new Date().getTime() / 1000),
activity_order: [],
ladderList: [], // 梯度数组
steps: 0,
},
lifetimes: {
// 生命周期函数可以为函数或一个在methods段中定义的方法名
attached() {
this.getActivity();
},
moved() {},
detached() {},
},
// 生命周期函数可以为函数或一个在methods段中定义的方法名
attached() {},
// 此处attached的声明会被lifetimes字段中的声明覆盖
ready() {
this.setData({
clientWidth: wx.getSystemInfoSync().windowWidth,
});
},
methods: {
toActivity() {
wx.redirectTo({
url: "/packageH/deposit_group/activity_index/activity_index?id=" + this.data.datas.activity.id
});
},
onChange(e) {
this.setData({
timeData: e.detail,
});
},
getActivity() {
if (!this.data.datas.activity || !this.data.datas.activity.id) {
return;
}
let countTime;
if (this.data.datas.activity.activity_start > parseInt(Date.now() / 1000) && this.data.datas.activity.status == 0) {
//* 未开始
countTime = parseInt(this.data.datas.activity.activity_start - parseInt(Date.now() / 1000)) * 1000;
} else {
//* 进行中
if (this.data.datas.activity.activity_end < Number(Date.now() / 1000) || this.data.datas.activity.status > 0) {
countTime = 0;
} else {
countTime = parseInt(this.data.datas.activity.activity_end - parseInt(Date.now() / 1000)) * 1000;
}
}
this.setData({
countTime: countTime,
activity_id: this.data.datas.activity.id,
goods_id: this.data.datas.activity.goods_id,
goods_option_id: this.data.datas.activity.goods_option_id,
activity_start: this.data.datas.activity.activity_start * 1000 - new Date(),
activity_end: this.data.datas.activity.activity_end * 1000 - new Date(),
activity: this.data.datas.activity,
});
this.resetSteps(this.data.datas.activity.ladder);
},
// 设置 达到哪一阶段
resetSteps(arr) {
let steps = 0;
arr = arr.reverse();
let firstLadder = {
...arr[0]
};
let actData = this.data.activity;
firstLadder.deal_price = actData.bind_goods.price;
arr.unshift(firstLadder);
for (let index = 0; index < arr.length; index++) {
// 第一梯队是一个区间
if (index === 0 && ((actData.ladder_type === 1 && actData.sale_count < arr[index].sale_num) || (actData.ladder_type === 0 && actData.order_count < arr[index].deal_num))) {
steps = 0;
break;
}
if (index > 0 && (actData.ladder_type === 1 && actData.sale_count >= arr[index].sale_num) || (actData.ladder_type === 0 && actData.order_count >= arr[index].deal_num)) {
steps = index;
}
}
this.setData({
steps,
ladderList: arr
});
},
},
});