/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */
#content_views .toc,
/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */
#content_views.markdown_views > p:empty:has(+ .toc),
#content_views.markdown_views > .toc + p:empty,
/* 富文本旧版目录标记 */
#content_views.htmledit_views #main-toc,
#content_views.htmledit_views #hr-toc,
#content_views.htmledit_views p[id*=\”-toc\”] {
display: none !important;
}
/* 目录去掉后,紧跟的首个标题不再多出一块上边距 */
#content_views.markdown_views > .toc + h1,
#content_views.markdown_views > .toc + h2,
#content_views.markdown_views > .toc + h3,
#content_views.markdown_views > .toc + h4,
#content_views.markdown_views > .toc + p:empty + h1,
#content_views.markdown_views > .toc + p:empty + h2,
#content_views.markdown_views > .toc + p:empty + h3,
#content_views.markdown_views > .toc + p:empty + h4 {
margin-top: 0 !important;
}
需求描述
从E10抛转到BPM审核的付款申请单由于字段众多,打印的时候页面显示不美观且浪费纸张,可以通过自定义方法重新设计一个打印按钮和打印页面,只要获取需要打印的字段名即可。
操作步骤
1.复制一个现成的js文件,改成和当前BPM表单名字一致;
2.打开并编辑表单,增加打印按钮btn_Print, 增加后需要打开E10维护GP集成–扩展–表单画面设置并保存,否则打开表单看不到新增的打印按钮,然后在表单function formOpen(){增加以下代码:
document.getElementById("hdnprocessInstOID").value=processInstOID;
if(viewMode == "TRACE"){
document.getElementById("btn_Print").disabled = false;}
在表单其他地方增加以下代码:
document.getElementById("btn_Print").disabled = false;
function btn_Print_onclick(){
window.open("/NaNaWeb/CustomOpenWin/Purchase_order_I01.jsp?hdnProcessInstOID="+processInstOID);
}


增加隐藏控件:hdnprocessInstOID, 显示文字:HiddenTextBox

3.针对表单栏位内容修改JSP文件;
4.将文件拷贝到服务器:
\\wildfly-15.0.0.Final\\standalone\\deployments\\NaNaWeb.war\\CustomOpenWin 文件夹下,例如取名:Purchase_order_I01.jsp
5.重新发起流程,打开表单进行预览,边预览边修改,最后完成。
新增后的打印按钮:

注:由于该流程启用了采购员,所以E10采购订单的采购员为必填或自动带出。
如果要隐藏部分控件,可以采用以下方法:
if (formMode == "isPrintForm") { 这个里面写Grid的隐藏脚本}
FormUtil.hide(["<TextBoxID>","<TextAreaID>","…"]);
FormUtil.show(["<TextBoxID>","<TextAreaID>","…"]);
举例,隐藏"ITEM_TYPE",“ITEM_CODE”,"ITEM_ID"三个栏位:
if (formMode == "isPrintForm") {
var tHideColumns = ["ITEM_TYPE","ITEM_CODE","ITEM_ID"];
PURCHASE_ORDER_DObj.hideColumn(tHideColumns);
}
如果要显示:
var tShowColumns = ["<GridColumnID>","<GridColumnID>","…"];
<GridID>Obj.showColumn(tShowColumns);
常见问题:
1.新增加的打印按钮会灰色:
原因:流程表单没增加以代码:
document.getElementById("btn_Print").disabled = false; 然后重新发起流程
2.看不到新增加的打印按钮:
原因:表单没增加打印按钮,表单代码没增加,需要重新发起流程



