销售预算上报(报表方式)
示例功能
本示例以纯报表方式实现上报流程,不依赖流程填报模块,根据按钮特效实现“提交”、“审核”、“回退”等流程操作;并且可以查询已提交任务和待处理任务。
该示例的整体操作过程如下:
销售代表(销售经理)上报预算费用->销售总监查看已上报的预算记录并进行审批。销售代表可查看已上报的预算费用以及审批情况。
示例制作
数据结构设计
对应业务表需要添加status和id字段,status字段记录审批过程中任务的状态变化,id用来保证数据的唯一性,每条上报数据对应一个id。
销售费用预算上报表
销售用来上报预算、查看预算详情,销售总监用来审批。设计界面如下:
- 添加数据集:SELECT * FROM demo_wf_xsfyys where id=?id,
参数说明:根据参数id对数据进行过滤,id用来确保数据的唯一性。
- 字段id值的设置:=if(ds1.id==null,query2('demo', 'select max(ID) from demo_wf_xsfyys')+1,ds1.id)
表达式说明:如果没有取到值,则计算业务表中对应字段的最大值,取最大值+1,否则回填取到的值。
- 审批信息的获取和显示:
可见控制:A5!=null,根据是否取到了数据判断是否显示审批信息。
状态:=if(ds1.status==null,0,ds1.status),如果默认取不到值,则回填0,否则回填对应的值。
审核时间:=if(ds1.shtime==null,@shtime,ds1.shtime),如果取不到值,则回填参数@shtime的值(参数值由销售总监审批时通过超链接传递),否则回填对应的值。
审核人:=if(ds1.shr==null,@shr,ds1.shr),同审核时间类似,如果取不到值,则回填参数@shr的值,否则回填对应的值。
- 审批按钮的设置:需要插入特殊效果,分别设置为按钮单一特效
审核按钮设置为:{onclick:"status_set_value('2','审核通过',false,false,true)",type:"image", src:"/mis2/3.jpg"};
回退按钮设置为:{onclick:"status_set_value('3','已回退',false,false,true)",type:"image", src:"/mis2/2.jpg"} ;
提交按钮设置为:{onclick:"status_set_value('0','未审核',false,false,true)",type:"image", src:"/mis2/1.jpg"}。
注意:对应路径下需要放相对的图片。
- 各类费用的可写性控制,可参考填报表设计->单元格属性->可写性。
可根据记录状态和当前用户角色进行判断。
- 审批按钮的可见控制,通过表达式进行控制。
回退和审核按钮:表达式说明:当记录状态为“未审核”(即就是D6==2),当前用户是销售代表和管理员用户时,这两个按钮不可见,其余情况下均可见。
if("销售代表" in list(query2("demo","select t_role.role_name from t_role,rt_roleuser where t_role.role_id=rt_roleuser.role_id and rt_roleuser.user_id=?",var(sys,sys_UserID))) or D6==2 or var(sys,sys_UserID)=='root',false,true)
提交按钮:类似于回退审核按钮的设置,表达式说明:当前记录为“未审核”,当前用户为销售经理和销售总监时,提交按钮不可见,其余情况下均可见。
if("销售经理" in list(query2("demo","select t_role.role_name from t_role,rt_roleuser where t_role.role_id=rt_roleuser.role_id and rt_roleuser.user_id=?",var(sys,sys_UserID)))or D6==2 or "销售总监" in list(query2("demo","select t_role.role_name from t_role,rt_roleuser where t_role.role_id=rt_roleuser.role_id and rt_roleuser.user_id=?",var(sys,sys_UserID))) or var(sys,sys_UserID)=='root',false,true)
说明:销售费用预算上报表只有销售代表有权限查看,销售经理和销售总监会通过销售上报预算列表链接到该表,所以设置可见时需要只需要考虑则三个角色即可。
销售上报预算列表制作
销售经理和销售总监查看并审批已经上报的预算,该表的制作关键在于查询条件的设置和超链接设置。设计界面如下:
- 查询条件设置
引入数据集为:select * from demo_wf_xsfyys where ${m} order by id desc,设置宏配置如下:
添加通用查询,设置上报时间默认值为当前日期。
- 超链接设置,通过查看按钮可连接到销售费用预算上报表,查看记录详情。
"mis2/vrsr/showReport1.jsp?resID=1505032368&id="+encode(F4)+"&encodeParamName=id&shr="+encode(F1)+"&encodeParamName=shr&shtime="+encode(F2)+"&encodeParamName=shtime"
设置说明:将id值,审批人(shr)、审批时间(shtime)传个被链接报表。
- 数据显示控制:如果当前条件下返回数据为空,报表显示“没有符合条件的上报记录”,否则展现对应的数据。通过设置隐藏行的表达式进行实现。
单元格A6设置为:if(A4==null or var(sys,sys_UserID)=='root',true,false),1,2,3,4,5行设置为 if(A4!=null or var(sys,sys_userID)=='root',false,true)。
这样设置后可以实现,当前查询条件下没有数据时显示为:
如果有符合条件的数据则显示对应数据。
已上报预算列表的制作
销售用来查看已经上报的预算,具有销售角色的用户可以看到,制作和销售上报预算列表类似,可参考实现。
示例位置
报表位置:资源中心 > 流程管理资源默认根目录 > 简单上报。
用户体验页面位置:*******