clay : 细节修改

This commit is contained in:
clay 2023-03-25 16:46:47 +08:00
parent 055d757581
commit 528b63a0d2
2 changed files with 93 additions and 92 deletions

View File

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