当前位置: 首页 > article >正文

【2.0 教程】第 7 章:仪表盘,一眼看全局

NocoBase V2 系列教程已在官网-教程专栏发布点击链接前往查看。https://docs.nocobase.com/cn/tutorials/v2/已发布教程速览NocoBase 2.0 入门教程 —— IT 工单系统第一章认识 NocoBase — 5 分钟跑起来第二章数据建模 — 给工单系统搭骨架第三章搭建页面 — 让数据看得见第四章表单与详情 — 让数据填得进第五章用户与权限 — 谁能看什么第六章工作流 — 让系统自己动起来第七章仪表盘 — 一眼看全局本文为NocoBase V2 系列教程第 7 章仪表盘 — 一眼看全局在这个系列里我们会从零开始用 NocoBase 搭建一个极简的工单系统HelpDesk。整个系统只需要 2 张数据表不写一行代码即可实现工单提交、分类管理、变更追踪、权限控制和数据仪表盘。上一章我们用工作流让系统自动通知、自动记录时间。系统越来越智能了但还缺一样东西——全局视角。工单有多少处理了多少哪类问题最多每天新增几条这些问题靠翻列表是回答不了的。这一章我们用图表区块饼图、折线图、柱状图和 Markdown 区块搭建一个数据看板把数据变成一眼就能看懂的画面。7.1 添加仪表盘页面首先我们在顶部导航栏添加一个新菜单项。进入配置模式在顶部菜单栏点击「添加菜单项」图标选择「新版页面v2」命名为「数据看板」。这个页面专门用来放图表就是我们的仪表盘主场。7.2 饼图工单状态分布第一个图表我们用饼图来展示待处理、处理中、已完成各有多少。在数据看板页面点击创建区块Add block → 图表。添加后点击区块右上角的配置按钮右侧会打开图表配置面板。配置数据查询数据表选择「工单」度量Measures选择任意不重复的字段比如 ID 聚合方式选计数Count维度Dimensions选择「状态」字段点击执行查询可以在下方预览返回的数据。配置图表选项图表类型选择饼图字段映射Category 选「状态」Value 选计数值标签打开开关左侧页面中应该已经出现了一个漂亮的饼图。每个扇区代表一种状态默认展示出来具体数量和占比。点击保存第一个图表就完成了。7.3 折线图每日新建工单趋势饼图看的是现在的分布折线图看的是变化的趋势。在页面中再添加一个图表区块配置如下数据查询数据表选择「工单」度量ID计数维度选择「创建时间」字段格式设置为YYYY-MM-DD按天分组小提示日期维度的格式很重要。选YYYY-MM-DD是按天统计选YYYY-MM就变成按月统计了。根据你的数据量选择合适的粒度。图表选项图表类型选择折线图字段映射xField 选「创建时间」yField 选计数值保存后你就能看到工单量随时间的变化曲线了。如果某天突然飙高说明那天出了什么问题值得关注。7.4 条形图各分类工单数量第三个图表我们看看哪个分类的工单最多。这里用横向条形图而不是纵向柱状图——当分类较多时纵向柱状图的 X 轴标签容易重叠被隐藏横向展示更清晰。添加第三个图表区块数据查询数据表选择「工单」度量ID 计数维度选择「分类」关联字段选择分类的名称字段图表选项图表类型选择条形图Bar字段映射xField 选计数值ID 计数yField 选「分类名称」保存后哪类问题最多一目了然。如果网络故障的条形远远长过其他分类也许该考虑升级一下网络设备了。7.5 表格区块未完成工单图表给出的是汇总视角但管理员通常还需要看到具体明细。我们加一个未完成工单的表格直接展示所有还没处理完的工单。在页面中添加一个表格区块数据表选择「工单」。配置筛选条件点击表格区块右上角的配置项找到设置数据范围添加一条筛选条件状态不等于已完成这样表格只展示还没完成的工单一条完成了就自动从列表中消失。配置字段选择要展示的列标题、状态、优先级、处理人、创建时间。小提示可以再加上默认排序按创建时间倒序让最新的工单排在最前面。7.6 Markdown 区块系统公告图表之外我们还可以在仪表盘上放一些文字信息。添加一个Markdown 区块写入系统公告或使用说明## IT 工单系统 欢迎使用遇到问题请提交工单技术团队会尽快处理。 **紧急问题**请直接拨打 IT 热线8888Markdown 区块放在仪表盘顶部既是欢迎信息也能当公告栏用。内容随时可以修改非常灵活。7.7 JS 区块个性化欢迎横幅Markdown 格式比较固定如果想要更丰富的效果怎么办NocoBase 提供了JS 区块JavaScript Block可以用代码自由定制展示内容。我们用它做一个商务风格的欢迎横幅——根据当前登录用户和时间显示个性化的问候语。在页面中添加一个JS 区块创建区块 → 其他区块 → JS 区块。JS 区块中可以通过ctx.getVar(ctx.user.username)获取当前登录用户的用户名下面是一个商务简约风格的欢迎横幅constunameawaitctx.getVar(ctx.user.username)constnameuname||用户;consthournewDate().getHours();consthihour12?上午好:hour18?下午好:晚上好;constdnewDate();constdate${d.getFullYear()}-${String(d.getMonth()1).padStart(2,0)}-${String(d.getDate()).padStart(2,0)};constweek[日,一,二,三,四,五,六][d.getDay()];ctx.render(div stylepadding: 24px 32px; background: #f7f8fa; border-radius: 8px; div styledisplay: flex; justify-content: space-between; align-items: flex-end; div div stylefont-size: 22px; font-weight: 600; color: #1d2129;${hi}${name}/div div stylefont-size: 14px; color: #86909c; margin-top: 4px;欢迎回到 IT 工单系统/div /div div stylefont-size: 14px; color: #86909c;${date}星期${week}/div /div /div);效果是一个浅灰底的卡片左侧问候语右侧日期。简洁、实用、不喧宾夺主。小提示ctx.getVar(ctx.user.xxx)是 JS 区块中获取当前用户信息的方式常用字段有nickname昵称、username用户名、email邮箱等。JS 区块还可以调用 API 查询数据后续你可以用它做更多自定义内容。7.8 操作面板快捷入口 弹窗复用仪表盘不仅是看数据的地方也应该是操作的起点。我们加一个操作面板Action Panel让用户直接从首页提交工单、跳转到工单列表。在页面中添加一个操作面板区块创建区块 → 其他区块 → 操作面板然后在操作面板中添加两个操作链接跳转到工单列表— 添加一个「链接」操作配置 URL 指向工单列表页面比如/admin/camcwbox2uc按钮添加工单— 添加一个「弹窗」操作按钮标题改为「添加工单」但添加工单按钮点开后弹窗是空的我们需要配置弹窗内容。手动再搭一遍新增表单太麻烦了——这里引出一个非常实用的功能弹窗复用。保存弹窗模板注意这里的弹窗模板和之前第 4 章的区块模板不是一回事。区块模板保存的是单个表单区块的字段和布局而弹窗模板保存的是整个弹窗的内容——包括里面所有区块、字段、操作按钮。进入工单列表页面找到「添加工单」按钮点击按钮的配置项找到「保存为模板」保存当前弹窗给模板起个名字如新增工单弹窗在首页复用弹窗回到数据看板页面点击操作面板中「添加工单」按钮的配置项找到「弹窗设置」选择刚才保存的「新增工单弹窗」模板保存后点击按钮就能直接打开和工单列表一模一样的新增表单弹窗了标题点击打开详情弹窗同样的方式我们也可以让未完成工单表格的标题可点击直接打开工单详情先去工单列表页面找到「查看」按钮的配置项同样「保存为模板」如工单详情弹窗回到数据看板页面在未完成工单表格中点击「标题」字段的配置项打开「启用点击打开」开关——这时会出现「弹窗设置」选项在弹窗设置中选择刚才保存的「工单详情弹窗」模板现在用户在仪表盘上点击工单标题就能直接查看详情不用跳转到工单列表页。整个仪表盘变得更紧凑、更高效。弹窗复用的好处同一个弹窗模板可以在多个页面使用修改模板后所有引用处同步更新。这和第 4 章的引用模式是类似的思路——一处维护处处生效。7.9 调整布局现在页面上有 6 个区块了JS 欢迎横幅 操作面板 3 个图表 工单表格我们来调整一下布局让它更美观。在配置模式下你可以通过拖拽来调整每个区块的位置和大小建议的布局参考第一行JS 欢迎横幅左 操作面板右第二行饼图左 工单表格右第三行折线图左 条形图右注意你可能发现区块高度没有对齐这个时候可以在区块设置 区块高度 里手动调整比如我将第二行的两个区块都调整到了 500px 。拖拽边缘可以调整区块宽度让两个图表各占一半。多试几次就能找到最舒服的排列方式。小结这一章我们用 6 个区块搭建了一个丰富实用的数据看板JS 欢迎横幅根据当前用户和时间显示个性化问候操作面板快捷跳转工单列表、一键添加工单弹窗复用饼图一眼看到工单状态的分布比例折线图追踪工单量随时间的变化趋势条形图横向对比各分类的工单数量分类多也不怕标签重叠未完成工单表格所有待处理工单一览点击标题直接查看详情弹窗复用同时我们学会了弹窗复用这个重要技巧——把一个页面的弹窗保存为模板在其他页面直接引用避免重复配置。数据可视化是 NocoBase 的内置插件不需要额外安装。配置方式和搭建页面一样简单——选数据、选图表类型、映射字段三步搞定。后续预告到这里我们的工单系统功能已经很完整了数据建模、页面搭建、表单录入、权限控制、自动化工作流、数据仪表盘全都有了。后续我们计划推出AI Agent 版本的搭建教程——用 AI Agent 在本地自动完成系统搭建敬请期待。相关资源数据可视化 — 图表配置详解Markdown 区块 — Markdown 区块用法区块布局 — 页面布局与区块配置

