From 71eaf884d6b939704f873be21fdbb21716290222 Mon Sep 17 00:00:00 2001
From: Fox-33 <1466778434@qq.com>
Date: Wed, 27 Aug 2025 18:35:32 +0800
Subject: [PATCH] feat: page-comment;
---
pages.json | 6 +
pages/index/center.vue | 6 +-
pages/index/growing.vue | 2 +-
pages_order/comment/commentCard.vue | 68 ++++-
pages_order/comment/commentPopup.vue | 308 +++++++++++++++++++++
pages_order/comment/commentRecords.vue | 137 ++++-----
pages_order/comment/commentRecordsOfProduct.vue | 37 +--
pages_order/comment/commentWrite.vue | 270 ------------------
.../activity => comment}/recordFormPopup.vue | 0
.../activity => comment}/reloateProjectPopup.vue | 0
pages_order/order/components/productCard.vue | 4 +
pages_order/order/orderDetail/index.vue | 22 +-
pages_order/order/orderList/index.vue | 8 +
pages_order/order/orderList/orderCard.vue | 2 +-
pages_order/product/productDetail.vue | 2 -
15 files changed, 486 insertions(+), 386 deletions(-)
create mode 100644 pages_order/comment/commentPopup.vue
delete mode 100644 pages_order/comment/commentWrite.vue
rename pages_order/{growing/activity => comment}/recordFormPopup.vue (100%)
rename pages_order/{growing/activity => comment}/reloateProjectPopup.vue (100%)
diff --git a/pages.json b/pages.json
index 0206c09..cd11f03 100644
--- a/pages.json
+++ b/pages.json
@@ -91,6 +91,12 @@
{
"path": "coupon/couponList/index"
},
+ {
+ "path": "comment/commentRecordsOfProduct"
+ },
+ {
+ "path": "comment/commentRecords"
+ },
{
"path": "growing/activity/search"
},
diff --git a/pages/index/center.vue b/pages/index/center.vue
index 2c44fc7..fe9800d 100644
--- a/pages/index/center.vue
+++ b/pages/index/center.vue
@@ -116,14 +116,12 @@
list1: [
{ id: '001', label: '我的收藏', icon: '/pages_order/static/center/icon-collect.png', path: '/pages_order/product/collectList' },
{ id: '004', label: '学员管理', icon: '/pages_order/static/center/icon-student.png', path: `/pages_order/member/memberList` },
- // todo
{ id: '003', label: '我的优惠券', icon: '/pages_order/static/center/icon-coupon.png', path: `/pages_order/common?key=instruc&title=服用说明` },
],
list2: [
- // todo
- { id: '005', label: '我的评价', icon: '/pages_order/static/center/icon-comment.png', key: 'comment' },
+ { id: '005', label: '我的评价', icon: '/pages_order/static/center/icon-comment.png', path: `/pages_order/comment/commentRecords` },
// todo: check key
- { id: '006', label: '关于我们', icon: '/pages_order/static/center/icon-msg.png', path: `/pages_order/common?key=aboutUs&title=关于我们` },
+ { id: '006', label: '开营通知', icon: '/pages_order/static/center/icon-msg.png', path: `/pages_order/common?key=aboutUs&title=关于我们` },
{ id: '007', label: '修改信息', icon: '/pages_order/static/center/icon-modifyInfo.png', path: `/pages_order/auth/wxUserInfo?mode=edit` },
{ id: '008', label: '退出登录', icon: '/pages_order/static/center/icon-logout.png', key: 'logout' },
],
diff --git a/pages/index/growing.vue b/pages/index/growing.vue
index e9555ae..09a0bbb 100644
--- a/pages/index/growing.vue
+++ b/pages/index/growing.vue
@@ -46,7 +46,7 @@
import tabber from '@/components/base/tabbar.vue'
import userCard from '@/components/growing/userCard.vue'
import recordsView from '@/components/growing/recordsView.vue'
- import recordFormPopup from '@/pages_order/growing/activity/recordFormPopup.vue'
+ import recordFormPopup from '@/pages_order/comment/recordFormPopup.vue'
export default {
mixins: [mixinsList],
diff --git a/pages_order/comment/commentCard.vue b/pages_order/comment/commentCard.vue
index f660607..396ef78 100644
--- a/pages_order/comment/commentCard.vue
+++ b/pages_order/comment/commentCard.vue
@@ -5,7 +5,7 @@
-
+
{{ data.user.name }}
@@ -35,7 +35,7 @@
-
+
+
@@ -71,20 +85,32 @@
const { image } = this.data || {}
return image?.split?.(',')
- }
+ },
+ disabled() {
+ return this.mode !== 'edit'
+ },
},
methods: {
onComment() {
+ if (this.disabled) {
+ return
+ }
// todo
this.$emit('change')
},
onLike() {
+ if (this.disabled) {
+ return
+ }
// todo
this.$emit('change')
},
onCancelLike() {
+ if (this.disabled) {
+ return
+ }
// todo
this.$emit('change')
@@ -191,4 +217,40 @@
}
}
+
+ .comment {
+ &-user {
+ column-gap: 16rpx;
+
+ .avatar {
+ width: 48rpx;
+ height: 48rpx;
+ border-radius: 50%;
+
+ &-img {
+ width: 100%;
+ height: 100%;
+ }
+ }
+
+ .name {
+ font-size: 26rpx;
+ font-weight: 600;
+ color: #000000;
+ }
+
+ .time {
+ flex: 1;
+ text-align: right;
+ font-size: 24rpx;
+ color: #999999;
+ }
+ }
+
+ &-content {
+ margin-top: 28rpx;
+ font-size: 26rpx;
+ color: #666666;
+ }
+ }
\ No newline at end of file
diff --git a/pages_order/comment/commentPopup.vue b/pages_order/comment/commentPopup.vue
new file mode 100644
index 0000000..ed3526c
--- /dev/null
+++ b/pages_order/comment/commentPopup.vue
@@ -0,0 +1,308 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages_order/comment/commentRecords.vue b/pages_order/comment/commentRecords.vue
index 3cf8301..0c1c155 100644
--- a/pages_order/comment/commentRecords.vue
+++ b/pages_order/comment/commentRecords.vue
@@ -1,39 +1,24 @@
-
+
-
-
-
-
@@ -51,79 +36,77 @@
},
data() {
return {
- title: '我的评价',
- tabs: [
- { name: '全部' },
- { name: '有图/视频' },
- { name: '最新' },
- ],
- mixinsListApi: 'myEvaluate',
+ // todo
+ mixinsListApi: '',
}
},
onShow() {
console.log('onShow')
},
- onLoad() {
+ onLoad(arg) {
+ console.log('onLoad')
+ const { productId } = arg
+
+ this.queryParams.productId = productId
+
this.getData()
},
methods: {
- //点击tab栏
- clickTabs({ index }) {
- // todo
- return
- if (index == 0) {
- delete this.queryParams.status
- } else {
- this.queryParams.status = index - 1
- }
- this.getData()
- },
},
}
\ No newline at end of file
diff --git a/pages_order/growing/activity/recordFormPopup.vue b/pages_order/comment/recordFormPopup.vue
similarity index 100%
rename from pages_order/growing/activity/recordFormPopup.vue
rename to pages_order/comment/recordFormPopup.vue
diff --git a/pages_order/growing/activity/reloateProjectPopup.vue b/pages_order/comment/reloateProjectPopup.vue
similarity index 100%
rename from pages_order/growing/activity/reloateProjectPopup.vue
rename to pages_order/comment/reloateProjectPopup.vue
diff --git a/pages_order/order/components/productCard.vue b/pages_order/order/components/productCard.vue
index 5bd9cd6..95bc2d5 100644
--- a/pages_order/order/components/productCard.vue
+++ b/pages_order/order/components/productCard.vue
@@ -36,6 +36,10 @@
return {}
}
},
+ style: {
+ type: String,
+ default: ''
+ }
},
computed: {
product() {
diff --git a/pages_order/order/orderDetail/index.vue b/pages_order/order/orderDetail/index.vue
index d9ab425..ce0b023 100644
--- a/pages_order/order/orderDetail/index.vue
+++ b/pages_order/order/orderDetail/index.vue
@@ -52,15 +52,22 @@
+
+
+
+
-
+
-
+
+
+
+
@@ -71,6 +78,7 @@
import productCard from '@/pages_order/order/components/productCard.vue'
import orderInfoView from '@/pages_order/order/components/orderInfoView.vue'
import contactMentorPopup from '@/pages_order/order/components/contactMentorPopup.vue'
+ import commentPopup from '@/pages_order/comment/commentPopup.vue'
import agreementModal from '@/pages_order/components/agreementModal.vue'
export default {
@@ -78,6 +86,7 @@
productCard,
orderInfoView,
contactMentorPopup,
+ commentPopup,
agreementModal,
},
data() {
@@ -113,13 +122,13 @@
// console.log('orderInfo', this.orderInfo)
// this.detail = this.orderInfo
// todo: check fetch by id?
- this.fetchOrderDetail()
+ this.getData()
},
onPullDownRefresh() {
- this.fetchOrderDetail()
+ this.getData()
},
methods: {
- async fetchOrderDetail() {
+ async getData() {
try {
this.detail = {
@@ -244,6 +253,9 @@
uni.stopPullDownRefresh()
},
+ onComment(id) {
+ this.$refs.commentPopup.open(id)
+ },
onApplyService() {
// todo
},
diff --git a/pages_order/order/orderList/index.vue b/pages_order/order/orderList/index.vue
index fccb28c..9c15c0d 100644
--- a/pages_order/order/orderList/index.vue
+++ b/pages_order/order/orderList/index.vue
@@ -35,6 +35,7 @@
+
+
@@ -54,12 +57,14 @@
import orderCard from './orderCard.vue'
import contactMentorPopup from '@/pages_order/order/components/contactMentorPopup.vue'
+ import commentPopup from '@/pages_order/comment/commentPopup.vue'
export default {
mixins: [mixinsList],
components: {
orderCard,
contactMentorPopup,
+ commentPopup,
},
data() {
return {
@@ -95,6 +100,9 @@
}
this.getData()
},
+ onComment(id) {
+ this.$refs.commentPopup.open(id)
+ },
onApplyService(obj) {
// todo
// this.$refs.serviceSelectPopup.open(obj)
diff --git a/pages_order/order/orderList/orderCard.vue b/pages_order/order/orderList/orderCard.vue
index f9e91e8..5ddc48e 100644
--- a/pages_order/order/orderList/orderCard.vue
+++ b/pages_order/order/orderList/orderCard.vue
@@ -81,7 +81,7 @@
this.$emit('contatcMentor', this.data.mentorPhone)
},
onComment() {
- this.$utils.navigateTo(`/pages_order/comment/commentWrite?orderId=${this.data.id}`)
+ this.$emit('comment')
},
onApplyService() {
// todo
diff --git a/pages_order/product/productDetail.vue b/pages_order/product/productDetail.vue
index 5e6df87..d336469 100644
--- a/pages_order/product/productDetail.vue
+++ b/pages_order/product/productDetail.vue
@@ -287,8 +287,6 @@
this.$refs.orderInfoPopup.open({ selectTime: this.selectTime })
},
jumpToCommentRecords() {
- // todo
- return
this.$utils.navigateTo(`/pages_order/comment/commentRecordsOfProduct?productId=${this.id}`)
},
//点击tab栏