// 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:[], prizeId:null, showCoupon: false }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { this.setData({ prizeId:wx.getStorageSync('prizeId') }) let CtripHotelCart = app.globalData.product; // 获取默认联系人 userApi.user_post("user/getDefaultContact",{ contactType:"CONTACT", tm_flag: true, }).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, showCoupon: true }) this.couponCom = this.selectAllComponents("#coupon")[0]; // if (this.couponCom) { // this.couponCom.getMaxCoupon() // } }) }, 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){ 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, tm_flag: true, }).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{ 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(this.data.prizeId){ data.lottery_id = this.data.prizeId } 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 () { } })