1.页面跳转打开浏览器新窗口
*注意:此效果只能在中台上查看(要使用jDiwork),所以只能是发布后的页面。
在当前页面添加自定义按钮,并执行相关代码如下:
viewModel.get('button5ze').on('click', function () {
//相关业务逻辑
console.log('业务逻辑');
//触发新窗口打开 'ea30ca5d-b8bb-415c-aa0d-6e92dc104ad7'在数据库workbench中,表wb_service里取要跳转界面的service_code
window.jDiwork.openService('ea30ca5d-b8bb-415c-aa0d-6e92dc104ad7', {},
{ //跨窗口传参
data: {
busName: 'test',
id: '34523413hbh345'
},
// title: '主子表test'
}
);
})
新窗口打开页面获取相关传递参数,并实现自动搜索过滤,对应页面初始化代码如下:
viewModel.on('afterMount', function () {
var name = '';
// serviceCode在数据库workbench中,表wb_service里取要跳转界面的service_code
window.jDiwork.getData({ serviceCode: 'ea30ca5d-b8bb-415c-aa0d-6e92dc104ad7' }, (params) => {
console.log(params);
name = params.busName;
//获取查询区模型
const filtervm = viewModel.getCache('FilterViewModel');
filtervm.on('afterInit', function () {
console.log(name);
//进行查询区相关扩展*注意:给查询框对应字段赋值
filtervm.get('name').getFromModel().setValue(name);
});
});
});
参照案例:质量首页点质量动态跳转质量动态列表
2.原界面跳转
在当前页面添加自定义按钮,并执行相关代码如下:
var gridModel = viewModel.getGridModel();
//获取选中行行号
var param = event.params;
var rowData = gridModel.getRow(param.index);
let data = {
billtype: 'Voucher',// 单据类型默认
billno: '7df2c43fList',//单据号,可通过预览指定页面后,在浏览器地址栏获取,在Voucher后面的字符串既是,7df2c43fList跳转列表,7df2c43f跳转卡片
params: {
mode: 'browse', // (编辑态edit、新增态add、浏览态browse)
readOnly: true,
query: {
code:rowData.new1
}
},
};
cb.loader.runCommandLine('bill', data, viewModel); // bill 打开列表弹窗
打开页面获取相关传递参数,并实现自动搜索过滤,对应页面初始化代码如下:
viewModel.on('beforeSearch',function(args){
// args.isExtend = true;
var params= viewModel.getParams().query;
if(Object.keys(params).length>0){
//设置具体的查询条件
var conditions = args.params.condition;
conditions.simpleVOs =
[{
"logicOp": "and",
"conditions": [
{
"field": "code",
"op": "eq",
"value1": params.code
}]
}];
}
});
参照案例:项目概况--测试手动跳转列表,根据花名册编码跳转员工名册