Skip to content

页面引擎 ​

页面引擎维护菜单整页 Vue SFC(t_page)。当菜单 模版类型 为 页面视图(template_type=0)时,Web 的 PageView 按当前菜单的 menu_id 拉取并渲染 t_page 代码。

从模块引擎建页面视图 ​

页面记录挂在菜单上:先有菜单,再写页面代码。

  1. 进入 系统引擎 → 模块引擎(路由 /system-engine/module-engine)。
  2. 新增或编辑菜单:填写中文标题、图标、路由等。
  3. 模版类型 选 页面视图(0)。
  4. 打开方式 按场景选择(见下文驾驶舱 / 报表)。
  5. 保存菜单,记下该菜单的雪花 id(即 menu_id)。
  6. 在角色权限中授权该菜单,侧栏才能看到。
  7. 从侧栏点进该菜单,进入 PageView;有设计权限时右下角出现「设计」悬浮钮。

模块引擎字段与模版类型说明见 模块引擎。

编辑与保存页面代码 ​

  1. 以具备设计权限的账号打开目标页面视图菜单。
  2. 悬停右下角「设计」,单击 Code,打开页面代码编辑器(语言为 Vue SFC)。
  3. 编写或修改完整 SFC:<template> + <script setup lang="ts"> + 可选 <style scoped>。
  4. 保存:写入当前页的 code(若当前源是 temp_code 则写回临时字段);成功后页面可经 SignalR 刷新。
  5. 刷新路由或重新进入菜单,确认运行态与保存内容一致。

运行时优先使用非空的 code,否则回落 temp_code。正式发布应保证 code 为完整可用 SFC。

页面属性(运行态模型) ​

属性名字说明
页面 ididt_page 雪花主键
绑定菜单menu_id / f_menu_id与 t_menu.f_id 对应;按菜单拉取
名称name / f_name页面名称
代码code / f_code正式 Vue SFC
临时代码temp_code / f_temp_code草稿或备用
描述description / f_description用途说明

页面没有独立「组件引擎」式列表入口;入口就是模版类型为页面视图的菜单。

驾驶舱(深色)与报表(浅色) ​

无单独子文档时,按菜单 打开方式 与根节点 class 区分视觉:

场景菜单 open_type建议根节点 class
驾驶舱 / 数字大屏0 或 2(无外层 Layout,常全屏)深色一屏、少滚动remote-page screen-dark
报表 / 仪表盘1 或 3(经 LayoutHost)浅色可读、可纵向滚动remote-page dashboard-light

取数统一走接口(HttpService 等),不要在页面脚本里直接用后端 DatabaseService。图表优先用 Element Plus、进度条、比例条等白名单能力表达。

与组件引擎、列表「页面设计」的区别 ​

对比项页面引擎 t_page组件引擎 t_component列表「页面设计」
载体菜单整页脚本打开的弹层/抽屉DataView 右下对 t_template 头属性
打开点菜单 → PageViewApp.Components.Component.Open仍是列表,不是整页 SFC
键menu_id组件 idtemplate_id

常见问题 ​

点菜单空白或一直加载 ​

确认模版类型为页面视图(0),且该 menu_id 下已有非空 code/temp_code。可重新进菜单或看网络请求是否返回页面。

看不到「设计 / Code」 ​

设计悬浮钮依赖账号的设计权限;普通业务角色通常不可见。用有设计权限的账号,或走 MCP/PageService 写库。

保存了但侧栏进不去 ​

检查菜单「是否显示」「是否激活」,以及当前角色是否已授权该菜单。

大屏被顶栏挤变形 ​

驾驶舱类页面宜用 open_type 0/2(无 LayoutHost),根节点用 screen-dark,高度用 height: 100% + flex,避免页面级 vh/vw。

和组件 SFC 混用 ​

页面按菜单进入;弹层复用逻辑应做成 t_component,在页面或按钮里 Open,不要把弹层外壳逻辑硬塞进菜单页。

相关文档 ​

白泽 ProCode 开发者文档