|
|
|
|
// pages/order/hotel/index.js
|
|
|
|
|
import commonApi from "../../../utils/https/common"
|
|
|
|
|
import userApi from "../../../utils/https/user"
|
|
|
|
|
let app = getApp();
|
|
|
|
|
Page({
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 页面的初始数据
|
|
|
|
|
*/
|
|
|
|
|
data: {
|
|
|
|
|
safeBottom:app.globalData.safeBottom,
|
|
|
|
|
showNoticeFlag:false,
|
|
|
|
|
roomNumbers:[1,2,3,4,5,6,7,8],
|
|
|
|
|
times:['14:00','15:00','16:00','17:00','18:00','19:00','20:00','21:00','22:00','23:00','23:59',"次日1:00","次日2:00","次日3:00","次日4:00","次日5:00","次日6:00"],
|
|
|
|
|
timeIndex:0,
|
|
|
|
|
numberIndex:0,
|
|
|
|
|
showInfoFlag:false,
|
|
|
|
|
showFeeFlag:false,
|
|
|
|
|
CtripHotelCart:null,
|
|
|
|
|
wifis:['无WiFi','收费WiFi','免费WiFi'],
|
|
|
|
|
wiredNetworks:['无有线宽带','收费有线宽带','免费有线宽带'],
|
|
|
|
|
showInfoMoreFlag:false,
|
|
|
|
|
selectLinkman:[],
|
|
|
|
|
customerNum:0,
|
|
|
|
|
customerName:[],
|
|
|
|
|
coupon:null,
|
|
|
|
|
tel:'',
|
|
|
|
|
priceInfo:[],
|
|
|
|
|
showMask:false,
|
|
|
|
|
editId:null,
|
|
|
|
|
linkmanList:[]
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 生命周期函数--监听页面加载
|
|
|
|
|
*/
|
|
|
|
|
onLoad: function (options) {
|
|
|
|
|
this.couponCom = this.selectAllComponents("#coupon")[0];
|
|
|
|
|
let CtripHotelCart = app.globalData.product;
|
|
|
|
|
// 获取默认联系人
|
|
|
|
|
userApi.user_post("user/getDefaultContact",{
|
|
|
|
|
contactType:"CONTACT"
|
|
|
|
|
}).then(res=>{
|
|
|
|
|
if(res.data){
|
|
|
|
|
this.setData({
|
|
|
|
|
selectLinkman:[res.data],
|
|
|
|
|
tel:res.data.tel
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
this.getLinkmanList()
|
|
|
|
|
})
|
|
|
|
|
let roomNumbers = []
|
|
|
|
|
for(let i=0;i<10;i++){
|
|
|
|
|
roomNumbers.push(i+1)
|
|
|
|
|
}
|
|
|
|
|
this.setData({
|
|
|
|
|
roomNumbers:roomNumbers
|
|
|
|
|
})
|
|
|
|
|
commonApi.user_post("product/product_date_price",{
|
|
|
|
|
sku_id:CtripHotelCart.id,
|
|
|
|
|
end_date:CtripHotelCart.endDate,
|
|
|
|
|
start_date:CtripHotelCart.startDate
|
|
|
|
|
}).then(res=>{
|
|
|
|
|
res.data.splice(1,1);
|
|
|
|
|
let price_sum = 0;
|
|
|
|
|
res.data.map(item=>{
|
|
|
|
|
price_sum = price_sum + Number(item.price)
|
|
|
|
|
})
|
|
|
|
|
CtripHotelCart.price_sum = price_sum;
|
|
|
|
|
this.setData({
|
|
|
|
|
priceInfo:res.data,
|
|
|
|
|
CtripHotelCart:CtripHotelCart
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
inputTel:function(e){
|
|
|
|
|
this.setData({
|
|
|
|
|
tel:e.detail.value
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 生命周期函数--监听页面初次渲染完成
|
|
|
|
|
*/
|
|
|
|
|
onReady: function () {
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
|
// 显示房型详情
|
|
|
|
|
showInfo:function(){
|
|
|
|
|
this.setData({
|
|
|
|
|
showInfoFlag:!this.data.showInfoFlag
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
// 房型详情显示更多
|
|
|
|
|
showInfoMore:function(){
|
|
|
|
|
this.setData({
|
|
|
|
|
showInfoMoreFlag:!this.data.showInfoMoreFlag
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
// 显示价格明细
|
|
|
|
|
showFee:function(){
|
|
|
|
|
this.setData({
|
|
|
|
|
showFeeFlag:!this.data.showFeeFlag
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
// 修改房间数量
|
|
|
|
|
changeNumber:function(e){
|
|
|
|
|
if(Number(e.detail.value)<this.data.numberIndex && this.data.coupon){
|
|
|
|
|
wx.showToast({
|
|
|
|
|
title: '订单价格发生变化,请重新选择优惠券',
|
|
|
|
|
icon: 'none'
|
|
|
|
|
})
|
|
|
|
|
this.couponCom.setNullCoupon();
|
|
|
|
|
this.setData({
|
|
|
|
|
coupon:null
|
|
|
|
|
})
|
|
|
|
|
app.globalData.couponInfo = null;
|
|
|
|
|
}
|
|
|
|
|
this.setData({
|
|
|
|
|
numberIndex: Number(e.detail.value)
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
// 入住人名字
|
|
|
|
|
inputCustomerName:function(e){
|
|
|
|
|
let name = e.detail.value,index = e.currentTarget.dataset.index,customerName = this.data.customerName;
|
|
|
|
|
customerName[index] = name;
|
|
|
|
|
console.log(customerName)
|
|
|
|
|
this.setData({
|
|
|
|
|
customerName:customerName
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
showLinkman:function(){
|
|
|
|
|
this.setData({
|
|
|
|
|
showMask:!this.data.showMask
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
gotoEdit:function(e){
|
|
|
|
|
this.setData({
|
|
|
|
|
editId:e.currentTarget.dataset.item.id
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
cancel:function(){
|
|
|
|
|
let selectLinkman = this.data.selectLinkman,linkmanList = this.data.linkmanList;
|
|
|
|
|
linkmanList.map(linkman=>{
|
|
|
|
|
linkman.selected = 0;
|
|
|
|
|
selectLinkman.map(item=>{
|
|
|
|
|
if(item.id==linkman.id){
|
|
|
|
|
linkman.selected = 1;
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
this.setData({
|
|
|
|
|
linkmanList:linkmanList
|
|
|
|
|
})
|
|
|
|
|
this.showLinkman()
|
|
|
|
|
},
|
|
|
|
|
confirm:function(){
|
|
|
|
|
let linkmanList = this.data.linkmanList,selectLinkman = [];
|
|
|
|
|
linkmanList.map(linkman=>{
|
|
|
|
|
if(linkman.selected==1){
|
|
|
|
|
selectLinkman.push(linkman);
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
if(selectLinkman.length>(this.data.numberIndex+1)){
|
|
|
|
|
this.setData({
|
|
|
|
|
numberIndex:selectLinkman.length-1
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
if(selectLinkman.length>0){
|
|
|
|
|
this.setData({
|
|
|
|
|
tel:selectLinkman[0].tel
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
this.setData({
|
|
|
|
|
selectLinkman:selectLinkman
|
|
|
|
|
})
|
|
|
|
|
this.showLinkman()
|
|
|
|
|
},
|
|
|
|
|
getLinkmanList:function(){
|
|
|
|
|
// 直接获取1000条出行人信息 就不要分页了
|
|
|
|
|
userApi.user_post("user/getContactOrConsignee",{
|
|
|
|
|
contactType:"CONTACT",
|
|
|
|
|
offset:0,
|
|
|
|
|
limit:1000
|
|
|
|
|
}).then(res=>{
|
|
|
|
|
let list = res.data;
|
|
|
|
|
list.map(item=>{
|
|
|
|
|
this.data.selectLinkman.map(linkman=>{
|
|
|
|
|
if(linkman.id==item.id){
|
|
|
|
|
item.selected = 1;
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
this.setData({
|
|
|
|
|
linkmanList:list
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
setDefault:function(e){
|
|
|
|
|
let item = e.currentTarget.dataset.item,linkmanList = this.data.linkmanList;
|
|
|
|
|
userApi.user_post("user/setDefaultContact",{
|
|
|
|
|
contactId:item.id
|
|
|
|
|
}).then(res=>{
|
|
|
|
|
if(res.code==1){
|
|
|
|
|
wx.showToast({
|
|
|
|
|
title: '设置成功',
|
|
|
|
|
icon: 'success'
|
|
|
|
|
})
|
|
|
|
|
linkmanList.map(linkman=>{
|
|
|
|
|
if(linkman.id==item.id){
|
|
|
|
|
linkman.is_default=1;
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
linkman.is_default = 0;
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
this.setData({
|
|
|
|
|
linkmanList:linkmanList
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
selectIt:function(e){
|
|
|
|
|
let item = e.currentTarget.dataset.item,linkmanList = this.data.linkmanList;
|
|
|
|
|
linkmanList.map(linkman=>{
|
|
|
|
|
if(item.id==linkman.id){
|
|
|
|
|
linkman.selected = item.selected==1?0:1
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
this.setData({
|
|
|
|
|
linkmanList:linkmanList
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 生命周期函数--监听页面显示
|
|
|
|
|
*/
|
|
|
|
|
onShow: function () {
|
|
|
|
|
|
|
|
|
|
if(this.data.editId){
|
|
|
|
|
// 如果是去编辑的
|
|
|
|
|
let editId = this.data.editId;
|
|
|
|
|
userApi.user_post("user/getContactInfoById",{
|
|
|
|
|
id:editId
|
|
|
|
|
}).then(res=>{
|
|
|
|
|
let selectLinkman = this.data.selectLinkman,linkmanList = this.data.linkmanList;
|
|
|
|
|
selectLinkman.map(item=>{
|
|
|
|
|
if(item.id==editId){
|
|
|
|
|
item.name = res.data.name;
|
|
|
|
|
item.tel = res.data.tel;
|
|
|
|
|
item.id_number = res.data.id_number;
|
|
|
|
|
item.is_default = res.data.is_default;
|
|
|
|
|
}
|
|
|
|
|
else if(res.data.is_default==1){
|
|
|
|
|
item.is_default = 0;
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
linkmanList.map(item=>{
|
|
|
|
|
if(item.id==editId){
|
|
|
|
|
item.name = res.data.name;
|
|
|
|
|
item.tel = res.data.tel;
|
|
|
|
|
item.id_number = res.data.id_number;
|
|
|
|
|
item.is_default = res.data.is_default;
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
this.setData({
|
|
|
|
|
linkmanList:linkmanList,
|
|
|
|
|
selectLinkman:selectLinkman
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
this.getLinkmanList()
|
|
|
|
|
}
|
|
|
|
|
this.setData({
|
|
|
|
|
coupon:app.globalData.couponInfo
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
// 去支付
|
|
|
|
|
gotoPay:function(){
|
|
|
|
|
// let CtripHotelCart = this.data.CtripHotelCart;
|
|
|
|
|
// 判断入住人姓名是否和房间数量一致
|
|
|
|
|
console.log(this.data.selectLinkman)
|
|
|
|
|
let customerName = this.data.selectLinkman,numberIndex = this.data.numberIndex+1;
|
|
|
|
|
if(customerName.length<numberIndex){
|
|
|
|
|
wx.showToast({
|
|
|
|
|
title: '请填写住客姓名',
|
|
|
|
|
icon:"none"
|
|
|
|
|
})
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
if(!this.data.tel){
|
|
|
|
|
wx.showToast({
|
|
|
|
|
title: '请填写手机号',
|
|
|
|
|
icon:"none"
|
|
|
|
|
})
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
let selectLinkman = [];
|
|
|
|
|
customerName.map(item=>{
|
|
|
|
|
selectLinkman.push(item.name);
|
|
|
|
|
})
|
|
|
|
|
let product = this.data.CtripHotelCart;
|
|
|
|
|
let data = {
|
|
|
|
|
coupon_id:this.data.coupon?this.data.coupon.id:null,
|
|
|
|
|
source:"WECHATXCX",
|
|
|
|
|
product_list:[{
|
|
|
|
|
type : "hotel",//酒店
|
|
|
|
|
product_id: product.product_id,
|
|
|
|
|
sku_id:product.id,
|
|
|
|
|
start_date:product.startDate,
|
|
|
|
|
end_date:product.endDate,
|
|
|
|
|
reserve_mobile:this.data.tel,
|
|
|
|
|
customer_name:selectLinkman.join(","),
|
|
|
|
|
product_num:numberIndex
|
|
|
|
|
}]
|
|
|
|
|
}
|
|
|
|
|
if(app.globalData.from){
|
|
|
|
|
data.system_name = app.globalData.from;
|
|
|
|
|
}
|
|
|
|
|
if(app.globalData.retailId){
|
|
|
|
|
data.commission_code = app.globalData.retailId;
|
|
|
|
|
app.globalData.retailId = null;
|
|
|
|
|
}
|
|
|
|
|
if(app.globalData.category_id){
|
|
|
|
|
data.category_id = app.globalData.category_id;
|
|
|
|
|
}
|
|
|
|
|
commonApi.user_post("order/create",{
|
|
|
|
|
data:JSON.stringify(data)
|
|
|
|
|
}).then(res=>{
|
|
|
|
|
}).catch(err=>{
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 生命周期函数--监听页面隐藏
|
|
|
|
|
*/
|
|
|
|
|
onHide: function () {
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 生命周期函数--监听页面卸载
|
|
|
|
|
*/
|
|
|
|
|
onUnload: function () {
|
|
|
|
|
app.globalData.coupon = null;
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 页面相关事件处理函数--监听用户下拉动作
|
|
|
|
|
*/
|
|
|
|
|
onPullDownRefresh: function () {
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 页面上拉触底事件的处理函数
|
|
|
|
|
*/
|
|
|
|
|
onReachBottom: function () {
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
})
|