相关文章:

【2.0 教程】第 7 章:仪表盘,一眼看全局

🎉NocoBase V2 系列教程已在官网-教程专栏发布,点击链接前往查看。 https://docs.nocobase.com/cn/tutorials/v2/ 已发布教程速览: NocoBase 2.0 入门教程 —— IT 工单系统 第一章:认识 NocoBase — 5 分钟跑起来 第二章&…...

如何全面移除开源工具残留?四步环境净化实施方案

如何全面移除开源工具残留?四步环境净化实施方案 【免费下载链接】ralph-claude-code Autonomous AI development loop for Claude Code with intelligent exit detection 项目地址: https://gitcode.com/GitHub_Trending/ra/ralph-claude-code 一、问题诊断…...

避坑指南:解决多Livox雷达在ROS中TF树报错‘extrapolation into the past’的完整流程

避坑指南:解决多Livox雷达在ROS中TF树报错‘extrapolation into the past’的完整流程 当你在ROS系统中整合多个Livox雷达时,突然遭遇[WARN] Lookup would require extrapolation into the past的警告信息,Rviz中点云显示异常或TF树断裂&…...

比话降AI使用教程:从注册到拿到合格检测报告全流程详解

比话降AI使用教程:从注册到拿到合格检测报告全流程详解 不少同学找到比话降AI,是因为看到了那个承诺:AI率大于15%全额退款,还退检测费。 这个承诺确实不一样。其他工具一般只说"效果不好可重做",但重做了几…...

