JEPaaS 社区

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

报表格式化显示数据与报表穿透

[复制链接]

54

主题

77

帖子

354

积分

管理员

JEPaaS专家

Rank: 9Rank: 9Rank: 9

积分
354
发表于 2022-4-19 13:50:11 | 显示全部楼层 |阅读模式
一、实现效果
报表数据格式化展示与多列报表穿透




二、实现思路
1. 创建两个sql数据源并使用该数据源配置两个报表:项目主信息报表,与详细信息报表
2. 在主项目信息中,注册【编辑事件】
3. 在数据项目格式化事件中编写js实现数据格式化展示
4. 在数据项目格式化事件中编写js实现点击对应的列弹出详细信息报表并过滤数据

三、具体操作
1. 创建两个sql数据源并使用该数据源配置两个报表:项目主信息报表,与详细信息报表

项目主项目信息报表:


详细信息报表:

2. 在主项目信息中,注册【编辑事件】


3. 在数据项目格式化事件中编写js实现数据格式化展示


4. 在数据项目格式化事件中编写js实现点击对应的列弹出详细信息报表并过滤数据




四、相关代码
  1. //详细
  2. SELECT km.KEMU_KMSX,gnmc,djbh,theme,JE_HS,JE_BHS,kmmc,kmbm,xmmc,xmdm,deptcodea,jzsj,SY_CURRENTTASK FROM jingyingmingxi jy
  3. left join xingxikmu  km
  4. on jy.kmbm = km.KEMU_KMBM
  5. WHERE SY_CURRENTTASK = '已结束'
  6. AND IF('{xmdm}' = '',1=1,xmdm LIKE CONCAT('{xmdm}','%'))
  7. AND IF('{kmbm}' = '',1=1,kmbm LIKE CONCAT('{kmbm}','%'))
  8. AND IF('{jzsj}' = '',1=1,LEFT(jzsj,7) = LEFT('{jzsj}',7))
  9. and IF('{kmsx}' = '',1=1,km.KEMU_KMSX='{kmsx}')
  10. ORDER BY jzsj ASC
