no message
This commit is contained in:
@@ -6,19 +6,17 @@
|
||||
<img class="icon" src="@/assets/img/eye-icon-black.svg" />
|
||||
{{ info["views"] }}
|
||||
</div> -->
|
||||
<div class="item flexacenter" @click="handleLike">
|
||||
<img class="icon" v-if="islike == 1" src="@/assets/img/like-icon-colours.png" />
|
||||
<img class="icon" v-else src="@/assets/img/like-icon.png" />
|
||||
{{ info["likes"] || "" }}
|
||||
</div>
|
||||
<ClientOnly>
|
||||
<div class="item flexacenter" @click="handleLike">
|
||||
<img class="icon" v-if="islike == 1" src="@/assets/img/like-icon-colours.png" />
|
||||
<img class="icon" v-else src="@/assets/img/like-icon.png" />
|
||||
{{ info["likes"] || "" }}
|
||||
</div>
|
||||
<div class="item flexacenter" @click="handleCollect()">
|
||||
<img class="icon" v-if="iscollection == 1" src="@/assets/img/collect-icon-colours.svg" />
|
||||
<img class="icon" v-else src="@/assets/img/collect-icon.png" />
|
||||
{{ info["favs"] || "收藏" }}
|
||||
</div>
|
||||
</ClientOnly>
|
||||
<ClientOnly>
|
||||
<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" src="@/assets/img/transmit-icon.png" />转发</div>
|
||||
@@ -32,7 +30,7 @@
|
||||
<div class="transmit-headline">{{ info["title"] }}</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['title']} + ${getFullUrl()}`)">复制链接</div>
|
||||
</div>
|
||||
<div class="transmit-right transmit-mini">
|
||||
<div class="transmit-title">转发小程序版</div>
|
||||
|
||||
@@ -52,7 +52,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="comment-text" @click="openAnswerCommentsChild(index)">{{ item["content"] }}</div>
|
||||
<!-- <div class="comments-input-box flexacenter" v-if="item['childState']"> -->
|
||||
<div class="alreadyVoted" v-if="item.voteoption">已投:{{ item.voteoption }}</div>
|
||||
<div class="comments-input-box flexacenter" v-if="item['childState']">
|
||||
<div class="comments-input flexflex">
|
||||
<textarea class="flex1" placeholder="回复" v-model="commentInput"></textarea>
|
||||
@@ -105,6 +105,7 @@
|
||||
<div class="comments-reply" v-if="ite?.reply?.nickname">@{{ ite?.reply?.nickname }}</div>
|
||||
{{ ite["content"] }}
|
||||
</div>
|
||||
<div class="alreadyVoted" v-if="ite.voteoption">已投:{{ ite.voteoption }}</div>
|
||||
<div class="comments-input-box flexacenter" v-if="ite['childState']">
|
||||
<div class="comments-input flexflex">
|
||||
<textarea class="flex1" placeholder="回复" v-model="commentInput"></textarea>
|
||||
@@ -139,17 +140,11 @@ const props = defineProps({
|
||||
|
||||
watch(
|
||||
() => props.token,
|
||||
newV => {
|
||||
console.log(newV)
|
||||
getCommentList()
|
||||
},
|
||||
{
|
||||
immediate: false,
|
||||
}
|
||||
() => getCommentList(),
|
||||
{ immediate: false }
|
||||
)
|
||||
onMounted(() => {
|
||||
window.addEventListener("scroll", handleScroll)
|
||||
})
|
||||
|
||||
onMounted(() => window.addEventListener("scroll", handleScroll))
|
||||
|
||||
const sendMessage = inject("sendMessage")
|
||||
const TAHomePage = inject("TAHomePage")
|
||||
@@ -159,7 +154,6 @@ let commentComments = ref(0) // 所有的评论数
|
||||
let commentPage = ref(1)
|
||||
let commentList = ref([])
|
||||
let commentLoading = false
|
||||
let token = "4ZKbui89pS81jKgWpT41kLgcglLOJa8UQCmuucFl-cyzQKdjr0iEMTl4grDC04TSnq1vC90fZ2pVdeP6IUYPN2Y4Ng~~"
|
||||
let isEmptyState = ref(false) // 评论是否为空
|
||||
|
||||
// 获取详情评论数据
|
||||
@@ -255,7 +249,7 @@ const submitAnswerComments = (index, i) => {
|
||||
|
||||
detailsSubmitommentListHttp({
|
||||
content,
|
||||
token,
|
||||
token: props.token,
|
||||
parentid,
|
||||
}).then(res => {
|
||||
if (res.code != 200) {
|
||||
@@ -297,6 +291,7 @@ const submitAnswerComments = (index, i) => {
|
||||
commentCount.value++
|
||||
}
|
||||
}
|
||||
|
||||
commentComments.value++
|
||||
commentList.value = targetCommentList
|
||||
|
||||
@@ -323,7 +318,7 @@ const alsoCommentsData = (index, ind) => {
|
||||
limit: 10,
|
||||
page,
|
||||
parentid,
|
||||
token,
|
||||
token: props.token,
|
||||
}).then(res => {
|
||||
if (res.code != 200) return
|
||||
let data = res.data
|
||||
@@ -398,6 +393,7 @@ provide("reportAlertShow", reportAlertShow)
|
||||
height: 60px;
|
||||
background-color: rgba(255, 255, 255, 1);
|
||||
border: 1px solid rgba(215, 215, 215, 1);
|
||||
border-right: none;
|
||||
border-radius: 6px;
|
||||
margin-bottom: 30px;
|
||||
margin-right: 30px;
|
||||
@@ -459,7 +455,7 @@ provide("reportAlertShow", reportAlertShow)
|
||||
.comment-header {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
padding-right: 30px;
|
||||
// padding-right: 30px;
|
||||
margin-bottom: 10px;
|
||||
|
||||
.comment-header-left {
|
||||
@@ -576,6 +572,16 @@ provide("reportAlertShow", reportAlertShow)
|
||||
}
|
||||
}
|
||||
|
||||
.alreadyVoted {
|
||||
font-size: 12px;
|
||||
color: #aaaaaa;
|
||||
background-color: rgba(246, 246, 246, 1);
|
||||
line-height: 17px;
|
||||
width: fit-content;
|
||||
margin-bottom: 15px;
|
||||
word-break: break-word;
|
||||
}
|
||||
|
||||
.comments-input-box {
|
||||
margin-top: 13px;
|
||||
margin-bottom: 10px;
|
||||
@@ -585,6 +591,7 @@ provide("reportAlertShow", reportAlertShow)
|
||||
flex: 1;
|
||||
height: 60px;
|
||||
border: 1px solid rgba(215, 215, 215, 1);
|
||||
border-right: none;
|
||||
border-radius: 8px;
|
||||
margin-right: 16px;
|
||||
position: relative;
|
||||
@@ -614,7 +621,8 @@ provide("reportAlertShow", reportAlertShow)
|
||||
.comments-btn {
|
||||
width: 58px;
|
||||
height: 58px;
|
||||
background-color: #31d72e;
|
||||
// background-color: #31d72e;
|
||||
background-color: var(--main-color);
|
||||
border-radius: 0 7px 7px 0;
|
||||
font-size: 14px;
|
||||
color: #ffffff;
|
||||
|
||||
@@ -9,14 +9,28 @@
|
||||
<img class="item" src="@/assets/img/dot-gray.svg" />
|
||||
</div>
|
||||
<img class="empty-icon" src="@/assets/img/empty-icon.svg" />
|
||||
<div class="empty-hint">{{ hint || "暂无内容" }}</div>
|
||||
|
||||
<template v-if="isNeedIssue">
|
||||
<div class="empty-hint" style="margin-bottom: 7px;">没有找到相关结果,请更换搜索关键词</div>
|
||||
<div class="empty-hint flexacenter">
|
||||
或者
|
||||
<div class="sponsor" @click="goIssue">发起一个新投票</div>
|
||||
</div>
|
||||
</template>
|
||||
<div v-else class="empty-hint">{{ hint || "暂无内容" }}</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { useRouter } from "vue-router"
|
||||
const router = useRouter()
|
||||
|
||||
let props = defineProps({
|
||||
hint: String,
|
||||
isNeedIssue: Boolean,
|
||||
})
|
||||
|
||||
const goIssue = () => router.push("/publish")
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
@@ -48,6 +62,12 @@ let props = defineProps({
|
||||
font-size: 13px;
|
||||
color: #7f7f7f;
|
||||
line-height: 22px;
|
||||
.sponsor {
|
||||
text-decoration: underline;
|
||||
color: #72db86;
|
||||
margin-left: 5px;
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -9,67 +9,75 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="empty-box flexcenter" v-loading="true" v-if="(MyPopupState == 'collect' && collectLoading) || (MyPopupState == 'mj' && publisloading)"></div>
|
||||
<div class="empty-box flexcenter" v-else-if="showList.length == 0">
|
||||
<!-- <div class="empty-box flexcenter" v-loading="true" v-if="(MyPopupState == 'collect' && collectLoading) || (MyPopupState == 'mj' && publisloading)"></div> -->
|
||||
<div class="empty-box flexcenter" v-if="showList.length == 0">
|
||||
<Empty></Empty>
|
||||
</div>
|
||||
<el-scrollbar v-else height="479px">
|
||||
<div class="content" @scroll="handleListScroll">
|
||||
<div class="item flexflex" v-for="(item, index) in showList" :key="index" @click="goDetails(item['uniqid'] || item?.data?.uniqid)">
|
||||
<div class="item flexflex" v-for="(item, index) in showList" :key="item.uniqid" @click="goDetails(item['uniqid'] || item?.data?.uniqid)">
|
||||
<div class="left flexflex">
|
||||
<div class="name">{{ item.title }}</div>
|
||||
<div class="message">{{ item.message }}</div>
|
||||
<div class="name ellipsis">{{ item.title || item.data?.title }}</div>
|
||||
<div class="message ellipsis">{{ item.message || item.data?.message }}</div>
|
||||
<div class="data">
|
||||
30人参与 <i>|</i> 投票已结束
|
||||
<span><i>|</i> 我已投:不懂,围观学习</span>
|
||||
{{ item.votes || item.data?.votes || 0 }}人参与 <i>|</i> {{ handleDeadline(item.deadline || item?.data?.deadline) }}结束
|
||||
<span v-if="item.optionvalue || item?.data?.optionvalue"><i>|</i> 我已投:{{ item.optionvalue || item?.data?.optionvalue }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="operate-area flexacenter">
|
||||
<img class="delete-icon" v-if="MyPopupState == 'collect'" @click.stop="cancelCollection(item['token'], index)" src="@/assets/img/delete-icon.svg" />
|
||||
<div class="anonymous-box flexacenter" v-else @click.stop="openAnonymousState(index)">
|
||||
<div class="text">{{ item["anonymous"] == 1 ? "匿名" : "公开" }}</div>
|
||||
<img class="arrow-icon" src="@/assets/img/arrow-gray.svg" />
|
||||
<div class="state-popup flexflex" v-if="item['anonymousState']" @click.stop="">
|
||||
<div class="state-popup-item flexacenter flex1" :class="{ 'pitch': item['anonymous'] == 0 }" @click="handleAnonymousState(item['token'], index, 0)">
|
||||
<div class>公开发表</div>
|
||||
<img class="state-popup-icon" src="@/assets/img/tick-green.svg" />
|
||||
</div>
|
||||
<div class="state-popup-item flexacenter flex1" :class="{ 'pitch': item['anonymous'] == 1 }" @click="handleAnonymousState(item['token'], index, 1)">
|
||||
<div class>匿名发表</div>
|
||||
<img class="state-popup-icon" src="@/assets/img/tick-green.svg" />
|
||||
<!-- <div class="anonymous-box flexacenter" v-if="MyPopupState == 'publish'" @click.stop="openAnonymousState(index)"> -->
|
||||
<template v-if="MyPopupState == 'publish'">
|
||||
<div class="anonymous-box flexacenter" @click.stop="openAnonymousState(index)">
|
||||
<div class="text">{{ item["anonymous"] == 1 ? "匿名" : "公开" }}</div>
|
||||
<img class="arrow-icon" src="@/assets/img/arrow-gray.svg" />
|
||||
<div class="state-popup flexflex" v-if="item['anonymousState']" @click.stop="">
|
||||
<div class="state-popup-item flexacenter flex1" :class="{ 'pitch': item['anonymous'] == 0 }" @click="handleAnonymousState(item['token'], index, 0)">
|
||||
<div class>公开发表</div>
|
||||
<img class="state-popup-icon" src="@/assets/img/tick-green.svg" />
|
||||
</div>
|
||||
<div class="state-popup-item flexacenter flex1" :class="{ 'pitch': item['anonymous'] == 1 }" @click="handleAnonymousState(item['token'], index, 1)">
|
||||
<div class>匿名发表</div>
|
||||
<img class="state-popup-icon" src="@/assets/img/tick-green.svg" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="halving-line"></div>
|
||||
<img class="delete-icon" @click.stop="openDeleteVote(item['token'], index, item.uniqid || item?.data?.uniqid)" src="@/assets/img/delete-icon.svg" />
|
||||
</template>
|
||||
|
||||
<img class="delete-icon" v-if="MyPopupState == 'collect'" @click.stop="cancelCollection(item['token'], index, item.uniqid || item?.data?.uniqid)" src="@/assets/img/delete-icon.svg" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</el-scrollbar>
|
||||
</div>
|
||||
</el-dialog>
|
||||
|
||||
<el-dialog class="options-popup" v-model="deleteState" width="488px" align-center>
|
||||
<div class="options-popup-text">您要删除投票吗?</div>
|
||||
<div class="options-popup-btn flexflex">
|
||||
<div class="options-popup-item options-no flexcenter" @click="deleteVote">删除投票</div>
|
||||
<div class="options-popup-item options-yes flexcenter" @click="deleteState = false">不删除</div>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<!-- </div> -->
|
||||
</template>
|
||||
<script setup>
|
||||
let props = defineProps({
|
||||
// MyPopupState: String, // collect mj
|
||||
count: Object,
|
||||
tabList: Array,
|
||||
})
|
||||
|
||||
let deleteState = ref(false) // 确认删除弹窗
|
||||
|
||||
let count = inject("count")
|
||||
|
||||
let show = ref(false)
|
||||
const router = useRouter()
|
||||
const route = useRoute()
|
||||
|
||||
let MyPopupState = ref("") // collect participation sponsor
|
||||
let MyPopupState = ref("") // collect takevote publish
|
||||
|
||||
onMounted(() => {
|
||||
// if (MyPopupState.value == "collect") getCollect();
|
||||
// else if (MyPopupState.value == "mj") getPublish();
|
||||
})
|
||||
|
||||
const tabList = [
|
||||
{ name: "我的收藏", type: "collect" },
|
||||
{ name: "我参与的投票", type: "participation" },
|
||||
{ name: "我发起的投票", type: "sponsor" },
|
||||
]
|
||||
onMounted(() => {})
|
||||
|
||||
// 展示的 列表数据
|
||||
let showList = ref([])
|
||||
@@ -82,20 +90,20 @@ let collectCount = ref(0)
|
||||
const getCollect = () => {
|
||||
if (collectPage == 0 || collectLoading.value) return
|
||||
collectLoading.value = true
|
||||
// if (collectPage == 2) return
|
||||
|
||||
MyUserCollectHttp({ page: collectPage })
|
||||
.then(res => {
|
||||
if (res.code != 200) return
|
||||
let data = res.data
|
||||
collectList = collectList.concat(data.data)
|
||||
showList.value = collectList
|
||||
// showList.value = showList.value.concat(data.data)
|
||||
|
||||
if (collectList.length < data["count"]) collectPage++
|
||||
else collectPage = 0
|
||||
|
||||
collectCount.value = data["count"]
|
||||
|
||||
// MyPopupState.value = "collect"
|
||||
// show.value = true
|
||||
})
|
||||
.finally(() => (collectLoading.value = false))
|
||||
}
|
||||
@@ -104,11 +112,10 @@ let publishList = []
|
||||
let publisPage = 1
|
||||
let publisloading = ref(false)
|
||||
const getPublish = () => {
|
||||
return
|
||||
if (publisPage == 0 && !publisloading.value) return
|
||||
|
||||
publisloading.value = true
|
||||
MyUserPublishHttp({ limit: 4, page: publisPage })
|
||||
MyUserPublishHttp({ page: publisPage })
|
||||
.then(res => {
|
||||
if (res.code != 200) return
|
||||
let data = res.data
|
||||
@@ -116,13 +123,28 @@ const getPublish = () => {
|
||||
if (publishList.length < data["count"]) publisPage++
|
||||
else publisPage = 0
|
||||
showList.value = publishList
|
||||
|
||||
// MyPopupState.value = "mj"
|
||||
// show.value = true
|
||||
})
|
||||
.finally(() => (publisloading.value = false))
|
||||
}
|
||||
|
||||
let takevoteList = []
|
||||
let takevotePage = 1
|
||||
let takevoteloading = ref(false)
|
||||
const getTakevote = () => {
|
||||
if (takevotePage == 0 && !takevoteloading.value) return
|
||||
takevoteloading.value = true
|
||||
MyUserTakevoteHttp({ page: takevotePage })
|
||||
.then(res => {
|
||||
if (res.code != 200) return
|
||||
let data = res.data
|
||||
takevoteList = takevoteList.concat(data.data)
|
||||
if (takevoteList.length < data["count"]) takevotePage++
|
||||
else takevotePage = 0
|
||||
showList.value = takevoteList
|
||||
})
|
||||
.finally(() => (takevoteloading.value = false))
|
||||
}
|
||||
|
||||
// 切换 isEmpty 是否清空收藏数据, 因为不确定用户是否有新收藏
|
||||
const cutMy = (key, isEmpty) => {
|
||||
if (isEmpty) {
|
||||
@@ -132,10 +154,12 @@ const cutMy = (key, isEmpty) => {
|
||||
}
|
||||
|
||||
if (key == "collect" && collectList.length == 0) getCollect()
|
||||
else if (key == "mj" && publishList.length == 0) getPublish()
|
||||
else if (key == "takevote" && takevoteList.length == 0) getTakevote()
|
||||
else if (key == "publish" && publishList.length == 0) getPublish()
|
||||
|
||||
if (key == "collect") showList.value = collectList
|
||||
else if (key == "mj") showList.value = publishList
|
||||
else if (key == "takevote") showList.value = takevoteList
|
||||
else if (key == "publish") showList.value = publishList
|
||||
|
||||
MyPopupState.value = key
|
||||
|
||||
@@ -161,7 +185,10 @@ const closeAllAnonymousState = () => {
|
||||
// 修改匿名状态
|
||||
const handleAnonymousState = (token, index, anonymous) => {
|
||||
changeAnonymousHttp({ token, anonymous }).then(res => {
|
||||
if (res.code != 200) return
|
||||
if (res.code != 200) {
|
||||
ElMessage.error(res.message)
|
||||
return
|
||||
}
|
||||
|
||||
publishList[index]["anonymous"] = anonymous
|
||||
showList.value = [...publishList]
|
||||
@@ -177,7 +204,8 @@ const handleListScroll = e => {
|
||||
// 判断滚动到底部
|
||||
if (el.scrollHeight - el.scrollTop !== el.clientHeight) return
|
||||
if (MyPopupState.value == "collect") getCollect()
|
||||
if (MyPopupState.value == "mj") getPublish()
|
||||
if (MyPopupState.value == "takevote") getTakevote()
|
||||
if (MyPopupState.value == "publish") getPublish()
|
||||
}
|
||||
|
||||
let clearAllData = inject("clearAllData") || null
|
||||
@@ -185,7 +213,7 @@ let getDetails = inject("getDetails") || null
|
||||
|
||||
// 打开详情页
|
||||
const goDetails = uniqid => {
|
||||
return
|
||||
// return
|
||||
let path = route["path"] || ""
|
||||
if (path.indexOf("/details/") != -1) {
|
||||
clearAllData()
|
||||
@@ -209,9 +237,12 @@ const closeDialog = () => {
|
||||
}
|
||||
|
||||
// const emit = defineEmits(["cutMy"]);
|
||||
const unbookmarkSamePage = inject("unbookmarkSamePage")
|
||||
|
||||
// 处理取消收藏
|
||||
const cancelCollection = (token, index) => {
|
||||
const cancelCollection = (token, index, uniqid) => {
|
||||
const id = route.params["id"]
|
||||
|
||||
MyUserDeleteCollectHttp({ token }).then(res => {
|
||||
if (res.code != 200) {
|
||||
ElMessage.error(res.message)
|
||||
@@ -219,8 +250,42 @@ const cancelCollection = (token, index) => {
|
||||
}
|
||||
|
||||
collectList.splice(index, 1)
|
||||
count.value.collect--
|
||||
collectCount.value--
|
||||
showList.value = [...collectList]
|
||||
|
||||
if (id == uniqid) unbookmarkSamePage()
|
||||
})
|
||||
}
|
||||
|
||||
let deleteobj = {}
|
||||
|
||||
const openDeleteVote = (token, index, uniqid) => {
|
||||
deleteobj["token"] = token
|
||||
deleteobj["index"] = index
|
||||
deleteobj["uniqid"] = uniqid
|
||||
deleteState.value = true
|
||||
}
|
||||
|
||||
// 点删除投票
|
||||
const deleteVote = () => {
|
||||
const id = route.params["id"]
|
||||
|
||||
deleteHttp({ token: deleteobj["token"] }).then(res => {
|
||||
if (res.code != 200) {
|
||||
ElMessage.error(res.message)
|
||||
return
|
||||
}
|
||||
|
||||
count.value.publish--
|
||||
publishList.splice(deleteobj["index"], 1)
|
||||
showList.value = [...publishList]
|
||||
|
||||
if (id == deleteobj["uniqid"]) unbookmarkSamePage()
|
||||
|
||||
ElMessage.success(res.message)
|
||||
deleteobj = {}
|
||||
deleteState.value = false
|
||||
})
|
||||
}
|
||||
</script>
|
||||
@@ -302,7 +367,8 @@ const cancelCollection = (token, index) => {
|
||||
|
||||
.content {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
height: 479px;
|
||||
// height: 100%;
|
||||
// background: #000000;
|
||||
overflow: auto;
|
||||
// padding-right: 13px;
|
||||
@@ -337,12 +403,14 @@ const cancelCollection = (token, index) => {
|
||||
line-height: 20px;
|
||||
font-size: 14px;
|
||||
margin-bottom: 10px;
|
||||
width: 550px;
|
||||
}
|
||||
.message {
|
||||
color: #7f7f7f;
|
||||
line-height: 22px;
|
||||
font-size: 13px;
|
||||
margin-bottom: 6px;
|
||||
width: 550px;
|
||||
}
|
||||
|
||||
.data {
|
||||
@@ -363,6 +431,13 @@ const cancelCollection = (token, index) => {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.halving-line {
|
||||
margin: 0 20px;
|
||||
width: 1px;
|
||||
height: 13px;
|
||||
border-right: 1px solid #d7d7d7;
|
||||
}
|
||||
|
||||
.anonymous-box {
|
||||
.text {
|
||||
font-size: 13px;
|
||||
|
||||
@@ -56,10 +56,7 @@ const alertSubmit = () => {
|
||||
}).then(res => {
|
||||
checkList.value = []
|
||||
reportAlertShow.value = false
|
||||
ElMessage({
|
||||
message: res.message || "举报成功",
|
||||
type: "success",
|
||||
})
|
||||
ElMessage.success(res.message || "举报成功")
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
@@ -17,20 +17,18 @@
|
||||
<div class="my-btn-item flexcenter" @click="handleUser('collect')">我的收藏</div>
|
||||
</div> -->
|
||||
<div class="my-btn-list flexacenter">
|
||||
<div class="my-btn-item flexcenter" @click="handleUser('collect')">我的收藏</div>
|
||||
<div class="my-btn-item flexcenter" @click="handleUser('participation')">我参与的投票</div>
|
||||
<div class="my-btn-item flexcenter" @click="handleUser('sponsor')">我发起的投票</div>
|
||||
<div class="my-btn-item flexcenter" v-for="item in tabList" :key="item.type" @click="handleUser(item.type)">{{ item.name }}</div>
|
||||
</div>
|
||||
<div class="sponsor-btn flexcenter" @click="goPublish">
|
||||
<img class="add-bj" src="@/assets/img/add-bj.svg" />
|
||||
<img class="add-icon" src="@/assets/img/add-icon.svg" />
|
||||
发布面经
|
||||
发布投票
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<MyPopup ref="MyPopupRef" :count="count"></MyPopup>
|
||||
<MyPopup ref="MyPopupRef" :tabList="tabList"></MyPopup>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
@@ -42,14 +40,23 @@ const route = useRoute()
|
||||
let isNeedLogin = inject("isNeedLogin")
|
||||
const goLogin = inject("goLogin")
|
||||
|
||||
const tabList = [
|
||||
{ name: "我的收藏", type: "collect" },
|
||||
{ name: "我参与的投票", type: "takevote" },
|
||||
{ name: "我发起的投票", type: "publish" },
|
||||
]
|
||||
|
||||
let keyword = ref("")
|
||||
|
||||
onMounted(() => {
|
||||
getHistoricalSearchList()
|
||||
keyword.value = route.query["keyword"]
|
||||
})
|
||||
|
||||
let count = ref({})
|
||||
|
||||
provide("count", count)
|
||||
|
||||
const getUser = () => {
|
||||
return new Promise((resolve, reject) => {
|
||||
MyUserInfoHttp().then(res => {
|
||||
@@ -134,6 +141,8 @@ const handleUser = async key => {
|
||||
return
|
||||
}
|
||||
|
||||
console.log("key", key)
|
||||
|
||||
if (Object.keys(count.value).length === 0) {
|
||||
await getUser()
|
||||
MyPopupRef.value.cutMy(key, true)
|
||||
|
||||
Reference in New Issue
Block a user