Mermaid 绘图--以企业权限视图为例 - 详解

news/2025/10/7 10:08:31/文章来源:https://www.cnblogs.com/tlnshuju/p/19128231

Mermaid 绘图--以企业权限视图为例 - 详解

2025-10-07 10:06  tlnshuju  阅读(0)  评论(0)    收藏  举报

一、示例代码

在企业管理系统开发中,清晰的权限视图设计至关重要。本文将分享如何使用 Mermaid 绘制直观的企业权限关系图,复制以下代码到mermaid中,将得到关系图如图1。

graph LR
ZJL[总经理]:::red
HW[海外销售部]:::blue
GN[国内营销部]:::blue
Zu[组领导]:::yellow
ZY[专员]:::purple
subgraph 关系图
ZJL ==> HW & GN ==> Zu ==> ZY
end
subgraph 图表种类需求
hwbmtj{{海外部门统计}}:::green
gnbmtj{{国内部门统计}}:::green
grxstj{{个人销售统计}}:::pureBlue
zntj{{组内统计}}:::green
znxsrank{{组内销售rank}}:::pureRed
hwbmxsrank{{海外部门销售rank}}:::pureRed
gnbmxsrank{{国内部门销售rank}}:::pureRed
ddzt{{订单状态}}
salesSummary{{销售总结}}:::lightYellow
end
subgraph 实际图表归并
grddtj{{个人订单统计}}:::lightBlue
grcpxstj{{个人产品销售统计}}:::lightBlue
khphtj{{客户贡献排行}}:::lightBlue
rank{{销售人员RANK}}:::lightRed
_ddzt{{订单状态}}
hnwbmtj{{海内外部门统计 + 组内统计}}:::lightGreen
salesFeedback{{销售反馈}}:::lightYellow
grxstj --> grddtj & grcpxstj & khphtj
hwbmxsrank & gnbmxsrank & znxsrank --> rank
ddzt --> _ddzt
hwbmtj & gnbmtj & zntj --> hnwbmtj
salesSummary --> salesFeedback
end
subgraph 总经理可见内容
总经理:::red ---> hwbmtj & gnbmtj & salesSummary
end
subgraph 国外部门经理可见内容
国外部门经理:::blue ---> hwbmtj & grxstj & hwbmxsrank & ddzt
end
subgraph 国内部门经理可见内容
国内部门经理:::blue ---> gnbmtj & grxstj & gnbmxsrank & ddzt
end
subgraph 组领导可见内容
组:::yellow ---> zntj & grxstj & znxsrank & ddzt
end
subgraph 销售专员可见内容
专员:::purple ---> grxstj & ddzt
end
classDef red fill:#eeaa9c,color:#fff;
classDef blue fill:#93b5cf,color:#fff;
classDef yellow fill:#fcd217,color:#fff;
classDef purple fill:#e0c8d1,color:#fff;
classDef green fill:#0f0;
classDef pureRed fill:#f00,color:#fff;
classDef pureBlue fill:#00f,color:#fff;
classDef lightBlue fill:#2e317c,color:#fff;
classDef lightGreen fill:#a4cab6,color:#fff;
classDef purple fill:#fef200,color:#fff;
销售专员可见内容
组领导可见内容
国内部门经理可见内容
国外部门经理可见内容
总经理可见内容
实际图表归并
图表种类需求
关系图
专员
国内部门经理
国外部门经理
总经理
个人订单统计
个人产品销售统计
客户贡献排行
销售人员RANK
订单状态
海内外部门统计 + 组内统计
销售反馈
海外部门统计
国内部门统计
个人销售统计
组内统计
组内销售rank
海外部门销售rank
国内部门销售rank
订单状态
销售总结
专员
组领导
海外销售部
国内营销部
总经理

二、基础结构设计

2.1 组织架构树

使用 graph LR 创建从左到右的组织关系图,通过 subgraph 划分逻辑模块:

graph LR
ZJL[总经理]:::red
HW[海外销售部]:::blue
GN[国内营销部]:::blue
Zu[组领导]:::yellow
ZY[专员]:::purple
subgraph 组织架构
ZJL ==> HW & GN ==> Zu ==> ZY
end
classDef red fill:#eeaa9c,color:#fff;
classDef blue fill:#93b5cf,color:#fff;
classDef yellow fill:#fcd217,color:#fff;
classDef purple fill:#e0c8d1,color:#fff;
组织架构
专员
组领导
海外销售部
国内营销部
总经理

效果说明

  • 总经理(红色)统领两个部门
  • 部门经理(蓝色)管理组领导
  • 组领导(黄色)直接管理专员
  • 颜色编码增强角色辨识度

