You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
205 lines
5.8 KiB
205 lines
5.8 KiB
import * as api from '@/api/goods/comment.js';
|
|
import { ElMessage } from 'element-plus/es';
|
|
const state = {
|
|
list: [],
|
|
detail: {
|
|
id: 18,
|
|
originId: 0,
|
|
parentId: 0,
|
|
userId: 97,
|
|
userName: 'ocean',
|
|
commentContent: '用户超时未做出评价,系统默认好评',
|
|
isShow: false,
|
|
createTime: '2022-06-17 15:27:09',
|
|
commentType: 1,
|
|
userAvatar: 'https://msb-edu-dev.oss-cn-beijing.aliyuncs.com/default-headimg.png',
|
|
skuName: '测试SKU',
|
|
productName: '测试虚拟111',
|
|
phone: '151****5744',
|
|
pictureUrl: 'https://msb-edu-dev.oss-cn-beijing.aliyuncs.com/uc/account-avatar/120x120.png',
|
|
commentScore: 5,
|
|
followComment: {
|
|
id: 19,
|
|
originId: 18,
|
|
parentId: 18,
|
|
userId: 97,
|
|
userName: 'ocean',
|
|
commentContent: '新增一条追评',
|
|
isShow: true,
|
|
createTime: '2022-06-17 17:13:32',
|
|
commentType: 2,
|
|
},
|
|
answerCommentList: [
|
|
{
|
|
id: 20,
|
|
originId: 18,
|
|
parentId: 18,
|
|
userId: 8,
|
|
userName: '随机昵称',
|
|
commentContent: '新增一条回复',
|
|
isShow: true,
|
|
createTime: '2022-06-17 17:14:02',
|
|
commentType: 3,
|
|
parentUserName: 'ocean',
|
|
},
|
|
{
|
|
id: 21,
|
|
originId: 18,
|
|
parentId: 18,
|
|
userId: 8,
|
|
userName: '随机昵称',
|
|
commentContent: '1232321',
|
|
isShow: true,
|
|
createTime: '2022-06-17 18:31:48',
|
|
commentType: 3,
|
|
parentUserName: 'ocean',
|
|
},
|
|
{
|
|
id: 22,
|
|
originId: 18,
|
|
parentId: 18,
|
|
userId: 8,
|
|
userName: '随机昵称',
|
|
commentContent: '我回复我回复我回复我回复我回复',
|
|
isShow: true,
|
|
createTime: '2022-06-17 18:32:39',
|
|
commentType: 3,
|
|
parentUserName: 'ocean',
|
|
},
|
|
{
|
|
id: 23,
|
|
originId: 18,
|
|
parentId: 22,
|
|
userId: 8,
|
|
userName: '随机昵称',
|
|
commentContent: '222222222222',
|
|
isShow: true,
|
|
createTime: '2022-06-17 18:34:30',
|
|
commentType: 3,
|
|
parentUserName: '随机昵称',
|
|
},
|
|
{
|
|
id: 24,
|
|
originId: 18,
|
|
parentId: 18,
|
|
userId: 8,
|
|
userName: '随机昵称',
|
|
commentContent: '直接评论直接评论',
|
|
isShow: true,
|
|
createTime: '2022-06-17 18:36:03',
|
|
commentType: 3,
|
|
parentUserName: 'ocean',
|
|
},
|
|
],
|
|
},
|
|
total: 0,
|
|
opts: {
|
|
isShow: [
|
|
{
|
|
value: true,
|
|
label: '显示',
|
|
},
|
|
{
|
|
value: false,
|
|
label: '隐藏',
|
|
},
|
|
],
|
|
score: [
|
|
{
|
|
value: 1,
|
|
label: '1星',
|
|
},
|
|
{
|
|
value: 2,
|
|
label: '2星',
|
|
},
|
|
{
|
|
value: 3,
|
|
label: '3星',
|
|
},
|
|
{
|
|
value: 4,
|
|
label: '4星',
|
|
},
|
|
{
|
|
value: 5,
|
|
label: '5星',
|
|
},
|
|
],
|
|
commentType: {
|
|
// 评论
|
|
comment: 1,
|
|
// 追评
|
|
addComment: 2,
|
|
// 回复
|
|
reply: 3,
|
|
},
|
|
},
|
|
};
|
|
const getters = {};
|
|
const mutations = {
|
|
setList: (state, data) => (state.list = data),
|
|
setTotal: (state, data) => (state.total = data),
|
|
setDetail: (state, data) => (state.detail = data),
|
|
};
|
|
const actions = {
|
|
async search({ state, commit, rootGetters }, params) {
|
|
let data = { ...params };
|
|
let pagingCode = params.pagingCode;
|
|
if (data.dateRange?.length) {
|
|
data.commentTimeBegin = data.dateRange[0];
|
|
data.commentTimeEnd = data.dateRange[1];
|
|
}
|
|
delete data.dateRange;
|
|
delete data.pagingCode;
|
|
const res = await api.commentList({
|
|
...rootGetters['local/page'](pagingCode),
|
|
...data,
|
|
});
|
|
if (!res) {
|
|
ElMessage.error('评价列表查询失败');
|
|
}
|
|
res;
|
|
commit(
|
|
'setList',
|
|
res?.records.map((i) => ({
|
|
...i,
|
|
scoreName: state.opts.score.find((item) => item.value == i.commentScore)?.label,
|
|
})) || []
|
|
);
|
|
commit('setTotal', res?.total || 0);
|
|
},
|
|
async updateShow({ state }, params) {
|
|
const res = await api.updateCommentShow(params);
|
|
if (!res) {
|
|
ElMessage.error('状态更新失败!');
|
|
return Promise.reject('更新失败');
|
|
}
|
|
return Promise.resolve(res);
|
|
},
|
|
async getDetail({ state, commit }, id) {
|
|
const res = await api.commentDetail({ id });
|
|
if (!res) {
|
|
ElMessage.error('获取详情失败');
|
|
return Promise.reject('获取详情失败');
|
|
}
|
|
commit('setDetail', res);
|
|
return Promise.resolve(res);
|
|
},
|
|
async add({ state, commit }, data) {
|
|
const res = await api.commentAdd(data);
|
|
if (!res) {
|
|
ElMessage.error('回复失败');
|
|
return Promise.reject(false);
|
|
}
|
|
return Promise.resolve(res);
|
|
},
|
|
};
|
|
|
|
export default {
|
|
state,
|
|
getters,
|
|
mutations,
|
|
actions,
|
|
};
|