shaogen1995 преди 3 години
родител
ревизия
0ec896087d

BIN
houtai/public/favicon.ico


+ 1 - 1
houtai/public/index.html

@@ -5,7 +5,7 @@
     <meta http-equiv="X-UA-Compatible" content="IE=edge">
     <meta name="viewport" content="width=device-width,initial-scale=1.0">
     <link rel="icon" href="<%= BASE_URL %>favicon.ico">
-    <title>中国人民解放军陆军勤务学院-管理后台</title>
+    <title>北京武警执勤第七支队-管理后台</title>
   </head>
   <body>
     <noscript>

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


+ 1 - 73
houtai/src/router/index.js

@@ -4,30 +4,6 @@ import { Message } from 'element-ui'
 Vue.use(VueRouter)
 
 const routes = [
-  // 留言板pc
-  {
-    path: '/message',
-    name: 'message',
-    component: () => import('../views/message/index.vue')
-  },
-  // 留言板M
-  {
-    path: '/messageM',
-    name: 'messageM',
-    component: () => import('../views/messageM/index.vue')
-  },
-  // 论坛pc
-  {
-    path: '/forum',
-    name: 'forum',
-    component: () => import('../views/forum/index.vue')
-  },
-  // 论坛M
-  {
-    path: '/forumM',
-    name: 'forumM',
-    component: () => import('../views/forumM/index.vue')
-  },
   {
     path: '/',
     name: 'login',
@@ -105,54 +81,6 @@ const routes = [
         component: () => import('../views/tab4/index.vue')
       },
       {
-        path: 'tab4Add',
-        name: 'tab4Add',
-        meta: { myInd: 4 },
-        component: () => import('../views/tab4/tab4Add.vue')
-      },
-      {
-        path: 'tab4Look',
-        name: 'tab4Look',
-        meta: { myInd: 4 },
-        component: () => import('../views/tab4/tab4Look.vue')
-      },
-      {
-        path: 'tab5',
-        name: 'tab5',
-        meta: { myInd: 5 },
-        component: () => import('../views/tab5/index.vue')
-      },
-      {
-        path: 'tab5Add',
-        name: 'tab5Add',
-        meta: { myInd: 5 },
-        component: () => import('../views/tab5/tab5Add.vue')
-      },
-      {
-        path: 'tab5Look',
-        name: 'tab5Look',
-        meta: { myInd: 5 },
-        component: () => import('../views/tab5/tab5Look.vue')
-      },
-      {
-        path: 'tab6',
-        name: 'tab6',
-        meta: { myInd: 6 },
-        component: () => import('../views/tab6/index.vue')
-      },
-      {
-        path: 'tab6Add',
-        name: 'tab6Add',
-        meta: { myInd: 6 },
-        component: () => import('../views/tab6/tab6Add.vue')
-      },
-      {
-        path: 'tab6Look',
-        name: 'tab6Look',
-        meta: { myInd: 6 },
-        component: () => import('../views/tab6/tab6Look.vue')
-      },
-      {
         path: 'tab7',
         name: 'tab7',
         meta: { myInd: 7 },
@@ -188,7 +116,7 @@ const router = new VueRouter({
 
 router.beforeEach((to, from, next) => {
   // 如果是去登录页,不需要验证,直接下一步
-  if (to.name === 'login' || to.name === 'message' || to.name === 'messageM' || to.name === 'forum' || to.name === 'forumM') next()
+  if (to.name === 'login') next()
   // 否则要有token值才能下一步,不然就返回登录页
   else {
     const token = localStorage.getItem('CQLJXU_token')

+ 0 - 55
houtai/src/views/forum/index.vue

@@ -1,55 +0,0 @@
-<!--  -->
-<template>
-<div class='forum_index'>
-  <keep-alive>
-    <component :is='cutCom' @cutComFn='cutComFn' :lookInfo='lookInfo'></component>
-  </keep-alive>
-</div>
-</template>
-
-<script>
-import List from './list.vue'
-import Look from './look.vue'
-export default {
-  name: 'forum_index',
-  components: { List, Look },
-  data () {
-    // 这里存放数据
-    return {
-      cutCom: 'List',
-      lookInfo: {}
-    }
-  },
-  // 监听属性 类似于data概念
-  computed: {},
-  // 监控data中的数据变化
-  watch: {},
-  // 方法集合
-  methods: {
-    // 从List组件点击文章触发
-    cutComFn (item) {
-      // 改变is的值切换动态组件
-      if (item.id) this.cutCom = 'Look'
-      else this.cutCom = 'List'
-      this.lookInfo = item
-    }
-  },
-  // 生命周期 - 创建完成(可以访问当前this实例)
-  created () {
-
-  },
-  // 生命周期 - 挂载完成(可以访问DOM元素)
-  mounted () {
-
-  },
-  beforeCreate () {}, // 生命周期 - 创建之前
-  beforeMount () {}, // 生命周期 - 挂载之前
-  beforeUpdate () {}, // 生命周期 - 更新之前
-  updated () {}, // 生命周期 - 更新之后
-  beforeDestroy () {}, // 生命周期 - 销毁之前
-  destroyed () {}, // 生命周期 - 销毁完成
-  activated () {} // 如果页面有keep-alive缓存功能,这个函数会触发
-}
-</script>
-<style lang='less' scoped>
-</style>

+ 0 - 597
houtai/src/views/forum/list.vue

@@ -1,597 +0,0 @@
-<template>
-  <div class="forum_list">
-    <div class="title">
-      <span>论 坛</span>
-    </div>
-    <div class="ulTitle" v-show="!fuTxtShow">
-      <ul>
-        <li
-          :class="{ active: item.id === tabInd }"
-          v-for="item in tab"
-          :key="item.id"
-          @click="cutTab(item)"
-        >
-          {{ item.name }}
-        </li>
-      </ul>
-      <!-- 发帖按钮 -->
-      <div class="ulTitleBtn" @click="fuTxtShow = true">发 帖</div>
-    </div>
-    <div class="conten" v-show="!fuTxtShow">
-      <div class="row rowFi">
-        <div class="row_one">公告/置顶</div>
-        <div class="row_tow">作 者</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 }}
-        </div>
-        <div class="row_four">
-          <!-- {{item.replyName}}/{{item.replyTime}} -->
-          {{item.replyName.length>5?item.replyName.substring(0, 5)+'...':item.replyName}} {{ item.replyTime.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" v-show="fuTxtShow">
-      <!-- 后面加的关闭 -->
-      <div class="rickTextBack el-icon-arrow-left" @click="fuTxtShow = false">
-        返回
-        <div></div>
-      </div>
-      <div class="rickText">
-        <div class="inputR">
-          <el-select
-            v-model="selectType"
-            placeholder="请选择主题分类"
-            style="width: 400px"
-          >
-            <el-option label="数字史馆" value="scene"></el-option>
-            <el-option label="美丽校园" value="school"></el-option>
-            <el-option label="文物典藏" value="goods"></el-option>
-          </el-select>
-          <el-input
-            style="margin-left: 20px"
-            type="text"
-            placeholder="帖子标题字数不能超过30个字。"
-            v-model="title"
-            maxlength="30"
-            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"
-          >
-            <i class="w-e-icon-image"></i>
-          </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
-          >
-        </div>
-      </div>
-    </div>
-  </div>
-</template>
-
-<script>
-import axios from '@/utils/request'
-import { webBbsSave, webBbsList, webBbsVisit } from '@/apis/tab8'
-import E from 'wangeditor'
-export default {
-  name: 'forum_list',
-  components: {},
-  data () {
-    // 这里存放数据
-    return {
-      // 选择匿名
-      nameShow: true,
-      // 控制富文本显示和隐藏
-      fuTxtShow: false,
-      // 列表数据
-      dataArr: [],
-      total: 0,
-      // 服务器前缀地址
-      baseURL: '',
-      tabInd: 1,
-      tab: [
-        { id: 1, name: '数字史馆', type: 'scene' },
-        { id: 2, name: '美丽校园', type: 'school' },
-        { id: 3, name: '文物典藏', type: 'goods' }
-      ],
-      formData: {
-        endTime: '',
-        searchKey: '',
-        startTime: '',
-        status: 2,
-        type: 'scene',
-        pageNum: 1,
-        pageSize: 10,
-        bbsType: 'topic'
-      },
-      selectType: 'scene',
-      title: '',
-      creatorName: '',
-      content: ''
-    }
-  },
-  // 监听属性 类似于data概念
-  computed: {},
-  // 监控data中的数据变化
-  watch: {},
-  // 方法集合
-  methods: {
-    // 上传图片
-    beforethumbUploadImg (file) {
-      // console.log(998, file)
-      // 限制图片大小和格式
-      const sizeOk = file.size / 1024 / 1024 < 5
-      const typeOk =
-        file.type === 'image/png' ||
-        (file.type === 'image/jpeg' && !file.name.includes('.jfif')) ||
-        file.type === 'image/gif'
-
-      return new Promise((resolve, reject) => {
-        if (!typeOk) {
-          this.$message.error('图片格式有误!')
-          reject(file)
-        } else if (!sizeOk) {
-          this.$message.error('图片大小超过5M!')
-          reject(file)
-        } else if (file.name.length > 32) {
-          this.$message.error('图片名字不能超过32个字!')
-          reject(file)
-        } else {
-          resolve(file)
-        }
-      })
-    },
-    upload_thumb_successImg (data) {
-      this.$message.success('上传成功')
-      this.editor.txt.append(
-        `<img src="${this.baseURL}${data.data.urlPath}"  style="max-width:100%;display: block;margin: 10px auto;"/><p><br/></p>`
-      )
-    }, // 点击发表文章
-    async publish () {
-      if (this.creatorName.trim() === '' && this.nameShow) {
-        return this.$message.warning('名字不能为空!')
-      }
-      if (this.title.trim() === '') {
-        return this.$message.warning('标题不能为空!')
-      }
-      if (this.editor.txt.html() === '') {
-        return this.$message.warning('内容不能为空')
-      }
-      const res = await webBbsSave({
-        bbsType: 'topic',
-        content: this.editor.txt.html(),
-        creatorName: this.creatorName,
-        title: this.title,
-        type: this.selectType
-      })
-      if (res.code === 0) {
-        this.title = this.creatorName = ''
-        this.editor.txt.html('')
-        this.$message.success('发帖成功,等待审核.')
-        this.fuTxtShow = false
-      } else this.$message.warning(res.msg)
-    },
-    // 点击通知父组件切换 动态组件is的值,并且把数据传过去
-    async skip (item) {
-      await webBbsVisit(item.id)
-      this.$emit('cutComFn', item)
-    },
-    cutTab (item) {
-      this.tabInd = item.id
-      this.formData.type = item.type
-      this.formData.pageNum = 1
-      this.webBbsList(this.formData)
-      // 让下面的下拉框同步
-      this.selectType = item.type
-    },
-    currentChange (val) {
-      // console.log('当前页改变了', val)
-      this.formData.pageNum = val
-      this.webBbsList(this.formData)
-    },
-    sizeChange (val) {
-      // console.log('条数改变了', val)
-      this.formData.pageNum = 1
-      this.formData.pageSize = val
-      this.webBbsList(this.formData)
-    },
-    // 封装获取列表的方法
-    async webBbsList (data) {
-      const res = await webBbsList(data)
-      this.total = res.data.total
-      this.dataArr = res.data.records
-      this.dataArr.forEach(v => {
-        if (!v.replyName) v.replyName = v.creatorName
-        if (!v.replyTime) v.replyTime = v.createTime
-      })
-    }
-  },
-  // 生命周期 - 创建完成(可以访问当前this实例)
-  created () {
-    // 获取服务器前缀地址
-    this.baseURL = axios.defaults.baseURL
-  },
-  // 生命周期 - 挂载完成(可以访问DOM元素)
-  mounted () {
-    // 初始化富文本
-    // 富文本
-    this.editor = new E('#div1')
-    // 配置字体
-    this.editor.config.fontNames = [
-      '黑体',
-      '仿宋',
-      '楷体',
-      '标楷体',
-      '华文仿宋',
-      '华文楷体',
-      '宋体',
-      '微软雅黑',
-      'Arial',
-      'Tahoma',
-      'Verdana',
-      'Times New Roman'
-    ]
-    this.editor.config.showLinkVideo = false
-    this.editor.create()
-  },
-  beforeCreate () {}, // 生命周期 - 创建之前
-  beforeMount () {}, // 生命周期 - 挂载之前
-  beforeUpdate () {}, // 生命周期 - 更新之前
-  updated () {}, // 生命周期 - 更新之后
-  beforeDestroy () {}, // 生命周期 - 销毁之前
-  destroyed () {}, // 生命周期 - 销毁完成
-  // 如果页面有keep-alive缓存功能,这个函数会触发
-  activated () {
-    // 调用获取列表方法
-    this.webBbsList(this.formData)
-  }
-}
-</script>
-<style lang='less' scoped>
-/* 分页 */
-/deep/.el-pagination {
-  display: flex;
-  align-items: center;
-}
-
-.conten::-webkit-scrollbar {
-  /*滚动条整体样式*/
-  width: 3px; /*高宽分别对应横竖滚动条的尺寸*/
-  height: 1px;
-}
-.conten::-webkit-scrollbar-thumb {
-  /*滚动条里面小方块*/
-  border-radius: 10px;
-  box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);
-  background: rgba(185, 46, 46, 0.3);
-}
-.conten::-webkit-scrollbar-track {
-  /*滚动条里面轨道*/
-  // box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);
-  border-radius: 10px;
-  background: transparent;
-}
-.forum_list {
-  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: 650px;
-  .title {
-    color: #fff;
-    display: flex;
-    align-items: center;
-    height: 60px;
-    & > 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 {
-      padding-left: 10px;
-      border-bottom: 1px solid #b92e2e;
-      height: 50px;
-      display: flex;
-      & > li {
-        margin-right: 30px;
-        cursor: pointer;
-        letter-spacing: 2px;
-        font-weight: 600;
-        display: flex;
-        align-items: center;
-        justify-content: center;
-        height: 40px;
-        width: 120px;
-        font-size: 18px;
-        text-align: center;
-      }
-      .active {
-        background-color: #b92e2e;
-        color: #fff;
-        border-radius: 20px;
-      }
-    }
-    .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;
-    .row {
-      padding: 0 10px;
-      cursor: pointer;
-      margin: 0 40px;
-      border-bottom: 1px dashed #d5a6a6;
-      font-size: 16px;
-      display: flex;
-      & > div {
-        height: 60px;
-        line-height: 60px;
-        margin: 0 40px;
-        text-align: center;
-      }
-      .row_one {
-        text-align: left;
-        overflow: hidden;
-        text-overflow: ellipsis;
-        white-space: nowrap;
-        margin-left: 0;
-        flex: 1;
-      }
-      .row_tow {
-        width: 135px;
-      }
-      .row_three {
-        width: 100px;
-      }
-      .row_four {
-        text-align: left;
-        margin-right: 0;
-        width: 190px;
-      }
-    }
-    .rowFi {
-      font-weight: 600;
-      border-bottom: none;
-      font-size: 22px;
-      .row_one {
-        color: #b9412e;
-      }
-    }
-    .nullTit {
-      height: 100px;
-      line-height: 100px;
-      font-size: 30px;
-      color: #b9412e;
-      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: 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;
-      }
-    }
-    .rickText {
-      width: 100%;
-      background-color: rgba(255, 255, 255, 0.3);
-      padding: 20px;
-      .inputR {
-        display: flex;
-        margin-bottom: 20px;
-        position: relative;
-        .imgUplod {
-          /deep/.w-e-icon-image {
-            color: #999;
-            display: inline-block;
-            width: 40px;
-            height: 40px;
-            line-height: 40px;
-          }
-          /deep/.el-upload-list {
-            display: none !important;
-          }
-          display: flex;
-          justify-content: center;
-          align-items: center;
-          cursor: pointer;
-          position: absolute;
-          z-index: 9999;
-          top: 61px;
-          right: 1px;
-          width: 40px;
-          height: 40px;
-          &:hover {
-            background-color: #f6f6f6;
-            /deep/.w-e-icon-image {
-              color: black;
-            }
-          }
-        }
-      }
-      .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>

+ 0 - 701
houtai/src/views/forum/look.vue

@@ -1,701 +0,0 @@
-<template>
-  <div class="forum_look">
-    <!-- 回帖按钮 -->
-    <div class="ulTitleBtn" @click="fuTxtShow = true">回 帖</div>
-    <div class="title">
-      <div class="rowBack el-icon-arrow-left" @click='backList' v-show="!fuTxtShow">
-        返回
-      </div>
-      <span>论 坛</span>
-      <!-- <ul>
-        <li
-          :class="{ active: item.type === lookInfo.type }"
-          v-for="item in tab"
-          :key="item.id"
-        >
-          {{ item.name }}
-        </li>
-      </ul>
-      <img
-        src="../../assets/img/back.png"
-        alt=""
-        @click="$emit('cutComFn', {})"
-      /> -->
-    </div>
-    <div class="conten" v-show="!fuTxtShow">
-      <div class="row rowOne">
-        <div class="xian"></div>
-        <!-- 头像 -->
-        <div class="buddha">
-          <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>
-          <div class="inco">
-            <div title="赞" @click="clickLikeOne('upVote', lookInfo.id)">
-              <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)">
-              <img src="../../assets/img/goodNo.png" alt="" />({{
-                lookInfo.unVote ? lookInfo.unVote : 0
-              }})
-            </div> -->
-          </div>
-        </div>
-      </div>
-      <!-- 留言列表为空的时候 -->
-      <div class="rowNull" v-if="dataArr.length === 0">暂无数据</div>
-      <div class="row" v-for="item in dataArr" :key="item.id" v-else>
-        <!-- 头像 -->
-        <div class="buddha">
-          <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>
-          <div class="inco">
-            <div title="赞" @click="clickLike('upVote', item.id)">
-              <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)">
-              <img src="../../assets/img/goodNo.png" alt="" />({{
-                item.unVote ? item.unVote : 0
-              }})
-            </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" v-show="fuTxtShow">
-      <!-- 后面加的关闭 -->
-      <div class="rickTextBack el-icon-arrow-left" @click="fuTxtShow = false">
-        返回
-        <div></div>
-      </div>
-      <div class="rickText">
-        <div class="inputR">
-          <!-- 上传图片 -->
-          <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>
-        </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="name2"
-            maxlength="8"
-            show-word-limit
-          >
-          </el-input>
-          <el-button type="primary" style="width: 120px" @click="reply"
-            >提 交</el-button
-          >
-        </div>
-
-      </div>
-    </div>
-  </div>
-</template>
-
-<script>
-import axios from '@/utils/request'
-import { webBbsMesList, webBbsSave, webBbsLike } from '@/apis/tab8'
-import E from 'wangeditor'
-export default {
-  name: 'forum_look',
-  components: {},
-  props: {
-    lookInfo: {
-      type: Object,
-      default: () => {}
-    }
-  },
-  data () {
-    // 这里存放数据
-    return {
-      // 选择匿名
-      nameShow: true,
-      // 控制富文本显示和隐藏
-      fuTxtShow: false,
-      // 点赞-帖子的开关
-      likeFlagOne: [],
-      // unLikeFlagOne: [],
-      // 点赞-评论的开关
-      likeFlag: [],
-      // unLikeFlag: [],
-      baseURL: '',
-      // 评论列表数据
-      total: 0,
-      dataArr: [],
-      tab: [
-        { id: 1, name: '数字史馆', type: 'scene' },
-        { id: 2, name: '美丽校园', type: 'school' },
-        { id: 3, name: '文物典藏', type: 'goods' }
-      ],
-      formData: {
-        parentId: null,
-        pageNum: 1,
-        pageSize: 10
-      },
-      name2: ''
-    }
-  },
-  // 监听属性 类似于data概念
-  computed: {},
-  // 监控data中的数据变化
-  watch: {},
-  // 方法集合
-  methods: {
-    // 点击返回
-    backList () {
-      this.fuTxtShow = false
-      this.$emit('cutComFn', {})
-    },
-    // 点赞-帖子
-    async clickLikeOne (type, id) {
-      if (!this.likeFlagOne.includes(id)) {
-        const res = await webBbsLike(type, id)
-        if (res.code === 0) {
-          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 clickLike (type, id) {
-      if (!this.likeFlag.includes(id)) {
-        const res = await webBbsLike(type, id)
-        if (res.code === 0) {
-          this.$message.success('点赞成功.')
-          this.likeFlag.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() === '' && this.nameShow) {
-        return this.$message.warning('名字不能为空!')
-      }
-      if (this.editor.txt.html() === '') {
-        return this.$message.warning('内容不能为空')
-      }
-      const res = await webBbsSave({
-        bbsType: 'reply',
-        parentId: this.formData.parentId,
-        content: this.editor.txt.html(),
-        creatorName: this.name2,
-        type: this.lookInfo.type,
-        title: this.lookInfo.title
-      })
-      if (res.code === 0) {
-        this.name2 = ''
-        this.editor.txt.html('')
-        this.$message.success('回帖成功,等待审核.')
-        this.webBbsMesList(this.formData)
-        this.fuTxtShow = false
-      } else this.$message.warning(res.msg)
-    },
-    // 上传图片
-    beforethumbUploadImg (file) {
-      // console.log(998, file)
-      // 限制图片大小和格式
-      const sizeOk = file.size / 1024 / 1024 < 5
-      const typeOk =
-        file.type === 'image/png' ||
-        (file.type === 'image/jpeg' && !file.name.includes('.jfif')) ||
-        file.type === 'image/gif'
-
-      return new Promise((resolve, reject) => {
-        if (!typeOk) {
-          this.$message.error('图片格式有误!')
-          reject(file)
-        } else if (!sizeOk) {
-          this.$message.error('图片大小超过5M!')
-          reject(file)
-        } else if (file.name.length > 32) {
-          this.$message.error('图片名字不能超过32个字!')
-          reject(file)
-        } else {
-          resolve(file)
-        }
-      })
-    },
-    upload_thumb_successImg (data) {
-      this.$message.success('上传成功')
-      this.editor.txt.append(
-        `<img src="${this.baseURL}${data.data.urlPath}"  style="max-width:100%;display: block;margin: 10px auto;"/><p><br/></p>`
-      )
-    },
-    // 分页器方法
-    currentChange (val) {
-      // console.log('当前页改变了', val)
-      this.formData.pageNum = val
-      this.webBbsMesList(this.formData)
-    },
-    sizeChange (val) {
-      // console.log('条数改变了', val)
-      this.formData.pageNum = 1
-      this.formData.pageSize = val
-      this.webBbsMesList(this.formData)
-    },
-    // 封装获取评论列表的方法
-    async webBbsMesList (data) {
-      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实例)
-  created () {
-    // 获取服务器前缀地址
-    this.baseURL = axios.defaults.baseURL
-  },
-  // 生命周期 - 挂载完成(可以访问DOM元素)
-  mounted () {
-    // 初始化富文本
-    // 富文本
-    this.editor = new E('#div1')
-    // 配置字体
-    this.editor.config.fontNames = [
-      '黑体',
-      '仿宋',
-      '楷体',
-      '标楷体',
-      '华文仿宋',
-      '华文楷体',
-      '宋体',
-      '微软雅黑',
-      'Arial',
-      'Tahoma',
-      'Verdana',
-      'Times New Roman'
-    ]
-    this.editor.config.showLinkVideo = false
-    this.editor.create()
-  },
-  beforeCreate () {}, // 生命周期 - 创建之前
-  beforeMount () {}, // 生命周期 - 挂载之前
-  beforeUpdate () {}, // 生命周期 - 更新之前
-  updated () {}, // 生命周期 - 更新之后
-  beforeDestroy () {}, // 生命周期 - 销毁之前
-  destroyed () {}, // 生命周期 - 销毁完成
-  activated () {
-    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>
-::-webkit-scrollbar {
-  /*滚动条整体样式*/
-  width: 3px; /*高宽分别对应横竖滚动条的尺寸*/
-  height: 0px;
-}
-::-webkit-scrollbar-thumb {
-  /*滚动条里面小方块*/
-  border-radius: 10px;
-  box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);
-  background: rgba(185, 46, 46, 0.3);
-}
-::-webkit-scrollbar-track {
-  /*滚动条里面轨道*/
-  // box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);
-  border-radius: 10px;
-  background: #fff9ec;
-}
-.forum_look {
-  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: 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;
-    top: 65px;
-    left: 15px;
-    height: 50px;
-    line-height: 50px;
-    color: #cb444e;
-    cursor: pointer;
-    & > div {
-      background-color: #b92e2e;
-      position: absolute;
-      bottom: 0;
-      left: 10px;
-      width: 1156px;
-      height: 1px;
-    }
-  }
-  .title {
-    color: #fff;
-    display: flex;
-    align-items: center;
-    height: 60px;
-    & > span {
-      font-weight: 700;
-      padding-left: 40px;
-      font-size: 26px;
-    }
-  }
-  .conten {
-    border-radius: 5px 5px 0 0;
-    position: relative;
-    height: 480px;
-    overflow-y: auto;
-    color: #5f5f5f;
-    background-color: rgba(255, 255, 255, 0.3);
-    padding: 10px 50px 20px 30px;
-    .row {
-      padding-top: 10px;
-      position: relative;
-      border-bottom: 1px dashed #d5a6a6;
-      .buddha {
-        margin-left: 30px;
-        text-align: center;
-        position: absolute;
-        width: 130px;
-        height: 50px;
-        overflow: hidden;
-        left: 0px;
-        top: 31px;
-        & > i {
-          width: 50px;
-          height: 50px;
-          line-height: 50px;
-          background-color: #fff;
-          border-radius: 50%;
-          font-size: 30px;
-          color: #e7cfcf;
-        }
-      }
-      & > span {
-        margin-left: 30px;
-        width: 130px;
-        text-align: center;
-        position: absolute;
-        left: 0px;
-        top: 91px;
-      }
-
-      & > h3 {
-        text-align: center;
-      }
-      & > p {
-        width: 80%;
-        margin: 0 0 0 180px;
-        line-height: 26px;
-      }
-      .row_bott {
-        width: 80%;
-        margin: 0 0 0 180px;
-        margin-top: 30px;
-        margin-bottom: 15px;
-        display: flex;
-        justify-content: space-between;
-        & > span {
-          color: #a8a8a8;
-        }
-        .inco {
-          position: absolute;
-          right: 0;
-          bottom: 15px;
-          & > div {
-            cursor: pointer;
-            display: flex;
-            align-items: center;
-          }
-        }
-      }
-    }
-    .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;
-      font-size: 30px;
-      color: #b9412e;
-      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: 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;
-      }
-    }
-     .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;
-      }
-    }
-    .rickText {
-      width: 100%;
-      background-color: rgba(255, 255, 255, 0.3);
-      padding: 20px;
-      .inputR {
-        position: relative;
-        .imgUplod {
-          /deep/.w-e-icon-image {
-            color: #999;
-            display: inline-block;
-            width: 40px;
-            height: 40px;
-            line-height: 40px;
-          }
-          /deep/.el-upload-list {
-            display: none !important;
-          }
-          display: flex;
-          justify-content: center;
-          align-items: center;
-          cursor: pointer;
-          position: absolute;
-          z-index: 9999;
-          top: 1px;
-          right: 1px;
-          width: 40px;
-          height: 40px;
-          &:hover {
-            background-color: #f6f6f6;
-            /deep/.w-e-icon-image {
-              color: black;
-            }
-          }
-        }
-      }
-      .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(231,218,203) !important;
-    // }
-    // /deep/.w-e-text-container {
-    //   background-color: rgba(231,218,203) !important;
-    // }
-  }
-}
-</style>

+ 0 - 63
houtai/src/views/forumM/index.vue

@@ -1,63 +0,0 @@
-<template>
-  <div class="forumM_index">
-      <keep-alive>
-    <component :is='cutCom' @cutComFn='cutComFn' :lookInfo='lookInfo'></component>
-    <!-- <component :is='cutCom' @cutComFn='cutComFn'></component> -->
-  </keep-alive>
-  </div>
-</template>
-
-<script>
-import List from './list.vue'
-import Look from './look.vue'
-export default {
-  name: 'forumM_index',
-  components: { List, Look },
-  data () {
-    // 这里存放数据
-    return {
-      cutCom: 'List',
-      lookInfo: {}
-    }
-  },
-  // 监听属性 类似于data概念
-  computed: {},
-  // 监控data中的数据变化
-  watch: {},
-  // 方法集合
-  methods: {
-    // 从List组件点击文章触发
-    cutComFn (item, flag) {
-      // 改变is的值切换动态组件
-      if (flag) this.cutCom = 'Look'
-      else this.cutCom = 'List'
-      this.lookInfo = item
-    }
-  },
-  // 生命周期 - 创建完成(可以访问当前this实例)
-  created () {},
-  // 生命周期 - 挂载完成(可以访问DOM元素)
-  mounted () {},
-  beforeCreate () {}, // 生命周期 - 创建之前
-  beforeMount () {}, // 生命周期 - 挂载之前
-  beforeUpdate () {}, // 生命周期 - 更新之前
-  updated () {}, // 生命周期 - 更新之后
-  beforeDestroy () {}, // 生命周期 - 销毁之前
-  destroyed () {}, // 生命周期 - 销毁完成
-  activated () {} // 如果页面有keep-alive缓存功能,这个函数会触发
-}
-</script>
-<style lang='less' scoped>
-.forumM_index {
-  background: url("../../assets/imgAdd/mesBac.png");
-  padding: 20px 10px;
-  width: 100vw;
-  height: 100vh;
-  overflow: hidden;
-  /deep/::-webkit-scrollbar {
-    width: 0;
-    height: 0;
-    color: transparent;
-  }
-}
-</style>

+ 0 - 511
houtai/src/views/forumM/list.vue

@@ -1,511 +0,0 @@
-<template>
-  <div class="forumM_list">
-    <h3>论坛</h3>
-    <ul class="topTab">
-      <li
-        :class="{ active: item.id === tabInd }"
-        v-for="item in tab"
-        :key="item.id"
-        @click="cutTab(item)"
-      >
-        {{ item.name }}
-      </li>
-    </ul>
-    <!-- 内容 -->
-
-    <van-list
-      class="conten"
-      v-model="loading"
-      :finished="finished"
-      finished-text="没有更多了"
-      @load="onLoad"
-      :immediate-check="false"
-    >
-      <div
-        class="row"
-        v-for="item in dataArr"
-        :key="item.id"
-        @click="skip(item)"
-      >
-        <div class="row_top">
-          <div class="left">
-            <img src="../../assets/imgAdd/touxiang.png" alt="" />
-            <span>{{ item.creatorName }}</span>
-          </div>
-          <div class="right">{{ item.createTime }}</div>
-        </div>
-        <div class="rowCon">
-          <div class="title">{{ item.title }}</div>
-          <div v-html="item.content" class="txt"></div>
-        </div>
-        <div class="rowFloo">
-          <div class="one">{{ item.reply }}</div>
-          <div
-            class="tow"
-            :class="{ active: item.flag }"
-            @click.stop="likeClick(item)"
-          >
-            {{ item.upVote }}
-          </div>
-        </div>
-      </div>
-    </van-list>
-
-    <!-- 底部的回帖按钮 -->
-    <div class="postMes" @click="postMesShow = true">我 要 发 贴</div>
-
-    <!-- 点击我要发贴出来的发帖页面 -->
-    <div class="postMesShow" v-show="postMesShow">
-      <div class="postMesBack" @click="postMesShow = false">
-        <i class="el-icon-arrow-left"></i>
-        <span>我 要 发 贴</span>
-      </div>
-      <!-- 标题输入框 -->
-      <el-input
-        style="margin: 20px 0 10px"
-        type="text"
-        placeholder="帖子标题字数不能超过30个字。"
-        v-model="title"
-        maxlength="30"
-        show-word-limit
-      >
-      </el-input>
-      <el-select
-        v-model="selectType"
-        placeholder="请选择主题分类"
-        style="width: 100%"
-      >
-        <el-option label="数字史馆" value="scene"></el-option>
-        <el-option label="美丽校园" value="school"></el-option>
-        <el-option label="文物典藏" value="goods"></el-option>
-      </el-select>
-        <!-- 上传图片 -->
-        <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>
-      <!-- 富文本 -->
-      <div id="div1" style="z-index: 1">
-      </div>
-      <!-- 底部姓名和按钮 -->
-      <div class="postMesFloo">
-        <el-input
-          style="margin-right: 20px"
-          type="text"
-          placeholder="请填写您的姓名"
-          v-model="creatorName"
-          maxlength="8"
-          show-word-limit
-        >
-        </el-input>
-        <div class="submit" @click="publish">提 交</div>
-      </div>
-    </div>
-  </div>
-</template>
-
-<script>
-import axios from '@/utils/request'
-import E from 'wangeditor'
-import { webBbsList, webBbsVisit, webBbsLike, webBbsSave } from '@/apis/tab8'
-export default {
-  neme: 'forumM_list',
-  components: {},
-  props: {
-    lookInfo: {
-      type: Object,
-      default: () => {}
-    }
-  },
-  data () {
-    // 这里存放数据
-    return {
-      // 服务器前缀地址
-      baseURL: '',
-
-      // vant下拉刷新的数据----------
-      loading: false,
-      finished: false,
-      // vant下拉刷新的数据----------
-      tabInd: 1,
-      tab: [
-        { id: 1, name: '数字史馆', type: 'scene' },
-        { id: 2, name: '美丽校园', type: 'school' },
-        { id: 3, name: '文物典藏', type: 'goods' }
-      ],
-      dataArr: [],
-      formData: {
-        endTime: '',
-        searchKey: '',
-        startTime: '',
-        status: 2,
-        type: 'scene',
-        pageNum: 1,
-        pageSize: 5,
-        bbsType: 'topic'
-      },
-      selectType: 'scene',
-      title: '',
-      creatorName: '',
-      content: '',
-      // 点赞-帖子的开关
-      likeFlagOne: [],
-      // 控制富文本的显示和隐藏
-      postMesShow: false
-    }
-  },
-  // 监听属性 类似于data概念
-  computed: {},
-  // 监控data中的数据变化
-  watch: {},
-  // 方法集合
-  methods: {
-    // 点击发表文章
-    async publish () {
-      if (this.creatorName.trim() === '') {
-        return this.$message.warning('名字不能为空!')
-      }
-      if (this.title.trim() === '') {
-        return this.$message.warning('标题不能为空!')
-      }
-      if (this.editor.txt.html() === '') {
-        return this.$message.warning('内容不能为空')
-      }
-      const res = await webBbsSave({
-        bbsType: 'topic',
-        content: this.editor.txt.html(),
-        creatorName: this.creatorName,
-        title: this.title,
-        type: this.selectType
-      })
-      if (res.code === 0) {
-        this.title = this.creatorName = ''
-        this.editor.txt.html('')
-        this.$message.success('发帖成功,等待审核.')
-        this.fuTxtShow = false
-      } else this.$message.warning(res.msg)
-    },
-    // 上传图片
-    beforethumbUploadImg (file) {
-      // console.log(998, file)
-      // 限制图片大小和格式
-      const sizeOk = file.size / 1024 / 1024 < 5
-      const typeOk =
-        file.type === 'image/png' ||
-        (file.type === 'image/jpeg' && !file.name.includes('.jfif')) ||
-        file.type === 'image/gif'
-
-      return new Promise((resolve, reject) => {
-        if (!typeOk) {
-          this.$message.error('图片格式有误!')
-          reject(file)
-        } else if (!sizeOk) {
-          this.$message.error('图片大小超过5M!')
-          reject(file)
-        } else if (file.name.length > 32) {
-          this.$message.error('图片名字不能超过32个字!')
-          reject(file)
-        } else {
-          resolve(file)
-        }
-      })
-    },
-    upload_thumb_successImg (data) {
-      this.$message.success('上传成功')
-      this.editor.txt.append(
-        `<img src="${this.baseURL}${data.data.urlPath}"  style="max-width:100%;display: block;margin: 10px auto;"/><p><br/></p>`
-      )
-    },
-    // vant下拉刷新触发的函数
-    onLoad () {
-      this.formData.pageNum++
-      this.webBbsList(this.formData)
-    },
-    // 封装消息提示函数
-    notify (message, type) {
-      this.$notify({
-        message,
-        position: 'bottom-right',
-        type,
-        duration: 1000
-      })
-    },
-    // 点击点赞
-    async likeClick (item) {
-      if (!this.likeFlagOne.includes(item.id)) {
-        const res = await webBbsLike('upVote', item.id)
-        if (res.code === 0) {
-          this.notify('点赞成功', 'success')
-          this.likeFlagOne.push(item.id)
-          item.upVote++
-          item.flag = true
-        } else this.notify(res.msg, 'warning')
-      } else this.notify('您已经赞过了', 'warning')
-    },
-    // 点击通知父组件切换 动态组件is的值,并且把数据传过去
-    async skip (item) {
-      await webBbsVisit(item.id)
-      const temp = document.querySelector('.conten')
-      this.$emit('cutComFn', { ...item, scrollTop: temp.scrollTop }, true)
-    },
-    cutTab (item) {
-      this.dataArr = []
-      this.tabInd = item.id
-      this.formData.type = item.type
-      this.formData.pageNum = 1
-      this.webBbsList(this.formData)
-      this.finished = false
-      // 让下面的下拉框同步
-      this.selectType = item.type
-      // 回到屏幕顶点
-      // const temp = document.querySelector('.conten')
-      // temp.scrollTo({ top: 0 })
-      // console.log('-----------')
-      // window.scrollTo({ top: 0 })
-    },
-    // 封装获取列表的方法
-    async webBbsList (data) {
-      const res = await webBbsList(data)
-      res.data.records.forEach((v) => {
-        this.dataArr.push(v)
-      })
-      this.loading = false
-      if (res.data.records.length < 5 || this.dataArr.length >= res.data.total) this.finished = true
-      this.likeFlagOne.forEach((p) => {
-        this.dataArr.forEach((v) => {
-          if (p === v.id) v.flag = true
-        })
-      })
-    }
-  },
-  // 生命周期 - 创建完成(可以访问当前this实例)
-  created () {
-    // 获取服务器前缀地址
-    this.baseURL = axios.defaults.baseURL
-    // 调用获取列表方法
-    this.webBbsList(this.formData)
-  },
-  // 生命周期 - 挂载完成(可以访问DOM元素)
-  mounted () {
-    // 初始化富文本
-    // 富文本
-    this.editor = new E('#div1')
-    // 配置字体
-    this.editor.config.fontNames = [
-      '黑体',
-      '仿宋',
-      '楷体',
-      '标楷体',
-      '华文仿宋',
-      '华文楷体',
-      '宋体',
-      '微软雅黑',
-      'Arial',
-      'Tahoma',
-      'Verdana',
-      'Times New Roman'
-    ]
-    this.editor.config.showLinkVideo = false
-    this.editor.create()
-  },
-  beforeCreate () {}, // 生命周期 - 创建之前
-  beforeMount () {}, // 生命周期 - 挂载之前
-  beforeUpdate () {}, // 生命周期 - 更新之前
-  updated () {}, // 生命周期 - 更新之后
-  beforeDestroy () {}, // 生命周期 - 销毁之前
-  destroyed () {}, // 生命周期 - 销毁完成
-  activated () {
-    if (this.lookInfo.scrollTop) {
-      const temp = document.querySelector('.conten')
-      temp.scrollTo({ top: this.lookInfo.scrollTop })
-    }
-  } // 如果页面有keep-alive缓存功能,这个函数会触发
-}
-</script>
-<style lang='less' scoped>
-.forumM_list {
-  width: 100%;
-  height: 100%;
-  & > h3 {
-    font-size: 20px;
-    margin-left: 10px;
-  }
-  .topTab {
-    margin: 10px;
-    display: flex;
-    & > li {
-      margin-right: 15px;
-      height: 26px;
-      line-height: 26px;
-      width: 100px;
-      color: #a19d97;
-      text-align: center;
-    }
-    .active {
-      border-radius: 13px;
-      background-color: #b92e2e;
-      color: #fff;
-    }
-  }
-  .conten {
-    width: 100%;
-    height: calc(100vh - 162px);
-    overflow-y: auto;
-    .row {
-      margin-bottom: 10px;
-      padding: 8px;
-      padding-bottom: 0;
-      background-color: rgba(255, 255, 255, 0.3);
-      .row_top {
-        display: flex;
-        justify-content: space-between;
-        .left {
-          & > img {
-            margin-right: 10px;
-            width: 36px;
-            height: 36px;
-          }
-          & > span {
-            font-size: 14px;
-            vertical-align: top;
-          }
-        }
-        .right {
-          font-size: 12px;
-          color: #a19d97;
-        }
-      }
-      .rowCon {
-        .title {
-          font-weight: 700;
-          margin: 10px 0;
-        }
-        .txt {
-          font-size: 14px;
-          padding-bottom: 10px;
-          border-bottom: 1px solid #c0b19c;
-        }
-      }
-      .rowFloo {
-        padding: 0 10px;
-        display: flex;
-        justify-content: space-between;
-        & > div {
-          padding-left: 30px;
-          height: 40px;
-          line-height: 40px;
-        }
-        .one {
-          background: url("../../assets/imgAdd/comment.png") no-repeat left
-            center;
-        }
-        .tow {
-          background: url("../../assets/imgAdd/like.png") no-repeat left center;
-        }
-        .active {
-          background: url("../../assets/imgAdd/likeAc.png") no-repeat left
-            center;
-        }
-      }
-    }
-  }
-  .postMes {
-    margin-top: 10px;
-    background-color: #b92e2e;
-    text-align: center;
-    width: 100%;
-    height: 50px;
-    line-height: 50px;
-    color: #fff;
-  }
-  .postMesShow {
-    padding: 20px;
-    background: url("../../assets/imgAdd/mesBac.png") #f3e9d9;
-    z-index: 999;
-    position: absolute;
-    top: 0;
-    left: 0;
-    width: 100vw;
-    height: 100vh;
-    .postMesBack {
-      display: flex;
-      align-items: center;
-      font-size: 30px;
-      font-weight: 700;
-      & > span {
-        font-size: 20px;
-      }
-    }
-    /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;
-    // }
-    /deep/.w-e-toolbar .w-e-menu {
-      display: none !important;
-    }
-    /deep/.w-e-toolbar .w-e-menu:nth-of-type(17) {
-      display: flex !important;
-    }
-
-      .imgUplod {
-        /deep/.w-e-icon-image {
-          color: #999;
-          display: inline-block;
-          width: 40px;
-          height: 40px;
-          line-height: 40px;
-        }
-        /deep/.el-upload-list {
-          display: none !important;
-        }
-        display: flex;
-        justify-content: center;
-        align-items: center;
-        cursor: pointer;
-        position: absolute;
-        z-index: 9999;
-        top: 170px;
-        left: 70px;
-        width: 40px;
-        height: 40px;
-      }
-    #div1 {
-      height: calc(100vh - 240px);
-      margin-top: 10px;
-      /deep/.w-e-text-container{
-        height: calc(100% - 45px) !important;
-      }
-    }
-    .postMesFloo {
-      margin-top: 10px;
-      display: flex;
-      justify-content: space-between;
-      .submit {
-        margin-top: 2px;
-        width: 60px;
-        height: 36px;
-        line-height: 36px;
-        text-align: center;
-        color: #fff;
-        background-color: #b92e2e;
-        border-radius: 5px;
-      }
-    }
-  }
-}
-</style>

+ 0 - 465
houtai/src/views/forumM/look.vue

@@ -1,465 +0,0 @@
-<template>
-  <div class="forumM_look">
-    <!-- 返回按钮和标题 -->
-    <div class="postMesBackTop" @click="$emit('cutComFn', lookInfo, false)">
-      <i class="el-icon-arrow-left"></i>
-      <span>{{ lookInfo.title }}</span>
-    </div>
-    <!-- 内容 -->
-    <!-- 没有数据的时候 -->
-    <div class="conten null" :class="{offsetHeight:offsetHeight}" v-if="dataArr.length === 0">暂无回帖</div>
-    <van-list
-      v-else
-      :class="{offsetHeight:offsetHeight}"
-      class="conten"
-      v-model="loading"
-      :finished="finished"
-      finished-text="没有更多了"
-      @load="onLoad"
-      :immediate-check="false"
-    >
-      <div class="row" v-for="item in dataArr" :key="item.id">
-        <div class="row_top">
-          <div class="left">
-            <img src="../../assets/imgAdd/touxiang.png" alt="" />
-            <div>
-              <p>{{ item.creatorName }}</p>
-              <p class="right">{{ item.createTime }}</p>
-            </div>
-          </div>
-          <div class="rowFloo" @click="clickLike(item)">
-            <div class="tow" :class="{ active: item.flag }">
-              {{ item.upVote }}
-            </div>
-          </div>
-        </div>
-        <div class="rowCon">
-          <div class="title">{{ item.title }}</div>
-          <div v-html="item.content" class="txt"></div>
-        </div>
-      </div>
-    </van-list>
-
-    <!-- 底部的回帖按钮 -->
-    <div class="postMes" @click="postMesShow = true">我 要 回 贴</div>
-
-    <!-- 点击我要发贴出来的发帖页面 -->
-    <div class="postMesShow" v-show="postMesShow">
-      <div class="postMesBack" @click="postMesShow = false">
-        <i class="el-icon-arrow-left"></i>
-        <span>我 要 回 贴</span>
-      </div>
-      <!-- 上传图片 -->
-      <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>
-      <!-- 富文本 -->
-      <div id="div2" style="z-index: 1"></div>
-      <!-- 底部姓名和按钮 -->
-      <div class="postMesFloo">
-        <el-input
-          style="margin-right: 20px"
-          type="text"
-          placeholder="请填写您的姓名"
-          v-model="name2"
-          maxlength="8"
-          show-word-limit
-        >
-        </el-input>
-        <div class="submit" @click="publish">提 交</div>
-      </div>
-    </div>
-  </div>
-</template>
-
-<script>
-import axios from '@/utils/request'
-import E from 'wangeditor'
-import { webBbsMesList, webBbsLike, webBbsSave } from '@/apis/tab8'
-export default {
-  name: 'forumM_look',
-  // import引入的组件需要注入到对象中才能使用
-  components: {},
-  props: {
-    lookInfo: {
-      type: Object,
-      default: () => {}
-    }
-  },
-  data () {
-    // 这里存放数据
-    return {
-      // 头部高度的变化
-      offsetHeight: false,
-      // 控制富文本的显示和隐藏
-      postMesShow: false,
-      name2: '',
-      content: '',
-      // 服务器前缀地址
-      baseURL: '',
-      // 点赞-帖子的开关
-      likeFlag: [],
-
-      formData: {
-        parentId: null,
-        pageNum: 1,
-        pageSize: 5
-      },
-      // vant下拉刷新的数据----------
-      loading: false,
-      finished: false,
-      // vant下拉刷新的数据----------
-      dataArr: []
-    }
-  },
-  // 监听属性 类似于data概念
-  computed: {},
-  // 监控data中的数据变化
-  watch: {},
-  // 方法集合
-  methods: {
-    // 点击发表文章
-    async publish () {
-      if (this.name2.trim() === '') {
-        return this.$message.warning('名字不能为空!')
-      }
-      if (this.editor.txt.html() === '') {
-        return this.$message.warning('内容不能为空')
-      }
-      const res = await webBbsSave({
-        bbsType: 'reply',
-        parentId: this.formData.parentId,
-        content: this.editor.txt.html(),
-        creatorName: this.name2,
-        type: this.lookInfo.type,
-        title: this.lookInfo.title
-      })
-      if (res.code === 0) {
-        this.name2 = ''
-        this.editor.txt.html('')
-        this.$message.success('回帖成功,等待审核.')
-        this.webBbsMesList(this.formData)
-        this.fuTxtShow = false
-      } else this.$message.warning(res.msg)
-    },
-    // 上传图片
-    beforethumbUploadImg (file) {
-      // console.log(998, file)
-      // 限制图片大小和格式
-      const sizeOk = file.size / 1024 / 1024 < 5
-      const typeOk =
-        file.type === 'image/png' ||
-        (file.type === 'image/jpeg' && !file.name.includes('.jfif')) ||
-        file.type === 'image/gif'
-
-      return new Promise((resolve, reject) => {
-        if (!typeOk) {
-          this.$message.error('图片格式有误!')
-          reject(file)
-        } else if (!sizeOk) {
-          this.$message.error('图片大小超过5M!')
-          reject(file)
-        } else if (file.name.length > 32) {
-          this.$message.error('图片名字不能超过32个字!')
-          reject(file)
-        } else {
-          resolve(file)
-        }
-      })
-    },
-    upload_thumb_successImg (data) {
-      this.$message.success('上传成功')
-      this.editor.txt.append(
-        `<img src="${this.baseURL}${data.data.urlPath}"  style="max-width:100%;display: block;margin: 10px auto;"/><p><br/></p>`
-      )
-    },
-
-    // 封装消息提示函数
-    notify (message, type) {
-      this.$notify({
-        message,
-        position: 'bottom-right',
-        type,
-        duration: 1000
-      })
-    },
-    // 点击点赞
-    async clickLike (item) {
-      console.log('--------')
-      if (!this.likeFlag.includes(item.id)) {
-        const res = await webBbsLike('upVote', item.id)
-        if (res.code === 0) {
-          this.notify('点赞成功', 'success')
-          this.likeFlag.push(item.id)
-          item.upVote++
-          item.flag = true
-        } else this.notify(res.msg, 'warning')
-      } else this.notify('您已经赞过了', 'warning')
-    },
-    onLoad () {
-      this.formData.pageNum++
-      this.webBbsMesList(this.formData)
-    },
-    // 封装获取评论列表的方法
-    async webBbsMesList (data) {
-      const res = await webBbsMesList(data)
-      res.data.records.forEach((v) => {
-        this.dataArr.push(v)
-      })
-      this.loading = false
-      if (
-        res.data.records.length < 5 ||
-        this.dataArr.length >= res.data.total
-      ) {
-        this.finished = true
-      }
-      // 点赞高亮的判断
-      this.dataArr.forEach((v) => {
-        this.likeFlag.forEach((p) => {
-          if (p === v.id) v.flag = true
-        })
-      })
-    }
-  },
-  // 生命周期 - 创建完成(可以访问当前this实例)
-  created () {
-    // 获取服务器前缀地址
-    this.baseURL = axios.defaults.baseURL
-  },
-  // 生命周期 - 挂载完成(可以访问DOM元素)
-  mounted () {
-    // 初始化富文本
-    // 富文本
-    this.editor = new E('#div2')
-    // 配置字体
-    this.editor.config.fontNames = [
-      '黑体',
-      '仿宋',
-      '楷体',
-      '标楷体',
-      '华文仿宋',
-      '华文楷体',
-      '宋体',
-      '微软雅黑',
-      'Arial',
-      'Tahoma',
-      'Verdana',
-      'Times New Roman'
-    ]
-    this.editor.config.showLinkVideo = false
-    this.editor.create()
-  },
-  beforeCreate () {}, // 生命周期 - 创建之前
-  beforeMount () {}, // 生命周期 - 挂载之前
-  beforeUpdate () {}, // 生命周期 - 更新之前
-  updated () {}, // 生命周期 - 更新之后
-  beforeDestroy () {}, // 生命周期 - 销毁之前
-  destroyed () {}, // 生命周期 - 销毁完成
-  activated () {
-    this.dataArr = []
-    this.finished = false
-    this.formData.pageNum = 1
-    this.formData.parentId = this.lookInfo.id
-    this.webBbsMesList(this.formData)
-    // 获取头部的高度
-    const temp = document.querySelector('.postMesBackTop')
-    if (temp.offsetHeight > 40) this.offsetHeight = true
-    else this.offsetHeight = false
-  } // 如果页面有keep-alive缓存功能,这个函数会触发
-}
-</script>
-<style lang='less' scoped>
-.forumM_look {
-  width: 100%;
-  height: 100%;
-  .postMesBackTop {
-    margin-bottom: 20px;
-    padding-right: 80px;
-    display: flex;
-    align-items: center;
-    font-size: 30px;
-    font-weight: 700;
-    & > span {
-      font-size: 20px;
-      display: -webkit-box;
-      overflow: hidden;
-      white-space: normal !important;
-      text-overflow: ellipsis;
-      word-wrap: break-word;
-      -webkit-line-clamp: 2;
-      -webkit-box-orient: vertical;
-    }
-  }
-  .conten {
-    width: 100%;
-    height: calc(100vh - 140px);
-    overflow-y: auto;
-    .row {
-      margin-bottom: 10px;
-      padding: 8px;
-      padding-bottom: 0;
-      border-bottom: 1px dashed #fff;
-      .row_top {
-        display: flex;
-        justify-content: space-between;
-        .left {
-          max-width: 200px;
-          display: flex;
-          & > img {
-            margin-right: 10px;
-            width: 36px;
-            height: 36px;
-          }
-          & > div {
-            & > p {
-              font-size: 14px;
-              vertical-align: top;
-            }
-            .right {
-              margin-top: 5px;
-              font-size: 12px;
-              color: #a19d97;
-            }
-          }
-        }
-        .rowFloo {
-          padding: 0 10px;
-          display: flex;
-          justify-content: space-between;
-          & > div {
-            padding-left: 30px;
-            height: 40px;
-            line-height: 40px;
-          }
-          .tow {
-            background: url("../../assets/imgAdd/like.png") no-repeat left
-              center;
-          }
-          .active {
-            background: url("../../assets/imgAdd/likeAc.png") no-repeat left
-              center;
-          }
-        }
-      }
-      .rowCon {
-        .title {
-          font-weight: 700;
-          margin: 10px 0;
-        }
-        .txt {
-          font-size: 14px;
-          padding-bottom: 10px;
-        }
-      }
-    }
-  }
-  .null {
-    display: flex;
-    justify-content: center;
-    align-items: center;
-    font-size: 30px;
-  }
-  .offsetHeight{
-    height: calc(100vh - 162px);
-  }
-  .postMes {
-    margin-top: 10px;
-    background-color: #b92e2e;
-    text-align: center;
-    width: 100%;
-    height: 50px;
-    line-height: 50px;
-    color: #fff;
-  }
-  .postMesShow {
-    padding: 20px;
-    background: url("../../assets/imgAdd/mesBac.png") #f3e9d9;
-    z-index: 999;
-    position: absolute;
-    top: 0;
-    left: 0;
-    width: 100vw;
-    height: 100vh;
-    .postMesBack {
-      display: flex;
-      align-items: center;
-      font-size: 30px;
-      font-weight: 700;
-      & > span {
-        font-size: 20px;
-      }
-    }
-    /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;
-    // }
-    /deep/.w-e-toolbar .w-e-menu {
-      display: none !important;
-    }
-    /deep/.w-e-toolbar .w-e-menu:nth-of-type(17) {
-      display: flex !important;
-    }
-
-    .imgUplod {
-      /deep/.w-e-icon-image {
-        color: #999;
-        display: inline-block;
-        width: 40px;
-        height: 40px;
-        line-height: 40px;
-      }
-      /deep/.el-upload-list {
-        display: none !important;
-      }
-      display: flex;
-      justify-content: center;
-      align-items: center;
-      cursor: pointer;
-      position: absolute;
-      z-index: 9999;
-      top: 60px;
-      left: 70px;
-      width: 40px;
-      height: 40px;
-    }
-    #div2 {
-      height: calc(100vh - 124px);
-      margin-top: 10px;
-      /deep/.w-e-text-container {
-        height: calc(100% - 45px) !important;
-      }
-    }
-    .postMesFloo {
-      margin-top: 10px;
-      display: flex;
-      justify-content: space-between;
-      .submit {
-        margin-top: 2px;
-        width: 60px;
-        height: 36px;
-        line-height: 36px;
-        text-align: center;
-        color: #fff;
-        background-color: #b92e2e;
-        border-radius: 5px;
-      }
-    }
-  }
-}
-</style>

+ 3 - 5
houtai/src/views/layout/index.vue

@@ -127,12 +127,10 @@ export default {
       cut: false,
       isShow: false,
       tab1: [
+        { name: '史馆场景管理', id: 4, url: '/layout/tab4' },
         { name: '文物典藏管理', id: 1, url: '/layout/tab1' },
-        { name: '学院领导管理', id: 2, url: '/layout/tab2' },
-        { name: '学籍管理', id: 3, url: '/layout/tab3' },
-        { name: '学院宣传片管理', id: 4, url: '/layout/tab4' },
-        { name: '校园图片管理', id: 5, url: '/layout/tab5' },
-        { name: '校歌管理', id: 6, url: '/layout/tab6' }
+        { name: '教育基地管理', id: 3, url: '/layout/tab3' },
+        { name: '荣誉榜管理', id: 2, url: '/layout/tab2' }
       ],
       tab2: [{ name: '操作日志', id: 9, url: '/layout/tab9' }],
       tab3: [

+ 8 - 4
houtai/src/views/login.vue

@@ -3,17 +3,18 @@
 <div class='login'>
   <div class="top">
     <img src="../assets/img/logo.png" alt="">
-    <p>中国人民解放军陆军勤务学院</p>
+    <p>北京武警执勤第七支队</p>
   </div>
   <div class="con">
     <div class="left">
-      <p>中国人民解放军陆军勤务学院</p>
+      <p>北京武警执勤第七支队</p>
+      <p>数字史馆</p>
       <p>管理后台</p>
     </div>
     <div class="right">
       <p>欢迎登录</p>
       <div class="row">
-        <el-input v-model="from.userName" placeholder="账号"></el-input>
+        <el-input v-model="from.userName" placeholder="身份码"></el-input>
       </div>
       <div class="row">
         <el-input v-model="from.passWord" placeholder="密码" show-password></el-input>
@@ -114,13 +115,16 @@ export default {
       height: 100%;
       background-color: #b9412e;
       &>p{
-        width: 80%;
+        width: 90%;
         margin: 0 auto;
         margin-bottom: 30px;
         color: #fff;
         font-weight: 700;
         text-align: center;
         font-size: 30px;
+        &:nth-of-type(1){
+          margin-bottom: 0;
+        }
       }
     }
     .right{

+ 0 - 320
houtai/src/views/message/index.vue

@@ -1,320 +0,0 @@
-<template>
-  <div class="message">
-    <div class="conten">
-      <h2 class="title">留 言 板</h2>
-      <ul class="liuyan" v-if="data.length > 0">
-        <li v-for="item in data" :key="item.id">
-          <div class="name">{{ item.creatorName }}</div>
-          <div class="con">{{ item.content }}</div>
-          <div class="time">{{ item.createTime }}</div>
-        </li>
-      </ul>
-      <!-- 没有数据的时候提示 -->
-      <div class="liuyan noneTxt" v-else>暂无数据</div>
-      <!-- 分页器 -->
-      <div class="pagination">
-        <el-pagination
-          layout="prev, pager, next"
-          :total="total"
-          @current-change="currentChange"
-        >
-        </el-pagination>
-      </div>
-      <!-- 文本域和按钮 -->
-      <div class="bottmInp">
-        <div class="texe">
-          <el-input
-            maxlength="100"
-            show-word-limit
-            resize="none"
-            type="textarea"
-            :rows="3"
-            placeholder="欢迎提交您的珍贵留言,100字以内~"
-            v-model="textarea"
-          >
-          </el-input>
-        </div>
-        <div class="button">
-          <div class="button_left">
-            <div class="biaoji"></div>
-            <el-input
-              style="width: 270px"
-              type="text"
-              placeholder="请填写您的姓名"
-              v-model="name"
-              maxlength="8"
-              show-word-limit
-            >
-            </el-input>
-          </div>
-          <el-button
-            style="width: 120px; color: #d7b07e"
-            type="primary"
-            @click="commentSave"
-            >提 交</el-button
-          >
-        </div>
-      </div>
-    </div>
-    <ul>
-      <li>
-        <span></span>
-      </li>
-    </ul>
-  </div>
-</template>
-
-<script>
-import { commentSave, commentWebList } from '@/apis/tab7'
-export default {
-  name: 'message',
-  components: {},
-  data () {
-    // 这里存放数据
-    return {
-      textarea: '',
-      name: '',
-      data: [],
-      total: 0,
-      formData: {
-        startTime: '',
-        endTime: '',
-        pageNum: 1,
-        pageSize: 10,
-        searchKey: '',
-        status: 2
-      }
-    }
-  },
-  // 监听属性 类似于data概念
-  computed: {},
-  // 监控data中的数据变化
-  watch: {},
-  // 方法集合
-  methods: {
-    // 分页器方法
-    currentChange (val) {
-      // console.log('当前页改变了', val)
-      this.formData.pageNum = val
-      this.commentWebList(this.formData)
-    },
-    // 点击提交留言
-    async commentSave () {
-      if (this.textarea.trim() === '') { return this.$message.warning('内容不能为空!') }
-      if (this.name.trim() === '') { return this.$message.warning('名字不能为空!') }
-      const res = await commentSave({
-        content: this.textarea,
-        creatorName: this.name
-      })
-      if (res.code === 0) {
-        this.textarea = this.name = ''
-        this.$message.success('提交成功,等待审核.')
-      } else this.$message.warning(res.msg)
-    },
-    // 封装获取列表的方法
-    async commentWebList (data) {
-      const res = await commentWebList(data)
-      this.total = res.data.total
-      res.data.records.forEach((v) => {
-        v.createTime = v.createTime.substring(0, v.createTime.length - 3)
-      })
-      this.data = res.data.records
-    }
-  },
-  // 生命周期 - 创建完成(可以访问当前this实例)
-  created () {
-    this.commentWebList(this.formData)
-  },
-  // 生命周期 - 挂载完成(可以访问DOM元素)
-  mounted () {},
-  beforeCreate () {}, // 生命周期 - 创建之前
-  beforeMount () {}, // 生命周期 - 挂载之前
-  beforeUpdate () {}, // 生命周期 - 更新之前
-  updated () {}, // 生命周期 - 更新之后
-  beforeDestroy () {}, // 生命周期 - 销毁之前
-  destroyed () {}, // 生命周期 - 销毁完成
-  activated () {} // 如果页面有keep-alive缓存功能,这个函数会触发
-}
-</script>
-<style lang='less' scoped>
-/deep/.el-input__inner::-webkit-input-placeholder {
-  color: #878787 !important;
-}
-/deep/.el-input__inner:-moz-placeholder {
-  color: #878787 !important;
-}
-/deep/.el-input__inner::-moz-placeholder {
-  color: #878787 !important;
-}
-/deep/.el-input__inner:-ms-input-placeholder {
-  /* Internet Explorer 10+ */
-  color: #878787 !important;
-}
-/deep/.el-textarea__inner::-webkit-input-placeholder {
-  color: #878787 !important;
-}
-/deep/.el-textarea__inner:-moz-placeholder {
-  color: #878787 !important;
-}
-/deep/.el-textarea__inner::-moz-placeholder {
-  color: #878787 !important;
-}
-/deep/.el-textarea__inner:-ms-input-placeholder {
-  /* Internet Explorer 10+ */
-  color: #878787 !important;
-}
-.message {
-  position: relative;
-  margin: 0 auto;
-  width: 1000px;
-  height: 100vh;
-  min-height: 650px;
-  .conten {
-    background: url("../../assets/img/mesBac.png");
-    background-size: 100% 100%;
-    border-top: 8px solid #be1220;
-    border-bottom: 8px solid #be1220;
-    /deep/.el-button--primary {
-      background-color: #b92e2e;
-      width: 100%;
-      height: 40px;
-    }
-    /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;
-    }
-
-    position: absolute;
-    top: 50%;
-    left: 0;
-    transform: translateY(-50%);
-    width: 100%;
-    height: 650px;
-    background-color: #fff;
-    padding: 20px;
-    .title {
-      padding-left: 20px;
-      color: #fff;
-    }
-    .liuyan::-webkit-scrollbar {
-      /*滚动条整体样式*/
-      width: 3px; /*高宽分别对应横竖滚动条的尺寸*/
-      height: 1px;
-    }
-    .liuyan::-webkit-scrollbar-thumb {
-      /*滚动条里面小方块*/
-      border-radius: 10px;
-      box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);
-      background: rgba(185, 46, 46, 0.3);
-    }
-    .liuyan::-webkit-scrollbar-track {
-      /*滚动条里面轨道*/
-      // box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);
-      border-radius: 10px;
-      background: transparent;
-    }
-    .liuyan {
-      background-color: rgba(255, 255, 255, 0.3);
-      padding-right: 20px;
-      margin: 20px 20px 0;
-      padding: 15px;
-      height: 320px;
-      overflow-y: auto;
-      li {
-        border-bottom: 1px dashed #b92e2e;
-        color: #878787;
-        font-size: 16px;
-        display: flex;
-        & > div {
-          padding: 12px 0;
-        }
-        .name {
-          width: 140px;
-        }
-        .con {
-          flex: 1;
-          margin-right: 20px;
-        }
-        .time {
-          width: 140px;
-        }
-      }
-    }
-    .noneTxt {
-      display: flex;
-      justify-content: center;
-      align-items: center;
-      font-size: 26px;
-    }
-    .pagination {
-      padding: 20px;
-      margin: 0 auto;
-      width: 920px;
-      display: flex;
-      justify-content: center;
-      align-items: center;
-      background-color: rgba(255, 255, 255, 0.3);
-    }
-    .bottmInp {
-      /deep/.el-textarea__inner:focus {
-        border-color: #b9412e;
-      }
-      /deep/.el-textarea__inner {
-        background-color: rgba(255, 255, 255, 0.3);
-      }
-      /deep/.el-input__inner {
-        background-color: rgba(255, 255, 255, 0.3);
-      }
-      /deep/.el-textarea .el-input__count {
-        background-color: transparent;
-        color: #878787;
-      }
-      /deep/.el-input__count-inner {
-        background-color: transparent;
-        color: #878787;
-      }
-      margin-top: 15px;
-      width: 100%;
-      padding: 0 20px;
-    }
-    .button {
-      margin-top: 15px;
-      display: flex;
-      justify-content: space-between;
-      .button_left {
-        width: 300px;
-        display: flex;
-        align-items: center;
-        .biaoji {
-          position: relative;
-          margin-right: 10px;
-          width: 20px;
-          height: 20px;
-          border-radius: 50%;
-          border: 1px solid #b9412e;
-          &::after {
-            content: "";
-            position: absolute;
-            top: 50%;
-            left: 50%;
-            transform: translate(-50%, -50%);
-            width: 15px;
-            height: 15px;
-            border-radius: 50%;
-            background-color: #b9412e;
-          }
-        }
-      }
-    }
-  }
-}
-</style>

+ 0 - 232
houtai/src/views/messageM/index.vue

@@ -1,232 +0,0 @@
-<!--  -->
-<template>
-  <div class="messageM">
-    <div class="top">
-      <h3>留言板</h3>
-      <p>已有 {{ total }} 条留言</p>
-    </div>
-    <!-- 内容 -->
-    <van-list
-      class="conten"
-      v-model="loading"
-      :finished="finished"
-      finished-text="没有更多了"
-      @load="onLoad"
-      :immediate-check="false"
-    >
-      <div class="row" v-for="item in data" :key="item.id">
-        <div class="left">
-          <img src="../../assets/imgAdd/touxiang.png" alt="" />
-        </div>
-        <div class="right">
-          <p>
-            {{ item.creatorName }} <span>{{ item.createTime }}</span>
-          </p>
-          <div class="txt">{{ item.content }}</div>
-        </div>
-      </div>
-    </van-list>
-    <!-- 文本域和按钮 -->
-    <div class="bottmInp">
-      <div class="texe">
-        <el-input
-          maxlength="100"
-          show-word-limit
-          resize="none"
-          type="textarea"
-          :rows="3"
-          placeholder="请输入留言..."
-          v-model="textarea"
-        >
-        </el-input>
-      </div>
-      <div class="button">
-        <div class="button_left">
-          <el-input
-            type="text"
-            placeholder="请填写您的姓名"
-            v-model="name"
-            maxlength="8"
-            show-word-limit
-          >
-          </el-input>
-        </div>
-        <div class="button_right">
-        <el-button
-          type="primary"
-          @click="commentSave"
-          >提 交</el-button
-        >
-        </div>
-      </div>
-    </div>
-  </div>
-</template>
-
-<script>
-import { commentSave, commentWebList } from '@/apis/tab7'
-export default {
-  name: 'messageM',
-  components: {},
-  data () {
-    // 这里存放数据
-    return {
-      // vant下拉刷新的数据----------
-      loading: false,
-      finished: false,
-      // vant下拉刷新的数据----------
-
-      textarea: '',
-      name: '',
-      data: [],
-      total: 0,
-      formData: {
-        startTime: '',
-        endTime: '',
-        pageNum: 1,
-        pageSize: 10,
-        searchKey: '',
-        status: 2
-      }
-    }
-  },
-  // 监听属性 类似于data概念
-  computed: {},
-  // 监控data中的数据变化
-  watch: {},
-  // 方法集合
-  methods: {
-    // vant下拉刷新触发的函数
-    onLoad () {
-      this.formData.pageNum++
-      this.commentWebList(this.formData)
-    },
-    // 点击提交留言
-    async  commentSave () {
-      if (this.textarea.trim() === '') return this.$message.warning('内容不能为空!')
-      if (this.name.trim() === '') return this.$message.warning('名字不能为空!')
-      const res = await commentSave({ content: this.textarea, creatorName: this.name })
-      if (res.code === 0) {
-        this.textarea = this.name = ''
-        this.$message.success('提交成功,等待审核.')
-      } else this.$message.warning(res.msg)
-    },
-    // 封装获取列表的方法
-    async commentWebList (data) {
-      const res = await commentWebList(data)
-      this.total = res.data.total
-      res.data.records.forEach(v => {
-        this.data.push(v)
-      })
-      this.loading = false
-      if (res.data.records.length < 10) this.finished = true
-    }
-  },
-  // 生命周期 - 创建完成(可以访问当前this实例)
-  created () {
-    this.commentWebList(this.formData)
-  },
-  // 生命周期 - 挂载完成(可以访问DOM元素)
-  mounted () {},
-  beforeCreate () {}, // 生命周期 - 创建之前
-  beforeMount () {}, // 生命周期 - 挂载之前
-  beforeUpdate () {}, // 生命周期 - 更新之前
-  updated () {}, // 生命周期 - 更新之后
-  beforeDestroy () {}, // 生命周期 - 销毁之前
-  destroyed () {}, // 生命周期 - 销毁完成
-  activated () {} // 如果页面有keep-alive缓存功能,这个函数会触发
-}
-</script>
-<style lang='less' scoped>
-.messageM {
-  background: url("../../assets/imgAdd/mesBac.png");
-  padding: 24px;
-  width: 100vw;
-  height: 100vh;
-  overflow: hidden;
-  /deep/::-webkit-scrollbar {
-    width: 0;
-    height: 0;
-    color: transparent;
-  }
-  .top {
-    & > h3 {
-      font-size: 20px;
-    }
-    & > p {
-      margin-top: 5px;
-      font-size: 12px;
-      color: #a19d97;
-    }
-  }
-  .conten {
-    height: calc(100vh - 230px);
-    overflow-y: auto;
-    .row {
-      border-bottom: 2px dashed #fff;
-      padding: 15px 0;
-      display: flex;
-      .left {
-        width: 46px;
-        height: 46px;
-        margin-right: 15px;
-        & > img {
-          width: 100%;
-          height: 100%;
-        }
-      }
-      .right {
-        flex: 1;
-        display: flex;
-        flex-direction: column;
-        & > p {
-          display: flex;
-          justify-content: space-between;
-          font-size: 16px;
-          align-items: center;
-          & > span {
-            font-size: 12px;
-            color: #a19d97;
-          }
-        }
-        .txt {
-          margin-top: 10px;
-          font-size: 14px;
-        }
-      }
-    }
-  }
-  .bottmInp {
-    padding: 10px 0;
-    /deep/.el-textarea__inner:focus {
-      border-color: #b9412e;
-    }
-    /deep/.el-textarea__inner {
-      background-color: rgba(255, 255, 255, 0.3);
-    }
-    /deep/.el-input__inner {
-      background-color: rgba(255, 255, 255, 0.3);
-    }
-    /deep/.el-textarea .el-input__count {
-      background-color: transparent;
-      color: #878787;
-    }
-    /deep/.el-input__count-inner {
-      background-color: transparent;
-      color: #878787;
-    }
-    .button {
-      margin-top: 10px;
-      display: flex;
-      justify-content: space-between;
-      .button_left{
-        width: 75vh;
-        margin-right: 5vh;
-      }
-      .button_right{
-        width: 20vh;
-      }
-    }
-  }
-}
-</style>

+ 1 - 1
houtai/src/views/tab3/index.vue

@@ -1,7 +1,7 @@
 <template>
   <div class="tab3">
     <div class="insideTop">
-      学籍管理
+      教育基地管理
       <div class="add">
         <el-button type="primary" @click="$router.push('/layout/tab3Add')"
           >新增学籍信息</el-button

+ 15 - 317
houtai/src/views/tab4/index.vue

@@ -1,295 +1,37 @@
+<!--  -->
 <template>
-  <div class="tab4">
-    <div class="insideTop">
-      学院宣传片管理
-      <div class="add">
-        <el-button type="primary" @click="$router.push('/layout/tab4Add')"
-          >新增宣传片</el-button
-        >
-      </div>
-    </div>
-    <div class="obstruct"></div>
-    <!-- 主要内容 -->
-    <div class="conten">
-      <div class="classify">全部</div>
-      <div class="search">
-        <span>发布时间:</span>
-        <el-date-picker
-          style="width: 240px"
-          v-model="time"
-          type="daterange"
-          range-separator="-"
-          start-placeholder="开始时间"
-          end-placeholder="结束时间"
-        >
-        </el-date-picker>
-        <span class="search_k">标题关键字:</span>
-        <el-input
-          v-model="formData.searchKey"
-          placeholder="请输入"
-          style="width: 240px"
-        ></el-input>
-        <span class="search_k">排序:</span>
-        <el-select
-          v-model="formData.sortType"
-          placeholder="请选择"
-          style="width: 240px"
-        >
-          <el-option label="发布时间" :value="0"></el-option>
-          <el-option label="排序编号" :value="1"></el-option>
-        </el-select>
-        <!-- 右侧按钮 -->
-        <div class="search_btn">
-          <el-button type="primary" @click="searchBtn">查 询</el-button>
-          <el-button @click="resetBtn">重 置</el-button>
-        </div>
-      </div>
-      <!-- 表格 -->
-      <div class="table">
-        <el-table :data="tableData" style="width: 100%">
-          <el-table-column label="序号" width="80">
-            <template slot-scope="scope">
-              {{
-                scope.$index + (formData.pageNum - 1) * formData.pageSize + 1
-              }}
-            </template>
-          </el-table-column>
-          <el-table-column label="标题" width="250">
-            <template #default="{ row }">
-              <span class="table_name" :title="row.name">{{ row.name }}</span>
-            </template>
-          </el-table-column>
-          <el-table-column label="封面图片" width="120">
-            <template #default="{ row }">
-              <img
-                class="table_img"
-                :src="baseURL + row.thumb"
-                alt=""
-                :onerror="defaultImg"
-              />
-            </template>
-          </el-table-column>
-          <el-table-column prop="visit" label="阅读"> </el-table-column>
-          <el-table-column prop="creatorName" label="发布人"> </el-table-column>
-          <el-table-column prop="createTime" label="发布时间" width="200">
-          </el-table-column>
-          <el-table-column prop="address" label="排序" width="80">
-            <template #default="{ row }">
-              <el-input
-                type="text"
-                v-model="row.sort"
-                @blur="changeSort(row.sort, row.id)"
-              ></el-input>
-            </template>
-          </el-table-column>
-          <el-table-column label="是否显示">
-            <template #default="{ row }">
-              <el-switch
-                v-model="row.display"
-                active-color="#b9412e"
-                :active-value="1"
-                :inactive-value="0"
-                @change="changeSwit($event, row.id)"
-              >
-              </el-switch>
-            </template>
-          </el-table-column>
-          <el-table-column label="操作">
-            <template #default="{ row }">
-              <el-button type="text" @click="lookGood(row.id)">查看</el-button>
-              <el-button
-                type="text"
-                v-if="!row.display"
-                @click="editLeader(row.id)"
-                >编辑</el-button
-              >
-              <el-button
-                type="text"
-                v-if="!row.display"
-                @click="delLeader(row.id)"
-                >删除</el-button
-              >
-            </template>
-          </el-table-column>
-        </el-table>
-      </div>
-    </div>
-    <!-- 分页 -->
-    <div class="paging">
-      <el-pagination
-        layout="sizes,prev, pager, next,jumper"
-        :total="total"
-        :current-page="formData.pageNum"
-        @current-change="currentChange"
-        @size-change="sizeChange"
-      >
-      </el-pagination>
-    </div>
-  </div>
+<div class='tab10'>等待开发</div>
 </template>
 
 <script>
-import {
-  videoList,
-  videoSort,
-  videoDisplay,
-  videoRemove
-} from '@/apis/tab4'
-import axios from '@/utils/request'
+// 这里可以导入其他文件(比如:组件,工具js,第三方插件js,json文件,图片文件等等)
+// 例如:import 《组件名称》 from '《组件路径》';
+
 export default {
-  name: 'tab4',
+  name: 'tab10',
   components: {},
   data () {
     // 这里存放数据
     return {
-      total: 0,
-      time: '',
-      formData: {
-        startTime: '',
-        endTime: '',
-        pageNum: 1,
-        pageSize: 10,
-        searchKey: '',
-        sortType: 0
-      },
-      tableData: []
+
     }
   },
   // 监听属性 类似于data概念
   computed: {},
   // 监控data中的数据变化
-  watch: {
-    time (val) {
-      this.handleSelect(val)
-    }
-  },
+  watch: {},
   // 方法集合
   methods: {
-    // 点击编辑
-    editLeader (id) {
-      this.$router.push({
-        path: '/layout/tab4Add',
-        query: { id }
-      })
-    },
-    // 点击删除
-    delLeader (id) {
-      this.$confirm('删除后,信息无法恢复,是否继续?', '提示', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: 'warning'
-      })
-        .then(async () => {
-          const res = await videoRemove(id)
-          if (res.code === 0) {
-            this.$message.success('删除成功')
-            this.videoList(this.formData)
-          } else this.$message.warning(res.msg)
-        })
-        .catch(() => {
-          this.$message.info('已取消')
-        })
-    }, // 点击开关
-    async changeSwit (val, id) {
-      const res = await videoDisplay(id, val)
-      if (res.code === 0) {
-        this.$message.success('操作成功')
-        this.videoList(this.formData)
-      } else this.$message.warning(res.msg)
-      // console.log(998, val, id)
-    },
-    // 排序
-    async changeSort (val, id) {
-      // console.log(998, val, id)
-      if (Number(val) < 1) return this.$message.warning('不能小于1')
-      const res = await videoSort(id, Number(val))
-      if (res.code === 0) {
-        this.$message.success('操作成功')
-        this.videoList(this.formData)
-      } else this.$message.warning(res.msg)
-    },
-    // 点击重置
-    resetBtn () {
-      this.formData.searchKey = ''
-      this.formData.sortType = 0
-      this.time = ''
-      this.formData.pageNum = 1
-      this.formData.startTime = this.formData.endTime = ''
-      this.videoList(this.formData)
-    },
-    // 点击查询
-    searchBtn () {
-      this.formData.pageNum = 1
-      this.videoList(this.formData)
-    },
-    // 分页器方法
-    currentChange (val) {
-      // console.log('当前页改变了', val)
-      this.formData.pageNum = val
-      this.videoList(this.formData)
-    },
-    sizeChange (val) {
-      // console.log('条数改变了', val)
-      this.formData.pageNum = 1
-      this.formData.pageSize = val
-      this.videoList(this.formData)
-    },
-    // 点击查看
-    lookGood (id) {
-      this.$router.push({
-        path: '/layout/tab4Look',
-        query: { id }
-      })
-    },
-    // 时间处理----------------
-    handleSelect (e) {
-      const date = []
-      for (const i in e) {
-        date.push(this.gettime(e[i]))
-      }
-      this.formData.startTime = date[0]
-      if (date[1]) {
-        this.formData.endTime = date[1].replace('00:00:00', '23:59:59')
-      }
-      if (e === null) this.formData.endTime = ''
-    },
-    gettime (data) {
-      const value =
-        data.getFullYear() +
-        '-' +
-        this.checkTime(data.getMonth() + 1) +
-        '-' +
-        this.checkTime(data.getDate()) +
-        ' ' +
-        this.checkTime(data.getHours()) +
-        ':' +
-        this.checkTime(data.getMinutes()) +
-        ':' +
-        this.checkTime(data.getSeconds())
-      return value
-    },
-    checkTime (i) {
-      if (i < 10) {
-        i = '0' + i
-      }
-      return i
-    },
-    // 封装获取列表函数
-    async videoList (data) {
-      const res = await videoList(data)
-      // console.log(998, res)
-      this.total = res.data.total
-      this.tableData = res.data.records
-    }
+
   },
   // 生命周期 - 创建完成(可以访问当前this实例)
   created () {
-    // 获取服务器前缀地址
-    this.baseURL = axios.defaults.baseURL
-    this.videoList(this.formData)
+
   },
   // 生命周期 - 挂载完成(可以访问DOM元素)
-  mounted () {},
+  mounted () {
+
+  },
   beforeCreate () {}, // 生命周期 - 创建之前
   beforeMount () {}, // 生命周期 - 挂载之前
   beforeUpdate () {}, // 生命周期 - 更新之前
@@ -300,50 +42,6 @@ export default {
 }
 </script>
 <style lang='less' scoped>
-.tab4 {
-  height: 100%;
-  .insideTop .add {
-    right: 55px;
-  }
-  .conten {
-    padding: 15px 30px 0;
-    height: calc(100% - 32px);
-    .classify {
-      text-align: center;
-      width: 40px;
-      padding-bottom: 10px;
-      color: #b9412e;
-      border-bottom: 2px solid #b9412e;
-    }
-    .search {
-      margin-bottom: 20px;
-      position: relative;
-      margin-top: 12px;
-      height: 40px;
-      .search_k {
-        margin-left: 30px;
-      }
-      .search_btn {
-        display: flex;
-        justify-content: space-between;
-        width: 200px;
-        position: absolute;
-        right: 22px;
-        top: 0;
-      }
-    }
-    .table {
-      max-width: 1533px;
-    }
-    /deep/.el-table__body-wrapper {
-      max-height: 485px;
-      overflow-y: auto;
-    }
-  }
-  .paging {
-    position: absolute;
-    bottom: 15px;
-    right: 50px;
-  }
-}
+//@import url(); 引入公共css类
+
 </style>

+ 0 - 298
houtai/src/views/tab4/tab4Add.vue

@@ -1,298 +0,0 @@
-<template>
-  <div class="tab4Add">
-    <div class="insideTop">
-      学院宣传片管理 > {{ruleForm.id?'编辑':'新增'}}宣传片
-      <div class="add">
-        <el-button type="primary" @click="goBack">返 回</el-button>
-      </div>
-    </div>
-    <div class="obstruct"></div>
-    <!-- 主要内容 -->
-    <div class="conten">
-      <div class="con_top">基本信息</div>
-      <!-- 表单 -->
-      <el-form
-        :model="ruleForm"
-        :rules="rules"
-        ref="ruleForm"
-        label-width="140px"
-        class="demo-ruleForm"
-      >
-        <el-form-item label="标题:" prop="name">
-          <el-input
-            v-model="ruleForm.name"
-            maxlength="25"
-            show-word-limit
-            style="width: 500px"
-          ></el-input>
-        </el-form-item>
-        <!-- 图片和附件 -->
-        <el-form-item label="封面图片:">
-          <i class="biaoshi"></i>
-          <el-upload
-            class="avatar-uploader"
-            :action="baseURL + '/cms/video/upload'"
-            :headers="{
-              token,
-            }"
-            :show-file-list="true"
-            :before-upload="beforethumbUpload"
-            :on-success="upload_thumb_success"
-          >
-            <div v-if="ruleForm.thumb" class="imgdiv">
-              <img
-                style="width: 100%; height: 100%"
-                :src="baseURL + ruleForm.thumb"
-              />
-              <i
-                class="el-icon-circle-close"
-                @click.stop="ruleForm.thumb = ''"
-              ></i>
-            </div>
-            <i v-else class="el-icon-plus avatar-uploader-icon"></i>
-          </el-upload>
-          <p class="upHint">
-            格式要求:支持png、jpg、gif和jpeg的图片格式;最大支持20MB。
-          </p>
-        </el-form-item>
-        <!-- 上传附件 -->
-        <el-form-item label="视频文件:">
-          <i class="biaoshi"></i>
-          <el-upload
-            multiple
-            class="upload-demo"
-            :file-list="fileList"
-            :action="baseURL + '/cms/video/video/upload'"
-            :headers="{ token }"
-            :before-upload="beforeFujian"
-            :on-success="successFujian"
-            :before-remove="beforeRemove"
-            :on-remove="handleRemove"
-            :limit="1"
-            :on-exceed="handleExceed"
-            :show-file-list="true"
-          >
-            <el-button size="small" type="primary">点击上传</el-button>
-            <div class="el-upload__tip" slot="tip">
-              <p class="upHint">格式要求:</p>
-              <p class="upHint">
-                1、仅支持mp4视频格式文件。
-              </p>
-              <p class="upHint">2、最大支持2G的视频文件。</p>
-            </div>
-          </el-upload>
-        </el-form-item>
-      </el-form>
-      <!-- 底部按钮 -->
-      <div class="con_btn">
-        <el-button type="primary" @click="saveGood">保 存</el-button>
-      </div>
-    </div>
-  </div>
-</template>
-
-<script>
-import { videoSave, videoDetail } from '@/apis/tab4'
-import axios from '@/utils/request'
-export default {
-  name: 'tab4Add',
-  components: {},
-  data () {
-    return {
-      fileList: [],
-      // 服务器前缀地址
-      baseURL: '',
-      token: '',
-      ruleForm: {
-        name: '',
-        thumb: '',
-        filePath: '',
-        fileName: ''
-      },
-      rules: {
-        name: [{ required: true, message: '不能为空', trigger: 'blur' }]
-      }
-    }
-  },
-  computed: {},
-  methods: {
-    // 点击保存
-    async saveGood () {
-      if (this.ruleForm.name.trim() === '') { return this.$message.warning('标题不能为空') }
-      if (this.ruleForm.thumb === '') { return this.$message.warning('图片不能为空') }
-      if (this.ruleForm.filePath === '') { return this.$message.warning('文件不能为空') }
-      const obj = { ...this.ruleForm }
-      const res = await videoSave(obj)
-      if (res.code === 0) {
-        this.$message.success('操作成功')
-        this.$router.push('/layout/tab4')
-      } else this.$message.warning(res.msg)
-    },
-    // 点击返回
-    goBack () {
-      this.$confirm('点击返回后,编辑的信息将无法保存,是否继续?', '提示', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: 'warning'
-      })
-        .then(async () => {
-          this.$router.push('/layout/tab4')
-        })
-        .catch(() => {
-          this.$message.info('已取消')
-        })
-    },
-    // 上传图片
-    beforethumbUpload (file) {
-      // console.log(998, file)
-      // 限制图片大小和格式
-      const sizeOk = file.size / 1024 / 1024 < 20
-      const typeOk =
-        file.type === 'image/png' ||
-        (file.type === 'image/jpeg' && !file.name.includes('.jfif')) ||
-        file.type === 'image/gif'
-
-      return new Promise((resolve, reject) => {
-        if (!typeOk) {
-          this.$message.error('照片格式有误!')
-          reject(file)
-        } else if (!sizeOk) {
-          this.$message.error('照片大小超过20M!')
-          reject(file)
-        } else {
-          resolve(file)
-        }
-      })
-    },
-    upload_thumb_success (data) {
-      this.$message.success('上传成功')
-      // console.log('图片上传成功', data.data.urlPath)
-      this.ruleForm.thumb = data.data.urlPath
-    },
-    // 上传附件
-    beforeFujian (file) {
-      console.log('附件上传前', file)
-      const sizeOk = file.size / 1024 / 1024 < 2048
-      const typeOk = file.type === 'video/mp4'
-      return new Promise((resolve, reject) => {
-        if (file.name.length > 32) {
-          this.$message.error('视频名字不能超过32个字')
-          reject(file)
-        } else if (!sizeOk) {
-          this.$message.error('视频大小超过2GB!')
-          reject(file)
-        } else if (!typeOk) {
-          this.$message.error('视频格式有误!')
-          reject(file)
-        } else {
-          resolve(file)
-        }
-      })
-    },
-    successFujian (file) {
-      console.log('上传附件成功', file)
-      if (file.code === 0) {
-        this.ruleForm.filePath = file.data.urlPath
-        this.ruleForm.fileName = file.data.fileName
-        this.$message.success('上传成功')
-      } else if (file.code === -1) {
-        this.$message.warning('上传失败,不支持的文件格式')
-      }
-    },
-    beforeRemove (file, fileList) {
-      if (file && file.status === 'success') {
-        return this.$confirm(`确定移除 ${file.name}?`)
-      }
-    },
-    handleRemove (file, fileList) {
-      this.ruleForm.filePath = ''
-      this.ruleForm.fileName = ''
-    },
-    handleExceed (files, fileList) {
-      this.$message.warning('只能上传一个视频,请删除原视频后操作')
-    }
-  },
-  // 生命周期 - 创建完成(可以访问当前this实例)
-  async created () {
-    // 获取服务器前缀地址
-    this.baseURL = axios.defaults.baseURL
-    // 获取用户token
-    this.token = localStorage.getItem('CQLJXU_token')
-    // 通过父亲传过来的id获取详情
-    if (this.$route.query.id) {
-      const res = await videoDetail(Number(this.$route.query.id))
-      this.ruleForm = res.data
-      // 附件回显
-      this.fileList = [{ name: res.data.fileName }]
-      // console.log(998, res)
-    }
-  },
-  // 生命周期 - 挂载完成(可以访问DOM元素)
-  mounted () {},
-  beforeCreate () {}, // 生命周期 - 创建之前
-  beforeMount () {}, // 生命周期 - 挂载之前
-  beforeUpdate () {}, // 生命周期 - 更新之前
-  updated () {}, // 生命周期 - 更新之后
-  beforeDestroy () {}, // 生命周期 - 销毁之前
-  destroyed () {}, // 生命周期 - 销毁完成
-  activated () {} // 如果页面有keep-alive缓存功能,这个函数会触发
-}
-</script>
-<style lang='less' scoped>
-.tab4Add {
-  height: 100%;
-  .conten {
-    position: relative;
-    /deep/.el-icon-plus {
-      border: 1px dashed #ccc;
-    }
-    height: calc(100% - 32px);
-    .con_top {
-      margin-bottom: 12px;
-      height: 40px;
-      line-height: 40px;
-      padding-left: 20px;
-      background-color: #fbfbfb;
-    }
-    .biaoshi1::before {
-      left: -120px;
-    }
-    .biaoshi2::before {
-      top: -10px;
-    }
-    .avatar-uploader .el-upload {
-      border-radius: 6px;
-      cursor: pointer;
-      position: relative;
-      overflow: hidden;
-    }
-    .avatar-uploader .el-upload:hover {
-      border-color: #3e5eb3;
-    }
-    .avatar-uploader-icon {
-      font-size: 28px;
-      color: #8c939d;
-      width: 178px;
-      height: 178px;
-      line-height: 178px;
-      text-align: center;
-    }
-    .con_btn {
-      position: absolute;
-      left: 50%;
-      transform: translateX(-50%);
-      bottom: 15px;
-    }
-    .imgdiv {
-      max-width: 200px;
-      max-height: 200px;
-      & > img {
-        border: 5px solid #ccc;
-      }
-    }
-    .el-icon-circle-close {
-      font-size: 24px;
-    }
-  }
-}
-</style>

+ 0 - 119
houtai/src/views/tab4/tab4Look.vue

@@ -1,119 +0,0 @@
-<!--  -->
-<template>
-  <div class="tab4Look">
-    <div class="insideTop">
-      学院宣传片管理 > 查看宣传片
-      <div class="add">
-        <el-button type="primary" @click="$router.push('/layout/tab4')"
-          >返 回</el-button
-        >
-      </div>
-    </div>
-    <div class="obstruct"></div>
-    <!-- 主要内容 -->
-    <div class="conten">
-      <div class="con_top">基本信息</div>
-      <div class="row">
-        <div>标题:</div>
-        <span>{{myObj.name}}</span>
-      </div>
-      <div class="row">
-        <div>封面图片:</div>
-        <el-image
-          v-if="srcList.length!==0"
-          style="width: 200px; height: 200px"
-          :src="srcList[0]"
-          :preview-src-list="srcList"
-        >
-        </el-image>
-      </div>
-      <div class="row">
-        <div>视频文件:</div>
-        <a :href="baseURL+myObj.filePath" download>{{myObj.fileName}}</a>
-      </div>
-      <div class="row">
-        <div>显示设置:</div>
-        <el-switch disabled v-model="myObj.display" active-color="#b9412e" :active-value='1' :inactive-value='0'> </el-switch>
-      </div>
-    </div>
-  </div>
-</template>
-
-<script>
-import { videoDetail } from '@/apis/tab4'
-import axios from '@/utils/request'
-export default {
-  name: 'tab4Look',
-  components: {},
-  data () {
-    // 这里存放数据
-    return {
-      baseURL: '',
-      myObj: {},
-      srcList: []
-    }
-  },
-  // 监听属性 类似于data概念
-  computed: {},
-  // 监控data中的数据变化
-  watch: {},
-  // 方法集合
-  methods: {
-
-  },
-  // 生命周期 - 创建完成(可以访问当前this实例)
-  async created () {
-    // 获取服务器前缀地址
-    this.baseURL = axios.defaults.baseURL
-    // 通过父亲传过来的id获取详情
-    if (this.$route.query.id) {
-      const res = await videoDetail(Number(this.$route.query.id))
-      this.myObj = res.data
-      this.srcList = [this.baseURL + res.data.thumb]
-    }
-  },
-  // 生命周期 - 挂载完成(可以访问DOM元素)
-  mounted () {},
-  beforeCreate () {}, // 生命周期 - 创建之前
-  beforeMount () {}, // 生命周期 - 挂载之前
-  beforeUpdate () {}, // 生命周期 - 更新之前
-  updated () {}, // 生命周期 - 更新之后
-  beforeDestroy () {}, // 生命周期 - 销毁之前
-  destroyed () {}, // 生命周期 - 销毁完成
-  activated () {} // 如果页面有keep-alive缓存功能,这个函数会触发
-}
-</script>
-<style lang='less' scoped>
-.tab4Look {
-  height: 100%;
-  .conten {
-    overflow-y: auto;
-    position: relative;
-    height: calc(100% - 32px);
-    .con_top {
-      margin-bottom: 12px;
-      height: 40px;
-      line-height: 40px;
-      padding-left: 20px;
-      background-color: #fbfbfb;
-    }
-    .row {
-      display: flex;
-      margin: 25px 0;
-      & > div {
-        width: 120px;
-        text-align: right;
-      }
-    .imgList{
-      width: 1500px;
-      display: flex;
-      flex-wrap: wrap;
-      /deep/.el-image{
-        margin-right: 30px;
-        margin-bottom: 30px;
-      }
-    }
-    }
-  }
-}
-</style>

+ 0 - 349
houtai/src/views/tab5/index.vue

@@ -1,349 +0,0 @@
-<template>
-  <div class="tab5">
-    <div class="insideTop">
-      校园图片管理
-      <div class="add">
-        <el-button type="primary" @click="$router.push('/layout/tab5Add')"
-          >新增校园图片</el-button
-        >
-      </div>
-    </div>
-    <div class="obstruct"></div>
-    <!-- 主要内容 -->
-    <div class="conten">
-      <div class="classify">全部</div>
-      <div class="search">
-        <span>发布时间:</span>
-        <el-date-picker
-          style="width: 240px"
-          v-model="time"
-          type="daterange"
-          range-separator="-"
-          start-placeholder="开始时间"
-          end-placeholder="结束时间"
-        >
-        </el-date-picker>
-        <span class="search_k">标题关键字:</span>
-        <el-input
-          v-model="formData.searchKey"
-          placeholder="请输入"
-          style="width: 240px"
-        ></el-input>
-        <span class="search_k">排序:</span>
-        <el-select
-          v-model="formData.sortType"
-          placeholder="请选择"
-          style="width: 240px"
-        >
-          <el-option label="发布时间" :value="0"></el-option>
-          <el-option label="排序编号" :value="1"></el-option>
-        </el-select>
-        <!-- 右侧按钮 -->
-        <div class="search_btn">
-          <el-button type="primary" @click="searchBtn">查 询</el-button>
-          <el-button @click="resetBtn">重 置</el-button>
-        </div>
-      </div>
-      <!-- 表格 -->
-      <div class="table">
-        <el-table :data="tableData" style="width: 100%">
-          <el-table-column label="序号" width="80">
-            <template slot-scope="scope">
-              {{
-                scope.$index + (formData.pageNum - 1) * formData.pageSize + 1
-              }}
-            </template>
-          </el-table-column>
-          <el-table-column label="标题" width="250">
-            <template #default="{ row }">
-              <span class="table_name" :title="row.name">{{ row.name }}</span>
-            </template>
-          </el-table-column>
-          <el-table-column label="封面图片" width="120">
-            <template #default="{ row }">
-              <img
-                class="table_img"
-                :src="baseURL + row.thumb"
-                alt=""
-                :onerror="defaultImg"
-              />
-            </template>
-          </el-table-column>
-          <el-table-column prop="visit" label="阅读"> </el-table-column>
-          <el-table-column prop="creatorName" label="发布人"> </el-table-column>
-          <el-table-column prop="createTime" label="发布时间" width="200">
-          </el-table-column>
-          <el-table-column prop="address" label="排序" width="80">
-            <template #default="{ row }">
-              <el-input
-                type="text"
-                v-model="row.sort"
-                @blur="changeSort(row.sort, row.id)"
-              ></el-input>
-            </template>
-          </el-table-column>
-          <el-table-column label="是否显示">
-            <template #default="{ row }">
-              <el-switch
-                v-model="row.display"
-                active-color="#b9412e"
-                :active-value="1"
-                :inactive-value="0"
-                @change="changeSwit($event, row.id)"
-              >
-              </el-switch>
-            </template>
-          </el-table-column>
-          <el-table-column label="操作">
-            <template #default="{ row }">
-              <el-button type="text" @click="lookGood(row.id)">查看</el-button>
-              <el-button
-                type="text"
-                v-if="!row.display"
-                @click="editLeader(row.id)"
-                >编辑</el-button
-              >
-              <el-button
-                type="text"
-                v-if="!row.display"
-                @click="delLeader(row.id)"
-                >删除</el-button
-              >
-            </template>
-          </el-table-column>
-        </el-table>
-      </div>
-    </div>
-    <!-- 分页 -->
-    <div class="paging">
-      <el-pagination
-        layout="sizes,prev, pager, next,jumper"
-        :total="total"
-        :current-page="formData.pageNum"
-        @current-change="currentChange"
-        @size-change="sizeChange"
-      >
-      </el-pagination>
-    </div>
-  </div>
-</template>
-
-<script>
-import {
-  imgList,
-  imgSort,
-  imgDisplay,
-  imgRemove
-} from '@/apis/tab5'
-import axios from '@/utils/request'
-export default {
-  name: 'tab5',
-  components: {},
-  data () {
-    // 这里存放数据
-    return {
-      total: 0,
-      time: '',
-      formData: {
-        startTime: '',
-        endTime: '',
-        pageNum: 1,
-        pageSize: 10,
-        searchKey: '',
-        sortType: 0
-      },
-      tableData: []
-    }
-  },
-  // 监听属性 类似于data概念
-  computed: {},
-  // 监控data中的数据变化
-  watch: {
-    time (val) {
-      this.handleSelect(val)
-    }
-  },
-  // 方法集合
-  methods: {
-    // 点击编辑
-    editLeader (id) {
-      this.$router.push({
-        path: '/layout/tab5Add',
-        query: { id }
-      })
-    },
-    // 点击删除
-    delLeader (id) {
-      this.$confirm('删除后,信息无法恢复,是否继续?', '提示', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: 'warning'
-      })
-        .then(async () => {
-          const res = await imgRemove(id)
-          if (res.code === 0) {
-            this.$message.success('删除成功')
-            this.imgList(this.formData)
-          } else this.$message.warning(res.msg)
-        })
-        .catch(() => {
-          this.$message.info('已取消')
-        })
-    }, // 点击开关
-    async changeSwit (val, id) {
-      const res = await imgDisplay(id, val)
-      if (res.code === 0) {
-        this.$message.success('操作成功')
-        this.imgList(this.formData)
-      } else this.$message.warning(res.msg)
-      // console.log(998, val, id)
-    },
-    // 排序
-    async changeSort (val, id) {
-      // console.log(998, val, id)
-      if (Number(val) < 1) return this.$message.warning('不能小于1')
-      const res = await imgSort(id, Number(val))
-      if (res.code === 0) {
-        this.$message.success('操作成功')
-        this.imgList(this.formData)
-      } else this.$message.warning(res.msg)
-    },
-    // 点击重置
-    resetBtn () {
-      this.formData.searchKey = ''
-      this.formData.sortType = 0
-      this.time = ''
-      this.formData.pageNum = 1
-      this.formData.startTime = this.formData.endTime = ''
-      this.imgList(this.formData)
-    },
-    // 点击查询
-    searchBtn () {
-      this.formData.pageNum = 1
-      this.imgList(this.formData)
-    },
-    // 分页器方法
-    currentChange (val) {
-      // console.log('当前页改变了', val)
-      this.formData.pageNum = val
-      this.imgList(this.formData)
-    },
-    sizeChange (val) {
-      // console.log('条数改变了', val)
-      this.formData.pageNum = 1
-      this.formData.pageSize = val
-      this.imgList(this.formData)
-    },
-    // 点击查看
-    lookGood (id) {
-      this.$router.push({
-        path: '/layout/tab5Look',
-        query: { id }
-      })
-    },
-    // 时间处理----------------
-    handleSelect (e) {
-      const date = []
-      for (const i in e) {
-        date.push(this.gettime(e[i]))
-      }
-      this.formData.startTime = date[0]
-      if (date[1]) {
-        this.formData.endTime = date[1].replace('00:00:00', '23:59:59')
-      }
-      if (e === null) this.formData.endTime = ''
-    },
-    gettime (data) {
-      const value =
-        data.getFullYear() +
-        '-' +
-        this.checkTime(data.getMonth() + 1) +
-        '-' +
-        this.checkTime(data.getDate()) +
-        ' ' +
-        this.checkTime(data.getHours()) +
-        ':' +
-        this.checkTime(data.getMinutes()) +
-        ':' +
-        this.checkTime(data.getSeconds())
-      return value
-    },
-    checkTime (i) {
-      if (i < 10) {
-        i = '0' + i
-      }
-      return i
-    },
-    // 封装获取列表函数
-    async imgList (data) {
-      const res = await imgList(data)
-      // console.log(998, res)
-      this.total = res.data.total
-      this.tableData = res.data.records
-    }
-  },
-  // 生命周期 - 创建完成(可以访问当前this实例)
-  created () {
-    // 获取服务器前缀地址
-    this.baseURL = axios.defaults.baseURL
-    this.imgList(this.formData)
-  },
-  // 生命周期 - 挂载完成(可以访问DOM元素)
-  mounted () {},
-  beforeCreate () {}, // 生命周期 - 创建之前
-  beforeMount () {}, // 生命周期 - 挂载之前
-  beforeUpdate () {}, // 生命周期 - 更新之前
-  updated () {}, // 生命周期 - 更新之后
-  beforeDestroy () {}, // 生命周期 - 销毁之前
-  destroyed () {}, // 生命周期 - 销毁完成
-  activated () {} // 如果页面有keep-alive缓存功能,这个函数会触发
-}
-</script>
-<style lang='less' scoped>
-.tab5 {
-  height: 100%;
-  .insideTop .add {
-    right: 55px;
-  }
-  .conten {
-    padding: 15px 30px 0;
-    height: calc(100% - 32px);
-    .classify {
-      text-align: center;
-      width: 40px;
-      padding-bottom: 10px;
-      color: #b9412e;
-      border-bottom: 2px solid #b9412e;
-    }
-    .search {
-      margin-bottom: 20px;
-      position: relative;
-      margin-top: 12px;
-      height: 40px;
-      .search_k {
-        margin-left: 30px;
-      }
-      .search_btn {
-        display: flex;
-        justify-content: space-between;
-        width: 200px;
-        position: absolute;
-        right: 22px;
-        top: 0;
-      }
-    }
-    .table {
-      max-width: 1533px;
-    }
-    /deep/.el-table__body-wrapper {
-      max-height: 485px;
-      overflow-y: auto;
-    }
-  }
-  .paging {
-    position: absolute;
-    bottom: 15px;
-    right: 50px;
-  }
-}
-</style>

+ 0 - 219
houtai/src/views/tab5/tab5Add.vue

@@ -1,219 +0,0 @@
-<template>
-  <div class="tab5Add">
-    <div class="insideTop">
-      校园图片管理 > {{ruleForm.id?'编辑':'新增'}}图片
-      <div class="add">
-        <el-button type="primary" @click="goBack">返 回</el-button>
-      </div>
-    </div>
-    <div class="obstruct"></div>
-    <!-- 主要内容 -->
-    <div class="conten">
-      <div class="con_top">基本信息</div>
-      <!-- 表单 -->
-      <el-form
-        :model="ruleForm"
-        :rules="rules"
-        ref="ruleForm"
-        label-width="100px"
-        class="demo-ruleForm"
-      >
-        <el-form-item label="标题:" prop="name">
-          <el-input
-            v-model="ruleForm.name"
-            maxlength="25"
-            show-word-limit
-            style="width: 500px"
-          ></el-input>
-        </el-form-item>
-        <!-- 图片和附件 -->
-        <el-form-item label="图片:">
-          <i class="biaoshi biaoshi1"></i>
-          <el-upload
-            class="avatar-uploader"
-            :action="baseURL + '/cms/img/upload'"
-            :headers="{
-              token,
-            }"
-            :show-file-list="true"
-            :before-upload="beforethumbUpload"
-            :on-success="upload_thumb_success"
-          >
-            <div v-if="ruleForm.thumb" class="imgdiv">
-              <img
-                style="width: 100%; height: 100%"
-                :src="baseURL + ruleForm.thumb"
-              />
-              <i
-                class="el-icon-circle-close"
-                @click.stop="ruleForm.thumb = ''"
-              ></i>
-            </div>
-            <i v-else class="el-icon-plus avatar-uploader-icon"></i>
-          </el-upload>
-          <p class="upHint">格式要求:支持png、jpg、gif和jpeg的图片格式;最大支持20MB。</p>
-        </el-form-item>
-      </el-form>
-      <!-- 底部按钮 -->
-      <div class="con_btn">
-        <el-button type="primary" @click="saveGood">保 存</el-button>
-      </div>
-    </div>
-  </div>
-</template>
-
-<script>
-import { imgSave, imgDetail } from '@/apis/tab5'
-import axios from '@/utils/request'
-export default {
-  name: 'tab5Add',
-  components: {},
-  data () {
-    return {
-      // 服务器前缀地址
-      baseURL: '',
-      token: '',
-      ruleForm: {
-        name: '',
-        thumb: ''
-      },
-      rules: {
-        name: [{ required: true, message: '不能为空', trigger: 'blur' }]
-      }
-    }
-  },
-  computed: {},
-  methods: {
-    // 点击保存
-    async saveGood () {
-      if (this.ruleForm.name.trim() === '') { return this.$message.warning('标题不能为空') }
-      if (this.ruleForm.thumb === '') { return this.$message.warning('图片不能为空') }
-      const obj = { ...this.ruleForm }
-      // console.log(998, obj)
-      const res = await imgSave(obj)
-      if (res.code === 0) {
-        this.$message.success('操作成功')
-        this.$router.push('/layout/tab5')
-      } else this.$message.warning(res.msg)
-    },
-    // 点击返回
-    goBack () {
-      this.$confirm('点击返回后,编辑的信息将无法保存,是否继续?', '提示', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: 'warning'
-      })
-        .then(async () => {
-          this.$router.push('/layout/tab5')
-        })
-        .catch(() => {
-          this.$message.info('已取消')
-        })
-    },
-    // 上传图片
-    beforethumbUpload (file) {
-      // console.log(998, file)
-      // 限制图片大小和格式
-      const sizeOk = file.size / 1024 / 1024 < 20
-      const typeOk =
-        file.type === 'image/png' ||
-        (file.type === 'image/jpeg' && !file.name.includes('.jfif')) ||
-        file.type === 'image/gif'
-
-      return new Promise((resolve, reject) => {
-        if (!typeOk) {
-          this.$message.error('照片格式有误!')
-          reject(file)
-        } else if (!sizeOk) {
-          this.$message.error('照片大小超过20M!')
-          reject(file)
-        } else {
-          resolve(file)
-        }
-      })
-    },
-    upload_thumb_success (data) {
-      this.$message.success('上传成功')
-      // console.log('图片上传成功', data.data.urlPath)
-      this.ruleForm.thumb = data.data.urlPath
-    }
-  },
-  // 生命周期 - 创建完成(可以访问当前this实例)
-  async created () {
-    // 获取服务器前缀地址
-    this.baseURL = axios.defaults.baseURL
-    // 获取用户token
-    this.token = localStorage.getItem('CQLJXU_token')
-    // 通过父亲传过来的id获取详情
-    if (this.$route.query.id) {
-      const res = await imgDetail(Number(this.$route.query.id))
-      this.ruleForm = res.data
-      // console.log(998, res)
-    }
-  },
-  // 生命周期 - 挂载完成(可以访问DOM元素)
-  mounted () {},
-  beforeCreate () {}, // 生命周期 - 创建之前
-  beforeMount () {}, // 生命周期 - 挂载之前
-  beforeUpdate () {}, // 生命周期 - 更新之前
-  updated () {}, // 生命周期 - 更新之后
-  beforeDestroy () {}, // 生命周期 - 销毁之前
-  destroyed () {}, // 生命周期 - 销毁完成
-  activated () {} // 如果页面有keep-alive缓存功能,这个函数会触发
-}
-</script>
-<style lang='less' scoped>
-.tab5Add {
-  height: 100%;
-  .conten {
-    position: relative;
-    /deep/.el-icon-plus {
-      border: 1px dashed #ccc;
-    }
-    height: calc(100% - 32px);
-    .con_top {
-      margin-bottom: 12px;
-      height: 40px;
-      line-height: 40px;
-      padding-left: 20px;
-      background-color: #fbfbfb;
-    }
-    .biaoshi1::before {
-      left: -64px;
-    }
-    .avatar-uploader .el-upload {
-      border-radius: 6px;
-      cursor: pointer;
-      position: relative;
-      overflow: hidden;
-    }
-    .avatar-uploader .el-upload:hover {
-      border-color: #3e5eb3;
-    }
-    .avatar-uploader-icon {
-      font-size: 28px;
-      color: #8c939d;
-      width: 178px;
-      height: 178px;
-      line-height: 178px;
-      text-align: center;
-    }
-    .con_btn {
-      position: absolute;
-      left: 50%;
-      transform: translateX(-50%);
-      bottom: 15px;
-    }
-    .imgdiv {
-      max-width: 200px;
-      max-height: 200px;
-      & > img {
-        border: 5px solid #ccc;
-      }
-    }
-    .el-icon-circle-close {
-      font-size: 24px;
-    }
-  }
-}
-</style>

+ 0 - 116
houtai/src/views/tab5/tab5Look.vue

@@ -1,116 +0,0 @@
-<!--  -->
-<template>
-  <div class="tab5Look">
-    <div class="insideTop">
-      校园图片管理 > 查看图片
-      <div class="add">
-        <el-button type="primary" @click="$router.push('/layout/tab5')"
-          >返 回</el-button
-        >
-      </div>
-    </div>
-    <div class="obstruct"></div>
-    <!-- 主要内容 -->
-    <div class="conten">
-      <div class="con_top">基本信息</div>
-      <div class="row">
-        <div>标题:</div>
-        <span>{{myObj.name}}</span>
-      </div>
-      <div class="row">
-        <div>图片:</div>
-        <el-image
-          v-if="srcList.length!==0"
-          style="width: 200px; height: 200px"
-          :src="srcList[0]"
-          :preview-src-list="srcList"
-        >
-        </el-image>
-      </div>
-      <div class="row">
-        <div>显示设置:</div>
-        <el-switch disabled v-model="myObj.display" active-color="#b9412e" :active-value='1' :inactive-value='0'> </el-switch>
-      </div>
-    </div>
-  </div>
-</template>
-
-<script>
-import { imgDetail } from '@/apis/tab5'
-import axios from '@/utils/request'
-
-export default {
-  name: 'tab5Look',
-  components: {},
-  data () {
-    // 这里存放数据
-    return {
-      baseURL: '',
-      myObj: {},
-      srcList: []
-    }
-  },
-  // 监听属性 类似于data概念
-  computed: {},
-  // 监控data中的数据变化
-  watch: {},
-  // 方法集合
-  methods: {
-
-  },
-  // 生命周期 - 创建完成(可以访问当前this实例)
-  async created () {
-    // 获取服务器前缀地址
-    this.baseURL = axios.defaults.baseURL
-    // 通过父亲传过来的id获取详情
-    if (this.$route.query.id) {
-      const res = await imgDetail(Number(this.$route.query.id))
-      this.myObj = res.data
-      this.srcList = [this.baseURL + res.data.thumb]
-    }
-  },
-  // 生命周期 - 挂载完成(可以访问DOM元素)
-  mounted () {},
-  beforeCreate () {}, // 生命周期 - 创建之前
-  beforeMount () {}, // 生命周期 - 挂载之前
-  beforeUpdate () {}, // 生命周期 - 更新之前
-  updated () {}, // 生命周期 - 更新之后
-  beforeDestroy () {}, // 生命周期 - 销毁之前
-  destroyed () {}, // 生命周期 - 销毁完成
-  activated () {} // 如果页面有keep-alive缓存功能,这个函数会触发
-}
-</script>
-<style lang='less' scoped>
-.tab5Look {
-  height: 100%;
-  .conten {
-    overflow-y: auto;
-    position: relative;
-    height: calc(100% - 32px);
-    .con_top {
-      margin-bottom: 12px;
-      height: 40px;
-      line-height: 40px;
-      padding-left: 20px;
-      background-color: #fbfbfb;
-    }
-    .row {
-      display: flex;
-      margin: 25px 0;
-      & > div {
-        width: 120px;
-        text-align: right;
-      }
-    .imgList{
-      width: 1500px;
-      display: flex;
-      flex-wrap: wrap;
-      /deep/.el-image{
-        margin-right: 30px;
-        margin-bottom: 30px;
-      }
-    }
-    }
-  }
-}
-</style>

+ 0 - 349
houtai/src/views/tab6/index.vue

@@ -1,349 +0,0 @@
-<template>
-  <div class="tab6">
-    <div class="insideTop">
-      校歌管理
-      <div class="add">
-        <el-button type="primary" @click="$router.push('/layout/tab6Add')"
-          >新增音频</el-button
-        >
-      </div>
-    </div>
-    <div class="obstruct"></div>
-    <!-- 主要内容 -->
-    <div class="conten">
-      <div class="classify">全部</div>
-      <div class="search">
-        <span>发布时间:</span>
-        <el-date-picker
-          style="width: 240px"
-          v-model="time"
-          type="daterange"
-          range-separator="-"
-          start-placeholder="开始时间"
-          end-placeholder="结束时间"
-        >
-        </el-date-picker>
-        <span class="search_k">标题关键字:</span>
-        <el-input
-          v-model="formData.searchKey"
-          placeholder="请输入"
-          style="width: 240px"
-        ></el-input>
-        <span class="search_k">排序:</span>
-        <el-select
-          v-model="formData.sortType"
-          placeholder="请选择"
-          style="width: 240px"
-        >
-          <el-option label="发布时间" :value="0"></el-option>
-          <el-option label="排序编号" :value="1"></el-option>
-        </el-select>
-        <!-- 右侧按钮 -->
-        <div class="search_btn">
-          <el-button type="primary" @click="searchBtn">查 询</el-button>
-          <el-button @click="resetBtn">重 置</el-button>
-        </div>
-      </div>
-      <!-- 表格 -->
-      <div class="table">
-        <el-table :data="tableData" style="width: 100%">
-          <el-table-column label="序号" width="80">
-            <template slot-scope="scope">
-              {{
-                scope.$index + (formData.pageNum - 1) * formData.pageSize + 1
-              }}
-            </template>
-          </el-table-column>
-          <el-table-column label="标题" width="250">
-            <template #default="{ row }">
-              <span class="table_name" :title="row.name">{{ row.name }}</span>
-            </template>
-          </el-table-column>
-          <!-- <el-table-column label="封面图片" width="120">
-            <template #default="{ row }">
-              <img
-                class="table_img"
-                :src="baseURL + row.thumb"
-                alt=""
-                :onerror="defaultImg"
-              />
-            </template>
-          </el-table-column> -->
-          <el-table-column prop="visit" label="阅读"> </el-table-column>
-          <el-table-column prop="creatorName" label="发布人"> </el-table-column>
-          <el-table-column prop="createTime" label="发布时间" width="200">
-          </el-table-column>
-          <el-table-column prop="address" label="排序" width="80">
-            <template #default="{ row }">
-              <el-input
-                type="text"
-                v-model="row.sort"
-                @blur="changeSort(row.sort, row.id)"
-              ></el-input>
-            </template>
-          </el-table-column>
-          <el-table-column label="是否显示">
-            <template #default="{ row }">
-              <el-switch
-                v-model="row.display"
-                active-color="#b9412e"
-                :active-value="1"
-                :inactive-value="0"
-                @change="changeSwit($event, row.id)"
-              >
-              </el-switch>
-            </template>
-          </el-table-column>
-          <el-table-column label="操作">
-            <template #default="{ row }">
-              <el-button type="text" @click="lookGood(row.id)">查看</el-button>
-              <el-button
-                type="text"
-                v-if="!row.display"
-                @click="editLeader(row.id)"
-                >编辑</el-button
-              >
-              <el-button
-                type="text"
-                v-if="!row.display"
-                @click="delLeader(row.id)"
-                >删除</el-button
-              >
-            </template>
-          </el-table-column>
-        </el-table>
-      </div>
-    </div>
-    <!-- 分页 -->
-    <div class="paging">
-      <el-pagination
-        layout="sizes,prev, pager, next,jumper"
-        :total="total"
-        :current-page="formData.pageNum"
-        @current-change="currentChange"
-        @size-change="sizeChange"
-      >
-      </el-pagination>
-    </div>
-  </div>
-</template>
-
-<script>
-import {
-  musicList,
-  musicSort,
-  musicDisplay,
-  musicRemove
-} from '@/apis/tab6'
-import axios from '@/utils/request'
-export default {
-  name: 'tab6',
-  components: {},
-  data () {
-    // 这里存放数据
-    return {
-      total: 0,
-      time: '',
-      formData: {
-        startTime: '',
-        endTime: '',
-        pageNum: 1,
-        pageSize: 10,
-        searchKey: '',
-        sortType: 0
-      },
-      tableData: []
-    }
-  },
-  // 监听属性 类似于data概念
-  computed: {},
-  // 监控data中的数据变化
-  watch: {
-    time (val) {
-      this.handleSelect(val)
-    }
-  },
-  // 方法集合
-  methods: {
-    // 点击编辑
-    editLeader (id) {
-      this.$router.push({
-        path: '/layout/tab6Add',
-        query: { id }
-      })
-    },
-    // 点击删除
-    delLeader (id) {
-      this.$confirm('删除后,信息无法恢复,是否继续?', '提示', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: 'warning'
-      })
-        .then(async () => {
-          const res = await musicRemove(id)
-          if (res.code === 0) {
-            this.$message.success('删除成功')
-            this.musicList(this.formData)
-          } else this.$message.warning(res.msg)
-        })
-        .catch(() => {
-          this.$message.info('已取消')
-        })
-    }, // 点击开关
-    async changeSwit (val, id) {
-      const res = await musicDisplay(id, val)
-      if (res.code === 0) {
-        this.$message.success('操作成功')
-        this.musicList(this.formData)
-      } else this.$message.warning(res.msg)
-      // console.log(998, val, id)
-    },
-    // 排序
-    async changeSort (val, id) {
-      // console.log(998, val, id)
-      if (Number(val) < 1) return this.$message.warning('不能小于1')
-      const res = await musicSort(id, Number(val))
-      if (res.code === 0) {
-        this.$message.success('操作成功')
-        this.musicList(this.formData)
-      } else this.$message.warning(res.msg)
-    },
-    // 点击重置
-    resetBtn () {
-      this.formData.searchKey = ''
-      this.formData.sortType = 0
-      this.time = ''
-      this.formData.pageNum = 1
-      this.formData.startTime = this.formData.endTime = ''
-      this.musicList(this.formData)
-    },
-    // 点击查询
-    searchBtn () {
-      this.formData.pageNum = 1
-      this.musicList(this.formData)
-    },
-    // 分页器方法
-    currentChange (val) {
-      // console.log('当前页改变了', val)
-      this.formData.pageNum = val
-      this.musicList(this.formData)
-    },
-    sizeChange (val) {
-      // console.log('条数改变了', val)
-      this.formData.pageNum = 1
-      this.formData.pageSize = val
-      this.musicList(this.formData)
-    },
-    // 点击查看
-    lookGood (id) {
-      this.$router.push({
-        path: '/layout/tab6Look',
-        query: { id }
-      })
-    },
-    // 时间处理----------------
-    handleSelect (e) {
-      const date = []
-      for (const i in e) {
-        date.push(this.gettime(e[i]))
-      }
-      this.formData.startTime = date[0]
-      if (date[1]) {
-        this.formData.endTime = date[1].replace('00:00:00', '23:59:59')
-      }
-      if (e === null) this.formData.endTime = ''
-    },
-    gettime (data) {
-      const value =
-        data.getFullYear() +
-        '-' +
-        this.checkTime(data.getMonth() + 1) +
-        '-' +
-        this.checkTime(data.getDate()) +
-        ' ' +
-        this.checkTime(data.getHours()) +
-        ':' +
-        this.checkTime(data.getMinutes()) +
-        ':' +
-        this.checkTime(data.getSeconds())
-      return value
-    },
-    checkTime (i) {
-      if (i < 10) {
-        i = '0' + i
-      }
-      return i
-    },
-    // 封装获取列表函数
-    async musicList (data) {
-      const res = await musicList(data)
-      // console.log(998, res)
-      this.total = res.data.total
-      this.tableData = res.data.records
-    }
-  },
-  // 生命周期 - 创建完成(可以访问当前this实例)
-  created () {
-    // 获取服务器前缀地址
-    this.baseURL = axios.defaults.baseURL
-    this.musicList(this.formData)
-  },
-  // 生命周期 - 挂载完成(可以访问DOM元素)
-  mounted () {},
-  beforeCreate () {}, // 生命周期 - 创建之前
-  beforeMount () {}, // 生命周期 - 挂载之前
-  beforeUpdate () {}, // 生命周期 - 更新之前
-  updated () {}, // 生命周期 - 更新之后
-  beforeDestroy () {}, // 生命周期 - 销毁之前
-  destroyed () {}, // 生命周期 - 销毁完成
-  activated () {} // 如果页面有keep-alive缓存功能,这个函数会触发
-}
-</script>
-<style lang='less' scoped>
-.tab6 {
-  height: 100%;
-  .insideTop .add {
-    right: 55px;
-  }
-  .conten {
-    padding: 15px 30px 0;
-    height: calc(100% - 32px);
-    .classify {
-      text-align: center;
-      width: 40px;
-      padding-bottom: 10px;
-      color: #b9412e;
-      border-bottom: 2px solid #b9412e;
-    }
-    .search {
-      margin-bottom: 20px;
-      position: relative;
-      margin-top: 12px;
-      height: 40px;
-      .search_k {
-        margin-left: 30px;
-      }
-      .search_btn {
-        display: flex;
-        justify-content: space-between;
-        width: 200px;
-        position: absolute;
-        right: 22px;
-        top: 0;
-      }
-    }
-    .table {
-      max-width: 1533px;
-    }
-    /deep/.el-table__body-wrapper {
-      max-height: 485px;
-      overflow-y: auto;
-    }
-  }
-  .paging {
-    position: absolute;
-    bottom: 15px;
-    right: 50px;
-  }
-}
-</style>

+ 0 - 325
houtai/src/views/tab6/tab6Add.vue

@@ -1,325 +0,0 @@
-<template>
-  <div class="tab6Add">
-    <div class="insideTop">
-      校歌管理 > {{ruleForm.id?'编辑':'新增'}}音频
-      <div class="add">
-        <el-button type="primary" @click="goBack">返 回</el-button>
-      </div>
-    </div>
-    <div class="obstruct"></div>
-    <!-- 主要内容 -->
-    <div class="conten">
-      <div class="con_top">基本信息</div>
-      <!-- 表单 -->
-      <el-form
-        :model="ruleForm"
-        :rules="rules"
-        ref="ruleForm"
-        label-width="120px"
-        class="demo-ruleForm"
-      >
-        <el-form-item label="标题:" prop="name">
-          <el-input
-            v-model="ruleForm.name"
-            maxlength="25"
-            show-word-limit
-            style="width: 500px"
-          ></el-input>
-        </el-form-item>
-        <!-- 图片和附件 -->
-        <!-- <el-form-item label="图片:">
-          <i class="biaoshi biaoshi1"></i>
-          <el-upload
-            class="avatar-uploader"
-            :action="baseURL + '/cms/music/upload'"
-            :headers="{
-              token,
-            }"
-            :show-file-list="true"
-            :before-upload="beforethumbUpload"
-            :on-success="upload_thumb_success"
-          >
-            <div v-if="ruleForm.thumb" class="imgdiv">
-              <img
-                style="width: 100%; height: 100%"
-                :src="baseURL + ruleForm.thumb"
-              />
-              <i
-                class="el-icon-circle-close"
-                @click.stop="ruleForm.thumb = ''"
-              ></i>
-            </div>
-            <i v-else class="el-icon-plus avatar-uploader-icon"></i>
-          </el-upload>
-          <p class="upHint">格式要求:支持png、jpg、gif和jpeg的图片格式;最大支持20M。</p>
-        </el-form-item> -->
-        <!-- 上传附件 -->
-        <el-form-item label="音频文件:">
-          <i class="biaoshi"></i>
-          <el-upload
-            multiple
-            class="upload-demo"
-            :file-list="fileList"
-            :action="baseURL + '/cms/music/video/upload'"
-            :headers="{ token }"
-            :before-upload="beforeFujian"
-            :on-success="successFujian"
-            :before-remove="beforeRemove"
-            :on-remove="handleRemove"
-            :limit="1"
-            :on-exceed="handleExceed"
-            :show-file-list="true"
-          >
-            <el-button size="small" type="primary">点击上传</el-button>
-            <div class="el-upload__tip" slot="tip">
-              <p class="upHint">格式要求:</p>
-              <p class="upHint">1、支持音频格式文件(例如:mp3、wav)。</p>
-              <p class="upHint">2、最大支持10MB的音频文件。</p>
-            </div>
-          </el-upload>
-        </el-form-item>
-        <el-form-item label="歌词:">
-          <i class="biaoshi biaoshi1"></i>
-          <div id="div1" style="z-index: 1"></div>
-        </el-form-item>
-      </el-form>
-      <!-- 底部按钮 -->
-      <div class="con_btn">
-        <el-button type="primary" @click="saveGood">保 存</el-button>
-      </div>
-    </div>
-  </div>
-</template>
-
-<script>
-import { musicSave, musicDetail } from '@/apis/tab6'
-import axios from '@/utils/request'
-import E from 'wangeditor'
-export default {
-  name: 'tab6Add',
-  components: {},
-  data () {
-    return {
-      fileList: [],
-      // 服务器前缀地址
-      baseURL: '',
-      token: '',
-      ruleForm: {
-        name: '',
-        filePath: '',
-        fileName: '',
-        thumb: ''
-      },
-      rules: {
-        name: [{ required: true, message: '不能为空', trigger: 'blur' }]
-      }
-    }
-  },
-  computed: {},
-  methods: {
-    // 点击保存
-    async saveGood () {
-      if (this.ruleForm.name.trim() === '') { return this.$message.warning('标题不能为空') }
-      // if (this.ruleForm.thumb === '') { return this.$message.warning('图片不能为空') }
-      if (this.ruleForm.filePath === '') { return this.$message.warning('音频不能为空') }
-      if (this.editor.txt.html() === '') { return this.$message.warning('歌词不能为空') }
-      const obj = { ...this.ruleForm, description: this.editor.txt.html() }
-      const res = await musicSave(obj)
-      if (res.code === 0) {
-        this.$message.success('操作成功')
-        this.$router.push('/layout/tab6')
-      } else this.$message.warning(res.msg)
-    },
-    // 点击返回
-    goBack () {
-      this.$confirm('点击返回后,编辑的信息将无法保存,是否继续?', '提示', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: 'warning'
-      })
-        .then(async () => {
-          this.$router.push('/layout/tab6')
-        })
-        .catch(() => {
-          this.$message.info('已取消')
-        })
-    },
-    // 上传图片
-    beforethumbUpload (file) {
-      // console.log(998, file)
-      // 限制图片大小和格式
-      const sizeOk = file.size / 1024 / 1024 < 20
-      const typeOk =
-        file.type === 'image/png' ||
-        (file.type === 'image/jpeg' && !file.name.includes('.jfif')) ||
-        file.type === 'image/gif'
-
-      return new Promise((resolve, reject) => {
-        if (!typeOk) {
-          this.$message.error('照片格式有误!')
-          reject(file)
-        } else if (!sizeOk) {
-          this.$message.error('照片大小超过20M!')
-          reject(file)
-        } else {
-          resolve(file)
-        }
-      })
-    },
-    upload_thumb_success (data) {
-      this.$message.success('上传成功')
-      // console.log('图片上传成功', data.data.urlPath)
-      this.ruleForm.thumb = data.data.urlPath
-    },
-    // 上传附件
-    beforeFujian (file) {
-      console.log('附件上传前', file)
-      const sizeOk = file.size / 1024 / 1024 < 10
-      const typeOk =
-        file.type === 'audio/mpeg' ||
-        file.type === 'audio/wav'
-      return new Promise((resolve, reject) => {
-        if (file.name.length > 32) {
-          this.$message.error('音频名字不能超过32个字')
-          reject(file)
-        } else if (!sizeOk) {
-          this.$message.error('音频大小超过10M!')
-          reject(file)
-        } else if (!typeOk) {
-          this.$message.error('音频格式有误!')
-          reject(file)
-        } else {
-          resolve(file)
-        }
-      })
-    },
-    successFujian (file) {
-      console.log('上传附件成功', file)
-      if (file.code === 0) {
-        this.ruleForm.filePath = file.data.urlPath
-        this.ruleForm.fileName = file.data.fileName
-        this.$message.success('上传成功')
-      } else if (file.code === -1) {
-        this.$message.warning('上传失败,不支持的文件格式')
-      }
-    },
-    beforeRemove (file, fileList) {
-      if (file && file.status === 'success') {
-        return this.$confirm(`确定移除 ${file.name}?`)
-      }
-    },
-    handleRemove (file, fileList) {
-      this.ruleForm.filePath = ''
-      this.ruleForm.fileName = ''
-    },
-    handleExceed (files, fileList) {
-      this.$message.warning('只能上传一个音频,请删除原音频后操作')
-    }
-  },
-  // 生命周期 - 创建完成(可以访问当前this实例)
-  created () {
-    // 获取服务器前缀地址
-    this.baseURL = axios.defaults.baseURL
-    // 获取用户token
-    this.token = localStorage.getItem('CQLJXU_token')
-  },
-  // 生命周期 - 挂载完成(可以访问DOM元素)
-  async mounted () {
-    // 初始化富文本
-    // 富文本
-    this.editor = new E('#div1')
-    // 配置字体
-    this.editor.config.fontNames = [
-      '黑体',
-      '仿宋',
-      '楷体',
-      '标楷体',
-      '华文仿宋',
-      '华文楷体',
-      '宋体',
-      '微软雅黑',
-      'Arial',
-      'Tahoma',
-      'Verdana',
-      'Times New Roman'
-    ]
-    this.editor.config.showLinkVideo = false
-    this.editor.create()
-    // 如果是编辑
-    if (this.$route.query.id) {
-      const res = await musicDetail(Number(this.$route.query.id))
-      this.ruleForm = res.data
-      console.log(998, res)
-      // 富文本回显
-      this.editor.txt.html(res.data.description)
-      // 附件回显
-      this.fileList = [{ name: res.data.fileName }]
-    }
-  },
-  beforeCreate () {}, // 生命周期 - 创建之前
-  beforeMount () {}, // 生命周期 - 挂载之前
-  beforeUpdate () {}, // 生命周期 - 更新之前
-  updated () {}, // 生命周期 - 更新之后
-  beforeDestroy () {}, // 生命周期 - 销毁之前
-  destroyed () {}, // 生命周期 - 销毁完成
-  activated () {} // 如果页面有keep-alive缓存功能,这个函数会触发
-}
-</script>
-<style lang='less' scoped>
-.tab6Add {
-  height: 100%;
-  .conten {
-    overflow-y: auto;
-    position: relative;
-    /deep/.el-icon-plus {
-      border: 1px dashed #ccc;
-    }
-    height: calc(100% - 32px);
-    .con_top {
-      margin-bottom: 12px;
-      height: 40px;
-      line-height: 40px;
-      padding-left: 20px;
-      background-color: #fbfbfb;
-    }
-    .biaoshi1::before {
-      left: -64px;
-    }
-    .avatar-uploader .el-upload {
-      border-radius: 6px;
-      cursor: pointer;
-      position: relative;
-      overflow: hidden;
-    }
-    .avatar-uploader .el-upload:hover {
-      border-color: #3e5eb3;
-    }
-    .avatar-uploader-icon {
-      font-size: 28px;
-      color: #8c939d;
-      width: 178px;
-      height: 178px;
-      line-height: 178px;
-      text-align: center;
-    }
-    .con_btn {
-      width: 80px;
-      margin: 0 auto;
-      margin-bottom: 20px;
-    }
-    #div1{
-      width: 1200px;
-    }
-    .imgdiv {
-      max-width: 200px;
-      max-height: 200px;
-      & > img {
-        border: 5px solid #ccc;
-      }
-    }
-    .el-icon-circle-close {
-      font-size: 24px;
-    }
-  }
-}
-</style>