复制代码
  1. SELECT xmmc,xmdm,IFNULL(SUM(0Y1),0) AS 0Y1, IFNULL(SUM(NBHT),0) AS NBHT, IFNULL(SUM(0Y2),0) AS 0Y2,IFNULL(SUM(B),0) AS B,IFNULL(SUM(C),0) AS C,IFNULL(SUM(D),0) AS D,
  2. IFNULL(SUM(F),0) AS F, IFNULL(SUM(J1),0) AS J1, IFNULL(SUM(B)+SUM(C)-SUM(D),0) AS E,IFNULL(SUM(GDFY),0) AS GDFY, IFNULL(SUM(KBFY),0) AS KBFY, IFNULL(SUM(KBFY)/(SUM(B)+SUM(C)-SUM(D)),0) AS KBFYZB,
  3. IFNULL((SUM(B)+SUM(C)-SUM(D))-SUM(F),0) AS I,IFNULL((SUM(B)+SUM(C)-SUM(D)-SUM(F))/SUM(J1),0) AS I3,IF('{yf}' = '',LEFT(now(),7),'{yf}') AS jzsj_yf
  4. FROM(
  5.     SELECT jzxm.XIANGMU_XMMC AS xmmc, jzxm.XIANGMU_XMDM AS xmdm,IFNULL(SUM(IF('{lx}'='含税',xxht.hetong_JE,xxht.HETONG_HTJEBHS)),0) AS 0Y1, 0 AS NBHT, 0 AS 0Y2, 0 AS B, 0 AS C, 0 AS D,
  6.     0 AS F, 0 AS J1, 0 AS GDFY, 0 AS KBFY
  7.     FROM JE_HETONG xxht INNER JOIN JE_XIANGMU jzxm ON xxht.hetong_XMDM = jzxm.XIANGMU_XMDM2
  8.     AND jzxm.XIANGMU_ZZXM = '主项目' AND XIANGMU_XMDM != ''
  9.     AND IF('{yf}' <> '',1=1,LEFT(xxht.hetong_JZRQ,7) = LEFT('{yf}',7))
  10.     GROUP BY jzxm.XIANGMU_XMDM
  11.     UNION ALL
  12.     SELECT NBJYHT_SKXMMC AS xmmc, NBJYHT_SKXMBM AS xmdm, 0 AS 0Y1, IFNULL(SUM(IF('{lx}'='含税',NBJYHT_FKJEXX,NBJYHT_HTJEBHS)),0) AS NBHT, 0 AS 0Y2, 0 AS B, 0 AS C, 0 AS D,
  13.     0 AS F, 0 AS J1, 0 AS GDFY, 0 AS KBFY
  14.     FROM JE_AMB_NBJYHT WHERE 1=1 AND SY_AUDFLAG='ENDED'
  15.     AND IF('{yf}' = '',1=1,LEFT(NBJYHT_JZSJ,7) = LEFT('{yf}',7))
  16.     GROUP BY NBJYHT_SKXMBM
  17.     UNION ALL
  18.     SELECT JIZHANGMINGXI_XMMC AS xmmc,JIZHANGMINGXI_XMDM AS xmdm,0 AS 0Y1, 0 AS NBHT, IFNULL(SUM(JIZHANGMINGXI_JE),0) AS 0Y2, 0 AS B, 0 AS C, 0 AS D,
  19.     0 AS F, 0 AS J1, 0 AS GDFY, 0 AS KBFY
  20.     FROM JE_JIZHANGMINGXI WHERE 1=1  AND JIZHANGLEIXING_CODE='0' AND SY_AUDFLAG='ENDED'
  21.     AND IF('{yf}' = '',1=1,LEFT(JIZHANGMINGXI_JZSJ,7) = LEFT('{yf}',7))
  22.     GROUP BY JIZHANGMINGXI_XMDM
  23.     UNION ALL
  24.     SELECT JIZHANGMINGXI_XMMC AS xmmc,JIZHANGMINGXI_XMDM AS xmdm,0 AS 0Y1, 0 AS NBHT, 0 AS 0Y2, IFNULL(SUM(IF('{lx}'='含税',JIZHANGMINGXI_BHSSR,JIZHANGMINGXI_JE)),0) AS B, 0 AS C, 0 AS D,
  25.     0 AS F, 0 AS J1, 0 AS GDFY, 0 AS KBFY
  26.     FROM JE_JIZHANGMINGXI WHERE 1=1  AND JIZHANGLEIXING_CODE='1' AND SY_AUDFLAG='ENDED'
  27.     AND IF('{yf}' = '',1=1,LEFT(JIZHANGMINGXI_JZSJ,7) = LEFT('{yf}',7))
  28.     GROUP BY JIZHANGMINGXI_XMDM
  29.     UNION ALL
  30.     SELECT FKSQNB_SKXMMC AS xmmc,FKSQNB_SKXMBM AS xmdm,0 AS 0Y1, 0 AS NBHT, 0 AS 0Y2, 0 AS B, IFNULL(SUM(FKSQNB_FKJEXX),0) AS C, 0 AS D,
  31.     0 AS F, 0 AS J1, 0 AS GDFY, 0 AS KBFY
  32.     FROM JE_BXSQ_FKSQNB WHERE 1=1  AND SY_AUDFLAG='ENDED'
  33.     AND IF('{yf}' = '',1=1,LEFT(FKSQNB_JZSJ,7) = LEFT('{yf}',7))
  34.     GROUP BY FKSQNB_SKXMBM
  35.     UNION ALL
  36.     SELECT FKSQNB_XMMC AS xmmc,FKSQNB_XMDM AS xmdm,0 AS 0Y1, 0 AS NBHT, 0 AS 0Y2, 0 AS B, 0 AS C, IFNULL(SUM(FKSQNB_FKJEXX),0) AS D,
  37.     0 AS F, 0 AS J1, 0 AS GDFY, 0 AS KBFY
  38.     FROM JE_BXSQ_FKSQNB WHERE 1=1  AND SY_AUDFLAG='ENDED'
  39.     AND IF('{yf}' = '',1=1,LEFT(FKSQNB_JZSJ,7) = LEFT('{yf}',7))
  40.     GROUP BY FKSQNB_XMDM
  41.     UNION ALL
  42.     SELECT XMMC AS xmmc,XMBH AS xmdm,0 AS 0Y1, 0 AS NBHT, 0 AS 0Y2, 0 AS B, 0 AS C, 0 AS D,
  43.     IFNULL(SUM(IF('{lx}'='含税',zcJEhs,zcJE)),0) AS F, 0 AS J1, 0 AS GDFY, 0 AS KBFY
  44.     FROM je_jizhang_all jall WHERE  1=1 AND XMBH != ''
  45.     AND (jall.t = '出差计划及借款' OR jall.t = '出差计划及借款' OR jall.t = '差旅费用报销单' OR jall.t = '差旅费用报销单huankuan' OR jall.t = '付款申请单' OR jall.t = '费用报销单'
  46.     OR jall.t = '费用报销单huankuan' OR jall.t = '借款单' OR jall.t = '物料报销单(A07)' OR jall.t = '物料报销单(A07)Huankuan' OR jall.t = '(物料采购)付款申请')
  47.     AND LEFT(CONCAT(kmbm,zckmbm),1) = 'F' AND SY_CURRENTTASK = '已结束'
  48.     AND IF('{yf}' = '',1=1,LEFT(jall.jzsj,7) = LEFT('{yf}',7))
  49.     GROUP BY XMBH
  50.     UNION ALL
  51.     SELECT gongshi_XMMC AS xmmc,gongshi_XMDM AS xmdm,0 AS 0Y1, 0 AS NBHT, 0 AS 0Y2, 0 AS B, 0 AS C, 0 AS D,
  52.     0 AS F, IFNULL(SUM(gongshi_GZS),0) AS J1, 0 AS GDFY, 0 AS KBFY
  53.     FROM JE_GONGSHI WHERE 1=1  AND SY_AUDFLAG='ENDED' AND gongshi_XMDM!=''
  54.     AND IF('{yf}' = '',1=1,LEFT(gongshi_RQ,7) = LEFT('{yf}',7))
  55.     GROUP BY gongshi_XMDM
  56.     UNION ALL
  57.     SELECT jall.XMMC AS xmmc,jall.XMBH AS xmdm,0 AS 0Y1, 0 AS NBHT, 0 AS 0Y2, 0 AS B, 0 AS C, 0 AS D,
  58.     0 AS F, 0 AS J1, IFNULL(SUM(IF('{lx}'='含税',jall.zcJEhs,jall.zcJE)),0) AS GDFY, 0 AS KBFY
  59.     FROM `je_jizhang_all` jall INNER JOIN JE_KEMU km ON CONCAT(jall.kmbm,jall.zckmbm) = km.KEMU_KMBM
  60.     AND (jall.t = '出差计划及借款' OR jall.t = '出差计划及借款' OR jall.t = '差旅费用报销单' OR jall.t = '差旅费用报销单huankuan' OR jall.t = '付款申请单' OR jall.t = '费用报销单'
  61.     OR jall.t = '费用报销单huankuan' OR jall.t = '借款单' OR jall.t = '物料报销单(A07)' OR jall.t = '物料报销单(A07)Huankuan' OR jall.t = '(物料采购)付款申请')
  62.     AND km.KEMU_KMSX = '01' AND SY_CURRENTTASK = '已结束'
  63.     AND IF('{yf}' = '',1=1,LEFT(jall.jzsj,7) = LEFT('{yf}',7))
  64.     GROUP BY jall.XMBH
  65.     UNION ALL
  66.     SELECT jall.XMMC AS xmmc,jall.XMBH AS xmdm,0 AS 0Y1, 0 AS NBHT, 0 AS 0Y2, 0 AS B, 0 AS C, 0 AS D,
  67.     0 AS F, 0 AS J1, 0 AS GDFY, IFNULL(SUM(IF('{lx}'='含税',jall.zcJEhs,jall.zcJE)),0) AS KBFY
  68.     FROM `je_jizhang_all` jall INNER JOIN JE_KEMU km ON CONCAT(jall.kmbm,jall.zckmbm) = km.KEMU_KMBM
  69.     AND (jall.t = '出差计划及借款' OR jall.t = '出差计划及借款' OR jall.t = '差旅费用报销单' OR jall.t = '差旅费用报销单huankuan' OR jall.t = '付款申请单' OR jall.t = '费用报销单'
  70.     OR jall.t = '费用报销单huankuan' OR jall.t = '借款单' OR jall.t = '物料报销单(A07)' OR jall.t = '物料报销单(A07)Huankuan' OR jall.t = '(物料采购)付款申请')
  71.     AND km.KEMU_KMSX = '02' AND SY_CURRENTTASK = '已结束'
  72.     AND IF('{yf}' = '',1=1,LEFT(jall.jzsj,7) = LEFT('{yf}',7))
  73.     GROUP BY jall.XMBH
  74. )z INNER JOIN JE_XIANGMU jzxm ON z.xmdm = jzxm.XIANGMU_XMDM
  75. AND 1=1
  76. AND IF('{bdm}' = '', 1=1, jzxm.XIANGMU_BMBM2 LIKE CONCAT('{bdm}','%'))
  77. AND IF('{xmdm}' = '', 1=1, xmdm = '{xmdm}')

  78. GROUP BY xmdm
  79. ORDER BY xmdm
