DEMO解析第一期:领导驾驶舱之公司简介

13101
15

方菁 小试身手Lv3

发表于2018-7-20 09:46

楼主
一、页面分析
1、整体简介
主题表:DM_ENTERPRISE_YEAR,DM_ENTERPRISE_AREA
页面结构:宽百分比,高百分比
页面一览:


2、模块详解

  1) 亿信用户分布
主要组件为html5中国地图(标点图+渲染图),地图上的4个标点分别代表本公司总部和三个分部,渲染图表示用户分布情况,颜色越深说明用户数越多。
左边是用户分布的图例,使用的是一张静态图片,无交互效果。
  2) 亿信概览
展示本公司的3个重要指标,彰显公司实力。用容器、图片和文本组件制作,背景图片是自动撑满,图标为固定大小。
  3) 人员增长情况
面积图反映了本公司06年到17年员工的增长情况。
  4)  亿信产品热词
该模块使用的是热词球图,罗列了与本公司相关的关键词语。背景是一张地球的图片,大小自动撑满,因此地球可能会出现变形。
需要注意的是页面刷新之后,热词球图会停止旋转,在页面中添加了脚本来处理此问题。
  5) 产品体系
此区域左侧的按钮代表数据生命周期的四个领域,右侧是Tab标签页分别概述了对应领域的核心产品。
按钮和Tab页签是通过脚本进行关联的,并且使用脚本实现了页签自动跳转的功能。
  6) 营业收入年趋势
柱状图反映了本公司07年到17年的营业收入情况。

二、脚本说明
1、按钮和Tab页签联动

脚本中定义了checkBtnAndBindTab(btns,tabctrlId)函数,只需在最后运用该函数即可:
checkBtnAndBindTab(["@cc","@cl","@zl","@fx"],"HHH87");
1- ["@cc","@cl","@zl","@fx"]:第一个参数按顺序罗列了四个按钮的名称
2- "HHH87":第二个参数为Tab页签的代号
注意:按钮必须使用同一个分组名;Tab页属性中去掉标签页头可见。
  1. /***
  2. *按钮必须使用同一个分组名
  3. **/
  4. function checkBtnAndBindTab(btns, tabctrlId) {
  5.     var ready = true;
  6.     var btnDoms = [];
  7.     if(!g_rptpage.calcParam){
  8.         ready = false;
  9.     }else{
  10.         for (var i = 0, l = btns.length; i < l; i++) {
  11.             var param = g_rptpage.calcParam.getParamByName(btns[i]);
  12.             if(!param){
  13.                 ready = false;
  14.                 break;
  15.             }
  16.             btnDoms.push(param.getBaseDom());
  17.         }
  18.     }
  19.     if(!ready){
  20.         var func = checkBtnAndBindTab.bind(window,btns,tabctrlId);
  21.         setTimeout(func,50);
  22.     }else{
  23.         window["current_active_btn_idx"] = 0;
  24.         var bindTabClick = function(tabctrlId,idx){
  25.             window["current_active_btn_idx"] = idx;
  26.             g_rptpage.widgets[tabctrlId].setActive(idx);
  27.         };
  28.         var bindTabHover = function(tabCtrlId,idx){
  29.             stopAutoCheckBtn();
  30.             execDomEvent(btnDoms[idx],"click");
  31.         };
  32.         var autoCheckBtn = function(){
  33.             var nextidx = (window["current_active_btn_idx"]+1)%btnDoms.length;
  34.             execDomEvent(btnDoms[nextidx],"click");
  35.             window["_auto_check_btn_timer"]= setTimeout(autoCheckBtn,2000);
  36.         };
  37.         var stopAutoCheckBtn = function(){
  38.             if(window["_auto_check_btn_timer"]){
  39.                 clearTimeout(window["_auto_check_btn_timer"]);
  40.                 window["_auto_check_btn_timer"] = null;
  41.             }
  42.         };
  43.         var startAutoCheckBtn = function(){
  44.             window["_auto_check_btn_timer"]= setTimeout(autoCheckBtn,2000);
  45.         };

  46.         for(var i=0,l=btnDoms.length;i<l;i++){
  47.             addEvent(btnDoms[i],"click",bindTabClick.bind(btnDoms[i],tabctrlId,i));
  48.             jQuery(btnDoms[i]).hover(bindTabHover.bind(btnDoms[i],tabctrlId,i),startAutoCheckBtn);
  49.         }
  50.         startAutoCheckBtn();
  51.     }
  52. }

  53. checkBtnAndBindTab(["@cc","@cl","@zl","@fx"],"HHH87");
复制代码

2、修复热词球图不自动旋转

