| | |
| | | <span>{{ itemHome.name }}</span> |
| | | </template> |
| | | </el-menu-item> |
| | | <el-menu-item index="0" @click="openTodo(itemHome)"> |
| | | |
| | | <template #title> |
| | | <el-badge :value="logsLen" :max="99" :offset="[10, 15]" class="todoItems"> |
| | | <el-tooltip |
| | | class="box-item" |
| | | effect="dark" |
| | | :content="`您有${logsLen}条任务需要处理`" |
| | | placement="top-start" |
| | | > |
| | | {{ itemTodo.name }} |
| | | </el-tooltip> |
| | | </el-badge> |
| | | <!-- <span >{{ itemTodo.name }}</span>--> |
| | | |
| | | |
| | | |
| | | </template> |
| | | </el-menu-item> |
| | | |
| | | <template v-for="(item, index) in items" :key="index"> |
| | | <el-menu-item :index="item.id + ''" @click="openMenu(item)"> |
| | |
| | | </el-menu> |
| | | </template> |
| | | |
| | | <style lang="scss" scoped> |
| | | .todoItems { |
| | | margin-left:15px; |
| | | } |
| | | </style> |
| | | <script> |
| | | import { mapGetters } from 'vuex'; |
| | | |
| | | import { getList } from '@/api/flow/todolist'; //任务提醒 |
| | | export default { |
| | | name: 'top-menu', |
| | | data() { |
| | |
| | | name: '首页', |
| | | source: 'iconfont iconicon_work', |
| | | }, |
| | | itemTodo: { |
| | | name: '任务提醒', |
| | | source: 'iconfont iconicon_work', |
| | | }, |
| | | activeIndex: '0', |
| | | items: [], |
| | | |
| | | logsLen: 0,//任务提醒数量 |
| | | intervalId : undefined |
| | | }; |
| | | }, |
| | | inject: ['index'], |
| | | |
| | | created() { |
| | | this.getMenu(); |
| | | |
| | | this.getCount(); |
| | | |
| | | window.remindIntervalId = setInterval(() => { |
| | | this.getCount(); |
| | | }, 2*60*1000)// |
| | | window.myemitter.on('todochange', (data)=>{ |
| | | this.getCount(); |
| | | }); |
| | | }, |
| | | |
| | | computed: { |
| | | ...mapGetters(['tagCurrent', 'menu', 'tagWel']), |
| | | }, |
| | |
| | | this.items = res; |
| | | }); |
| | | }, |
| | | openTodo() { |
| | | this.$router.push({ path: '/flow/todoindex' }); |
| | | //this.box = false; |
| | | }, |
| | | getCount() { |
| | | try{ |
| | | getList(1,10).then((res) => { |
| | | this.logsLen = res.data.data.total; |
| | | this.dataList = res.data.data.records; |
| | | }).catch(e=>{ |
| | | console.log('3333',this.intervalId) |
| | | clearInterval(this.intervalId); |
| | | }); |
| | | }catch(e2){ |
| | | console.log('e2',e2); |
| | | } |
| | | } |
| | | }, |
| | | }; |
| | | </script> |