Qwen2.5-72B-GPTQ-Int4惊艳效果:128K上下文长文档摘要与重点提取

Qwen2.5-72B-GPTQ-Int4惊艳效果:128K上下文长文档摘要与重点提取 1. 模型概述与核心能力 1.1 Qwen2.5系列模型简介 Qwen2.5是通义千问大模型系列的最新版本,提供了从0.5B到72B不同参数规模的预训练和指令调优模型。相比前代Qwen2,这个版本…...

wangEditor 5移动端兼容性深度解析:终极跨平台富文本编辑实战指南

wangEditor 5移动端兼容性深度解析:终极跨平台富文本编辑实战指南 【免费下载链接】wangEditor wangEditor —— 开源 Web 富文本编辑器 项目地址: https://gitcode.com/gh_mirrors/wa/wangEditor 在移动优先的时代,富文本编辑器的移动端兼容性已…...

如何高效使用AI音频分离神器:Ultimate Vocal Remover GUI完全指南

如何高效使用AI音频分离神器:Ultimate Vocal Remover GUI完全指南 【免费下载链接】ultimatevocalremovergui 使用深度神经网络的声音消除器的图形用户界面。 项目地址: https://gitcode.com/GitHub_Trending/ul/ultimatevocalremovergui Ultimate Vocal Rem…...

VideoAgentTrek-ScreenFilter效果展示:Zoom/Teams会议窗口自动边界检测

VideoAgentTrek-ScreenFilter效果展示:Zoom/Teams会议窗口自动边界检测 你有没有遇到过这样的场景?在录制线上会议、网课或者远程演示时,屏幕上同时开着好几个窗口——Zoom会议、Teams聊天、PPT演示、还有一堆浏览器标签页。后期剪辑时&…...

