From fe4e0ce75c7c0c02640fea9af201e9aa009668ee Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=94=B0=E9=A6=99=E7=90=AA?= <624506849@qq.com>
Date: Thu, 16 Apr 2026 17:55:16 +0800
Subject: [PATCH] =?UTF-8?q?feat(=E5=95=86=E5=93=81=E8=AF=84=E4=BB=B7?=
=?UTF-8?q?=E7=AE=A1=E7=90=86):=20=E6=B7=BB=E5=8A=A0=E5=95=86=E5=93=81?=
=?UTF-8?q?=E5=90=8D=E7=A7=B0=E6=90=9C=E7=B4=A2=E5=8A=9F=E8=83=BD=E5=92=8C?=
=?UTF-8?q?=E8=AF=84=E8=AE=BA=E7=BD=AE=E9=A1=B6=E5=8A=9F=E8=83=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
- 在商品评价页面中新增商品名称搜索框
- 在评论列表中添加是否置顶的显示和操作功能
- 实现评论置顶状态的更新逻辑
---
manager/src/api/member.js | 5 +
.../src/views/goods/goods-review/index.vue | 96 ++++++++++++++-----
2 files changed, 79 insertions(+), 22 deletions(-)
diff --git a/manager/src/api/member.js b/manager/src/api/member.js
index 93f9e728..193b2e9c 100644
--- a/manager/src/api/member.js
+++ b/manager/src/api/member.js
@@ -30,6 +30,11 @@ export const updateMemberReview = (id, params) => {
return getRequest(`/member/evaluation/updateStatus/${id}`, params);
};
+// 修改评价置顶状态
+export const updateMemberReviewTop = (id, params) => {
+ return putRequest(`/member/evaluation/updateTop/${id}`, params);
+};
+
// 添加或修改
export const insertOrUpdateSpec = (params) => {
return postRequest("/memberNoticeSenter/insertOrUpdate", params);
diff --git a/manager/src/views/goods/goods-review/index.vue b/manager/src/views/goods/goods-review/index.vue
index 19af86f9..0c7b3fde 100644
--- a/manager/src/views/goods/goods-review/index.vue
+++ b/manager/src/views/goods/goods-review/index.vue
@@ -6,6 +6,9 @@
+
+
+
@@ -113,6 +116,7 @@ export default {
// 搜索框初始化对象
pageNumber: 1, // 当前页数
pageSize: 20, // 页面大小
+ goodsName: "",
sort: "createTime", // 默认排序字段
order: "desc", // 默认排序方式
startDate: "", // 起始时间
@@ -134,6 +138,30 @@ export default {
align: "left",
tooltip: true,
},
+ {
+ title: "评论内容",
+ key: "content",
+ minWidth: 220,
+ align: "left",
+ tooltip: true,
+ },
+ {
+ title: "是否置顶",
+ key: "top",
+ align: "center",
+ width: 100,
+ render: (h, params) => {
+ return h(
+ "Tag",
+ {
+ props: {
+ color: params.row.top ? "red" : "default",
+ },
+ },
+ params.row.top ? "已置顶" : "未置顶"
+ );
+ },
+ },
{
title: "评价",
key: "grade",
@@ -149,27 +177,6 @@ export default {
}
}
},
- {
- title: "物流评分",
- key: "deliveryScore",
- render: (h, params) => {
- return h('div',params.row.deliveryScore || 5 + '星')
- },
- },
- {
- title: "服务评分",
- key: "deliveryScore",
- render: (h, params) => {
- return h('div',params.row.serviceScore || 5 + '星')
- },
- },
- {
- title: "描述评分",
- key: "deliveryScore",
- render: (h, params) => {
- return h('div',params.row.descriptionScore || 5 + '星')
- },
- },
{
title: "评价时间",
key: "createTime",
@@ -186,7 +193,7 @@ export default {
{
title: "操作",
key: "action",
- width: 150,
+ width: 220,
align: "center",
fixed: "right",
render: (h, params) => {
@@ -217,6 +224,32 @@ export default {
},
"|"
),
+ h(
+ "a",
+ {
+ style: {
+ color: "#2d8cf0",
+ cursor: "pointer",
+ textDecoration: "none",
+ },
+ on: {
+ click: () => {
+ this.updateTop(params.row);
+ },
+ },
+ },
+ params.row.top ? "取消置顶" : "置顶评论"
+ ),
+ h(
+ "span",
+ {
+ style: {
+ margin: "0 8px",
+ color: "#dcdee2",
+ },
+ },
+ "|"
+ ),
h(
"Poptip",
{
@@ -288,6 +321,25 @@ export default {
this.init();
});
},
+ // 置顶评论
+ updateTop(v) {
+ const top = !v.top;
+ API_Member.updateMemberReviewTop(v.id, { top }).then((res) => {
+ if (res.success) {
+ this.data = this.data.map((item) => {
+ if (item.goodsId !== v.goodsId) {
+ return item;
+ }
+ return {
+ ...item,
+ top: item.id === v.id ? top : false,
+ };
+ });
+ this.$Message.success(top ? "置顶成功!" : "取消置顶成功!");
+ this.init();
+ }
+ });
+ },
// 获取列表
getDataList() {
this.loading = true;