记录-- 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接口调用的封装, ...
随机推荐
- How does ASP.NET Forms Authentication really work?
I've always wondered how exactly ASP.NET forms authentication works. Yes, I know how to configure Fo ...
- linux查询端口被哪个程序使用了
使用如下命令查询8000端口被哪个程序使用 netstat -tunlp|
- leetcode-easy-string- 38 Count and Say
mycode 91.28% 思路:题意实在太难理解了,尤其是英文又不好,只能参看下别人的资料,理解下规则.终于理解,题意是n=1时输出字符串1:n=2时,数上次字符串中的数值个数,因为上次字符串有 ...
- 评【TED】陆克文:中美注定要冲突吗?
陆克文TED演讲地址:https://www.bilibili.com/video/av2196100?from=search&seid=6953438337852168205 实话说,这篇材 ...
- 常用IDE 教程(IntelliJ IDEA、Android Studio、Chrome)
1.IntelliJ IDEA 使用教程 http://wiki.jikexueyuan.com/project/intellij-idea-tutorial/ 2.Chrome 开发工具指南 htt ...
- 【flask】flask项目配置 app.config
[理论] 在很多情况下,你需要设置程序的某些行为,这时你就需要使用配置变量.在Flask中,配置变量就是一些大写形式的Python变量, 你也可以称之为配置参数或配置键.使用统一的配置变量可以避免在程 ...
- 第一部分 Python基础知识
Python测试开发核心编程主要分两部分,python3基础和Python进阶,每部分的重点内容如下 一. Python测试开发核心编程 数据类型 控制结构 异常处理 文件操作 线程与进程(了解) 常 ...
- 【翻译】WPF应用程序模块化开发快速入门(使用Prism+MEF)
编译并运行快速入门 需要在VisualStudio 2010上运行此快速入门示例 代码下载:ModularityWithMef.zip 先重新生成解决方案 再按F5运行此示例 说明: 在此快速入门示例 ...
- Selenium 2自动化测试实战1(1-2章节重点笔记)
1.黑盒测试 黑盒测试,指的是把被测的软件看做一个黑盒子,不去关心盒子里面的结构是什么样子的,只关心软件的输入数据和输出结果. 2.白盒测试白盒测试,指的是把盒子打开,去研究里面的源代码和程序执行结果 ...
- k8s中使用harbor
参考地址:https://www.cnblogs.com/wayneiscoming/p/7716238.html .在harbor的ui界面上注册一个账号 姓名:zihao 全名:zhuzihao ...