From d1f396a99108ee2da6413a0ce12af5c36bdeffb5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?TOP=E7=B3=AF=E7=B1=B3?= <1130395124@qq.com> Date: Sat, 18 Mar 2023 13:30:47 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E9=80=80=E6=AC=BE=E3=80=81?= =?UTF-8?q?=E7=94=B3=E8=AF=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/App.vue | 36 +++++ src/components/order/action.vue | 35 +++++ src/core/apis.js | 28 ++++ src/core/models/order.js | 30 ++++- src/pages.json | 6 + src/pages/order/appeal.vue | 232 ++++++++++++++++++++++++++++++++ src/pages/order/detail.vue | 16 ++- src/pages/order/order.vue | 5 +- 8 files changed, 378 insertions(+), 10 deletions(-) create mode 100644 src/pages/order/appeal.vue diff --git a/src/App.vue b/src/App.vue index ed0eb48..7150d4a 100644 --- a/src/App.vue +++ b/src/App.vue @@ -214,5 +214,41 @@ export default { color: #999999; } } + .upload-item { + display: flex; + flex-wrap: wrap; + padding: 0 30rpx; + .image-box { + width: 133.2rpx; + height: 133.2rpx; + background: rgba(184, 180, 179, 0); + box-sizing: border-box; + border-radius: 25rpx; + overflow: hidden; + border: 1px solid #f7f7f7; + .image { + width: 100%; + height: 100%; + } + } + .image-box.upload { + display: flex; + align-items: center; + justify-content: center; + flex-direction: column; + color: #999999; + border-radius: 0; + border: 1px solid #999999; + .iconfont { + font-size: 50rpx; + line-height: 50rpx; + } + .text { + font-size: 24rpx; + margin-top: 18rpx; + line-height: 24rpx; + } + } + } } diff --git a/src/components/order/action.vue b/src/components/order/action.vue index 73b6a10..b476258 100644 --- a/src/components/order/action.vue +++ b/src/components/order/action.vue @@ -18,6 +18,13 @@ 已完成 + + 同意退款 + 申诉 + + + 退款成功 + @@ -55,6 +62,34 @@ export default { confirmPrice() { this.$emit("confirmPrice"); }, + /** + * 退款 + */ + refund() { + this.$models.order + .refundOrder({ + request: { + api: "order.refund." + this.order.listType, + data: { + id: this.order.id, + }, + }, + }) + .then((response) => { + this.$utils.toast(response.msg).then(() => { + this.$emit("refresh"); + }); + }) + .catch((e) => { + this.$utils.toast(e); + }); + }, + /** + * 申诉 + */ + appeal() { + this.$utils.toPage("/pages/order/appeal?list=" + this.order.listType + "&id=" + this.order.id); + }, }, }; diff --git a/src/core/apis.js b/src/core/apis.js index 6d3f37f..90e5643 100644 --- a/src/core/apis.js +++ b/src/core/apis.js @@ -144,8 +144,36 @@ const apis = { }, t3: { url: "", + } + }, + refund: { + t1: { + url: "/user/workerorderb/agreerefund", showLoading: true, auth: true, + }, + t2: { + url: "/user/workerorderc/agreerefund", + showLoading: true, + auth: true, + }, + t3: { + url: "", + } + }, + appeal: { + t1: { + url: "/user/workerorderb/disagreerefund", + showLoading: true, + auth: true, + }, + t2: { + url: "/user/workerorderc/disagreerefund", + showLoading: true, + auth: true, + }, + t3: { + url: "", } } }, diff --git a/src/core/models/order.js b/src/core/models/order.js index 0ffa6b3..e5c1721 100644 --- a/src/core/models/order.js +++ b/src/core/models/order.js @@ -20,7 +20,7 @@ export default { case 4: return ['待支付尾款']; case 5: return ['待客户确认']; case 6: return ['订单已完成']; - case 7: return ['退款申请审核中']; + case 7: return ['退款中']; case 8: return ['已退款']; case 9: return ['退款未通过']; } @@ -31,7 +31,7 @@ export default { case 4: return ['待支付尾款']; case 5: return ['服务已完成,待确认']; case 6: return ['订单已完成']; - case 7: return ['退款申请审核中']; + case 7: return ['退款中']; case 8: return ['已退款']; case 9: return ['退款未通过']; } @@ -158,5 +158,31 @@ export default { return reject(response.msg); }).catch(e => { }); }); + }, + /** + * 退款 + */ + refundOrder(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 => { }); + }); + }, + /** + * 退款 + */ + appealOrder(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.json b/src/pages.json index f7e7d05..7edcbd7 100644 --- a/src/pages.json +++ b/src/pages.json @@ -37,6 +37,12 @@ "navigationBarTitleText": "订单详情" } }, + { + "path": "pages/order/appeal", + "style": { + "navigationBarTitleText": "退款申诉" + } + }, { "path": "pages/message/message", "style": { diff --git a/src/pages/order/appeal.vue b/src/pages/order/appeal.vue new file mode 100644 index 0000000..dc423a2 --- /dev/null +++ b/src/pages/order/appeal.vue @@ -0,0 +1,232 @@ +