yuminge-app/yun-min-program-plugin-master/packageB/member/group/MyGroups/MyGroups.js

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);
}
});