feat: 工作流支持审批人撤回
parent
9bce2e48f5
commit
a164509565
|
|
@ -106,6 +106,11 @@ export const copyTask = async (data: any) => {
|
||||||
return await request.put({ url: '/bpm/task/copy', data })
|
return await request.put({ url: '/bpm/task/copy', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 撤回
|
||||||
|
export const withdrawTask = async (taskId: string) => {
|
||||||
|
return await request.put({ url: '/bpm/task/withdraw', params: { taskId } })
|
||||||
|
}
|
||||||
|
|
||||||
// 获取我的待办任务
|
// 获取我的待办任务
|
||||||
export const myTodoTask = async (processInstanceId: string) => {
|
export const myTodoTask = async (processInstanceId: string) => {
|
||||||
return await request.get({ url: '/bpm/task/my-todo?processInstanceId=' + processInstanceId })
|
return await request.get({ url: '/bpm/task/my-todo?processInstanceId=' + processInstanceId })
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,17 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item class="mb-20px">
|
||||||
|
<template #label>
|
||||||
|
<el-text size="large" tag="b">审批人权限</el-text>
|
||||||
|
</template>
|
||||||
|
<div class="flex flex-col">
|
||||||
|
<el-checkbox v-model="modelData.allowWithdrawTask" label="允许审批人撤回任务" />
|
||||||
|
<div class="ml-22px">
|
||||||
|
<el-text type="info"> 审批人可撤回正在审批节点的前一节点 </el-text>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</el-form-item>
|
||||||
<el-form-item v-if="modelData.processIdRule" class="mb-20px">
|
<el-form-item v-if="modelData.processIdRule" class="mb-20px">
|
||||||
<template #label>
|
<template #label>
|
||||||
<el-text size="large" tag="b">流程编码</el-text>
|
<el-text size="large" tag="b">流程编码</el-text>
|
||||||
|
|
@ -239,25 +250,24 @@ const props = defineProps({
|
||||||
modelFormId: {
|
modelFormId: {
|
||||||
type: Number,
|
type: Number,
|
||||||
required: false,
|
required: false,
|
||||||
default: undefined,
|
default: undefined
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
// 监听 modelFormId 变化
|
// 监听 modelFormId 变化
|
||||||
watch(
|
watch(
|
||||||
() => props.modelFormId,
|
() => props.modelFormId,
|
||||||
async (newVal) => {
|
async (newVal) => {
|
||||||
if (newVal) {
|
if (newVal) {
|
||||||
const form = await FormApi.getForm(newVal);
|
const form = await FormApi.getForm(newVal)
|
||||||
formFields.value = form?.fields;
|
formFields.value = form?.fields
|
||||||
} else {
|
} else {
|
||||||
// 如果 modelFormId 为空,清空表单字段
|
// 如果 modelFormId 为空,清空表单字段
|
||||||
formFields.value = [];
|
formFields.value = []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ immediate: true },
|
{ immediate: true }
|
||||||
);
|
)
|
||||||
// 暴露给子组件使用
|
// 暴露给子组件使用
|
||||||
provide('formFields', formFields)
|
provide('formFields', formFields)
|
||||||
|
|
||||||
|
|
@ -445,6 +455,9 @@ const initData = () => {
|
||||||
if (modelData.value.taskAfterTriggerSetting) {
|
if (modelData.value.taskAfterTriggerSetting) {
|
||||||
taskAfterTriggerEnable.value = true
|
taskAfterTriggerEnable.value = true
|
||||||
}
|
}
|
||||||
|
if (modelData.value.allowWithdrawTask) {
|
||||||
|
modelData.value.allowWithdrawTask = false
|
||||||
|
}
|
||||||
}
|
}
|
||||||
defineExpose({ initData })
|
defineExpose({ initData })
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -80,7 +80,8 @@
|
||||||
<ExtraSettings
|
<ExtraSettings
|
||||||
ref="extraSettingsRef"
|
ref="extraSettingsRef"
|
||||||
v-model="formData"
|
v-model="formData"
|
||||||
:model-form-id="formData.formId"/>
|
:model-form-id="formData.formId"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -176,7 +177,8 @@ const formData: any = ref({
|
||||||
summarySetting: {
|
summarySetting: {
|
||||||
enable: false,
|
enable: false,
|
||||||
summary: []
|
summary: []
|
||||||
}
|
},
|
||||||
|
allowWithdrawTask: false
|
||||||
})
|
})
|
||||||
|
|
||||||
// 流程数据
|
// 流程数据
|
||||||
|
|
|
||||||
|
|
@ -184,8 +184,9 @@
|
||||||
:show-overflow-tooltip="true"
|
:show-overflow-tooltip="true"
|
||||||
/>
|
/>
|
||||||
<el-table-column align="center" label="任务编号" prop="id" :show-overflow-tooltip="true" />
|
<el-table-column align="center" label="任务编号" prop="id" :show-overflow-tooltip="true" />
|
||||||
<el-table-column align="center" label="操作" fixed="right" width="80">
|
<el-table-column align="center" label="操作" fixed="right" width="130">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
|
<el-button link type="warning" @click="handleWithdraw(scope.row)">撤回</el-button>
|
||||||
<el-button link type="primary" @click="handleAudit(scope.row)">历史</el-button>
|
<el-button link type="primary" @click="handleAudit(scope.row)">历史</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
|
@ -209,6 +210,7 @@ import * as DefinitionApi from '@/api/bpm/definition'
|
||||||
defineOptions({ name: 'BpmDoneTask' })
|
defineOptions({ name: 'BpmDoneTask' })
|
||||||
|
|
||||||
const { push } = useRouter() // 路由
|
const { push } = useRouter() // 路由
|
||||||
|
const message = useMessage()
|
||||||
|
|
||||||
const loading = ref(true) // 列表的加载中
|
const loading = ref(true) // 列表的加载中
|
||||||
const total = ref(0) // 列表的总页数
|
const total = ref(0) // 列表的总页数
|
||||||
|
|
@ -262,6 +264,14 @@ const handleAudit = (row: any) => {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** 测回按钮 */
|
||||||
|
const handleWithdraw = (row: any) => {
|
||||||
|
TaskApi.withdrawTask(row.id).then(() => {
|
||||||
|
message.success('撤回成功')
|
||||||
|
getList()
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
/** 初始化 **/
|
/** 初始化 **/
|
||||||
onMounted(async () => {
|
onMounted(async () => {
|
||||||
await getList()
|
await getList()
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue