diff --git a/public/img/bg1.png b/public/img/bg1.png deleted file mode 100755 index 077a963..0000000 Binary files a/public/img/bg1.png and /dev/null differ diff --git a/public/img/bg2.png b/public/img/bg2.png deleted file mode 100755 index 2598026..0000000 Binary files a/public/img/bg2.png and /dev/null differ diff --git a/public/img/bg3.png b/public/img/bg3.png deleted file mode 100755 index 0113422..0000000 Binary files a/public/img/bg3.png and /dev/null differ diff --git a/public/img/bg4.png b/public/img/bg4.png deleted file mode 100755 index 5e8adfa..0000000 Binary files a/public/img/bg4.png and /dev/null differ diff --git a/public/img/bg5.png b/public/img/bg5.png deleted file mode 100755 index e5a13d0..0000000 Binary files a/public/img/bg5.png and /dev/null differ diff --git a/public/img/bg6.png b/public/img/bg6.png deleted file mode 100755 index 191f187..0000000 Binary files a/public/img/bg6.png and /dev/null differ diff --git a/public/img/bg7.png b/public/img/bg7.png deleted file mode 100755 index 9d1810d..0000000 Binary files a/public/img/bg7.png and /dev/null differ diff --git a/public/img/bg8.png b/public/img/bg8.png deleted file mode 100755 index 34ca117..0000000 Binary files a/public/img/bg8.png and /dev/null differ diff --git a/public/img/unlock.png b/public/img/unlock.png new file mode 100644 index 0000000..ac2cc9b Binary files /dev/null and b/public/img/unlock.png differ diff --git a/src/assets/img/detail/edit.png b/src/assets/img/detail/edit.png new file mode 100644 index 0000000..af69726 Binary files /dev/null and b/src/assets/img/detail/edit.png differ diff --git a/src/components/DetailReply.vue b/src/components/DetailReply.vue index d499e09..ecf5ffb 100755 --- a/src/components/DetailReply.vue +++ b/src/components/DetailReply.vue @@ -12,11 +12,12 @@ <div class="discussion-single-box flexflex flex1"> <div class="discussion-single-content flexacenter flex1"> <input class="discussion-single-input flex1" cursor-spacing="5" type="text" - :placeholder="twoCommentData ? '写回复…' : '想问啥,大胆问…'" v-model="commentContent" /> + :placeholder="twoCommentData ? '写回复…' : '想问啥,大胆问…'" :value="commentContent" + @input="inputCommentContent($event)" /> <img class="discussion-single-input-icom" @click.stop="setValue()" src="@/assets/img/detail/unfold.png" /> </div> - <div class="discussion-single-btn flexcenter" @click.stop="postComment(commentContent)"> + <div class="discussion-single-btn flexcenter" @click.stop="postComment()"> 发布 </div> </div> @@ -32,14 +33,14 @@ <div class="discussion-text one-line">{{ twoCommentData.content }}</div> </div> <div class="discussion-multi-content flexflex flex1"> - <textarea class="discussion-multi-textarea flex1" type="text" maxlength="500" v-model="commentContent" - :placeholder="twoCommentData ? '写回复…' : '想问啥,大胆问…'"></textarea> + <textarea class="discussion-multi-textarea flex1" type="text" maxlength="500" :value="commentContent" + :placeholder="twoCommentData ? '写回复…' : '想问啥,大胆问…'" @input="inputCommentContent($event)"></textarea> <img class="discussion-multi-icom" @click.stop="openDiscussionSingle()" src="@/assets/img/detail/pack.png" /> <div class="discussion-multi-sum">{{ 500 - commentContent.length }}</div> </div> <div class="discussion-multi-bottom flexflex flexacenter"> - <div class="discussion-multi-btn flexcenter" @click.stop="postComment(commentContent)"> + <div class="discussion-multi-btn flexcenter" @click.stop="postComment()"> 发布 </div> </div> @@ -53,30 +54,26 @@ export default { name: 'DetailReply', data() { return { - commentContent: "", openDiscussionSingleState: true, // 弹出键盘动画 }; }, - props: ["twoCommentData", "popState"], + props: ["twoCommentData", "popState", "commentContent"], mounted() { - console.log("子组件"); }, methods: { // 提交回复 - postComment(commentContent) { - this.$parent.postComment(commentContent) + postComment() { + this.$parent.postComment() }, // 关闭弹窗 handlePopCancel() { - console.log(this.$parent.popState, "this.$parent.popState"); this.$parent.twoCommentData = null this.$parent.popState = "" - }, // 清空 @@ -98,6 +95,11 @@ export default { }, 500); }, + inputCommentContent(event) { + let value = event.currentTarget.value + this.$parent.commentContent = value + } + }, }; diff --git a/src/views/detail/detailIndex.vue b/src/views/detail/detailIndex.vue index f1593ec..feb7b26 100755 --- a/src/views/detail/detailIndex.vue +++ b/src/views/detail/detailIndex.vue @@ -134,9 +134,7 @@ <img class="card-head-icon" :src="item.avatar" /> <div class="card-head-content flex1 flexflex"> <div class="card-head-name flexflex">{{ item.author }} - <!-- <div class="landlord flexcenter" v-if="index == 0"> - 楼主 - </div> --> + <div class="landlord flexcenter" v-if="item.isauthor == 1">楼主</div> </div> <div class="card-head-time">{{ $formattedDate(item.dateline) }}</div> </div> @@ -145,10 +143,13 @@ index + 2}楼` }}</div> <div class="card-head-fool" v-else>{{ `${(postList.page - 1) * postList.limit + index + 1}楼` }} </div> + <div class="edit-box flexcenter" v-if="item.ismyself == 1" @click.stop="handleIsmyself(item)"> + <img class="edit-icom" src="@/assets/img/detail/edit.png" /> + </div> <!-- <div class="card-head-fool">{{ index == 0 ? '楼主' : `${index}楼` }}</div> --> </div> - <div class="card-content flex1" @click.stop="handleReplyPop(item.token)" v-html="item.message"></div> + <div class="card-content flex1" @click.stop="handleReplyPop(item)" v-html="item.message"></div> <template v-if="false"> @@ -318,7 +319,8 @@ </div> </div> - <detail-reply :two-comment-data="twoCommentData" :pop-state="popState"></detail-reply> + <detail-reply :two-comment-data="twoCommentData" :comment-content="commentContent" + :pop-state="popState"></detail-reply> <coins :coin-config="coinConfig" :pop-state="popState"></coins> </div> @@ -459,6 +461,8 @@ export default { loading: null, // 加载中 + commentContent: "", // 评论的文本 + }; }, @@ -488,7 +492,18 @@ export default { info['message'] = info['message'].replaceAll(reg, '<br/>') info['message'] = info['message'].replace(/<img[^>]*>/g, (match) => { return match.replace(/width="[^"]*"/g, '').replace(/height="[^"]*"/g, ''); - }); + }) + + info["messageList"] = [] + + + info['message'] = info['message'].replace("[hide]作者设置了回复可见[/hide]", `<div class="flexcenter content-unlock content-unlock-no"><img class="unlock-icom" src="./img/unlock.png">作者设置了回复可见</div>`) + + // if (info.message.indexOf("[hide]作者设置了回复可见[/hide]")) { + // `<div class="flexcenter content-unlock content-unlock-no"><img class="unlock-icom" src="@/assets/img/detail/unlock.png">作者设置了回复可见</div>` + // } + + this.info = info this.type = data.type @@ -498,7 +513,8 @@ export default { else if (this.type == 5) this.getsummaryDetails() else if (this.type == 3) this.getTenementDetails() else if (this.type == 2) this.getInterviewDetails() - this.getPostList() + + info['ispost'] != 0 ? this.getPostList() : '' }).finally(() => { this.$closeUnderLoading(this) @@ -513,7 +529,6 @@ export default { let data = res.data // let offerinfo = data.offerinfo let offerinfo = data.collegelist[0] - console.log("offerinfo", offerinfo); let useperformanceStr = "" offerinfo.useperformance && offerinfo.useperformance.forEach((el, index) => { useperformanceStr += el + (offerinfo.useperformance.length - 1 == index ? '' : '、') @@ -523,7 +538,6 @@ export default { // offerinfo['schoolname'] = offerinfo.school.name this.offerinfo = offerinfo - // this.shareurl = data.shareurl }) }, @@ -628,8 +642,8 @@ export default { }, // 处理回复点击弹出弹窗 - handleReplyPop(token) { - console.log(token); + handleReplyPop(item) { + console.log(item); this.popState = "discussionSingle" }, @@ -637,12 +651,21 @@ export default { postComment(message) { this.$http.post("/api/operation/reply", { token: this.token, - message + message: this.commentContent }).then(res => { if (res.code != 200) return let data = res.data console.log(data); this.popState = "" + + let { count, limit } = this.postList + + let query = { + page: Math.ceil((count + 1) / limit), + tid: this.tid + } + + this.$router.push({ path: `/detailIndex`, query }) }) }, @@ -700,6 +723,13 @@ export default { this.$router.push({ path: `/allSections`, query: { twofid: this.info.fid } }) }, + // 处理点击编辑自己的回复 + handleIsmyself(item) { + console.log(item, "item"); + this.twoCommentData = item.message + this.popState = "discussionMulti" + }, + }, components: { @@ -844,8 +874,22 @@ export default { color: rgb(127, 127, 127); font-size: .32rem; } + + .edit-box { + width: .64rem; + height: .64rem; + border-radius: 50%; + background: #f6f6f6; + margin-left: .32rem; + + .edit-icom { + width: .4rem; + // height: .4rem; + } + } } + .card-content { color: #333; font-size: .36rem; @@ -895,49 +939,50 @@ export default { } } - .content-unlock { - &.content-unlock-no { - height: 3.2rem; + /deep/ { + .content-unlock { + &.content-unlock-no { + height: 3.2rem; - .unlock-icom { - width: .64rem; - height: .64rem; - margin-right: 0.2rem; + .unlock-icom { + width: .64rem; + height: .64rem; + margin-right: 0.2rem; + } } - } - background: rgba(242, 242, 242, 0.7); - margin: .48rem 0; - color: #555555; - font-size: .32rem; - border-radius: .16rem; - - &.content-already { background: rgba(242, 242, 242, 0.7); margin: .48rem 0; - padding: .32rem; color: #555555; font-size: .32rem; border-radius: .16rem; - .content-already-header { - color: #7f7f7f; - font-size: .28rem; - justify-content: center; + &.content-already { + background: rgba(242, 242, 242, 0.7); + margin: .48rem 0; + padding: .32rem; + color: #555555; + font-size: .32rem; + border-radius: .16rem; + + .content-already-header { + color: #7f7f7f; + font-size: .28rem; + justify-content: center; + } + + .content-unlock-wenzi { + color: #333; + font-size: .36rem; + line-height: .6rem; + margin-top: .3rem; + } } - .content-unlock-wenzi { - color: #333; - font-size: .36rem; - line-height: .6rem; - margin-top: .3rem; - } } - } - } .offer-content { @@ -957,6 +1002,48 @@ export default { img { max-width: 100%; } + + + .content-unlock { + &.content-unlock-no { + height: 3.2rem; + + .unlock-icom { + width: .64rem; + height: .64rem; + margin-right: 0.2rem; + } + } + + background: rgba(242, 242, 242, 0.7); + margin: .48rem 0; + color: #555555; + font-size: .32rem; + border-radius: .16rem; + + &.content-already { + background: rgba(242, 242, 242, 0.7); + margin: .48rem 0; + padding: .32rem; + color: #555555; + font-size: .32rem; + border-radius: .16rem; + + .content-already-header { + color: #7f7f7f; + font-size: .28rem; + justify-content: center; + } + + .content-unlock-wenzi { + color: #333; + font-size: .36rem; + line-height: .6rem; + margin-top: .3rem; + } + } + + } } } diff --git a/src/views/index/allSections/AllSections.vue b/src/views/index/allSections/AllSections.vue index 2180e34..ba90ca5 100755 --- a/src/views/index/allSections/AllSections.vue +++ b/src/views/index/allSections/AllSections.vue @@ -51,7 +51,7 @@ <script> import plateNavigation from '@/components/PlateNavigation' import indexList from '@/components/IndexList' - + export default { name: "AllSections", data() {