部门从解散到重生:一个测试员的JVS低代码OA搭建全纪实

去年年底,公司把IT部门拆掉了,只剩下了 一个做过后端的开发和一个测试(就是我)。年初公司领导要求换oa系统,但公司预算有限(其实没钱)。部门经理考虑了很久,决定采用现在火热的低代码开发平台来搭建OA系统,东挑西选,最后挑选了JVS低代码平台比较符合我们的需求。

选择JVS低代码平台的原因

  1. 开发效率高:80%的功能可以通过拖拉拽完成,缩短了开发周期,降低了开发难度。
  2. 操作便捷:企业员工可以直接在网页端调整表单和流程,不需要依赖技术人员。
  3. 性价比高:自带丰富的OA系统模块,同时支持二次开发,满足企业扩展需求。
  4. 私有化部署:数据安全可控,确保企业数据的安全性。
  5. 提供源码:企业可以根据自己的需求做自定义二次开发,不会被卡脖子。

怎么使用低代码平台搭建OA系统

作为一名测试人员,没想到现在成为公司数字化改造的操盘手,说实话,我当时真的迷茫,那个唯一留下的后端开发成了我手机通讯录里被call最频繁的人,在堆满测试文档的工位上,我开始了白天跑业务部门梳理流程节点,晚上研究JVS低代码平台的奇幻旅程。幸好JVS系统内提供了每个功能节点的详细图文和视频操作介绍。

接下来我详细介绍一下我的整个搭建过程。

搭建过程

1、创建项目应用

在JVS应用中心,需要创建一个新的OA项目。填写项目的基本信息,如项目名称、描述等。

2、搭建前端界面

搭建前台页面有两种方式,一种根据页面系统自动生成后台数据库表,另外一种方式,先创建库表,系统该自动生成页面。由于部门例外,今天一个想法,明天一个idea ,所以我们大部分的都是先配置页面,系统再动态生成表结构页面

然后根据需求选择所需的模块,如列表页设置、表单设计、流程配置、创建逻辑等等进行配置。

3、创建列表页,配置列表页和数据模型

列表页是专为管理和展示数据而存在的页面,JVS低代码中,列表页和数据模型紧密关联,数据模型是列表与表单操作后的数据存储的空间。

选择需要使用的布局(普通布局、卡片式布局、树表式布局、选项卡式布局)

列表页内置了新增、删除、修改、详情、导入、导出、下载模板这几个按钮,可以配置表单、逻辑、流程等模块。

数据模型配置,这里的数据模型会根据我们界面上设置的字段自动创建库表结构

保存以后,界面上就直接形成了我们想要的界面功能:

4、配置表单

选择需要使用的布局(普通布局、卡片式布局、树表式布局、选项卡式布局),创建审批表单、请假申请表单等,通过拖拉拽组件完成表单布局。根据需求添加各种组件,如按钮、输入框、表格等,并设置相应的属性和事件。

保存以后表单如下,当然表单可以设置全屏表单、弹窗表单、抽屉表单等,根据用户自己的需求去选择。

5、配置审批流程

审批流程是OA系统的核心功能之一。通过工作流引擎配置审批流程,如请假审批、报销审批等。在JVS低代码平台上,用户可以通过以下步骤配置审批流程:

  • 输入流程名称:为审批流程命名。
  • 配置流程设置:包括流程的流转规则、节点设置等。
  • 设计流程表单:选择或自定义表单模板,用于记录审批所需的信息。
  • 发布流程:完成配置后,将流程发布到系统中,使其生效。

6、配置系统中的自动化业务

其中包括很多列表页、表单中无法单纯实现的功能,需要使用逻辑编排加工复杂数据、搞定复杂的业务。 例如财务提了自动对账的需求:每天晚上,系统自动从FTP 上取与银行的对账文件,然后解析文件,入库后 ,循环与本地数据 对比,判断是否有差异,然后 插入执行结果表的相关记录。

