使用OrgChart插件生成家谱组织结构图

article/2025/10/6 23:37:25

1.orgchart插件:

github地址:https://github.com/dabeng/OrgChart

2.前端代码:

//1.加载树形数据ajax请求获取json格式的数据(flag参数可以无视,我自己的业务逻辑需要)
function setTreeInfo(flag){
$('#chart-container').empty();
$.ajax({
url: "clan/getAllClanInfo.action",
type: "POST",
dataType: "json",
success:function (res) {
//开始加载家谱图
setTreeView(res.jiclan[0], flag);
console.log("数据加载成功!");
},
error: function(){
console.log("加载数据异常!");
}
});
}
//2.加载树形结构
function setTreeView(dataJson, flag){
//orgchart的初始化参数可以去github官方看文档,比较简单
jiclan =     $('#chart-container').orgchart({
'data' : dataJson,
'pan': false,
'zoom': false,
'zoominLimit': 3,
'zoomoutLimit': 0.5,
'toggleSiblingsResp': true,
'draggable': false,
'direction' : 'l2r',
'exportButton': true,
'exportFilename': 'XX家谱',
'exportFileextension': 'png',
'nodeTemplate': setNodeTemplate
});
//当家谱加载完成后执行,这个函数与家谱图加载已经无关了,执行此函数之前已经完成了家谱图的生成;
    // orgchartCompleted(flag);
}
//3.设定树形模板。这个是重点,对于每个节点的生成样式与内容都在这里进行控制
function setNodeTemplate(data){
var str = "";
//如果为男性
if(data.sex == "0"){
//是否已经结婚
if(data.wifeName != null && data.wifeName != ""){
str  = '<div class="title clan-man">' data.name '</div>' ;
str  = '<div class="content clan-wife">' data.wifeName '</div>';
//下面这一行是为了加载每个节点上面的三个按钮,可以进行查询,修改,增加等操作
str  = "<div class='opBtns display-none'>"  
"<i class='clan-btn clan-dtalBtn'></i>"  
"<i class='clan-btn clan-editBtn'></i>"  
"<i class='clan-btn clan-addChildBtn'></i>"  
"</div>";
}else{
str  = '<div class="title clan-man">' data.name '</div>' ;
str  = '<div class="content clan-single"></div>';
str  = "<div class='opBtns display-none'>"  
"<i class='clan-btn clan-dtalBtn'></i>"  
"<i class='clan-btn clan-editBtn'></i>"  
"</div>";
}
}else{
str  = '<div class="title clan-woman">' data.name '</div>' ;
str  = '<div class="content clan-single"></div>';
str  = "<div class='opBtns display-none'>"  
"<i class='clan-btn clan-dtalBtn'></i>"  
"<i class='clan-btn clan-editBtn'></i>"  
"</div>";
}
return str;
}

3.效果图:

下图只是家谱图中的一部分,我这个家谱一次加载进一百三十多个节点,没有性能问题。

1


更多专业前端知识,请上 【猿2048】www.mk2048.com

http://chatgpt.dhexx.cn/article/DlexGrUH.shtml

相关文章

OrgChart页面模仿编程简单记录

OrgChart页面模仿编程简单记录 导航栏 整体来看&#xff0c;导航栏设计的还是比较简洁&#xff0c;顶部有8个导航模块&#xff0c;每个模块点击后会跳转到相应模块页面。可以使用在App.js页面中使用<Router> <Navlink>来实现。 <Router> <nav> <…

如何在react中使用OrgChart?

最近在将OrgChart嵌入至React时&#xff0c;碰见了一些坑&#xff0c;希望能以此记录我是怎么爬出来的~ 一、什么是OrgChart&#xff1f; 一款基于jquery来画组织架构图的插件。有以下特点&#xff1a; 支持本地数据和远程数据&#xff08;JSON&#xff09;基于CSS3转换的平滑…

orgChart的应用

文档地址&#xff1a;https://balkangraph.com/OrgChartJS/Demos/FirstLook 效果 html: <div id"tree" style"height: 500px;width: 100%;"></div><script src"__TMPL__/public/assets/js/orgchart.js"></script> <…

vue-orgchart拓扑图

安装vue-orgchart npm install vue-orgchart -S//main.js引入样式 import vue-orgchart/dist/style.min.css//使用页面引入 <template><div class"orgchart_Box_Y"><div class"box_right_container" v-if"ifLoading"><Vo…

jquery.orgchart.js

<!doctype html> <html> <head> <meta charset"utf-8"> <title>geovindu,Geovin Du,涂聚文</title><link rel"stylesheet" href"css/jquery.orgchart.css"> <script type"text/javascript&qu…

orgchart实现组织结构图

之前项目需要我搞一个组织架构图&#xff0c;用大约一周时间挑选了框架并开发&#xff0c;最后用orgchart搞出来了&#xff0c;先上结果图 orgchart下载地址 &#xff1a;https://github.com/dabeng/OrgChart 打开下载的压缩包&#xff0c;如下图 然后可以打开demo目录&#x…

orgChart的简单使用,实现树状图结构

还不知道这个插件的小伙伴可以先去官网下载&#xff0c;orgchart官网链接 呐&#xff0c;下载下来就是这样的&#xff1a; 我们把他解压出来&#xff1a; 点进去以后&#xff0c;直接找到index.html文件用浏览器打开&#xff0c;就是这样的啦&#xff1a; 这1--24都是样式样例…

