对于TWaver可视化家族的成员,大家比较熟悉的是我们的网络拓扑图组件和MONO Design三维建模工具。作为开发工具,这两款产品面向广大的程序猿同志,在界面可视化上为大家省时省力。但是,当项目交付以后,我们经常会遇到这种情况:

在已经交付的某客户现场,甲方又提出了界面改动需求。

通常情况下,需求都不难,但是会超出了当初需求调研以及验收标准中的要求了。而且按照传统的开发流程,撇开时间和费用等问题,界面改动通常需要让后方的美工大人重新调整界面,开发人员进行代码修改,一来一回,耗时耗力。我们近期也遇到了这样的情况,不过得益于项目所使用的Legolas™工业自动化平台,这个改动只花了几分钟就搞定了。

是的,今天我们就来大张旗鼓地给大家介绍一下这位TWaver可视化家族的新成员 ———— Legolas。

还是从项目说起吧。最近我们做了一个油田钻井用工程车辆工况管理的项目。项目早已完成验收,系统运行也没有问题,但是甲方提出,希望能有个表示钻井钻头作业方向的功能,用来方便指导作业工人的工作。下面是我们已经开发完成的界面:

大家看到的这个界面,是用Legolas™平台开发的。如何实现在这个界面上添加一个表示钻井钻头作业方向的功能呢?

第一步:现场工人打开系统中的图纸编辑工具,打开需要修改的页面图纸。

(是的,你没有看错,只要让现场工人来操作就可以了)

第二步:从左边工具栏中,拖拽一个新的组件到图纸中,设置一下它的ID。

这个组件是用来显示图片的,我们可以通过逻辑判断例如井深数据的变化,来动态计算出钻头的走向趋势,然后用表示上、下的箭头来指明方向。

第三步:点击动态逻辑管理界面,进行符合甲方需求的逻辑代码。

由于编辑平台是使用JavaScript开发的,追加一些基本逻辑就是如此简单:

function (r){
var v = r.value;
vardd =this.depth;
if(dd){
if(v>=dd){
this.setValue("image","./images/vi/2d/arrow2.png");
}else{
this.setValue("image","./images/vi/2d/arrow1.png");
}
}
this.depth = v;
}

第四步:动态逻辑添加完毕,进行新的数据关联。

由于客户希望是进行井深数据的判断,我们就直接把井深数据关到我们新加的这个可视化组件上。

好了,编辑工作完成,保存一下图纸就可以跳转到实际运行界面上看结果了。

这只是Legolas应用的一个很小的例子,面对现场突发需求,开发人员不用再半夜起来敲代码,只要指导现场的工人拖拽一下新的需求页面,设置一下所需的动态逻辑就可以了。这也是我们创造Legolas的初衷:

通过Legolas工业自动化平台,用可视化拖拽的方式就能实现应用系统界面布局,并通过复杂逻辑动态注入和数据模型的动态映射,设计出可以运行在各类设备上的应用系统,满足各种领域和行业的需求。

