602 lines
16 KiB
JavaScript
602 lines
16 KiB
JavaScript
var app = getApp();
|
|
const storeAlone = "plugin.store-alone-temp.frontend.fightGroups.fight-groups.get-member-join-teams";
|
|
Page({
|
|
|
|
/**
|
|
* 页面的初始数据
|
|
*/
|
|
data: {
|
|
language: '',
|
|
info: {},
|
|
active: 0,
|
|
// more
|
|
page: 1, // 分页数,当前页数
|
|
isLoadMore: true, // 判断是否要加载更多的标志
|
|
total_page: 0, // 总页数
|
|
timer: null,
|
|
type: 'group',
|
|
// 拼团限制 start
|
|
is_frequency: 0,
|
|
member: [],
|
|
frequency: 0,
|
|
// 拼团限制 end
|
|
yhShow: false,
|
|
group_member_id: null,
|
|
zhpObj: []
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面加载
|
|
*/
|
|
onLoad: function (options) {
|
|
if (options.tag) {
|
|
this.setData({
|
|
active: Number(options.tag)
|
|
});
|
|
}
|
|
if (options.types == 'zhpGroup') {
|
|
this.getDataZhp(this.data.active);
|
|
let obj = ['正在拼团', '拼团成功', '拼团失败'];
|
|
wx.setNavigationBarTitle({
|
|
title: '我的珍惠拼',
|
|
});
|
|
this.setData({
|
|
type: options.types,
|
|
zhpObj: obj
|
|
});
|
|
|
|
} else {
|
|
this.getData(0);
|
|
}
|
|
},
|
|
// 珍惠拼易货
|
|
zhpYh(e) {
|
|
let that = this;
|
|
let id = e.currentTarget.dataset.id;
|
|
this.data.group_member_id = id;
|
|
let urlStr = app.getNetAddresss("plugin.zhp-group-lottery.frontend.goods.validate-barter");
|
|
urlStr += "&group_member_id=" + id;
|
|
app._getNetWork({
|
|
url: urlStr,
|
|
success: function (resdata) {
|
|
var res = resdata.data;
|
|
if (res.result == 1) {
|
|
that.setData({
|
|
barter_order_sn: res.data.barter_order_sn,
|
|
barter_value: res.data.barter_value,
|
|
barter_plugin_name: res.data.barter_plugin_name,
|
|
yhShow: true
|
|
});
|
|
} else {
|
|
wx.showToast({
|
|
title: res.msg,
|
|
duration: 1000,
|
|
icon: 'none'
|
|
});
|
|
}
|
|
},
|
|
fail: function (res) {
|
|
console.log(res);
|
|
},
|
|
});
|
|
},
|
|
submityh(tag) {
|
|
let that = this;
|
|
let _url = tag == 1 ? 'plugin.zhp-group-lottery.frontend.goods.sendAction' : 'plugin.zhp-group-lottery.frontend.goods.barter-action';
|
|
let urlStr = app.getNetAddresss(_url);
|
|
urlStr += "&group_member_id=" + this.data.group_member_id;
|
|
app._getNetWork({
|
|
url: urlStr,
|
|
success: (resdata) => {
|
|
var res = resdata.data;
|
|
if (res.result == 1) {
|
|
this.setData({
|
|
yhShow: false
|
|
});
|
|
wx.showModal({
|
|
title: '',
|
|
content: res.msg,
|
|
showCancel: true,
|
|
success(res) {
|
|
if (res.confirm) {
|
|
that.getDataZhp(that.data.active);
|
|
} else if (res.cancel) {
|
|
console.log('用户点击取消');
|
|
}
|
|
}
|
|
});
|
|
} else {
|
|
wx.showToast({
|
|
title: res.msg,
|
|
duration: 1000,
|
|
icon: 'none'
|
|
});
|
|
}
|
|
},
|
|
fail: function (res) {
|
|
console.log(res);
|
|
},
|
|
});
|
|
},
|
|
cancelyh() {
|
|
this.setData({
|
|
yhShow: false
|
|
});
|
|
},
|
|
zhpSendAction(e) {
|
|
let id = e.currentTarget.dataset.id;
|
|
this.data.group_member_id = id;
|
|
wx.showModal({
|
|
title: '',
|
|
content: '订单选择发货',
|
|
success: res => {
|
|
if (res.confirm) {
|
|
// console.log('用户点击确定')
|
|
this.submityh(1);
|
|
} else if (res.cancel) {
|
|
// console.log('用户点击取消')
|
|
}
|
|
}
|
|
});
|
|
},
|
|
// 易货end
|
|
showPopover(e) {
|
|
let index = e.currentTarget.dataset.index;
|
|
let _isShow = this.data.info[index].showPopover;
|
|
this.setData({
|
|
['info[' + index + '].showPopover']: !_isShow
|
|
});
|
|
},
|
|
/**
|
|
* 生命周期函数--监听页面初次渲染完成
|
|
*/
|
|
onReady: function () {
|
|
let language = wx.getStorageSync('langIndex');
|
|
this.setData({
|
|
'language': language.en
|
|
});
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面显示
|
|
*/
|
|
onShow: function () {},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面隐藏
|
|
*/
|
|
onHide: function () {},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面卸载
|
|
*/
|
|
onUnload: function () {
|
|
// 页面被被销毁的时候,清除定时器
|
|
clearTimeout(this.data.timer);
|
|
},
|
|
|
|
/**
|
|
* 页面相关事件处理函数--监听用户下拉动作
|
|
*/
|
|
onPullDownRefresh: function () {
|
|
this.getData(0);
|
|
},
|
|
|
|
/**
|
|
* 页面上拉触底事件的处理函数
|
|
*/
|
|
onReachBottom: function () {
|
|
if (this.data.isLoadMore) {
|
|
this.getMoreData();
|
|
} else {
|
|
wx.showToast({
|
|
title: '没有更多数据',
|
|
icon: 'none'
|
|
});
|
|
}
|
|
},
|
|
|
|
/**
|
|
* 用户点击右上角分享
|
|
*/
|
|
onShareAppMessage: function () {},
|
|
onChange(e) {
|
|
this.setData({
|
|
timeData: e.detail,
|
|
});
|
|
},
|
|
// 时间戳差值
|
|
getTimeDifference(Timestamp) {
|
|
var now = Date.parse(new Date());
|
|
let time = Timestamp < 1000000000000 ? Timestamp * 1000 : Timestamp;
|
|
if (time - now > 0) {
|
|
return time - now;
|
|
} else if (time - now <= 0) {
|
|
return 0;
|
|
}
|
|
},
|
|
getDataZhp(ind) {
|
|
let that = this;
|
|
let urlStr = app.getNetAddresss('plugin.zhp-group-lottery.frontend.group-member.get-group-member-list');
|
|
app._getNetWork({
|
|
url: urlStr,
|
|
data: {
|
|
is_win: ind
|
|
},
|
|
success: (resdata) => {
|
|
var res = resdata.data;
|
|
if (res.result == 1) {
|
|
that.setData({
|
|
total_page: res.data.last_page,
|
|
isLoadMore: true,
|
|
info: res.data.data,
|
|
page: this.data.page,
|
|
});
|
|
for (let i = 0; i < that.data.info.length; i++) {
|
|
that.data.info[i].timeDifference = that.getTimeDifference(that.data.info[i].lottery_time);
|
|
}
|
|
that.setData({
|
|
info: this.data.info
|
|
});
|
|
} else {
|
|
wx.showToast({
|
|
icon: 'none',
|
|
title: res.msg,
|
|
duration: 1500
|
|
});
|
|
}
|
|
}
|
|
});
|
|
},
|
|
getData(avtiveTag) {
|
|
let json = {};
|
|
console.log(avtiveTag);
|
|
|
|
if (avtiveTag == 0) {
|
|
json.team_status = 1; // 正在拼团
|
|
} else if (avtiveTag == 1) {
|
|
json.team_status = 2; // 拼团成功
|
|
} else if (avtiveTag == 2) {
|
|
json.team_status = 3; // 拼团失败
|
|
}
|
|
let urlStr = app.getNetAddresss(app.globalData.store_alone_temp == 1 ? storeAlone : 'plugin.fight-groups.frontend.controllers.fight-groups.get-member-join-teams');
|
|
app._getNetWork({
|
|
url: urlStr,
|
|
data: json,
|
|
success: (resdata) => {
|
|
var res = resdata.data;
|
|
if (res.result == 1) {
|
|
res.data.data.map(item => {
|
|
let date = new Date(item.has_one_team.start_time * 1000);
|
|
let Y = date.getFullYear() + '-';
|
|
let M =
|
|
(date.getMonth() + 1 < 10 ?
|
|
'0' + (date.getMonth() + 1) :
|
|
date.getMonth() + 1) + '-';
|
|
let D = date.getDate() + ' ';
|
|
let h = date.getHours() + ':';
|
|
let m = date.getMinutes() + ':';
|
|
let s = date.getSeconds() < 10 ? date.getSeconds() + '0' : date.getSeconds();
|
|
item.has_one_team.start_time = Y + M + D + h + m + s;
|
|
});
|
|
this.setData({
|
|
total_page: res.data.last_page,
|
|
isLoadMore: true,
|
|
info: res.data.data,
|
|
page: res.data.current_page,
|
|
is_frequency: res.data.is_frequency,
|
|
member: res.data.member,
|
|
frequency: res.data.frequency
|
|
});
|
|
this.countDown();
|
|
if (!this.data.total_page) {
|
|
this.setData({
|
|
total_page: 0
|
|
});
|
|
}
|
|
} else {
|
|
wx.showToast({
|
|
icon: 'none',
|
|
title: res.msg,
|
|
duration: 1500
|
|
});
|
|
}
|
|
}
|
|
});
|
|
},
|
|
toStore(e) {
|
|
let store_id = e.target.dataset.id || e.currentTarget.dataset.id;
|
|
wx.navigateTo({
|
|
url: '/packageC/o2o/HomeSeller/HomeSeller?store_id=' + store_id
|
|
});
|
|
},
|
|
gotoOrder(e) {
|
|
let order_id = e.target.dataset.id || e.currentTarget.dataset.id;
|
|
wx.navigateTo({
|
|
url: '/packageA/member/orderdetail/orderdetail?order_id=' + order_id + '&orderType=groups'
|
|
});
|
|
},
|
|
goZhpUrl(e) {
|
|
let item = e.currentTarget.dataset.item;
|
|
let key = e.currentTarget.dataset.key;
|
|
let url, json;
|
|
if (key == 'detail') {
|
|
wx.navigateTo({
|
|
url: '/packageI/newGroup/zhpgroupDetail/zhpgroupDetail?id=' + item.group_id + '&action=2'
|
|
});
|
|
}
|
|
if (key == 'join') {
|
|
url = app.getNetAddresss('plugin.zhp-group-lottery.frontend.order.participate-group');
|
|
json = {
|
|
group_member_id: item.id
|
|
};
|
|
this.joinQuitReq(url, json);
|
|
}
|
|
if (key == 'quit') {
|
|
url = app.getNetAddresss('plugin.zhp-group-lottery.frontend.group-member.cancel-group-member');
|
|
json = {
|
|
group_member_id: item.id
|
|
};
|
|
this.joinQuitReq(url, json);
|
|
}
|
|
if (key == 'order') {
|
|
let order_id = e.currentTarget.dataset.id;
|
|
wx.navigateTo({
|
|
url: '/packageA/member/orderdetail/orderdetail?order_id=' + order_id + '&orderType=zhpGroup'
|
|
});
|
|
}
|
|
console.log(item);
|
|
},
|
|
joinQuitReq(url, json) {
|
|
app._getNetWork({
|
|
url: url,
|
|
data: json,
|
|
success: (resdata) => {
|
|
var res = resdata.data;
|
|
if (res.result == 1) {
|
|
wx.showToast({
|
|
icon: 'none',
|
|
title: res.msg,
|
|
duration: 1500
|
|
});
|
|
this.getDataZhp(this.data.active);
|
|
} else {
|
|
wx.showToast({
|
|
icon: 'none',
|
|
title: res.msg,
|
|
duration: 1500
|
|
});
|
|
}
|
|
}
|
|
});
|
|
},
|
|
cancelTap(e) {
|
|
let gid = e.currentTarget.dataset.item.id;
|
|
app._getNetWork({
|
|
url: app.getNetAddresss("plugin.zhp-group-lottery.frontend.group-member.quit-msg"),
|
|
data: {
|
|
id: gid
|
|
},
|
|
success: (resdata) => {
|
|
var res = resdata.data;
|
|
if (res.result == 1) {
|
|
let refund_poundage_amount = res.data.refund_poundage_amount;
|
|
if (refund_poundage_amount == 0) {
|
|
this.canceT(gid, '', false);
|
|
} else {
|
|
this.canceT(gid, refund_poundage_amount, true);
|
|
}
|
|
} else {
|
|
wx.showToast({
|
|
icon: 'none',
|
|
title: res.msg,
|
|
duration: 1500
|
|
});
|
|
}
|
|
}
|
|
});
|
|
|
|
},
|
|
canceT(gid, refund_poundage_amount, key) {
|
|
let that = this;
|
|
let url = app.getNetAddresss('plugin.zhp-group-lottery.frontend.group-member.quit-group');
|
|
let text = key ? `退团需要扣除退团手续费¥${refund_poundage_amount},退出该团?` : '退出该团';
|
|
wx.showModal({
|
|
title: text,
|
|
content: '',
|
|
success(res) {
|
|
if (res.confirm) {
|
|
app._getNetWork({
|
|
url: url,
|
|
data: {
|
|
id: gid
|
|
},
|
|
success: (resdata) => {
|
|
var res = resdata.data;
|
|
if (res.result == 1) {
|
|
wx.showToast({
|
|
title: res.msg,
|
|
icon:'none',
|
|
duration:1000
|
|
});
|
|
that.getDataZhp(that.data.active);
|
|
} else {
|
|
wx.showToast({
|
|
icon: 'none',
|
|
title: res.msg,
|
|
duration: 1500
|
|
});
|
|
}
|
|
}
|
|
});
|
|
} else if (res.cancel) {
|
|
// console.log('用户点击取消')
|
|
}
|
|
}
|
|
});
|
|
},
|
|
gotoGroup(e) {
|
|
let id = e.target.dataset.item.team_id || e.currentTarget.dataset.item.team_id;
|
|
let store_id = e.target.dataset.item.store_id || e.currentTarget.dataset.item.store_id;
|
|
wx.navigateTo({
|
|
url: '/packageB/member/group/GroupDetail/GroupDetail?id=' + id + '&store_id=' + store_id
|
|
});
|
|
},
|
|
// 获取更多数据,加载更多
|
|
getMoreData() {
|
|
this.setData({
|
|
isLoadMore: false
|
|
});
|
|
let json = {};
|
|
|
|
console.log(this.data.page, this.data.total_page);
|
|
let isurl = '';
|
|
if (this.data.type == 'zhpGroup') {
|
|
if (this.data.active == 0) {
|
|
json.is_win = 0; // 正在拼团
|
|
} else if (this.data.active == 1) {
|
|
json.is_win = 1; // 拼团成功
|
|
} else if (this.data.active == 2) {
|
|
json.is_win = 2; // 拼团失败
|
|
}
|
|
isurl = "plugin.zhp-group-lottery.frontend.group-member.get-group-member-list";
|
|
} else {
|
|
if (this.data.active == 0) {
|
|
json.team_status = 1; // 正在拼团
|
|
} else if (this.data.active == 1) {
|
|
json.team_status = 2; // 拼团成功
|
|
} else if (this.data.active == 2) {
|
|
json.team_status = 3; // 拼团失败
|
|
}
|
|
isurl = "plugin.fight-groups.frontend.controllers.fight-groups.get-member-join-teams";
|
|
}
|
|
if (this.data.page >= this.data.total_page) {
|
|
return;
|
|
} else {
|
|
let pages = this.data.page;
|
|
pages += 1;
|
|
this.setData({
|
|
page: pages
|
|
});
|
|
json.page = this.data.page;
|
|
let urlStr = app.getNetAddresss(isurl);
|
|
app._getNetWork({
|
|
url: urlStr,
|
|
data: json,
|
|
success: (resdata) => {
|
|
this.setData({
|
|
isLoadMore: true
|
|
});
|
|
var res = resdata.data;
|
|
if (res.result == 1) {
|
|
|
|
var nextPageData = res.data.data;
|
|
if (this.data.type == 'zhpGroup') {
|
|
for (let i = 0; i < this.data.info.length; i++) {
|
|
this.data.info[i].timeDifference = this.getTimeDifference(this.data.info[i].lottery_time);
|
|
}
|
|
this.setData({
|
|
info: this.data.info
|
|
});
|
|
let info = [...this.data.info, ...nextPageData];
|
|
this.setData({
|
|
info,
|
|
page: res.data.current_page
|
|
});
|
|
return;
|
|
}
|
|
nextPageData.map(item => {
|
|
let date = new Date(item.has_one_team.start_time * 1000);
|
|
let Y = date.getFullYear() + '-';
|
|
let M =
|
|
(date.getMonth() + 1 < 10 ?
|
|
'0' + (date.getMonth() + 1) :
|
|
date.getMonth() + 1) + '-';
|
|
let D = date.getDate() + ' ';
|
|
let h = date.getHours() + ':';
|
|
let m = date.getMinutes() + ':';
|
|
let s = date.getSeconds() < 10 ? date.getSeconds() + '0' : date.getSeconds();
|
|
|
|
item.has_one_team.start_time = Y + M + D + h + m + s;
|
|
});
|
|
|
|
let info = [...this.data.info, ...nextPageData];
|
|
this.setData({
|
|
info,
|
|
page: res.data.current_page
|
|
});
|
|
|
|
} else {
|
|
let p = this.data.page;
|
|
p -= 1;
|
|
this.setData({
|
|
page: p,
|
|
isLoadMore: false
|
|
});
|
|
wx.showToast({
|
|
icon: 'none',
|
|
title: res.msg,
|
|
duration: 1500
|
|
});
|
|
}
|
|
}
|
|
});
|
|
}
|
|
},
|
|
changeData(e) {
|
|
if (this.data.type == 'zhpGroup') {
|
|
console.log(e.detail.index);
|
|
this.setData({
|
|
active: e.detail.index,
|
|
info: []
|
|
});
|
|
this.getDataZhp(e.detail.index);
|
|
} else {
|
|
this.setData({
|
|
active: e.detail.index
|
|
});
|
|
this.getData(e.detail.index);
|
|
}
|
|
|
|
},
|
|
timeFormat(param) { // 小于10的格式化函数
|
|
return param < 10 ? '0' + param : param;
|
|
},
|
|
countDown() { // 倒计时函数
|
|
// 获取当前时间,同时得到活动结束时间数组
|
|
let newTime = new Date().getTime() / 1000;
|
|
let endTimeList = this.data.info;
|
|
|
|
// 对结束时间进行处理渲染到页面
|
|
endTimeList.forEach(o => {
|
|
|
|
let endTime = o.has_one_team.end_time;
|
|
// 如果活动未结束,对时间进行处理
|
|
|
|
if (endTime - newTime > 0) {
|
|
o.isShowtime = true;
|
|
let time = (endTime - newTime);
|
|
// 获取天、时、分、秒
|
|
let day = parseInt(time / (60 * 60 * 24));
|
|
let hou = parseInt(time % (60 * 60 * 24) / 3600);
|
|
let min = parseInt(time % (60 * 60 * 24) % 3600 / 60);
|
|
let sec = parseInt(time % (60 * 60 * 24) % 3600 % 60);
|
|
o.obj = {
|
|
day: this.timeFormat(day),
|
|
hou: this.timeFormat(hou),
|
|
min: this.timeFormat(min),
|
|
sec: this.timeFormat(sec)
|
|
};
|
|
} else { // 活动已结束,
|
|
o.isShowtime = false;
|
|
}
|
|
});
|
|
// 渲染,然后每隔一秒执行一次倒计时函数
|
|
this.setData({
|
|
info: endTimeList
|
|
});
|
|
|
|
this.data.timer = setTimeout(this.countDown, 1000);
|
|
}
|
|
|
|
}); |