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;