Pixel Dream Workshop 对比测试:不同采样器与模型版本的出图效果

Pixel Dream Workshop 对比测试:不同采样器与模型版本的出图效果 1. 测试背景与目的 在AI绘画领域,采样器和模型版本的选择直接影响最终生成效果。本次测试旨在通过严谨的对比实验,帮助用户理解Pixel Dream Workshop中不同参数组合的实际表…...

AIO PathProb 时序概率路径系统

本文由(拓世网络技术开发工作室)技术支持,欢迎共同开发第一部分:伪代码 / 算法描述(给算法/工程侧)1. 全局定义(状态与概率)import numpy as npfrom dataclasses import dataclass# …...

电容选型实战指南

电容选型这件事,比电阻要复杂得多。电阻选错了,大多数情况是“烧了”或“不准了”;电容选错了,可能直接导致系统复位、EMI超标、寿命骤减、甚至爆炸。电容是电路中最“敏感”的元件之一,它的选型需要在电气性能、温度特性、寿命、成本、体积之间反复权衡。 一、 选型前的四…...

Xilinx ZYNQ/MPSOC开发者必看:如何为你的PetaLinux 2022.1工程搭建一个高效的本地缓存服务器(sstate downloads)

Xilinx ZYNQ/MPSOC团队开发实战:构建企业级PetaLinux缓存服务器集群 当五个工程师同时对着公司服务器发起全量编译时,机房里传出的风扇轰鸣声总让我想起波音747起飞——这是我们去年某个ZYNQ UltraScale项目的日常。直到我们在本地部署了分布式sstate缓存…...

UniHacker技术探索:Unity引擎全功能体验与开源研究指南

UniHacker技术探索:Unity引擎全功能体验与开源研究指南 【免费下载链接】UniHacker 为Windows、MacOS、Linux和Docker修补所有版本的Unity3D和UnityHub 项目地址: https://gitcode.com/GitHub_Trending/un/UniHacker 一、核心价值解析:技术研究视…...

AtlasOS系统Xbox控制器驱动问题:三步解决方案与预防指南

AtlasOS系统Xbox控制器驱动问题:三步解决方案与预防指南 【免费下载链接】Atlas 🚀 An open and lightweight modification to Windows, designed to optimize performance, privacy and security. 项目地址: https://gitcode.com/GitHub_Trending/atl…...

如何让零基础快速掌握3D资产生成:颠覆式AI工具Hunyuan3D-2实战指南

如何让零基础快速掌握3D资产生成:颠覆式AI工具Hunyuan3D-2实战指南 【免费下载链接】Hunyuan3D-2 High-Resolution 3D Assets Generation with Large Scale Hunyuan3D Diffusion Models. 项目地址: https://gitcode.com/GitHub_Trending/hu/Hunyuan3D-2 技术…...

乙巳马年·皇城大门春联生成终端W数据库课程设计案例:用户作品管理平台

乙巳马年皇城大门春联生成终端W数据库课程设计案例:用户作品管理平台 又到了一年一度的数据库课程设计选题季,你是不是还在为“学生信息管理系统”、“图书管理系统”这类老掉牙的题目发愁?想找个既有技术深度,又能结合当下热点&…...

失真度测量仪校准 失真度测量仪校准检定装置应用方案 失真度仪校准器 失真度仪检定装置

在电子测量、计量检定、设备运维及科研生产等领域,失真度仪是检测信号纯净度的核心仪器,其测量精度直接决定产品质量管控、设备运维可靠性及科研数据准确性。但实际应用中,传统校准设备普遍存在精度不足、操作繁琐、场景适配性差、数据管理不…...

DAMOYOLO-S与数据库联动:检测结果实时入库与查询

DAMOYOLO-S与数据库联动:检测结果实时入库与查询 你有没有想过,当AI模型在摄像头前“看到”一个人、一辆车时,这些信息除了在屏幕上显示一下,还能做什么?如果这些“看见”的瞬间——谁、在哪儿、什么时候、有多确定—…...

终极指南:如何用jQuery.Flipster打造惊艳的3D封面流效果

终极指南:如何用jQuery.Flipster打造惊艳的3D封面流效果 【免费下载链接】jquery-flipster Responsive, CSS3, touch-enabled jQuery Coverflow plugin. 项目地址: https://gitcode.com/gh_mirrors/jq/jquery-flipster 还在为网站轮播图太单调而烦恼吗&#…...

