• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >ASP.NET > Asp.Net Mvc2 OA 工作流设计思路[图]

Asp.Net Mvc2 OA 工作流设计思路[图]

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了.net mvc2,mvc2,mvc2教程,asp.net,asp net培训等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

回老家上班的新公司,第一个项目:OA。以前没有做过OA,因为设计到工作流这一块的东西,所以自己去进行了相关的了解,于是有了这篇博客(以下文字只是个人理解,高手漂过)。环境:MVC2+SQL2008

工作流分为几个步骤:表单(设计、解析)、流程(设计)、合并就是一个完整的工作流。先上个一个图:

第一步:表单

因为没有使用图形化设计表单,所以我们的思路是强制定义表单格式,后台解析。如图:

上图的HTML是强制定义的,像table>tbody>tr>td必须按照这个格式定义,虽然不灵活,但是功能也算实现了。说说思路:这个表单将解析成11个节点(申请人、申请日期、部门、假期类别、请假时间、扣薪形式、请假理由、审批人、审批日期、审批结果、审批意见)

如上图所示,解析节点是通过[爱好]中的id获取的,采用HtmlAgilityPack来解析,具体代码:

</div>

这样就可以知道表单的所有节点,而标题所对应的选项则用class来对应,从上图也可以看出来(用来控制表单节点是否可以填写项,下面会介绍)。

特殊控件处理:譬如时间的话也是通过定义class='time'而后,通过jquery动态绑定加载。

第二步:流程,同样通过文字形式来制定流程步骤

定义流程与表单关联

这里的经办权限是直接跟用户关联的,用来标识哪些人拥有该流程的办理权限。

接下来就是定义流程的步骤了。

上图是一个请假流程的全部步骤,下面介绍怎么制定这些步骤。

节点序号:用来表示当前流程为第几步,节点名称用来标识当前步骤名称,是否允许附件、会签,用来控制附件与会签区的显示和隐藏。下一步标识当前步骤可以流转到哪些步骤,左边是已经选择好了的(可以是多个步骤,这里考虑的是,不同的职位使用相同的流程会有特殊情况发生,譬如正常的流程是需要四步[员工填写》经理审批》总监审批》人事备案],但是当总监请假的时候就不需要这么多步骤[填写表单》人事备案]),右边是拉取当前流程下的所有步骤。不可写字段标识,当前步骤时,表单有哪些节点为不可以填写,譬如:员工填写请假申请单,流转到经理时,那么经理看到的表单就有员工姓名、部门等信息不能填写,只能填写审批意见等节点信息。这样流程与表单就关联好了,接下来就是工作流流转了。

第三步:工作流流转,模拟流程流转,新建流程

定义工作流的名称

点击确认新建是,直接跳转到流程页面,并且在数据库存入第一步流程的相关信息。

然后填写表单内容,选择下一个步骤及经办人就可以流转至下一步。说明:表单内容我是把整个表单的HTML代码全部存入数据库,然后流程流转时再把填写好的表单内容存入下一步,这样流程到下一步时,看到的表单就是最新的了。这是一个很笨的办法,因为使用$("#表单tableID")是获取不到表单的value值的,所有需要进行处理,获取表单内容通过jquery直接attr(value,文本值)上去,这样就可以把表单内容存入数据库。

这里还涉及到多人办理的情况,当经办人选择为多人时,除非是最后一个人,否则流程不允许流转至下一步,但是可以填写会签意见及修改表单,修改的表单将覆盖当前步骤表单,至最后一个转交至下一步,如此重复就可以实现流程流转了。

语言组织能不强,所有只能说成这个样子,整个流程还是有缺陷的,表单设计和流程设计都只能使用文字的形式,可能以后会考虑更换成图形化,还有就是不支持子流程。今天就写这么多了,也是最近才接触自定义工作流,也看过很多非常强大的工作流,所以以后还继续完成、改进和学习。

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Asp.Net Mvc2 OA 工作流设计思路[图]
  • Asp.Net Mvc2 增删改查DEMO代码
  • Asp.Net Mvc2 增删改查DEMO附下载

相关文章

  • 2017-05-11解决AJAX.NET中的悬停panel在页面加载时闪烁的问题
  • 2017-05-11GridView选择性导出Excel解决方案
  • 2017-05-11asp.net实现拒绝频繁的IP访问的方法
  • 2018-08-20ASP.NET 之 MVC框架及搭建教程(推荐)
  • 2017-05-11ASP.NET MVC的四种验证编程方式
  • 2017-05-11blog程序新版本V2.0 Beta完成,提供V1.0全部源码下载
  • 2017-05-11asp.net 生成静态页时的进度条显示
  • 2017-05-11asp.net DropDownList自定义控件,让你的分类更清晰
  • 2017-05-11ASP.NET2.0 SQL Server数据库连接详解
  • 2017-05-11注册表中存储数据库链接字符串的方法

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 删除特殊字符和限定用户输入长度的示例代码
    • asp.net viewstate 回发机制
    • asp.net获取当前网址url的各种属性(文件名、参数、域名 等)的代码
    • 如何对ASP.NET网站实现静态化
    • asp.net 简单实现禁用或启用页面中的某一类型的控件
    • Chrome内核下由ashx输出的js代码不起作用的解决方法
    • ASP.NET页面之间传值的方式之Application实例详解
    • 详解WebApiClient的JsonPatch局部更新
    • asp.net代码中修改web.config节点的具体方法
    • 使用 Visual Studio 的“代码度量值”来改进代码质量

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有