// pages/order/components/date/index.js import commonApi from "../../../../utils/https/common" import util from "../../../../utils/util" let app = getApp() Component({ /** * 组件的属性列表 */ options: { styleIsolation: 'apply-shared', addGlobalClass: true }, properties: { product:{ type:Object, default:{} } }, /** * 组件的初始数据 */ data: { threeDays:[], activeDate:"", datelist:[], showMoreDateFlag:false, moreFlag:true, timelist:[], timeIndex:0, isSzMuseum:false, kjIdCom:null, gpIdCom:null }, lifetimes: { attached: function() { this.setData({ kjIdCom:app.globalData.kjId, gpIdCom:app.globalData.gp_id || app.globalData.team_id }) // 在组件实例进入页面节点树时执行 let product = app.globalData.product,today = util.formatDate(new Date()),end_date = util.formatDate(new Date(new Date().getTime() + 60 * 24 * 60 * 60 * 1000)); if(product.product.title.indexOf("苏州博物馆")!=-1){ this.setData({ isSzMuseum:true }) } commonApi.user_post("token/check").then(res=>{ if(res.code==1){ // 获取价格日历 commonApi.user_post("product/product_date_price",{ start_date:today, end_date:end_date, sku_id:product.sku.id }).then(res=>{ // 如果之前已经在详情页面选择了日期的话 默认日期不能是第一个有库存的日期了 if(app.globalData.product.infoDate){ let dateIndex = res.data.slice(0,3).findIndex(item=>item.date==app.globalData.product.infoDate.date) // if(!app.globalData.product.infoDate.short_date){ // app.globalData.product.infoDate.short_date = app.globalData.product.infoDate.date.split("-").splice(1,2).join("-") // } this.setData({ activeDate:app.globalData.product.infoDate, moreFlag:dateIndex!=-1 }) this.getTimeStock() this.triggerEvent("onChangeDate",app.globalData.product.infoDate) } else { for(let i=0;i0){ res.data[i].short_date = res.data[i].date.split("-").splice(1,2).join("-") this.setData({ activeDate:res.data[i] }) this.getTimeStock() this.triggerEvent("onChangeDate",this.data.activeDate) break; } } } if(this.data.gpIdCom){ // 拼团的话 价格日历无效 所有价格都是sku里面的event_price res.data.map(item=>{ item.price = product.sku.event_price }) } this.setData({ datelist:res.data }) this.setData({ threeDays:res.data.slice(0,3) }) let index = this.data.threeDays.findIndex(item=>item.date==this.data.activeDate.date) this.setData({ moreFlag:index!=-1 }) console.log(res) }) } }) }, detached: function() { // 在组件实例被从页面节点树移除时执行 }, }, pageLifetimes:{ show:function(){ this.setData({ kjIdCom:app.globalData.kjId, gpIdCom:app.globalData.gp_id || app.globalData.team_id }) } }, /** * 组件的方法列表 */ methods: { showMoreDate:function(){ this.setData({ showMoreDateFlag:true }) }, hideCalendar:function(){ this.setData({ showMoreDateFlag:false }) }, changeDate:function(e){ let date = e.currentTarget.dataset.date; if(date.stock<=0) return; if(date.stock==null) return; if(date.price==null) return; this.setData({ activeDate:date, moreFlag:true }) this.triggerEvent("onChangeDate",this.data.activeDate) this.getTimeStock() }, // 修改日期 onTapDay:function(e){ let threeDays = this.data.threeDays,flag=false; threeDays.map(item=>{ if(item.date==e.detail.date){ flag = true } }) e.detail.short_date = e.detail.date.substr(5,5); this.setData({ activeDate:e.detail, showMoreDateFlag:false, moreFlag:flag }) this.triggerEvent("onChangeDate",this.data.activeDate) this.getTimeStock() }, getTimeStock:function(){ if(this.data.activeDate.is_time_stock!=true) return; commonApi.user_post("product/product_timestock_price",{ date:this.data.activeDate.date, sku_id:this.data.activeDate.sku_id?this.data.activeDate.sku_id:app.globalData.product.sku.id }).then(res=>{ let timeIndex = -1; if(app.globalData.product.infoTime){ this.triggerEvent("onChangeTime",app.globalData.product.infoTime); timeIndex = res.data.findIndex(item=>item.start_time==app.globalData.product.infoTime.start_time) this.setData({ timelist:res.data, timeIndex:timeIndex }) return; } for(let i=0;i0){ timeIndex = i; break; } } this.setData({ timelist:res.data, timeIndex:timeIndex }) this.triggerEvent("onChangeTime",this.data.timelist[this.data.timeIndex]) }) }, selectTime:function(e){ if(this.data.timelist[e.currentTarget.dataset.index].stock_number!=0){ this.setData({ timeIndex:e.currentTarget.dataset.index }) this.triggerEvent("onChangeTime",this.data.timelist[this.data.timeIndex]) } } } })