钉钉审批流程加强插件

用于加强钉钉反人类的审批流程设置,提供流程后可自动生成审批规则

目前为 2018-07-24 提交的版本。查看 最新版本

作者
$(ghost)
评分
0 0 0
版本
0.1
创建于
2018-07-24
更新于
2018-07-24
大小
19.7 KB
许可证
暂无
适用于

用于加强钉钉后台设置审批流程,用于条件审批在多条件下比较复杂的问题。
1、插件运行后会禁用fetch,修改并监听XMLHttpRequest。并从钉钉ajax中提取出必要数据。
2、插件已经封装好了对钉钉几个常用接口的调用,仅需要调用这几个方法即可。
3、插件执行后产生的对象被放在window.sandbox中。
4、插件不含任何功能性代码,仅仅是对数据的获取,接口的封装。
5、插件仅用于帮助构建钉钉审批流程数据,降低后台维护复杂性,请勿用于其他用途。
6、本插件尚在开发,仅供学习交流,详细文档以后会列出。
运行流程:
插件运行在钉钉流程审批页面,运行后会在页面注入一个input,使用input选择一个本地js文件,文件内容将会被发送到sandbox对象中执行。sandbox中方法都为promise封装,sandbox对象内容如下:
sandbox={
//开始指定指定代码
exec:(code)=>{
eval(code);
},
//抓取到的原审理流程数据
dataBefore:null,
//抓取到的该审批使用的模板,内含各种控件信息
template:null,
//提供的方法(详细请看源码方法申明部分)
//获取公司架构中指定目录下成员列表,使用目录ID,获取根目录传-1或无需参数
readCompanyList:null,
//在公司架构中搜索指定成员
searchFromCompany:null,
//获取角色列表
readRoleList:null,
//保存该审批所需条件列表(目前未发现用途)
saveConditions:null,
//保存主要的条件部分
saveRule:null,
//保存审批去重设置
saveProcessSetting:null,
//保存审批提示规则
saveNotice:null,
//去重规则 processCode:xx,settings:[{"type":"proc_append_enable","value":"n"},{"type":"proc_duplicate_approval","value":"no"}]
duplicateList:[
{name:'不自动去重',value:'allow'},
{name:'同一个审批人在流程中出现多次时,仅保留第一个',value:'no_after'},
{name:'同一个审批人在流程中出现多次时,仅保留最后一个',value:'no'},
{name:'仅同一个审批人连续出现时,自动去重',value:'allow_interval'}
],
//通知规则 processCode:xx,noticePosition:'start'
noticeList:[
{name:'仅全部同意后通知',value:'finish'},
{name:'仅发起时通知',value:'start'},
{name:'发起时和全部同意后均通知',value:'start_finish'}
]
};

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址