套打二开
注册按钮事件
//注册按钮事件
report: function(e) {
debugger;
var template = _private.reportTemplate(ids, bostype);
waf.doPost({
action: "report",
success: template,
error: function(e) {
waf.msgBox.showWarning(e);
}
});
},
/**
* 获取打印模板
* @param {*} ids 需要打印的单据ID集合
* @param {*} bostype 单据的bostype
*/
reportTemplate: function(ids, bostype) {
debugger;
var result;
waf.ajax({
url: waf.getContextPath() + "/ReportPrint/report.do?method=getReportParams", //根据前台传入参数后台数据处理(需要二开)
data: { ids: ids, bostype: bostype },
type: 'post',
dataType: '',
async: false,
success: function(data) {
result = data.data;
}
});
debugger;
if (result) {
var billID = result.id; //单据ID
var tdQueryPK = result.tdQueryPK; //查询Query
var tdTemplatePath = result.tdTemplatePath; //打印模板的路径
var dataProvider = result.dataProvider; //套打数据提供者,引擎执行时,根据此类的实现获取套打数据集。
var isSelectedAll = false; //是否跨页全选打印
var queryUuid = "";//跨页全选打印,单据ID查询uuid
//var tdRptTemplate = result.tdRptTemplate; //打印模板,此处没有使用,可以忽略
//一下内容是根据标准套打修改
var self = this;
var reportWin = waf.window.open({
url: waf.getContextPath() + "/component/ReportTemplate.do?method=initalize",
OpenType: "iframe",
method: 'POST',
data: {
billID: billID,
tdQueryPK: tdQueryPK,
tdTemplateName: tdTemplatePath,
dataProvider: dataProvider,
isByDefTemp: true,
isSelectedAll: isSelectedAll,
queryUuid: queryUuid
},
modal: true,
title: "套打",
position: 'center',
width: 635,
height: 420,
minHeight: 0,
minWidth: 200,
iconCls: "waf-ui-icon",
draggable: true,
minMixBtn: true,
hideCloseBtn: false,
resizable: false,
hideEffect: "slide"
});
return reportWin;
}
上图就是调用了标准的打印功能。
注意
参数说明
billID :多个单据套打时,单据id逗号分隔;非必录项;跨页全选套打时不以该参数作为单据id源,参照queryUuid参数说明;
tdQueryPK:参数:tdQueryPK类型:String说明:套打数据源主query,套打引擎执行时根据此query查询,返回数据集。非必录项,运行期不可改。
tdTemplateName:参数:tdTemplateName类型:String说明:套打模板路径。
dataProvider:套打数据提供者,引擎执行时,根据此类的实现获取套打数据集。非必录项,若此参数没有,套打组件默认采用CommonDataProvider结合tdQueryPK获取数据集,若有次参数,tdQueryPK参数可不设置;
isSelectedAll :参数:isSelectedAll类型:Boolean说明:是否跨页全选打印。
queryUuid:跨页全选打印,单据ID查询uuid,由控件使用者保证该参数正确性,仅当isSelectedAll为true,且queryUuid有值时,跨页全选打印才有效;
参考文件
后台Java:com.kingdee.bos.webframework.component.report.ReportTemplateController
前端:report.js 和 reportTemplate.js(标准产品)