|  | @@ -7,8 +7,8 @@
 | 
	
		
			
				|  |  |          <empty v-if="!menuList.length" />
 | 
	
		
			
				|  |  |          <card v-else class="menu-list-item" v-for="(v, i) in menuList" :key="i">
 | 
	
		
			
				|  |  |            <p>{{ v.meta.title }}</p>
 | 
	
		
			
				|  |  | -          <div >
 | 
	
		
			
				|  |  | -            <van-grid :clickable="true" :border="false"  :column-num="3">
 | 
	
		
			
				|  |  | +          <div>
 | 
	
		
			
				|  |  | +            <van-grid :clickable="true" :border="false" :column-num="3">
 | 
	
		
			
				|  |  |                <van-grid-item
 | 
	
		
			
				|  |  |                  clickable
 | 
	
		
			
				|  |  |                  v-for="(item, index) in v.children"
 | 
	
	
		
			
				|  | @@ -16,6 +16,7 @@
 | 
	
		
			
				|  |  |                  :icon="item.meta.icon"
 | 
	
		
			
				|  |  |                  :text="item.meta.title"
 | 
	
		
			
				|  |  |                  :to="item.path"
 | 
	
		
			
				|  |  | +                :badge="item.badge"
 | 
	
		
			
				|  |  |                />
 | 
	
		
			
				|  |  |              </van-grid>
 | 
	
		
			
				|  |  |            </div>
 | 
	
	
		
			
				|  | @@ -23,7 +24,6 @@
 | 
	
		
			
				|  |  |        </Scroll>
 | 
	
		
			
				|  |  |      </div>
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |      <van-dialog v-model="show" title="标题" confirmButtonText="关闭">
 | 
	
		
			
				|  |  |        <p class="text">
 | 
	
		
			
				|  |  |          {{ info }}
 | 
	
	
		
			
				|  | @@ -38,9 +38,10 @@ import Scroll from '@/components/scroll/scroll'
 | 
	
		
			
				|  |  |  import Card from '@/components/card'
 | 
	
		
			
				|  |  |  import { mapGetters } from 'vuex'
 | 
	
		
			
				|  |  |  import { getMenu, getTheAreaWeather } from '@/api/public'
 | 
	
		
			
				|  |  | +import { getDonghuanBadge } from '@/api/iot/donghuan.js'
 | 
	
		
			
				|  |  |  export default {
 | 
	
		
			
				|  |  |    name: 'menus',
 | 
	
		
			
				|  |  | -  components: { TopBar,Scroll,Card},
 | 
	
		
			
				|  |  | +  components: { TopBar, Scroll, Card },
 | 
	
		
			
				|  |  |    data() {
 | 
	
		
			
				|  |  |      return {
 | 
	
		
			
				|  |  |        menuList: [],
 | 
	
	
		
			
				|  | @@ -58,10 +59,38 @@ export default {
 | 
	
		
			
				|  |  |    methods: {
 | 
	
		
			
				|  |  |      getMenuList() {
 | 
	
		
			
				|  |  |        getMenu().then(res => {
 | 
	
		
			
				|  |  | -        this.menuList = res.data;
 | 
	
		
			
				|  |  | -        this.$refs.Scroll.refresh();
 | 
	
		
			
				|  |  | +        this.menuList = res.data
 | 
	
		
			
				|  |  | +        this.$refs.Scroll.refresh()
 | 
	
		
			
				|  |  | +        this.getBadge('/iot/donghuan', getDonghuanBadge)        
 | 
	
		
			
				|  |  |        })
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  | +    getBadge(url, method) {
 | 
	
		
			
				|  |  | +      //获取角标
 | 
	
		
			
				|  |  | +      let menu
 | 
	
		
			
				|  |  | +      for (let mg of this.menuList) {
 | 
	
		
			
				|  |  | +        if (mg.children == null || mg.children.length === 0) {
 | 
	
		
			
				|  |  | +          continue
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        let m = mg.children.find(c => c.path === url)
 | 
	
		
			
				|  |  | +        if (m != null) {
 | 
	
		
			
				|  |  | +          menu = m
 | 
	
		
			
				|  |  | +          break
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      if (menu) {
 | 
	
		
			
				|  |  | +        method(this.orgId).then(r => {
 | 
	
		
			
				|  |  | +          if (r.data) {
 | 
	
		
			
				|  |  | +            menu.badge = r.data
 | 
	
		
			
				|  |  | +          } else {
 | 
	
		
			
				|  |  | +            menu.badge = null
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          
 | 
	
		
			
				|  |  | +          this.$forceUpdate();
 | 
	
		
			
				|  |  | +        })
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  |      onclick() {
 | 
	
		
			
				|  |  |        this.$router.push('/workTime')
 | 
	
		
			
				|  |  |      }
 | 
	
	
		
			
				|  | @@ -70,7 +99,6 @@ export default {
 | 
	
		
			
				|  |  |  </script>
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  <style lang="scss" scoped>
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |  .text {
 | 
	
		
			
				|  |  |    padding: 20px;
 | 
	
		
			
				|  |  |  }
 |