复制代码

  1. /**
  2. * 数据项格式化
  3. * @param {String} value 数据项值
  4. * @param {Object} metaData 数据项信息
  5. * @param {Object} objDS 循环报表的单条数据
  6. * @param {Number} objDSIndex 循环报表的单条数据索引
  7. */
  8. function(value,metaData,objDS,objDSIndex){
  9.         if(metaData.info.text=='0Y1' || metaData.info.text=='0Y2' || metaData.info.text=='B'
  10.      || metaData.info.text=='C' || metaData.info.text=='D' || metaData.info.text=='E'|| metaData.info.text=='F'
  11.      || metaData.info.text=='GDFY' || metaData.info.text=='KBFY' || metaData.info.text=='I'){
  12.        //value = JE.format(JE.toNum(value),'0,000.00');
  13.        value = JE.format(JE.toNum(value)/10000,'0,000.00');
  14.     }  
  15.     if(metaData.info.text=='I3'){
  16.         value = JE.format(JE.toNum(value),'0,000.00');
  17.     }
  18.     if(metaData.info.text=='KBFYZB'){
  19.         value = JE.format(JE.toNum(value)*100,'000.00')+"%";
  20.     }
  21.     if(metaData.info.text=='yslb'){
  22.         if(value == '1'){
  23.             value = "存量";
  24.         }else if(value == '2'){
  25.             value = "新增";
  26.         }
  27.     }
  28.         
  29.    
  30.     //========================================报表穿透
  31.     var info = metaData.info;
  32.     //销售合同穿透
  33.    if(info.code == '556223c086a173300f70'){
  34.        var ds = metaData.dataSource[info.formula.split('.')[0]];
  35.        var data = ds[metaData.rowIndex-3];//rowIndex -3 中 3 这个数字需要根据实际报表表头行数不同进行更改
  36.         if(data==undefined){
  37.             return value;
  38.         }
  39.             var xmdm = data['xmdm'];
  40.         var kmbm = "0Y1";
  41.         var jzsj_yf = data['jzsj_yf'];
  42.         console.log(data);
  43.         var je = data['0Y1'];
  44.         if(je > 0 || je < 0){
  45.             //全局静态方法,也可以写在“脚本编辑器”里.方法修改后需要刷新页面才能生效!
  46.             if(!window.__demo_report_click_556223){
  47.                 window.__demo_report_click_556223 = function(dom){
  48.                     debugger;
  49.                     var kmbm = dom.getAttribute('data-kmbm');
  50.                     var xmdm = dom.getAttribute('data-xmdm');
  51.                     var jzsj_yf = dom.getAttribute('data-jzsj_yf');
  52.                     JE.showReport('4f51b48a43dcfa2965db',{
  53.                         title:'项目代码:'+xmdm+"   科目:"+kmbm,
  54.                         width:1200,
  55.                         height:850,
  56.                         params:{kmbm:kmbm,xmdm:xmdm,jzsj:jzsj_yf}
  57.                     })
  58.                 };
  59.             }
  60.            value = '<span style="color:blue;cursor: pointer;text-decoration: underline;" '+
  61.            'title="查看详细信息" data-xmdm="'+xmdm+
  62.            '" data-kmbm="'+kmbm+
  63.            '"  data-jzsj_yfaa="'+jzsj_yf+'"  '+
  64.            'onclick="__demo_report_click_556223(this)">'+value+'</span>';
  65.        }
  66.    }



  67.     //内部合同穿透
  68.     if(info.code == '042073ab399366800317'){
  69.         // debugger;
  70.         var ds = metaData.dataSource[info.formula.split('.')[0]];
  71.         var data = ds[metaData.rowIndex-3];//rowIndex -3 中 3 这个数字需要根据实际报表表头行数不同进行更改
  72.         if(data==undefined){
  73.             return value;
  74.         }
  75.             var xmdm = data['xmdm'];
  76.         var kmbm = "NBHT";
  77.         var jzsj_yf = data['jzsj_yf'];
  78.         var je = data['NBHT'];
  79.         if(je > 0 || je < 0){
  80.             //全局静态方法,也可以写在“脚本编辑器”里.方法修改后需要刷新页面才能生效!
  81.             if(!window.__demo_report_click_042073){
  82.                 window.__demo_report_click_042073 = function(dom){
  83.                     debugger;
  84.                     var kmbm = dom.getAttribute('data-kmbm');
  85.                     var xmdm = dom.getAttribute('data-xmdm');
  86.                     var jzsj_yf = dom.getAttribute('data-jzsj_yf');
  87.                     JE.showReport('4f51b48a43dcfa2965db',{
  88.                         title:'项目代码:'+xmdm+"   科目:"+kmbm,
  89.                         width:1200,
  90.                         height:850,
  91.                         params:{kmbm:kmbm,xmdm:xmdm,jzsj:jzsj_yf}
  92.                     })
  93.                 };
  94.             }
  95.            value = '<span style="color:blue;cursor: pointer;text-decoration: underline;" '+
  96.            'title="查看详细信息" '+
  97.            'data-xmdm="'+xmdm+
  98.            '" data-kmbm="'+kmbm+
  99.            '"  data-jzsj_yf="'+jzsj_yf+'"  '+
  100.            'onclick="__demo_report_click_042073(this)">'+value+'</span>';
  101.         }
  102.     }


  103. //回款金额穿透
  104. if(info.code == '6cf09a0df14ff98f1bbc'){
  105.         debugger;
  106.         var ds = metaData.dataSource[info.formula.split('.')[0]];
  107.         var data = ds[metaData.rowIndex-3];//rowIndex -3 中 3 这个数字需要根据实际报表表头行数不同进行更改
  108.         var kmbm = "0Y2";
  109.             var xmdm = (data!=undefined) ? data['xmdm'] : '无';
  110.         var jzsj_yf = (data!=undefined) ? data['jzsj_yf'] : '无';
  111.         var je = (data!=undefined) ? data['0Y2'] : '0';
  112.         
  113.         if(je > 0 || je < 0){
  114.             // debugger;
  115.             // 全局静态方法,也可以写在“脚本编辑器”里.方法修改后需要刷新页面才能生效!
  116.             if(!window.__demo_report_click_6cf09a){
  117.                 window.__demo_report_click_6cf09a = function(dom){
  118.                     debugger;
  119.                     var kmbm = dom.getAttribute('data-kmbmaa');
  120.                     var xmdm = dom.getAttribute('data-xmdmaa');
  121.                     var jzsj_yf = dom.getAttribute('data-jzsj_yfaa');
  122.                     JE.showReport('4f51b48a43dcfa2965db',{
  123.                         title:'项目代码:'+xmdm+"   科目:"+kmbm,
  124.                         width:1200,
  125.                         height:850,
  126.                         params:{kmbm:kmbm,xmdm:xmdm,jzsj:jzsj_yf}
  127.                     })
  128.                 };
  129.             }
  130.            value = '<span style="color:blue;cursor: pointer;text-decoration: underline;" '+
  131.            'title="查看详细信息" '+
  132.            'data-xmdmaa="'+xmdm+
  133.            '"  data-kmbmaa="'+kmbm+
  134.            '"  data-jzsj_yfaa="'+jzsj_yf+'"  '+
  135.            'onclick="__demo_report_click_6cf09a(this)">'+value+'</span>';
  136.        }
  137.    }


  138.    
  139.     //外部收入穿透
  140.     if(info.code == '2ecb2dfa28ce6c2d30a8'){
  141.         // debugger;
  142.        var ds = metaData.dataSource[info.formula.split('.')[0]];
  143.         var data = ds[metaData.rowIndex-3];//rowIndex -3 中 3 这个数字需要根据实际报表表头行数不同进行更改
  144.         if(data==undefined){
  145.             return value;
  146.         }
  147.             var xmdm = data['xmdm'];
  148.         var kmbm = "B";
  149.         var xmdm = (data!=undefined) ? data['xmdm'] : '无';
  150.         var jzsj_yf = (data!=undefined) ? data['jzsj_yf'] : '无';
  151.         var je = (data!=undefined) ? data['B'] : '0';

  152.         if(je > 0 || je < 0){
  153.             //全局静态方法,也可以写在“脚本编辑器”里.方法修改后需要刷新页面才能生效!
  154.             if(!window.__demo_report_click_2ecb2d){
  155.                 window.__demo_report_click_2ecb2d = function(dom){
  156.                     debugger;
  157.                     var kmbm = dom.getAttribute('data-kmbm');
  158.                     var xmdm = dom.getAttribute('data-xmdm');
  159.                     var jzsj_yf = dom.getAttribute('data-jzsj_yf');
  160.                     JE.showReport('4f51b48a43dcfa2965db',{
  161.                         title:'项目代码:'+xmdm+"   科目:"+kmbm,
  162.                         width:1200,
  163.                         height:850,
  164.                         params:{kmbm:kmbm,xmdm:xmdm,jzsj:jzsj_yf}
  165.                     })
  166.                 };
  167.             }
  168.            value = '<span style="color:blue;cursor: pointer;text-decoration: underline;" '+
  169.            'title="查看详细信息"'+
  170.            '  data-xmdm="'+xmdm+
  171.            '"  data-kmbm="'+kmbm+
  172.            '"  data-jzsj_yf="'+jzsj_yf+'"  '+
  173.            'onclick="__demo_report_click_2ecb2d(this)">'+value+'</span>';
  174.         }
  175.     }

  176.     //内部收入穿透
  177.     if(info.code == '778d15d7d8226bbaf5a2'){
  178.         // debugger;
  179.         var ds = metaData.dataSource[info.formula.split('.')[0]];
  180.         var data = ds[metaData.rowIndex-3];//rowIndex -3 中 3 这个数字需要根据实际报表表头行数不同进行更改
  181.         if(data==undefined){
  182.             return value;
  183.         }
  184.             var xmdm = data['xmdm'];
  185.         var kmbm = "C";
  186.         var jzsj_yf = data['jzsj_yf'];
  187.         var je = data['C'];
  188.         if(je > 0 || je < 0){
  189.             //全局静态方法,也可以写在“脚本编辑器”里.方法修改后需要刷新页面才能生效!
  190.             if(!window.__demo_report_click_778d15){
  191.                 window.__demo_report_click_778d15 = function(dom){
  192.                     debugger;
  193.                     var kmbm = dom.getAttribute('data-kmbm');
  194.                     var xmdm = dom.getAttribute('data-xmdm');
  195.                     var jzsj_yf = dom.getAttribute('data-jzsj_yf');
  196.                     JE.showReport('4f51b48a43dcfa2965db',{
  197.                         title:'项目代码:'+xmdm+"   科目:"+kmbm,
  198.                         width:1200,
  199.                         height:850,
  200.                         params:{kmbm:kmbm,xmdm:xmdm,jzsj:jzsj_yf}
  201.                     })
  202.                 };
  203.             }
  204.            value = '<span style="color:blue;cursor: pointer;text-decoration: underline;" '+
  205.            'title="查看详细信息" '+
  206.            '  data-xmdm="'+xmdm+
  207.            '"  data-kmbm="'+kmbm+
  208.            '"  data-jzsj_yf="'+jzsj_yf+'"  '+
  209.            'onclick="__demo_report_click_778d15(this)">'+value+'</span>';
  210.        }
  211.    }


  212.     //内部费用穿透
  213.     if(info.code == '4e4d3039f38c37532c6c'){
  214.         // debugger;
  215.         var ds = metaData.dataSource[info.formula.split('.')[0]];
  216.         var data = ds[metaData.rowIndex-3];//rowIndex -3 中 3 这个数字需要根据实际报表表头行数不同进行更改
  217.         if(data==undefined){
  218.             return value;
  219.         }
  220.             var xmdm = data['xmdm'];
  221.         var kmbm = "D";
  222.         var jzsj_yf = data['jzsj_yf'];
  223.         var je = data['D'];
  224.         if(je > 0 || je < 0){
  225.             //全局静态方法,也可以写在“脚本编辑器”里.方法修改后需要刷新页面才能生效!
  226.             if(!window.__demo_report_click_4e4d30){
  227.                 window.__demo_report_click_4e4d30 = function(dom){
  228.                     debugger;
  229.                     var kmbm = dom.getAttribute('data-kmbm');
  230.                     var xmdm = dom.getAttribute('data-xmdm');
  231.                     var jzsj_yf = dom.getAttribute('data-jzsj_yf');
  232.                     JE.showReport('4f51b48a43dcfa2965db',{
  233.                         title:'项目代码:'+xmdm+"   科目:"+kmbm,
  234.                         width:1200,
  235.                         height:850,
  236.                         params:{kmbm:kmbm,xmdm:xmdm,jzsj:jzsj_yf}
  237.                     })
  238.                 };
  239.             }
  240.            value = '<span style="color:blue;cursor: pointer;text-decoration: underline;" '+
  241.            'title="查看详细信息" '+
  242.            'data-xmdm="'+xmdm+
  243.            '"  data-kmbm="'+kmbm+
  244.            '"  data-jzsj_yf="'+jzsj_yf+'"  '+
  245.            'onclick="__demo_report_click_4e4d30(this)">'+value+'</span>';
  246.         }
  247.     }


  248.     //F穿透
  249.     if(info.code == 'b70713b10fb3b8618f5f'){
  250.         // debugger;
  251.         var ds = metaData.dataSource[info.formula.split('.')[0]];
  252.         var data = ds[metaData.rowIndex-3];//rowIndex -3 中 3 这个数字需要根据实际报表表头行数不同进行更改
  253.         if(data==undefined){
  254.             return value;
  255.         }
  256.             var xmdm = data['xmdm'];
  257.         var kmbm = "F";
  258.         var jzsj_yf = data['jzsj_yf'];
  259.         var je = data['F'];
  260.         if(je > 0 || je < 0){
  261.             //全局静态方法,也可以写在“脚本编辑器”里.方法修改后需要刷新页面才能生效!
  262.             if(!window.__demo_report_click_b70713){
  263.                 window.__demo_report_click_b70713 = function(dom){
  264.                     debugger;
  265.                     var kmbm = dom.getAttribute('data-kmbm');
  266.                     var xmdm = dom.getAttribute('data-xmdm');
  267.                     var jzsj_yf = dom.getAttribute('data-jzsj_yf');
  268.                     JE.showReport('4f51b48a43dcfa2965db',{
  269.                         title:'项目代码:'+xmdm+"   科目:"+kmbm,
  270.                         width:1200,
  271.                         height:850,
  272.                         params:{kmbm:kmbm,xmdm:xmdm,jzsj:jzsj_yf}
  273.                     })
  274.                 };
  275.             }
  276.            value = '<span style="color:blue;cursor: pointer;text-decoration: underline;" '+
  277.            'title="查看详细信息" '+
  278.            'data-xmdm="'+xmdm+
  279.            '"  data-kmbm="'+kmbm+
  280.            '"  data-jzsj_yf="'+jzsj_yf+'"  '+
  281.            'onclick="__demo_report_click_b70713(this)">'+value+'</span>';
  282.        }
  283.    }


  284.    
  285.     //固定费用穿透穿透
  286.     if(info.code == 'f6b72d8240dbae1cad39'){
  287.         // debugger;
  288.         var ds = metaData.dataSource[info.formula.split('.')[0]];
  289.         var data = ds[metaData.rowIndex-3];//rowIndex -3 中 3 这个数字需要根据实际报表表头行数不同进行更改
  290.         if(data==undefined){
  291.             return value;
  292.         }
  293.             var xmdm = data['xmdm'];
  294.         var kmbm = "F"
  295.         var kmsx = "01";
  296.         var jzsj_yf = data['jzsj_yf'];
  297.         var je = data['GDFY'];
  298.         if(je > 0 || je < 0){
  299.             //全局静态方法,也可以写在“脚本编辑器”里.方法修改后需要刷新页面才能生效!
  300.             if(!window.__demo_report_click_f6b72d){
  301.                 window.__demo_report_click_f6b72d = function(dom){
  302.                     debugger;
  303.                     var kmbm = dom.getAttribute('data-kmbm');
  304.                     var kmsx = dom.getAttribute('data-kmsx');
  305.                     var xmdm = dom.getAttribute('data-xmdm');
  306.                     var jzsj_yf = dom.getAttribute('data-jzsj_yf');
  307.                     JE.showReport('fc07b41af4cc218c2083',{
  308.                         title:'项目代码:'+xmdm+"   科目:"+"固定费用",
  309.                         width:1200,
  310.                         height:850,
  311.                         params:{kmbm:kmbm,kmsx:kmsx,xmdm:xmdm,jzsj:jzsj_yf}
  312.                     })
  313.                 };
  314.             }
  315.            value = '<span style="color:blue;cursor: pointer;text-decoration: underline;" '+
  316.            'title="查看详细信息" '+
  317.            'data-xmdm="'+xmdm+
  318.            '" data-kmsx="'+kmsx+
  319.            '"  data-kmbm="'+kmbm+
  320.            '" data-jzsj_yf="'+jzsj_yf+'"  '+
  321.            'onclick="__demo_report_click_f6b72d(this)">'+value+'</span>';
  322.         }
  323.     }


  324.     //可变费用穿透穿透
  325.     if(info.code == '5d9b4574c53efe2834ba'){
  326.         // debugger;
  327.         var ds = metaData.dataSource[info.formula.split('.')[0]];
  328.         var data = ds[metaData.rowIndex-3];//rowIndex -3 中 3 这个数字需要根据实际报表表头行数不同进行更改
  329.         if(data==undefined){
  330.             return value;
  331.         }
  332.             var xmdm = data['xmdm'];
  333.         var kmbm = "F"
  334.         var kmsx = "02";
  335.         var jzsj_yf = data['jzsj_yf'];
  336.         var je = data['GDFY'];
  337.         if(je > 0 || je < 0){
  338.             //全局静态方法,也可以写在“脚本编辑器”里.方法修改后需要刷新页面才能生效!
  339.             if(!window.__demo_report_click_5d9b45){
  340.                 window.__demo_report_click_5d9b45 = function(dom){
  341.                     debugger;
  342.                     var kmbm = dom.getAttribute('data-kmbm');
  343.                     var kmsx = dom.getAttribute('data-kmsx');
  344.                     var xmdm = dom.getAttribute('data-xmdm');
  345.                     var jzsj_yf = dom.getAttribute('data-jzsj_yf');
  346.                     JE.showReport('fc07b41af4cc218c2083',{
  347.                         title:'项目代码:'+xmdm+"   科目:",
  348.                         width:1200,
  349.                         height:850,
  350.                         params:{kmbm:kmbm,kmsx:kmsx,xmdm:xmdm,jzsj:jzsj_yf}
  351.                     })
  352.                 };
  353.             }
  354.            value = '<span style="color:blue;cursor: pointer;text-decoration: underline;" '+
  355.            'title="查看详细信息" '+
  356.            'data-xmdm="'+xmdm+
  357.            '" data-kmsx="'+kmsx+
  358.            '" data-kmbm="'+kmbm+
  359.            '"  data-jzsj_yf="'+jzsj_yf+'"  '+
  360.            'onclick="__demo_report_click_5d9b45(this)">'+value+'</span>';
  361.         }
  362.     }
  363.         return value;
  364. }
复制代码

五、关键字
  • 报表格式化显示数据
  • 报表穿透
  • 报表过滤
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-19 10:22 , Processed in 0.070993 second(s), 20 queries .

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

Copyright © 2001-2021, JEPaaS.COM

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