热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

智能表单前言

本人从事软件行业13年了,也算是老程序员了(去年转的java,之前一直做的是net),刚出学校进入的第一家公司,就被各式各样的组件库给吸引了,因为那时候css,html,js都还不

本人从事软件行业13年了,也算是老程序员了(去年转的java,之前一直做的是net),刚出学校进入的第一家公司,就被各式各样的组件库给吸引了,因为那时候css,html,js都还不够强大,有了一堆控件库,开发起来就减少了很多工作量,让我非常的崇拜哪些大佬,在我心中也悄悄埋下了种子,非常想做一款快速开发的平台,从13年有空余时间就研究一些智能表单,使用的是net服务器控件,开发了一系列net服务器控件,可以轻松通过vs开发工具拖拽实现一个智能表单,后面想到服务器控件也是xml标签,是不是可以转向web端编辑器中进行呢,利用ckedit编辑器进行改造,遇到过很多问题,推翻了过很多次,反反复复,在15年的时候了终于成功做出来。同时支持在线开发与vs开发结合版,但是这个时候mvc早推出来有两年了,微软都放弃了服务器控件了,而且出了很多前端界面框架,非常美观又好看。所以开发出来的就是一个废品。真是闭门造车,就放弃了,一直到18年年底看到bootstrap,layoutit又燃起了我在线快速开发热情。

这次我前端采用的是bootstrap 响应式布局UI框架, layoutit框架改造,同时融入JqueryTemplate.js绑定与渲染数据,Sortable.min.js进行拖拽的实现,ace.js在线Js,html,sql在线编码。

后端采用spring boot,mybatis,redis缓存,quartz定时任务等框架

优秀的在线智能表单开发需要满足如下:1.至少满足80%的业务场景及界面设计,2.不写代码就能完成80%的功能开发。3.能够适应不会开发的人员或者懂一点开发思维的人轻松上手。4.需要有强大扩展性支持剩余20%的功能开发。而我这次做的智能表单就能支持。

市面上面常见的智能表单如

1、Ueditor Formdesign Plugins Web表单设计器和FCKeditor 编辑器 都是基于在线编辑器,table表格模式布局,拖拽布局体验不好

如下图:

技术分享图片

技术分享图片

2.JQuery FormBuilder 表单构件器,以及市面上面常见的问卷网,问卷星:https://www.wenjuan.com/edit/survey/5ee0bf373631f2c37637c3ea?scene=brand#survey 能够快速开发一个表单,。

JQuery FormBuilder 表单在线插件:https://github.com/kevinchappell/formBuilder和在线演示:https://kevinchappell.github.io/formBuilder

Bootstrap 表单构造器在线演示: http://www.bootcss.com/p/bootstrap-form-builder

基于Vue,ElementUI开发的一款表单设计器 http://tools.xiaoyaoji.cn/form/#/ 这些在线设计表单界面用起来都很爽,界面很炫酷,目前这些表单界面设计缺少一行多列的展示,弹层,以及缺少扩展性逻辑的编写。

而我的在线编辑器就是满足了这一系列的功能。

如图:设计控件的占比,能轻松实现一行多列,一列占据几个单元格。可以支持33.33%,50%,66.6%,100%

技术分享图片

如图:弹出层与当前页面无紧密联系,可拆可合,弹出的层可以重复使用,弹出层的设计跟设计一个新页面是一样的,这样就能满足我的页面可以支持无线弹出编辑。

下面是弹出已设计好的层,进行编辑页面

技术分享图片

下面明细列表,弹出层进行新增编辑,弹出层编辑页面还有明细,又要弹出层新增编辑,如下图所示新增的层界面设计跟设计最开始界面一致。

技术分享图片

如我们需要点击控件弹出一个层,点击触发一个点击事件,插入一个弹出层的页面即可,非常的方便。

技术分享图片

 

如图:我拖拽控件生成的页面就是一个html页面,可以轻松编写js脚本实现我们扩展逻辑。点击切换脚本编辑,左边是js代码,右边是设计面生成的html,左边也可以放入html代码,可实现各种自定义的体验效果。

技术分享图片

 

编辑逻辑的界面还扩展了,插入ajaxApi,插入弹出窗口的右击菜单,上面插入弹出层介绍,这里就不多说了,这里说有一下插入调用Api接口模式展示

技术分享图片

如动态图所示:点击文本框发送了ajax请求,并请求到了数据 

如图:在线创建一个Api接口就是这么简单,在线编辑查询sql,并支持MyBatis语法,轻松实现各种Api接口,并生成调用Api接口的代码。并验证传入参数的必填性,以及参数类型,设置好对应列表头部,对应导出功能也就做好了。

技术分享图片

这是一个各景区单价最高最低统计报表,sql语句非常复杂,只需写好sql,对应Api报表就出来了,后续再演示。

如图:只需要定义提交的JSON格式,轻松实现多表之间的数据保存于修改。并且也支持智能表单界面和工作流表单的数据的保存,选择对应表单就能配置表单数据的保存与工作流表单业务数据的保存。

技术分享图片

