shaogen1995 3 лет назад
Родитель
Сommit
d6c84f0b29

BIN
houtai/src/assets/img/forBac.png


BIN
houtai/src/assets/img/good.png


BIN
houtai/src/assets/img/goodAc.png


+ 2 - 2
houtai/src/utils/request.js

@@ -1,8 +1,8 @@
 import axios from 'axios'
 const service = axios.create({
   // baseURL: 'http://192.168.0.135:8005/', // 本地调试
-  baseURL: 'http://192.168.0.245:8005/', // 线上调试
-  // baseURL: '', // build
+  // baseURL: 'http://192.168.0.245:8005/', // 线上调试
+  baseURL: '', // build
   timeout: 5000
 })
 // 请求拦截器

+ 237 - 155
houtai/src/views/forum/list.vue

@@ -1,7 +1,9 @@
 <template>
   <div class="forum_list">
     <div class="title">
-      <span>中国人民解放军陆军勤务学院论坛</span>
+      <span>论 坛</span>
+    </div>
+    <div class="ulTitle" v-show="!fuTxtShow">
       <ul>
         <li
           :class="{ active: item.id === tabInd }"
@@ -12,37 +14,51 @@
           {{ item.name }}
         </li>
       </ul>
+      <!-- 发帖按钮 -->
+      <div class="ulTitleBtn" @click="fuTxtShow = true">发 帖</div>
     </div>
-    <div class="conten">
-      <div class="topImg">
-        <!-- <img src="../../assets/img/banner.png" alt="" /> -->
-      </div>
+    <div class="conten" v-show="!fuTxtShow">
       <div class="row rowFi">
-        <div class="row_one">最 新</div>
+        <div class="row_one">公告/置顶</div>
         <div class="row_tow">作 者</div>
-        <div class="row_three">回复/查看</div>
-        <div class="row_four">发帖时间</div>
+        <div class="row_three">回复</div>
+        <div class="row_four">最后发表</div>
       </div>
-      <div class="nullTit" v-if="dataArr.length===0">暂无数据</div>
-      <div class="row" v-for="item in dataArr" :key="item.id" @click="skip(item)" v-else>
-        <div class="row_one">{{item.title}}</div>
-        <div class="row_tow">{{item.creatorName}}</div>
-        <div class="row_three">{{item.reply?item.reply:0}}/{{item.visit?item.visit:0}}</div>
-        <div class="row_four">{{item.createTime}}</div>
+      <div class="nullTit" v-if="dataArr.length === 0">暂无数据</div>
+      <div
+        class="row"
+        v-for="item in dataArr"
+        :key="item.id"
+        @click="skip(item)"
+        v-else
+      >
+        <div class="row_one">{{ item.title }}</div>
+        <div class="row_tow">{{ item.creatorName }}</div>
+        <div class="row_three">
+          {{ item.reply ? item.reply : 0 }}
+        </div>
+        <div class="row_four">
+          王大锤宿舍... {{ item.createTime.substring(0, 10) }}
+        </div>
       </div>
     </div>
+    <!-- 分页 -->
+    <div class="paging" v-show="!fuTxtShow">
+      <el-pagination
+        layout="prev, pager, next"
+        :total="total"
+        :current-page="formData.pageNum"
+        @current-change="currentChange"
+        @size-change="sizeChange"
+      >
+      </el-pagination>
+    </div>
     <!-- 底部 -->
-    <div class="bottom">
-      <!-- 分页 -->
-      <div class="paging"  v-if="total>10">
-        <el-pagination
-          layout="prev, pager, next,jumper"
-          :total="total"
-          :current-page="formData.pageNum"
-          @current-change="currentChange"
-          @size-change="sizeChange"
-        >
-        </el-pagination>
+    <div class="bottom" v-show="fuTxtShow">
+      <!-- 后面加的关闭 -->
+      <div class="rickTextBack el-icon-arrow-left" @click="fuTxtShow = false">
+        关闭
+        <div></div>
       </div>
       <div class="rickText">
         <div class="inputR">
@@ -53,10 +69,10 @@
           >
             <el-option label="数字史馆" value="scene"></el-option>
             <el-option label="美丽校园" value="school"></el-option>
-            <el-option label="信息典藏" value="goods"></el-option>
+            <el-option label="文物典藏" value="goods"></el-option>
           </el-select>
           <el-input
-            style="margin: 0 20px"
+            style="margin-left: 20px"
             type="text"
             placeholder="帖子标题字数不能超过30个字。"
             v-model="title"
@@ -64,34 +80,46 @@
             show-word-limit
           >
           </el-input>
-          <el-input
-            style="width: 400px"
-            type="text"
-            placeholder="请输入姓名"
-            v-model="creatorName"
-            maxlength="8"
-            show-word-limit
-          >
-          </el-input>
           <!-- 上传图片 -->
-            <el-upload
-              accept= '.png,.jpg,.jpeg,.gif'
-              title="上传图片"
-              class="upload-demo imgUplod"
-              :action="baseURL + '/web/bbs/upload'"
-              multiple
-              :before-upload="beforethumbUploadImg"
-              :on-success="upload_thumb_successImg"
-            >
+          <el-upload
+            accept=".png,.jpg,.jpeg,.gif"
+            title="上传图片"
+            class="upload-demo imgUplod"
+            :action="baseURL + '/web/bbs/upload'"
+            multiple
+            :before-upload="beforethumbUploadImg"
+            :on-success="upload_thumb_successImg"
+          >
             <i class="w-e-icon-image"></i>
