no message
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
<template>
|
||||
|
||||
<Head>
|
||||
<Title>{{ `${seo["title"] || "面经"} - 寄托天下出国留学网` }}</Title>
|
||||
<Meta name="keyword" :content="seo['keyword']" />
|
||||
@@ -11,10 +12,14 @@
|
||||
|
||||
<div class="content flexflex">
|
||||
<div class="left" :style="{ height: contentRightHeight + 'px' }">
|
||||
<div class="school-box flexcenter" :style="{ 'pointer-events': info['school']?.['url'] ? 'auto' : 'none' }">
|
||||
<a class="school-box-icon" :href="info['school']?.['url']" target="_blank"><img class="school-icon" v-if="info['school']?.['image']" :src="info['school']?.['image']" /></a>
|
||||
<a class="school-name" :href="info['school']?.['url']" target="_blank">{{ info["school"]?.["name"] }}</a>
|
||||
<a class="school-en-name" :href="info['school']?.['url']" target="_blank">{{ info["school"]?.["enname"] }}</a>
|
||||
<div class="school-box flexcenter"
|
||||
:style="{ 'pointer-events': info['school']?.['url'] ? 'auto' : 'none' }">
|
||||
<a class="school-box-icon" :href="info['school']?.['url']" target="_blank"><img class="school-icon"
|
||||
v-if="info['school']?.['image']" :src="info['school']?.['image']" /></a>
|
||||
<a class="school-name" :href="info['school']?.['url']" target="_blank">{{ info["school"]?.["name"]
|
||||
}}</a>
|
||||
<a class="school-en-name" :href="info['school']?.['url']" target="_blank">{{
|
||||
info["school"]?.["enname"] }}</a>
|
||||
</div>
|
||||
|
||||
<div class="mj-total flexacenter">
|
||||
@@ -47,17 +52,20 @@
|
||||
<div class="info-value flex1 ellipsis">{{ item["apply_results"] }}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="thread-text ellipsis flexflex" v-if="item['type'] == 'thread' || item['type'] == 'ask'">
|
||||
<div class="thread-text ellipsis flexflex"
|
||||
v-if="item['type'] == 'thread' || item['type'] == 'ask'">
|
||||
<div class="ask-label" v-if="item['type'] == 'ask'">回答:</div>
|
||||
<div class="flex1 ellipsis">{{ item["message"] }}</div>
|
||||
</div>
|
||||
|
||||
<div class="vote-list" v-if="item['type'] == 'vote'">
|
||||
<div class="vote-item" v-for="(ite, i) in item['option'].slice(0, 2)" :key="i">{{ numberToEnclosed(i) }} {{ ite }}</div>
|
||||
<div class="vote-item" v-for="(ite, i) in item['option'].slice(0, 2)" :key="i">{{
|
||||
numberToEnclosed(i) }} {{ ite }}</div>
|
||||
<div class="vote-item">{{ numberToEnclosed(3) }} …</div>
|
||||
</div>
|
||||
</a>
|
||||
<a v-else class="mj-item flexflex" :class="{ pitch: pitchIndex == index }" @click.stop.prevent="handleItem(item['uniqid'])" :href="`./details/${item['uniqid']}`">
|
||||
<a v-else class="mj-item flexflex" :class="{ pitch: pitchIndex == index }"
|
||||
@click.stop.prevent="handleItem(item['uniqid'])" :href="`./details/${item['uniqid']}`">
|
||||
<div class="mj-header flexacenter">
|
||||
<img class="mj-avatar" :src="item['avatar']" />
|
||||
<div class="user-name">{{ item["username"] || "匿名用户" }}</div>
|
||||
@@ -89,18 +97,21 @@
|
||||
<div class="titletitle">{{ info["subject"] }}</div>
|
||||
<div class="mj-header flexacenter">
|
||||
<div class="mj-header-left flexacenter">
|
||||
<el-popover placement="bottom-start" :width="140" trigger="click" popper-class="avatar-box-popper" :show-arrow="false">
|
||||
<el-popover placement="bottom-start" :width="140" trigger="click"
|
||||
popper-class="avatar-box-popper" :show-arrow="false">
|
||||
<template #reference>
|
||||
<img class="mj-avatar" :src="info['avatar']" />
|
||||
</template>
|
||||
|
||||
<div class="avatar-box flexflex" v-if="info['uin']">
|
||||
<!-- <div class="avatar-box flexflex"> -->
|
||||
<a class="avatar-item flexcenter" target="_blank" @click.prevent="sendMessage(info['uin'])">
|
||||
<a class="avatar-item flexcenter" target="_blank"
|
||||
@click.prevent="sendMessage(info['uin'])">
|
||||
<img class="avatar-icon" src="@/assets/img/send-messages-icon.png" />
|
||||
发送信息
|
||||
</a>
|
||||
<a class="avatar-item flexcenter" target="_blank" @click.prevent="TAHomePage(info['uin'])">
|
||||
<a class="avatar-item flexcenter" target="_blank"
|
||||
@click.prevent="TAHomePage(info['uin'])">
|
||||
<img class="avatar-icon" src="@/assets/img/homepage-icon.png" />
|
||||
TA的主页
|
||||
</a>
|
||||
@@ -115,12 +126,41 @@
|
||||
隐藏
|
||||
</div>
|
||||
</div>
|
||||
<a class="mj-header-right flexacenter" target="_blank" :href="info['threadurl']">
|
||||
<img class="original-icon" src="@/assets/img/original-icon.png" />
|
||||
论坛原帖
|
||||
<!-- <img class="eye-icon" src="@/assets/img/eye-icon.svg" /> -->
|
||||
<!-- {{ info["views"] }} -->
|
||||
</a>
|
||||
<div class="flexacenter">
|
||||
<a class="mj-header-right flexacenter" target="_blank" :href="info['threadurl']">
|
||||
<img class="original-icon" src="@/assets/img/original-icon.png" />
|
||||
论坛原帖
|
||||
</a>
|
||||
<div class="line"></div>
|
||||
<div class="eye-box flexacenter">
|
||||
<img class="eye-icon" src="@/assets/img/eye-icon.svg" />
|
||||
{{ info["views"] }}
|
||||
</div>
|
||||
|
||||
<div class="btn flexcenter" @click.stop="cutShow">
|
||||
<img class="icon" src="@/assets/img/dot-dot-dot-gray.png" />
|
||||
</div>
|
||||
|
||||
<div v-if="show">
|
||||
<div class="mask" @click.stop="cutShow"></div>
|
||||
<div class="operate">
|
||||
<div class="item" @click.stop="report">举报</div>
|
||||
<template v-if="ismanager">
|
||||
<div class="item" @click.stop="hide">{{ topicInfo.hidden == 0 ? "隐藏" : "显示" }}
|
||||
</div>
|
||||
<div class="item" @click.stop="recommend">{{ topicInfo.recommend == 1 ? "取消" :
|
||||
"" }}推荐</div>
|
||||
<div class="item" @click.stop="essence">{{ topicInfo.best == 1 ? "取消" : "" }}精华
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<template v-if="ismyself">
|
||||
<div class="item" @click.stop="deleteItem">删除</div>
|
||||
</template>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="details-box">
|
||||
@@ -128,7 +168,8 @@
|
||||
<div class="details-top">面试过程及内容</div>
|
||||
<div class="details-list">
|
||||
<div class="details-list-item flexacenter">
|
||||
<div class="details-value describe" :class="{ 'unlock-unlock': !isdisplay }" v-if="info['message']">
|
||||
<div class="details-value describe" :class="{ 'unlock-unlock': !isdisplay }"
|
||||
v-if="info['message']">
|
||||
<div class="text" v-html="info['message']"></div>
|
||||
<div class="unlock-mask flexflex" style="width: 693px">
|
||||
<div class="unlock-text-box flexcenter" @click="handleLike">
|
||||
@@ -138,12 +179,15 @@
|
||||
后即可查看完整内容
|
||||
</div>
|
||||
<template v-if="respondListState">
|
||||
<div class="respond-list-mask" @click.stop="cutRespondState(false)"></div>
|
||||
<div class="respond-list-mask" @click.stop="cutRespondState(false)">
|
||||
</div>
|
||||
<div class="respond-list-box" @click.stop="">
|
||||
<div class="respond-list-title">选择你的回应:</div>
|
||||
<div class="respond-list">
|
||||
<template v-for="item in riposteoptions" :key="item">
|
||||
<div class="respond-item" v-for="(item, key) in item.data" :key="key" v-html="jointriposte(key)" @click.stop="selectEomjiPop(key, true)"></div>
|
||||
<div class="respond-item" v-for="(item, key) in item.data"
|
||||
:key="key" v-html="jointriposte(key)"
|
||||
@click.stop="selectEomjiPop(key, true)"></div>
|
||||
</template>
|
||||
</div>
|
||||
</div>
|
||||
@@ -159,7 +203,9 @@
|
||||
<div class="details-list">
|
||||
<div class="details-list-item flexacenter" v-if="info['school']">
|
||||
<div class="details-name">学校</div>
|
||||
<a class="details-value flex1" target="_blank" :href="info['school']?.['url']">{{ info["school"]?.name }}</a>
|
||||
<a class="details-value flex1" target="_blank" :href="info['school']?.['url']">{{
|
||||
info["school"]?.name
|
||||
}}</a>
|
||||
</div>
|
||||
<div class="details-list-item flexacenter" v-if="info['profession']">
|
||||
<div class="details-name">{{ info["project"] ? "" : "项目/" }}专业</div>
|
||||
@@ -176,7 +222,9 @@
|
||||
<div class="details-list">
|
||||
<div class="details-list-item flexacenter">
|
||||
<div class="details-name">日期</div>
|
||||
<div class="details-value date" v-if="info['interviewtime']">{{ timestampToDate(info["interviewtime"]) }}</div>
|
||||
<div class="details-value date" v-if="info['interviewtime']">{{
|
||||
timestampToDate(info["interviewtime"]) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -188,26 +236,28 @@
|
||||
回应
|
||||
<div class="value">{{ ripostecount.total || 0 }}</div>
|
||||
<div v-if="ripostecount.user > 0" class="respond-list-btn" @click="openPopList">
|
||||
共 <span class="respond-list-btn-amount">{{ ripostecount.user }}</span
|
||||
>人回应
|
||||
共 <span class="respond-list-btn-amount">{{ ripostecount.user }}</span>人回应
|
||||
<img class="respond-list-btn-icon" src="@/assets/img/arrowsRight.svg" />
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="ripostelist.length == 0" class="respond-no-box flexacenter">
|
||||
<div class="respond-no flex1">
|
||||
<div v-for="item in randomEmojis" :key="item" class="code" v-html="jointriposte(item)" @click="selectEomji(item)"></div>
|
||||
<div v-for="item in randomEmojis" :key="item" class="code" v-html="jointriposte(item)"
|
||||
@click="selectEomji(item)"></div>
|
||||
</div>
|
||||
<RespondAdd></RespondAdd>
|
||||
</div>
|
||||
<div v-else class="respond-box">
|
||||
<div v-for="(item, index) in ripostelist" :key="item" class="respond-item flexacenter" :class="{ pitch: item.selected }" @click="selectListEomji(index)">
|
||||
<div v-for="(item, index) in ripostelist" :key="item" class="respond-item flexacenter"
|
||||
:class="{ pitch: item.selected }" @click="selectListEomji(index)">
|
||||
<div class="code flexacenter" v-html="jointriposte(item.item)"></div>
|
||||
{{ item.num }}
|
||||
</div>
|
||||
<div v-if="ripostelist.length < 3" class="respond-select flexflex">
|
||||
<div class="respond-select-box flex1 flexflex">
|
||||
<template v-for="(item, index) in randomEmojis" :key="item">
|
||||
<div v-if="index < 5" class="respond-select-item" v-html="jointriposte(item)" @click="selectEomji(item)"></div>
|
||||
<div v-if="index < 5" class="respond-select-item" v-html="jointriposte(item)"
|
||||
@click="selectEomji(item)"></div>
|
||||
</template>
|
||||
</div>
|
||||
<RespondAdd></RespondAdd>
|
||||
@@ -226,32 +276,40 @@
|
||||
<div class="text">编辑评论</div>
|
||||
<div class="input-box">
|
||||
<div class="top flexflex">
|
||||
<textarea ref="editInputRef" class="input-textarea flex1" maxlength="500" v-model="editInput" @focus="judgeLogin" @input="autoResize" @paste="handleInputPaste" placeholder="说说你的想法或疑问…"></textarea>
|
||||
<textarea ref="editInputRef" class="input-textarea flex1" maxlength="500"
|
||||
v-model="editInput" @focus="judgeLogin" @input="autoResize"
|
||||
@paste="handleInputPaste" placeholder="说说你的想法或疑问…"></textarea>
|
||||
</div>
|
||||
<div class="picture-box" v-if="editPicture.url">
|
||||
<div class="picture">
|
||||
<img class="close" @click="closeEditFileUpload()" src="@/assets/img/close-icon.png" />
|
||||
<img class="img" @click="handleAnswerText" :src="editPicture.base64 || editPicture.url" />
|
||||
<img class="close" @click="closeEditFileUpload()"
|
||||
src="@/assets/img/close-icon.png" />
|
||||
<img class="img" @click="handleAnswerText"
|
||||
:src="editPicture.base64 || editPicture.url" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="bottom flexacenter">
|
||||
<div class="operate flexacenter">
|
||||
<div class="item" :class="{ pitch: editEmojiState }" style="z-index: 2">
|
||||
<el-popover placement="left-start" popper-class="emoji-popover" :width="584" trigger="click" v-model:visible="editEmojiState" :teleported="false">
|
||||
<el-popover placement="left-start" popper-class="emoji-popover" :width="584"
|
||||
trigger="click" v-model:visible="editEmojiState" :teleported="false">
|
||||
<template #reference>
|
||||
<img class="icon" src="@/assets/img/smiling-face.png" alt="" />
|
||||
</template>
|
||||
|
||||
<!-- <div v-if="editEmojiState" class="emoji-edit-box-mask" @click="closeEditEmoji()"></div> -->
|
||||
<div class="emoji-box">
|
||||
<div class="emoji-icon" v-for="item in emojiData" :key="item" @click="selectEditEmoji(item)">{{ item }}</div>
|
||||
<div class="emoji-icon" v-for="item in emojiData" :key="item"
|
||||
@click="selectEditEmoji(item)">{{ item }}</div>
|
||||
</div>
|
||||
</el-popover>
|
||||
</div>
|
||||
<div class="item flexacenter" @click="handleEditFile()">
|
||||
<input class="file" type="file" @change="handleFileUpload($event)" accept=".png, .jpg, .jpeg" />
|
||||
<img class="icon" style="border-radius: 0" src="@/assets/img/picture-icon.png" alt="" />
|
||||
<input class="file" type="file" @change="handleFileUpload($event)"
|
||||
accept=".png, .jpg, .jpeg" />
|
||||
<img class="icon" style="border-radius: 0"
|
||||
src="@/assets/img/picture-icon.png" alt="" />
|
||||
<span class="file-hint">最多可上传1张图片,支持在输入框中直接粘贴图片。</span>
|
||||
</div>
|
||||
</div>
|
||||
@@ -276,7 +334,9 @@
|
||||
<div class="input-box">
|
||||
<div class="top flexflex">
|
||||
<img class="avatar" v-if="user.avatar" :src="user.avatar" />
|
||||
<textarea class="input-textarea flex1" maxlength="500" v-model="commentInputTop" @focus="judgeLogin" @input="autoResize" @paste="handleInputPaste" placeholder="说说你的想法或疑问…"></textarea>
|
||||
<textarea class="input-textarea flex1" maxlength="500" v-model="commentInputTop"
|
||||
@focus="judgeLogin" @input="autoResize" @paste="handleInputPaste"
|
||||
placeholder="说说你的想法或疑问…"></textarea>
|
||||
</div>
|
||||
<div class="picture-box" v-if="picture.url">
|
||||
<div class="picture">
|
||||
@@ -288,19 +348,24 @@
|
||||
<div class="bottom flexacenter">
|
||||
<div class="operate flexacenter">
|
||||
<div class="item" :class="{ pitch: emojiState }" style="z-index: 2">
|
||||
<el-popover placement="left" popper-class="emoji-popover" :width="625" trigger="click" v-model:visible="emojiState" :teleported="false">
|
||||
<el-popover placement="left" popper-class="emoji-popover" :width="625"
|
||||
trigger="click" v-model:visible="emojiState" :teleported="false">
|
||||
<template #reference>
|
||||
<img class="icon" src="@/assets/img/smiling-face.png" alt="" />
|
||||
</template>
|
||||
|
||||
<div class="emoji-box">
|
||||
<div class="emoji-icon" v-for="item in emojiData" :key="item" @click="selectEmoji(item)">{{ item }}</div>
|
||||
<div class="emoji-icon" v-for="item in emojiData" :key="item"
|
||||
@click="selectEmoji(item)">{{
|
||||
item }}</div>
|
||||
</div>
|
||||
</el-popover>
|
||||
</div>
|
||||
<div class="item flexacenter" @click="judgeLogin()">
|
||||
<input class="file" type="file" @change="handleFileUpload($event)" accept=".png, .jpg, .jpeg" />
|
||||
<img class="icon" style="border-radius: 0" src="@/assets/img/picture-icon.png" alt="" />
|
||||
<input class="file" type="file" @change="handleFileUpload($event)"
|
||||
accept=".png, .jpg, .jpeg" />
|
||||
<img class="icon" style="border-radius: 0" src="@/assets/img/picture-icon.png"
|
||||
alt="" />
|
||||
<span class="file-hint">最多可上传1张图片,支持在输入框中直接粘贴图片。</span>
|
||||
</div>
|
||||
</div>
|
||||
@@ -316,17 +381,21 @@
|
||||
<template v-else>
|
||||
<div class="comment-list">
|
||||
<div class="comment-item flexflex" v-for="(item, index) in commentList" :key="item.id">
|
||||
<el-popover placement="bottom-start" :width="140" trigger="click" popper-class="avatar-box-popper" :show-arrow="false" v-model:visible="item['popoverState']">
|
||||
<el-popover placement="bottom-start" :width="140" trigger="click"
|
||||
popper-class="avatar-box-popper" :show-arrow="false"
|
||||
v-model:visible="item['popoverState']">
|
||||
<template #reference>
|
||||
<img class="comment-avatar" :src="item['avatar']" />
|
||||
</template>
|
||||
|
||||
<div class="avatar-box flexflex" v-if="item['uin']">
|
||||
<a class="avatar-item flexcenter" target="_blank" @click.prevent="sendMessage(item['uin'])">
|
||||
<a class="avatar-item flexcenter" target="_blank"
|
||||
@click.prevent="sendMessage(item['uin'])">
|
||||
<img class="avatar-icon" src="@/assets/img/send-messages-icon.png" />
|
||||
发送信息
|
||||
</a>
|
||||
<a class="avatar-item flexcenter" target="_blank" @click.prevent="TAHomePage(item['uin'])">
|
||||
<a class="avatar-item flexcenter" target="_blank"
|
||||
@click.prevent="TAHomePage(item['uin'])">
|
||||
<img class="avatar-icon" src="@/assets/img/homepage-icon.png" />
|
||||
TA的主页
|
||||
</a>
|
||||
@@ -335,10 +404,12 @@
|
||||
<div class="comment-content flex1">
|
||||
<div class="comment-header flexacenter">
|
||||
<div class="comment-header-left flexacenter">
|
||||
<div class="comments-username" @click="openAvatarPopover(index)">{{ item["nickname"] }}</div>
|
||||
<div class="comments-username" @click="openAvatarPopover(index)">{{
|
||||
item["nickname"] }}</div>
|
||||
<div class="comments-time">{{ handleDate(item["timestamp"]) }}</div>
|
||||
<div class="comments-identity" v-if="item['isauthor']">作者</div>
|
||||
<img class="comments-title" v-if="item['groupimage']" :src="item.groupimage" :alt="item.grouptitle" style="height: 17px" />
|
||||
<img class="comments-title" v-if="item['groupimage']" :src="item.groupimage"
|
||||
:alt="item.grouptitle" style="height: 17px" />
|
||||
</div>
|
||||
<div class="comment-header-right flexacenter">
|
||||
<div class="menu-box flexacenter">
|
||||
@@ -346,54 +417,80 @@
|
||||
<!-- <div class="report-box flexcenter" @click="report(item['token'])">举报</div> -->
|
||||
<div class="operate-box">
|
||||
<div class="item flexcenter" @click="report(item['token'])">举报</div>
|
||||
<div class="item flexcenter" v-if="permissions.includes('comment.edit')" @click="openEdit(item['token'], index)">编辑</div>
|
||||
<div class="item flexcenter" v-if="permissions.includes('comment.delete')" @click="commentDelete(item['token'], index)">删除</div>
|
||||
<div class="item flexcenter"
|
||||
v-if="permissions.includes('comment.edit')"
|
||||
@click="openEdit(item['token'], index)">编辑</div>
|
||||
<div class="item flexcenter"
|
||||
v-if="permissions.includes('comment.delete')"
|
||||
@click="commentDelete(item['token'], index)">删除</div>
|
||||
</div>
|
||||
</div>
|
||||
<img class="comment-icon" title="回复" @click="!item['childState'] ? openAnswerCommentsChild(index) : closeAnswerCommentsChild()" src="@/assets/img/comment-icon-gray.svg" />
|
||||
<img class="comment-icon" title="回复"
|
||||
@click="!item['childState'] ? openAnswerCommentsChild(index) : closeAnswerCommentsChild()"
|
||||
src="@/assets/img/comment-icon-gray.svg" />
|
||||
<div class="flexacenter like-box" @click="commentLike(index)">
|
||||
<img class="like-icon" v-if="item['islike'] == 1" src="@/assets/img/like-red-pitch.png" />
|
||||
<img class="like-icon" v-if="item['islike'] == 1"
|
||||
src="@/assets/img/like-red-pitch.png" />
|
||||
<img class="like-icon" v-else src="@/assets/img/like-icon-gray.png" />
|
||||
<div class="like-quantity">{{ item["likenum"] || 0 }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="comment-text" v-if="item['content']" @click="!item['childState'] ? openAnswerCommentsChild(index) : closeAnswerCommentsChild()" v-html="item['content']"></div>
|
||||
<img class="comments-img" @click="handleAnswerText" :src="item.image?.base64 || item.image?.url" v-if="item.image?.url" />
|
||||
<div class="comment-text" v-if="item['content']"
|
||||
@click="!item['childState'] ? openAnswerCommentsChild(index) : closeAnswerCommentsChild()"
|
||||
v-html="item['content']"></div>
|
||||
<img class="comments-img" @click="handleAnswerText"
|
||||
:src="item.image?.base64 || item.image?.url" v-if="item.image?.url" />
|
||||
<!-- <div class="comments-input-masking" @click="closeAnswerCommentsChild()" v-if="item['childState']"></div> -->
|
||||
<!-- <div class="comments-input-box" :class="{ 'comments-input-box-show': item['childState'] }"> -->
|
||||
<div class="input-box" v-if="item['childState']">
|
||||
<img class="cross" @click="closeAnswerCommentsChild()" src="@/assets/img/cross-icon.png" />
|
||||
<img class="cross" @click="closeAnswerCommentsChild()"
|
||||
src="@/assets/img/cross-icon.png" />
|
||||
<div class="top flexflex">
|
||||
<img class="avatar" v-if="user.avatar" :src="user.avatar" />
|
||||
<textarea class="input-textarea flex1" maxlength="500" placeholder="说说你的想法或疑问…" v-model="item['commentInput']" @focus="judgeLogin" @input="autoResize" @paste="handleInputPaste($event, index)"></textarea>
|
||||
<textarea class="input-textarea flex1" maxlength="500"
|
||||
placeholder="说说你的想法或疑问…" v-model="item['commentInput']"
|
||||
@focus="judgeLogin" @input="autoResize"
|
||||
@paste="handleInputPaste($event, index)"></textarea>
|
||||
</div>
|
||||
<div class="picture-box" v-if="item.picture?.url">
|
||||
<div class="picture">
|
||||
<img class="close" @click="closeFileUpload(index)" src="@/assets/img/close-icon.png" />
|
||||
<img class="img" @click="handleAnswerText" :src="item.picture?.base64 || item.picture.url" />
|
||||
<img class="close" @click="closeFileUpload(index)"
|
||||
src="@/assets/img/close-icon.png" />
|
||||
<img class="img" @click="handleAnswerText"
|
||||
:src="item.picture?.base64 || item.picture.url" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="bottom flexacenter">
|
||||
<div class="operate flexacenter">
|
||||
<div class="item" :class="{ pitch: item.emojiState }" style="z-index: 2">
|
||||
<el-popover placement="left" popper-class="emoji-popover" :width="625" trigger="click" v-model:visible="item.emojiState" :teleported="false">
|
||||
<div class="item" :class="{ pitch: item.emojiState }"
|
||||
style="z-index: 2">
|
||||
<el-popover placement="left" popper-class="emoji-popover"
|
||||
:width="625" trigger="click" v-model:visible="item.emojiState"
|
||||
:teleported="false">
|
||||
<template #reference>
|
||||
<img class="icon" src="@/assets/img/smiling-face.png" alt="" />
|
||||
<img class="icon" src="@/assets/img/smiling-face.png"
|
||||
alt="" />
|
||||
</template>
|
||||
|
||||
<div class="emoji-box">
|
||||
<div class="emoji-icon" v-for="item in emojiData" :key="item" @click="selectEmoji(item, index)">{{ item }}</div>
|
||||
<div class="emoji-icon" v-for="item in emojiData"
|
||||
:key="item" @click="selectEmoji(item, index)">{{ item }}
|
||||
</div>
|
||||
</div>
|
||||
</el-popover>
|
||||
</div>
|
||||
<div class="item flexacenter" @click="judgeLogin()">
|
||||
<input class="file" type="file" @change="handleFileUpload($event, index)" accept=".png, .jpg, .jpeg" />
|
||||
<img class="icon" style="border-radius: 0" src="@/assets/img/picture-icon.png" alt="" />
|
||||
<input class="file" type="file"
|
||||
@change="handleFileUpload($event, index)"
|
||||
accept=".png, .jpg, .jpeg" />
|
||||
<img class="icon" style="border-radius: 0"
|
||||
src="@/assets/img/picture-icon.png" alt="" />
|
||||
<span class="file-hint">最多可上传1张图片,支持在输入框中直接粘贴图片。</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="btn" @click="submitAnswerComments(item['commentInput'], index)">发送</div>
|
||||
<div class="btn" @click="submitAnswerComments(item['commentInput'], index)">
|
||||
发送</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div class="comments-input-box" :class="{ 'comments-input-box-show': item['childState'] }">
|
||||
@@ -407,19 +504,25 @@
|
||||
</div> -->
|
||||
<!-- 子评论 -->
|
||||
<div class="child-comments" v-if="item['child'].length > 0">
|
||||
<div class="comment-item flexflex" v-for="(ite, i) in item['child']" :key="ite.id">
|
||||
<div class="comment-item flexflex" v-for="(ite, i) in item['child']"
|
||||
:key="ite.id">
|
||||
<!-- <img class="comment-avatar" :src="ite['avatar']" /> -->
|
||||
<el-popover placement="bottom-start" :width="140" trigger="click" popper-class="avatar-box-popper" :show-arrow="false" v-model:visible="ite['popoverState']">
|
||||
<el-popover placement="bottom-start" :width="140" trigger="click"
|
||||
popper-class="avatar-box-popper" :show-arrow="false"
|
||||
v-model:visible="ite['popoverState']">
|
||||
<template #reference>
|
||||
<img class="comment-avatar" :src="ite['avatar']" />
|
||||
</template>
|
||||
|
||||
<div class="avatar-box flexflex" v-if="ite['uin']">
|
||||
<a class="avatar-item flexcenter" target="_blank" @click.prevent="sendMessage(ite['uin'])">
|
||||
<img class="avatar-icon" src="@/assets/img/send-messages-icon.png" />
|
||||
<a class="avatar-item flexcenter" target="_blank"
|
||||
@click.prevent="sendMessage(ite['uin'])">
|
||||
<img class="avatar-icon"
|
||||
src="@/assets/img/send-messages-icon.png" />
|
||||
发送信息
|
||||
</a>
|
||||
<a class="avatar-item flexcenter" target="_blank" @click.prevent="TAHomePage(ite['uin'])">
|
||||
<a class="avatar-item flexcenter" target="_blank"
|
||||
@click.prevent="TAHomePage(ite['uin'])">
|
||||
<img class="avatar-icon" src="@/assets/img/homepage-icon.png" />
|
||||
TA的主页
|
||||
</a>
|
||||
@@ -428,35 +531,55 @@
|
||||
<div class="comment-content flex1">
|
||||
<div class="comment-header flexacenter">
|
||||
<div class="comment-header-left flexacenter">
|
||||
<div class="comments-username" @click="openAvatarPopover(index, i)">{{ ite["nickname"] }}</div>
|
||||
<div class="comments-time">{{ handleDate(ite["timestamp"]) }}</div>
|
||||
<div class="comments-username"
|
||||
@click="openAvatarPopover(index, i)">{{ ite["nickname"] }}
|
||||
</div>
|
||||
<div class="comments-time">{{ handleDate(ite["timestamp"]) }}
|
||||
</div>
|
||||
|
||||
<div class="comments-identity" v-if="ite['isauthor']">作者</div>
|
||||
<img class="comments-title" v-if="ite['groupimage']" :src="ite.groupimage" :alt="ite.grouptitle" style="height: 17px" />
|
||||
<img class="comments-title" v-if="ite['groupimage']"
|
||||
:src="ite.groupimage" :alt="ite.grouptitle"
|
||||
style="height: 17px" />
|
||||
</div>
|
||||
<div class="comment-header-right flexacenter">
|
||||
<div class="menu-box flexacenter">
|
||||
<img class="menu-icon" src="@/assets/img/menu-icon-gray.svg" />
|
||||
<img class="menu-icon"
|
||||
src="@/assets/img/menu-icon-gray.svg" />
|
||||
<div class="operate-box">
|
||||
<div class="item flexcenter" @click="report(ite['token'])">举报</div>
|
||||
<div class="item flexcenter" v-if="permissions.includes('comment.edit')" @click="openEdit(ite['token'], index, i)">编辑</div>
|
||||
<div class="item flexcenter" v-if="permissions.includes('comment.delete')" @click="commentDelete(ite['token'], index, i)">删除</div>
|
||||
<div class="item flexcenter"
|
||||
@click="report(ite['token'])">举报</div>
|
||||
<div class="item flexcenter"
|
||||
v-if="permissions.includes('comment.edit')"
|
||||
@click="openEdit(ite['token'], index, i)">编辑</div>
|
||||
<div class="item flexcenter"
|
||||
v-if="permissions.includes('comment.delete')"
|
||||
@click="commentDelete(ite['token'], index, i)">删除
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div class="report-box flexcenter" @click="report(ite['token'])">举报</div> -->
|
||||
</div>
|
||||
<img class="comment-icon" title="回复" @click="!ite['childState'] ? openAnswerCommentsChild(index, i) : closeAnswerCommentsChild()" src="@/assets/img/comment-icon-gray.svg" />
|
||||
<div class="flexacenter like-box" @click="commentLike(index, i)">
|
||||
<img class="like-icon" v-if="ite['islike'] == 1" src="@/assets/img/like-red-pitch.png" />
|
||||
<img class="like-icon" v-else src="@/assets/img/like-icon-gray.png" />
|
||||
<img class="comment-icon" title="回复"
|
||||
@click="!ite['childState'] ? openAnswerCommentsChild(index, i) : closeAnswerCommentsChild()"
|
||||
src="@/assets/img/comment-icon-gray.svg" />
|
||||
<div class="flexacenter like-box"
|
||||
@click="commentLike(index, i)">
|
||||
<img class="like-icon" v-if="ite['islike'] == 1"
|
||||
src="@/assets/img/like-red-pitch.png" />
|
||||
<img class="like-icon" v-else
|
||||
src="@/assets/img/like-icon-gray.png" />
|
||||
<div class="like-quantity">{{ ite["likenum"] || 0 }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="comment-text" v-if="ite['content']" @click="!ite['childState'] ? openAnswerCommentsChild(index, i) : closeAnswerCommentsChild()">
|
||||
<div class="comments-reply" v-if="ite?.reply?.nickname">@{{ ite?.reply?.nickname }}</div>
|
||||
<div class="comment-text" v-if="ite['content']"
|
||||
@click="!ite['childState'] ? openAnswerCommentsChild(index, i) : closeAnswerCommentsChild()">
|
||||
<div class="comments-reply" v-if="ite?.reply?.nickname">@{{
|
||||
ite?.reply?.nickname }}</div>
|
||||
{{ ite["content"] }}
|
||||
</div>
|
||||
<img class="comments-img" @click="handleAnswerText" :src="ite.image?.base64 || ite.image?.url" v-if="ite.image?.url" />
|
||||
<img class="comments-img" @click="handleAnswerText"
|
||||
:src="ite.image?.base64 || ite.image?.url" v-if="ite.image?.url" />
|
||||
<!-- <div class="comments-input-box flexacenter" v-if="ite['childState']">
|
||||
<div class="comments-input flexflex">
|
||||
<textarea class="flex1" placeholder="回复" v-model="commentInput"></textarea>
|
||||
@@ -475,43 +598,65 @@
|
||||
</div> -->
|
||||
|
||||
<div class="input-box" v-if="ite['childState']">
|
||||
<img class="cross" @click="closeAnswerCommentsChild()" src="@/assets/img/cross-icon.png" />
|
||||
<img class="cross" @click="closeAnswerCommentsChild()"
|
||||
src="@/assets/img/cross-icon.png" />
|
||||
<div class="top flexflex">
|
||||
<textarea class="input-textarea flex1" maxlength="500" @focus="judgeLogin" :placeholder="'回复“' + (ite['nickname'] || '匿名用户') + '”:'" v-model="ite['commentInput']" @input="autoResize" @paste="handleInputPaste($event, index)"></textarea>
|
||||
<textarea class="input-textarea flex1" maxlength="500"
|
||||
@focus="judgeLogin"
|
||||
:placeholder="'回复“' + (ite['nickname'] || '匿名用户') + '”:'"
|
||||
v-model="ite['commentInput']" @input="autoResize"
|
||||
@paste="handleInputPaste($event, index)"></textarea>
|
||||
</div>
|
||||
<div class="picture-box" v-if="ite.picture?.url">
|
||||
<div class="picture">
|
||||
<img class="close" @click="closeFileUpload(index, i)" src="@/assets/img/close-icon.png" />
|
||||
<img class="img" @click="handleAnswerText" :src="ite.picture.base64 || ite.picture.url" />
|
||||
<img class="close" @click="closeFileUpload(index, i)"
|
||||
src="@/assets/img/close-icon.png" />
|
||||
<img class="img" @click="handleAnswerText"
|
||||
:src="ite.picture.base64 || ite.picture.url" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="bottom flexacenter">
|
||||
<div class="operate flexacenter">
|
||||
<div class="item" :class="{ pitch: ite.emojiState }" style="z-index: 2">
|
||||
<el-popover placement="left" popper-class="emoji-popover" :width="625" trigger="click" v-model:visible="ite.emojiState" :teleported="false">
|
||||
<div class="item" :class="{ pitch: ite.emojiState }"
|
||||
style="z-index: 2">
|
||||
<el-popover placement="left"
|
||||
popper-class="emoji-popover" :width="625"
|
||||
trigger="click" v-model:visible="ite.emojiState"
|
||||
:teleported="false">
|
||||
<template #reference>
|
||||
<img class="icon" src="@/assets/img/smiling-face.png" alt="" />
|
||||
<img class="icon"
|
||||
src="@/assets/img/smiling-face.png"
|
||||
alt="" />
|
||||
</template>
|
||||
|
||||
<div class="emoji-box">
|
||||
<div class="emoji-icon" v-for="item in emojiData" :key="item" @click="selectEmoji(item, index, i)">{{ item }}</div>
|
||||
<div class="emoji-icon"
|
||||
v-for="item in emojiData" :key="item"
|
||||
@click="selectEmoji(item, index, i)">{{ item
|
||||
}}</div>
|
||||
</div>
|
||||
</el-popover>
|
||||
</div>
|
||||
<div class="item flexacenter" @click="judgeLogin()">
|
||||
<input class="file" type="file" @change="handleFileUpload($event, index, i)" accept=".png, .jpg, .jpeg" />
|
||||
<img class="icon" style="border-radius: 0" src="@/assets/img/picture-icon.png" alt="" />
|
||||
<input class="file" type="file"
|
||||
@change="handleFileUpload($event, index, i)"
|
||||
accept=".png, .jpg, .jpeg" />
|
||||
<img class="icon" style="border-radius: 0"
|
||||
src="@/assets/img/picture-icon.png" alt="" />
|
||||
<span class="file-hint">最多可上传1张图片,支持在输入框中直接粘贴图片。</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="btn" @click="submitAnswerComments(ite['commentInput'], index, i)">发送</div>
|
||||
<div class="btn"
|
||||
@click="submitAnswerComments(ite['commentInput'], index, i)">
|
||||
发送</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 还有几个 -->
|
||||
<div class="comments-also flexacenter" v-if="item['childnum'] > item['child'].length" @click="alsoCommentsData(index)">
|
||||
<div class="comments-also flexacenter"
|
||||
v-if="item['childnum'] > item['child'].length" @click="alsoCommentsData(index)">
|
||||
<div class="">还有{{ item["childnum"] - item["child"].length }}条回复</div>
|
||||
<img class="also-icon" src="@/assets/img/arrow-circular-gray.png" />
|
||||
</div>
|
||||
@@ -525,10 +670,12 @@
|
||||
|
||||
<div class="floor-area flexacenter" @click="closeAnswerCommentsChild()">
|
||||
<div class="floor-content flexacenter">
|
||||
<div class="floor-right flexacenter" @mouseenter="handleFloorRight(true)" @mouseleave="handleFloorRight(false)">
|
||||
<div class="floor-right flexacenter" @mouseenter="handleFloorRight(true)"
|
||||
@mouseleave="handleFloorRight(false)">
|
||||
手机查看该面经
|
||||
<img class="arrows-icon" src="@/assets/img/arrows-icon.png" />
|
||||
<el-popover placement="bottom" width="160px" trigger="hover" v-model:visible="floorRightState" popper-style="padding: 24px;border-radius: 18px;">
|
||||
<el-popover placement="bottom" width="160px" trigger="hover" v-model:visible="floorRightState"
|
||||
popper-style="padding: 24px;border-radius: 18px;">
|
||||
<template #reference>
|
||||
<div class="QR-code-ball flexcenter">
|
||||
<img class="" src="@/assets/img/QR-code-icon.svg" />
|
||||
@@ -538,11 +685,6 @@
|
||||
</el-popover>
|
||||
</div>
|
||||
|
||||
<!-- <div class="floor-centre flexflex flexacenter" @click="openHide" v-if="permissions.includes('mj.hide')">
|
||||
<img class="icon" src="@/assets/img/set-icon.png" />
|
||||
隐藏
|
||||
</div> -->
|
||||
|
||||
<div class="floor-left flexacenter">
|
||||
<div class="item flexacenter" v-if="isBrowser" style="cursor: auto">
|
||||
<img class="icon h8" src="@/assets/img/eye-icon-black.svg" />
|
||||
@@ -557,29 +699,35 @@
|
||||
<img class="icon h16" src="@/assets/img/riposte-icon.png" />
|
||||
<div>{{ ripostecount.total || 0 }}</div>
|
||||
</div>
|
||||
<div class="item flexacenter" @click="handleScrollComments()"><img class="icon h15" src="@/assets/img/comment-icon.png" />{{ commentComments }}</div>
|
||||
<div class="item flexacenter" @click="handleScrollComments()"><img class="icon h15"
|
||||
src="@/assets/img/comment-icon.png" />{{ commentComments }}</div>
|
||||
<ClientOnly>
|
||||
<div class="item flexacenter" @click="handleCollect()">
|
||||
<img class="icon h16" v-if="iscollection == 1" src="@/assets/img/collect-icon-colours.svg" />
|
||||
<img class="icon h16" v-if="iscollection == 1"
|
||||
src="@/assets/img/collect-icon-colours.svg" />
|
||||
<img class="icon h16" v-else src="@/assets/img/collect-icon.png" />
|
||||
<div>{{ info["favnum"] || "收藏" }}</div>
|
||||
</div>
|
||||
</ClientOnly>
|
||||
<ClientOnly>
|
||||
<el-popover placement="bottom" width="628px" trigger="click" popper-style="padding: 0;border-radius: 10px;" v-model:visible="transmitBoxState">
|
||||
<el-popover placement="bottom" width="628px" trigger="click"
|
||||
popper-style="padding: 0;border-radius: 10px;" v-model:visible="transmitBoxState">
|
||||
<template #reference>
|
||||
<div class="item flexacenter" @click="handleShare"><img class="icon h15" src="@/assets/img/transmit-icon.png" />转发</div>
|
||||
<div class="item flexacenter" @click="handleShare"><img class="icon h15"
|
||||
src="@/assets/img/transmit-icon.png" />转发</div>
|
||||
</template>
|
||||
|
||||
<div class="transmit-box flexflex">
|
||||
<img class="cross-icon" @click="transmitBoxState = false" src="@/assets/img/cross-icon.png" />
|
||||
<img class="cross-icon" @click="transmitBoxState = false"
|
||||
src="@/assets/img/cross-icon.png" />
|
||||
<div class="transmit-left transmit-web">
|
||||
<div class="transmit-title">转发网页版</div>
|
||||
<div class="transmit-content">
|
||||
<div class="transmit-headline">{{ info["subject"] }}</div>
|
||||
<div class="transmit-url">{{ getFullUrl() }}</div>
|
||||
</div>
|
||||
<div class="transmit-web-btn flexcenter" @click="copyText(`${info['subject']} + ${getFullUrl()}`)">复制链接</div>
|
||||
<div class="transmit-web-btn flexcenter"
|
||||
@click="copyText(`${info['subject']} + ${getFullUrl()}`)">复制链接</div>
|
||||
</div>
|
||||
<div class="transmit-right transmit-mini">
|
||||
<div class="transmit-title">转发小程序版</div>
|
||||
@@ -595,18 +743,6 @@
|
||||
</el-popover>
|
||||
</ClientOnly>
|
||||
</div>
|
||||
|
||||
<!-- <div class="floor-middle flexacenter coin-box">
|
||||
<div class="coin-content flexacenter flex1" @click="openCoinRankList" :style="{ cursor: info.coins != 0 ? 'pointer' : '' }">
|
||||
<img class="coin-icon" src="@/assets/img/coin-icon.png" />
|
||||
<div class="coin-text flex1 flexacenter">
|
||||
已获
|
||||
<div class="coin-value">{{ info.coins }}</div>
|
||||
个寄托币
|
||||
</div>
|
||||
</div>
|
||||
<div class="coin-btn flexcenter" @click="openCoinOperation()">给TA投币</div>
|
||||
</div> -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -617,7 +753,8 @@
|
||||
<div class="pop-masking flexcenter" v-if="isInsertCoinsOperationShow">
|
||||
<div class="slit-pop-box" v-if="coinMybalance > 0" style="border-radius: 11px">
|
||||
<div class="slit-left" style="width: 50px">
|
||||
<img class="slit-left-icon" src="//app.gter.net/image/gter/offer/imgdetails/u620.png" style="margin-top: -8px" />
|
||||
<img class="slit-left-icon" src="//app.gter.net/image/gter/offer/imgdetails/u620.png"
|
||||
style="margin-top: -8px" />
|
||||
</div>
|
||||
<div class="slit-box">
|
||||
<div class="slit-head" style="flex: 1; flex-direction: column; align-items: flex-start">
|
||||
@@ -631,33 +768,40 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="coin-quantity flexacenter">
|
||||
<div class="coin-quantity-item" :class="{ 'coin-pitch': coinAmount == item }" v-for="(item, index) in coinConfig.list" :key="index" @click="coinSelectAmountDispose(item)">
|
||||
<div class="coin-quantity-item" :class="{ 'coin-pitch': coinAmount == item }"
|
||||
v-for="(item, index) in coinConfig.list" :key="index" @click="coinSelectAmountDispose(item)">
|
||||
{{ item }} <span>{{ coinConfig.unit }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<el-input class="slit-input" v-model="coinAmount" placeholder="自定义投币金额" show-word-limit="false"> </el-input>
|
||||
<el-input class="slit-input" v-model="coinAmount" placeholder="自定义投币金额" show-word-limit="false">
|
||||
</el-input>
|
||||
<div class="message-box">
|
||||
<div class="message-hint">顺便说点什么</div>
|
||||
<el-input class="slit-input" style="font-size: 15px" v-model="coinMessage" placeholder="请输入" maxlength="500" show-word-limit> </el-input>
|
||||
<el-input class="slit-input" style="font-size: 15px" v-model="coinMessage" placeholder="请输入"
|
||||
maxlength="500" show-word-limit> </el-input>
|
||||
</div>
|
||||
|
||||
<div class="operation">
|
||||
<div class="operation-item flexcenter" @click="isInsertCoinsOperationShow = !isInsertCoinsOperationShow">取消</div>
|
||||
<div class="operation-item flexcenter"
|
||||
@click="isInsertCoinsOperationShow = !isInsertCoinsOperationShow">取消</div>
|
||||
<div class="operation-item flexcenter greenBj" @click="postCoinSbmit()">确定</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="no-jituobi-pop-box" v-else>
|
||||
<img class="no-jituobi-close" @click="isInsertCoinsOperationShow = !isInsertCoinsOperationShow" src="@/assets/img/cross-icon.png" />
|
||||
<img class="no-jituobi-close" @click="isInsertCoinsOperationShow = !isInsertCoinsOperationShow"
|
||||
src="@/assets/img/cross-icon.png" />
|
||||
<div class="no-jituobi-head flexacenter">
|
||||
<img class="bi-icon" src="//app.gter.net/image/gter/offer/imgdetails/u620.png" style="margin-right: 12px" />
|
||||
<img class="bi-icon" src="//app.gter.net/image/gter/offer/imgdetails/u620.png"
|
||||
style="margin-right: 12px" />
|
||||
<span style="margin-top: 10px">
|
||||
{{ coinConfig?.strategy?.tips }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<a :href="coinConfig?.strategy?.url" target="_blank">
|
||||
<div class="strategy-btn greenBj flexcenter">{{ coinConfig?.strategy?.button }}<img class="strategy-icon" src="@/assets/img/strategy-icon.svg" /></div>
|
||||
<div class="strategy-btn greenBj flexcenter">{{ coinConfig?.strategy?.button }}<img
|
||||
class="strategy-icon" src="@/assets/img/strategy-icon.svg" /></div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
@@ -674,16 +818,17 @@
|
||||
</div>
|
||||
<template v-else>
|
||||
<div class="respond-pop-title">
|
||||
共<span class="respond-pop-amount">{{ ripostecount.user }}</span
|
||||
>人回应
|
||||
共<span class="respond-pop-amount">{{ ripostecount.user }}</span>人回应
|
||||
<img class="respond-title-icon" @click="closePopList()" src="@/assets/img/cross-grey.png" />
|
||||
</div>
|
||||
<div class="respond-list">
|
||||
<div class="respond-item" v-for="(item, index) in respondDetail" :key="index">
|
||||
<div class="respond-code" :class="{ pitch: item.selected }" v-html="jointriposte(item.item)" @click="selectEomjiListPop(item.item)"></div>
|
||||
<div class="respond-code" :class="{ pitch: item.selected }" v-html="jointriposte(item.item)"
|
||||
@click="selectEomjiListPop(item.item)"></div>
|
||||
<div class="respond-content flex1">
|
||||
<div class="respond-total">{{ item.user.length }} 人作此回应</div>
|
||||
<div class="user-item" v-for="(item, index) in item.user" :key="index" @click="TAHomePage(item['uin'])">
|
||||
<div class="user-item" v-for="(item, index) in item.user" :key="index"
|
||||
@click="TAHomePage(item['uin'])">
|
||||
<img class="user-avatar" :src="item.avatar" />
|
||||
{{ item.nickname || item.username }}
|
||||
</div>
|
||||
@@ -724,7 +869,7 @@ const goLogin = inject("goLogin");
|
||||
let openAttest = inject("openAttest");
|
||||
const realname = inject("realname");
|
||||
|
||||
useHead({ script: [{ src: "https://app.gter.net/bottom?tpl=header&menukey=mj" }, { src: "https://app.gter.net/bottom?tpl=footer,popupnotification", body: true }] });
|
||||
useHead({ script: [{ src: "https://app.gter.net/bottom?tpl=header&menukey=mj" }, { src: "https://app.gter.net/bottom?tpl=footer,popupnotification", body: true }, { src: "https://app.gter.net/image/gter/commonCom/bi/bi.js" }] });
|
||||
|
||||
let contentRightRef = ref(null);
|
||||
let contentRightHeight = ref(null);
|
||||
@@ -1446,7 +1591,7 @@ if (process.server && process.env.NODE_ENV != "development") {
|
||||
relatedcount.value = data.count;
|
||||
// CalculateSelectedList();
|
||||
});
|
||||
} catch (error) {}
|
||||
} catch (error) { }
|
||||
}
|
||||
|
||||
const isBrowser = computed(() => {
|
||||
@@ -2299,17 +2444,21 @@ const closeEditFileUpload = () => (editPicture.value = {});
|
||||
|
||||
<style lang="less">
|
||||
@import url(@/assets/css/detailsPop.css);
|
||||
|
||||
.el-popper.emoji-popover {
|
||||
box-sizing: border-box;
|
||||
|
||||
* {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
padding: 0px !important;
|
||||
border-radius: 10px !important;
|
||||
border: 1px solid #ebebeb !important;
|
||||
|
||||
.el-popper__arrow {
|
||||
z-index: 1;
|
||||
|
||||
&:before {
|
||||
background-color: #fff;
|
||||
border-top-color: #fff !important;
|
||||
|
||||
Reference in New Issue
Block a user