162 lines
3.6 KiB
JavaScript
162 lines
3.6 KiB
JavaScript
import orderApi from '../../api/order';
|
|
import userApi from '../../api/user';
|
|
import {hidePhoneNumber} from '../../utils/util';
|
|
|
|
Page({
|
|
|
|
|
|
orderId:'',
|
|
/**
|
|
* 页面的初始数据
|
|
*/
|
|
data: {
|
|
orderDetail:{},
|
|
refreshTrigger:false,
|
|
|
|
|
|
orderStatus:orderApi.status,
|
|
orderStatusKV:orderApi.statusKV,
|
|
|
|
deliverStatusKV:orderApi.deliverStatusKV,
|
|
|
|
genderKV:userApi.genderKV,
|
|
|
|
orderStep:0
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面加载
|
|
*/
|
|
onLoad(options) {
|
|
this.orderId = options.id;
|
|
this.getOrderDetail();
|
|
},
|
|
getOrderDetail(){
|
|
orderApi.detail(this.orderId).then((data)=>{
|
|
let orderStep = 0;
|
|
if(data.status==this.data.orderStatus.received){
|
|
orderStep = 1;
|
|
}else if(data.status==this.data.orderStatus.delivering){
|
|
orderStep = 2;
|
|
}else if(data.status==this.data.orderStatus.unpaid||data.status==this.data.orderStatus.completed){
|
|
orderStep = 3;
|
|
}
|
|
data.complete_time = this.formatTime(data.complete_time);
|
|
data.pickup_time = this.formatTime(data.pickup_time);
|
|
data.received_time = this.formatTime(data.received_time);
|
|
const receivedStatusCode = wx.getStorageSync(data.orderid);
|
|
data.packages.map((item)=>{
|
|
if(receivedStatusCode){
|
|
if(item.pickup_codes.length==(receivedStatusCode[item.id]||[]).length){
|
|
item.receivedAll = true;
|
|
}
|
|
(receivedStatusCode[item.id]||[]).map((code)=>{
|
|
item[code] = true;
|
|
})
|
|
}
|
|
});
|
|
if(data.status==this.data.orderStatus.created||data.status==this.data.orderStatus.completed||data.status==this.data.orderStatus.unpaid){
|
|
data.address_phone = hidePhoneNumber(data.address_phone);
|
|
}
|
|
this.setData({
|
|
orderDetail:data,
|
|
refreshTrigger:false,
|
|
orderStep
|
|
})
|
|
}).catch((res)=>{
|
|
console.log(res);
|
|
this.setData({
|
|
refreshTrigger:false
|
|
})
|
|
})
|
|
},
|
|
copyOrderId(){
|
|
wx.setClipboardData({
|
|
data: this.data.orderDetail.orderid,
|
|
})
|
|
},
|
|
formatTime(time){
|
|
return (time||'').substr(5,11);
|
|
},
|
|
preview(event){
|
|
const current = event.currentTarget.dataset.url;
|
|
wx.previewImage({
|
|
current:current,
|
|
urls: this.data.orderDetail.complete_images,
|
|
})
|
|
},
|
|
previewPackageImage(event){
|
|
const current = event.currentTarget.dataset.item;
|
|
wx.previewImage({
|
|
current:current,
|
|
urls: this.data.orderDetail.pickup_images,
|
|
})
|
|
},
|
|
selectPackageCode(event){
|
|
const index = event.currentTarget.dataset.index;
|
|
const item = this.data.orderDetail.packages[index];
|
|
let receviedStatus = wx.getStorageSync(item.orderid)||{};
|
|
const checkedCode = event.detail.value;
|
|
item.pickup_codes.map((code)=>{
|
|
item[code] = !!checkedCode.find((c)=>c==code);
|
|
})
|
|
let receivedAll = item.pickup_codes.length==checkedCode.length;
|
|
item.receivedAll = receivedAll
|
|
this.setData({
|
|
[`orderDetail.packages[${index}]`]:item
|
|
});
|
|
receviedStatus[item.id] = checkedCode;
|
|
wx.setStorage({
|
|
key:item.orderid,
|
|
data:receviedStatus
|
|
})
|
|
},
|
|
/**
|
|
* 生命周期函数--监听页面初次渲染完成
|
|
*/
|
|
onReady() {
|
|
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面显示
|
|
*/
|
|
onShow() {
|
|
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面隐藏
|
|
*/
|
|
onHide() {
|
|
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面卸载
|
|
*/
|
|
onUnload() {
|
|
|
|
},
|
|
|
|
/**
|
|
* 页面相关事件处理函数--监听用户下拉动作
|
|
*/
|
|
onPullDownRefresh() {
|
|
|
|
},
|
|
|
|
/**
|
|
* 页面上拉触底事件的处理函数
|
|
*/
|
|
onReachBottom() {
|
|
|
|
},
|
|
|
|
/**
|
|
* 用户点击右上角分享
|
|
*/
|
|
onShareAppMessage() {
|
|
|
|
}
|
|
}) |