This commit is contained in:
YunaiV 2025-03-16 17:26:22 +08:00
commit 78e29940be
3 changed files with 41 additions and 32 deletions

View File

@ -12,7 +12,10 @@
</el-radio> </el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<el-form-item v-if="condition.conditionType === ConditionType.RULE && condition.conditionGroups" label="条件规则"> <el-form-item
v-if="condition.conditionType === ConditionType.RULE && condition.conditionGroups"
label="条件规则"
>
<div class="condition-group-tool"> <div class="condition-group-tool">
<div class="flex items-center"> <div class="flex items-center">
<div class="mr-4">条件组关系</div> <div class="mr-4">条件组关系</div>
@ -67,14 +70,23 @@
trigger: 'change' trigger: 'change'
}" }"
> >
<el-select style="width: 160px" v-model="rule.leftSide"> <el-select style="width: 160px" v-model="rule.leftSide" clearable>
<el-option <el-option
v-for="(field, fIdx) in fieldOptions" v-for="(field, fIdx) in fieldOptions"
:key="fIdx" :key="fIdx"
:label="field.title" :label="field.title"
:value="field.field" :value="field.field"
:disabled="!field.required" :disabled="!field.required"
/> >
<el-tooltip
content="表单字段非必填时不能作为流程分支条件"
effect="dark"
placement="right-start"
v-if="!field.required"
>
<span>{{ field.title }}</span>
</el-tooltip>
</el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</div> </div>

View File

@ -147,16 +147,16 @@
<div class="flex flex-col w-100%"> <div class="flex flex-col w-100%">
<div class="flex"> <div class="flex">
<el-switch <el-switch
v-model="preProcessNotifyEnable" v-model="processBeforeTriggerEnable"
@change="handlePreProcessNotifyEnableChange" @change="handlePreProcessNotifyEnableChange"
/> />
<div class="ml-80px">流程启动后通知</div> <div class="ml-80px">流程启动后通知</div>
</div> </div>
<HttpRequestSetting <HttpRequestSetting
v-if="preProcessNotifyEnable" v-if="processBeforeTriggerEnable"
v-model:setting="modelData.preProcessNotifySetting" v-model:setting="modelData.processBeforeTriggerSetting"
:responseEnable="true" :responseEnable="true"
:formItemPrefix="'preProcessNotifySetting'" :formItemPrefix="'processBeforeTriggerSetting'"
/> />
</div> </div>
</el-form-item> </el-form-item>
@ -167,16 +167,16 @@
<div class="flex flex-col w-100%"> <div class="flex flex-col w-100%">
<div class="flex"> <div class="flex">
<el-switch <el-switch
v-model="postProcessNotifyEnable" v-model="processAfterTriggerEnable"
@change="handlePostProcessNotifyEnableChange" @change="handlePostProcessNotifyEnableChange"
/> />
<div class="ml-80px">流程启动后通知</div> <div class="ml-80px">流程启动后通知</div>
</div> </div>
<HttpRequestSetting <HttpRequestSetting
v-if="postProcessNotifyEnable" v-if="processAfterTriggerEnable"
v-model:setting="modelData.postProcessNotifySetting" v-model:setting="modelData.processAfterTriggerSetting"
:responseEnable="true" :responseEnable="true"
:formItemPrefix="'postProcessNotifySetting'" :formItemPrefix="'processAfterTriggerSetting'"
/> />
</div> </div>
</el-form-item> </el-form-item>
@ -247,32 +247,32 @@ const numberExample = computed(() => {
}) })
/** 是否开启流程前置通知 */ /** 是否开启流程前置通知 */
const preProcessNotifyEnable = ref(false) const processBeforeTriggerEnable = ref(false)
const handlePreProcessNotifyEnableChange = (val: boolean | string | number) => { const handlePreProcessNotifyEnableChange = (val: boolean | string | number) => {
if (val) { if (val) {
modelData.value.preProcessNotifySetting = { modelData.value.processBeforeTriggerSetting = {
url: '', url: '',
header: [], header: [],
body: [], body: [],
response: [] response: []
} }
} else { } else {
modelData.value.preProcessNotifySetting = null modelData.value.processBeforeTriggerSetting = null
} }
} }
/** 是否开启流程后置通知 */ /** 是否开启流程后置通知 */
const postProcessNotifyEnable = ref(false) const processAfterTriggerEnable = ref(false)
const handlePostProcessNotifyEnableChange = (val: boolean | string | number) => { const handlePostProcessNotifyEnableChange = (val: boolean | string | number) => {
if (val) { if (val) {
modelData.value.postProcessNotifySetting = { modelData.value.processAfterTriggerSetting = {
url: '', url: '',
header: [], header: [],
body: [], body: [],
response: [] response: []
} }
} else { } else {
modelData.value.postProcessNotifySetting = null modelData.value.processAfterTriggerSetting = null
} }
} }
@ -335,11 +335,11 @@ const initData = () => {
summary: [] summary: []
} }
} }
if (modelData.value.preProcessNotifySetting) { if (modelData.value.processBeforeTriggerSetting) {
preProcessNotifyEnable.value = true processBeforeTriggerEnable.value = true
} }
if (modelData.value.postProcessNotifySetting) { if (modelData.value.processAfterTriggerSetting) {
postProcessNotifyEnable.value = true processAfterTriggerEnable.value = true
} }
} }
defineExpose({ initData }) defineExpose({ initData })

View File

@ -749,19 +749,16 @@ const selectNextAssigneesConfirm = (id: string, userList: any[]) => {
} }
/** 审批通过时,校验每个自选审批人的节点是否都已配置了审批人 */ /** 审批通过时,校验每个自选审批人的节点是否都已配置了审批人 */
const validateNextAssignees = () => { const validateNextAssignees = () => {
// TODO @ Object.keys(nextAssigneesActivityNode.value).length === 0) return true if (Object.keys(nextAssigneesActivityNode.value).length === 0) {
// return true
if (Object.keys(nextAssigneesActivityNode.value).length > 0) { }
// //
for (const item of nextAssigneesActivityNode.value) { for (const item of nextAssigneesActivityNode.value) {
if (isEmpty(approveReasonForm.nextAssignees[item.id])) { if (isEmpty(approveReasonForm.nextAssignees[item.id])) {
// TODO @
message.warning('下一个节点的审批人不能为空!') message.warning('下一个节点的审批人不能为空!')
return false return false
} }
} }
}
return true
} }
/** 处理审批通过和不通过的操作 */ /** 处理审批通过和不通过的操作 */