Vant4移动端电商实战:用Card和Cell组件打造订单详情页(附完整代码)

Vant4移动端电商实战:用Card和Cell组件打造订单详情页(附完整代码) 在移动电商应用开发中,订单详情页是用户查看购买信息的重要界面。Vant4作为轻量、可靠的移动端组件库,其Card和Cell组件能够快速构建清晰、美观的订单…...

用Python和C语言两种解法,搞定ZZULIOJ 1091‘爬楼梯’问题(附多实例测试详解)

用Python和C语言两种解法,搞定ZZULIOJ 1091‘爬楼梯’问题(附多实例测试详解) 当你第一次看到这个题目时,可能会觉得它只是一个简单的递归问题。但深入思考后会发现,这实际上是动态规划的经典案例——斐波那契数列的变…...

InstructPix2Pix真实体验:保留原图结构的智能修图,到底有多好用?

InstructPix2Pix真实体验:保留原图结构的智能修图,到底有多好用? 1. 颠覆传统的修图体验 作为一名长期与图像处理打交道的技术从业者,我第一次使用InstructPix2Pix时的感受可以用"惊艳"来形容。传统的图像编辑工具需要…...

16张动图解析网络基础原理与应用

16张动图趣味解读网络原理1. 网络基础概念1.1 网络的定义与作用网络存在于日常生活中的每一个角落,电脑、打印机、手机、电视等设备都属于网络设备。通过网络连接这些设备,可以实现数据传输和共享,让工作生活更加便捷。典型的网络应用场景包括…...

AMD平台黑苹果智能配置引擎:从技术困境到自动化解决方案的完整指南

AMD平台黑苹果智能配置引擎:从技术困境到自动化解决方案的完整指南 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 在传统黑苹果配置领域&…...

Harness设计——Anthropic实战:规划器、生成器、评估器三角色协作详解

Harness 设计是实现智能体编码前沿性能的关键。本文介绍了Anhtropic如何推动 Claude 在前端设计和长期自主软件开发方面更进一步。 有两个相互关联的问题: 让 AI Agent 生成高质量的前端设计。 让它无需人工干预就能构建完整的应用程序。 这项工作源于我们早期在前端设计技能…...

本地部署 LookScanned:轻松将 PDF 转为逼真扫描件,结合内网穿透实现远程访问

前言 本文主要介绍了 LookScanned 这款工具的部署与使用方法。LookScanned 可将普通电子 PDF 转换为高度逼真的纸质扫描件效果,全程本地处理保障隐私,操作简单且无需打印扫描的物理步骤。 文中详细讲解了在极空间通过 Docker 部署 LookScanned 的流程&…...

终极指南:5个简单步骤用eqMac提升macOS音频体验 [特殊字符]

终极指南:5个简单步骤用eqMac提升macOS音频体验 🎧 【免费下载链接】eqMac macOS System-wide Audio Equalizer & Volume Mixer 🎧 项目地址: https://gitcode.com/gh_mirrors/eq/eqMac 想为你的Mac打造专业级的音频体验吗&#x…...

通义千问1.5-1.8B-Chat-GPTQ-Int4 Java开发集成:SpringBoot项目实战指南

通义千问1.5-1.8B-Chat-GPTQ-Int4 Java开发集成:SpringBoot项目实战指南 最近在帮一个朋友做项目,他们想在自己的Java应用里加个智能对话功能,看中了通义千问1.5-1.8B-Chat-GPTQ-Int4这个模型。这模型挺有意思的,体积小但能力不弱…...

突破限制,让老旧Mac焕发新体验:OpenCore Legacy Patcher全解析

突破限制,让老旧Mac焕发新体验:OpenCore Legacy Patcher全解析 【免费下载链接】OpenCore-Legacy-Patcher 体验与之前一样的macOS 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher OpenCore Legacy Patcher是一款强大…...

PHP反序列化实战:手把手教你绕过CTF题中的字符检查与属性保护

PHP反序列化漏洞实战:从CTF解题到真实场景防御 在网络安全竞赛中,PHP反序列化漏洞一直是高频考点。这类漏洞不仅存在于CTF比赛中,也广泛存在于真实世界的Web应用中。本文将从一个典型CTF题目入手,深入剖析PHP反序列化的攻击手法与…...