自举
ceta平台可以用form,page,flow扩展ceta平台本身,在project级别和pbc级别注入菜单即可使用扩展功能
1.定位到CETA项目
https://ceta-dev.test.bizops.com.cn/icp-ui/center/project/-1/pbc 这个是访问路径,https://ceta-dev.test.bizops.com.cn 替换成相应环境的host,-1就是ceta的projectId

2. 表单
- 表单必须勾选主数据,并且数据类型为
CETA Mate Data Security Level - Project。 - 必须有一个
单行文本类型的InputField,且 ID 为projectId,默认值为:params.projectId。
- 如果是为PBC添加扩展功能,可以在默认值中使用
:params.pbcId得到url路径参数中的pbcId。
3.Page
- 如果有新增button,在“表单”Tab选择完后切换到“自定义”Tab在链接地址前加上
./../../开头,比如./../../form/project-form/layout/default
- 如果Table中有查看按钮或编辑按钮,配置链接地址的方法和新增按钮类似添加
./../../开头。 - 如果是给项目一级菜单用的Page其中只有一个
表格,推荐将Table高度设置为calc(100vh - var(--app-header-height) - var(--pbcm-main-head-height) - var(--assume-project-level1-tabs-height) - var(--pbcm-button-bar)) - 如果是给项目二级菜单用的Page其中只有一个
标签组和一个表格,推荐将这2个组件嵌入到一个垂直叠放中,为垂直叠放添加样式高度为calc(100vh - var(--app-header-height) - var(--pbcm-main-head-height) - var(--assume-project-level1-tabs-height) - var(--pbcm-button-bar)),为标签组添加样式flex: 0即:占用固定空间,为表格添加样式flex: 1即:占满剩余空间。 - 为按钮配置根据项目权限是否只读而隐藏,在按钮配置中配置隐藏条件,使用
:context.projectReadonly是否为真判断。
4. Flow
-
如果 Flow 的节点类型是
Form(表单操作:创建、编辑;审批操作:审批),则权限与 2. 表单 配置相同。 -
如果是
Rest Flow,需要添加 SDK 以检查用户项目权限。SDK 的输入和输出参数如下:输入参数:
- 用户 ID:使用
$CURRENT_USER.id获取。 - 应用 ID:通过 REST 请求入参带入,例如:
/flow/api/flow-rest/rest-flow-permission?projectId=:params.projectId。可以使用$1.restTrigger.requestParams.projectId获取projectId。 - 权限类型:
view/edit/owner,分别代表只读、编辑和所有权限。
输出参数:
- hasPermission:
true或false,true表示有权限。
- 用户 ID:使用

4.项目数据隔离
- 如果仅仅是project级别的数据隔离,则配置
projectId ==:params.projectId,必须配置 - 如果还需要pbc级别的数据隔离,在2的基础上,增加配置项
pbcId=:params.pbcIdExample
5.配置菜单
5.1 配置相应的菜单级别
应用是project级别。可选择插入位置,不选则追加在末尾。组件是pbc级别。
5.2 菜单配置完的效果
- 应用

- 组件
