556 lines
14 KiB
JavaScript
556 lines
14 KiB
JavaScript
// pages/member/coupon_v2/coupon_v2.js
|
|
var app = getApp();
|
|
Page({
|
|
|
|
/**
|
|
* 页面的初始数据
|
|
*/
|
|
data: {
|
|
language: '',
|
|
selected: 0,
|
|
selectedidx: '1',
|
|
page: 1,
|
|
pageSize: 10,
|
|
total_page: 0,
|
|
isPresenter: false,
|
|
//待使用
|
|
wait_used: [],
|
|
overdue: [],
|
|
used: [],
|
|
usermessage: {
|
|
value: '',
|
|
item: '',
|
|
index: ''
|
|
},
|
|
presentershow: false,
|
|
display: 99999,
|
|
listData: [{
|
|
type: 1
|
|
},
|
|
{
|
|
type: 2
|
|
},
|
|
{
|
|
type: 3
|
|
},
|
|
{
|
|
type: 4
|
|
},
|
|
{
|
|
type: 5
|
|
},
|
|
{
|
|
type: 6
|
|
},
|
|
{
|
|
type: 7
|
|
}
|
|
],
|
|
bottomIndex: '',
|
|
// types:['全部','平台','门店','酒店','指定商品','分类商品','兑换卷','满减卷','折扣卷','快过期'],
|
|
types: [],
|
|
typesIndex: 0,
|
|
kFootshow: true,
|
|
write_off_coupon: false,
|
|
share_coupon: false,
|
|
combine_show: false,
|
|
|
|
couponListDataSet: [], //数据集
|
|
couponListData: [],
|
|
colors: ['#fbbd5c', '#ff8383', '#a291ff', '#f095ed', '#6dccf8', '#fb946c', '#cecece'],
|
|
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面加载
|
|
*/
|
|
onLoad: function (options) {
|
|
|
|
},
|
|
tapGo(e) {
|
|
if (this.data.selectedidx == '1') {
|
|
|
|
// let info = JSON.stringify(e.currentTarget.dataset.info);
|
|
let info = e.currentTarget.dataset.info;
|
|
// let mun;
|
|
if (this.data.isPresenter) {
|
|
info.isPresenter = this.data.isPresenter;
|
|
}
|
|
console.log();
|
|
if (info.num) {
|
|
console.log(info);
|
|
wx.navigateTo({
|
|
url: '/packageA/member/coupon_v2_detail/coupon_v2_detail?info=' + JSON.stringify(info) + '&combine=' + this.data.combine,
|
|
});
|
|
} else {
|
|
info.num = '1';
|
|
wx.navigateTo({
|
|
url: '/packageA/member/coupon_v2_detail/coupon_v2_detail?info=' + JSON.stringify(info) + '&combine=' + this.data.combine,
|
|
});
|
|
}
|
|
}
|
|
|
|
},
|
|
showButton(evt) {
|
|
let index = evt.detail;
|
|
console.log(evt.detail);
|
|
if (this.data.selectedidx == 1) {
|
|
this.data.wait_used[index].openIs = !this.data.wait_used[index].openIs;
|
|
this.setData({
|
|
wait_used: this.data.wait_used
|
|
});
|
|
} else if (this.data.selectedidx == 2) {
|
|
this.data.overdue[index].openIs = !this.data.overdue[index].openIs;
|
|
this.setData({
|
|
overdue: this.data.overdue
|
|
});
|
|
} else if (this.data.selectedidx == 3) {
|
|
this.data.used[index].openIs = !this.data.used[index].openIs;
|
|
this.setData({
|
|
used: this.data.used
|
|
});
|
|
}
|
|
},
|
|
setTypesIndex(evt) {
|
|
let index = evt.currentTarget.dataset.index;
|
|
if (index == this.data.typesIndex) return;
|
|
this.setData({
|
|
typesIndex: index
|
|
});
|
|
this._getNetData(this.data.selectedidx, index);
|
|
},
|
|
/**
|
|
* 生命周期函数--监听页面初次渲染完成
|
|
*/
|
|
onReady: function () {
|
|
let language = wx.getStorageSync('langIndex');
|
|
this.setData({
|
|
'language': language.en
|
|
});
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面显示
|
|
*/
|
|
onShow: function () {
|
|
this._initData();
|
|
this._getNetData(1, this.data.typesIndex);
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面隐藏
|
|
*/
|
|
onHide: function () {
|
|
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面卸载
|
|
*/
|
|
onUnload: function () {
|
|
|
|
},
|
|
|
|
/**
|
|
* 页面相关事件处理函数--监听用户下拉动作
|
|
*/
|
|
onPullDownRefresh: function () {
|
|
|
|
},
|
|
|
|
/**
|
|
* 页面上拉触底事件的处理函数
|
|
*/
|
|
onReachBottom: function () {
|
|
let page = this.data.page;
|
|
let pageSize = this.data.pageSize;
|
|
let pageStart = page * pageSize;
|
|
let pageEnd = (page + 1) * pageSize;
|
|
console.log(pageStart, pageEnd);
|
|
if (pageStart >= this.data.couponListDataSet.length) return;
|
|
if (pageEnd > this.data.couponListDataSet.length) pageEnd = this.data.couponListDataSet.length;
|
|
|
|
let moreData = this.data.couponListDataSet.slice(pageStart, pageEnd);
|
|
|
|
this.setData({
|
|
page: (page + 1),
|
|
couponListData: this.data.couponListData.concat(moreData)
|
|
});
|
|
|
|
console.log(this.data.page);
|
|
},
|
|
|
|
/**
|
|
* 用户点击右上角分享
|
|
*/
|
|
onShareAppMessage: function () {
|
|
|
|
},
|
|
onShareTimeline(){},
|
|
getmemberInfo(e) {
|
|
let val = e.detail.value;
|
|
var that = this;
|
|
let urlStr = app.getNetAddresss("member.member.memberInfo");
|
|
urlStr += '&uid=' + val;
|
|
app._getNetWork({
|
|
url: urlStr,
|
|
success: function (resdata) {
|
|
var res = resdata.data;
|
|
if (res.result == 1) {
|
|
that.setData({
|
|
memberInfo: res.data.nickname ? res.data.nickname : ''
|
|
});
|
|
}
|
|
},
|
|
fail: function (res) {
|
|
console.log(res);
|
|
}
|
|
});
|
|
},
|
|
//发起http请求
|
|
_getNetData(type, coupon_type) {
|
|
if (wx.tempCqSwipeCell) {
|
|
wx.tempCqSwipeCell.setData({
|
|
prevBox: 0
|
|
});
|
|
}
|
|
this.setData({
|
|
couponListData: [],
|
|
});
|
|
let that = this;
|
|
this.data.page = 1;
|
|
let urlStr = app.getNetAddresss("coupon.member-coupon.coupons-of-member-by-status-v2");
|
|
|
|
if (app.globalData.store_alone_temp == 1) {
|
|
// 开启门店独立模块
|
|
urlStr = app.getNetAddresss("plugin.store-alone-temp.frontend.coupon.coupons-of-member-by-status-v2");
|
|
}
|
|
|
|
urlStr += "&status_request=" + type;
|
|
urlStr += "&coupon_type=" + coupon_type;
|
|
urlStr += "&page=1";
|
|
app._getNetWork({
|
|
url: urlStr,
|
|
success: function (resdata) {
|
|
var res = resdata.data;
|
|
if (res.result == 1) {
|
|
var myData = res.data;
|
|
|
|
that.data.total_page = res.data.total ? res.data.total : 0;
|
|
that.data.couponListDataSet = myData.data;
|
|
console.log(typeof (res.data.search_array));
|
|
|
|
if (res.data.set) {
|
|
that.setData({
|
|
isPresenter: res.data.set.transfer
|
|
});
|
|
}
|
|
|
|
if (res.data.search_array) {
|
|
that.setData({
|
|
types: res.data.search_array || []
|
|
});
|
|
for (let i = 0; i < myData.data.length; i++) {
|
|
myData.data[i].openIs = false;
|
|
myData.data[i].ind = i;
|
|
if (myData.data[i].belongs_to_coupon.coupon_type_name == '门店商品') {
|
|
myData.data[i].type = 6;
|
|
} else if (myData.data[i].belongs_to_coupon.coupon_type_name == '平台商品') {
|
|
myData.data[i].type = 1;
|
|
} else if (myData.data[i].belongs_to_coupon.coupon_type_name == '兑换券') {
|
|
myData.data[i].type = 2;
|
|
} else if (myData.data[i].belongs_to_coupon.coupon_type_name == '分类商品') {
|
|
myData.data[i].type = 3;
|
|
} else if (myData.data[i].belongs_to_coupon.coupon_type_name == '指定商品') {
|
|
myData.data[i].type = 4;
|
|
} else if (myData.data[i].belongs_to_coupon.coupon_type_name == '酒店商品') {
|
|
myData.data[i].type = 5;
|
|
} else if (myData.data[i].belongs_to_coupon.coupon_type_name == '商品和门店') {
|
|
myData.data[i].type = 8;
|
|
}
|
|
}
|
|
}
|
|
|
|
that.setData({
|
|
couponListData: that.data.couponListDataSet.slice(0, that.data.pageSize),
|
|
});
|
|
|
|
} else {
|
|
wx.showToast({
|
|
icon: 'none',
|
|
title: res.msg,
|
|
duration: 1000
|
|
});
|
|
}
|
|
},
|
|
fail: function (res) {
|
|
console.log(res);
|
|
}
|
|
});
|
|
},
|
|
//切换优惠券状态列表
|
|
switchItem(e) {
|
|
let index = e.detail.index;
|
|
if ((index + 1) == this.data.selectedidx) return;
|
|
if (index == 0) {
|
|
this.setData({
|
|
selectedidx: '1'
|
|
});
|
|
} else if (index == 1) {
|
|
this.setData({
|
|
selectedidx: '2'
|
|
});
|
|
} else if (index == 2) {
|
|
this.setData({
|
|
selectedidx: '3'
|
|
});
|
|
}
|
|
this._initData();
|
|
console.log(this.data.typesIndex);
|
|
this._getNetData(this.data.selectedidx, this.data.typesIndex);
|
|
},
|
|
_initData() {
|
|
this.setData({
|
|
page: 1,
|
|
goload: true,
|
|
total_page: 0,
|
|
allLoaded: false,
|
|
isLoadMore: true,
|
|
isPresenter: false
|
|
});
|
|
|
|
},
|
|
presenterOnce(e) {
|
|
console.log(e);
|
|
let item = e.detail.item;
|
|
let ind = e.detail.ind;
|
|
this.presenter(item, ind);
|
|
},
|
|
//赠送优惠券
|
|
presenter(item, index) {
|
|
let that = this;
|
|
// let item = e.currentTarget.dataset.item;
|
|
// let index = e.currentTarget.dataset.index;
|
|
that.setData({
|
|
'usermessage.value': '',
|
|
'usermessage.item': '',
|
|
'usermessage.index': '',
|
|
memberInfo: ''
|
|
});
|
|
that.setData({
|
|
'usermessage.item': item,
|
|
'usermessage.index': index,
|
|
'presentershow': true
|
|
});
|
|
},
|
|
onconfirm(event) {
|
|
let that = this;
|
|
if (app._isTextEmpty(this.data.usermessage.value)) {
|
|
wx.showToast({
|
|
icon: 'none',
|
|
title: '用户ID不能为空',
|
|
duration: 1000
|
|
});
|
|
this.setData({
|
|
presentershow: false
|
|
});
|
|
return;
|
|
}
|
|
that._presenterPost(this.data.usermessage.value, this.data.usermessage.item, this.data.usermessage.index);
|
|
},
|
|
onclose(event) {
|
|
let that = this;
|
|
that.setData({
|
|
'usermessage.value': '',
|
|
'usermessage.item': '',
|
|
'usermessage.index': ''
|
|
});
|
|
that.setData({
|
|
presentershow: false
|
|
});
|
|
},
|
|
usermesbut: function (e) {
|
|
let val = e.detail.value;
|
|
this.setData({
|
|
'usermessage.value': val
|
|
});
|
|
},
|
|
//赠送post
|
|
_presenterPost(value, item, index) {
|
|
let that = this;
|
|
let urlStr = app.getNetAddresss("coupon.coupon-transfer.index");
|
|
urlStr += "&recipient=" + value;
|
|
urlStr += "&record_id=" + item.id;
|
|
app._getNetWork({
|
|
url: urlStr,
|
|
success: function (resdata) {
|
|
var res = resdata.data;
|
|
if (res.result == 1) {
|
|
if (that.data.wait_used.length > 0) {
|
|
let wait_used = that.data.wait_used;
|
|
wait_used.splice(index, 1);
|
|
that.setData({
|
|
wait_used: wait_used
|
|
});
|
|
wx.showToast({
|
|
icon: 'none',
|
|
title: '操作成功',
|
|
duration: 1500
|
|
});
|
|
}
|
|
that.setData({
|
|
presentershow: false
|
|
});
|
|
} else {
|
|
wx.showToast({
|
|
icon: 'none',
|
|
title: res.msg,
|
|
duration: 1500
|
|
});
|
|
that.setData({
|
|
presentershow: false
|
|
});
|
|
}
|
|
},
|
|
fail: function (res) {
|
|
console.log(res);
|
|
}
|
|
});
|
|
},
|
|
goBuyOnce(e) {
|
|
console.log(e);
|
|
let item = e.detail.item;
|
|
let ind = e.detail.ind;
|
|
this.goBuy(item, ind);
|
|
},
|
|
//通过类型去查询可用商品
|
|
goBuy(item, ind) {
|
|
// let item = e.currentTarget.dataset.item;
|
|
console.log('packageB/member/category/search_v2/search_v2');
|
|
if (item.belongs_to_coupon.use_type == 0) { //0商城通用
|
|
this.goHome();
|
|
} else if (item.belongs_to_coupon.use_type == 1) { //1指定分类
|
|
wx.navigateTo({
|
|
url: '/packageB/member/category/catelist/catelist?id=' + JSON.stringify(item.belongs_to_coupon.category_ids) +
|
|
'&fromHome=1'
|
|
});
|
|
} else if (item.belongs_to_coupon.use_type == 2) { //2指定商品
|
|
wx.navigateTo({
|
|
url: '/packageB/member/category/search_v2/search_v2?coupon=' + item.belongs_to_coupon.id + '&fromHome=1'
|
|
});
|
|
} else if (
|
|
item.belongs_to_coupon.use_type === 4 &&
|
|
Array.isArray(item.belongs_to_coupon.storeids)
|
|
) {
|
|
//4门店列表
|
|
wx.navigateTo({
|
|
url: '/packageC/o2o/o2oHome/o2oHome'
|
|
});
|
|
} else if (
|
|
item.belongs_to_coupon.use_type === 5 &&
|
|
typeof item.belongs_to_coupon.storeids === "number"
|
|
) {
|
|
//5单门店
|
|
wx.navigateTo({
|
|
url: '/packageC/o2o/o2oStore/o2oStore?store_id=' + item.belongs_to_coupon.storeids
|
|
});
|
|
} else if (
|
|
item.belongs_to_coupon.use_type === 7 &&
|
|
Array.isArray(item.belongs_to_coupon.hotel_ids)
|
|
) {
|
|
wx.navigateTo({
|
|
url: '/packageC/hotel/HotelIndex/HotelIndex'
|
|
});
|
|
} else if (
|
|
item.belongs_to_coupon.use_type === 6 &&
|
|
typeof item.belongs_to_coupon.hotel_ids === "number"
|
|
) {
|
|
wx.navigateTo({
|
|
url: '/packageC/hotel/HotelHome/HotelHome?id=' + item.belongs_to_coupon.hotel_ids
|
|
});
|
|
} else if (
|
|
item.belongs_to_coupon.use_type === 8
|
|
) {
|
|
wx.navigateTo({
|
|
url: '/packageB/member/category/search_v2/search_v2?keyword=' + item.belongs_to_coupon.goods_ids[0]
|
|
});
|
|
} else {
|
|
this.goHome();
|
|
}
|
|
},
|
|
goHome() {
|
|
wx.reLaunch({
|
|
url: '/packageG/index/index'
|
|
});
|
|
},
|
|
toggle(e) {
|
|
let index = e.currentTarget.dataset.index;
|
|
if (this.data.display == index) {
|
|
this.setData({
|
|
display: 99999
|
|
});
|
|
} else {
|
|
this.setData({
|
|
display: index
|
|
});
|
|
}
|
|
},
|
|
delteteItem(e) {
|
|
console.log(e);
|
|
let item = e.currentTarget.dataset.item;
|
|
let index = e.currentTarget.dataset.index;
|
|
let urlStr = app.getNetAddresss("coupon.member-coupon.delete");
|
|
urlStr += "&id=" + item.id;
|
|
|
|
if (wx.tempCqSwipeCell) {
|
|
wx.tempCqSwipeCell.setData({
|
|
prevBox: 0
|
|
});
|
|
}
|
|
app._getNetWork({
|
|
url: urlStr,
|
|
success: (resdata) => {
|
|
var res = resdata.data;
|
|
if (res.result == 1) {
|
|
let couponListData = this.data.couponListData;
|
|
couponListData.splice(index, 1);
|
|
this.setData({
|
|
couponListData
|
|
});
|
|
wx.showToast({
|
|
icon: 'none',
|
|
title: '操作成功',
|
|
duration: 1000
|
|
});
|
|
} else {
|
|
wx.showToast({
|
|
icon: 'none',
|
|
title: res.msg,
|
|
duration: 1000
|
|
});
|
|
}
|
|
},
|
|
fail: function (res) {
|
|
console.log(res);
|
|
}
|
|
});
|
|
},
|
|
gocouponStore() {
|
|
//跳转到领卷中心
|
|
wx.redirectTo({
|
|
url: '/packageD/coupon/coupon_store'
|
|
});
|
|
},
|
|
usermesbutInput(e) {
|
|
let val = e.detail.value;
|
|
this.data.usermessage.value = val;
|
|
},
|
|
tabrshowbtn(e) {
|
|
let bol = e.detail;
|
|
if (bol) {
|
|
this.setData({
|
|
kFootshow: false
|
|
});
|
|
}
|
|
}
|
|
}); |