JEPaaS 社区

 找回密码
 立即注册
JECloud低代码平台-官网
查看: 2539|回复: 0

【流程系列】打印的时候如何通过自定义配置显示审批流

[复制链接]

75

主题

77

帖子

355

积分

中级会员

Rank: 3Rank: 3

积分
355
发表于 2021-8-30 13:05:55 | 显示全部楼层 |阅读模式
打印功能教程1、建立资源表
1、要求建在流程信息这个文件夹下面。名称就是原功能名称+采购申请流程信息,编码就是原功能名称+OA_LCSP_CGSQ_LC
图片1.png
图片2.png
2、利用表辅助直接导入字段,选择文件签批那个表来导入字段。
图片3.png
图片4.png 图片5.png
全选,然后把外键这个字段后面的全部删掉,点击确定
图片6.png
保存,应用。
截止到目前为止,表创建成功。
2、子系统创建子功能集合
找到对应功能,添加集合。
(注意:项目计划这部分,分类比较混乱,建议先将计划这部分按照显示的功能菜单进行分类,视频教程也要加进去,然后再创建子功能集合)
  
图片7.png 图片8.png
3、修改该子功能集合的配置
1、双击打开该子功能集合,排序,直接复制粘贴下面这句话
ORDER BY LC_SPSJ ASC
图片9.png
2、调整列表,除了圈起来这几个,剩下全部隐藏。
图片10.png
4、在主表上添加子功能集合
1、主表功能添加子功能集合
图片11.png
2、配置子功能集合:子功能集合编码,LC_WJ
同时复制粘贴关键信息:childfuncfield_3,这
个编码复制存下来,一会要用
图片12.png 图片13.png
3、添加分组框,放在最后,名字都改成:打印流程,只读。
图片14.png
5、按钮配置,添加打印按钮
记得点击授权。
图片15.png
6、为按钮增加JS事件
1、在单击这里,先删除所有,再复制粘贴下面的代码:
图片16.png
2、代码中有一处需要修改,即将获取子功能集合这个名字改成刚才让你保存的那个名字。位置如下图所示:
图片17.png
代码如下:
function(btn,event,eOpts){
   /**
    * 平台提示,不用刻意随时删除这段注释.
    * var func = JE.getFunc('功能编码'),//得到功能对象
    *     kqtree = func.treeview,//得到快速查询树对象
    *     mainRecord = func.getParentData();//得到父亲功能对象
    * var formRecord = func.getFormData();//如果是表单按钮就可以得到本功能表单里的数据
    *     var fieldValue = formRecord.fieldCode;
    * var form = func.formview;//得到表单对象
    */
    //获取主表单信息
    var zhuForm=btn.up("jeformview");
    var zhuTableName=zhuForm.funcData.info.tableName;//主表名
    var zhuPkName=zhuForm.funcData.info.pkName;//主键名
    var zhuPkValue=zhuForm.getValue(zhuPkName);//主键

    try{
        //获取字功能集合信息
        var childFunc = zhuForm.down("childfuncfield[name=childfuncfield_4]");//获取子功能集合
        var grid = childFunc.grid;//子功能集合
        var funcCode=grid.funcData.info.funcCode;//子功能名称编码
        var tableName=grid.funcData.info.tableName;//子功能表名
        var pkName=grid.funcData.info.pkName;//子功能主键名
        //通过外键获取该表单流程信息
        var datas=JE.ajax({
            url:"/je/load",
            params:{tableCode:tableName,
            whereSql:"and LC_WJ='"+zhuPkValue+"'"}
        }).rows
        //根据主键删除该表单下的流程信息
        if(JE.isNotEmpty(datas)){
            for(var i=0;i<datas.length;i++){
                var data=datas;
                var remove=JE.ajax({
                    url:"/je/doRemove",
                    params:{
                        tableCode:tableName,
                        ids:data[pkName]
                    }
                })
            }
        }
        //从流程历史中获取主表单流程信息
        var dataObjs = JE.ajax({
                    url: '/je/jbpm/processInfo/loadProcessHistory',
                    params: {
                        tableCode:zhuTableName,
                        pkValue: zhuForm.getValue(zhuPkName)
                     }
        });
     
        //将流程信息塞进子功能集合同时保存到数据库中
        if(JE.isNotEmpty(dataObjs)){
            for (var i = 0; i < dataObjs.length; i++) {  
                var comment='';
                var data=dataObjs;
                var signComments='';
                if(data.nodeType == "countersign"){//会签
                    var commentDatas=JSON.parse(data.comments);
                    for(var j=1;j<commentDatas.length;j++){
                        var cdt=commentDatas[j];
                        signComments += cdt.user+":"+cdt.msg+"</br>"
                    }
                    comment=signComments;
                }else if(data.nodeType=="batchtask"){//多人审批
                    var commentDatas=JSON.parse(data.comments);
                    for(var j=0;j<commentDatas.length;j++){
                        var cdt=commentDatas[j];
                        signComments += cdt.assgine+":"+cdt.msg+"</br>"
                    }
                    comment=signComments;
                }else{
                    comment=data.comments;//审批意见
                }
                //循环赋值
                //往前端表格塞值
                var item=grid.funcData.getDefVals();
                item.LC_WJ=data.pkValue;//形象进度_外键ID
                item.LC_JDMC=data.nodeName;//节点名称
                item.LC_ZXR=data.assignee;//执行人
                item.LC_SPYJ=comment;
                item.LC_CZ=data.transName;//操作
                item.LC_ZT=data.statusName//状态
                item.LC_JSSJ=data.startTime;//接受时间
                item.LC_SPSJ=data.endTime;//审批时间
                item.LC_HS=data.durationDesc;//耗时
                grid.getStore().add(item);

                //保存数据库中
                var save=JE.ajax({
                    url:"/je/doSave",
                    params:{tableCode:tableName,
                    funcCode:funcCode,
                    funcEdit:true,
                    LC_WJ:data.pkValue,//形象进度_外键ID
                    LC_JDMC:data.nodeName,//节点名称
                    LC_ZXR:data.assignee,//执行人
                    LC_CZ:data.transName,//操作
                    LC_SPYJ:comment,//审批意见
                    LC_ZT:data.statusName,//状态
                    LC_JSSJ:data.startTime,//接受时间
                    LC_SPSJ:data.endTime,//审批时间
                    LC_HS:data.durationDesc//耗时
                    }
                })
            }  
            
        }
        
    }catch{

    }
}


7、配置打印表单
1、点击表单配置里面的打印配置
图片18.png
2、启动打印按钮,开始画打印表单
3、第一行改成:ERP管理系统+功能名称+表单(ERP管理系统文件签批表单)
4、单击左侧名称则直接显示名称,不需要复制粘贴。点击啊左侧编码,则相当于将该字段拖了过来。
5、这个配置自己觉得怎么好看就怎么画,基本上要把原表单上所有信息都涵盖进去
图片19.png
8、测试打印功能
1、先点击左侧打印流程按钮,此时子功能集合出现下列信息,再点击右侧打印按钮。
图片20.png
2、出现如下信息,再点击打印按钮。
图片21.png
3、能正常预览,存为PDF后格式没有问题即可。
图片22.png
9、打印功能配置完成
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|JEPaaS 低代码平台社区 ( 京ICP备18023569号 )

GMT+8, 2024-5-18 23:46 , Processed in 0.065840 second(s), 23 queries .

Powered by 北京凯特伟业科技有限公司

Copyright © 2001-2021, JEPaaS.COM

快速回复 返回顶部 返回列表