From 685f7778725e2505edbd6e6d6c65d3a395a77072 Mon Sep 17 00:00:00 2001
From: huliyong <2783385703@qq.com>
Date: Sat, 19 Apr 2025 13:20:47 +0800
Subject: [PATCH] =?UTF-8?q?feat(=E8=AE=A2=E5=8D=95):=20=E6=B7=BB=E5=8A=A0?=
=?UTF-8?q?=E8=AE=A2=E5=8D=95=E5=8F=96=E6=B6=88=E3=80=81=E8=AF=84=E4=BB=B7?=
=?UTF-8?q?=E5=92=8C=E4=BC=B4=E5=AE=A0=E5=B8=88=E9=80=89=E6=8B=A9=E5=8A=9F?=
=?UTF-8?q?=E8=83=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
- 新增订单取消弹窗组件,支持用户取消订单并填写取消原因
- 添加订单评价页面,用户可对已完成订单进行星级评分和文字评价
- 新增伴宠师选择页面,用户可选择之前服务过的伴宠师
- 在订单详情页和订单列表页集成取消订单和评价订单功能
- 优化订单操作流程,提升用户体验
---
api/system/user.js | 9 -
components/configPopup.vue | 55 +++
pages.json | 18 +
pages_order/components/order/CancelOrderPopup.vue | 216 ++++++++++
.../components/order/CompanionSelectPopup.vue | 190 +++++++++
pages_order/order/companionSelect.vue | 434 +++++++++++++++++++++
pages_order/order/orderDetail.vue | 31 +-
pages_order/order/orderList.vue | 41 +-
pages_order/order/orderModify.vue | 407 +++++++++++++++++++
pages_order/order/orderReview.vue | 308 +++++++++++++++
10 files changed, 1694 insertions(+), 15 deletions(-)
create mode 100644 components/configPopup.vue
create mode 100644 pages_order/components/order/CancelOrderPopup.vue
create mode 100644 pages_order/components/order/CompanionSelectPopup.vue
create mode 100644 pages_order/order/companionSelect.vue
create mode 100644 pages_order/order/orderModify.vue
create mode 100644 pages_order/order/orderReview.vue
diff --git a/api/system/user.js b/api/system/user.js
index ba8b040..c094c85 100644
--- a/api/system/user.js
+++ b/api/system/user.js
@@ -148,15 +148,6 @@ export function getPhoneNumber(data){
})
}
-// 取消订单
-export function cancelOrder(orderId){
- return request({
- url: `/h5/order/cancel/${orderId}`,
- method: 'post',
- headers:{ "isToken":true}
- })
-}
-
diff --git a/components/configPopup.vue b/components/configPopup.vue
new file mode 100644
index 0000000..f05615d
--- /dev/null
+++ b/components/configPopup.vue
@@ -0,0 +1,55 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages.json b/pages.json
index 9f09f6b..84d90e2 100644
--- a/pages.json
+++ b/pages.json
@@ -375,6 +375,24 @@
"enablePullDownRefresh": false,
"navigationBarTextStyle": "white"
}
+ },
+ {
+ "path": "order/orderReview",
+ "style": {
+ "navigationBarTitleText": "评价订单",
+ "navigationBarBackgroundColor": "#FFBF60",
+ "enablePullDownRefresh": false,
+ "navigationBarTextStyle": "white"
+ }
+ },
+ {
+ "path": "order/companionSelect",
+ "style": {
+ "navigationBarTitleText": "服务过的伴宠师",
+ "navigationBarBackgroundColor": "#FFBF60",
+ "enablePullDownRefresh": false,
+ "navigationBarTextStyle": "white"
+ }
}
]
}
diff --git a/pages_order/components/order/CancelOrderPopup.vue b/pages_order/components/order/CancelOrderPopup.vue
new file mode 100644
index 0000000..c8f579e
--- /dev/null
+++ b/pages_order/components/order/CancelOrderPopup.vue
@@ -0,0 +1,216 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages_order/components/order/CompanionSelectPopup.vue b/pages_order/components/order/CompanionSelectPopup.vue
new file mode 100644
index 0000000..5b9faec
--- /dev/null
+++ b/pages_order/components/order/CompanionSelectPopup.vue
@@ -0,0 +1,190 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages_order/order/companionSelect.vue b/pages_order/order/companionSelect.vue
new file mode 100644
index 0000000..8fc07a9
--- /dev/null
+++ b/pages_order/order/companionSelect.vue
@@ -0,0 +1,434 @@
+
+
+
+
+
+
+
+
+ 相距距离仅供参考!伴宠师位置可能不是实时位置,请提前10天下单!
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.description || '简介:有一只3岁金猫-忽悠,热爱小宠物...'}}
+
+
+
+
+ {{item.experience}}
+
+
+
+
+ 查看详情
+
+
+
+
+
+
+
+ 暂无伴宠师数据
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages_order/order/orderDetail.vue b/pages_order/order/orderDetail.vue
index 0e5a6aa..c850130 100644
--- a/pages_order/order/orderDetail.vue
+++ b/pages_order/order/orderDetail.vue
@@ -22,17 +22,26 @@
@@ -45,6 +54,7 @@
import ServiceItems from '@/pages_order/components/order/ServiceItems.vue'
import ServiceRemarks from '@/pages_order/components/order/ServiceRemarks.vue'
import OrderInfo from '@/pages_order/components/order/OrderInfo.vue'
+ import CancelOrderPopup from '@/pages_order/components/order/CancelOrderPopup.vue'
import { getOrderList } from "@/api/system/user.js"
import { getOpenIdKey } from '@/utils/auth'
@@ -55,7 +65,8 @@
ServicePets,
ServiceItems,
ServiceRemarks,
- OrderInfo
+ OrderInfo,
+ CancelOrderPopup
},
data() {
return {
@@ -188,6 +199,17 @@
uni.navigateTo({
url: `/pages/details/order?id=${this.orderId}`
});
+ },
+
+ // 去评价
+ goToReview() {
+ uni.navigateTo({
+ url: `/pages_order/order/orderReview?id=${this.orderId}`
+ });
+ },
+
+ // 处理取消订单
+ handleCancelOrder() {
}
}
}
@@ -232,6 +254,11 @@
color: #FFFFFF;
}
+ .review-btn {
+ background-color: #FFAA48;
+ color: #FFFFFF;
+ }
+
.contact-btn {
background-color: #FFFFFF;
color: #666;
diff --git a/pages_order/order/orderList.vue b/pages_order/order/orderList.vue
index 7ad13b3..89bd3af 100644
--- a/pages_order/order/orderList.vue
+++ b/pages_order/order/orderList.vue
@@ -65,12 +65,19 @@
+
+ 取消订单
+
查看详情
-
+
去付款
+
+ 再来一单
+
@@ -91,9 +98,19 @@
+
+
+
+
+
+
@@ -101,10 +118,14 @@
import Kefu from '@/pages/common/kefu.vue'
import { getOrderList } from "@/api/system/user.js"
import { getOpenIdKey } from '@/utils/auth'
+ import CancelOrderPopup from '@/pages_order/components/order/CancelOrderPopup.vue'
+ import CompanionSelectPopup from '@/pages_order/components/order/CompanionSelectPopup.vue'
export default {
components: {
- Kefu
+ Kefu,
+ CancelOrderPopup,
+ CompanionSelectPopup,
},
data() {
return {
@@ -122,11 +143,12 @@
hasMore: true,
loading: false,
refreshing: false,
+ currentOrder: null,
// 示例数据,实际应从API获取
exampleData: [
{
id: '1',
- status: 'unpaid',
+ status: '0',
statusText: '待付款',
amount: '264',
pets: [
@@ -175,6 +197,10 @@
this.refreshing = false;
});
},
+
+ handleCancelOrder(){
+
+ },
// 加载更多
loadMore() {
@@ -252,7 +278,14 @@
}
}, 500);
});
- }
+ },
+
+ // 处理再来一单
+ handleReorder(order) {
+ this.currentOrder = order;
+ this.$refs.companionSelectPopup.open();
+ },
+
},
onLoad() {
// 页面加载时获取订单列表
diff --git a/pages_order/order/orderModify.vue b/pages_order/order/orderModify.vue
new file mode 100644
index 0000000..4fb89e8
--- /dev/null
+++ b/pages_order/order/orderModify.vue
@@ -0,0 +1,407 @@
+
+
+
+
+
+
+
+
+
+
+ 🐾
+ 您可以对未服务或未支付的订单进行修改或取消
+
+
+ 🐾
+ 若需修改已支付的服务项目,如「增加服务时间/服务项目」,可点击下方按钮【联系客服】寻求帮助,感谢!
+
+
+
+
+
+
+ 服务修改信息
+
+
+
+
+ 联系人
+ {{modifyInfo.contactName}}
+
+
+
+ 联系方式
+ {{modifyInfo.contactPhone}}
+
+
+
+ 销售支持方式
+
+ {{modifyInfo.paymentMethod}}
+ >
+
+
+
+
+
+
+
+
+ 修改原因
+
+
+
+
+
+ {{modifyReason.length}}/200
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages_order/order/orderReview.vue b/pages_order/order/orderReview.vue
new file mode 100644
index 0000000..ad381ae
--- /dev/null
+++ b/pages_order/order/orderReview.vue
@@ -0,0 +1,308 @@
+
+
+
+
+
+
+
+
+
+
+
+ 评价星级
+
+
+
+
+
+
+
+ 评价内容
+
+
+
+ {{reviewContent.length}}/500
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file