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 @@
+
+
+
+
+
+ 申诉说明
+ 您还可输入{{ maxlength - content.length }}个字
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传图片
+
+
+
+
+ 提交
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/pages/order/detail.vue b/src/pages/order/detail.vue
index 90ec60c..44b94cc 100644
--- a/src/pages/order/detail.vue
+++ b/src/pages/order/detail.vue
@@ -107,11 +107,9 @@
-
-
- ¥ {{ utils.formatNumber(order.price, 2) }}
-
-
+
+ ¥ {{ utils.formatNumber(order.price, 2) }}
+
@@ -119,7 +117,7 @@
客服
-
+
@@ -164,9 +162,10 @@ export default {
return;
}
this.listType = e.list;
+ },
+ onShow() {
this.loadDetail();
},
- onShow() {},
onReady() {},
onReachBottom() {},
onPullDownRefresh() {},
@@ -235,6 +234,9 @@ export default {
this.order = order;
});
},
+ refresh() {
+ this.loadDetail();
+ },
},
};
diff --git a/src/pages/order/order.vue b/src/pages/order/order.vue
index b588ce9..068fc18 100644
--- a/src/pages/order/order.vue
+++ b/src/pages/order/order.vue
@@ -39,7 +39,7 @@
¥ {{ v.price }}
-
+
@@ -200,6 +200,9 @@ export default {
let currentTab = this.tabList[this.tabIndex];
this.$utils.toPage("/pages/order/detail?list=" + currentTab.listType + "&id=" + id);
},
+ refresh() {
+ this.switchTab(this.tabIndex);
+ },
},
};