例如下面这个是同步钉钉的打卡信息到本地的系统:

可以通过创建模板,将搭建好的系统发布在模板中心

以上是我搭建的一套简单的OA系统,过程难度低,如果你只懂业务,不懂代码,也可以用JVS低代码平台像我这样来搭建。

除此外还支持第三方集成、权限管理等多功能。

集成第三方服务

权限管理

部分功能页面展示

下面我把OA系统对应的功能给大家截图分享一下

供应商基本信息

财务管理:提功能包含付款申请、借款申请、费用报销功能

业务流程审批

付款申请

人事考勤:功能包含人力资源需求申请、加班、请假、出差、辞职、补卡、工作交接

人力资源相关功能:

联络单:功能包含联络单、快递邮寄、采购、物品领用、旅行管理、人事异动、用车申请、工作协作

系统设置:包含报销冲抵借款、人力资源需求明细、物品放行明细、采购申请明细、费用报销明细、付款申请明细、加班明细、变更申请明细

总结

经过一个月,一个开发+我一个新手,搞定了内部的OA系统,如果你也需要这个应用,可以私有化部署,然后我把应用分享给你,JVS中好像私有化部署2个以内的应用是免费的。

JVS低代码开发平台除了可以用于开发OA系统外,还能用于多种其他类型的业务系统开发,比如ERP、CRM、资产管理、人力资源,甚至专业化的APS等。

开源框架:https://gitee.com/software-minister/jvs

在线demo:**************************

全部评论

相关推荐

