321 lines
8.6 KiB
JavaScript
321 lines
8.6 KiB
JavaScript
// packageI/groupWork/groupWorkDetail/groupWorkDetail.js
|
||
const app = getApp();
|
||
var yz_pay = require("../../../mycomponent/yz_pay/yz_pay");
|
||
Page({
|
||
behaviors: [yz_pay],
|
||
/**
|
||
* 页面的初始数据
|
||
*/
|
||
data: {
|
||
alliance_id: 0, //团状ID
|
||
goods: {},
|
||
status: null, //参团中奖状态:1:未中奖,2:已中奖
|
||
activity_status: 1, //团状态1:拼团中,2:拼团成功,-1:拼团失败
|
||
spec_status: null, //该层级活动状态
|
||
end_time: "",
|
||
active_status: "", //活动状态文字
|
||
timestamp: Date.parse(new Date()) / 1000, //获取当前时间戳
|
||
countDownTime: 0,
|
||
btnTest: "加载中...",
|
||
Participants: [], //参团人员
|
||
joinMember: [],
|
||
showSpecs: false,
|
||
groupLevel: [],
|
||
|
||
Payshow: false,
|
||
btnData: [], //支付方式集合,
|
||
payKeyboardShow: false, //键盘显示
|
||
|
||
timeData: {}, //倒计时组件
|
||
isJoin: false, //是否已参团
|
||
|
||
shareConfig: {}, //自定义分享信息
|
||
isPlaying: false //防止重复支付
|
||
},
|
||
|
||
/**
|
||
* 生命周期函数--监听页面加载
|
||
*/
|
||
onLoad: function (options) {
|
||
if (options.allianceid) {
|
||
this.data.alliance_id = options.allianceid;
|
||
}
|
||
this.initData();
|
||
this.getData();
|
||
},
|
||
onTimeChange(e) {
|
||
this.setData({
|
||
timeData: e.detail,
|
||
});
|
||
},
|
||
initData() {
|
||
this.setData({
|
||
showSpecs: false,
|
||
Payshow: false,
|
||
payKeyboardShow: false,
|
||
isPlaying: false
|
||
});
|
||
},
|
||
getData() {
|
||
app._postNetWork({
|
||
url: app.getNetAddresss("plugin.group-work.frontend.modules.alliance.controllers.detail.index"),
|
||
data: {
|
||
alliance_id: this.data.alliance_id,
|
||
},
|
||
success: (resdata) => {
|
||
var res = resdata.data;
|
||
if (res.result == 1) {
|
||
let recordData = res.data.record;
|
||
let Participants = [];
|
||
let goods = {};
|
||
goods["title"] = recordData.title;
|
||
goods["thumb"] = recordData.thumb;
|
||
goods["presentPrice"] = recordData.price;
|
||
goods["group_price"] = recordData.activity_price;
|
||
goods["person"] = recordData.person;
|
||
goods["pay"] = recordData.person - recordData.disparity;
|
||
this.data.joinMember = recordData.activity_detail;
|
||
|
||
for (let i = 0; i < recordData.activity_detail.length; i += 5) {
|
||
Participants.push(recordData.activity_detail.slice(i, i + 5));
|
||
}
|
||
|
||
// let stauts = recordData.activity_status; //1拼团中,2:拼团成功,-1:拼团失败
|
||
this.setData({
|
||
goods: goods,
|
||
Participants: Participants,
|
||
groupModel: recordData.spec_id,
|
||
status: recordData.status, //团状态1:拼团中,2:拼团成功,-1:拼团失败
|
||
spec_status: recordData.spec_status, //该层级活动状态
|
||
active_status: this.isWarnText(recordData.status, recordData.disparity),
|
||
countDownTime: recordData.status == 1 ? app.getTimeDifference(recordData.end_time) : 0,
|
||
isJoin: this.isJoined(),
|
||
btnTest: recordData.status == 1 ? (this.isJoined() ? "邀请好友" : "我要参团") : "我要开团"
|
||
});
|
||
if (Number(recordData.spec_status) == 3) {
|
||
this.setData({
|
||
btnTest: '已结束'
|
||
});
|
||
}
|
||
this.data.shareConfig['title'] = recordData.desc_title;
|
||
this.data.shareConfig['imgUrl'] = recordData.thumb;
|
||
this.data.shareConfig['description'] = recordData.desc_content;
|
||
} else {
|
||
wx.showToast({
|
||
title: res.msg,
|
||
duration: 1000,
|
||
icon: "none",
|
||
});
|
||
}
|
||
},
|
||
});
|
||
},
|
||
isJoined() {
|
||
//本人是否已参团
|
||
let uid = wx.getStorageSync("yz_uid");
|
||
let join = this.data.joinMember.findIndex(v => {
|
||
return v.uid == uid;
|
||
});
|
||
return join > -1 ? true : false;
|
||
},
|
||
isWarnText(status, _disparity) {
|
||
//处理不同状态下显示文字
|
||
let isPeopleOk = Number(_disparity) == 0 ? true : false; //是否已达到人数
|
||
if (status == 1) {
|
||
return "拼团中,离成团还差" + _disparity + "人";
|
||
}
|
||
if (status == 2) {
|
||
return "该团已拼团成功";
|
||
}
|
||
if (status == -1) {
|
||
let text = isPeopleOk ? "未中奖" : "未达到拼团人数,拼团失败";
|
||
return text;
|
||
}
|
||
},
|
||
clickBtn() {
|
||
if (Number(this.data.spec_status) == 3) {
|
||
wx.showToast({
|
||
title: '已结束',
|
||
duration: 1000,
|
||
icon: "none",
|
||
});
|
||
wx.navigateTo({
|
||
url: '/packageI/groupWork/groupWorkIndex/groupWorkIndex'
|
||
});
|
||
return;
|
||
}
|
||
if (this.data.status == 1) {
|
||
//活动进行中
|
||
if (!this.data.isJoin) {
|
||
this.getGoods(); //没参团过
|
||
}
|
||
} else {
|
||
wx.navigateTo({
|
||
url: '/packageA/detail_v2/detail_v2?name=99&activity_id=' + this.options.id
|
||
});
|
||
}
|
||
},
|
||
countDownEnd() {
|
||
this.setData({
|
||
active_status: "等待抽奖..."
|
||
});
|
||
},
|
||
gotoUrl(e) {
|
||
wx.navigateTo({
|
||
url: '/packageA/detail_v2/detail_v2?name=99&activity_id=' + this.options.id
|
||
});
|
||
},
|
||
getGoods() {
|
||
app._postNetWork({
|
||
url: app.getNetAddresss("plugin.group-work.frontend.modules.goods.controllers.detail.index"),
|
||
data: {
|
||
record_id: this.options.id,
|
||
},
|
||
success: (resdata) => {
|
||
var res = resdata.data;
|
||
if (res.result != 1) return app.tips(res.msg);
|
||
let goods = this.data.goods;
|
||
goods['id'] = res.data.goods_id;
|
||
goods['thumb'] = res.data.goods_info.thumb;
|
||
goods['stock'] = res.data.stock;
|
||
let groupLevel = res.data.specs.filter((v) => {
|
||
if (v.id == this.data.groupModel) {
|
||
goods['price'] = v.min_price;
|
||
goods['person'] = v.person;
|
||
return v;
|
||
}
|
||
}); //过滤层级,只显示之前开团参团支付的层级
|
||
this.setData({
|
||
goods: goods,
|
||
groupLevel: groupLevel,
|
||
showSpecs: true
|
||
});
|
||
}
|
||
});
|
||
},
|
||
//获取支付类型参数
|
||
getPayData() {
|
||
app._postNetWork({
|
||
url: app.getNetAddresss("plugin.group-work.frontend.modules.alliance.controllers.pay.button"),
|
||
success: (resdata) => {
|
||
var res = resdata.data;
|
||
if (res.result == 1) {
|
||
this.setData({
|
||
btnData: res.data.buttons,
|
||
showSpecs: false,
|
||
Payshow: true
|
||
});
|
||
} else {
|
||
wx.showToast({
|
||
title: res.msg,
|
||
duration: 1000,
|
||
icon: "none",
|
||
});
|
||
}
|
||
},
|
||
});
|
||
},
|
||
async payPost(e) {
|
||
console.log(e);
|
||
if (this.data.isPlaying) {
|
||
return;
|
||
}
|
||
let _data = e.currentTarget.dataset.info;
|
||
let json = {
|
||
pay_type: _data.value,
|
||
spec_id: this.data.groupModel,
|
||
alliance_id: this.data.alliance_id,
|
||
client_type: 2
|
||
};
|
||
|
||
if (_data.need_password) {
|
||
let pass = await this.getPayKeyboardPassword(); //开启支付密码验证
|
||
json.password = pass;
|
||
}
|
||
this.data.isPlaying = true;
|
||
app._getNetWork({
|
||
url: app.getNetAddresss('plugin.group-work.frontend.modules.alliance.controllers.apply.index'),
|
||
data: json,
|
||
success: (res) => {
|
||
this.data.isPlaying = false;
|
||
if (res.data.result === 1) {
|
||
this.handleOtherPay(_data, _data.value, res.data, "groupWork");
|
||
this.setData({
|
||
Payshow: false,
|
||
popupSpecs: false,
|
||
showSpecs: false
|
||
});
|
||
} else {
|
||
Dialog.alert({
|
||
title: '提示',
|
||
message: res.data.msg
|
||
}).then(() => {
|
||
// on close
|
||
});
|
||
console.error(res);
|
||
}
|
||
},
|
||
fail: (res) => {
|
||
console.error(res);
|
||
}
|
||
});
|
||
},
|
||
|
||
/**
|
||
* 生命周期函数--监听页面初次渲染完成
|
||
*/
|
||
onReady: function () {
|
||
|
||
},
|
||
|
||
/**
|
||
* 生命周期函数--监听页面显示
|
||
*/
|
||
onShow: function () {
|
||
|
||
},
|
||
|
||
/**
|
||
* 生命周期函数--监听页面隐藏
|
||
*/
|
||
onHide: function () {
|
||
|
||
},
|
||
|
||
/**
|
||
* 生命周期函数--监听页面卸载
|
||
*/
|
||
onUnload: function () {
|
||
|
||
},
|
||
|
||
/**
|
||
* 页面相关事件处理函数--监听用户下拉动作
|
||
*/
|
||
onPullDownRefresh: function () {
|
||
|
||
},
|
||
|
||
/**
|
||
* 页面上拉触底事件的处理函数
|
||
*/
|
||
onReachBottom: function () {
|
||
|
||
},
|
||
|
||
/**
|
||
* 用户点击右上角分享
|
||
*/
|
||
onShareAppMessage: function () {
|
||
let value = wx.getStorageSync("yz_uid");
|
||
let mid = "";
|
||
if (value) {
|
||
mid = value;
|
||
}
|
||
return {
|
||
title: this.data.shareConfig.title,
|
||
path: '/packageI/groupWork/groupWorkDetail/groupWorkDetail?allianceid=' + this.options.allianceid + '&id=' + this.options.id + '&mid=' + mid,
|
||
imageUrl: this.data.shareConfig.imgUrl
|
||
};
|
||
}
|
||
}); |