"use strict";
|
|
const common_vendor = require("../../common/vendor.js");
|
|
const pages_mixins_pullRefreshMixin = require("../mixins/pullRefreshMixin.js");
|
|
const _sfc_main = {
|
|
mixins: [pages_mixins_pullRefreshMixin.pullRefreshMixin],
|
|
data() {
|
|
return {
|
|
orderId: "",
|
|
currentStep: 1,
|
|
// 当前进行到第几步
|
|
processSteps: [],
|
|
address: "",
|
|
appointmentTime: "",
|
|
estimatePrice: "",
|
|
finalPrice: "",
|
|
clothesList: [],
|
|
currentStatus: {
|
|
text: "",
|
|
time: "",
|
|
icon: ""
|
|
},
|
|
phone: "",
|
|
hasReport: false,
|
|
reportTime: "",
|
|
showEditButton: true,
|
|
expressCompany: "",
|
|
expressNo: "",
|
|
showCancelModal: false,
|
|
statusBarHeight: 0,
|
|
orderDetail: null
|
|
};
|
|
},
|
|
computed: {
|
|
timeLabel() {
|
|
if (this.currentStep === 4) {
|
|
return "回收到账时间";
|
|
} else if (this.currentStep === 3) {
|
|
return "质检完成时间";
|
|
} else {
|
|
return "上门时间";
|
|
}
|
|
},
|
|
showEstimate() {
|
|
return this.currentStep < 3;
|
|
}
|
|
},
|
|
methods: {
|
|
async onRefresh() {
|
|
await new Promise((resolve) => setTimeout(resolve, 1e3));
|
|
common_vendor.index.stopPullRefresh();
|
|
},
|
|
goBack() {
|
|
getApp().globalData.shouldClearRecycle = true;
|
|
common_vendor.index.navigateBack();
|
|
},
|
|
showMore() {
|
|
},
|
|
onShare() {
|
|
},
|
|
viewAddress() {
|
|
},
|
|
viewReport() {
|
|
if (this.currentStatus.text.includes("已结款")) {
|
|
common_vendor.index.navigateTo({
|
|
url: "/pages/component/inspection?status=qualified"
|
|
});
|
|
} else {
|
|
common_vendor.index.navigateTo({
|
|
url: "/pages/component/inspection?status=unqualified"
|
|
});
|
|
}
|
|
},
|
|
editOrder() {
|
|
},
|
|
// 更新订单状态
|
|
updateOrderStatus(status) {
|
|
switch (status) {
|
|
case "cancelled":
|
|
this.currentStep = 0;
|
|
this.currentStatus = {
|
|
text: "已取消",
|
|
time: "",
|
|
icon: "/static/my/【待取件】快递员正在赶来.png"
|
|
};
|
|
this.showEditButton = false;
|
|
break;
|
|
case "processing":
|
|
this.currentStep = 2;
|
|
this.currentStatus = {
|
|
text: "【待取件】快递员正在赶来",
|
|
time: "2025-04-20 11:00~13:00",
|
|
icon: "/static/my/【待取件】快递员正在赶来.png"
|
|
};
|
|
break;
|
|
case "collected":
|
|
this.currentStep = 2;
|
|
this.currentStatus = {
|
|
text: "【已取件】快递员正在送至质检",
|
|
time: "2025-04-30 11:42",
|
|
icon: "/static/my/【上门中】快递员正在赶来.png"
|
|
};
|
|
this.showEditButton = false;
|
|
break;
|
|
case "inspecting":
|
|
this.currentStep = 3;
|
|
this.currentStatus = {
|
|
text: "【质检中】质检员正在质检",
|
|
time: "2025-04-20 11:00",
|
|
icon: "/static/my/逐件验-配图.png"
|
|
};
|
|
this.showEditButton = false;
|
|
break;
|
|
case "pending_payment":
|
|
this.currentStep = 4;
|
|
this.currentStatus = {
|
|
text: "【待结款】待平台确认结款项",
|
|
time: "2025-04-20 12:00",
|
|
icon: "/static/my/【已结款】平台已结款至账户.png"
|
|
};
|
|
this.hasReport = true;
|
|
this.reportTime = "2025-03-20 11:40";
|
|
this.showEditButton = false;
|
|
break;
|
|
case "completed":
|
|
this.currentStep = 4;
|
|
this.currentStatus = {
|
|
text: "【已结款】平台已结款至账户",
|
|
time: "2025-04-20 12:01",
|
|
icon: "/static/my/【已结款】平台已结款至账户.png"
|
|
};
|
|
this.hasReport = true;
|
|
this.reportTime = "2025-03-20 11:40";
|
|
this.showEditButton = false;
|
|
break;
|
|
}
|
|
},
|
|
copyExpressNo() {
|
|
common_vendor.index.setClipboardData({
|
|
data: this.expressCompany + this.expressNo,
|
|
success: () => {
|
|
common_vendor.index.showToast({ title: "已复制", icon: "none" });
|
|
}
|
|
});
|
|
},
|
|
confirmCancelOrder() {
|
|
this.showCancelModal = false;
|
|
this.currentStep = 0;
|
|
this.currentStatus = {
|
|
text: "已取消",
|
|
time: this.getNowTime(),
|
|
icon: "/static/【待取件】快递员正在赶来.png"
|
|
};
|
|
},
|
|
getNowTime() {
|
|
const now = /* @__PURE__ */ new Date();
|
|
const y = now.getFullYear();
|
|
const m = (now.getMonth() + 1).toString().padStart(2, "0");
|
|
const d = now.getDate().toString().padStart(2, "0");
|
|
const h = now.getHours().toString().padStart(2, "0");
|
|
const min = now.getMinutes().toString().padStart(2, "0");
|
|
return `${y}-${m}-${d} ${h}:${min}`;
|
|
},
|
|
contactCourier() {
|
|
if (this.phone) {
|
|
common_vendor.index.makePhoneCall({
|
|
phoneNumber: this.phone
|
|
//仅为示例
|
|
});
|
|
} else {
|
|
common_vendor.index.showToast({ title: "暂无快递员电话", icon: "none" });
|
|
}
|
|
},
|
|
fetchOrderDetail(orderId) {
|
|
this.$api && this.$api("getOrderDetail", { orderId }, (res) => {
|
|
if (res && res.code === 200 && res.result) {
|
|
this.orderDetail = res.result;
|
|
this.address = res.result.address + (res.result.addressDetail || "");
|
|
this.appointmentTime = res.result.goTime || "";
|
|
this.estimatePrice = res.result.price || "";
|
|
this.finalPrice = res.result.price || "";
|
|
this.clothesList = res.result.commonOrderList || [];
|
|
this.expressCompany = res.result.wliu || "";
|
|
this.expressNo = res.result.expressNo || "";
|
|
this.phone = res.result.phone || "";
|
|
this.setOrderStatus(res.result.status, res.result.state, res.result);
|
|
}
|
|
});
|
|
},
|
|
setOrderStatus(status, state, data) {
|
|
if (state == 3) {
|
|
this.currentStep = 0;
|
|
this.currentStatus = {
|
|
text: "已取消",
|
|
time: "",
|
|
icon: "/static/【待取件】快递员正在赶来.png"
|
|
};
|
|
this.showEditButton = false;
|
|
return;
|
|
}
|
|
if (status == 0) {
|
|
this.currentStep = 1;
|
|
this.currentStatus = {
|
|
text: "【在线预约】",
|
|
time: data.goTime || "",
|
|
icon: "/static/home/① 在线预约.png"
|
|
};
|
|
} else if (status == 1 && state == 0) {
|
|
this.currentStep = 2;
|
|
this.currentStatus = {
|
|
text: "【待取件】快递员正在赶来",
|
|
time: data.goTime || "",
|
|
icon: "/static/my/【待取件】快递员正在赶来.png"
|
|
};
|
|
} else if (status == 1 && state == 1) {
|
|
this.currentStep = 2;
|
|
this.currentStatus = {
|
|
text: "【已取件】快递员正在送至质检",
|
|
time: data.goTime || "",
|
|
icon: "/static/my/【上门中】快递员正在赶来.png"
|
|
};
|
|
} else if (status == 2 && state == 1) {
|
|
this.currentStep = 3;
|
|
this.currentStatus = {
|
|
text: "【质检中】质检员正在质检",
|
|
time: data.goTime || "",
|
|
icon: "/static/my/逐件验-配图.png"
|
|
};
|
|
} else if (status == 3 && state == 1) {
|
|
this.currentStep = 4;
|
|
this.currentStatus = {
|
|
text: "【待结款】待平台确认结款项",
|
|
time: data.goTime || "",
|
|
icon: "/static/my/【已结款】平台已结款至账户.png"
|
|
};
|
|
this.hasReport = true;
|
|
this.reportTime = data.updateTime || "";
|
|
} else if (status == 3 && state == 2) {
|
|
this.currentStep = 4;
|
|
this.currentStatus = {
|
|
text: "【已结款】平台已结款至账户",
|
|
time: data.goTime || "",
|
|
icon: "/static/my/【已结款】平台已结款至账户.png"
|
|
};
|
|
this.hasReport = true;
|
|
this.reportTime = data.updateTime || "";
|
|
}
|
|
},
|
|
getAreaList() {
|
|
this.$api("getAreaList", {}, (res) => {
|
|
common_vendor.index.__f__("log", "at pages/subcomponent/detail.vue:435", res, "getAreaList");
|
|
if (res.code == 200 && Array.isArray(res.result)) {
|
|
const sorted = res.result.slice().sort((a, b) => a.sort - b.sort);
|
|
this.processSteps = sorted.map((item) => ({
|
|
// id: item.id,
|
|
icon: item.image,
|
|
text: item.title
|
|
}));
|
|
}
|
|
});
|
|
}
|
|
},
|
|
onLoad(options) {
|
|
if (options.id) {
|
|
this.orderId = options.id;
|
|
this.fetchOrderDetail(options.id);
|
|
}
|
|
this.statusBarHeight = common_vendor.index.getSystemInfoSync().statusBarHeight;
|
|
this.getAreaList();
|
|
},
|
|
onShow() {
|
|
this.getAreaList();
|
|
}
|
|
};
|
|
if (!Array) {
|
|
const _easycom_uni_icons2 = common_vendor.resolveComponent("uni-icons");
|
|
_easycom_uni_icons2();
|
|
}
|
|
const _easycom_uni_icons = () => "../../uni_modules/uni-icons/components/uni-icons/uni-icons.js";
|
|
if (!Math) {
|
|
_easycom_uni_icons();
|
|
}
|
|
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
return common_vendor.e({
|
|
a: common_vendor.p({
|
|
type: "left",
|
|
size: "20"
|
|
}),
|
|
b: common_vendor.o((...args) => $options.goBack && $options.goBack(...args)),
|
|
c: common_vendor.t($data.orderDetail && $data.orderDetail.ordeNo ? $data.orderDetail.ordeNo : $data.orderId),
|
|
d: common_vendor.f($data.processSteps, (step, index, i0) => {
|
|
return {
|
|
a: step.icon,
|
|
b: common_vendor.t(step.text),
|
|
c: $data.currentStep === index + 1 ? 1 : "",
|
|
d: $data.currentStep === 0 && index === 1 ? 1 : "",
|
|
e: index,
|
|
f: $data.currentStep === 0 && index === 1 ? 1 : ""
|
|
};
|
|
}),
|
|
e: $data.currentStatus
|
|
}, $data.currentStatus ? common_vendor.e({
|
|
f: $data.currentStatus.icon,
|
|
g: $data.currentStep === 0
|
|
}, $data.currentStep === 0 ? {} : {
|
|
h: common_vendor.t($data.currentStatus.text)
|
|
}, {
|
|
i: common_vendor.t($data.currentStatus.time)
|
|
}) : {}, {
|
|
j: $data.currentStep === 0
|
|
}, $data.currentStep === 0 ? {} : {}, {
|
|
k: $data.currentStep !== 0 && $data.currentStep < 3
|
|
}, $data.currentStep !== 0 && $data.currentStep < 3 ? {
|
|
l: common_vendor.t($data.expressCompany),
|
|
m: common_vendor.t($data.expressNo),
|
|
n: common_vendor.o((...args) => $options.copyExpressNo && $options.copyExpressNo(...args))
|
|
} : {}, {
|
|
o: $data.currentStep !== 0 && $data.currentStep < 4
|
|
}, $data.currentStep !== 0 && $data.currentStep < 4 ? {} : {}, {
|
|
p: $data.currentStep !== 0 && $data.currentStep < 4
|
|
}, $data.currentStep !== 0 && $data.currentStep < 4 ? {
|
|
q: common_vendor.t($data.address),
|
|
r: common_vendor.o((...args) => $options.viewAddress && $options.viewAddress(...args)),
|
|
s: common_vendor.t($options.timeLabel),
|
|
t: common_vendor.t($data.appointmentTime)
|
|
} : {}, {
|
|
v: common_vendor.t($data.orderDetail && $data.orderDetail.ordeNo ? $data.orderDetail.ordeNo : $data.orderId),
|
|
w: $data.currentStep < 3
|
|
}, $data.currentStep < 3 ? {
|
|
x: common_vendor.t($data.estimatePrice)
|
|
} : $data.currentStep === 4 ? {
|
|
z: common_vendor.t($data.finalPrice),
|
|
A: common_vendor.t($data.finalPrice)
|
|
} : {}, {
|
|
y: $data.currentStep === 4,
|
|
B: common_vendor.f($data.clothesList, (item, index, i0) => {
|
|
return {
|
|
a: item.image,
|
|
b: common_vendor.t(item.name),
|
|
c: common_vendor.t(item.details),
|
|
d: common_vendor.t(item.onePrice),
|
|
e: common_vendor.t(item.num),
|
|
f: common_vendor.t(item.price),
|
|
g: index
|
|
};
|
|
}),
|
|
C: $data.currentStep === 4
|
|
}, $data.currentStep === 4 ? {
|
|
D: common_vendor.o((...args) => $options.viewReport && $options.viewReport(...args))
|
|
} : {}, {
|
|
E: $data.currentStep === 4
|
|
}, $data.currentStep === 4 ? {
|
|
F: common_vendor.t($data.address)
|
|
} : {}, {
|
|
G: $data.currentStatus.text === "【待取件】快递员正在赶来"
|
|
}, $data.currentStatus.text === "【待取件】快递员正在赶来" ? {
|
|
H: common_vendor.o(($event) => $data.showCancelModal = true),
|
|
I: common_vendor.o((...args) => $options.contactCourier && $options.contactCourier(...args))
|
|
} : {}, {
|
|
J: $data.showCancelModal
|
|
}, $data.showCancelModal ? {
|
|
K: common_vendor.o(($event) => $data.showCancelModal = false),
|
|
L: common_vendor.o((...args) => $options.confirmCancelOrder && $options.confirmCancelOrder(...args))
|
|
} : {});
|
|
}
|
|
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-3c6ff866"]]);
|
|
wx.createPage(MiniProgramPage);
|
|
//# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/subcomponent/detail.js.map
|