2.2 权限视图设计

通过嵌套 subgraph 实现三层视图结构:

graph LR
subgraph 图表种类需求
hwbmtj{{海外部门统计}}:::green
...
end
subgraph 实际图表归并
grddtj{{个人订单统计}}:::lightBlue
...
end
subgraph 角色可见内容
总经理:::red ---> hwbmtj & gnbmtj
...
end
角色可见内容
实际图表归并
图表种类需求
gnbmtj
总经理
个人订单统计
海外部门统计
...

核心技巧

  1. 使用 {{ }} 表示可点击图表元素
  2. ---> 单向箭头表示权限范围
  3. 颜色区分视图层级(需求/实现/权限)

三、销售数据权限系统

graph LR
ZJL[总经理]:::red
HW[海外销售部]:::blue
GN[国内营销部]:::blue
Zu[组领导]:::yellow
ZY[专员]:::purple
subgraph 组织架构
ZJL ==> HW & GN ==> Zu ==> ZY
end
subgraph 图表需求
hwbmtj{{海外部门统计}}:::green
gnbmtj{{国内部门统计}}:::green
grxstj{{个人销售统计}}:::pureBlue
end
subgraph 图表实现
grddtj{{个人订单统计}}:::lightBlue
grcpxstj{{产品销售统计}}:::lightBlue
grxstj --> grddtj & grcpxstj
end
subgraph 总经理权限
总经理:::red ---> hwbmtj & gnbmtj
end
subgraph 专员权限
专员:::purple ---> grddtj
end
classDef red fill:#eeaa9c,stroke:#d12727,stroke-width:2px;
classDef blue fill:#93b5cf,stroke:#2b6ca3;
classDef yellow fill:#fcd217,stroke:#d9a602;
classDef purple fill:#e0c8d1,stroke:#a87b8f;
classDef green fill:#a4cab6,stroke:#3a7d5e;
classDef pureBlue fill:#2e317c,color:#fff;
classDef lightBlue fill:#b6d7e8;
专员权限
总经理权限
图表实现
图表需求
组织架构
专员
总经理
个人订单统计
产品销售统计
海外部门统计
国内部门统计
个人销售统计
专员
组领导
海外销售部
国内营销部
总经理

四、关键语法技巧汇总

这个表格简要地展示了 Mermaid 图中使用的语法和结构:

功能/语法描述示例
graph LR定义图表布局和方向,LR表示从左到右。graph LR
subgraph定义子图,将节点和连接划分为一个小组。subgraph 关系图
节点定义[节点名称]定义节点。ZJL[总经理]
连接节点使用-->表示节点之间的连接。ZJL ==> HW
双箭头==>表示带有关系的连接,通常用于流向的展示。HW ==> Zu ==> ZY
classDef用来定义节点的样式(如背景色、字体颜色等)。classDef red fill:#eeaa9c,color:#fff;
class给节点指定样式类。ZJL[总经理]:::red
自定义颜色classDef中设置颜色、文本颜色等节点样式。classDef blue fill:#93b5cf,color:#fff;
嵌套结构/归并图表subgraph定义嵌套图表,组织和归类相关节点。subgraph 总经理可见内容
节点间的关系定义节点之间的连接与关系。grxstj --> grddtj & grcpxstj & khphtj
嵌套子图通过子图将多个图表合并为一个结构,定义不同角色的权限可见内容。subgraph 总经理可见内容
节点样式通过classDef定义节点的不同样式,如背景颜色、文本颜色等。classDef green fill:#0f0;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/930288.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

英语_阅读_Balancing Benefits and Risks_待读

Digital Life: Balancing Benefits and Risks Digital life has become a huge part of how we learn, play and connect, 数字生活已经成为我们学习、娱乐和社交的重要组成部分, From AI tutors that support school…

网站模版asp北京建网站公司

文章目录 零. RpcService服务概述1. AkkaRpcService的创建和初始化2.通过AkkaRpcService初始化RpcServer3. ResourceManager中RPC服务的启动4. 实现相互通讯能力 零. RpcService服务概述 RpcService负责创建和启动Flink集群环境中RpcEndpoint组件的RpcServer,且Rpc…

手机网站判断跳转淄博周村学校网站建设报价

前言 本文由于介绍Android多线程编程的学习。 线程基本用法 定义线程有两种方式,分别是继承Thread类、实现Runnable接口: 继承Thread类:只需新建一个类继承自Thread,然后重写父类的run()方法,在这个方法里面写耗时…

为什么有些网站看不到百度快照南宁网站制作哪家好

