no message
This commit is contained in:
parent
d93de9dfe2
commit
809d1d317a
12
app.vue
12
app.vue
@ -1,5 +1,5 @@
|
|||||||
<!--
|
<!--
|
||||||
讨论测试一下
|
首页搜索不行
|
||||||
我发起的投票不能修改 匿名状态
|
我发起的投票不能修改 匿名状态
|
||||||
我发起的投票不确定能下拉加载
|
我发起的投票不确定能下拉加载
|
||||||
-->
|
-->
|
||||||
@ -11,12 +11,12 @@
|
|||||||
<script setup>
|
<script setup>
|
||||||
const route = useRoute()
|
const route = useRoute()
|
||||||
// 是否是 生产环境
|
// 是否是 生产环境
|
||||||
const isProduction = import.meta.env.NODE_ENV === "production"
|
const isProduction = process.env.NODE_ENV === "production"
|
||||||
|
// console.log(process.env.NODE_ENV, "NODE_ENV")
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
isNeedLogin.value = false
|
// isNeedLogin.value = false
|
||||||
// if (!isProduction) isNeedLogin.value = false
|
if (!isProduction) isNeedLogin.value = false
|
||||||
// else determineIsLogin()
|
else determineIsLogin()
|
||||||
})
|
})
|
||||||
|
|
||||||
let isNeedLogin = ref(true) // 是否需要登录状态
|
let isNeedLogin = ref(true) // 是否需要登录状态
|
||||||
|
@ -1,29 +1,30 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="floor-area flexacenter">
|
<div class="floor-area flexacenter" :class="{ 'show': isLoaded }">
|
||||||
<div class="floor-content flexacenter">
|
<div class="floor-content flexacenter">
|
||||||
|
<!-- {{ isLoaded }} -->
|
||||||
<div class="floor-left flexacenter">
|
<div class="floor-left flexacenter">
|
||||||
<!-- <div class="item flexacenter" v-if="isBrowser" style="cursor: auto;">
|
<div class="item flexacenter" style="cursor: auto;">
|
||||||
<img class="icon" src="@/assets/img/eye-icon-black.svg" />
|
<img class="icon" src="@/assets/img/eye-icon.svg" />
|
||||||
{{ info["views"] }}
|
{{ info["views"] }}
|
||||||
</div> -->
|
</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>
|
||||||
|
<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>
|
||||||
<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>
|
|
||||||
<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>
|
<template #reference>
|
||||||
<div class="item flexacenter" @click="handleShare"><img class="icon" src="@/assets/img/transmit-icon.png" />转发</div>
|
<div class="item flexacenter" @click="handleShare"><img class="icon" src="@/assets/img/transmit-icon.png" />转发</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<div class="transmit-box flexflex">
|
<div class="transmit-box flexflex">
|
||||||
<img class="cross-icon" @click="transmitBoxState = false" src="@/assets/img/cross-icon.png" />
|
<img class="cross-icon" @click.stop="transmitBoxState = false" src="@/assets/img/cross-icon.png" />
|
||||||
<div class="transmit-left transmit-web">
|
<div class="transmit-left transmit-web">
|
||||||
<div class="transmit-title">转发网页版</div>
|
<div class="transmit-title">转发网页版</div>
|
||||||
<div class="transmit-content">
|
<div class="transmit-content">
|
||||||
@ -86,6 +87,7 @@ let iscollection = inject("iscollection")
|
|||||||
let qrcode = inject("qrcode")
|
let qrcode = inject("qrcode")
|
||||||
let token = inject("token")
|
let token = inject("token")
|
||||||
const topHeadRef = inject("topHeadRef")
|
const topHeadRef = inject("topHeadRef")
|
||||||
|
const isLoaded = inject("isLoaded")
|
||||||
|
|
||||||
// 获取完整 url
|
// 获取完整 url
|
||||||
const getFullUrl = () => {
|
const getFullUrl = () => {
|
||||||
@ -159,7 +161,7 @@ const handleLike = () => {
|
|||||||
ElMessage.error("不可取消点赞")
|
ElMessage.error("不可取消点赞")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
operateLikeHttp({ token: token.value }).then(res => {
|
operateLikeHttp({ token: token.value }).then(res => {
|
||||||
if (res.code != 200) {
|
if (res.code != 200) {
|
||||||
ElMessage.error(res.message)
|
ElMessage.error(res.message)
|
||||||
@ -173,6 +175,9 @@ const handleLike = () => {
|
|||||||
ElMessage.success(res.message)
|
ElMessage.success(res.message)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 底部转发弹窗显示 状态
|
||||||
|
let transmitBoxState = ref(false)
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped lang="less">
|
<style scoped lang="less">
|
||||||
@ -180,6 +185,7 @@ const handleLike = () => {
|
|||||||
position: fixed;
|
position: fixed;
|
||||||
left: 0;
|
left: 0;
|
||||||
bottom: 0;
|
bottom: 0;
|
||||||
|
// bottom: 50%;
|
||||||
width: 100vw;
|
width: 100vw;
|
||||||
min-width: 1200px;
|
min-width: 1200px;
|
||||||
height: 70px;
|
height: 70px;
|
||||||
@ -188,6 +194,13 @@ const handleLike = () => {
|
|||||||
-moz-box-shadow: 0px -1px 2px rgba(0, 0, 0, 0.192156862745098);
|
-moz-box-shadow: 0px -1px 2px rgba(0, 0, 0, 0.192156862745098);
|
||||||
-webkit-box-shadow: 0px -1px 2px rgba(0, 0, 0, 0.192156862745098);
|
-webkit-box-shadow: 0px -1px 2px rgba(0, 0, 0, 0.192156862745098);
|
||||||
box-shadow: 0px -1px 2px rgba(0, 0, 0, 0.192156862745098);
|
box-shadow: 0px -1px 2px rgba(0, 0, 0, 0.192156862745098);
|
||||||
|
display: none;
|
||||||
|
&.show {
|
||||||
|
display: flex;
|
||||||
|
animation: animafloor 1s forwards;
|
||||||
|
animation-timing-function: cubic-bezier(0.98, -0.2, 0.55, 0.97); /* 先快后慢的时间曲线 */
|
||||||
|
animation-fill-mode: both;
|
||||||
|
}
|
||||||
.floor-content {
|
.floor-content {
|
||||||
width: 1200px;
|
width: 1200px;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
@ -204,8 +217,16 @@ const handleLike = () => {
|
|||||||
.icon {
|
.icon {
|
||||||
width: 16px;
|
width: 16px;
|
||||||
margin-right: 5px;
|
margin-right: 5px;
|
||||||
|
// animation: anima 1s forwards;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// :nth-of-type(1) {
|
||||||
|
// animation-delay: 1s;
|
||||||
|
// }
|
||||||
|
// :nth-of-type(2) {
|
||||||
|
// animation-delay: 2s;
|
||||||
|
// }
|
||||||
|
|
||||||
&.operate-item {
|
&.operate-item {
|
||||||
position: relative;
|
position: relative;
|
||||||
display: flex;
|
display: flex;
|
||||||
@ -363,4 +384,36 @@ const handleLike = () => {
|
|||||||
width: 113px;
|
width: 113px;
|
||||||
height: 113px;
|
height: 113px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@keyframes anima {
|
||||||
|
0% {
|
||||||
|
width: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
40% {
|
||||||
|
width: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
width: 16px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes animafloor {
|
||||||
|
0% {
|
||||||
|
// left: -100%;
|
||||||
|
// opacity: 0;
|
||||||
|
transform: translate3d(-100%, 0, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
90% {
|
||||||
|
left: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
// left: 0;
|
||||||
|
// opacity: 1;
|
||||||
|
transform: translateZ(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="comment-title flexacenter">
|
<div class="comment-title flexacenter">
|
||||||
讨论
|
讨论 {{ postCommentFocusState }}
|
||||||
<span class="comment-amount">{{ commentComments || "" }}</span>
|
<span class="comment-amount">{{ commentComments || "" }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="post-comment flexacenter" @click="loginJudgment()">
|
<div class="post-comment flexacenter" :class="{ 'post-comment-focus': postCommentFocusState }" @click="loginJudgment()">
|
||||||
<textarea class="post-input flex1" placeholder="说说你的想法或疑问…" v-model="commentInputTop"></textarea>
|
<textarea class="post-input flex1" placeholder="说说你的想法或疑问…" v-model="commentInputTop" @focus="postCommentFocusState = true"></textarea>
|
||||||
<div class="post-ok flexcenter" @click="submitAnswerComments()">发送</div>
|
<div class="post-ok flexcenter" @click="submitAnswerComments()">发送</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -150,6 +150,8 @@ onMounted(() => window.addEventListener("scroll", handleScroll))
|
|||||||
const sendMessage = inject("sendMessage")
|
const sendMessage = inject("sendMessage")
|
||||||
const TAHomePage = inject("TAHomePage")
|
const TAHomePage = inject("TAHomePage")
|
||||||
|
|
||||||
|
let postCommentFocusState = ref(false)
|
||||||
|
|
||||||
let commentCount = ref(0)
|
let commentCount = ref(0)
|
||||||
let commentComments = ref(0) // 所有的评论数
|
let commentComments = ref(0) // 所有的评论数
|
||||||
let commentPage = ref(1)
|
let commentPage = ref(1)
|
||||||
@ -221,6 +223,7 @@ const openAnswerCommentsChild = (index, i) => {
|
|||||||
goLogin()
|
goLogin()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
closeAnswerCommentsChild(false)
|
closeAnswerCommentsChild(false)
|
||||||
if (i == null) commentList.value[index]["childState"] = true
|
if (i == null) commentList.value[index]["childState"] = true
|
||||||
else commentList.value[index]["child"][i]["childState"] = true
|
else commentList.value[index]["child"][i]["childState"] = true
|
||||||
@ -228,10 +231,7 @@ const openAnswerCommentsChild = (index, i) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 关闭 回答-评论 的子评论 isempty 是否需要清空输入框 默认需要清空
|
// 关闭 回答-评论 的子评论 isempty 是否需要清空输入框 默认需要清空
|
||||||
const closeAnswerCommentsChild = (isempty = true) => {
|
const closeAnswerCommentsChild = () => {
|
||||||
console.log("isempty", isempty)
|
|
||||||
// if (isempty) commentInput.value = ""
|
|
||||||
commentInput.value = ""
|
|
||||||
commentList.value.forEach(ele => {
|
commentList.value.forEach(ele => {
|
||||||
ele["childState"] = false
|
ele["childState"] = false
|
||||||
if (ele["child"] && ele["child"].length != 0) ele["child"].forEach(el => (el["childState"] = false))
|
if (ele["child"] && ele["child"].length != 0) ele["child"].forEach(el => (el["childState"] = false))
|
||||||
@ -259,6 +259,11 @@ const submitAnswerComments = (index, i) => {
|
|||||||
if (i != null) parentid = targetCommentList[index]["child"][i]["id"]
|
if (i != null) parentid = targetCommentList[index]["child"][i]["id"]
|
||||||
else if (index != null) parentid = targetCommentList[index]["id"]
|
else if (index != null) parentid = targetCommentList[index]["id"]
|
||||||
|
|
||||||
|
if (!content) {
|
||||||
|
ElMessage.error("请填写评论内容")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
detailsSubmitommentListHttp({
|
detailsSubmitommentListHttp({
|
||||||
content,
|
content,
|
||||||
token: props.token,
|
token: props.token,
|
||||||
@ -438,14 +443,29 @@ defineExpose({ changeCommentVoteoption, wipeCommentVoteoption })
|
|||||||
}
|
}
|
||||||
|
|
||||||
.post-comment {
|
.post-comment {
|
||||||
// width: 100%;
|
min-height: 60px;
|
||||||
height: 60px;
|
|
||||||
background-color: rgba(255, 255, 255, 1);
|
background-color: rgba(255, 255, 255, 1);
|
||||||
border: 1px solid rgba(215, 215, 215, 1);
|
border: 1px solid rgba(215, 215, 215, 1);
|
||||||
border-right: none;
|
border-right-width: 0;
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
margin-bottom: 30px;
|
margin-bottom: 30px;
|
||||||
margin-right: 30px;
|
margin-right: 30px;
|
||||||
|
transition: all 0.5s;
|
||||||
|
|
||||||
|
&.post-comment-focus {
|
||||||
|
border-right-width: 1px;
|
||||||
|
min-height: 200px;
|
||||||
|
flex-direction: column;
|
||||||
|
.post-input {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
.post-ok {
|
||||||
|
align-self: flex-end;
|
||||||
|
height: 32px;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
margin-right: 10px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.post-input {
|
.post-input {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
@ -455,6 +475,7 @@ defineExpose({ changeCommentVoteoption, wipeCommentVoteoption })
|
|||||||
padding: 10px;
|
padding: 10px;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
resize: none;
|
resize: none;
|
||||||
|
transition: all 0.5s;
|
||||||
|
|
||||||
&::placeholder {
|
&::placeholder {
|
||||||
color: #aaaaaa;
|
color: #aaaaaa;
|
||||||
@ -475,6 +496,7 @@ defineExpose({ changeCommentVoteoption, wipeCommentVoteoption })
|
|||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
|
transition: all 0.5s;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -665,6 +687,7 @@ defineExpose({ changeCommentVoteoption, wipeCommentVoteoption })
|
|||||||
resize: none;
|
resize: none;
|
||||||
padding: 11px 16px;
|
padding: 11px 16px;
|
||||||
border-radius: 7px 0 0 7px;
|
border-radius: 7px 0 0 7px;
|
||||||
|
font-size: 14px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.comments-btn {
|
.comments-btn {
|
||||||
|
@ -101,6 +101,7 @@ const getCollect = () => {
|
|||||||
showList.value = collectList
|
showList.value = collectList
|
||||||
// showList.value = showList.value.concat(data.data)
|
// showList.value = showList.value.concat(data.data)
|
||||||
|
|
||||||
|
console.log(collectList.length, data["count"])
|
||||||
if (collectList.length < data["count"]) collectPage++
|
if (collectList.length < data["count"]) collectPage++
|
||||||
else collectPage = 0
|
else collectPage = 0
|
||||||
|
|
||||||
|
@ -107,8 +107,8 @@ const setHistoricalSearchList = () => {
|
|||||||
|
|
||||||
// 搜索点击事件
|
// 搜索点击事件
|
||||||
const searchClick = () => {
|
const searchClick = () => {
|
||||||
router.push(`/index.html?keyword=${keyword.value || ""}`)
|
// router.push(`/index.html?keyword=${keyword.value || ""}`)
|
||||||
// goToURL(`/index.html?keyword=${keyword.value || ""}`, false)
|
goToURL(`/index.html?keyword=${keyword.value || ""}`, false)
|
||||||
setHistoricalSearchList()
|
setHistoricalSearchList()
|
||||||
searchBlur()
|
searchBlur()
|
||||||
}
|
}
|
||||||
|
@ -97,5 +97,5 @@ export const MyUserCollectHttp = query => {
|
|||||||
|
|
||||||
// 评论相关 - 举报 Comment related
|
// 评论相关 - 举报 Comment related
|
||||||
export const commentReportHttp = query => {
|
export const commentReportHttp = query => {
|
||||||
return Http.post("/api/operate/report", query)
|
return Http.post("/api/comment/report", query)
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
// https://nuxt.com/docs/api/configuration/nuxt-config
|
// https://nuxt.com/docs/api/configuration/nuxt-config
|
||||||
export default defineNuxtConfig({
|
export default defineNuxtConfig({
|
||||||
ssr: true,
|
ssr: true,
|
||||||
devtools: { enabled: true },
|
devtools: { enabled: false },
|
||||||
modules: ["@element-plus/nuxt"],
|
modules: ["@element-plus/nuxt"],
|
||||||
app: {
|
app: {
|
||||||
head: {
|
head: {
|
||||||
|
@ -8,12 +8,12 @@
|
|||||||
<div class="content flexflex" :style="{ '--main-color': colourValue[uniqidIndex]['main'], '--bg-color': colourValue[uniqidIndex]['bg'], '--bc-color': colourValue[uniqidIndex]['bc'] }">
|
<div class="content flexflex" :style="{ '--main-color': colourValue[uniqidIndex]['main'], '--bg-color': colourValue[uniqidIndex]['bg'], '--bc-color': colourValue[uniqidIndex]['bc'] }">
|
||||||
<div class="header flexacenter">
|
<div class="header flexacenter">
|
||||||
<span>{{ info.title }}</span>
|
<span>{{ info.title }}</span>
|
||||||
<ClientOnly>
|
<!-- <ClientOnly>
|
||||||
<span class="views flexcenter">
|
<span class="views flexcenter">
|
||||||
<img class="eye-icon" src="@/assets/img/eye-icon.svg" />
|
<img class="eye-icon" src="@/assets/img/eye-icon.svg" />
|
||||||
{{ info.views }}
|
{{ info.views }}
|
||||||
</span>
|
</span>
|
||||||
</ClientOnly>
|
</ClientOnly> -->
|
||||||
</div>
|
</div>
|
||||||
<div class="left">
|
<div class="left">
|
||||||
<div class="info flexacenter">
|
<div class="info flexacenter">
|
||||||
@ -38,7 +38,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</el-popover>
|
</el-popover>
|
||||||
|
|
||||||
<div class="post-time">{{ handleDate(info.releasetime) }}发布</div>
|
<div class="post-time" v-if="info.releasetime">{{ handleDate(info.releasetime) }}发布</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="info-right flexacenter" v-if="info['status'] == 1">
|
<div class="info-right flexacenter" v-if="info['status'] == 1">
|
||||||
<div class="cut-off">{{ handleDeadline(info.deadline) }}结束</div>
|
<div class="cut-off">{{ handleDeadline(info.deadline) }}结束</div>
|
||||||
@ -74,10 +74,24 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="right"><DetailsComments ref="commentsRef" :token="token"></DetailsComments></div>
|
<div class="right"><DetailsComments ref="commentsRef" :token="token"></DetailsComments></div>
|
||||||
</div>
|
<DetailsArea></DetailsArea>
|
||||||
<DetailsArea></DetailsArea>
|
|
||||||
|
|
||||||
<el-dialog class="options-popup" v-model="cancelPopoverState" width="488px" align-center>
|
<!-- 投票后自动评论 -->
|
||||||
|
<template v-if="false">
|
||||||
|
<el-dialog class="default-popup automatic-reviews-popup" v-model="reviewsPopoverState" width="720px" align-center autosize>
|
||||||
|
<div class="automatic-header">
|
||||||
|
<div class="automatic-title">说说您的投票理由</div>
|
||||||
|
<div class="automatic-have">已投:还是申点其他的保底吧</div>
|
||||||
|
</div>
|
||||||
|
<el-input class="automatic-input" placeholder="请输入…" v-model="aaaaa" type="textarea"></el-input>
|
||||||
|
<div class="automatic-bottom flexflex">
|
||||||
|
<div class="automatic-send flexcenter">发送</div>
|
||||||
|
</div>
|
||||||
|
</el-dialog>
|
||||||
|
</template>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<el-dialog class="default-popup options-popup" v-model="cancelPopoverState" width="488px" align-center>
|
||||||
<div class="options-popup-text">您要取消投票吗?</div>
|
<div class="options-popup-text">您要取消投票吗?</div>
|
||||||
<div class="options-popup-btn flexflex">
|
<div class="options-popup-btn flexflex">
|
||||||
<div class="options-popup-item options-no flexcenter" @click="unvoteVote">取消投票</div>
|
<div class="options-popup-item options-no flexcenter" @click="unvoteVote">取消投票</div>
|
||||||
@ -102,6 +116,10 @@ let id = route.params.id
|
|||||||
const uniqidEnd = id.charAt(id.length - 1)
|
const uniqidEnd = id.charAt(id.length - 1)
|
||||||
const uniqidIndex = base62ToDecimal(uniqidEnd) % 6
|
const uniqidIndex = base62ToDecimal(uniqidEnd) % 6
|
||||||
|
|
||||||
|
let aaaaa = ref("")
|
||||||
|
|
||||||
|
let reviewsPopoverState = ref(true)
|
||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
getDetails()
|
getDetails()
|
||||||
clearBottom()
|
clearBottom()
|
||||||
@ -117,12 +135,14 @@ let isvote = ref(0) // 是否已经投票
|
|||||||
let option = ref([])
|
let option = ref([])
|
||||||
let token = ref("")
|
let token = ref("")
|
||||||
let cancelPopoverState = ref(false) // 取消投票弹窗
|
let cancelPopoverState = ref(false) // 取消投票弹窗
|
||||||
|
let isLoaded = ref(false) // 是否加载了
|
||||||
|
|
||||||
provide("info", info)
|
provide("info", info)
|
||||||
provide("islike", islike)
|
provide("islike", islike)
|
||||||
provide("iscollection", iscollection)
|
provide("iscollection", iscollection)
|
||||||
provide("token", token)
|
provide("token", token)
|
||||||
provide("qrcode", qrcode)
|
provide("qrcode", qrcode)
|
||||||
|
provide("isLoaded", isLoaded)
|
||||||
|
|
||||||
const getDetails = () => {
|
const getDetails = () => {
|
||||||
detailsHttp({ uniqid: id }).then(res => {
|
detailsHttp({ uniqid: id }).then(res => {
|
||||||
@ -142,6 +162,7 @@ const getDetails = () => {
|
|||||||
qrcode.value = data.share?.qrcode
|
qrcode.value = data.share?.qrcode
|
||||||
token.value = data["token"]
|
token.value = data["token"]
|
||||||
seo.value = data.seo
|
seo.value = data.seo
|
||||||
|
isLoaded.value = true
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -566,8 +587,7 @@ try {
|
|||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style lang="less">
|
<style lang="less">
|
||||||
.options-popup {
|
.default-popup {
|
||||||
border-radius: 10px;
|
|
||||||
.el-dialog__header {
|
.el-dialog__header {
|
||||||
padding: 0;
|
padding: 0;
|
||||||
.el-dialog__headerbtn {
|
.el-dialog__headerbtn {
|
||||||
@ -575,10 +595,14 @@ try {
|
|||||||
height: 36px;
|
height: 36px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
padding: 44px 74px;
|
|
||||||
.el-dialog__body {
|
.el-dialog__body {
|
||||||
padding: 0;
|
padding: 0;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.options-popup {
|
||||||
|
border-radius: 10px;
|
||||||
|
padding: 44px 74px;
|
||||||
|
|
||||||
.options-popup-text {
|
.options-popup-text {
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
@ -598,8 +622,8 @@ try {
|
|||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
|
||||||
&.options-yes {
|
&.options-yes {
|
||||||
background-color: rgba(114, 219, 134, 1);
|
background-color: rgba(249, 93, 93, 1);
|
||||||
border-color: rgba(114, 219, 134, 1);
|
border-color: rgba(249, 93, 93, 1);
|
||||||
color: #fff;
|
color: #fff;
|
||||||
}
|
}
|
||||||
&.options-no {
|
&.options-no {
|
||||||
@ -610,4 +634,46 @@ try {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.automatic-reviews-popup {
|
||||||
|
border-radius: 10px;
|
||||||
|
.automatic-header {
|
||||||
|
padding: 20px;
|
||||||
|
border-bottom: 1px dotted #ebebeb;
|
||||||
|
.automatic-title {
|
||||||
|
font-weight: 650;
|
||||||
|
font-size: 18px;
|
||||||
|
color: #000000;
|
||||||
|
margin-bottom: 12px;
|
||||||
|
}
|
||||||
|
.automatic-have {
|
||||||
|
background-color: rgba(246, 246, 246, 1);
|
||||||
|
font-size: 12px;
|
||||||
|
color: #aaa;
|
||||||
|
width: fit-content;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.automatic-input {
|
||||||
|
.el-textarea__inner {
|
||||||
|
min-height: 256px !important;
|
||||||
|
box-shadow: none;
|
||||||
|
padding: 20px;
|
||||||
|
resize: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.automatic-bottom {
|
||||||
|
justify-content: flex-end;
|
||||||
|
padding: 10px;
|
||||||
|
.automatic-send {
|
||||||
|
background-color: var(--main-color);
|
||||||
|
color: #fff;
|
||||||
|
font-size: 16px;
|
||||||
|
width: 100px;
|
||||||
|
height: 40px;
|
||||||
|
border-radius: 6px;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
@ -135,10 +135,7 @@ const handleLike = (token, index) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 点击关闭搜索
|
// 点击关闭搜索
|
||||||
const closeKeyword = () => {
|
const closeKeyword = () => router.push("./index.html")
|
||||||
// keyword.value = ""
|
|
||||||
router.push("./index.html")
|
|
||||||
}
|
|
||||||
|
|
||||||
watch(
|
watch(
|
||||||
() => route.query,
|
() => route.query,
|
||||||
|
@ -87,7 +87,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="flexcenter" style="padding-right: 26px;">
|
<div class="flexcenter" style="padding-right: 26px;">
|
||||||
<div class="add-box flexcenter" @click="addOption()">
|
<div class="add-box flexcenter" @click="addOption()" v-if="optionList.length < 15">
|
||||||
<img class="add-icon" src="@/assets/img/add-green-icon.svg" />
|
<img class="add-icon" src="@/assets/img/add-green-icon.svg" />
|
||||||
添加选项
|
添加选项
|
||||||
</div>
|
</div>
|
||||||
@ -251,7 +251,7 @@ onMounted(() => {
|
|||||||
const getinit = () => {
|
const getinit = () => {
|
||||||
publishInitHttp().then(res => {
|
publishInitHttp().then(res => {
|
||||||
if (res.code != 200) {
|
if (res.code != 200) {
|
||||||
ElMessage.error(res.message || '报错了,刷新一下')
|
ElMessage.error(res.message || "报错了,刷新一下")
|
||||||
if (res.code == 401) goLogin()
|
if (res.code == 401) goLogin()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -265,17 +265,20 @@ const getinit = () => {
|
|||||||
optionList.value.push({ id: index, message: "" })
|
optionList.value.push({ id: index, message: "" })
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
while (option.length < 2) {
|
|
||||||
option.push(null)
|
|
||||||
}
|
|
||||||
|
|
||||||
option.forEach((message, index) => {
|
option.forEach((message, index) => {
|
||||||
optionList.value.push({ id: index, message })
|
if (message !== "不懂,围观学习") {
|
||||||
|
optionList.value.push({ id: index, message })
|
||||||
|
}
|
||||||
})
|
})
|
||||||
|
while (optionList.value.length < 2) {
|
||||||
|
optionList.value.push({ id: optionList.value.length, message: "" })
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
let deadline = data["info"]["deadline"] || 0
|
let deadline = data["info"]["deadline"] || 0
|
||||||
if (deadline) data["info"]["deadline"] = handleDate(deadline)
|
console.log("deadline", deadline)
|
||||||
|
if (deadline > 100000) data["info"]["deadline"] = handleDate(deadline)
|
||||||
|
else data["info"]["deadline"] = null
|
||||||
|
|
||||||
info.value = data.info
|
info.value = data.info
|
||||||
token = data.token
|
token = data.token
|
||||||
|
Loading…
x
Reference in New Issue
Block a user