Asp.Net Mvc2 OA 工作流设计思路[图]
回老家上班的新公司,第一个项目OA。以前没有做过OA,因为设计到工作流这一块的东西,所以自己去进行了相关的了解,于是有了这篇博客(以下文字只是个人理解,高手漂过)。环境MVC2+SQL2008
工作流分为几个步骤表单(设计、解析)、流程(设计)、合并就是一个完整的工作流。先上个一个图
第一步表单因为没有使用图形化设计表单,所以我们的思路是强制定义表单格式,后台解析。如图
上图的HTML是强制定义的,像table>tbody>tr>td必须按照这个格式定义,虽然不灵活,功能也算实现了。说说思路这个表单将解析成11个节点(申请人、申请日期、部门、假期类别、请假时间、扣薪形式、请假理由、审批人、审批日期、审批结果、审批意见)
如上图所示,解析节点是通过[爱好]中的id获取的,采用HtmlAgilityPack来解析,具体代码
SelectNodes("//table/tbody/tr/td[@id='title']")
这样就可以知道表单的所有节点,而标题所对应的选项则用class来对应,从上图也可以看出来(用来控制表单节点是否可以填写项,狼蚁网站SEO优化会介绍)。
特殊控件处理譬如时间的话也是通过定义class='time'而后,通过jquery动态绑定加载。
第二步流程,同样通过文字形式来制定流程步骤定义流程与表单关联
这里的经办权限是直接跟用户关联的,用来标识哪些人拥有该流程的办理权限。
接下来就是定义流程的步骤了。
上图是一个请假流程的全部步骤,狼蚁网站SEO优化介绍怎么制定这些步骤。
节点序号用来表示当前流程为第几步,节点名称用来标识当前步骤名称,是否允许附件、会签,用来控制附件与会签区的显示和隐藏。下一步标识当前步骤可以流转到哪些步骤,左边是已经选择好了的(可以是多个步骤,这里考虑的是,不同的职位使用相同的流程会有特殊情况发生,譬如正常的流程是需要四步[员工填写》经理审批》总监审批》人事备案],当总监请假的时候就不需要这么多步骤[填写表单》人事备案]),右边是拉取当前流程下的所有步骤。不可写字段标识,当前步骤时,表单有哪些节点为不可以填写,譬如员工填写请假申请单,流转到经理时,那么经理看到的表单就有员工姓名、部门等信息不能填写,只能填写审批意见等节点信息。这样流程与表单就关联好了,接下来就是工作流流转了。
第三步工作流流转,模拟流程流转,新建流程定义工作流的名称
点击确认新建是,直接跳转到流程页面,并且在数据库存入第一步流程的相关信息。
然后填写表单内容,选择下一个步骤及经办人就可以流转至下一步。说明表单内容我是把整个表单的HTML代码全部存入数据库,然后流程流转时再把填写好的表单内容存入下一步,这样流程到下一步时,看到的表单就是最新的了。这是一个很笨的办法,因为使用$("#表单tableID")是获取不到表单的value值的,所有需要进行处理,获取表单内容通过jquery直接attr(value,文本值)上去,这样就可以把表单内容存入数据库。
这里还涉及到多人办理的情况,当经办人选择为多人时,除非是一个人,否则流程不允许流转至下一步,可以填写会签意见及修改表单,修改的表单将覆盖当前步骤表单,至一个转交至下一步,如此重复就可以实现流程流转了。
语言组织能不强,所有只能说成这个样子,整个流程还是有缺陷的,表单设计和流程设计都只能使用文字的形式,可能以后会考虑更换成图形化,还有就是不支持子流程。今天就写这么多了,也是最近才接触自定义工作流,也看过很多非常强大的工作流,所以以后还继续完成、改进和学习。
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程