TWaver家族新成员 — Legolas工业自动化设计平台的更多相关文章

  1. Microsoft 家族新成员 Datazen 移动BI 介绍

    开篇介绍 Microsoft 在上个月即 2015年4月份收购了 Datazen www.datazen.com, Datazen 专注于移动 BI 和数据可视化领域,并且它的基本部署与配置架构都是基 ...

  2. Legolas工业自动化平台入门(一)搭建应用

    前两篇给大家介绍了TWaver家族的新面孔--Legolas工业自动化平台,通过两个应用案例钻井平台工程用车和水源地监控系统,相信大家对Legolas已经有了一定程度的了解.这几篇文章,我们会逐步介绍 ...

  3. Legolas工业自动化平台入门(二)数据响应动作

    在上一篇文章Legolas工业自动化平台入门(一)搭建应用里,我们简单地提到了"动作"的概念.不清楚的童鞋不要着急,这篇我们就来介绍如何在Legolas平台上添加动作,并应用动作. ...

  4. Legolas工业自动化平台入门(三)交互事件响应动作

    在上一篇Legolas工业自动化平台入门(二)数据响应动作 一文中,我们介绍了"动作"相关内容,了解到"动作"分为多种,各种动作的添加方式相同,但是应用方式各自 ...

  5. JEECG开源团队招募新成员 2014年

    JEECG开源团队招募新成员 2014年 截止日期:2014-06-01        JEECG开源项目 是一款基于代码生成器的微云高速开发平台.提供企业高速开发和採用微信实现移动应用的解决方式.J ...

  6. 介绍一位OWin服务器新成员TinyFox

    TinyFox 是一款支持OWIN标准的WEB应用的高性能的HTTP服务器,是Jexus Web Server的"姊妹篇".TinyFox本身的功能是html服务器,所有的WEB应 ...

  7. FreeBSD基金会添加新成员,梁莉成为第一位来自微软和中国的基金会董事

    这个月23日FreeBSD基金会很高兴地宣布Philip Paeps和Kylie Liang (梁莉)正式加入董事会. 梁莉,现任微软开源技术部高级项目经理,主要负责FreeBSD在公有云以及私有云的 ...

  8. 一位OWin服务器新成员TinyFox

    一位OWin服务器新成员TinyFox TinyFox 是一款支持OWIN标准的WEB应用的高性能的HTTP服务器,是Jexus Web Server的"姊妹篇".TinyFox本 ...

  9. Apache Kudu: Hadoop生态系统的新成员实现对快速数据的快速分析

    A new addition to the open source Apache Hadoop ecosystem, Apache Kudu completes Hadoop's storage la ...

随机推荐

  1. JProfiler使用详细教程学习笔记

    JProfiler学习笔记    推荐文章:JProfiler 入门教程 一.安装JProfiler        从http://www.ej-technologies.com/下载5.1.2并申请 ...

  2. cookie入门与学习

    据我对cookie诞生背景的了解,cookie是由网景公司创建的,目的就是将用户的数据储存在客户端上.伴随的HTML5的出现,现在又有另外一个解决数据离线储存的方案,就是HTML5中的Web stor ...

  3. atitit.提升开发效率---使用服务器控件生命周期 asp.net 11个阶段 java jsf 的6个阶段比较

    atitit.提升开发效率---使用服务器控件生命周期  asp.net 11个阶段  java jsf 的6个阶段比较 如下列举了服务器控件生命周期所要经历的11个阶段. (1)初始化-- --在此 ...

  4. Atitit.javascript 实现类的方式原理大总结

    Atitit.javascript 实现类的方式原理大总结 1. 实现类的式::构造方法方式:原型方式:构造方法+原型的混合方式 1 2. 原型方式(function mode)经典式..实现属性推荐 ...

  5. atitit.解决struts2 SpringObjectFactory.getClassInstance NullPointerException

    atitit.解决struts2 SpringObjectFactory.getClassInstance NullPointerException #--现象 java.lang.NullPoint ...

  6. FreeMarker模板语法

    四.FreeMarker模板语法 要编写复杂的模板需要熟悉FreeMarker语法规则,官网有详细说明,中文帮助也比较详细了,下面这些内容是从网上收罗来的,感谢网友的分享,经过整理与修改的内容如下.建 ...

  7. 匿名管道读取CMD回显信息

    之前用了很坑爹的做法去读取了cmd命令的回显信息,现在发现了用匿名管道的实现方法,由于楼主没有学过Windows核心编程,找了一个代码来凑数 存下来以后研究 #include <windows. ...

  8. python星号变量

    python 元组 tupletup1 = ('physics', 'chemistry', 1998, 2000)tup2 = (1, 2, 3, 4, 5)tup3 = 'a', 'b', 'c' ...

  9. Redis info参数总结(转)

    Redis官网对 info 已经讲解的比较清楚的,参考文档 . 可以看到,info的输出结果是分几块的,有Servers.Clients.Memory等等,通过info后面接这些参数,可以指定输出某一 ...

  10. 不会用ant打包、部署项目的工程师,不是一个好程序员(测试)

    副标题:利用ant脚本 自动构建svn增量/全量 系统程序升级包 首先请允许我这样说,作为开发或测试,你一定要具备这种本领.你可以手动打包.部署你的工程,但这不是最好的方法.最好的方式就是全自动化的方 ...