import orderApi from '../../../api/order'; import userApi from '../../../api/user'; Page({ /** * 页面的初始数据 */ data: { statusDic:{ [orderApi.deliveryTimeType.immediate]:[ {key:'PENDING',value:orderApi.statusKV['PENDING']}, {key:'DELIVERING',value:orderApi.statusKV['DELIVERING']}, {key:'COMPLETED',value:orderApi.statusKV['COMPLETED']} ], [orderApi.deliveryTimeType.scheduled]:[ {key:'PICKUP_READY',value:orderApi.statusKV['PICKUP_READY']}, {key:'COMPLETED',value:orderApi.statusKV['COMPLETED']}, ] }, orderStatusList:[], orderStatusIndex:0, list:[], filterKey:'', filtedList:[], pager:{limit:10,loading:false,loadAll:false,pageIndex:0,refreshTrigger:false}, loadMoreText:'已经到底了', orderStatus:orderApi.status, genderKV:userApi.genderKV, productTypeKV:orderApi.product.typeKV, deliveryTimeType:orderApi.deliveryTimeType, deliveryTimeTypeKV:orderApi.deliveryTimeTypeKV, currentDeliveryTimeType:orderApi.deliveryTimeType.immediate, }, /** * 生命周期函数--监听页面加载 */ onLoad(options) { this.loadList(); }, refreshList(){ this.data.pager.pageIndex = 0; this.data.pager.loadAll = false; this.setData({ pager:this.data.pager }); this.loadList(); }, loadList(){ if(this.data.pager.loading||this.data.pager.loadAll){ return; } this.setData({ "pager.loading":true }); let status = this.data.statusDic[this.data.currentDeliveryTimeType][this.data.orderStatusIndex].key; let params = { skip:this.data.pager.pageIndex*this.data.pager.limit, limit:this.data.pager.limit, delivery_time_type:this.data.currentDeliveryTimeType, status:status } if(this.needFilterList()){ //不分页 直接返回全部,供本地搜索 params.skip = 0; params.limit = 1000; }else{ this.setData({ loadMoreText:'已经到底了' }) } orderApi.list(params).then((data)=>{ if(this.data.pager.pageIndex==0){ this.data.list = data.items; }else{ this.data.list = this.data.list.concat(data.items); } this.data.pager.loading = false; this.data.pager.pageIndex++; this.data.pager.refreshTrigger = false; if(data.items.length{ const endNumber = item.address.phone.substr(item.address.phone.length-4,4); console.log(endNumber); return endNumber.indexOf(value)>-1; }); let loadMoreText = '已经到底了'; if(value&&list.length==0){ loadMoreText = `暂无尾号 ${value} 的订单` } this.setData({ loadMoreText:loadMoreText, filtedList:list }) }, //接单 getOrder(event){ const item = event.currentTarget.dataset.item; const index = event.currentTarget.dataset.index; if(item.receiving)return; this.setData({ [`list[${index}].receiving`]:true }) if(item.product.delivery_time_type==this.data.deliveryTimeType.scheduled){ orderApi.complete(item.order.order_id).then((data)=>{ wx.showToast({ icon:'success', title: '自提成功', }) this.refreshList(); }) }else{ orderApi.accept(item.order.order_id).then((data)=>{ wx.showToast({ icon:'success', title: '接单成功', }) this.refreshList(); }) } }, //我已送达 receivedOrder(event){ const index = event.currentTarget.dataset.index; const item = event.currentTarget.dataset.item; orderApi.complete(item.order.order_id).then((data)=>{ wx.showToast({ icon:'success', title: '取货成功', }) this.refreshList(); }).catch(()=>{ this.setData({ [`list[${index}].receiving`]:false }) }) }, openMap(event){ const item = event.currentTarget.dataset.item; wx.openLocation({ name:`${item.address.name}${this.data.genderKV[item.address.gender]}:${item.address.phone}`, address:`${item.address.community_name}${item.address.address_detail}`, latitude:item.address.latitude, longitude:item.address.longitude, }) }, emptyFun(){}, /** * 生命周期函数--监听页面初次渲染完成 */ onReady() { }, /** * 生命周期函数--监听页面显示 */ onShow() { }, /** * 生命周期函数--监听页面隐藏 */ onHide() { }, /** * 生命周期函数--监听页面卸载 */ onUnload() { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh() { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom() { }, /** * 用户点击右上角分享 */ onShareAppMessage() { } })