...
- 在展现定制中,创建一张电子表格分析;
- 在浏览器的资源定制节点下,选中电子表格,右键选择 编辑宏 进入报表宏界面。
- 在报表宏界面新建服务器端模块,在弹出的新建模块对话框中选择对象为spreadSheetReport;事件为onBeforeOutput;并把下面宏代码复制到代码区域。
- 在报表宏界面新建客户端模块,在弹出的新建模块对话框中选择对象为spreadSheetReport;事件为onRender;并把下面宏代码复制到代码区域。
服务器宏类型
类型 | 对象 | 事件 |
ClientSideServerSide | spreadSheetReport | onBeforeOutput |
...
类型 | 对象 | 事件 |
ClientSide | spreadSheetReport | onRenderonLinkClick |
客户端宏代码
代码块 | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
function paramToString(v) { return v == null ? null: v.toString(); } function main(spreadsheetReport, ruleName, params) { if (ruleName != "jump") { return; } //根据服务器模块的顺序获取内容 var url = paramToString(params[0]); var value = paramToString(params[1]); var nextUrl = paramToString(params[2]); switch (url) { case "goBack": goBack(); break; case "jumpTo": jumpTo(value); break; case "goImage": goImage(value, nextUrl ); break; case "goShengchan": goShengchan(value); break; default: } } /* 返回到前一页面 */ var goBack = function() { window.history.back(); }; /* 跳转到其他报表 */ var jumpTo = function(field_cv) { if (!util.trim(field_cv)) { return; } var param = getParamInfo(field_cv); if (!param) { alert("没有查到相关批准文号信息。"); return; } var url = 'jumpToTabbedPage.jsp?param=' + param; url = encodeURI(url); // 生成用来提交请求的form var form = document.getElementById("__openReportURLForm"); if (!form) { form = document.createElement("FORM"); document.body.appendChild(form); } form.innerHTML = ""; form.style.display = "none"; form.id = "__openReportURLForm"; form.action = url; form.method = 'POST'; form.target = "_blank"; form.submit(); }; /* 生成需要传递的参数信息 */ var getParamInfo = function(RELATED_PJ_NO) { var dsId = "DS.bjj_ds"; var sql = ["select ID, RELATED_PJ_NO from BJJ_DRUG_BASE_INFO where APPROVAL_CODE = ", "'", RELATED_PJ_NO, "'"].join(""); var ret = util.remoteInvoke("TabbedReportService", "getSQLResult", [dsId, sql]); if (! (ret && ret.succeeded)) { modalWindow.showServerError(ret); return; } var drugInfo = ret.result.data; if (!drugInfo.length) { return false; } var id = drugInfo[0][0].value; // 当"相关批件号"值为空时,传递一个NONE参数过去 var pj_no = drugInfo[0][1].value; if (!util.trim(pj_no)) { pj_no = "NONE"; } var param = { ID: { realValue: id, dispValue: id }, RELATED_PJ_NO: { realValue: pj_no, dispValue: pj_no } }; var retVal = lang.toJSONString(param); return retVal; }; /* 跳转到图片文件 */ var goImage = function(field_cv, url ) { if (!util.trim(field_cv)) { return; } if (url == '') { alert("没有相关电子文档"); return; } url = encodeURI(url); // 生成用来提交请求的form var form = document.getElementById("__openReportURLForm"); if (!form) { form = document.createElement("FORM"); document.body.appendChild(form); } form.innerHTML = ""; form.style.display = "none"; form.id = "__openReportURLForm"; form.action = url; form.method = 'POST'; form.target = "_blank"; form.submit(); }; /* 跳转到图片文件 */ var goShengchan = function(field_cv) { if (!util.trim(field_cv)) { return; } //var nextTd = link.nextSibling; var url = "http://10.1.5.81:8081/upload/" + util.trim(field_cv); url = encodeURI(url); // 生成用来提交请求的form var form = document.getElementById("__openReportURLForm"); if (!form) { form = document.createElement("FORM"); document.body.appendChild(form); } form.innerHTML = ""; form.style.display = "none"; form.id = "__openReportURLForm"; form.action = url; form.method = 'POST'; form.target = "_blank"; form.submit(); }; |