<template>
  <div>
    <div class="con-title">公告通知</div>
    <div class="con-box">
      <el-collapse accordion v-model="activeNames" @change="handleChange">
        <template v-for="(item, index) in msgList">
          <el-collapse-item v-bind:key="index" :name="index">
            <template slot="title">
              <template v-if="!item.isShow">
                <el-badge is-dot class="item">{{ item.title }}</el-badge>
              </template>
              <template v-if="item.isShow">
                {{ item.title }}
              </template>
            </template>
            <div v-html="item.text"></div>
          </el-collapse-item>
        </template>
      </el-collapse>
      <div style="height: 0.3rem;"></div>
      <el-pagination
        :current-page.sync="page.currentPage"
        :page-size="page.limit"
        layout="total, prev, pager, next, jumper"
        :total="page.total"
        @current-change="handleCurrentChange"
      ></el-pagination>
    </div>
  </div>
</template>

<script>
import cAction from '@action'

export default {
  components: { },
  data () {
    return {
      activeNames: ['1'],
      msgList: [],
      page: {
        offset: 0,
        total: 0,
        currentPage: 1,
        limit: 10
      }
    }
  },
  mounted () {
    this.getData()
  },
  methods: {
    handleChange (val) {
      if (typeof val === 'number' && this.msgList[val].isShow === 0) {
        cAction.Other.setMsgWmp(this.msgList[val].id).then(json => {
          this.getData()
        }).catch(e => { this.$message.error(e.message) }).finally(() => { })
      }
    },
    getData (obj) {
      // const json = {
      //   read_time: 0
      // }
      cAction.Other.getMyMsg(obj).then(json => {
        this.msgList = json.list
        this.$store.commit('myMsg', json.countNum)
      }).catch(e => { this.$message.error(e.message) }).finally(() => { })
    },
    handleCurrentChange() {
      this.page.offset = (this.page.currentPage - 1) * this.page.limit
      this.getData()
    }
  }
}
</script>

<style lang="scss">
.el-collapse-item__header{
  line-height: 15px;
}
.total-core, .compulsory-core, .elective-core {
  margin-top: 0.1rem;
  font-size: 16px;
  line-height: 36px;
  .title {
    float: left;
    // margin-left: 5px;
  }
  .core {
    float: right;
    margin-right: 3px;
    font-size: 12px;
  }
}
.color-box {
  padding: 0.1rem 0 0.2rem 0;
  text-align: right;
  .color {
    display: inline-block;
    vertical-align: text-bottom;
    width: 14px;
    height: 14px;
  }
  .txt {
    display: inline-block;
    padding: 0 0.2rem 0 0.1rem;
    font-size: 14px;
    line-height: 36px;
  }
}
</style>
