|
@@ -24,6 +24,8 @@ import { storeToRefs } from 'pinia'
|
|
|
import { isImageOrVideo } from '../../../core/utils/common'
|
|
|
import { list } from 'radash'
|
|
|
import dayjs from 'dayjs'
|
|
|
+import SectionHeading from '@/components/section-heading.vue'
|
|
|
+import BottomAppBar from '@/components/bottom-app-bar.vue'
|
|
|
|
|
|
const userStore = useUserStore()
|
|
|
const { userInfo } = storeToRefs(userStore)
|
|
@@ -39,7 +41,7 @@ const { data: reviews, run: runGetReviews } = useRequest(
|
|
|
)
|
|
|
const { data: circleUpvotes, run: setCircleUpvotes } = useRequest(
|
|
|
() => getCircleUpvotes(id.value),
|
|
|
- { initialData: { list: [], count: 0 } },
|
|
|
+ { initialData: { list: [], total: 0 } },
|
|
|
)
|
|
|
const swiperSizes = ref()
|
|
|
const swiperStyle = ref()
|
|
@@ -132,7 +134,7 @@ onShareAppMessage(async () => {
|
|
|
<div class="text-black/30 text-xs font-normal font-['PingFang SC'] leading-[10.18px]">
|
|
|
{{ dayjs(data.createTime).format('YYYY-MM-DD HH:mm') }}
|
|
|
</div>
|
|
|
- <view class="flex items-center my-4">
|
|
|
+ <!-- <view class="flex items-center my-4">
|
|
|
<view class="flex items-center">
|
|
|
<avatar-group-casual
|
|
|
:show-number="3"
|
|
@@ -145,35 +147,32 @@ onShareAppMessage(async () => {
|
|
|
<div
|
|
|
class="ml-1 text-black/60 text-sm font-normal font-['PingFang SC'] leading-[10.18px]"
|
|
|
>
|
|
|
- 40人赞过
|
|
|
+ {{ circleUpvotes.total }}人赞过
|
|
|
</div>
|
|
|
</view>
|
|
|
<view class="flex-1"></view>
|
|
|
<view><wd-icon class="text-black/65" name="arrow-right" size="22px"></wd-icon></view>
|
|
|
- </view>
|
|
|
- <!-- <SectionHeading :title="`评论 ${data.comments}`"></SectionHeading> -->
|
|
|
- <view class="flex items-center my-8">
|
|
|
- <div class="text-black/90 text-base font-normal font-['PingFang SC'] leading-[10.18px]">
|
|
|
- <span>评论</span>
|
|
|
- <!-- <span v-if="data?.comments">{{ data?.comments }}</span> -->
|
|
|
- </div>
|
|
|
- <view class="flex-1"></view>
|
|
|
- <view v-if="reviews?.list" class="flex">
|
|
|
- <div class="text-black/90 text-xs font-normal font-['PingFang SC'] leading-[10.18px]">
|
|
|
- 按热度
|
|
|
- </div>
|
|
|
- <div
|
|
|
- class="mx-2 text-black/40 text-xs font-normal font-['PingFang SC'] leading-[10.18px]"
|
|
|
- >
|
|
|
- |
|
|
|
- </div>
|
|
|
- <div class="text-black/40 text-xs font-normal font-['PingFang SC'] leading-[10.18px]">
|
|
|
- 按时间
|
|
|
- </div>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
+ </view> -->
|
|
|
+ <div class="h-0.25 bg-[#dadada] my-7"></div>
|
|
|
+ <SectionHeading :title="`评论`" size="base">
|
|
|
+ <template #append>
|
|
|
+ <view v-if="reviews?.list" class="flex">
|
|
|
+ <div class="text-black/90 text-xs font-normal font-['PingFang SC'] leading-[10.18px]">
|
|
|
+ 按热度
|
|
|
+ </div>
|
|
|
+ <div
|
|
|
+ class="mx-2 text-black/40 text-xs font-normal font-['PingFang SC'] leading-[10.18px]"
|
|
|
+ >
|
|
|
+ |
|
|
|
+ </div>
|
|
|
+ <div class="text-black/40 text-xs font-normal font-['PingFang SC'] leading-[10.18px]">
|
|
|
+ 按时间
|
|
|
+ </div>
|
|
|
+ </view>
|
|
|
+ </template>
|
|
|
+ </SectionHeading>
|
|
|
|
|
|
- <view>
|
|
|
+ <view clas="mt-8.25">
|
|
|
<template v-if="reviews?.list.length">
|
|
|
<template v-for="it of reviews?.list" :key="it.id">
|
|
|
<CommentItem
|
|
@@ -201,53 +200,54 @@ onShareAppMessage(async () => {
|
|
|
</template>
|
|
|
</view>
|
|
|
</view>
|
|
|
- <div
|
|
|
- class="fixed bottom-0 left-0 right-0 border-t border-t-solid border-[#ececec] h-[54px] bg-white flex items-center px-3.5"
|
|
|
- >
|
|
|
- <div class="w-[168px] bg-[#f6f6f6] rounded-[60px] px-3.5 py-2 flex items-center">
|
|
|
- <wd-input
|
|
|
- custom-class="bg-transparent!"
|
|
|
- no-border
|
|
|
- confirm-type="send"
|
|
|
- v-model="reviewContent"
|
|
|
- @confirm="handleSend"
|
|
|
- ></wd-input>
|
|
|
- </div>
|
|
|
- <view class="flex justify-around flex-1">
|
|
|
- <div>
|
|
|
- <button open-type="share" class="bg-transparent! p-0!">
|
|
|
- <view
|
|
|
- class="flex flex-col items-center text-[rgba(0,0,0,0.85)] text-3.5 font-400 line-height-5.5"
|
|
|
- >
|
|
|
- <wd-img width="15" height="15" src="/static/svgs/share.svg"></wd-img>
|
|
|
- <view class="">{{ data?.shareCount || 0 }}</view>
|
|
|
- </view>
|
|
|
- </button>
|
|
|
+ <BottomAppBar fixed placeholder border custom-class="">
|
|
|
+ <div class="bg-white flex items-center">
|
|
|
+ <div class="w-[168px] bg-[#f6f6f6] rounded-[60px] px-3.5 py-2 flex items-center">
|
|
|
+ <wd-input
|
|
|
+ custom-class="bg-transparent!"
|
|
|
+ no-border
|
|
|
+ confirm-type="send"
|
|
|
+ v-model="reviewContent"
|
|
|
+ placeholder="说点什么..."
|
|
|
+ @confirm="handleSend"
|
|
|
+ ></wd-input>
|
|
|
</div>
|
|
|
- <view
|
|
|
- class="flex flex-col items-center text-[rgba(0,0,0,0.85)] text-3.5 font-400 line-height-5.5"
|
|
|
- >
|
|
|
- <wd-img width="15" height="15" src="/static/svgs/comment.svg"></wd-img>
|
|
|
- <view class="">{{ data?.reviewCount }}</view>
|
|
|
- </view>
|
|
|
- <view
|
|
|
- class="flex flex-col items-center text-[rgba(0,0,0,0.85)] text-3.5 font-400 line-height-5.5"
|
|
|
- @click="
|
|
|
- handleUpvoteClick(
|
|
|
- {
|
|
|
- upvote: data.ownUpvote,
|
|
|
- circleId: data.id,
|
|
|
- userId: userInfo.userId,
|
|
|
- userName: userInfo.nickname,
|
|
|
- },
|
|
|
- () => run(),
|
|
|
- )
|
|
|
- "
|
|
|
- >
|
|
|
- <wd-img width="15" height="15" :src="thumbsUp"></wd-img>
|
|
|
- <view>{{ data.upvoteCount }}</view>
|
|
|
+ <view class="flex justify-around flex-1">
|
|
|
+ <div>
|
|
|
+ <button open-type="share" class="bg-transparent! p-0!">
|
|
|
+ <view
|
|
|
+ class="flex flex-col items-center text-[rgba(0,0,0,0.85)] text-3.5 font-400 line-height-5.5"
|
|
|
+ >
|
|
|
+ <wd-img width="15" height="15" src="/static/svgs/share.svg"></wd-img>
|
|
|
+ <view class="">{{ data?.shareCount || 0 }}</view>
|
|
|
+ </view>
|
|
|
+ </button>
|
|
|
+ </div>
|
|
|
+ <view
|
|
|
+ class="flex flex-col items-center text-[rgba(0,0,0,0.85)] text-3.5 font-400 line-height-5.5"
|
|
|
+ >
|
|
|
+ <wd-img width="15" height="15" src="/static/svgs/comment.svg"></wd-img>
|
|
|
+ <view class="">{{ data?.reviewCount }}</view>
|
|
|
+ </view>
|
|
|
+ <view
|
|
|
+ class="flex flex-col items-center text-[rgba(0,0,0,0.85)] text-3.5 font-400 line-height-5.5"
|
|
|
+ @click="
|
|
|
+ handleUpvoteClick(
|
|
|
+ {
|
|
|
+ upvote: data.ownUpvote,
|
|
|
+ circleId: data.id,
|
|
|
+ userId: userInfo.userId,
|
|
|
+ userName: userInfo.nickname,
|
|
|
+ },
|
|
|
+ () => run(),
|
|
|
+ )
|
|
|
+ "
|
|
|
+ >
|
|
|
+ <wd-img width="15" height="15" :src="thumbsUp"></wd-img>
|
|
|
+ <view>{{ data.upvoteCount }}</view>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
- </view>
|
|
|
- </div>
|
|
|
+ </div>
|
|
|
+ </BottomAppBar>
|
|
|
</view>
|
|
|
</template>
|