如图:拉取第三方系统接口数据,只需轻松配置就能搞定。配置第三系统Api接口请求地址,请求方式,head信息,PostJson的参数,就可以获取接口返回的JSON格式,就可以配置数据保存规则,从而达到拉取第三系统接口数据目的。后续详细介绍。拉取数据后插入到数据中10000条数据500ms,数据拉取的测试后续单独动态图进行演示。

技术分享图片

 

 

如图:导入Exls数据到数据库,如此简单,配置一下就ok,包含每行数据的格式验证。先导入xls,获取每个Sheet,对应指定行为列头信息,然后配置保存数据的规则,配置好导入功能就开发好了,目前测试性能10000条数据导入530ms,导入的测试后续单独一章去展示。

技术分享图片

 

 

如图:提供强大在线工作流设计器,轻松画图,一个流程平台功能就出来了。

 技术分享图片

如流程发起界面

技术分享图片

你们的支持就是我最大动力,有兴趣的朋友可以跟我探讨一下,

欢迎加入qq群讨论 QQ群号:109434403 联系微信号:danran0007

在线体验地址:http://106.53.234.69:85/ 用户名admin 密码是  123456 

 


推荐阅读
  • 深入解析Unity3D游戏开发中的音频播放技术
    在游戏开发中,音频播放是提升玩家沉浸感的关键因素之一。本文将探讨如何在Unity3D中高效地管理和播放不同类型的游戏音频,包括背景音乐和效果音效,并介绍实现这些功能的具体步骤。 ... [详细]
  • 实现Win10与Linux服务器的SSH无密码登录
    本文介绍了如何在Windows 10环境下使用Git工具,通过配置SSH密钥对,实现与Linux服务器的无密码登录。主要步骤包括生成本地公钥、上传至服务器以及配置服务器端的信任关系。 ... [详细]
  • 随着Linux操作系统的广泛使用,确保用户账户及系统安全变得尤为重要。用户密码的复杂性直接关系到系统的整体安全性。本文将详细介绍如何在CentOS服务器上自定义密码规则,以增强系统的安全性。 ... [详细]
  • [附源码]计算机毕业设计JAVAjsp医药管理信息系统
    [附源码]计算机毕业设计JAVAjsp医药管理信息系统项目运行环境配置:Jdk1.8Tomcat7.0MysqlHBuilderX(Webstor ... [详细]
  • 本文由chszs撰写,详细介绍了Apache Mina框架的核心开发流程及自定义协议处理方法。文章涵盖从创建IoService实例到协议编解码的具体步骤,适合希望深入了解Mina框架应用的开发者。 ... [详细]
  • 本文提供了一个关于AC自动机(Aho-Corasick Algorithm)的详细解析与实现方法,特别针对P3796题目进行了深入探讨。文章不仅涵盖了AC自动机的基本概念,还重点讲解了如何通过构建失败指针(fail pointer)来提高字符串匹配效率。 ... [详细]
  • 本报告记录了嵌入式软件设计课程中的第二次实验,主要探讨了使用KEIL V5开发环境和ST固件库进行GPIO控制及按键响应编程的方法。通过实际操作,加深了对嵌入式系统硬件接口编程的理解。 ... [详细]
  • LeetCode 102 - 二叉树层次遍历详解
    本文详细解析了LeetCode第102题——二叉树的层次遍历问题,提供了C++语言的实现代码,并对算法的核心思想和具体步骤进行了深入讲解。 ... [详细]
  • MVC模式下的电子取证技术初探
    本文探讨了在MVC(模型-视图-控制器)架构下进行电子取证的技术方法,通过实际案例分析,提供了详细的取证步骤和技术要点。 ... [详细]
  • JavaScript 中引号的多层嵌套使用技巧
    本文详细介绍了在 JavaScript 编程中如何处理引号的多级嵌套问题,包括双引号、单引号以及转义字符的正确使用方法。 ... [详细]
  • 本文探讨了使用Python实现监控信息收集的方法,涵盖从基础的日志记录到复杂的系统运维解决方案,旨在帮助开发者和运维人员提升工作效率。 ... [详细]
  • 解决UIScrollView自动偏移问题的方法
    本文介绍了一种有效的方法来解决在使用UIScrollView时出现的自动向下偏移的问题,通过调整特定的属性设置,可以确保滚动视图正常显示。 ... [详细]
  • 笔记说明重学前端是程劭非(winter)【前手机淘宝前端负责人】在极客时间开的一个专栏,每天10分钟,重构你的前端知识体系& ... [详细]
  • 本文回顾了作者在求职阿里和腾讯实习生过程中,从最初的迷茫到最后成功获得Offer的心路历程。文中不仅分享了个人的面试经历,还提供了宝贵的面试准备建议和技巧。 ... [详细]
  • Asynchronous JavaScript and XML (AJAX) 的流行很大程度上得益于 Google 在其产品如 Google Suggest 和 Google Maps 中的应用。本文将深入探讨 AJAX 在 .NET 环境下的工作原理及其实现方法。 ... [详细]
author-avatar
胃热额外_522
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有