首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

SharePoint 2013 实现多级审批工作

上一篇介绍了安装和配置SharePoint 2013 Workflow,这一篇将用SharePoint 2013 Designer Workflow来实现一个多级审批工作。...审批工作介绍 这个Demo是基于多级审批工作。以古代上传奏折为场景,共分为3个阶段。...接上一点,一级审批者通过后,需要将任务分配给二级审批者,和上操作一样,不同之处是需要将查询条件换为FirstApprover,具体实现如下图所示: ?...因为,我们工作最终目的是实现多级审批,即一级审批通过,交给二级审批人,依次审批下去。当审批拒绝时,工作结束,所示稍稍完善下上面的实现方式,具体流程如下实现: ?...测试工作 在文档库中上传一个奏折,将启动工作,如下截图所示即为3级审批工作审批流程日志: ? 小结 细心的朋友已经发现了,我没有去控制Task的权限,而是用了Filter来进行过滤。

2K90

Workflow Core + asp.net core 5.0 实现简单审批工作

我们知道企业业务系统到处都可以审批工作的,但也很少有像OA系统一样复杂多级多条件的审批工作需要设计,所以我们需要一个轻量级的容易上手的workflow框架,通过GitHub,我发现danielgerlag.../workflow-core 就非常合适,我下面我通过自己的一个开源项目利用Workflow core开发了一个文档审批工作的原型,也算是我开源项目中的一个重要模块 什么是Workflow Core...这里我简单的说一下我对工作的理解,一开始对工作的映像就是审批工作,一级批完二级,三级流转的审批,中间还有一些判断,比如金额>多少给什么批,而这些金额,判断逻辑最好是可配置化的,配置最好是图形化的,...但实际情况似乎并不能用简单的方式实现上述的功能,当然有类似的成熟的工作引擎可以做到比如国内的泛微OA,还有一个开源的Elsa,而我想要的还是最简单的最快速,能满足一些简单的业务场景就可以了。...新建一个审批工作 业务场景: A用户(neozhu@126.com)上传附件,发起一个新的workflow给B用户(new163@163.com)审批,如果5分钟内没有审批则系统自动取消该审批请求。

3.9K40
您找到你想要的搜索结果了吗?
是的
没有找到

设计模式【15】--从审批中学习责任链模式

(百度百科) 责任链模式是一种行为型设计模式,也就是重点是处理数据,假设我们有一份数据,需要经过很多个节点处理,那么就会是以下这个样子: 一个节点处理完之后,交给下一个节点,不知道大家有没有使用过审批...如果你接触过前端,JS 中点击某个 div 的时候会产生冒泡事件,也就是点击下面的A, A 在B里面,B在C里面, A-> B -> C 会依次收到点击事件: 再举个例子,在 SpringMVC中,我们有时候会定义一些拦截器...Handler(处理器):抽象类,提供给实际处理器继承然后实现handle方法,处理请求 ConcreteHandler(具体处理器):实现handler的类,同时实现handle方法,负责处理业务逻辑类...HandlerChain:负责组合责任链的所有节点以及流程(如果节点包含下一个节点的引用,那么HandlerChain可以不存在) 4审批链的实现 下面我们分别来实现不同的写法,假设现在有一个场景,秦怀入职了一家公司...拓展一下 其实责任链配合上Spring更加好用,主要有两点: 1、可以使用注入,自动识别该接口的所有实现类。

65910

多栏布局与JS实现瀑布

css3属性之多栏布局与JS实现瀑布    背景:之前打算自己总结一下flex布局的知识点,发现自己无从下手,原因在何处:我反思了一下,其实原因很简单,使用的次数少,更多的时间使用了百分比,浮动和定位解决...column-width宽度时,同时设置盒子的width,否则宽度默认为100%,每栏宽度按栏数平均分;盒子每栏宽度必须大于等于column-width设定的值,否则就会减少栏数来增加每栏宽度 css3多列和JS...实现瀑布  给自己安利一波吧,看到网上很多瀑布的效果,哇,简直棒极了有没有;于是我迫不及待的打开V**,打开了pinterest的官网。...自己也梳理梳理逻辑: 我们都不陌生瀑布是同宽的,但是高度不一,js主要的工作就是根据高度来进行布局, 1)当一行排满后,准备排第二行的时候,....box .pic img { display: block; width: 100%; } 梳理完了逻辑,该动手写js

2.9K90

JS事件

事件 HTML中与javascript交互是通过事件驱动来实现的,例如鼠标点击事件、页面的滚动事件onscroll等等,可以向文档或者文档中的元素添加事件侦听器来预订事件。...想要知道这些事件是在什么时候进行调用的,就需要了解一下“事件”的概念。 事件 事件描述的就是从页面中接收事件的顺序。...而早期的IE和Netscape提出了完全相反的事件概念,IE事件是事件冒泡,而Netscape的事件就是事件捕获。...绑定方式有如下两种 行内绑定(内联模型): 通过在JS中选中某个节点,然后给节点添加onclick属性 "btnClick()">按钮 function btnClick(){...console.log("hello"); } script> 复制代码 动态脚本: 通过在JS中选中某个节点,然后给节点添加onclick属性 "btn">按钮 var btn =

