记录-- 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接口调用的封装, ...
随机推荐
- 界面之下:还原真实的 MV* 模式
界面之下:还原真实的MV*模式 作者:戴嘉华 转载请注明出处并保留原文链接( https://github.com/livoras/blog/issues/11 )和作者信息. 目录: 前言 MVC ...
- JS基础_强制类型转换
强制类型转换 将一个数据类型强制转换为其他的数据类型 类型转换主要指,将其他数据类型,转换为 string.number.boolean 1.将其他数据类型转换为string(返回值是强转后类型的值) ...
- jQuery .submit()
.submit() Events > Form Events | Forms .submit( handler )Returns: jQuery Description: Bind an eve ...
- slub
1.前言 在Linux中,伙伴系统(buddy system)是以页为单位管理和分配内存.但是现实的需求却以字节为单位,假如我们需要申请20Bytes,总不能分配一页吧!那岂不是严重浪费内存.那么该如 ...
- AndroidStudio 插件 之 Findbugs 安装与简单使用教程
http://blog.csdn.net/u013132758/article/details/70187846 http://blog.csdn.net/jdsjlzx/article/detail ...
- Selenium 2自动化测试实战1(1-2章节重点笔记)
1.黑盒测试 黑盒测试,指的是把被测的软件看做一个黑盒子,不去关心盒子里面的结构是什么样子的,只关心软件的输入数据和输出结果. 2.白盒测试白盒测试,指的是把盒子打开,去研究里面的源代码和程序执行结果 ...
- Linux常用命令:修改文件权限chmod 754/744
常用命令:chmod 777 文件或目录 chmod 777 /etc/squid 运行命令后,squid文件夹(目录)的权限就被修改为777(可读可写可执行). Linux系统中,每个用户的角色 ...
- python学习笔记:(九)循环(for和while)
在python中循环包括for和while 1.while循环 while 判断条件: statements ----表示:判断条件为真时执行statements,为假不执行 2.for语句 for ...
- 安装MySQL Enterprise Monitor
MySQL Enterprise Monitor是专门为MySQL数据库而设计的一款企业级监控,能非常好地与MySQL各方面特性相结合,包括:MySQL的关键性能指标.主机.磁 盘.备份.新特性相关以 ...
- Python字符和字符值(ASCII或Unicode码值)转换方法
Python字符和字符值(ASCII或Unicode码值)转换方法 这篇文章主要介绍了Python字符和字符值(ASCII或Unicode码值)转换方法,即把字符串在ASCII值或者Unicode值之 ...