Base成都、南京【公司简介】成都天锐星通科技有限公司成立于2013年,是一家专注于毫米波波束赋形芯片、天线的自主研发及生产的民营高新技术企业,并在南京设有南京汇君半导体科技有限公司。公司在毫米波相控阵领域深耕多年,已实现毫米波相控阵天线的全产业链布局,提供包括多功能集成芯片、有源相控阵天线组件系列化产品,以及测试服务,产品主要运用于卫星通讯和5G毫米波通信。截至2024年6月,公司在相控阵领域已获得发明专利授权111项,实用新型63项,外观专利20项,软件著作权22项,集成电路布图5项;已申报发明专利66项,实用新型3项,国际专利18项(16项发明、2项实用新型)。天锐星通为优秀青年工程师提供广阔的发展平台,诚邀大家加入我们,致力于成为相控阵技术的引领者和推动力!【面向对象】2025届海内外应届生【招聘岗位】天线工程师、射频工程师、嵌入式工程师、硬件工程师、测试应用工程师、逻辑工程师、模拟IC设计工程师、射频IC设计工程师【你能获得】💝具有竞争力的薪酬和完善的福利岗位薪资+绩效奖金+项目奖金+技术专项奖+六险一金+住房补贴+年度体检+节日福利+免费健身等。💝专属定制培养方案培养期制定专属学习、培养计划,因材施教,定期review人才绩效和发展进度。💝双导师带教机制双导师带教,提供全面指导,培养期全程悉心陪伴。💝具有挑战性的项目历练研发资源重点投入,虚拟项目、部门级关键项目历练,助力人才专业能力快速提升。📮📮📮【内推通道】http://z2u.tv/0GXtwo内推码【PY8GJ5K】投递的同学评论区留下姓名缩写+岗位,方便跟进                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
点赞 评论 收藏
分享
04-09 16:14
门头沟学院 Java
(二月多面的)同样没问实习,首先让手撕一个 Redis 分布式锁(可能是因为简历上提到有相关内容,但题目是腾讯题库里的),鼠鼠不会,支支吾吾说忘了 API,他潇洒的甩了下头发,说可以在本地写。😅装模作样弄了一阵,计上心来装作如梦初醒:“借的电脑面试没找到 IDEA”他又潇洒一摆手,那就写伪代码吧😅憋半天,把几个关键点的八股写成注释,他看了后,用不再潇洒的语气问我:“伪代码你全写中文干哈?”😅哈哈,会的话哥们还想写拉丁文呢后面又出了一个多线程打印 ABC 的手撕,同样不会,这次没再装,直接说不会,于是开始八股,有些鼠鼠背过,但明显感觉他应该没背过,或者干脆他就不是做 Java 的,吟唱过程没有一点反应,全程也没有追问,属于是那种问完只要你吱声就行,当然也可能是鼠鼠前面手撕表现太骚让他兴致全无,毕竟刚开始他还不停甩头发防止刘海遮住眼睛看不清,后面全程没动过头,估计都是隔着铁窗般的刘海望着鼠鼠我尴尬直播。1、HashMap 怎么实现的2、HashMap 的 Index 如何计算3、HashMap 和 HashTable 有什么区别4、HashMap 和 TreeMap 的区别5、HashMap线程安全吗,有什么线程安全的?6、ConcurrentMap 的实现原理7、HashMap 插入、查找、删除的时间复杂度8、最坏情况的时间复杂度9、高并发场景下除了线程不安全还会存在哪些问题?10、HashMap 的扩容11、TCP 三次握手和四次挥手12、和 UDP 的区别13、HTTP 中的长链接和短链接的区别14、怎么去关闭链接15、HTTP 2 相比 HTTP1.1做了一些什么改进呢?16、UDP 有实践操作过吗?17、Spring 中 bean 的生命周期18、bean 有哪些作用域(答了单例,追问还有哪些)19、Spring AOP 的实现原理(答了动态代理,追问具体怎么实现)20、Spring AOP 有哪些定义,通知类型21、Spring 中的事务22、Spring 中类的构造机制有哪些(有哪些注入方式)23、IoC 容器的原理,如何管理 bean 的24、如何去解决循环依赖问题25、介绍实习26、具体讲一下乐观锁方案的实现(实习项目里的)27、SQL 语句如何写的(实习项目里的)28、kafka、rabbit MQ、rocket MQ如何选择(项目里的)29、list 的常见数据结构有哪些30、redis 如何保证原子性?31、redis 的持久化机制32、redis 分布式锁如何删除锁33、删除锁如何保证原子性34、如何实现锁的自动续期35、市面上还有哪些常见的分布式锁?有使用过吗?36、介绍下策略模式37、策略模式的缺点面完隔天挂。
点赞 评论 收藏
分享
04-09 16:43
已编辑
安庆师范大学 Java
背景:22年专升本,科班,3年经验(支付、电商项目)第一阶段:手撕代码,40分钟滑动窗口:给定一个字符串,求出其最大无重复字符子串的长度如:abcabcd -> 输出3如:1231323 -> 输出3【可以用自己的idea】第二阶段:八股1.set和list的区别?java的集合是怎么实现排序的?2.set怎么做去重的?(自己瞎编的,糊弄过去了,建议大家看看源码)3.java的锁实现有哪些,说一下区别和实际应用?(synchronized、lock)4.乐观锁和悲观锁有什么区别?5.说一下线程池的核心参数?怎么创建线程池?6.多线程的使用场景有哪些?juc的工具类有用过吗?(countDownLatch)7.如何保证接口的幂等?仅仅靠分布式锁就行了吗?8.分布式锁好还是乐观锁好?(我懵逼的,我不知该怎么说,因为这两个锁在我看来是不同维度的)9.redis:讲一下hash类型?redis的setnx和set有什么区别?底层有什么关联?10.说一下你项目里的策略模式?(策略+工厂 实现动态路由)11.java里的阻塞队列有哪些?12.讲一下慢sql优化的步骤?13.explain执行计划代表索引的字段是哪个?(type)索引类型有哪些值?(all、const、range、ref)14.SpringMVC的基本原理是什么?第三阶段:场景刚才你说一般在定时任务中使用多线程,那在集群环境下,怎么保证只有一台服务器执行任务呢?怎么保证负载呢?(ps:我不知道,希望大神在评论区解答)
查看16道真题和解析
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客企业服务