zoukankan      html  css  js  c++  java
  • 记录 vue+element树节点的标注

    html(背景:状态标注3钟颜色红黄绿对应0,1,2,)

    	<el-tree 
    					@check="slclasscheck" 
    					v-if="treeShow" 
    					:data="slclass"  
    					show-checkbox  
    					node-key="id" 
    					:default-expanded-keys="baseCheckedKeys" 
    					:default-checked-keys="baseCheckedKeys" 
    					ref="bstree">
                        <span class="custom-tree-node" slot-scope="obj">
                            <span style="user-select: none;">{{obj.data && obj.data.label}}</span>
                            <span v-if="obj.data.num!=0&&obj.data.state==0" class="red-circle"></span>
                            <span v-else-if="obj.data.num!=0&&obj.data.state==1" class="yellow-circle"></span>
                            <span v-else-if="obj.data.num!=0&&obj.data.state==2" class="gray-circle"></span>
                        </span>
                    </el-tree>
    

    在index.html引入需要数据slclass.js

      <script type="text/javascript" src="js/slclass.js"></script>
    

    js

          // 状态获取
          getState: function(obj, id, over, mid, err) {
            if (over.indexOf(id) != -1) {
              obj.state = 0;
            } else if (mid.indexOf(id) != -1) {
              obj.state = 1;
            } else if (err.indexOf(id) != -1) {
              obj.state = 2;
            }
          },
          // 获取子站数目
          getNum:function (data,id,obj) {
              for (let i = 0; i < 3; i++) {
                 for(let key in data[i]){
                     if(id &&id==key){
                      obj.num=data[i][key]
                     }else{
                         let arr=obj.children
                         if(arr){
                             arr.forEach(a => {
                                 if(a.id==key){
                                     a.num=data[i][key]
                                 }
                             });
                         }
                     }
                 }
             }
          },
          // 获取预警统计数目
          getWarnCount: function() {
        //模拟数据
            var data = {
              "0": {
                waterQuality1: 1,     //数目为0时不做标注
              },
              "1": {
                waterQuality1: 12,//数目为0时不做标注
              },
              "2": {
                waterQuality1: 18,//数目为0时不做标注
              }
            };
            var over = [];
            var mid = [];
            var err = [];
            function classify(array, i) {
              for (let key in data[i]) {
                array.push(key);
              }                
            }
            classify(over, 0);
            classify(mid, 1);
            classify(err, 2);
            
            slclass.forEach(obj => {
              let id = obj.id;
              this.getNum(data,id,obj)
              if (id) {
                this.getState(obj, id, over, mid, err);
              } else {
                if (obj.children) {
                  let arr = obj.children;
                  arr.forEach(a => {
                    this.getState(a, a.id, over, mid, err);
                  });
                }
              }
            });
          },
    		created(){
                         this.getWarnCount();
    			this.slclass = slclass
    		},
    

    slclass内容

    var slclass = [
        {
            label: "地表水质监测",
            children: [
                {
                    id: "waterQuality1",
                    label: "水质集装箱站",
                },
                {
                    id: "waterQuality2",
                    label: "水质微型站",
                },
            ]
        },
        {
            label: "土壤采样点",
            children: [
                {
                    label: "园地采样点",
                    disabled: true
                },
                {
                    label: "水源地二级保护区采样点",
                    disabled: true
                }
            ]
        },
        {
            id: '雨量',
            label: '园地',
        }
    ]
    
  • 相关阅读:
    常量,基本运算符,if判断,while循环
    python解释器的垃圾回收机制,小整数池,变量的三个特性,is与==,与用户交互,数据类型的基本使用,基本运算符
    编程语言的分类,python解释器多版本共存.执行python的两种方式,变量,用户与程序交互
    编程简介
    bootstrap 无限极菜单
    JQuery lhgdialog使用
    mysql 不是主键不能删除的保护问题解决办法?
    遍历所有的选中的radio的个数和值
    MySQL 的 RowNum 实现
    Ibatis 测试出SQL
  • 原文地址:https://www.cnblogs.com/wwj007/p/11352391.html
Copyright © 2011-2022 走看看