| | |
| | | </el-tag> |
| | | </div> |
| | | </div> |
| | | <div class="header-actions" v-if="approverList.length > 0"> |
| | | <div class="header-actions"> |
| | | <el-button @click="handleReset" size="default"> |
| | | <el-icon><RefreshLeft /></el-icon> |
| | | 重置 |
| | |
| | | <!-- 底部提示 --> |
| | | <div class="bottom-tips"> |
| | | <el-icon><InfoFilled /></el-icon> |
| | | <span>提示:每个流程至少配置一个审批人,审批按顺序流转,可通过箭头调整顺序</span> |
| | | <span>提示:可不配置审批人;若配置多人,审批将按顺序流转,可通过箭头调整顺序</span> |
| | | </div> |
| | | </div> |
| | | </template> |
| | |
| | | |
| | | // 保存配置 |
| | | const handleSave = async () => { |
| | | if (approverList.value.length === 0) { |
| | | ElMessage.warning('请至少配置一个审批人'); |
| | | return; |
| | | } |
| | | |
| | | const hasEmptyApprover = approverList.value.some((item) => !item.approverId); |
| | | const configuredApprovers = approverList.value.filter((item) => item.approverId); |
| | | const hasEmptyApprover = false; |
| | | if (hasEmptyApprover) { |
| | | ElMessage.warning('请选择所有审批人'); |
| | | return; |
| | | } |
| | | |
| | | const approverIds = approverList.value.map((item) => item.approverId); |
| | | const approverIds = configuredApprovers.map((item) => item.approverId); |
| | | const uniqueIds = [...new Set(approverIds)]; |
| | | if (uniqueIds.length !== approverIds.length) { |
| | | ElMessage.warning('审批人不能重复'); |
| | |
| | | |
| | | saveLoading.value = true; |
| | | try { |
| | | const payload = approverList.value.map((item, index) => ({ |
| | | const approveProcessConfigNodes = configuredApprovers.map((item, index) => ({ |
| | | approveType: currentApproveType.value, |
| | | nodeOrder: index + 1, |
| | | approverId: item.approverId, |
| | | approverName: item.approverName, |
| | | })); |
| | | const payload = { |
| | | approveType: currentApproveType.value, |
| | | approveProcessConfigNodes, |
| | | }; |
| | | await addApproveProcessConfigNode(payload); |
| | | ElMessage.success('保存成功'); |
| | | await loadData(); |
| | | } catch (error) { |
| | | ElMessage.error('保存失败'); |
| | | console.log('保存失败') |
| | | } finally { |
| | | saveLoading.value = false; |
| | | } |