orgChart生成组织结构图应用

orgChart 是一个开源JS&#xff0c;可用于生成组织结构图。现构建如下&#xff1a; 1&#xff09;动态生成HTML作为数据source var preTitle "";var content "<ul idbasic-stacking-source classhide><li>Band<ul>"; // header$.each…

OrgChart - 配置项详解 (精选+原创)

OrgChart 使用教程 &#xff08;一&#xff09; 没用开场白… 近日来&#xff0c;公司要求做一份web组织架构图&#xff0c;正好我使用的框架是vue &#xff0c;自己写太麻烦&#xff0c;于是找一找有没有合适的组件&#xff0c;直接套用。 于是找到了 OrgChart 这个 开源的组…

orgChart实现竖向排列组织图(js实现组织机构图)

一、前言 快过年了&#xff0c;博主这几天不算忙&#xff0c;又刚好用到orgChart来做组织机构图&#xff0c;写了这篇文章&#xff0c;欢迎大家指正。注意&#xff1a;我说的竖向是指文字竖着排列。 依赖库&#xff1a;jquery&#xff0c;jquery颜色选择器&#xff0c;orgCha…

武汉python自动化测试招聘,python自动化测试工程师招聘_Python-自动化测试面试

1、以你做过的项目&#xff0c;举例来说一下你的自动化测试是怎么做的&#xff1f; 参考答案&#xff1a;就拿简历上的ecshop项目来说吧&#xff0c;在编写脚本前&#xff0c;我们会对系统进行评估&#xff0c;确认这个系统可不可以实现UI自动化&#xff0c;如果可以的话&#…

测试ai模糊软件,AE/PR人工智能自动人脸检测马赛克模糊插件

Blace – AI Face Detection是一款作用在AE以及PR软件中的AI插件&#xff0c;能够自动识别检测人脸并智能添加马赛克边框&#xff0c;易于使用且基于AI的检测&#xff0c;控制检测区域并排除检测&#xff0c;有需要的用户不要错过了&#xff0c;赶快来下载吧&#xff01; 兼容性…

自动化面试题

自动化面试题 自动化&#xff1a;将人工测试转换成自动化脚本/工具去运行 优势&#xff1a;节省时间&#xff08;20% - 30%&#xff09;&#xff0c;提高工作效率 Python selenium/appium/airtest/requests unittest Jenkins WEB自动化 1. 什么样的项目适合做自动化&…

Python&OpenCV自动人脸打马赛克&调色系统[源码&UI操作界面&部署教程]

1.视频演示&#xff1a; [项目分享]Python&#xff06;OpenCV自动人脸打马赛克&#xff06;调色系统[源码&#xff06;UI操作界面&#xff06;部署教程] 2.图片演示&#xff1a; 3.图像颜色检索&#xff06;替换&#xff1a; 4.马赛克分类&#xff1a; 使用opencv库中的haar…

Python opencv:人眼/人脸识别并实时打码处理

利用Pythonopencv实现从摄像头捕获图像&#xff0c;识别其中的人眼/人脸&#xff0c;并打上马赛克。 系统环境&#xff1a;Windows 7 Python 3.6.3 opencv 3.4.2 一、系统、资源准备 要想达成该目标&#xff0c;需要满足一下几个条件&#xff1a; 找一台带有摄像头的电脑…

seleniumxpath打码平台

selenium使用 一 bs4搜索文档树二 css选择器三 selenium基本使用四 无界面浏览器五 selenium其它用法5.1 登录百度5.2 获取位置属性大小&#xff0c;文本5.3 元素操作5.4 执行js代码5.5 切换选项卡5.6 浏览器前进后退5.7 异常处理 六 selenium登录cnblogs获取cookie七 抽屉半自…

第十一章 自动编码器

简介&#xff1a;自动编码器是一种可以进行无监督学习的神经网络模型。一般而言&#xff0c;一个完整的自动编码器主要由两部分组成&#xff0c;分别是用于核心特征提取的编码部分和可以实现数据重构的解码部分。 1.自动编码器入门 在自动编码器中负责编码的部分也叫做编码器&a…

Python 题库自动化面试题

1、自动化代码中,用到了哪些设计模式? 单例设计模式 工厂模式 PO设计模式 数据驱动模式 面向接口编程设计模式 2、什么是断言( Assert) ? 断言 Assert 用于在代码中验证实际结果是不是符合预期结果&#xff0c; 如果测试用例执行失败会抛出异常并提供断言日志 3、什么…

Python实现对视频自动打码

我们在观看视频的时候&#xff0c;有时候会出现一些奇怪的马赛克&#xff0c;影响我们的观影体验&#xff0c;那么这些马赛克是如何精确的加上去的呢&#xff1f; 本次我们就来用Python实现对视频自动打码&#xff01; 准备工作 环境咱们还是使用 Python3.8 和 pycharm2021 即…

Python——超级鹰打码平台实现selenium对b站的自动化登陆

目录 一 、Chrome&#xff08;谷歌&#xff09;驱动器的下载 &#xff08;一&#xff09;驱动器版本选择 &#xff08;二&#xff09;下载Chrome驱动器 二、需要安装的库 &#xff08;一&#xff09;安装命令 &#xff08;二&#xff09;指定selenium版本原因 三、实现步…