@@ -107,6 +132,7 @@
import { SimpleFlowNode, NodeType, FieldPermissionType, START_USER_BUTTON_SETTING } from '../consts'
import { useWatchNode, useDrawer, useNodeName, useFormFieldsPermission } from '../node'
import * as UserApi from '@/api/system/user'
+import * as DeptApi from '@/api/system/dept'
defineOptions({
name: 'StartUserNodeConfig'
})
@@ -118,8 +144,12 @@ const props = defineProps({
})
// 可发起流程的用户编号
const startUserIds = inject
[>('startUserIds')
+// 可发起流程的部门编号
+const startDeptIds = inject][>('startDeptIds')
// 用户列表
const userOptions = inject][>('userList')
+// 部门列表
+const deptOptions = inject][>('deptList')
// 抽屉配置
const { settingVisible, closeDrawer, openDrawer } = useDrawer()
// 当前节点
@@ -145,6 +175,19 @@ const getUserNicknames = (userIds: number[]): string => {
})
return nicknames.join(',')
}
+const getDeptNames = (deptIds: number[]): string => {
+ if (!deptIds || deptIds.length === 0) {
+ return ''
+ }
+ const deptNames: string[] = []
+ deptIds.forEach((deptId) => {
+ const found = deptOptions?.value.find((item) => item.id === deptId)
+ if (found && found.name) {
+ deptNames.push(found.name)
+ }
+ })
+ return deptNames.join(',')
+}
// 保存配置
const saveConfig = async () => {
activeTabName.value = 'user'
diff --git a/src/components/SimpleProcessDesignerV2/src/nodes-config/TriggerNodeConfig.vue b/src/components/SimpleProcessDesignerV2/src/nodes-config/TriggerNodeConfig.vue
index 19e59438..2baac8d2 100644
--- a/src/components/SimpleProcessDesignerV2/src/nodes-config/TriggerNodeConfig.vue
+++ b/src/components/SimpleProcessDesignerV2/src/nodes-config/TriggerNodeConfig.vue
@@ -254,6 +254,7 @@ import {
import { useWatchNode, useDrawer, useNodeName, useFormFields, getConditionShowText } from '../node'
import HttpRequestSetting from './components/HttpRequestSetting.vue'
import ConditionDialog from './components/ConditionDialog.vue'
+import { cloneDeep } from 'lodash-es'
const { proxy } = getCurrentInstance() as any
defineOptions({
@@ -290,7 +291,7 @@ const configForm = ref({
},
formSettings: [
{
- conditionGroups: DEFAULT_CONDITION_GROUP_VALUE,
+ conditionGroups: cloneDeep(DEFAULT_CONDITION_GROUP_VALUE),
updateFormFields: {},
deleteFields: []
}
@@ -346,7 +347,7 @@ const changeTriggerType = () => {
? originalSetting.formSettings
: [
{
- conditionGroups: DEFAULT_CONDITION_GROUP_VALUE,
+ conditionGroups: cloneDeep(DEFAULT_CONDITION_GROUP_VALUE),
updateFormFields: {},
deleteFields: []
}
@@ -361,7 +362,7 @@ const changeTriggerType = () => {
? originalSetting.formSettings
: [
{
- conditionGroups: DEFAULT_CONDITION_GROUP_VALUE,
+ conditionGroups: cloneDeep(DEFAULT_CONDITION_GROUP_VALUE),
updateFormFields: undefined,
deleteFields: []
}
@@ -374,7 +375,7 @@ const changeTriggerType = () => {
/** 添加新的修改表单设置 */
const addFormSetting = () => {
configForm.value.formSettings!.push({
- conditionGroups: DEFAULT_CONDITION_GROUP_VALUE,
+ conditionGroups: cloneDeep(DEFAULT_CONDITION_GROUP_VALUE),
updateFormFields: {},
deleteFields: []
})
@@ -509,7 +510,7 @@ const showTriggerNodeConfig = (node: SimpleFlowNode) => {
},
formSettings: node.triggerSetting.formSettings || [
{
- conditionGroups: DEFAULT_CONDITION_GROUP_VALUE,
+ conditionGroups: cloneDeep(DEFAULT_CONDITION_GROUP_VALUE),
updateFormFields: {},
deleteFields: []
}
diff --git a/src/components/SimpleProcessDesignerV2/src/nodes-config/components/Condition.vue b/src/components/SimpleProcessDesignerV2/src/nodes-config/components/Condition.vue
index 36690848..7ef092d9 100644
--- a/src/components/SimpleProcessDesignerV2/src/nodes-config/components/Condition.vue
+++ b/src/components/SimpleProcessDesignerV2/src/nodes-config/components/Condition.vue
@@ -154,6 +154,7 @@ import {
} from '../../consts'
import { BpmModelFormType } from '@/utils/constants'
import { useFormFieldsAndStartUser } from '../../node'
+import { cloneDeep } from 'lodash-es'
const props = defineProps({
modelValue: {
@@ -196,7 +197,7 @@ const formRef = ref() // 表单 Ref
const changeConditionType = () => {
if (condition.value.conditionType === ConditionType.RULE) {
if (!condition.value.conditionGroups) {
- condition.value.conditionGroups = DEFAULT_CONDITION_GROUP_VALUE
+ condition.value.conditionGroups = cloneDeep(DEFAULT_CONDITION_GROUP_VALUE)
}
}
}
diff --git a/src/components/SimpleProcessDesignerV2/src/nodes-config/components/ConditionDialog.vue b/src/components/SimpleProcessDesignerV2/src/nodes-config/components/ConditionDialog.vue
index 9d6260d5..79816c68 100644
--- a/src/components/SimpleProcessDesignerV2/src/nodes-config/components/ConditionDialog.vue
+++ b/src/components/SimpleProcessDesignerV2/src/nodes-config/components/ConditionDialog.vue
@@ -1,5 +1,5 @@
-
+
]
+ {
customApproveUsers.value[activityId] = userList || []
emit('selectUserConfirm', activityId, userList)
}
+
+/** 跳转子流程 */
+const handleChildProcess = (activity: any) => {
+ // TODO @lesan:貌似跳不过去?!
+ push({
+ name: 'BpmProcessInstanceDetail',
+ query: {
+ id: activity.processInstanceId
+ }
+ })
+}
diff --git a/src/views/bpm/simple/SimpleModelDesign.vue b/src/views/bpm/simple/SimpleModelDesign.vue
index 09e5a688..1dc5210a 100644
--- a/src/views/bpm/simple/SimpleModelDesign.vue
+++ b/src/views/bpm/simple/SimpleModelDesign.vue
@@ -6,6 +6,7 @@
:model-name="modelName"
@success="handleSuccess"
:start-user-ids="startUserIds"
+ :start-dept-ids="startDeptIds"
ref="designerRef"
/>
@@ -22,6 +23,7 @@ defineProps<{
modelKey?: string
modelName?: string
startUserIds?: number[]
+ startDeptIds?: number[]
}>()
const emit = defineEmits(['success'])