8.3K20

JS事件

事件 事件需要从事件讲起。 JavaScript 与 HTML 之间的交互是通过事件实现的。 “事件就是文档或者浏览器窗口中发生的一些特定的交互瞬间。...而事件描述的是从页面接收事件的顺序。 有意思的是,当时不同的开发团队对于事件提出了完全相反的概念,主要分为IE事件——冒泡,Netscape Communicator事件——捕获。 1....DOM事件 在 DOM 事件中,实际目标(div)在捕获阶段不会接收到事件,意味着在捕获阶段事件从 document 到 html 再到 body 就会停止。...输出结果 可是,当我们将子级的冒泡和捕获在js中位置调换后,输出的则是……子级先冒泡,再捕获!如下: ? 输出结果2 这是什么原因呢?? 下期——事件处理顺序,进一步揭晓。...点击下面链接 查看历史文章 git 基础操作 js处理微信分享配置 小程序生命周期

5.7K10

在 Tekton 中如何实现审批功能

使用 runAfter 可以实现对流程的编排。 2.2 conditions 这里首先创建一个 Condition 对象,检查代码仓库中是否存在指定文件。...PipelineRunPending 实现的效果是,创建 PipelineRun 但不立即运行 创建一条 PipelineRunPending 状态的流水线 1 2 3 4 5 6 7 8...如何实现审批功能 上面提到了 Tekton 中的几个流程控制方法,但是社区并没有提供、也不准备提供审批的功能。因此,在对 Tekton 进行二次开发时,需要 CICD 平台自行实现审批和权限的控制。...下面是两种实现方案,以供参考: 3.1 方案一,使用 Trigger 如上图,可以将用户的一条流水线拆解为两条流水线,pipeline-1/2 和 pipeline-2/2。...总结 在进行 Tekton 二次开发时,审批是很难绕开的功能,但社区并没有提供相关的特性。本文首先介绍了 Tekton 中流程控制方法,然后提供了两种实现审批功能的方案。

1.8K20

原生 JS 实现一个瀑布插件

那么接下来就基于这个特点开始瀑布探索之旅。...waterfall-box { float: left; width: 200px; padding-left: 10px; padding-bottom: 10px; } 至此完成了瀑布的基本布局...,效果图如下: scroll、resize 事件监听的实现 实现了初始化函数 init 以后,下一步就要实现对 scroll 滚动事件进行监听,从而实现当滚到父节点的底部有源源不断的图片被加载出来的效果...联想到业务场景中瀑布中下拉加载的图片一般都来自 Ajax 异步获取,那么加载的数据必然不能写死在库里,期望能实现如下调用(此处借鉴了 waterfall 的使用方式), const waterfall...,关于发布/订阅模式,之前在 Node.js 异步异闻录 有介绍它。

2.3K40

想做流程审批的开发?带你玩转Activity工作(一)

现在的很多传统企业转型互联网,最多的“转型”工作之一,就是公司的流程审批模块,如何进行线上运行,实现降本增效。...最常见的场景,比如请假审批、报表审批、财务审批、人员招聘等等。 以招聘为例: ? 传统的实现,可能会考虑使用一种行为设计模式:责任链模式。这种方式针对于不同的业务,相对于开发效率而言,较为繁琐费时。...关于审批流程这样的应用场景开发,Activity工作引擎可作为一种不错的选择。 0 2 理解、使用 什么是工作引擎?...工作引擎最常见用于审批流程中,现在一线互联网公司也开始使用,并有快速推广的趋势,复杂繁多的业务流程如果采用if else实现那将是崩溃的,代码不可维护,业务流程在代码中可读性很差,所以高人设计了业务流程模型图示...BPMN2.0,我们要做到就是把业务场景抽象为标准流程图,把流程图丢到流程引擎中按流程定义约定逐步流转,很显然扩展性和业务可描述性会好很多,所以工作引擎主要用于解决复杂的业务,目前经常被提起的中台系统抽象业务为服务

3.5K20

js事件机制

什么是事件 在JavaScript中事件是指一个事件沿特定数据结构传播的一个过程。整个事件总共包含三个阶段(从dome2来说):1.事件捕获阶段、2.处于事件目标阶段、3.事件冒泡阶段。...下面我们来看一个图,只要是谈到事件都会看到的一个图: ?...从这个图里面我们可以清晰的看到整个事件的执行过程,首先是从window开始,一步步的从上向下执行,此过程就是事件捕获阶段,当到达了事件的位置以后则处于事件目标阶段,之后会在向上冒泡,进入事件的冒泡阶段...触碰完成以后再把手拿出来,正好是一个相反的过程,这就与我们的事件机制是一个道理。 事件绑定 下面来看一下下面这个示例代码: <!

