|
|
@@ -40,28 +40,36 @@ Page({
|
|
|
liaison: address.liaison,
|
|
|
phone: address.phone,
|
|
|
};
|
|
|
- await orderPayAddressMethod(id, data);
|
|
|
+ await orderPayAddressMethod(id, data);
|
|
|
},
|
|
|
// 选择地址
|
|
|
async selectAddress(e: any) {
|
|
|
const item = e.currentTarget.dataset.item;
|
|
|
const type = wx.getStorageSync("type");
|
|
|
const orderId = wx.getStorageSync("orderId");
|
|
|
- console.log(type, "页面切换type", item);
|
|
|
const pages = getCurrentPages();
|
|
|
- console.log(pages, "pages");
|
|
|
+
|
|
|
+
|
|
|
+ const findTargetPageIndex = (targetRoute: string) => {
|
|
|
+ for (let i = pages.length - 1; i >= 0; i--) {
|
|
|
+ if (pages[i].route === targetRoute) {
|
|
|
+ return pages.length - 1 - i; // 需要返回的层级数
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return -1;
|
|
|
+ };
|
|
|
+
|
|
|
if (type === "orderDetail") {
|
|
|
- console.log(orderId, "订单详情");
|
|
|
// 订单详情 切换地址
|
|
|
- const orderPage = pages.find(
|
|
|
- (page:any) =>
|
|
|
- // page.route === "module/article/pages/order-detail/order-detail"
|
|
|
- page.route === "module/order/pages/order-detail/order-detail"
|
|
|
- );
|
|
|
- console.log(orderPage, "orderPage===");
|
|
|
try {
|
|
|
await this.updataOrderAddress(orderId, item);
|
|
|
- if (orderPage) {
|
|
|
+ const targetRoute = "module/order/pages/order-detail/order-detail";
|
|
|
+ const delta = findTargetPageIndex(targetRoute);
|
|
|
+ if (delta > 0) {
|
|
|
+ // 返回到目标页面
|
|
|
+ wx.navigateBack({ delta });
|
|
|
+ } else {
|
|
|
+ // 如果找不到目标页面,返回到上一页
|
|
|
wx.navigateBack();
|
|
|
}
|
|
|
} catch (error: any) {
|
|
|
@@ -69,36 +77,32 @@ Page({
|
|
|
}
|
|
|
} else if (type === "orderList") {
|
|
|
// 订单列表 切换地址
|
|
|
- const findPage = pages.find(
|
|
|
- (page) => page.route === "module/article/pages/order-list/order-list"
|
|
|
- );
|
|
|
try {
|
|
|
await this.updataOrderAddress(orderId, item);
|
|
|
- if (findPage) {
|
|
|
- wx.redirectTo({
|
|
|
- url: "/" + findPage.route + "?tab=pending",
|
|
|
- });
|
|
|
+ const targetRoute = "module/article/pages/order-list/order-list";
|
|
|
+ const delta = findTargetPageIndex(targetRoute);
|
|
|
+ if (delta > 0) {
|
|
|
+ wx.navigateBack({ delta });
|
|
|
+ } else {
|
|
|
+ wx.navigateBack();
|
|
|
}
|
|
|
} catch (error: any) {
|
|
|
getTickleContext.call(this).showWarnMessage(error.errMsg);
|
|
|
}
|
|
|
- } else if(type === "confirmeOrder") {
|
|
|
- console.log(item, "item======用户选择的地址");
|
|
|
+ } else if (type === "confirmeOrder") {
|
|
|
wx.setStorageSync('selectedAddress', item);
|
|
|
// 确认订单页面 切换地址
|
|
|
const confirmeOrderPage = pages.find(
|
|
|
- (page:any) =>
|
|
|
+ (page: any) =>
|
|
|
page.route === "module/order/pages/confirme-order/confirme-order"
|
|
|
);
|
|
|
- console.log(confirmeOrderPage, "confirmeOrderPage======确认订单页面");
|
|
|
if (confirmeOrderPage) {
|
|
|
wx.redirectTo({
|
|
|
url: "/" + confirmeOrderPage.route + "?isDefault=1",
|
|
|
});
|
|
|
}
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
// 其他页面 切换地址
|
|
|
-
|
|
|
}
|
|
|
},
|
|
|
// 搜索
|