clay : 触发器的http请求有没有已经实现 #50

Merged
clay merged 4 commits from master into pro 2023-03-25 15:17:39 +00:00
2 changed files with 93 additions and 92 deletions
Showing only changes of commit 528b63a0d2 - Show all commits

View File

@ -1,114 +1,114 @@
//审批节点默认属性 //审批节点默认属性
export const APPROVAL_PROPS = { export const APPROVAL_PROPS = {
assignedType: "ASSIGN_USER", assignedType: "ASSIGN_USER", //审批类型
mode: "AND", mode: "AND", //会签模式
sign: false, sign: false, //是否签字
headerBgc: '#ff943e', headerBgc: '#ff943e', //节点背景颜色
nobody: { nobody: { //没有审批的的时候需要的操作
handler: "TO_PASS", handler: "TO_PASS", //操作
assignedUser:[] assignedUser: [] //审批人列表
},
timeLimit:{
timeout:{
unit: "H",
value: 0
}, },
handler:{ timeLimit: { //边界事件
type: "REFUSE", timeout: { //超时提醒时间
notify:{ unit: "H",
once: true, value: 0
hour: 1 },
} handler: { //超时提醒触发时候的操作
} type: "REFUSE", //操作
}, notify: {
assignedUser:[], once: true, //是否循环
formPerms:[], hour: 1
selfSelect: { }
multiple: false }
}, },
leaderTop: { assignedUser: [], // 审批人列表
endCondition: "TOP", formPerms: [], //表单权限
endLevel: 1, selfSelect: { //用户自选
}, multiple: false //用户自选时是否是多选
leader:{ },
level: 1 leaderTop: { //领导
}, endCondition: "TOP",
roleList:[], endLevel: 1,
refuse: { },
type: 'TO_END', //驳回规则 TO_END TO_NODE TO_BEFORE leader: { //第几级领导
target: '' //驳回到指定ID的节点 level: 1
}, },
formUser: '' roleList: [], //角色列表
refuse: { //拒绝的操作
type: 'TO_END', //驳回规则 TO_END TO_NODE TO_BEFORE
target: '' //驳回到指定ID的节点
},
formUser: '' //表单用户
} }
//根节点默认属性 //根节点默认属性
export const ROOT_PROPS = { export const ROOT_PROPS = {
assignedUser: [], assignedUser: [], //审批人
formPerms:[] formPerms: [] //表单权限
} }
//条件节点默认属性 //条件节点默认属性
export const CONDITION_PROPS = { export const CONDITION_PROPS = {
groupsType:"OR", //条件组逻辑关系 OR、AND groupsType: "OR", //条件组逻辑关系 OR、AND
groups:[ groups: [
{ {
groupType:"AND", //条件组内条件关系 OR、AND groupType: "AND", //条件组内条件关系 OR、AND
cids:[], //条件ID集合 cids: [], //条件ID集合
conditions:[] //组内子条件 conditions: [] //组内子条件
} }
], ],
expression: "" //自定义表达式,灵活构建逻辑关系 expression: "" //自定义表达式,灵活构建逻辑关系
} }
//抄送节点默认属性 //抄送节点默认属性
export const CC_PROPS = { export const CC_PROPS = {
shouldAdd: false, shouldAdd: false,
assignedUser: [], assignedUser: [],
formPerms:[] formPerms: []
} }
//触发器节点默认属性 //触发器节点默认属性
export const TRIGGER_PROPS = { export const TRIGGER_PROPS = {
type: 'WEBHOOK', type: 'WEBHOOK',
http:{ http: {
method: 'GET', //请求方法 支持GET/POST method: 'GET', //请求方法 支持GET/POST
url: '', //URL地址可以直接带参数 url: '', //URL地址可以直接带参数
headers: [ //http header headers: [ //http header
{ {
name: '', name: '',
isField: true, isField: true,
value: '' //支持表达式 ${xxx} xxx为表单字段名称 value: '' //支持表达式 ${xxx} xxx为表单字段id
} }
], ],
contentType: 'FORM', //请求参数类型 contentType: 'FORM', //请求参数类型
params:[ //请求参数 params: [ //请求参数
{ {
name: '', name: '',
isField: true, //是表单字段还是自定义 isField: true, //是表单字段还是自定义
value: '' //支持表达式 ${xxx} xxx为表单字段名称 value: '' //支持表达式 ${xxx} xxx为表单字段id
} }
], ],
retry: 1, retry: 1,
handlerByScript: false, handlerByScript: false,
success: 'function handlerSuccess(res) {\n return true;\n}', success: 'function handlerSuccess(res) {\n return true;\n}',
fail: 'function handlerFail(res) {\n return true;\n}' fail: 'function handlerFail(res) {\n return true;\n}'
}, },
email:{ email: {
subject: '', subject: '',
to: [], to: [],
cc: [], cc: [],
content: '' content: ''
} }
} }
//延时节点默认属性 //延时节点默认属性
export const DELAY_PROPS = { export const DELAY_PROPS = {
type: "FIXED", //延时类型 FIXED:到达当前节点后延时固定时长 、AUTO:延时到 dateTime设置的时间 type: "FIXED", //延时类型 FIXED:到达当前节点后延时固定时长 、AUTO:延时到 dateTime设置的时间
time: 0, //延时时间 time: 0, //延时时间
unit: "M", //时间单位 D天 H小时 M分钟 unit: "M", //时间单位 D天 H小时 M分钟
dateTime: "" //如果当天没有超过设置的此时间点,就延时到这个指定的时间,到了就直接跳过不延时 dateTime: "" //如果当天没有超过设置的此时间点,就延时到这个指定的时间,到了就直接跳过不延时
} }
export default { export default {
APPROVAL_PROPS, CC_PROPS, DELAY_PROPS, CONDITION_PROPS, ROOT_PROPS, TRIGGER_PROPS APPROVAL_PROPS, CC_PROPS, DELAY_PROPS, CONDITION_PROPS, ROOT_PROPS, TRIGGER_PROPS
} }

