From ef48e4b7a4d34e63ffd2cb23c406f4da6eb72ed7 Mon Sep 17 00:00:00 2001 From: licp <lichunping@guanfang.com.cn> Date: 星期二, 14 五月 2024 13:42:26 +0800 Subject: [PATCH] 优化消息管理,标准库管理 --- src/components/view/index-index.vue | 105 ++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 92 insertions(+), 13 deletions(-) diff --git a/src/components/view/index-index.vue b/src/components/view/index-index.vue index c222aeb..f1b2499 100644 --- a/src/components/view/index-index.vue +++ b/src/components/view/index-index.vue @@ -281,7 +281,7 @@ </div> <div class="mun"> <p style="font-size: 20px;">254</p> - <p style="font-size: 14px;margin-bottom: 10px;">鎴戠殑浠e姙</p> + <p style="font-size: 14px;margin-bottom: 10px;">鎴戠殑寰呭姙</p> </div> </div> <div class="right-1-item"> @@ -350,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> @@ -405,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:'', @@ -424,11 +434,23 @@ weekdays:[], listScheduleByMe:[], scheduleLoading:false, + list:[], + currentPage:1, + pageSize: 8, // 涓�椤�7鏉� + total: null, + listLoading: true, // 缁勪欢loading鐨勫睍绀�,榛樿涓簍rue + finishLoding: false, // 鍔犺浇瀹屾垚锛屾樉绀哄凡缁忔病鏈夋洿澶氫簡 + timer:null } }, watch:{ calendarValue(val){ this.getScheduleByMe() + }, + currentIndex(){ + this.currentPage = 1; + this.list = []; + this.getList(); } }, mounted() { @@ -437,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+'¤t='+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(); @@ -562,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] }) }) }, @@ -570,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 浠h〃鏄熸湡鏃ュ埌鏄熸湡鍏� weekdays.push(day); } + weekdays.reverse() weekdays = weekdays.map(m=>{ let day ='' switch (m) { @@ -624,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> -- Gitblit v1.9.3