iBizModel 面板(PSSYSVIEWPANEL)模型体系
本文介绍了完整的面板体系结构,包含PSSYSVIEWPANEL系统面板及其九种成员类型。重点说明了CONTAINER、CONTROL等核心成员的功能特性,并通过两个示例展示了面板的完整配置方式:一个综合面板集成了所有成员类型;另一个则专门演示按钮的不同行为类型。文章还通过Mermaid图表清晰呈现了面板成员间的层级关系,展现了该体系提供的灵活布局和交互能力,可满足各类业务场景的界面需求。
·
面板体系完整介绍
1. PSSYSVIEWPANEL(系统面板部件)
功能:定义面板部件的界面及处理逻辑,是支持多种布局模式的容器。
核心属性:
viewlayoutflag
:视图布局标识(1-布局面板,2-用于视图增强布局)layoutmode
:布局模式(TABLE_12COL、TABLE_24COL、FLEX)datamode
:数据获取模式(0-不获取,1-未传入时获取,2-始终获取)navbarmode
:导航栏模式
2. 面板成员类型(PSSYSVIEWPANELITEM)
(1) CONTAINER(面板容器)
功能:基础布局面板,作为容器使用
特性:支持子成员,提供嵌套布局能力
(2) CONTROL(部件)
功能:挂载系统或实体定义的界面部件
特性:通过ctrltype指定部件类型,支持多种预置部件
(3) CTRLPOS(部件占位)
功能:视图布局面板中的部件占位
特性:为动态部件提供占位容器
(4) RAWITEM(直接内容项)
功能:输出文本或图片等直接内容
特性:支持HTML、TEXT、IMAGE等内容类型
(5) TABPANEL(分页部件)
功能:分页界面容器,支持多页面切换
特性:只能包含TAGPAGE作为子成员
(6) TAGPAGE(分页面板)
功能:分页部件的成员部件,作为基础布局容器
特性:只能放置在TABPANEL中,支持子成员
(7) FIELD(面板属性)
功能:显示或编辑属性字段
特性:支持多种编辑器类型(TEXTBOX、DROPDOWNLIST等)
(8) BUTTON(面板按钮)
功能:提供命令能力
特性:支持多种行为类型(UIACTION、OPENVIEW、CUSTOM等)
(9) USERCONTROL(用户控件)
功能:自定义用户控件
特性:支持扩展自定义控件
完整应用示例
示例1:包含所有成员类型的综合面板
//iBizModelDSL建模指令,目标:展示所有面板成员类型
pssysviewpanel(
codename: "CompletePanelDemo"
,name: "完整面板演示"
,layoutmode: "TABLE_24COL"
){
// 1. CONTAINER - 面板容器
pssysviewpanelitem(
itemtype: "CONTAINER"
,name: "mainContainer"
,caption: "主容器"
,layoutmode: "TABLE_12COL"
){
// 2. FIELD - 面板属性
pssysviewpanelitem(
itemtype: "FIELD"
,name: "nameField"
,fieldname: "name"
,caption: "名称"
,editortype: "TEXTBOX"
,col_lg: 6
)
// 3. BUTTON - 面板按钮
pssysviewpanelitem(
itemtype: "BUTTON"
,name: "saveButton"
,caption: "保存"
,btnactiontype: "UIACTION"
,psdeuiactionid: "SaveActionDSLID"
,col_lg: 3
)
}
// 4. CTRLPOS - 部件占位
pssysviewpanelitem(
itemtype: "CTRLPOS"
,name: "chartPlaceholder"
,caption: "图表区域"
,col_lg: 12
)
// 5. RAWITEM - 直接内容项
pssysviewpanelitem(
itemtype: "RAWITEM"
,name: "welcomeText"
,contenttype: "HTML"
,htmlcontent: "<h3>欢迎使用系统</h3><p>这是直接HTML内容</p>"
,col_lg: 12
)
// 6. TABPANEL - 分页部件
pssysviewpanelitem(
itemtype: "TABPANEL"
,name: "mainTabPanel"
,caption: "功能选项卡"
,col_lg: 24
){
// 7. TAGPAGE - 分页面板(第一个标签页)
pssysviewpanelitem(
itemtype: "TAGPAGE"
,name: "basicInfoTab"
,caption: "基本信息"
,layoutmode: "TABLE_12COL"
){
pssysviewpanelitem(
itemtype: "FIELD"
,name: "descriptionField"
,fieldname: "description"
,caption: "描述"
,editortype: "TEXTAREA"
,col_lg: 12
)
}
// TAGPAGE - 分页面板(第二个标签页)
pssysviewpanelitem(
itemtype: "TAGPAGE"
,name: "advancedTab"
,caption: "高级设置"
,layoutmode: "TABLE_12COL"
){
// 8. CONTROL - 部件
pssysviewpanelitem(
itemtype: "CONTROL"
,name: "chartControl"
,ctrltype: "CHART"
,psdechartid: "SampleChartDSLID"
,col_lg: 12
)
}
}
// 9. USERCONTROL - 用户控件
pssysviewpanelitem(
itemtype: "USERCONTROL"
,name: "customControl"
,caption: "自定义控件"
,usercontrolid: "CustomControlDSLID"
,col_lg: 12
)
}
示例2:按钮行为类型演示
//iBizModelDSL建模指令,目标:展示按钮的不同行为类型
pssysviewpanel(
codename: "ButtonBehaviorDemo"
,name: "按钮行为演示"
,layoutmode: "FLEX"
){
// UIACTION - 界面行为
pssysviewpanelitem(
itemtype: "BUTTON"
,name: "uiActionBtn"
,caption: "界面行为"
,btnactiontype: "UIACTION"
,psdeuiactionid: "SampleUIActionDSLID"
)
// OPENVIEW - 打开应用视图
pssysviewpanelitem(
itemtype: "BUTTON"
,name: "openViewBtn"
,caption: "打开视图"
,btnactiontype: "OPENVIEW"
,psappviewid: "SampleViewDSLID"
)
// OPENDEVIEW - 打开实体视图
pssysviewpanelitem(
itemtype: "BUTTON"
,name: "openDEViewBtn"
,caption: "打开实体视图"
,btnactiontype: "OPENDEVIEW"
,psdeviewid: "SampleDEViewDSLID"
)
// CUSTOM - 自定义代码
pssysviewpanelitem(
itemtype: "BUTTON"
,name: "customBtn"
,caption: "自定义操作"
,btnactiontype: "CUSTOM"
,customcode: """
// 自定义按钮逻辑
console.log('自定义按钮被点击');
"""
)
// OPENHTMLPAGE - 打开链接
pssysviewpanelitem(
itemtype: "BUTTON"
,name: "openLinkBtn"
,caption: "打开链接"
,btnactiontype: "OPENHTMLPAGE"
,htmlpage: "https://example.com"
)
}
成员模型关系图
这个完整的面板体系提供了强大的界面组织和交互能力,每个成员类型都有其特定的用途和配置选项,可以根据实际业务需求灵活组合使用。
更多推荐
所有评论(0)