View File

@ -118,15 +118,16 @@
</el-form-item> </el-form-item>
<el-form-item label="🙅‍ 如果审批被驳回 👇"> <el-form-item label="🙅‍ 如果审批被驳回 👇">
<el-radio-group v-model="nodeProps.refuse.type"> <el-radio-group v-model="nodeProps.refuse.type">
<el-radio label="TO_INITIAL">直接结束流程</el-radio> <el-radio label="TO_INITIAL">重新开始流程</el-radio>
<el-radio label="TO_BEFORE">驳回到上级审批节点</el-radio> <el-radio label="TO_BEFORE">驳回到上级审批节点</el-radio>
<!-- <el-radio label="TO_NODE">驳回到指定节点</el-radio>--> <el-radio label="TO_NODE">驳回到指定节点</el-radio>
</el-radio-group> </el-radio-group>
<div v-if="nodeProps.refuse.type === 'TO_NODE'"> <div v-if="nodeProps.refuse.type === 'TO_NODE'">
<span>指定节点:</span> <span>指定节点:</span>
<el-select style="margin-left: 10px; width: 150px;" placeholder="选择跳转步骤" size="small" <el-select style="margin-left: 10px; width: 150px;" placeholder="选择跳转步骤" size="small"
v-model="nodeProps.refuse.target"> v-model="nodeProps.refuse.target">
<el-option v-for="(node, i) in nodeOptions" :key="i" :label="node.name" :value="node.id"></el-option> <el-option v-for="(node, index) in nodeOptions" :key="index" :label="node.name"
:value="node.id"></el-option>
</el-select> </el-select>
</div> </div>
@ -184,7 +185,7 @@ export default {
this.config.assignedUser = val this.config.assignedUser = val
} }
}, },
roleList:{ roleList: {
get() { get() {
return this.config.roleList || []; return this.config.roleList || [];
}, },
@ -199,7 +200,7 @@ export default {
}, },
nodeOptions() { nodeOptions() {
let values = []; let values = [];
const excType = ["ROOT", "EMPTY", "CONDITION", "CONDITIONS", "CONCURRENT", "CONCURRENTS"]; const excType = ["ROOT", "EMPTY", "CONDITION", "CONDITIONS", "CONCURRENT", "CONCURRENTS", "CC", "END", "TRIGGER"];
this.$store.state.nodeMap.forEach((v) => { this.$store.state.nodeMap.forEach((v) => {
if (excType.indexOf(v.type) === -1) { if (excType.indexOf(v.type) === -1) {
values.push({id: v.id, name: v.name}); values.push({id: v.id, name: v.name});