Codex数据可视化图表生成:Excel联动实操教程
摘要
生成Codex数据可视化图表需确认三个统计对象及接口字段,执行命令生成带权限的统计组件
教学统计模块的构建,需要先对齐Codex项目根目录下的SOP标准文档,确保“教学中心统计”精确锁定三个对象:教案主体(LessonPlanMaster)、整合教案(LessonPlan)、教学动画(TeachingAnimation)。这三个实体是后续所有数据图表的底层依赖,缺少任何一个维度,前端矩阵树图都无法正确渲染对应的资源覆盖状态。
同时必须校验_teaching_center_detail接口的返回结构。如果响应体中不包含上述三组detail字段,前端将无法判断哪些资源已被覆盖。执行codex check --module teaching,确认当前分支是否注册了菜单入口/system/MyWork/TeachingCenterStats——这一步一旦遗漏,前端路由便会返回404,所有图表组件都无法加载。

构建具备缓存与权限管控的教学统计组件
在终端执行codex generate stats:teaching --with-cache --with-permission。该指令将一键生成教学统计Hero区域、教材分类Tab导航、学科结构树图以及年级-学科数量矩阵表格,并自动集成角色可见性逻辑——仅允许teaching_admin和content_editor两个角色访问此页面。
【关键步骤】生成后立即执行make migrate,同步数据库内的缓存表stats_cache_teaching。此操作若不完成,前端调用SiteStatsViewSet.build_application_section_data("teaching")时只会返回空数据集,致使图表区域呈现白屏。
Excel端配置实时数据联动
方案一:利用Excel原生数据连接(适用于中小规模部署)
1. 打开Excel → 【数据】→【获取外部数据】→【从SQL Server】→输入Codex部署库地址(例如codex-prod.internal:1433),使用只读账号登录。
2. 在查询编辑器中粘贴以下SQL,确保字段名与Codex统计口径严格对应:
SELECT category AS textbook_category, grade, subject, COUNT(*) AS count FROM lessonplanmaster GROUP BY category, grade, subject;
3. 将查询结果加载到工作表,选中数据区域 → 【插入】→【透视图】→把textbook_category拖入筛选器,grade和subject拖入行标签,count拖入值区域;右键透视图选择【刷新数据】即可获取最新统计快照。
方案二:通过简道云零代码平台桥接(适用于无DBA权限场景)
登录简道云 → 新建应用 → 添加「数据源」→选择「MySQL」→填写Codex生产库连接信息 → 启用自动同步(同步间隔设为5分钟)→ 拖拽「仪表盘」组件 → 绑定已同步的lessonplanmaster表 → 插入「矩阵树图」组件,字段映射配置为category/grade/subject/count。
注意:简道云同步要求Codex数据库开放外网白名单IP,且用户密码不能包含特殊字符@或/,否则会触发连接错误。
前端矩阵图表绑定动态数据源
打开Codex前端文件 src/views/teaching/TeachingCenterStats.vue。
定位至setup()函数内的const matrixData = ref([])声明。
将原有的硬编码mock数据替换为真实API调用:
const { data } = await useAsyncData('teaching-matrix', () => $fetch('/api/v1/stats/teaching/matrix'));
matrixData.value = data.value || [];
同时确认/api/v1/stats/teaching/matrix接口已在后端SiteStatsViewSet中实现,返回数据结构必须为嵌套二维数组,格式如下:[[{category:"小学语文",grade:"三年级",subject:"阅读",count:12}],...]。若格式不匹配,前端矩阵树图将仅渲染为空白单元格。
来源:互联网
本网站新闻资讯均来自公开渠道,力求准确但不保证绝对无误,内容观点仅代表作者本人,与本站无关。若涉及侵权,请联系我们处理。本站保留对声明的修改权,最终解释权归本站所有。