费控中心
时间 2017.8--2018.6
项目框架组成
前端使用EXTJS,后端采用.NET 的spring MVC+nhibernate
优势
前端EXTJS框架使用js对象模式创建控件,并且提供了丰富的基础组件库,在实现产品界面方面十分快捷,迅速,并且js对象方式创建控件有利于自定义界面的实现。
后端使用的微软的.NET框架,其中spring MVC和nhibernate极大的方便了项目基础代码的编写,让开发员从数据库建表到UI层的数据传输以及对象创建的重复冗余的代码中解放出来。
劣势
EXTJS框架虽然开发界面方便快速,但是在EXTJS4.2中(公司使用的版本),EXT一些控件存在bug,类似于日期控件的值无法正确获得以及数字控件的滚轮有时抽风等;这些都需要重写底层控件代码。
不过这些bug都是可以解决的,但是EXTJS存在的性能问题,公司到目前为止都没有解决,EXTJS的控件渲染时,会出现多层的div嵌套,以至于界面最终渲染出来的是一个庞大的DOM;当然它的性能问题不单单是这个原因,由于通过编写对象代码,创建控件的方式,虽然可以让本来不属于前端的开发员能够轻松画出一个界面,但是也很容易因为代码不规范,导致控件的多重嵌套。在我看来造成EXTJS的性能问题的主要原因:开发员的代码不规范。
后端.NET框架存在一个致命的问题就是无法跨平台,虽然现在.NET core已经解决了这个问题,但是当时开发的时候,公司并没有使用.NET core.
总结
费控中心这个项目是我在公司转正之后,就立马被项目经理分配的一个大型业务项目,这个项目几乎所有的界面(前后端)都由我一个人完成,包括系统分析,代码实现,虽然在完成过程中遇到了很多的难题,但是在整个项目完成上线之后,我从中所学到的对我整个职业生涯都有着不可言喻的重要意义,其中最最重要的就是锻炼了我独立解决问题的能力,以及面对不可能完成的任务时,自身应该有的坚韧与不屈的精神,同时还有如何整合资源,与其他团队或者同事领导的沟通解决办法的能力。
费控中心业务方面
单据组成
-
基础数据
- 费用类型
- 借款类型
- 员工信用额度
- 出差区域设置
- 员工 差旅级别设置
- 差旅标准
- 收款信息
-
业务单据
- 项目费用预算
- 部门费用预算
- 申请单
- 借款单
- 报销单
- 付款单
业务单据功能
IMP,报表,打印,附件,工作流,界面自定义,二维码扫描
业务单据截图
-
申请单
-
借款单
-
报销单
-
付款单
-
费用类型
-
员工信用额度
费控中心App-借款报销
费控中心app--借款报销模块:使用senca touch框架做的webview界面。借款报销app简化了pc端的复杂操作,保留了一些主要信息录入,以及每个的相关单据间的数据导入。独立开发完成,使用了2个月的时间。