319 lines
8.5 KiB
JavaScript
319 lines
8.5 KiB
JavaScript
// packageI/groupWork/groupWorkMy/groupWorkMy.js
|
||
const app = getApp();
|
||
Page({
|
||
|
||
/**
|
||
* 页面的初始数据
|
||
*/
|
||
data: {
|
||
tabs: [{
|
||
title: "正在拼团",
|
||
id: 0
|
||
},
|
||
{
|
||
title: "拼团成功",
|
||
id: 1
|
||
},
|
||
{
|
||
title: "拼团失败",
|
||
id: 2
|
||
}
|
||
],
|
||
networkLoading: false,
|
||
activeName: 0,
|
||
dataList: [],
|
||
loading: false,
|
||
isLoadMore: true,
|
||
|
||
//sku 规格弹窗data ====
|
||
optionsId: 0,
|
||
popupSpecs: false,
|
||
goods: {},
|
||
specs: [],
|
||
options: [],
|
||
// 拼团
|
||
groupLevel: [],
|
||
level_id: 0,
|
||
activity_option_id: "", //团规格属性价格ID主键,下单需要
|
||
alliance_detail_id: "", //团详情ID(拼团列表数据ID),下单需要
|
||
groupModel: "", //选择的拼团层级
|
||
special_options: "", //层级和规格的组合
|
||
selectGroupInfo: {} //拼团层级列表
|
||
//sku 规格弹窗data ======end
|
||
},
|
||
|
||
/**
|
||
* 生命周期函数--监听页面加载
|
||
*/
|
||
onLoad: function (options) {
|
||
this.data.groupModel = 0;
|
||
this.data.dataList = [];
|
||
this.getData(true);
|
||
},
|
||
buyClicked(e) {
|
||
console.log(e);
|
||
let _data = {
|
||
goodsId: this.data.goods.id,
|
||
optionsId: e.detail.optionsId,
|
||
total: 1,
|
||
tag: "group-work",
|
||
alliance_detail_id: this.data.alliance_detail_id,
|
||
activity_option_id: this.data.activity_option_id
|
||
};
|
||
let url = "/packageD/buy/myOrder_v2/myOrder_v2?tag=groupWork";
|
||
wx.navigateTo({
|
||
url: url + "&goodsId=" + _data.goodsId + "&optionsId=" + _data.optionsId + "&total=1&alliance_detail_id=" + _data.alliance_detail_id + "&activity_option_id=" + _data.activity_option_id,
|
||
});
|
||
},
|
||
getGoods(e) {
|
||
let {
|
||
activityid,
|
||
specid,
|
||
id
|
||
} = e.currentTarget.dataset;
|
||
this.data.alliance_detail_id = id;
|
||
app._postNetWork({
|
||
url: app.getNetAddresss("plugin.group-work.frontend.modules.goods.controllers.detail.index"),
|
||
data: {
|
||
record_id: activityid
|
||
},
|
||
success: (resdata) => {
|
||
var res = resdata.data;
|
||
if (res.result != 1) return app.tips(res.msg);
|
||
let goods = {};
|
||
goods['id'] = res.data.goods_id;
|
||
goods['has_option'] = res.data.goods_info.has_option;
|
||
goods['thumb'] = res.data.goods_info.thumb;
|
||
goods['unit'] = res.data.goods_info.sku;
|
||
|
||
let groupLevel = res.data.specs.filter(function (v) {
|
||
if (v.id == specid) {
|
||
goods['price'] = v.min_price;
|
||
return v;
|
||
}
|
||
}); //过滤层级,只显示之前开团参团支付的层级
|
||
this.setData({
|
||
goods: goods,
|
||
specs: res.data.goods_info.has_many_specs,
|
||
options: res.data.goods_info.has_many_options,
|
||
groupModel: specid,
|
||
groupLevel: groupLevel,
|
||
special_options: res.data.special_options,
|
||
|
||
});
|
||
this.setData({
|
||
popupSpecs: true
|
||
});
|
||
if (this.data.goods.has_option == 0) this.setGroupInfo(0);
|
||
}
|
||
});
|
||
},
|
||
skuSelected(e) {
|
||
if (e) this.data.optionsId = e.detail;
|
||
this.setGroupInfo(this.data.optionsId); //设置选择后规格对应的层级 过滤数据
|
||
},
|
||
//设置拼团层级的选择状态 过滤数据
|
||
setGroupInfo(_id) {
|
||
for (let i = 0; i < this.data.special_options.length; i++) {
|
||
let _optionSpecs = this.data.special_options[i].option_id;
|
||
//判断是否包含
|
||
if (_optionSpecs == this.data.optionsId) {
|
||
this.data.selectGroupInfo = this.data.special_options[i].activity_options;
|
||
this.selectComponent('#yzSpecs').setData({
|
||
popStock: this.data.special_options[i].stock //当前组合的库存
|
||
});
|
||
this.selectGroup(this.data.groupModel);
|
||
return;
|
||
}
|
||
}
|
||
},
|
||
|
||
//选择拼团层级
|
||
selectGroup(_level_id) {
|
||
this.data.groupModel = _level_id;
|
||
let selectGroupLever = "";
|
||
if (_level_id) {
|
||
if (this.data.goods.has_option == 1) {
|
||
//有规格
|
||
if (!this.data.optionsId) {
|
||
app.tips("请选择商品规格!");
|
||
this.data.groupModel = "";
|
||
} else {
|
||
selectGroupLever = this.data.selectGroupInfo.filter(function (v) {
|
||
if (v.spec_id == _level_id) {
|
||
return v.price;
|
||
}
|
||
});
|
||
this.selectComponent('#yzSpecs').setData({
|
||
popPrice: selectGroupLever[0].price
|
||
});
|
||
this.data.activity_option_id = selectGroupLever[0].id;
|
||
}
|
||
} else {
|
||
//无规格
|
||
this.data.selectGroupInfo = this.data.special_options[0].activity_options;
|
||
selectGroupLever = this.data.selectGroupInfo.filter(function (v) {
|
||
if (v.spec_id == _level_id) {
|
||
return v.price;
|
||
}
|
||
});
|
||
this.selectComponent('#yzSpecs').setData({
|
||
popPrice: selectGroupLever[0].price
|
||
});
|
||
this.data.activity_option_id = selectGroupLever[0].id;
|
||
}
|
||
}
|
||
},
|
||
getTab(e) {
|
||
this.setData({
|
||
activeName: e.detail.name
|
||
});
|
||
this.getData(false);
|
||
},
|
||
getData(tag) {
|
||
let status = ["1", "2", "-1"];
|
||
let index = this.data.activeName;
|
||
if (!tag && this.data.dataList[index].list.length > 0) {
|
||
return;
|
||
}
|
||
this.setData({
|
||
networkLoading: false
|
||
});
|
||
app._postNetWork({
|
||
url: app.getNetAddresss("plugin.group-work.frontend.modules.alliance.controllers.records.index"),
|
||
data: {
|
||
status: status[index]
|
||
},
|
||
success: (resdata) => {
|
||
this.setData({
|
||
networkLoading: true
|
||
});
|
||
var res = resdata.data;
|
||
if (res.result != 1) return app.tips(res.msg);
|
||
let dataList = this.data.dataList;
|
||
if (tag) {
|
||
this.data.tabs.forEach((val, index) => {
|
||
dataList.push({
|
||
isLoadMore: true,
|
||
page: 1,
|
||
total_page: 0,
|
||
list: []
|
||
});
|
||
});
|
||
this.setData({
|
||
dataList
|
||
});
|
||
}
|
||
let list = res.data.page_list.data;
|
||
for (let i = 0; i < list.length; i++) {
|
||
list[i].timeDifference = app.getTimeDifference(list[i].remain_time);
|
||
}
|
||
this.setData({
|
||
['dataList[' + index + '].list']: list,
|
||
['dataList[' + index + '].total_page']: res.data.page_list.last_page,
|
||
['dataList[' + index + '].isLoadMore']: res.data.page_list.last_page == 1 ? false : true
|
||
});
|
||
}
|
||
});
|
||
},
|
||
getMore() {
|
||
let index = this.data.activeName;
|
||
if (this.data.dataList[index].isLoadMore) {
|
||
return; //防止重复触发
|
||
}
|
||
if (this.data.dataList[index].page >= this.data.dataList[index].total_page) {
|
||
return;
|
||
}
|
||
this.data.dataList[index].isLoadMore = true;
|
||
this.data.dataList[index].page += 1;
|
||
let status = ["1", "2", "-1"];
|
||
app._postNetWork({
|
||
url: app.getNetAddresss("plugin.group-work.frontend.modules.alliance.controllers.records.index"),
|
||
data: {
|
||
status: status[index],
|
||
page: this.data.dataList[index].page
|
||
},
|
||
success: (resdata) => {
|
||
var res = resdata.data;
|
||
this.data.dataList[index].isLoadMore = false;
|
||
if (res.result != 1) {
|
||
return app.tips(res.msg);
|
||
} else {
|
||
let list = res.data.page_list.data;
|
||
for (let i = 0; i < list.length; i++) {
|
||
list[i].timeDifference = app.getTimeDifference(list[i].remain_time);
|
||
}
|
||
this.setData({
|
||
['dataList[' + index + '].list']: this.data.dataList[index].list.concat(list),
|
||
});
|
||
}
|
||
}
|
||
});
|
||
},
|
||
gotoDetail(e) {
|
||
let {
|
||
allianceid,
|
||
id
|
||
} = e.currentTarget.dataset;
|
||
wx.navigateTo({
|
||
url: '/packageI/groupWork/groupWorkDetail/groupWorkDetail?allianceid=' + allianceid + "&id=" + id
|
||
});
|
||
},
|
||
toOrder(e) {
|
||
let {
|
||
orderid
|
||
} = e.currentTarget.dataset;
|
||
wx.navigateTo({
|
||
url: '/packageA/member/orderdetail/orderdetail?order_id=' + orderid + "&orderType=groupWork"
|
||
});
|
||
},
|
||
|
||
/**
|
||
* 生命周期函数--监听页面初次渲染完成
|
||
*/
|
||
onReady: function () {
|
||
|
||
},
|
||
|
||
/**
|
||
* 生命周期函数--监听页面显示
|
||
*/
|
||
onShow: function () {
|
||
|
||
},
|
||
|
||
/**
|
||
* 生命周期函数--监听页面隐藏
|
||
*/
|
||
onHide: function () {
|
||
|
||
},
|
||
|
||
/**
|
||
* 生命周期函数--监听页面卸载
|
||
*/
|
||
onUnload: function () {
|
||
|
||
},
|
||
|
||
/**
|
||
* 页面相关事件处理函数--监听用户下拉动作
|
||
*/
|
||
onPullDownRefresh: function () {
|
||
|
||
},
|
||
|
||
/**
|
||
* 页面上拉触底事件的处理函数
|
||
*/
|
||
onReachBottom: function () {
|
||
this.getMore();
|
||
},
|
||
|
||
/**
|
||
* 用户点击右上角分享
|
||
*/
|
||
onShareAppMessage: function () {
|
||
|
||
}
|
||
}); |