1.5K20

DevOps | 产研协同效能提升之评审、审批、质量卡点

研发过程中有各种需求的评审、审批和质量卡点,有的是为了质量把关,有的是为了彰显权力,还有一些是为了信息告知。...本文主要讨论在软件开发过程中涉及的评审、审批和质量卡点三种情况,同时探讨对研发流程的影响,在这过程中如何去提效。...而资源的占用和安全评估,对于产品和公司来说又是一个非常重要,不能忽视的问题,所以会形成审批。通常情况下不同团队间还主要是「评审」,而不是「审批」。这样做也助于团队协作,高效产出。...上下级之间的审批对于公司人力、行政、财务、法务、采购过程中流程,经常有上下级间的审批,但是对于产品-研发-测试-运营活动过程中,强制加入上下级的审批,如果上级领导的审批不能给这个流程增加价值,只是为了彰显手中的权力...对于各种各样的审批,除了合规、设计、安全等因素外尽量缩短,没有带来任何价值的审批节点能省则省,这样才能切实的提效。

26810

DevOps建设之基于钉钉OA审批的自动化上线

由于对协作软件钉钉的“重度依赖”,加上内部运维相关平台中还没有成熟的审核上线机制,因此作为一个DevOps er,将钉钉OA审批与DevOps工作中的生产上线流程进行结合是我很想做的。...简单来说,钉钉OA给我们开放了一个系统集成(也叫做连接器)的功能,这个功能能够实现钉钉OA审批单与钉钉外部系统的对接,从而实现不同系统间的数据整合,进一步提高办公效率。...2、总体实现思路 借助钉钉OA自定义审批,让提交人例如测试人员发起上线审批,将相关上线信息填写在审批单中,然后提交到审批人,例如部门领导、项目经理等人员进行审批审批通过后由程序自动执行上线发版操作。...有了权限之后,申请OA高级版的试用,试用开通后,就能进入到钉钉OA后台创建连接器了 系统集成分为连接器和集成两种,两者相比后者能定制一些更为复杂的逻辑。...审批和Jenkins服务器之间的桥梁,本文记录的实践是以Django REST framework为基础技术框架实现的,基于我的应用场景,目前此接口包含的主要核心功能如下: 主要获取Jenkins的Job

2.1K21

Node.js 编程

Node.js 平台里面每一种对象,在类型上都属于下面这四个基本抽象类中的一个,这些类是由 stream 核心模块提供的:ReadableWritableDuplexTransform每个 stream...非流动模式下面代码实现了一款简单的程序,把标准输入端(这也是一种 Readable )的内容读取进来,并将读到的东西回显到标准输出端。...Readable 自己定制新的 Readable ,首先必须从 stream 模块里面继承 Readable 原型,然后还必须在自己的这个具体类之中,给 \_read([size]) 方法提供实现代码...实现 Writable 实现一种新的 Writable ,我们可以继承 Writable 类,并实现 \_write() 方法。...这个问题仅仅需要由实现 Readable 的人来担心,而不太需要由使用这种的人负责处理。

13510

Node.js 源码解读之可读

的历史演变 不是 Node.js 特有的概念。它们是几十年前在 Unix 操作系统中引入的,程序可以通过管道运算符(|)对流进行相互交互。...这样做会有两个缺点: 内存方面:占用大量内存 时间方面:需要等待数据的整个有效负载都加载完才会开始处理数据 为了解决上述问题,Node.js 效仿并实现的概念,在 Node.js 中,一共有四种类型的...,它们都是 Node.js 中 EventEmitter 的实例: 可读(Readable Stream) 可写(Writable Stream) 可读可写全双工(Duplex Stream) 转换流...那么 Node.js 是怎样实现基于 EventEmitter 创建实例的呢?...总结 Node.js 为了解决内存问题和时间问题,实现了自己的,从而可以将数据一小块一小块的读到内存里给消费者消费 并不是 Node.js 特有的概念,它们是几十年前在 Unix 操作系统中引入的

2.1K10

分享:纯 css 瀑布js 瀑布

博客地址:https://ainyi.com/60 分享一次纯 css 瀑布  和 js 瀑布 纯 css 写瀑布 1.multi-columns 方式: 通过 Multi-columns 相关的属性...这样做只能通过 js 来写瀑布 js 写瀑布: html 结构与上面类似,这里我用图片来做示例: 1 2 <...瀑布实现方式: css 的绝对定位方式:根据每张图片的位置设置 top 和 left 值: 1 //瀑布效果 2 //这里有一个坑(已经修复): 3 //因为是动态加载远程图片,在未加载完全无法获取图片宽高...73 waterFall(); 74 }; 75 76 77 78 //初始化 79 window.onload = function(){ 80 81 //实现瀑布...这实现了横向排列的瀑布效果 欢迎浏览 GitHub:https://github.com/Krryxa 博客地址:https://ainyi.com/60

8.7K40

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券