From 0dd266954c000c75b1202335a985330e1135cdcf Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?TOP=E7=B3=AF=E7=B1=B3?= <1130395124@qq.com>
Date: Thu, 16 Mar 2023 22:41:49 +0800
Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=E8=AE=A2=E5=8D=95=E6=93=8D?=
=?UTF-8?q?=E4=BD=9C?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/order/action.vue | 43 ++++++++++++++++++---------------
src/components/order/item.vue | 3 ++-
src/core/apis.js | 15 ++++++++++++
src/core/models/order.js | 40 +++++++++++++++++++++---------
src/pages/order/detail.vue | 4 +--
src/pages/order/order.vue | 6 ++---
6 files changed, 74 insertions(+), 37 deletions(-)
diff --git a/src/components/order/action.vue b/src/components/order/action.vue
index 4fa8071..16cfafe 100644
--- a/src/components/order/action.vue
+++ b/src/components/order/action.vue
@@ -39,7 +39,7 @@
-
+
确认完成
@@ -72,7 +72,7 @@
-
+
确认完成
@@ -111,7 +111,7 @@ export default {
},
})
.then(() => {
- this.$emit("afterPay");
+ this.$emit("refresh");
});
},
/**
@@ -128,39 +128,44 @@ export default {
},
})
.then(() => {
- this.$emit("afterPay");
+ this.$emit("refresh");
});
},
/**
- * 取消
+ * 确认完成
+ */
+ finishOrder() {
+ this.$models.order
+ .finishOrder({
+ request: {
+ api: "order.finish." + this.order.listType,
+ data: {
+ id: this.order.id,
+ },
+ },
+ })
+ .then((response) => {
+ this.$utils.toast(response.msg).then(() => {
+ this.$emit("refresh");
+ });
+ });
+ },
+ /**
+ * 取消订单
*/
cancelOrder() {
this.$emit("cancelOrder");
},
- /**
- * 删除
- */
- delOrder() {
- this.$emit("delOrder");
- },
- /**
- * 确认完成
- */
- confirmOrder() {
- this.$emit("confirmOrder");
- },
/**
* 评价
*/
appraiseOrder() {
- // this.$emit("appraiseOrder");
this.$utils.toPage("/pages/worker/appraise?id=" + this.order.worker.id);
},
/**
* 退款
*/
refundOrder() {
- // this.$emit("refundOrder");
this.$utils.toPage("/pages/order/refund?id=" + this.order.worker.id);
},
/**
diff --git a/src/components/order/item.vue b/src/components/order/item.vue
index 2490b45..a4088db 100644
--- a/src/components/order/item.vue
+++ b/src/components/order/item.vue
@@ -55,7 +55,8 @@
diff --git a/src/core/apis.js b/src/core/apis.js
index f0ed933..d5320b0 100644
--- a/src/core/apis.js
+++ b/src/core/apis.js
@@ -209,6 +209,21 @@ export default {
url: ""
},
},
+ finish: {
+ t1: {
+ url: "/wxapp/order/orderok",
+ showLoading: true,
+ auth: true,
+ },
+ t2: {
+ url: "/wxapp/orderb/orderok",
+ showLoading: true,
+ auth: true,
+ },
+ t3: {
+ url: ""
+ }
+ },
chooseWorker: {
url: "/wxapp/orderb/chooseshifu",
showLoading: true,
diff --git a/src/core/models/order.js b/src/core/models/order.js
index 12a3d07..c14a359 100644
--- a/src/core/models/order.js
+++ b/src/core/models/order.js
@@ -152,8 +152,21 @@ export default {
orderType: item.types,
price: item.money,
state: item.status,
- worker: item.shifu,
+ worker: {},
};
+ // 师傅
+ if (prototype.$utils.isType(item.shifu, "object")) {
+ order.worker = {
+ id: item.shifu.id,
+ name: item.shifu.name,
+ avatar: item.shifu.avatar,
+ type: item.shifu.status,
+ times: item.shifu.shifu_date.count,
+ favorableRate: item.shifu.shifu_date.good,
+ grade: item.shifu.shifu_date.score,
+ price: item.money,
+ }
+ }
list.push(order);
});
}
@@ -224,17 +237,7 @@ export default {
});
}
} else if (options.listType == 't3') {
- order = {
- id: 1,
- orderId: 2,
- cate: "货运订单",
- content: 4,
- createTime: 5,
- serviceTime: 6,
- orderType: 7,
- state: 8,
- images: 9,
- };
+
}
return resolve(order);
}
@@ -263,4 +266,17 @@ export default {
}).catch(e => { });
});
},
+ /**
+ * 完成订单
+ */
+ finishOrder(options) {
+ return new Promise((resolve, reject) => {
+ prototype.$request(options.request).then((response) => {
+ if (response.code == 1) {
+ return resolve(response);
+ }
+ return reject(response.msg);
+ }).catch(e => { });
+ });
+ }
}
diff --git a/src/pages/order/detail.vue b/src/pages/order/detail.vue
index 813858c..79eb14e 100644
--- a/src/pages/order/detail.vue
+++ b/src/pages/order/detail.vue
@@ -140,7 +140,7 @@
客服
-
+
@@ -301,7 +301,7 @@ export default {
});
});
},
- afterPay() {
+ refresh() {
this.loadDetail();
},
},
diff --git a/src/pages/order/order.vue b/src/pages/order/order.vue
index b91ecf5..cef591a 100644
--- a/src/pages/order/order.vue
+++ b/src/pages/order/order.vue
@@ -36,7 +36,7 @@
¥ {{ item.price }}
-
+
@@ -177,9 +177,9 @@ export default {
this.$utils.toPage("/pages/order/detail?list=" + listType + "&tab=" + tab + "&id=" + id);
},
/**
- * 支付后操作
+ * 重新加载
*/
- afterPay() {
+ refresh() {
this.switchTab(this.tabIndex);
},
},