houzekong e07a1df2a1 [Feat 0000] 为homedata2的数据添加等积孔(报表)一项 1 kuukausi sitten
..
components 8847d599e3 [Style 0000] 可配置首页模块样式优化 1 kuukausi sitten
hooks e89d9ee23e [Fix 0000] 可配置首页模块会短暂显示非预期内容的问题修复 1 kuukausi sitten
README.md 93db1e086d [Feat 0000] 保德添加了两个超链接,文档补充 4 kuukautta sitten
configurable.api.ts e07a1df2a1 [Feat 0000] 为homedata2的数据添加等积孔(报表)一项 1 kuukausi sitten
configurable.data.bd.ts 93db1e086d [Feat 0000] 保德添加了两个超链接,文档补充 4 kuukautta sitten
configurable.data.ts e07a1df2a1 [Feat 0000] 为homedata2的数据添加等积孔(报表)一项 1 kuukausi sitten
configurable.data.wz.ts e07a1df2a1 [Feat 0000] 为homedata2的数据添加等积孔(报表)一项 1 kuukausi sitten
dust.vue 589bea852c [Feat 0000] 可配置首页添加对嵌入模式的支持 3 kuukautta sitten
dustBD.vue d4f7019cb1 [Wip 0000] 通风项目主题化,包括预警页面、预警首页 3 kuukautta sitten
fire.vue 589bea852c [Feat 0000] 可配置首页添加对嵌入模式的支持 3 kuukautta sitten
fireBD.vue d4f7019cb1 [Wip 0000] 通风项目主题化,包括预警页面、预警首页 3 kuukautta sitten
fireWZ.vue d4f7019cb1 [Wip 0000] 通风项目主题化,包括预警页面、预警首页 3 kuukautta sitten
index.vue d4f7019cb1 [Wip 0000] 通风项目主题化,包括预警页面、预警首页 3 kuukautta sitten
mock.ts 9261448677 [Feat 0000] 布尔台通风、粉尘、火灾首页的配置、页面更新 4 kuukautta sitten
vent.vue 589bea852c [Feat 0000] 可配置首页添加对嵌入模式的支持 3 kuukautta sitten
ventDHZ.vue e553e21c37 [Feat 0000] 大海则首页跳转链接修改 2 kuukautta sitten
vent_SY.vue 5c1e807208 [Feat 0000] 添加三元可配置首页 1 kuukausi sitten
vent_v5.vue 0bf22a07aa [Feat 0000] 添加、优化chart子模块,包括pie_halo/pie_drag/line,添加monitor_bar、device_alarm等预设 1 kuukausi sitten

README.md

可配置首页文档及开发指引

可配置首页是一个能让用户在线上进行灵活变更的首页,它可以在配置正确的布局、模块后展示它们,提供了更为低成本的维护方式。

配置详解

具体的配置字段及注释请见 /views/vent/deviceManager/configurationTable/types.ts

目录结构

/configurable

--xxx.vue 各个首页的具体文件,每个首页需要一个文件来承载它们的子模块,放置特殊的装饰以及实现特定的功能。例如 dustBD 即为保德煤矿专用的粉尘首页。

--mock.ts 提供一些模拟数据

--configurable.data.ts 该文件及类似命名的文件用来提供测试用的首页具体配置,测试通过后可以依据此配置上线。

--configurable.api.ts 获取数据的 api 都在这里维护。

--/hooks 包含了可供各个首页、子模块核心组件复用的 setup 内容,包括初始化配置、初始化选项等。

--/components

----/detail 包含了各个细分模块的具体组件,例如列表、表格、告示板、画廊、时间线等等组件,它们根据自己的 prop 实现自己的内容。

----/enhanced 包含了新版子模块的各样组件,例如底部特化、边缘特化等,子模块内由上述的细分模块组成。

----/original 包含了原版子模块的组件,例如底部特化、边缘特化等,子模块内由上述的细分模块组成。

----/preset 包含了预设类细分模块的具体组件,预设类指的是较为复杂,难以可配置化的组件,通常仅需提供数据,即首页配置内指向的数据。

----ModuleXXX.vue 各个子模块的具体组件,子模块通常负责边框、Header、Content的布局,样式在这里维护。特殊情况下更为底层的实现也可以在这里。

----content.vue 内容组件,核心组件之一,这个组件负责将首页配置转换为可以供细分模块使用的 prop,并且引用所有细分模块,负责它们的布局。

----header.vue 头部组件,核心组件之一,这个组件负责将首页配置的 Header 项实现为下拉框,并向外提供了获取所选内容的方法,供其他与 content 类同的组件使用。

开发流程

从开发一个新的首页开始,需要的步骤可能如下:

1、新建 xxx.vue 作为该首页的具体文件,引入 hooks 里的初始化方法,并对配置进行初始化,配置存在自己的作用域(即 deviceType),初始化数据。

2、根据作用域向项目的数据字典里添加新的项目,code 在配置表处定义(目前为 configurable_homepage),内容为上述的 deviceType。

3、参照已有的首页文件,将需要支持的子模块类型加入其中,添加必要的装饰并提供子模块需要的 prop。

4、新建 configurable.data.ts 或类同的文件,根据先前的文件配置,写出一份适用于本首页的配置来。

5、测试完毕后提交代码、打包项目,部署后在线上的首页配置页面将写好的配置以JSON写入即可。

菜单事项

完整的首页需要对应的配置页面来配合,首页名称各不相同,但是配置页只有一个:vent/deviceManager/configurationTable/index

开发新的细分模块/子模块

如果需要开发新的细分模块,那么基本流程如下:

1、在配置类型声明处添加子项,可参考 chart、table、list、board 项的结构。

2、开发细分模块,将其放置在 /components/detail 下。

3、根据细分模块的 prop,在 content.vue 下参考已有实现将新的细分模块标识添加进处理结构中,添加能把配置转换为 prop 的逻辑,同时添加该细分模块至相关布局代码中。

4、测试修改并提交。

如果是子模块,那么参考 ModuleEnhanced.vue 即可。