You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

294 lines
6.9 KiB

5 years ago
// pages/order/scene/index.js
let app = getApp()
import util from "../../../utils/util"
import commonApi from "../../../utils/https/common"
Page({
/**
* 页面的初始数据
*/
data: {
product:app.globalData.product,
productNum:1,
linkmanList:[],
date:"",
time:"",
remark:"",
singlePrice:0,
type:null,
coupon:app.globalData.couponInfo,
5 years ago
isLogin:false,
5 years ago
kjId:null,
gp_id:null
5 years ago
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
this.setData({
5 years ago
type:options.type,
5 years ago
kjId:app.globalData.kjId,
gp_id:app.globalData.gp_id || app.globalData.team_id
5 years ago
})
if(!app.globalData.product){
util.back();
return;
}
5 years ago
if(app.globalData.product.productNum){
this.setData({
productNum:app.globalData.product.productNum<1?1:app.globalData.product.productNum
})
}
5 years ago
this.setData({
product:app.globalData.product,
5 years ago
singlePrice:this.data.gp_id?app.globalData.product.sku.event_price:app.globalData.product.sku.price
5 years ago
})
5 years ago
if(!this.data.kjId && !this.data.gp_id){
5 years ago
this.couponCom = this.selectAllComponents("#coupon")[0];
}
5 years ago
},
setLinkman:function(e){
let linkmanList = e.detail;
if(this.data.productNum!=linkmanList.length && this.data.coupon){
wx.showToast({
title: '订单价格发生变化,请重新选择优惠券',
icon: 'none'
})
5 years ago
if(!this.data.kjId && !this.data.gp_id){
5 years ago
this.couponCom.setNullCoupon()
}
5 years ago
app.globalData.couponInfo = null;
this.setData({
coupon:null
})
}
5 years ago
let productNum = linkmanList.length==0?1:linkmanList.length;
if(this.data.gp_id){
productNum = app.globalData.product.maxNum;
}
5 years ago
this.setData({
5 years ago
productNum:productNum,
5 years ago
linkmanList:linkmanList
})
},
add:function(){
if(this.data.product.sku.sku_model.traveller_limit_num!=0 && this.data.productNum==this.data.product.sku.sku_model.traveller_limit_num){
wx.showToast({
title: '出行人限购'+this.data.product.sku.sku_model.traveller_limit_num+"份",
icon:'none'
})
return;
}
this.setData({
productNum:this.data.productNum+1
})
},
minus:function(){
if(this.data.productNum==1) return;
if(this.data.coupon){
wx.showToast({
title: '订单价格发生变化,请重新选择优惠券',
icon: 'none'
})
}
5 years ago
if(!this.data.kjId && !this.data.gp_id){
5 years ago
this.couponCom.setNullCoupon()
}
5 years ago
app.globalData.couponInfo = null;
this.setData({
productNum:(this.data.productNum-1),
coupon:null
})
},
changeDate:function(e){
if(e.detail.price!=this.data.singlePrice && this.data.coupon) {
wx.showToast({
title: '订单价格发生变化,请重新选择优惠券',
icon: 'none'
})
this.setData({
coupon:null
})
5 years ago
if(!this.data.kjId && !this.data.gp_id){
5 years ago
this.couponCom.setNullCoupon()
}
5 years ago
app.globalData.couponInfo = null;
}
this.setData({
date:e.detail,
5 years ago
singlePrice:this.data.gp_id?this.data.product.sku.event_price:e.detail.price
5 years ago
})
console.log(e.detail)
},
changeTime:function(e){
this.setData({
time:e.detail
})
},
changeRemark:function(e){
this.setData({
remark:e.detail.value
})
},
order:function(){
let linkmanList = this.data.linkmanList,productNum = this.data.productNum,date = this.data.date,time = this.data.time,remark=this.data.remark,product= this.data.product;
let linkmanIds=[];
if(linkmanList.length<productNum){
wx.showToast({
title: '请选择'+productNum+"个出行人",
icon:"none"
})
return;
}
if(!date){
wx.showToast({
title: '请选择使用日期',
icon:'none'
})
return
}
if(!time && date.is_time_stock==true){
wx.showToast({
title: '请选择使用时间',
icon:'none'
})
return
}
linkmanList.map(item=>{
linkmanIds.push(item.id)
})
let data = {
coupon_id:this.data.coupon?this.data.coupon.id:null,
source:"WECHATXCX",
product_list: [{
type:product.product.type,
product_id:product.product.id,
5 years ago
sku_id:date.sku_id?date.sku_id:product.sku.id,
5 years ago
start_time:time.start_time,
end_time:time.end_time,
use_date:date.date,
visitors:linkmanIds.join(","),
remark:remark,
product_num:productNum
5 years ago
}],
5 years ago
originate_order_id:this.data.kjId,
gp_id:app.globalData.gp_id,
team_id:app.globalData.team_id
5 years ago
}
5 years ago
if(app.globalData.from){
data.system_name = app.globalData.from;
}
if(app.globalData.retailId){
data.commission_code = app.globalData.retailId;
app.globalData.retailId = null;
}
5 years ago
if(app.globalData.category_id){
data.category_id = app.globalData.category_id;
}
5 years ago
commonApi.user_post("order/create",{
data:JSON.stringify(data)
}).then(res=>{
5 years ago
if(app.globalData.kjId){
this.setData({
kjId:null
});
app.globalData.kjId = null;
}
5 years ago
if(app.globalData.gp_id){
this.setData({
gp_id:null
});
app.globalData.gp_id = null;
}
5 years ago
})
},
5 years ago
// 活动预约
activityOrder:function(){
if(this.data.linkmanList && this.data.linkmanList.length>0){
commonApi.user_post("pbservice/Culture/booking",{
id:this.data.product.product.id,
name:this.data.linkmanList[0].name,
card_number:this.data.linkmanList[0].id_number,
tel:this.data.linkmanList[0].tel
}).then(res=>{
if(res.code==1){
wx.showToast({
title: '预约成功',
icon:'success'
})
setTimeout(()=>{
wx.navigateBack()
},1000)
return;
}
})
}
else {
wx.showToast({
title: '请选择出行人',
icon:'none'
})
return;
}
},
5 years ago
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
if(!this.data.isLogin){
commonApi.user_post("token/check").then(res=>{
if(res.code==1){
this.setData({
isLogin:true
})
}
})
}
this.setData({
coupon:app.globalData.couponInfo
})
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
5 years ago
this.setData({
5 years ago
kjId:null,
gp_id:null
5 years ago
});
app.globalData.kjId = null;
5 years ago
app.globalData.gp_id = null;
5 years ago
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
}
})