记录-- 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: '园地',
}
]
记录-- vue+element树节点的标注的更多相关文章
- vue+element树组件 实现树懒加载
本文连接https://www.cnblogs.com/aknife/p/11709255.html 一.页面样式 二.数据库 三.前端页面代码 <template> <el-tre ...
- 循序渐进VUE+Element 前端应用开发(8)--- 树列表组件的使用
在我前面随笔<循序渐进VUE+Element 前端应用开发(6)--- 常规Element 界面组件的使用>里面曾经介绍过一些常规的界面组件的处理,主要介绍到单文本输入框.多文本框.下拉列 ...
- 循序渐进VUE+Element 前端应用开发(12)--- 整合ABP框架的前端登录处理
VUE+Element 前端是一个纯粹的前端处理,前面介绍了很多都是Vue+Element开发的基础,从本章随笔开始,就需要进入深水区了,需要结合ABP框架使用(如果不知道,请自行补习一下我的随笔:A ...
- 循序渐进VUE+Element 前端应用开发(26)--- 各种界面组件的使用(2)
在我们使用Vue+Element开发前端的时候,往往涉及到很多界面组件的使用,其中很多直接采用Element官方的案例即可,有些则是在这个基础上封装更好利用.更少代码的组件:另外有些则是直接采用第三方 ...
- VUE+Element 前端应用开发框架功能介绍
前面介绍了很多ABP系列的文章<ABP框架使用>,一步一步的把我们日常开发中涉及到的Web API服务构建.登录日志和操作审计日志.字典管理模块.省份城市的信息维护.权限管理模块中的组织机 ...
- 循序渐进VUE+Element 前端应用开发(13)--- 前端API接口的封装处理
在前面随笔<循序渐进VUE+Element 前端应用开发(12)--- 整合ABP框架的前端登录处理>介绍了一个系统最初接触到的前端登录处理的实现,但往往对整个系统来说,一般会有很多业务对 ...
- 循序渐进VUE+Element 前端应用开发(14)--- 根据ABP后端接口实现前端界面展示
在前面随笔<循序渐进VUE+Element 前端应用开发(12)--- 整合ABP框架的前端登录处理>简单的介绍了一个结合ABP后端的登陆接口实现前端系统登陆的功能,本篇随笔继续深化这一主 ...
- 循序渐进VUE+Element 前端应用开发(18)--- 功能点管理及权限控制
在一个业务管理系统中,如果我们需要实现权限控制功能,我们需要定义好对应的权限功能点,然后在界面中对界面元素的功能点进行绑定,这样就可以在后台动态分配权限进行动态控制了,一般来说,权限功能点是针对角色进 ...
- 循序渐进VUE+Element 前端应用开发(19)--- 后端查询接口和Vue前端的整合
循序渐进VUE+Element 前端应用开发的系列文章中,前面介绍了系统各个功能的处理实现,本篇随笔从一个主线上介绍前后端开发的整合,让我们从ABP框架后端的查询接口的处理,前端API接口调用的封装, ...
随机推荐
- JSTL标签语言
******概述: JSTL是apache对EL表达式的扩展(也就是说JSTL依赖EL),JSTL是标签语言! JSTL标签使用以来非常方便,它与JSP动作标签一定,只不过它不是JSP内置的标签,需要 ...
- 【学习】linux环境下nginx文件彻底删除
nginx卸载其实很简单,只需要两步即可完成!第一步:输入以下指令全局查找nginx相关的文件: sudo find / -name nginx* 第二步:删除查找出来的所有nginx相关文件 sud ...
- pom.xml报Plugin execution not covered by lifecycle configuration错误
环境 eclipse 4.3.0 maven 3.0.4 m2e 1.4.0 出现场景 以前的老项目,在我的环境(我的环境较新)下,别人老环境不报错. 错误示 ...
- python开发环境的搭建,以及pycharm的安装
先到python 官网下载python. 下载好了之后,直接运行exe文件,进行安装(在安装程序运行后的第一个form上,点击next的时候,在next的左侧有一排文字和一个复选框,那个是添加环境变量 ...
- [Java]算术表达式求值之一(中序表达式转后序表达式方案)
第二版请见:https://www.cnblogs.com/xiandedanteng/p/11451359.html 入口类,这个类的主要用途是粗筛用户输入的算术表达式: package com.h ...
- leetcode 160相交链表
暴力解法当然可以遍历两个链表,不过time O(mn) space O(1)暂且不说, 方法一:双指针, time O(m+n),space O(1) 可以对比判断环形链表的快慢指针法. 这种方法构思 ...
- leetcode 347前k个高频元素
通过hash map遍历一遍存储出现的次数,通过小顶堆存储k个元素 //设想利用hash map来存储每个元素的个数:采用小顶堆存储k个元素:timeO(n+klogk)spaceO(n+k) cla ...
- VS2017 -error LNK1104: 无法打开文件“msvcprtd.lib”
原文地址:https://blog.csdn.net/u012308586/article/details/89309495 VS2017 -error LNK1104 无法打开文件“msvcprtd ...
- python之注释的分类
<1> 单行注释 以#开头,#右边的所有东西当做说明,而不是真正要执行的程序,起辅助说明作用 # 我是注释,可以在里写一些功能说明之类的哦 print('hello world') < ...
- Python之 反射、迭代器、生成器
反射 反射就是通过 内置函数getattr() 以字符串的形式导入模块,以字符串的形式调用模块/对象里方法 l=['add','del','set','find'] for i in l: print ...