皕杰技术社区

 找回密码
 立即加入

扫一扫,访问微社区

QQ登录

只需一步,快速开始

12
返回列表 发新帖
楼主: bijetsupport02

皕杰报表填报过程留痕

[复制链接]
 楼主| 发表于 2018-11-27 14:39:47 | 显示全部楼层
本帖最后由 bijetsupport02 于 2018-11-27 14:42 编辑
  1. popupdiv.style.position = "absolute"; // 必须指定这个属性,否则popupdiv层无法跟着鼠标动
  2.         gettable(budgetlog,deptid,cell)
  3. }
  4. // 关闭层popupdiv
  5. function closediv() {
  6.         var popupdiv = document.getElementById('popupdiv');
  7.         popupdiv.style.display = "none";
  8. }
  9. //根据相关条件获取json中的符合条件的数据,然后把json中的数据拼成table然后传递给弹出层div
  10. function gettable(budgetlog,deptid,cell){
  11.         var log1=budgetlog.result;
  12.         var log2=log1.filter((l)=>{
  13.                 return  l.DEPTID==deptid;
  14.         });
  15.         var log3=log2.filter((l)=>{
  16.                 return  l.BUDGETTYPE==cell;
  17.         });
复制代码

回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-11-27 14:43:22 | 显示全部楼层
  1. var tableStr="<div style='text-align:center;margin-top:10px;font-size:12pt;'>修改痕迹</div><table style='margin:5px 10px 10px;min-height:30px;font-family:Microsoft Yahei;font-size:10pt;color:#333333; border:1px solid #CCCCCC;border-collapse: collapse' border='1' cellspacing='0' cellpadding='3px'>";
  2.         tableStr=tableStr+"<thead><td>部门名称</td><td>修改前数据</td><td>修改后数据</td>"
  3.         //+"<td>修改用户ID</td>"
  4.         +"<td>修改时间</td></thead>";
  5.         for(var i=0;i<log3.length;i++){
  6.                 var log=log3[i];
  7.                 tableStr=tableStr+"<tr><td>"
  8.                 +log.DEPTNAME+"</td><td>"+log.OLD_VALUE+"</td><td>"
  9.                 +log.NEW_VALUE+"</td><td>"
  10.                 //+log.USERID+"</td><td>"
  11.                 +log.ALTERDATE+"</td></tr>";  
  12.         }
  13.         tableStr = tableStr + "</table>";
  14.         var popupdiv = document.getElementById('popupdiv');
  15.         popupdiv.innerHTML=tableStr;
  16. }
复制代码


回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-11-27 14:45:09 | 显示全部楼层
8.报表引用popupdiv.js
打开web资源引用,引用这个js
  1. <script type="text/javascript" src="report_res/demo_popupdiv.js"></script>
  2. <script type="text/javascript">
  3. function get(){}
  4. </script>
复制代码

9.单元格引用弹出层事件
C3单元格属性-WEB事件和属性设置

事件1:onmousemove,响应操作:=if(dept_budget_log.count(deptid=A4 and BUDGETTYPE='C4')>0,"showdiv("+tojson(dept_budget_log)+","+A4+",'C4')","get()")。这个表达式意思是:判断根据deptid和BUDGETTYPE的值判断dept_budget_log表中是否有值。如果是,就鼠标移动上去时,就弹出层;如果不是,执行空方法。
事件2:onmouseout,响应操作:=if(dept_budget_log.count(deptid=A4 and BUDGETTYPE='C4')>0,"closediv()","get()")。这个表达式意思是:判断根据deptid和BUDGETTYPE的值判断dept_budget_log表中是否有值。如果是,就鼠标移动移开时,就关闭层;如果不是,执行空方法。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即加入

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-11-27 14:48:16 | 显示全部楼层
同样,D4和E4也都是两个事件=if(dept_budget_log.count(deptid=A4 and BUDGETTYPE='D4')>0,"showdiv("+tojson(dept_budget_log)+","+A4+",'D4')","get()")、=if(dept_budget_log.count(deptid=A4 and BUDGETTYPE='D4')>0,"closediv()","get()")和=if(dept_budget_log.count(deptid=A4 and BUDGETTYPE='E4')>0,"showdiv("+tojson(dept_budget_log)+","+A4+",'E4')","get()")、=if(dept_budget_log.count(deptid=A4 and BUDGETTYPE='E4')>0,"closediv()","get()")
10.然后将报表集成到web应用上,预览报表。
访问报表的时候 url后跟&forwardurl=javascript:location.reload(),意思是:填报保存后,刷新页面。
http://localhost:8080/iface/report/param_query.jsp?rpt=Demo/demo_dept_budget.brt&forwardurl=javascript:location.reload()
如上图所示:市场部没有数据时,不变色


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即加入

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-11-27 14:49:17 | 显示全部楼层
如上图所示:综合部已填入数据,背景变色 及弹出修改痕迹层。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

本版积分规则

QQ|小黑屋|手机版|皕杰软件 ( 京ICP备14050931号 )

GMT+8, 2024-12-27 08:53 , Processed in 1.107096 second(s), 14 queries .

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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