将脚本中的HHH69为热词球图的代号。
  1. /**修复词云图不自动转动的问题**/
  2. function checkHHH69Active(){
  3.     if(g_rptpage&&g_rptpage.chartMng&&g_rptpage.chartMng.getChartById("HHH69")&&g_rptpage.chartMng.getChartById("HHH69").thirdchart){
  4.         if(!g_rptpage.chartMng.getChartById("HHH69").thirdchart.objAry["HHH69Esen"].active){
  5.             g_rptpage.chartMng.getChartById("HHH69").thirdchart.objAry["HHH69Esen"].mouseX=g_rptpage.chartMng.getChartById("HHH69").thirdchart.size/5;
  6.             g_rptpage.chartMng.getChartById("HHH69").thirdchart.objAry["HHH69Esen"].mouseY=10;
  7.             g_rptpage.chartMng.getChartById("HHH69").thirdchart.objAry["HHH69Esen"].active=true;
  8.         }
  9.     }
  10.     setTimeout(checkHHH69Active,100);
  11. }

  12. checkHHH69Active();
复制代码

三、配色信息
底色:#FFFFFF
标题:图片
模块
         边框:图片+容器
         标题:#2E8AD314px 加粗
         文字:#63748912px
         地图
                   背景:#52B2FE       边框:#68C6FF
                   标点:红 #FF000 黄 #FCB61A
                   渲染:#1376E2,#1F8DEB,#35A4FE,#55B4FE
         面积/柱状图
                   填充:#0B9BFF (面积图加了90的透明度)
                   坐标轴/网格线:#F6F6F6
         提示信息
                   背景:#A9ADB3
                   文字:#FFFFFF 12px

四、资源文件
1、 报表资源
   
    说明:.rptttpl后缀文件新建空报表后如下图所示上传
   

2、 图片资源
    直接上传到资源管理器,默认的路径:
    /root/products/ebi/sys/picture/pcdemo/领导驾驶舱/公司介绍
    注意:可以压缩为zip文件后上传。路径不要轻易修改,报表中在引用时使用了文件路径。

3、 资源文件
公司介绍.rar (112.17 KB, 下载次数: )

最近看过此主题的会员

esen_4PI055C3LR

九天

刘子瑜

wangk

一一

jiangqiao

wli0402

coll

esen_4YNPQEX87K

esen_4Y1ILQIQLS

13474715426

zhuhc

wxw

15个回答

只看楼主

程序小仙女 小试身手Lv3

发表于2018-7-20 10:03

只看该作者

取消 关注该作者的回复

沙发

感谢楼主分享,一直好奇你们的demo怎么做的,这下可以学习啦!

大哥很IT 数据老手Lv5

发表于2018-7-20 10:05

只看该作者

取消 关注该作者的回复

板凳

学习了!

CC化腐朽为神奇 数据达人Lv4

发表于2018-7-20 10:16

只看该作者

取消 关注该作者的回复

地板

膜拜大神!
界面做得那么棒~~~~

逐月的天堂 初学数据Lv2

发表于2018-7-20 10:58

只看该作者

取消 关注该作者的回复

5#

江湖人称潇洒哥 数据达人Lv4

发表于2018-7-22 21:19

只看该作者

取消 关注该作者的回复

6#

按钮和Tab页签联动,这个效果做得真好,赞赞的哟!

混乱七星天 数据达人Lv4

发表于2018-7-23 10:15

只看该作者

取消 关注该作者的回复

7#

棒棒棒

小明 初学数据Lv2

发表于2018-7-23 13:53

只看该作者

取消 关注该作者的回复

8#

产品热词球效果好赞

韦韬然 数据老手Lv5

发表于2018-7-25 10:24

只看该作者

取消 关注该作者的回复

9#

好厉害的样子

斯维尔 数据小白Lv1

发表于2018-8-20 16:53

只看该作者

取消 关注该作者的回复

10#

文中提到的主题表是没有地方获取的是吗?

方菁 小试身手Lv3

发表于2018-8-20 17:00

只看该作者

取消 关注该作者的回复

11#

斯维尔 发表于 2018-8-20 16:53
文中提到的主题表是没有地方获取的是吗?

主题表目前不提供,大家自己把数据改成自己的主题表内容就可以了。

上一页12下一页共2页

登录后可回答问题,请登录注册

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

小时

全天响应

分钟

快速处理问题

工程师强势助力

明星产品
解决方案
联系合作

400咨询:400-0011-866

技术支持QQ:400-0011-866(工作日9:00-18:00)

产品建议邮箱yixin@esensoft.com

关注我们

扫TA学习更多干货

一对一专家交流

版权所有© 2006-2024 北京亿信华辰软件有限责任公司 京ICP备07017321号 京公网安备11010802016281号