跳转到内容

实体行为脚本

执行实体行为脚本包含行为执行前脚本、行为执行后脚本。在脚本代码中可根据数据、上下文、视图参数执行特殊业务逻辑。

参数

名称类型描述
contextIApiContext当前视图上下文
paramsIApiParams当前视图参数
dataIApiData[] | IApiData | undefined当前业务数据
targetNamestring部件名称
viewIApiViewController当前视图
ctrlIApiControlController当前部件
documentDocument当前文档对象
selector(className: string) => HTMLCollectionOf<Element>元素选择器
envIEnvironment当前环境对象
appSessionIApiData当前应用会话对象
topViewSessionIApiData当前顶级视图会话对象
viewSessionIApiData当前视图会话对象
viewParamIApiParams
appIApiAppHubController当前应用
topViewIApiViewController当前顶级视图
parentViewIApiViewController | undefined当前父视图
parentIApiViewController | undefined当前父视图
util{ message: IApiMessageUtil, notification: IApiNotificationUtil,modal: IApiModalUtil,confirm: IApiConfirmUtil,openView: IApiOpenViewUtil}工具集

调用示例

基于视图参数或业务数据调整当前上下文数据

typescript
// 基于业务数据调整当前上下文数据
context.aaa = data.field1;
// 基于视图参数调整当前上下文数据
context.bbb = viewParam.field2;

调用指定实体行为

typescript
// 获取当前应用对象
const app = ibiz.hub.getApp(context.srfappid);
// 调用实体标识为plmweb.xxx的实体行为compute_details并获取结果,其中plmweb.xxx表示实体标识(必填),compute_details表示实体行为(必填),context表示上下文对象(必填),{"xxx":data.id,"yyy":context.work_item,"zzz":context.project}表示要提交的数据(选填)
const res = await app.deService.exec( 'plmweb.xxx', 'compute_details', context, {"xxx":data.id,"yyy":context.work_item,"zzz":context.project});

基于当前数据附加其他业务逻辑

typescript
// 设置当前要处理的工作项操作向导标识
context.class_wizard = data.id;
// 获取当前应用对象
const app = ibiz.hub.getApp(context.srfappid);
// 组装数据请求并调用工作项向导操作服务计算子项
const res = await app.deService.exec( 'plmweb.work_item_wizard', 'compute_details', context, {"work_item_wizard":data.id,"work_item":context.work_item,"project_id":context.project}); 
const details = res.data.details; 
// 基于返回的子项数据调用工作项向导操作详情服务创建子项
await app.deService.exec( 'plmweb.work_item_wizard_detail', 'Create', context, details);
未来已来,立即拥抱应用融合的力量
Released under the MIT License.