仿钉钉流程设计器- 简化审批拒绝逻辑

This commit is contained in:
jason 2024-06-18 00:06:52 +08:00
parent d5a7ae1865
commit 5ee0a7b946
6 changed files with 11 additions and 49 deletions

View File

@ -8,8 +8,8 @@ export const updateBpmSimpleModel = async (data) => {
}) })
} }
export const getBpmSimpleModel = async (modelId) => { export const getBpmSimpleModel = async (id) => {
return await request.get({ return await request.get({
url: '/bpm/model/simple/get?modelId=' + modelId url: '/bpm/model/simple/get?id=' + id
}) })
} }

View File

@ -82,7 +82,7 @@ const saveSimpleFlowModel = async () => {
return; return;
} }
const data = { const data = {
modelId: props.modelId, id: props.modelId,
simpleModel: processNodeTree.value simpleModel: processNodeTree.value
} }

View File

@ -70,15 +70,7 @@ export enum RejectHandlerType {
/** /**
* *
*/ */
RETURN_PRE_USER_TASK = 2, RETURN_USER_TASK = 2
/**
*
*/
FINISH_PROCESS_BY_REJECT_RATIO = 3,
/**
*
*/
FINISH_TASK = 4
} }
@ -233,8 +225,7 @@ export const TIMEOUT_HANDLER_ACTION_TYPES: DictDataVO [] = [
] ]
export const REJECT_HANDLER_TYPES: DictDataVO [] = [ export const REJECT_HANDLER_TYPES: DictDataVO [] = [
{ label: '终止流程', value: RejectHandlerType.FINISH_PROCESS }, { label: '终止流程', value: RejectHandlerType.FINISH_PROCESS },
{ label: '驳回到指定节点', value: RejectHandlerType.RETURN_PRE_USER_TASK }, { label: '驳回到指定节点', value: RejectHandlerType.RETURN_USER_TASK }
{ label: '按拒绝人数终止流程(用于会签)', value: RejectHandlerType.FINISH_PROCESS_BY_REJECT_RATIO }
// { label: '结束任务', value: RejectHandlerType.FINISH_TASK } // { label: '结束任务', value: RejectHandlerType.FINISH_TASK }
] ]

View File

@ -181,7 +181,6 @@
:key="item.value" :key="item.value"
:value="item.value" :value="item.value"
:label="item.label" :label="item.label"
:disabled="rejectHandlerOptionDisabled(item.value)"
/> />
</div> </div>
@ -191,7 +190,7 @@
<el-form-item <el-form-item
v-if=" v-if="
currentNode.attributes.rejectHandler.type == RejectHandlerType.RETURN_PRE_USER_TASK currentNode.attributes.rejectHandler.type == RejectHandlerType.RETURN_USER_TASK
" "
label="驳回节点" label="驳回节点"
prop="rejectHandlerNode" prop="rejectHandlerNode"
@ -540,35 +539,12 @@ const blurEvent = () => {
currentNode.value.name || (NODE_DEFAULT_NAME.get(NodeType.USER_TASK_NODE) as string) currentNode.value.name || (NODE_DEFAULT_NAME.get(NodeType.USER_TASK_NODE) as string)
} }
const approveMethodChanged = () => { const approveMethodChanged = () => {
currentNode.value.attributes.rejectHandler.type = RejectHandlerType.FINISH_PROCESS
const approveMethod = currentNode.value.attributes?.approveMethod const approveMethod = currentNode.value.attributes?.approveMethod
if ( approveMethod === ApproveMethodType.APPROVE_BY_RATIO) {
currentNode.value.attributes.rejectHandler.type =
RejectHandlerType.FINISH_PROCESS_BY_REJECT_RATIO
} else {
currentNode.value.attributes.rejectHandler.type = RejectHandlerType.FINISH_PROCESS
}
if (approveMethod === ApproveMethodType.APPROVE_BY_RATIO) { if (approveMethod === ApproveMethodType.APPROVE_BY_RATIO) {
currentNode.value.attributes.approveRatio = 100; currentNode.value.attributes.approveRatio = 100;
} }
} }
const rejectHandlerOptionDisabled = computed(() => {
return (val: number) => {
const approveMethod = currentNode.value.attributes?.approveMethod
if (
val === RejectHandlerType.FINISH_PROCESS_BY_REJECT_RATIO &&
approveMethod !== ApproveMethodType.APPROVE_BY_RATIO
) {
return true
}
if ( approveMethod === ApproveMethodType.APPROVE_BY_RATIO
&& val !== RejectHandlerType.FINISH_PROCESS_BY_REJECT_RATIO) {
return true
}
return false
}
})
// 6 // 6
const timeDuration = ref(6) const timeDuration = ref(6)
const timeUnit = ref(TimeUnitType.HOUR) const timeUnit = ref(TimeUnitType.HOUR)

View File

@ -56,5 +56,4 @@ onMounted( async () => {
}) })
</script> </script>
<style lang='scss' scoped> <style lang='scss' scoped>
</style> </style>

View File

@ -53,18 +53,14 @@ const test = async () => {
message.error('缺少模型 modelId 编号') message.error('缺少模型 modelId 编号')
return return
} }
const test = nodeConfig.value
console.log('test is ', test)
console.log('nodeConfig.value ', nodeConfig.value) console.log('nodeConfig.value ', nodeConfig.value)
const data1 = {
modelId: modelId,
simpleModelBody: toRaw(nodeConfig.value)
}
const data = { const data = {
modelId: modelId, id: modelId,
simpleModelBody: nodeConfig.value simpleModelBody: nodeConfig.value
} }
console.log('request json data1 is ', data1)
const result = await updateBpmSimpleModel(data) const result = await updateBpmSimpleModel(data)
console.log('save the result is ', result) console.log('save the result is ', result)
if (result) { if (result) {