licp
2024-05-14 ef48e4b7a4d34e63ffd2cb23c406f4da6eb72ed7
src/components/view/index-index.vue
@@ -182,6 +182,7 @@
  }
  .left-2-item{
    border-right: 1px solid #F1F1F1;
    overflow: hidden !important;
  }
  .left-2-item:nth-last-child(1){
    border-right: 0;
@@ -255,7 +256,7 @@
                  </div>
               </div>
            </div>
        <div class="left-2 card" v-loading="workLoading">
        <div class="left-2 card" v-loading="workLoading" style="overflow: hidden;">
          <div class="left-2-item" v-for="(item,index) in workDay" :key="index">
            <div class="left-item-title">
              <span style="font-size: 18px;">{{ item }}</span>
@@ -280,7 +281,7 @@
            </div>
            <div class="mun">
              <p style="font-size: 20px;">254</p>
              <p style="font-size: 14px;margin-bottom: 10px;">我的代办</p>
              <p style="font-size: 14px;margin-bottom: 10px;">我的待办</p>
            </div>
          </div>
          <div class="right-1-item">
@@ -349,20 +350,26 @@
        </div>
        <div class="right-3 card" style="overflow: hidden;">
          <div class="right-3-tab">
            <div class="tab-item" style="cursor: pointer;" :class="{active:currentIndex==0}" @click="currentIndex=0">预警提醒 10</div>
            <div class="tab-item" style="cursor: pointer;" :class="{active:currentIndex==1}" @click="currentIndex=1">通知通告 12</div>
            <div class="tab-item" style="cursor: pointer;" :class="{active:currentIndex==4}" @click="currentIndex=4">预警提醒</div>
            <div class="tab-item" style="cursor: pointer;" :class="{active:currentIndex==5}" @click="currentIndex=5">通知通告</div>
          </div>
          <div class="right-3-list">
            <div class="list3-item" v-for="(m,i) in 5" :key="i">
          <div class="right-3-list" v-loading="listLoading">
            <scroll-pagination @load="getList" :finishLoding="finishLoding">
              <div class="list3-item" v-for="(m,i) in list" :key="i">
              <div class="list3-item-title">
                <img src="../../../static/img/index-tip.svg" alt="">
                <p>设备到期提醒</p>
                <p>{{ m.theme }}</p>
              </div>
              <div class="list3-item-info">
                <p style="width: 73%;-webkit-line-clamp: 1;" class="ellipsis-multiline">编号<span style="color:#3A7BFA;"> SB20240101-001 </span>的设备将于2023-09-09 11:11:11过期</p>
                <p>2023-09-09 09:09:09</p>
                <p style="width: 73%;-webkit-line-clamp: 1;cursor: pointer;" class="ellipsis-multiline" @click="goNoticeDetail(m)">
                  <!-- 编号<span style="color:#3A7BFA;"> SB20240101-001 </span>的设备将于2023-09-09 11:11:11过期 -->
                  {{ m.content }}
                </p>
                <p>{{ m.createTime }}</p>
              </div>
            </div>
            </scroll-pagination>
            <div v-if="list.length<1&&!listLoading" style="color:#909399;font-size:14px;text-align: center;margin-top:80px" >暂无数据</div>
          </div>
        </div>
      </el-col>
@@ -404,13 +411,17 @@
  import {
      getYearAndMonthAndDays
   } from '../../util/date'
  import ScrollPagination from '../tool/scroll-paging.vue'
   export default {
    components: {
      ScrollPagination
    },
      data() {
         return {
            user: {},
            now: null,
        calendarValue: new Date(),
        currentIndex:0,
        currentIndex:4,
        dialogVisible:false,
        query:{
          time:'',
@@ -423,11 +434,23 @@
        weekdays:[],
        listScheduleByMe:[],
        scheduleLoading:false,
        list:[],
        currentPage:1,
        pageSize: 8, // 一页7条
        total: null,
        listLoading: true, // 组件loading的展示,默认为true
        finishLoding: false, // 加载完成,显示已经没有更多了
        timer:null
         }
      },
    watch:{
      calendarValue(val){
        this.getScheduleByMe()
      },
      currentIndex(){
        this.currentPage = 1;
        this.list = [];
        this.getList();
      }
    },
      mounted() {
@@ -436,11 +459,50 @@
         setInterval(() => {
            this.nowTime()
         }, 1000)
      this.init();
      this.weekdays = this.getWeekdaysForNextWeek()
      this.init();
      this.currentPage = 1;
      this.list = [];
      this.getList();
      this.getScheduleByMe()
      this.timer&&clearInterval(this.timer)
      this.timer = setInterval(() => {
        this.init();
        this.currentPage = 1;
        this.list = [];
        this.getList();
        this.getScheduleByMe()
      },1000*60*10)
      },
      methods: {
      getList(){
        if(this.currentPage==1){
          this.listLoading = true
        }
        if(this.list.length==0){
          this.finishLoding = false;
        }
        this.$axios.get(this.$api.informationNotification.page+'?size='+this.pageSize+'&current='+this.currentPage+'&messageType='+this.currentIndex).then(res => {
          if(res.code === 201){
            return
          }
          let list = res.data.records;
          this.total = res.data.total;
          if(list.length==0){
            this.finishLoding = true;
          }else{
            if(list.length<this.pageSize){
              this.finishLoding = true;
            }
            this.list = this.list.concat(list)
            if(this.total==this.list.length){
              this.finishLoding = true;
            }
            this.currentPage++;
          }
          this.listLoading = false
        })
      },
         nowTime() {
            var date = new Date();
            var y = date.getFullYear();
@@ -561,7 +623,8 @@
            this.workList.push(res.data[`work${i}`])
          }
          this.workDay = res.data.weekDays.map(m=>{
            return m[2]
            let arr = m.split('-')
            return arr[2]
          })
        })
      },
@@ -569,10 +632,11 @@
        let weekdays = [];
        for (let i = 0; i < 7; i++) {
          let date = new Date();
          date.setDate(date.getDate() + i); // 今天之后的日子
          date.setDate(date.getDate() - i); // 今天之后的日子
          let day = date.getDay(); // 0-6 代表星期日到星期六
          weekdays.push(day);
        }
        weekdays.reverse()
        weekdays = weekdays.map(m=>{
          let day =''
          switch (m) {
@@ -623,6 +687,22 @@
          })
        })
      },
      }
      goNoticeDetail(row){
      this.$axios.put(this.$api.informationNotification.triggerModificationStatusToRead+'/'+row.id).then(res => {
        row.num = Math.random(100);
        this.$bus.$emit("change", JSON.stringify(row));
        this.$parent.addTab({
          v: "消息详情",
          i: "el-icon-s-tools",
          u: "notice-detail",
          k:35,
          p: "abcd"
        },29);
      })
    },
      },
    deactivated(){
      this.timer&&clearInterval(this.timer)
    }
   }
</script>