| | |
| | | border-radius: 16px; |
| | | overflow: hidden; |
| | | margin-bottom: 8px; |
| | | cursor: pointer; |
| | | } |
| | | .body-item.color0{ |
| | | background: #70A090; |
| | |
| | | text-align: left; |
| | | margin-bottom: 10px; |
| | | } |
| | | >>>.is-selected .el-calendar-day{ |
| | | background: #0166E2 !important; |
| | | color: #fff !important; |
| | | >>>.el-calendar-day span{ |
| | | display: inline-block; |
| | | width: 30px; |
| | | height: 30px; |
| | | line-height: 30px; |
| | | text-align: center; |
| | | border-radius: 4px; |
| | | } |
| | | >>>.el-calendar-day:hover{ |
| | | background: #0166E2 !important; |
| | | >>>.is-selected{ |
| | | background: transparent !important; |
| | | } |
| | | >>>.is-selected .el-calendar-day{ |
| | | background: transparent !important; |
| | | } |
| | | >>>.is-selected .el-calendar-day span{ |
| | | background: #3A7BFA !important; |
| | | color: #fff !important; |
| | | border-radius: 4px; |
| | | } |
| | | >>>.el-calendar-day:hover{ |
| | | background: transparent; |
| | | } |
| | | >>>.el-calendar-day span:hover{ |
| | | background: #3A7BFA !important; |
| | | color: #fff !important; |
| | | } |
| | | >>>.el-tag--dark{ |
| | | border: 0; |
| | | } |
| | | </style> |
| | | |
| | |
| | | <div class="left-item-title"> |
| | | <span style="font-size: 18px;">{{ item }}</span> |
| | | <span style="font-size: 14px;color: #999999;">{{ weekdays[index] }}</span> |
| | | <el-tag style="margin-top: 6px;" size="small">{{workList[index].length}} 条</el-tag> |
| | | </div> |
| | | <div class="left-item-body"> |
| | | <div class="body-item" v-for="(m,i) in workList[index]" :key="i" :class="{color0:m.type==0,color1:m.type==1,color2:m.type==2}"> |
| | | <div class="body-item" v-for="(m,i) in workList[index]" :key="i" :class="{color0:m.type==0,color1:m.type==1,color2:m.type==2}" @click="goAddList(m)"> |
| | | <div> |
| | | <span style="font-size: 12px;margin-bottom: 17px;">{{ m.text }}</span> |
| | | <span style="display: inline-block;height: 24px;width: 24px;border-radius: 50%;line-height: 24px;text-align: center;background: #C0C4CC;color: #fff;">{{ m.name.charAt(0) }}</span> |
| | | <span style="font-size: 12px;margin-bottom: 8px;">{{ m.text }}</span> |
| | | <div class="tags" style="display: flex;align-items: end;flex-wrap: wrap;margin-bottom: 8px;"> |
| | | <el-tooltip class="item" effect="dark" :content="item" placement="top" v-for="(item,index) in m.sample?m.sample.split(','):[]" |
| | | :key="index"> |
| | | <el-tag |
| | | :color="m.type==0?'#70A090':(m.type==1?'#EBD476':'#FF3838')" |
| | | effect="dark" size="mini" style="margin: 2px;" class="single-line-ellipsis"> |
| | | {{ item }} |
| | | </el-tag> |
| | | </el-tooltip> |
| | | </div> |
| | | <span style="display: inline-block;height: 22px;width: 70px;border-radius: 10px;line-height: 22px;text-align: center;background: #C0C4CC;color: #fff;font-size: 14px;">{{ m.name }}</span> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | <img src="../../../static/img/index-0.svg" alt=""> |
| | | </div> |
| | | <div class="mun"> |
| | | <p style="font-size: 20px;">0</p> |
| | | <p style="font-size: 20px;">{{getNumberFourTypes.totalNumberOfMessages}}</p> |
| | | <p style="font-size: 14px;margin-bottom: 10px;">我的待办</p> |
| | | </div> |
| | | </div> |
| | |
| | | <img src="../../../static/img/index-1.svg" alt=""> |
| | | </div> |
| | | <div class="mun"> |
| | | <p style="font-size: 20px;">0</p> |
| | | <p style="font-size: 20px;">{{ getNumberFourTypes.totalNumberOfReadMessages }}</p> |
| | | <p style="font-size: 14px;margin-bottom: 10px;">已办事宜</p> |
| | | </div> |
| | | </div> |
| | |
| | | <img src="../../../static/img/index-2.svg" alt=""> |
| | | </div> |
| | | <div class="mun"> |
| | | <p style="font-size: 20px;">0</p> |
| | | <p style="font-size: 20px;">{{ getNumberFourTypes.remainingToDo }}</p> |
| | | <p style="font-size: 14px;margin-bottom: 10px;">剩余待办</p> |
| | | </div> |
| | | </div> |
| | |
| | | <img src="../../../static/img/index-3.svg" alt=""> |
| | | </div> |
| | | <div class="mun"> |
| | | <p style="font-size: 20px;">0</p> |
| | | <p style="font-size: 20px;">{{ getNumberFourTypes.totalNumberOfMessagesInThePastSevenDays }}</p> |
| | | <p style="font-size: 14px;margin-bottom: 10px;">近期事宜</p> |
| | | </div> |
| | | </div> |
| | |
| | | <p class="ellipsis-multiline" >{{ m.text }}</p> |
| | | </el-tooltip> |
| | | </div> |
| | | <span style="color:rgb(153, 153, 153);font-size: 12px;text-align: center;margin: 120px 0;display: inline-block;width: 100%;" v-if="listScheduleByMe.length==0">暂无</span> |
| | | <span style="color:rgb(144, 147, 153);font-size: 14px;text-align: center;margin: 120px 0;display: inline-block;width: 100%;" v-if="listScheduleByMe.length==0">暂无数据</span> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | <div class="tab-item" style="cursor: pointer;" :class="{active:currentIndex==5}" @click="currentIndex=5">通知通告</div> |
| | | </div> |
| | | <div class="right-3-list" v-loading="listLoading"> |
| | | <scroll-pagination @load="getList" :finishLoding="finishLoding"> |
| | | <scroll-pagination @load="getList" :finishLoding="finishLoding" :list="list" v-if="list.length>0||listLoading"> |
| | | <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=""> |
| | |
| | | <div class="body" style="max-height: 60vh;"> |
| | | <el-row> |
| | | <el-col class="search_thing" :span="22"> |
| | | <div class="search_label">时间:</div> |
| | | <div class="search_label"><span style="color: red;margin-right: 4px;">*</span>时间:</div> |
| | | <div class="search_input"> |
| | | <el-date-picker |
| | | v-model="query.time" |
| | |
| | | </div> |
| | | </el-col> |
| | | <el-col class="search_thing" :span="22"> |
| | | <div class="search_label">内容:</div> |
| | | <div class="search_label"><span style="color: red;margin-right: 4px;">*</span>内容:</div> |
| | | <div class="search_input"> |
| | | <el-input v-model="query.text" size="small" placeholder="请输入内容"></el-input> |
| | | <el-input v-model="query.text" type="textarea" |
| | | :rows="2" size="small" placeholder="请输入内容"></el-input> |
| | | </div> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | total: null, |
| | | listLoading: true, // 组件loading的展示,默认为true |
| | | finishLoding: false, // 加载完成,显示已经没有更多了 |
| | | timer:null |
| | | timer:null, |
| | | keyMap:{}, |
| | | getNumberFourTypes: {}, |
| | | } |
| | | }, |
| | | watch:{ |
| | |
| | | this.getScheduleByMe() |
| | | }, |
| | | currentIndex(){ |
| | | this.keyMap = {} |
| | | this.currentPage = 1; |
| | | this.list = []; |
| | | this.getList(); |
| | |
| | | this.weekdays = this.getWeekdaysForNextWeek() |
| | | this.init(); |
| | | this.currentPage = 1; |
| | | this.keyMap = {} |
| | | this.list = []; |
| | | this.getList(); |
| | | this.getScheduleByMe() |
| | |
| | | this.timer = setInterval(() => { |
| | | this.init(); |
| | | this.currentPage = 1; |
| | | this.keyMap = {} |
| | | this.list = []; |
| | | this.getList(); |
| | | this.getScheduleByMe() |
| | | },1000*60*10) |
| | | this.getNumberFourTypesFun() |
| | | }, |
| | | methods: { |
| | | getNumberFourTypesFun() { |
| | | this.$axios.get(this.$api.informationNotification.getNumberFourTypesMessagesHomePage).then(res => { |
| | | this.getNumberFourTypes = res.data |
| | | }) |
| | | }, |
| | | getList(){ |
| | | const key = `_${this.currentPage}` |
| | | const value = this.keyMap[key] |
| | | // 如果value存在,表示缓存有值,那么阻止请求 |
| | | if(value) { |
| | | return |
| | | } |
| | | // value不存在,表示第一次请求,设置占位 |
| | | this.keyMap[key] = 'temp' |
| | | if(this.currentPage==1){ |
| | | this.listLoading = true |
| | | } |
| | |
| | | }) |
| | | }, |
| | | goNoticeDetail(row){ |
| | | this.$axios.put(this.$api.informationNotification.triggerModificationStatusToRead+'/'+row.id).then(res => { |
| | | row.num = Math.random(100); |
| | | 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); |
| | | }) |
| | | }, |
| | | goAddList(row){ |
| | | this.$bus.$emit("change", JSON.stringify(row)); |
| | | this.$parent.addTab({ |
| | | v: "消息详情", |
| | | i: "el-icon-s-tools", |
| | | u: "notice-detail", |
| | | k:35, |
| | | p: "abcd" |
| | | },29); |
| | | }) |
| | | }, |
| | | this.$parent.addTab({ |
| | | v: "检验下单", |
| | | i: "font icon-erjidaohang", |
| | | u: "b1-inspection-order", |
| | | k:3, |
| | | p: "selectInsOrderParameter", |
| | | param:{ |
| | | text:row.text |
| | | } |
| | | },1); |
| | | } |
| | | }, |
| | | deactivated(){ |
| | | this.timer&&clearInterval(this.timer) |