对于做互联网的朋友们来说,引流是一个必不可少的环节。 掌握一种优秀的引流方法至关重要,这也可以视为我们的生计之源。 今天,我将向大家介绍一款全自动的引流工具——抖音全自动引流脚本软件。 这款软件的效果非常显著,它可以替…

怎么做新网站才能被百度收录有哪些官网做得比较好

版本与信息查询 docker --version:查看安装的Docker版本。 docker info:获取Docker系统的详细配置信息。 镜像管理 docker images:列出本地所有镜像。 docker search IMAGE_NAME:搜索Docker Hub上的镜像。 docker pull IMAGE_NAME[:TAG]:从仓库下载指定镜像。 docker rmi …

企业网站维护的要求包括前端自我介绍面试技巧

Python的正则表达式使用 定义使用场景查替换分割 常用的正则表达符号查原字符英文状态的句号点 .反斜杠 \英文的[]英文的()英文的?加号 星号 *英文状态的大括号 {} 案例 定义 正则表达式是指专门用于描述或刻画字符串内在规律的表达式。 使用场景 无法通过切片,…

大模型部署

部署云服务部署 优势:前期成本低,维护简单 劣势:数据不安全,长期使用成本高本地机器部署 优势:数据安全,长期成本低 劣势:初期成本高,维护困难他人部署 1.阿里云白炼 2.百度智能云 3.硅基流动 4.火山引擎OLLAM…

读技术之外:社会联结中的人工智能02劳工

读技术之外:社会联结中的人工智能02劳工1. 劳工 1.1. 入口通道处每隔一定距离都会出现很多考勤钟标志 1.2. 休息间里的考勤钟也起着重要作用—进出房间的所有扫描都会被追踪 1.3. 每个班次间只能休息15分钟,还有无薪…

详细介绍:如何有效删除 iPhone 上的所有内容?

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

鼠标图标更改样式

https://zhutix.com/tag/cursors/page/2/?post_order=likeI hope all of us can learn to progress!

做网站的预算表广西桂林天气预报15天查询

一、SpringBoot和SpringCloud简介 1、SpringBoot:是一个快速开发框架,通过用MAVEN依赖的继承方式,帮助我们快速整合第三方常用框架,完全采用注解化(使用注解方式启动SpringMVC),简化XML配置&am…

徐州网站建设价格odoo做网站

目录 Vue.js Ajax(axios) GET 方法 请求方法的别名 并发 请求配置项 响应结

马洪旭 做的网站大学赞友商城电商平台排名第几

以前都是用Cg的,现在改用GLSL,又要重新学,不过两种语言很多都是相通的。下面的例子是实现绘制一个三角形的简单程序。采用了VBO(veretx buffer object)、VAO(vertex array object)等OpenGL的一些…

网站开发速成培训机构郑州网站设计制作价格

1、正向代理 1.我访问不了某网站,但是我能访问一个代理服务器,这个代理服务器呢,他能访问那个我不能访问的网站 2.于是我先连上代理服务器,告诉他我需要那个无法访问网站的内容,代理服务器去取回来,然后返回给我。 3.客户端必须设置正向代理…

webpack和vite的区别 - 指南

webpack和vite的区别 - 指南pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco",…

m3u8在线播放测试的方法与常见问题解决方案(附网页演示

在如今的流媒体视频环境中,m3u8格式因其分片传输、秒开等特性越来越常见。无论是开发、运维还是视频内容生产者,很多时候都会遇到需要测试或在线播放m3u8链接的需求。那么,如何方便、高效地测试m3u8流的可用性,遇到…

校招题

NC258932 题目 其实就是一个三分答案的模板题,可以看出这是一个单谷函数。 借助这篇 博客 复习一下。 #include <bits/stdc++.h> using namespace std; using db = long double; db eps = 1e-6;void solve() {d…

React 播客专栏 Vol.18|React 第二阶段复习 样式与 Hooks 全面整合 - 实践

React 播客专栏 Vol.18|React 第二阶段复习 样式与 Hooks 全面整合 - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-fami…

嘉兴网站建设推荐浙江华企芯片商城网站建设

性能 当服务器正常运行时&#xff0c;WAL文件不断被写入磁盘。但是&#xff0c;这些写操作是顺序的:几乎没有随机访问&#xff0c;因此即使是HDD也可以处理这个任务。由于这种类型的加载与典型的数据文件访问非常不同&#xff0c;因此有必要为WAL文件设置一个单独的物理存储&a…

Manim实现旋转扭曲特效

在数学动画制作中,特殊效果可以极大地增强视觉表现力和吸引力。 本文将介绍如何使用Manim框架实现一个旋转扭曲特效,通过自定义动画类来创建独特的视觉效果。 实现原理 旋转扭曲特效的核心是通过修改对象上每个点的坐…