+ 0 - 125
houtai/src/views/tab6/tab6Look.vue

@@ -1,125 +0,0 @@
-<!--  -->
-<template>
-  <div class="tab6Look">
-    <div class="insideTop">
-      校歌管理 > 查看音频
-      <div class="add">
-        <el-button type="primary" @click="$router.push('/layout/tab6')"
-          >返 回</el-button
-        >
-      </div>
-    </div>
-    <div class="obstruct"></div>
-    <!-- 主要内容 -->
-    <div class="conten">
-      <div class="con_top">基本信息</div>
-      <div class="row">
-        <div>标题:</div>
-        <span>{{myObj.name}}</span>
-      </div>
-      <!-- <div class="row">
-        <div>封面:</div>
-        <el-image
-          v-if="srcList.length!==0"
-          style="width: 200px; height: 200px"
-          :src="srcList[0]"
-          :preview-src-list="srcList"
-        >
-        </el-image>
-      </div> -->
-      <div class="row">
-        <div>音频文件:</div>
-        <a :href="baseURL+myObj.filePath" download>{{myObj.fileName}}</a>
-      </div>
-      <div class="row">
-        <div>歌词:</div>
-        <div class="lyric" v-html="myObj.description">
-        </div>
-      </div>
-      <div class="row">
-        <div>显示设置:</div>
-        <el-switch disabled v-model="myObj.display" active-color="#b9412e" :active-value='1' :inactive-value='0'> </el-switch>
-      </div>
-    </div>
-  </div>
-</template>
-
-<script>
-import axios from '@/utils/request'
-import { musicDetail } from '@/apis/tab6'
-export default {
-  name: 'tab6Look',
-  components: {},
-  data () {
-    // 这里存放数据
-    return {
-      baseURL: '',
-      myObj: {},
-      srcList: []
-    }
-  },
-  // 监听属性 类似于data概念
-  computed: {},
-  // 监控data中的数据变化
-  watch: {},
-  // 方法集合
-  methods: {
-
-  },
-  // 生命周期 - 创建完成(可以访问当前this实例)
-  async created () {
-    // 获取服务器前缀地址
-    this.baseURL = axios.defaults.baseURL
-    // 通过父亲传过来的id获取详情
-    if (this.$route.query.id) {
-      const res = await musicDetail(Number(this.$route.query.id))
-      this.myObj = res.data
-      this.srcList = [this.baseURL + res.data.thumb]
-    }
-  },
-  // 生命周期 - 挂载完成(可以访问DOM元素)
-  mounted () {},
-  beforeCreate () {}, // 生命周期 - 创建之前
-  beforeMount () {}, // 生命周期 - 挂载之前
-  beforeUpdate () {}, // 生命周期 - 更新之前
-  updated () {}, // 生命周期 - 更新之后
-  beforeDestroy () {}, // 生命周期 - 销毁之前
-  destroyed () {}, // 生命周期 - 销毁完成
-  activated () {} // 如果页面有keep-alive缓存功能,这个函数会触发
-}
-</script>
-<style lang='less' scoped>
-.tab6Look {
-  height: 100%;
-  .conten {
-    overflow-y: auto;
-    position: relative;
-    height: calc(100% - 32px);
-    .con_top {
-      margin-bottom: 12px;
-      height: 40px;
-      line-height: 40px;
-      padding-left: 20px;
-      background-color: #fbfbfb;
-    }
-    .row {
-      display: flex;
-      margin: 25px 0;
-      & > div {
-        width: 120px;
-        text-align: right;
-      }
-      .lyric{
-        padding: 5px;
-        text-align: left;
-        width: auto;
-        min-width: 600px;
-        border: 1px solid #ccc;
-        &>p{
-          margin: 5px;
-        }
-      }
-    }
-  }
-}
-</style>