-            </el-upload>
+          </el-upload>
         </div>
         <!-- 富文本 -->
         <div id="div1" style="z-index: 1"></div>
         <!-- 按钮 -->
         <div class="txtBtn">
+          <div
+            class="nameCut"
+            :class="{ active: !nameShow }"
+            @click="nameShow = false"
+          ></div>
+          <div class="noName">匿 名</div>
+          <div
+            class="nameCut"
+            :class="{ active: nameShow }"
+            @click="nameShow = true"
+          ></div>
+          <el-input
+            :disabled="!nameShow"
+            style="width: 300px"
+            type="text"
+            placeholder="请填写您的姓名"
+            v-model="creatorName"
+            maxlength="8"
+            show-word-limit
+          >
+          </el-input>
           <el-button type="primary" style="width: 120px" @click="publish"
-            >发 表</el-button
+            >发 </el-button
           >
         </div>
       </div>
@@ -109,6 +137,10 @@ export default {
   data () {
     // 这里存放数据
     return {
+      // 选择匿名
+      nameShow: true,
+      // 控制富文本显示和隐藏
+      fuTxtShow: false,
       // 列表数据
       dataArr: [],
       total: 0,
@@ -118,7 +150,7 @@ export default {
       tab: [
         { id: 1, name: '数字史馆', type: 'scene' },
         { id: 2, name: '美丽校园', type: 'school' },
-        { id: 3, name: '信息典藏', type: 'goods' }
+        { id: 3, name: '文物典藏', type: 'goods' }
       ],
       formData: {
         endTime: '',
@@ -174,7 +206,7 @@ export default {
       )
     }, // 点击发表文章
     async publish () {
-      if (this.creatorName.trim() === '') {
+      if (this.creatorName.trim() === '' && this.nameShow) {
         return this.$message.warning('名字不能为空!')
       }
       if (this.title.trim() === '') {
@@ -194,6 +226,7 @@ export default {
         this.title = this.creatorName = ''
         this.editor.txt.html('')
         this.$message.success('发帖成功,等待审核.')
+        this.fuTxtShow = false
       } else this.$message.warning(res.msg)
     },
     // 点击通知父组件切换 动态组件is的值,并且把数据传过去
@@ -274,87 +307,57 @@ export default {
   display: flex;
   align-items: center;
 }
-/deep/.el-pager li {
-  color: #b9412e;
-  font-weight: 400;
-  min-width: 24px;
-  width: 28px;
-  height: 28px;
-  padding: 0;
-  margin: 0 8px;
-  border: 1px solid #b9412e;
-  background-color: transparent;
-  border-radius: 50%;
-}
-/deep/.el-pager li:hover {
-  color: #b9412e;
-}
-/deep/.el-pager li.active {
-  width: 30px;
-  height: 30px;
-  background-color: #b9412e;
-  border-radius: 50%;
-  color: #fff;
-}
-/deep/.el-pager li.active + li {
-  border: 1px solid #c7c7c7;
-}
-/deep/.el-pagination button:hover {
-  color: #b9412e;
-}
-/deep/.el-pagination .btn-next {
-  background-color: transparent;
-  color: #b9412e;
-}
-/deep/.el-pagination .btn-prev {
-  background-color: transparent;
-  color: #b9412e;
-}
-/deep/.el-pager li.active + li {
-  border: 1px solid #b9412e;
-}
-/deep/.el-pagination button:disabled {
-  color: #fff9ec;
-  background-color: transparent;
-}
-::-webkit-scrollbar {
+
+.conten::-webkit-scrollbar {
   /*滚动条整体样式*/
   width: 3px; /*高宽分别对应横竖滚动条的尺寸*/
-  height: 0px;
+  height: 1px;
 }
-::-webkit-scrollbar-thumb {
+.conten::-webkit-scrollbar-thumb {
   /*滚动条里面小方块*/
   border-radius: 10px;
   box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);
-  background: #b9412e;
+  background: rgba(185, 46, 46, 0.3);
 }
-::-webkit-scrollbar-track {
+.conten::-webkit-scrollbar-track {
   /*滚动条里面轨道*/
   // box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);
   border-radius: 10px;
-  background: #fff9ec;
+  background: transparent;
 }
 .forum_list {
-  margin: 0 auto;
+  border-top: 8px solid #be1220;
+  border-bottom: 8px solid #be1220;
+  padding: 0 12px;
+  background: url("../../assets/img/forBac.png") #f0dbbf center center no-repeat;
+  position: fixed;
+  top: 50%;
+  left: 50%;
+  transform: translate(-50%, -50%);
   width: 1200px;
-  height: 100vh;
-  min-height: 800px;
-  overflow-y: auto;
+  height: 650px;
   .title {
-    position: relative;
-    color: #f3eabd;
+    color: #fff;
     display: flex;
     align-items: center;
     height: 60px;
-    background-color: #bd1b1b;
     & > span {
       font-weight: 700;
       padding-left: 40px;
       font-size: 26px;
       margin-right: 100px;
     }
+  }
+  .ulTitle {
+    position: relative;
+    border-radius: 5px 5px 0 0;
+    background-color: rgba(255, 255, 255, 0.3);
+    height: 60px;
+    padding: 10px;
     & > ul {
-      height: 60px;
+      padding-left: 10px;
+      border-bottom: 1px solid #b92e2e;
+      height: 50px;
       display: flex;
       & > li {
         margin-right: 30px;
@@ -364,45 +367,44 @@ export default {
         display: flex;
         align-items: center;
         justify-content: center;
-        height: 100%;
-        width: 150px;
-        font-size: 22px;
+        height: 40px;
+        width: 120px;
+        font-size: 18px;
         text-align: center;
       }
       .active {
-        border-bottom: 5px solid #f3eabd;
+        background-color: #b92e2e;
+        color: #fff;
+        border-radius: 20px;
       }
     }
-    // &::after {
-    //   content: "";
-    //   position: absolute;
-    //   width: 100%;
-    //   height: 1px;
-    //   bottom: -1px;
-    //   left: 0;
-    //   display: block;
-    //   background-color: #bd1b1b;
-    // }
-  }
-  .topImg {
-    margin-top: -10px;
-    min-width: 1200px;
-    height: 225px;
-    background: url("../../assets/img/banner.png");
-    background-size: 100% 100%;
-    // & > img {
-    //   width: 100%;
-    //   height: 100%;
-    // }
+    .ulTitleBtn {
+      font-size: 18px;
+      color: #fff;
+      cursor: pointer;
+      position: absolute;
+      top: 10px;
+      right: 50px;
+      width: 100px;
+      height: 40px;
+      line-height: 40px;
+      text-align: center;
+      background-color: #f2cd83;
+      border-radius: 5px;
+    }
   }
+
   .conten {
+    height: 410px;
+    overflow-y: auto;
+    background-color: rgba(255, 255, 255, 0.3);
     padding-bottom: 20px;
     color: #5f5f5f;
-    background-color: #fff9ec;
     .row {
+      padding: 0 10px;
       cursor: pointer;
-      margin: 0 24px;
-      border-bottom: 1px solid #ccc;
+      margin: 0 40px;
+      border-bottom: 1px dashed #d5a6a6;
       font-size: 16px;
       display: flex;
       & > div {
@@ -427,13 +429,16 @@ export default {
       }
       .row_four {
         margin-right: 0;
-        width: 170px;
+        width: 190px;
       }
     }
     .rowFi {
       font-weight: 600;
       border-bottom: none;
       font-size: 22px;
+      .row_one {
+        color: #b9412e;
+      }
     }
     .nullTit {
       height: 100px;
@@ -443,29 +448,54 @@ export default {
       text-align: center;
     }
   }
+  .paging {
+    /deep/.el-pager li {
+      background-color: transparent;
+      color: #333333;
+    }
+    /deep/.el-pager li.active {
+      color: #b92e2e;
+    }
+    /deep/.el-pagination button {
+      background-color: transparent;
+    }
+    /deep/.el-pagination button:disabled {
+      background-color: transparent;
+    }
+    border-radius: 0 0 5px 5px;
+    background-color: rgba(255, 255, 255, 0.3);
+    height: 80px;
+    display: flex;
+    align-items: center;
+    justify-content: center;
+  }
   .bottom {
-    padding: 0 20px 20px 20px;
-    background-color: #fff9ec;
-    .paging {
-      /deep/.el-input__inner {
-        color: #b9412e;
-        width: 30px;
-        height: 30px !important;
-        background-color: transparent;
-        border-color: #b9412e;
-        border-radius: 50%;
-      }
-      /deep/.el-pagination__jump {
-        color: #b9412e;
+    padding: 12px;
+    width: 100%;
+    position: absolute;
+    bottom: 0;
+    left: 0;
+    .rickTextBack {
+      position: relative;
+      padding-left: 20px;
+      width: 100%;
+      height: 50px;
+      line-height: 50px;
+      color: #cb444e;
+      background-color: rgba(255, 255, 255, 0.3);
+      cursor: pointer;
+      & > div {
+        background-color: #b92e2e;
+        position: absolute;
+        bottom: 0;
+        left: 10px;
+        width: 1156px;
+        height: 1px;
       }
-      height: 80px;
-      display: flex;
-      align-items: center;
-      justify-content: center;
     }
     .rickText {
       width: 100%;
-      background-color: #fffcf6;
+      background-color: rgba(255, 255, 255, 0.3);
       padding: 20px;
       .inputR {
         display: flex;
@@ -479,7 +509,7 @@ export default {
             height: 40px;
             line-height: 40px;
           }
-          /deep/.el-upload-list{
+          /deep/.el-upload-list {
             display: none !important;
           }
           display: flex;
@@ -489,7 +519,7 @@ export default {
           position: absolute;
           z-index: 9999;
           top: 61px;
-          right: 0px;
+          right: 1px;
           width: 40px;
           height: 40px;
           &:hover {
@@ -501,9 +531,61 @@ export default {
         }
       }
       .txtBtn {
+        display: flex;
+        align-items: center;
+        position: relative;
         margin-top: 20px;
+        /deep/.el-button {
+          width: 120px;
+          height: 40px;
+          position: absolute;
+          right: 20px;
+          bottom: 0;
+          color: #d8b380;
+          font-size: 18px;
+        }
+        .nameCut {
+          cursor: pointer;
+          position: relative;
+          margin-right: 10px;
+          width: 20px;
+          height: 20px;
+          border-radius: 50%;
+          border: 1px solid #b9412e;
+        }
+        .noName {
+          margin-right: 30px;
+        }
+        .active {
+          &::after {
+            content: "";
+            position: absolute;
+            top: 50%;
+            left: 50%;
+            transform: translate(-50%, -50%);
+            width: 15px;
+            height: 15px;
+            border-radius: 50%;
+            background-color: #b9412e;
+          }
+        }
+        /deep/.el-input.is-disabled .el-input__inner {
+          background-color: #e9ebec;
+        }
       }
     }
+    /deep/.el-input__inner {
+      background-color: rgba(255, 255, 255, 0.5);
+    }
+    /deep/.el-input__count-inner {
+      background-color: transparent;
+    }
+    /deep/.w-e-toolbar {
+      background-color: rgba(255, 255, 255, 0.5) !important;
+    }
+    /deep/.w-e-text-container {
+      background-color: rgba(255, 255, 255, 0.5) !important;
+    }
   }
 }
 </style>

+ 313 - 178
houtai/src/views/forum/look.vue

@@ -1,8 +1,13 @@
 <template>
   <div class="forum_look">
+    <!-- 回帖按钮 -->
+    <div class="ulTitleBtn" @click="fuTxtShow = true">回 帖</div>
     <div class="title">
-      <span>中国人民解放军陆军勤务学院论坛</span>
-      <ul>
+      <div class="rowBack el-icon-arrow-left" @click='backList'>
+        返回
+      </div>
+      <span>论 坛</span>
+      <!-- <ul>
         <li
           :class="{ active: item.type === lookInfo.type }"
           v-for="item in tab"
@@ -15,30 +20,31 @@
         src="../../assets/img/back.png"
         alt=""
         @click="$emit('cutComFn', {})"
-      />
+      /> -->
     </div>
-    <div class="conten">
-      <div class="row">
+    <div class="conten" v-show="!fuTxtShow">
+      <div class="row rowOne">
+        <div class="xian"></div>
         <!-- 头像 -->
         <div class="buddha">
-          <img src="../../assets/img/lttx.png" alt="">
+          <i class="el-icon-user-solid"></i>
         </div>
         <span>{{ lookInfo.creatorName }}</span>
         <h3>{{ lookInfo.title }}</h3>
         <p v-html="lookInfo.content"></p>
         <div class="row_bott">
-          <span>发表时间:{{ lookInfo.createTime }}</span>
+          <span>发表:{{ lookInfo.createTime }}</span>
           <div class="inco">
             <div title="赞" @click="clickLikeOne('upVote', lookInfo.id)">
-              <img src="../../assets/img/good.png" alt="" />({{
+              <img :src="require(`@/assets/img/${lookInfo.flag?'goodAc':'good'}.png`)" alt="" />&nbsp;点赞&nbsp;({{
                 lookInfo.upVote ? lookInfo.upVote : 0
               }})
             </div>
-            <div title="踩" @click="clickUnlikeOne('unVote', lookInfo.id)">
+            <!-- <div title="踩" @click="clickUnlikeOne('unVote', lookInfo.id)">
               <img src="../../assets/img/goodNo.png" alt="" />({{
                 lookInfo.unVote ? lookInfo.unVote : 0
               }})
-            </div>
+            </div> -->
           </div>
         </div>
       </div>
@@ -47,51 +53,48 @@
       <div class="row" v-for="item in dataArr" :key="item.id" v-else>
         <!-- 头像 -->
         <div class="buddha">
-          <img src="../../assets/img/lttx.png" alt="">
+          <i class="el-icon-user-solid"></i>
         </div>
         <span>{{ item.creatorName }}</span>
         <h3>&emsp;</h3>
         <p v-html="item.content"></p>
         <div class="row_bott">
-          <span>发表时间:{{ item.createTime }}</span>
+          <span>发表:{{ item.createTime }}</span>
           <div class="inco">
             <div title="赞" @click="clickLike('upVote', item.id)">
-              <img src="../../assets/img/good.png" alt="" />({{
+              <img :src="require(`@/assets/img/${item.flag?'goodAc':'good'}.png`)" alt="" />&nbsp;点赞&nbsp;({{
                 item.upVote ? item.upVote : 0
               }})
             </div>
-            <div title="踩" @click="clickUnlike('unVote', item.id)">
+            <!-- <div title="踩" @click="clickUnlike('unVote', item.id)">
               <img src="../../assets/img/goodNo.png" alt="" />({{
                 item.unVote ? item.unVote : 0
               }})
-            </div>
+            </div> -->
           </div>
         </div>
       </div>
     </div>
+    <!-- 分页 -->
+    <div class="paging" v-show="!fuTxtShow">
+      <el-pagination
+        layout="prev, pager, next"
+        :total="total"
+        :current-page="formData.pageNum"
+        @current-change="currentChange"
+        @size-change="sizeChange"
+      >
+      </el-pagination>
+    </div>
     <!-- 底部 -->
-    <div class="bottom">
-      <!-- 分页 -->
-      <div class="paging" v-if="total > 10">
-        <el-pagination
-          layout="prev, pager, next,jumper"
-          :total="total"
-          :current-page="formData.pageNum"
-          @current-change="currentChange"
-          @size-change="sizeChange"
-        >
-        </el-pagination>
+    <div class="bottom" v-show="fuTxtShow">
+      <!-- 后面加的关闭 -->
+      <div class="rickTextBack el-icon-arrow-left" @click="fuTxtShow = false">
+        关闭
+        <div></div>
       </div>
       <div class="rickText">
         <div class="inputR">
-          <el-input
-            type="text"
-            placeholder="请输入姓名"
-            v-model="name2"
-            maxlength="8"
-            show-word-limit
-          >
-          </el-input>
           <!-- 上传图片 -->
           <el-upload
             accept=".png,.jpg,.jpeg,.gif"
@@ -108,11 +111,35 @@
         <!-- 富文本 -->
         <div id="div1" style="z-index: 1"></div>
         <!-- 按钮 -->
+
+        <!-- 按钮 -->
         <div class="txtBtn">
+          <div
+            class="nameCut"
+            :class="{ active: !nameShow }"
+            @click="nameShow = false"
+          ></div>
+          <div class="noName">匿 名</div>
+          <div
+            class="nameCut"
+            :class="{ active: nameShow }"
+            @click="nameShow = true"
+          ></div>
+          <el-input
+            :disabled="!nameShow"
+            style="width: 300px"
+            type="text"
+            placeholder="请填写您的姓名"
+            v-model="name2"
+            maxlength="8"
+            show-word-limit
+          >
+          </el-input>
           <el-button type="primary" style="width: 120px" @click="reply"
-            >回 复</el-button
+            >提 交</el-button
           >
         </div>
+
       </div>
     </div>
   </div>
@@ -134,12 +161,16 @@ export default {
   data () {
     // 这里存放数据
     return {
+      // 选择匿名
+      nameShow: true,
+      // 控制富文本显示和隐藏
+      fuTxtShow: false,
       // 点赞-帖子的开关
       likeFlagOne: [],
-      unLikeFlagOne: [],
+      // unLikeFlagOne: [],
       // 点赞-评论的开关
       likeFlag: [],
-      unLikeFlag: [],
+      // unLikeFlag: [],
       baseURL: '',
       // 评论列表数据
       total: 0,
@@ -147,7 +178,7 @@ export default {
       tab: [
         { id: 1, name: '数字史馆', type: 'scene' },
         { id: 2, name: '美丽校园', type: 'school' },
-        { id: 3, name: '信息典藏', type: 'goods' }
+        { id: 3, name: '文物典藏', type: 'goods' }
       ],
       formData: {
         parentId: null,
@@ -163,6 +194,11 @@ export default {
   watch: {},
   // 方法集合
   methods: {
+    // 点击返回
+    backList () {
+      this.fuTxtShow = false
+      this.$emit('cutComFn', {})
+    },
     // 点赞-帖子
     async clickLikeOne (type, id) {
       if (!this.likeFlagOne.includes(id)) {
@@ -171,20 +207,21 @@ export default {
           this.$message.success('点赞成功.')
           this.likeFlagOne.push(id)
           this.lookInfo.upVote++
+          this.lookInfo.flag = true
         } else this.$message.warning(res.msg)
       } else this.$message.warning('您已经赞过了.')
     },
     // 点踩-帖子
-    async clickUnlikeOne (type, id) {
-      if (!this.unLikeFlagOne.includes(id)) {
-        const res = await webBbsLike(type, id)
-        if (res.code === 0) {
-          this.$message.success('点踩成功.')
-          this.unLikeFlagOne.push(id)
-          this.lookInfo.unVote++
-        } else this.$message.warning(res.msg)
-      } else this.$message.warning('您已经踩过了.')
-    },
+    // async clickUnlikeOne (type, id) {
+    //   if (!this.unLikeFlagOne.includes(id)) {
+    //     const res = await webBbsLike(type, id)
+    //     if (res.code === 0) {
+    //       this.$message.success('点踩成功.')
+    //       this.unLikeFlagOne.push(id)
+    //       this.lookInfo.unVote++
+    //     } else this.$message.warning(res.msg)
+    //   } else this.$message.warning('您已经踩过了.')
+    // },
     // 点赞-评论
     async clickLike (type, id) {
       if (!this.likeFlag.includes(id)) {
@@ -197,19 +234,19 @@ export default {
       } else this.$message.warning('您已经赞过了.')
     },
     // 点踩-评论
-    async clickUnlike (type, id) {
-      if (!this.unLikeFlag.includes(id)) {
-        const res = await webBbsLike(type, id)
-        if (res.code === 0) {
-          this.$message.success('点踩成功.')
-          this.unLikeFlag.push(id)
-          this.webBbsMesList(this.formData)
-        } else this.$message.warning(res.msg)
-      } else this.$message.warning('您已经踩过了.')
-    },
+    // async clickUnlike (type, id) {
+    //   if (!this.unLikeFlag.includes(id)) {
+    //     const res = await webBbsLike(type, id)
+    //     if (res.code === 0) {
+    //       this.$message.success('点踩成功.')
+    //       this.unLikeFlag.push(id)
+    //       this.webBbsMesList(this.formData)
+    //     } else this.$message.warning(res.msg)
+    //   } else this.$message.warning('您已经踩过了.')
+    // },
     // 点击回复
     async reply () {
-      if (this.name2.trim() === '') {
+      if (this.name2.trim() === '' && this.nameShow) {
         return this.$message.warning('名字不能为空!')
       }
       if (this.editor.txt.html() === '') {
@@ -228,6 +265,7 @@ export default {
         this.editor.txt.html('')
         this.$message.success('回帖成功,等待审核.')
         this.webBbsMesList(this.formData)
+        this.fuTxtShow = false
       } else this.$message.warning(res.msg)
     },
     // 上传图片
@@ -278,6 +316,12 @@ export default {
       const res = await webBbsMesList(data)
       this.total = res.data.total
       this.dataArr = res.data.records
+      // 点赞高亮的判断
+      this.dataArr.forEach(v => {
+        this.likeFlag.forEach(p => {
+          if (p === v.id) v.flag = true
+        })
+      })
     }
   },
   // 生命周期 - 创建完成(可以访问当前this实例)
@@ -318,58 +362,14 @@ export default {
     this.formData.pageNum = 1
     this.formData.parentId = this.lookInfo.id
     this.webBbsMesList(this.formData)
+    // 看看有没有点赞
+    this.likeFlagOne.forEach(v => {
+      if (v === this.lookInfo.id) this.lookInfo.flag = true
+    })
   } // 如果页面有keep-alive缓存功能,这个函数会触发
 }
 </script>
 <style lang='less' scoped>
-/* 分页 */
-/deep/.el-pagination {
-  display: flex;
-  align-items: center;
-}
-/deep/.el-pager li {
-  color: #b9412e;
-  font-weight: 400;
-  min-width: 24px;
-  width: 28px;
-  height: 28px;
-  padding: 0;
-  margin: 0 8px;
-  border: 1px solid #b9412e;
-  background-color: transparent;
-  border-radius: 50%;
-}
-/deep/.el-pager li:hover {
-  color: #b9412e;
-}
-/deep/.el-pager li.active {
-  width: 30px;
-  height: 30px;
-  background-color: #b9412e;
-  border-radius: 50%;
-  color: #fff;
-}
-/deep/.el-pager li.active + li {
-  border: 1px solid #c7c7c7;
-}
-/deep/.el-pagination button:hover {
-  color: #b9412e;
-}
-/deep/.el-pagination .btn-next {
-  background-color: transparent;
-  color: #b9412e;
-}
-/deep/.el-pagination .btn-prev {
-  background-color: transparent;
-  color: #b9412e;
-}
-/deep/.el-pager li.active + li {
-  border: 1px solid #b9412e;
-}
-/deep/.el-pagination button:disabled {
-  color: #fff9ec;
-  background-color: transparent;
-}
 ::-webkit-scrollbar {
   /*滚动条整体样式*/
   width: 3px; /*高宽分别对应横竖滚动条的尺寸*/
@@ -379,7 +379,7 @@ export default {
   /*滚动条里面小方块*/
   border-radius: 10px;
   box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);
-  background: #b9412e;
+  background: rgba(185, 46, 46, 0.3);
 }
 ::-webkit-scrollbar-track {
   /*滚动条里面轨道*/
@@ -388,77 +388,97 @@ export default {
   background: #fff9ec;
 }
 .forum_look {
-  margin: 0 auto;
+  border-top: 8px solid #be1220;
+  border-bottom: 8px solid #be1220;
+  padding: 0 12px;
+  background: url("../../assets/img/forBac.png") #f0dbbf center center no-repeat;
+  position: fixed;
+  top: 50%;
+  left: 50%;
+  transform: translate(-50%, -50%);
   width: 1200px;
-  height: 100vh;
-  min-height: 800px;
-  overflow-y: auto;
+  height: 650px;
+  .ulTitleBtn {
+    font-size: 18px;
+    color: #fff;
+    cursor: pointer;
+    position: absolute;
+    top: 10px;
+    right: 50px;
+    width: 100px;
+    height: 40px;
+    line-height: 40px;
+    text-align: center;
+    background-color: #f2cd83;
+    border-radius: 5px;
+  }
+  .rowBack {
+    z-index: 100;
+    position: absolute;
+    height: 50px;
+    line-height: 50px;
+    color: #cb444e;
+    cursor: pointer;
+    & > div {
+      background-color: #b92e2e;
+      position: absolute;
+      bottom: 0;
+      left: 10px;
+      width: 1156px;
+      height: 1px;
+    }
+  }
   .title {
-    position: relative;
-    color: #f3eabd;
+    color: #fff;
     display: flex;
     align-items: center;
     height: 60px;
-    background-color: #bd1b1b;
     & > span {
       font-weight: 700;
-      padding-left: 40px;
+      padding-left: 80px;
       font-size: 26px;
-      margin-right: 100px;
-    }
-    & > ul {
-      height: 62px;
-      display: flex;
-      & > li {
-        margin-right: 30px;
-        letter-spacing: 2px;
-        font-weight: 600;
-        display: flex;
-        align-items: center;
-        justify-content: center;
-        height: 100%;
-        width: 150px;
-        font-size: 22px;
-        text-align: center;
-      }
-      .active {
-        border-bottom: 5px solid #f3eabd;
-      }
-    }
-    & > img {
-      margin-left: 40px;
-      cursor: pointer;
     }
   }
   .conten {
+    border-radius: 5px 5px 0 0;
+    position: relative;
+    height: 480px;
+    overflow-y: auto;
     color: #5f5f5f;
-    background-color: #fff9ec;
-    padding: 20px 50px 20px 30px;
+    background-color: rgba(255, 255, 255, 0.3);
+    padding: 10px 50px 20px 30px;
     .row {
       padding-top: 10px;
       position: relative;
-      border-bottom: 1px solid #ccc;
-      .buddha{
+      border-bottom: 1px dashed #d5a6a6;
+      .buddha {
+        text-align: center;
         position: absolute;
-        width: 70px;
-        height: 70px;
+        width: 130px;
+        height: 50px;
         overflow: hidden;
-        border-radius: 50%;
         left: 0px;
-        top: 50px;
-        &>img{
-          width: 100%;
-          height: 100%;
+        top: 31px;
+        & > i {
+          width: 50px;
+          height: 50px;
+          line-height: 50px;
+          background-color: #fff;
+          border-radius: 50%;
+          font-size: 30px;
+          color: #e7cfcf;
         }
       }
       & > span {
+        width: 130px;
+        text-align: center;
         position: absolute;
         left: 0px;
-        top: 10px;
+        top: 91px;
       }
+
       & > h3 {
         text-align: center;
-        margin-bottom: 20px;
       }
       & > p {
         width: 80%;
@@ -476,10 +496,9 @@ export default {
           color: #a8a8a8;
         }
         .inco {
-          width: 120px;
-          justify-content: space-between;
-          display: flex;
-          align-items: center;
+          position: absolute;
+          right: 0;
+          bottom: 15px;
           & > div {
             cursor: pointer;
             display: flex;
@@ -488,6 +507,29 @@ export default {
         }
       }
     }
+    .rowOne {
+      .row_bott .inco{
+        bottom: 0;
+      }
+      border-bottom: none;
+      &>h3{
+        margin-bottom: 10px;
+      }
+      .buddha {
+        top: 41px;
+      }
+      & > span {
+        top: 101px;
+      }
+      .xian {
+        width: 1136px;
+        position: absolute;
+        bottom: -14px;
+        left: -20px;
+        height: 1px;
+        background-color: #be1220;
+      }
+    }
     .rowNull {
       height: 100px;
       line-height: 100px;
@@ -496,33 +538,74 @@ export default {
       text-align: center;
     }
   }
+  .paging {
+    /deep/.el-pager li {
+      background-color: transparent;
+      color: #333333;
+    }
+    /deep/.el-pager li.active {
+      color: #b92e2e;
+    }
+    /deep/.el-pagination button {
+      background-color: transparent;
+    }
+    /deep/.el-pagination button:disabled {
+      background-color: transparent;
+    }
+    border-radius: 0 0 5px 5px;
+    background-color: rgba(255, 255, 255, 0.3);
+    height: 80px;
+    display: flex;
+    align-items: center;
+    justify-content: center;
+  }
   .bottom {
-    padding: 0 20px 20px 20px;
-    background-color: #fff9ec;
-    .paging {
-      /deep/.el-input__inner {
-        color: #b9412e;
-        width: 30px;
-        height: 30px !important;
-        background-color: transparent;
-        border-color: #b9412e;
-        border-radius: 50%;
+    padding: 12px;
+    width: 100%;
+    position: absolute;
+    bottom: 40px;
+    left: 0;
+    .rickTextBack {
+      position: relative;
+      padding-left: 20px;
+      width: 100%;
+      height: 50px;
+      line-height: 50px;
+      color: #cb444e;
+      background-color: rgba(255, 255, 255, 0.3);
+      cursor: pointer;
+      & > div {
+        background-color: #b92e2e;
+        position: absolute;
+        bottom: 0;
+        left: 10px;
+        width: 1156px;
+        height: 1px;
       }
-      /deep/.el-pagination__jump {
-        color: #b9412e;
+    }
+     .rickTextBack {
+      position: relative;
+      padding-left: 20px;
+      width: 100%;
+      height: 50px;
+      line-height: 50px;
+      color: #cb444e;
+      background-color: rgba(255, 255, 255, 0.3);
+      cursor: pointer;
+      & > div {
+        background-color: #b92e2e;
+        position: absolute;
+        bottom: 0;
+        left: 10px;
+        width: 1156px;
+        height: 1px;
       }
-      height: 80px;
-      display: flex;
-      align-items: center;
-      justify-content: center;
     }
     .rickText {
       width: 100%;
-      background-color: #fffcf6;
+      background-color: rgba(255, 255, 255, 0.3);
       padding: 20px;
       .inputR {
-        display: flex;
-        margin-bottom: 20px;
         position: relative;
         .imgUplod {
           /deep/.w-e-icon-image {
@@ -541,8 +624,8 @@ export default {
           cursor: pointer;
           position: absolute;
           z-index: 9999;
-          top: 61px;
-          right: 0px;
+          top: 1px;
+          right: 1px;
           width: 40px;
           height: 40px;
           &:hover {
@@ -554,9 +637,61 @@ export default {
         }
       }
       .txtBtn {
+        display: flex;
+        align-items: center;
+        position: relative;
         margin-top: 20px;
+        /deep/.el-button {
+          width: 120px;
+          height: 40px;
+          position: absolute;
+          right: 20px;
+          bottom: 0;
+          color: #d8b380;
+          font-size: 18px;
+        }
+        .nameCut {
+          cursor: pointer;
+          position: relative;
+          margin-right: 10px;
+          width: 20px;
+          height: 20px;
+          border-radius: 50%;
+          border: 1px solid #b9412e;
+        }
+        .noName{
+          margin-right: 30px;
+        }
+        .active {
+          &::after {
+            content: "";
+            position: absolute;
+            top: 50%;
+            left: 50%;
+            transform: translate(-50%, -50%);
+            width: 15px;
+            height: 15px;
+            border-radius: 50%;
+            background-color: #b9412e;
+          }
+        }
+        /deep/.el-input.is-disabled .el-input__inner{
+          background-color: #e9ebec;
+        }
       }
     }
+    /deep/.el-input__inner {
+      background-color: rgba(255, 255, 255, 0.5);
+    }
+    /deep/.el-input__count-inner {
+      background-color: transparent;
+    }
+    /deep/.w-e-toolbar {
+      background-color: rgba(255, 255, 255, 0.5) !important;
+    }
+    /deep/.w-e-text-container {
+      background-color: rgba(255, 255, 255, 0.5) !important;
+    }
   }
 }
 </style>

+ 3 - 3
houtai/src/views/message/index.vue

@@ -160,7 +160,7 @@ export default {
   margin: 0 auto;
   width: 1000px;
   height: 100vh;
-  min-height: 700px;
+  min-height: 650px;
   .conten {
     background: url('../../assets/img/mesBac.png');
     background-size: 100% 100%;
@@ -190,7 +190,7 @@ export default {
     left: 0;
     transform: translateY(-50%);
     width: 100%;
-    height: 700px;
+    height: 650px;
     background-color: #fff;
     padding: 20px;
     .title {
@@ -219,7 +219,7 @@ export default {
       padding-right: 20px;
       margin: 20px 20px 0;
       padding: 15px;
-      height: 380px;
+      height: 320px;
       overflow-y: auto;
       li {
         border-bottom: 1px dashed #B92E2E;

+ 2 - 2
houtai/src/views/tab8/index.vue

@@ -42,7 +42,7 @@
           <el-option label="全部" value=""></el-option>
           <el-option label="数字史馆" value="scene"></el-option>
           <el-option label="美丽校园" value="school"></el-option>
-          <el-option label="信息典藏" value="goods"></el-option>
+          <el-option label="文物典藏" value="goods"></el-option>
         </el-select>
         <span class="search_k">类型:</span>
         <el-select
@@ -223,7 +223,7 @@ export default {
         else if (v.status === 2) v.status = '通过'
         if (v.type === 'scene') v.type = '数字史馆'
         else if (v.type === 'school') v.type = '美丽校园'
-        else if (v.type === 'goods') v.type = '信息典藏'
+        else if (v.type === 'goods') v.type = '文物典藏'
       })
       this.tableData = res.data.records
     },

+ 4 - 3
web/public/static/js/Hot.js

@@ -1108,17 +1108,18 @@ window.initHot = function(model){
                     div.style.width = div.style.height = "100%";
                     div.style.left = div.style.top = '0';
                     div.style["z-index"] = "999"
-                    
+                    div.style["background-color"] = "rgba(0, 0, 0, 0.5)"; 
+
                     var exit = document.createElement("div");
                     exit.style["background-image"] = "url(images/vrOffImg.png)";
                     exit.style.position = 'absolute';
                     exit.style.width = exit.style.height = "50px";
-                    exit.style.left = '17px';   exit.style.top = "20px"
+                    exit.style.right = '17px';   exit.style.top = "20px"
                     exit.style.cursor = "pointer";
                     exit.style["background-repeat"] = "no-repeat";
                     exit.style["background-size"] = "25%"; 
                     exit.style["background-position"] = "center center"; 
-                    exit.style["background-color"] = "rgba(0, 0, 0, 0.2)"; 
+                    exit.style["background-color"] = "rgba(0, 0, 0, 0.5)"; 
                     exit.style["border-radius"] = "50%";
                     exit.style["z-index"] = "3"
                     exit.onclick = ()=>{

+ 1 - 1
web/public/static/js/loadCAD.js

@@ -131,7 +131,7 @@ window.grendCAD = (function grendCAD() {
   }
 })();
 
-if(window.number==='1151'){
+if(window.number==='TEST'){
 
   $.ajax({
     url: g_Prefix + "data/" + window.number + "/someData.json" + "?" + Date.now(),

+ 2 - 2
web/public/static/js/main_2020_show.js

@@ -14418,7 +14418,7 @@ window.Modernizr = function(n, e, t) {
 			progressUpdate(0.1)
 			var fileName = g_version ?  'modeldata.js' : 'someData.json' ;
 
-            if(window.number==='1151') {
+            if(window.number==='TEST') {
                 $.ajax(g_Prefix + "data/"+window.number+"/"+fileName+"?"+randomTime().getTime(),{dataType: "json"}).done( function(e){ //改
                      
                     var data = matcher(e);
@@ -17508,7 +17508,7 @@ window.Modernizr = function(n, e, t) {
                         li.hot = hot;   // 列表每一项对应一个热点
                         li.appendChild(span);
                         ul.appendChild(li);
-                        docFragment.appendChild(li);
+                        // docFragment.appendChild(li);
                     }
                 })
             }

+ 2 - 2
web/src/utils/request.js

@@ -1,8 +1,8 @@
 import axios from 'axios'
 const service = axios.create({
   // baseURL: 'http://192.168.0.135:8005/', // 本地调试
-  // baseURL: 'http://192.168.0.245:8005/', // 线上调试
-  baseURL: '', // build
+  baseURL: 'http://192.168.0.245:8005/', // 线上调试
+  // baseURL: '', // build
   timeout: 5000
 })
 // 请求拦截器

+ 2 - 2
web/src/views/home/index.vue

@@ -22,11 +22,11 @@ export default {
   // 方法集合
   methods: {
     goIndex() {
-      this.$router.replace("/index?m=1151");
+      this.$router.replace("/index?m=TEST");
       this.$nextTick(() => {
         setTimeout(() => {
           location.reload(true);
-        }, 100);
+        }, 300);
       });
     },
   },

+ 2 - 2
web/src/views/layout/index.vue

@@ -63,9 +63,9 @@ export default {
   methods: {
     // 点击tab栏
     jump(url) {
-      if (url === "tab1") url = "/index?m=1151";
+      if (url === "tab1") url = "/index?m=TEST";
       this.$router.replace(url).catch(() => {});
-      if (url === "/index?m=1151") {
+      if (url === "/index?m=TEST") {
         this.$nextTick(() => {
           setTimeout(() => {
             location.reload(true);