feat: 审批意见

pull/665/head
Lesan 2025-01-19 10:15:43 +08:00
parent fea238ef15
commit 506d87ec71
4 changed files with 23 additions and 5 deletions

View File

@ -120,6 +120,8 @@ export interface SimpleFlowNode {
defaultFlowId?: string
// 签名
signEnable?: boolean
// 审批意见
reasonRequire?: boolean
}
// 候选人策略枚举 用于审批节点。抄送节点 )
export enum CandidateStrategy {

View File

@ -149,6 +149,7 @@ export type UserTaskFormType = {
taskCompleteListenerHeader?: ListenerParam[]
taskCompleteListenerBody?: ListenerParam[]
signEnable: boolean
reasonRequire: boolean
}
export type CopyTaskFormType = {

View File

@ -361,6 +361,11 @@
<el-form-item prop="signEnable">
<el-switch v-model="configForm.signEnable" active-text="" inactive-text="" />
</el-form-item>
<el-divider content-position="left">审批意见</el-divider>
<el-form-item prop="reasonRequire">
<el-switch v-model="configForm.reasonRequire" active-text="" inactive-text="" />
</el-form-item>
</el-form>
</div>
</el-tab-pane>
@ -698,6 +703,8 @@ const saveConfig = async () => {
}
//
currentNode.value.signEnable = configForm.value.signEnable
//
currentNode.value.reasonRequire = configForm.value.reasonRequire
currentNode.value.showText = showText
settingVisible.value = false
@ -767,6 +774,8 @@ const showUserTaskNodeConfig = (node: SimpleFlowNode) => {
configForm.value.taskCompleteListenerBody = node.taskCompleteListener?.body ?? []
// 6.
configForm.value.signEnable = node?.signEnable ?? false
// 7.
configForm.value.reasonRequire = node?.reasonRequire ?? false
}
defineExpose({ openDrawer, showUserTaskNodeConfig }) //

View File

@ -548,6 +548,7 @@ const approveForm = ref<any>({}) // 审批通过时,额外的补充信息
const approveFormFApi = ref<any>({}) // approveForms fAPi
//
const reasonRequire = ref()
const approveFormRef = ref<FormInstance>()
const signRef = ref()
const approveSignFormRef = ref()
@ -555,17 +556,21 @@ const approveReasonForm = reactive({
reason: '',
signPicUrl: ''
})
const approveReasonRule = reactive<FormRules<typeof approveReasonForm>>({
reason: [{ required: true, message: '审批意见不能为空', trigger: 'blur' }],
signPicUrl: [{ required: true, message: '签名不能为空', trigger: 'change' }]
const approveReasonRule = computed(() => {
return {
reason: [{ required: reasonRequire.value, message: '审批意见不能为空', trigger: 'blur' }],
signPicUrl: [{ required: true, message: '签名不能为空', trigger: 'change' }]
}
})
//
const rejectFormRef = ref<FormInstance>()
const rejectReasonForm = reactive({
reason: ''
})
const rejectReasonRule = reactive<FormRules<typeof rejectReasonForm>>({
reason: [{ required: true, message: '审批意见不能为空', trigger: 'blur' }]
const rejectReasonRule = computed(() => {
return {
reason: [{ required: reasonRequire.value, message: '审批意见不能为空', trigger: 'blur' }]
}
})
//
@ -966,6 +971,7 @@ const loadTodoTask = (task: any) => {
approveForm.value = {}
approveFormFApi.value = {}
runningTask.value = task
reasonRequire.value = task?.reasonRequire ?? false
// approve .
if (task && task.formId && task.formConf) {
const tempApproveForm = {}