在表单虚拟字段渲染一个报表,并且可以根据条件筛选报表数据
介绍
在表单虚拟字段渲染一个报表,并且可以根据表单上某个字段值改变并筛选报表数据
详情
1.根据已有数据源创建一个普通报表,并配置好查询参数
2.在表单中加虚拟字段,并且写事件将报表渲染出来
const {
$func, // 功能对象
$form, // 功能表单对象
$display,// 展示字段对象
field, // 字段详细配置
model, // 表单数据
value, // 当前值
} = EventOptions;
return(container, options) => {
// 异步事件,需要返回,用于加载完组件后,刷新panel布局
const admin = JE.useAdmin();
return admin?.emitMicroEvent(
'JE_PLUGIN_REPORT_MODULE',
'report-renderer',
container,{
code:'DCBB',// 报表code
//querys:{TEST_QJLX_CODE:model.TEST_QJLX_CODE}
}
).then((report)=>{
$form.$report = report;
});
};
3.表单字段值改变中编写事件,值改变就刷新报表,当前案例使用的是请假类型字段
const {
$func, // 功能对象
field, // 字段详细配置
model, // 表单数据
type, // 类型:column(列表字段)|form(表单字段)
$form, // 功能表单对象(表单编辑起效)
$grid, // 功能列表对象(列表编辑起效)
value, // 当前值
valueOptions, // 当前值对应的选项数据
} = EventOptions;
//值改变事件加载报表,条件是请假类型
$form.$report?.value.load({TEST_QJLX_CODE:value});
4.表单激活事件中,有值的情况下进表单刷新报表
/**
* 功能每次进入到表单界面后,全会触发本事件
*/
const {
$func, // 功能对象
$form, // 功能表单对象
} = EventOptions;
//获取请假类型
const TEST_QJLX_CODE = $form.getValues('TEST_QJLX_CODE');
//传参并刷新报表 如果没有加载的情况下 可以加延时
$form.$report?.value.load({TEST_QJLX_CODE:TEST_QJLX_CODE});
最后编辑: 呼丽华 文档更新时间: 2025-01-15 16:00 作者:呼丽华