code review:商品评论

This commit is contained in:
YunaiV 2023-08-26 21:23:10 +08:00
parent d09366b9bd
commit 5cd01903e4
2 changed files with 16 additions and 25 deletions

View File

@ -48,16 +48,15 @@ defineExpose({ open }) // 提供 open 方法,用于打开弹窗
/** 提交表单 */ /** 提交表单 */
const emit = defineEmits(['success']) // success const emit = defineEmits(['success']) // success
const submitReplyForm = async () => { const submitReplyForm = async () => {
//
const valid = await formRef?.value?.validate() const valid = await formRef?.value?.validate()
if (!valid) return if (!valid) return
//
formLoading.value = true formLoading.value = true
try { try {
await CommentApi.replyComment(formData.value) await CommentApi.replyComment(formData.value)
message.success(t('common.createSuccess')) message.success(t('common.createSuccess'))
dialogVisible.value = false dialogVisible.value = false
// //
emit('success') emit('success')

View File

@ -61,17 +61,24 @@
<el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="false"> <el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="false">
<el-table-column label="评论编号" align="center" prop="id" min-width="60" /> <el-table-column label="评论编号" align="center" prop="id" min-width="60" />
<el-table-column label="用户名称" align="center" prop="userNickname" width="80" /> <el-table-column label="用户名称" align="center" prop="userNickname" width="80" />
<el-table-column label="商品信息" align="center" min-width="210"> <el-table-column label="商品信息" align="center" min-width="300">
<template #default="scope"> <template #default="scope">
<div class="flex row items-center gap-x-4px"> <div class="flex row items-center gap-x-4px">
<el-image <el-image
v-if="scope.row.skuPicUrl" v-if="scope.row.skuPicUrl"
:src="scope.row.skuPicUrl" :src="scope.row.skuPicUrl"
:preview-src-list="[scope.row.skuPicUrl]" :preview-src-list="[scope.row.skuPicUrl]"
class="w-30px h-30px shrink-0" class="w-40px h-40px shrink-0"
preview-teleported preview-teleported
/> />
<div>{{ scope.row.spuName }}</div> <div>{{ scope.row.spuName }}</div>
<el-tag
v-for="property in scope.row.skuProperties"
:key="property.propertyId"
class="mr-10px"
>
{{ property.propertyName }}: {{ property.valueName }}
</el-tag>
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
@ -88,7 +95,7 @@
:src="picUrl" :src="picUrl"
:preview-src-list="scope.row.picUrls" :preview-src-list="scope.row.picUrls"
:initial-index="index" :initial-index="index"
class="w-30px h-30px" class="w-40px h-40px"
preview-teleported preview-teleported
/> />
</div> </div>
@ -151,7 +158,7 @@
import { dateFormatter } from '@/utils/formatTime' import { dateFormatter } from '@/utils/formatTime'
import * as CommentApi from '@/api/mall/product/comment' import * as CommentApi from '@/api/mall/product/comment'
import CommentForm from './CommentForm.vue' import CommentForm from './CommentForm.vue'
import ReplyForm from '@/views/mall/product/comment/ReplyForm.vue' import ReplyForm from './ReplyForm.vue'
defineOptions({ name: 'ProductComment' }) defineOptions({ name: 'ProductComment' })
@ -164,25 +171,10 @@ const list = ref([]) // 列表的数据
const queryParams = reactive({ const queryParams = reactive({
pageNo: 1, pageNo: 1,
pageSize: 10, pageSize: 10,
userId: null,
userNickname: null,
userAvatar: null,
anonymous: null,
orderId: null,
orderItemId: null,
spuId: null,
spuName: null,
skuId: null,
visible: null,
scores: null,
descriptionScores: null,
benefitScores: null,
content: null,
picUrls: null,
replyStatus: null, replyStatus: null,
replyUserId: null, spuName: null,
replyContent: null, userNickname: null,
replyTime: [], orderId: null,
createTime: [] createTime: []
}) })
const queryFormRef = ref() // const queryFormRef = ref() //