Browse Source

Merge remote-tracking branch 'origin/master'

luoyali 6 months ago
parent
commit
c234f9d596

+ 9 - 1
src/components/scWorkflow/index.vue

@@ -27,7 +27,8 @@ export default {
 	provide() {
 		return {
 			select: this.selectHandle,
-			getRootConfig: this.getCurrentConfig
+			getRootConfig: this.getCurrentConfig,
+			getProcessForm: this.getProcessForm
 		}
 	},
 	props: {
@@ -35,6 +36,10 @@ export default {
 		disabled: {
 			type: Boolean,
 			default: false
+		},
+		processForm: {
+			type: Object,
+			default: () => ({})
 		}
 	},
 	data() {
@@ -64,6 +69,9 @@ export default {
 		getCurrentConfig() {
 			return this.nodeConfig
 		},
+		getProcessForm() {
+			return this.processForm || {}
+		},
 		update_activeSelected(newSelected) {
 			this.activeSelected.splice(0, this.activeSelected.length, ...newSelected)
 		},

+ 3 - 9
src/components/scWorkflow/nodes/approver.vue

@@ -223,7 +223,6 @@ import FormDetail from './formDetail'
 import addNode from './addNode'
 // import { Plus } from '@element-plus/icons-vue'
 import { mapState } from 'pinia' //引入映射函数
-import useFlowStore from '@/store/modules/flow'
 import {
 	approveTypeOptions,
 	approveType_1_options,
@@ -242,7 +241,7 @@ export default {
 		addNode,
 		FormDetail
 	},
-	inject: ['select'],
+	inject: ['select', 'getProcessForm'],
 	props: {
 		modelValue: { type: Object, default: () => {} },
 		disabled: {
@@ -270,12 +269,7 @@ export default {
 			rejectStart_options
 		}
 	},
-	computed: {
-		/*Plus() {
-			return Plus
-		},*/
-		...mapState(useFlowStore, ['processForm']) //映射函数,取出processForm
-	},
+	computed: {},
 	watch: {
 		modelValue() {
 			this.nodeConfig = this.modelValue
@@ -301,7 +295,7 @@ export default {
 		show() {
 			if (this.disabled) return
 			this.form = JSON.parse(JSON.stringify(this.nodeConfig))
-			const { formStructure } = JSON.parse(this.processForm)
+			const { formStructure } = this.getProcessForm()
 			const formConfig = this.form.extendConfig?.formConfig || []
 			const operateTable = (formStructure?.fields || []).map(item => {
 				let opera = '1'

+ 20 - 23
src/components/scWorkflow/nodes/branch.vue

@@ -161,9 +161,7 @@
 <script>
 import addNode from './addNode.vue'
 import { operatorType } from './config'
-import useFlowStore from '@/store/modules/flow'
 import { Delete, Plus, ArrowLeft, Close, ArrowRight, Edit } from '@element-plus/icons-vue'
-import { mapState } from 'pinia'
 import { getNodeKey } from '@/utils/workflow'
 import { ElMessage } from 'element-plus'
 import { $log } from '@/utils'
@@ -172,6 +170,7 @@ export default {
 	components: {
 		addNode
 	},
+	inject: ['getProcessForm'],
 	props: {
 		modelValue: { type: Object, default: () => {} },
 		disabled: {
@@ -191,29 +190,26 @@ export default {
 			local_formStructure: {}
 		}
 	},
-	computed: {
-		...mapState(useFlowStore, ['processForm']) //映射函数,取出processForm
-	},
 	watch: {
 		modelValue() {
 			this.nodeConfig = this.modelValue
-		},
-		processForm: {
-			handler(processForm) {
-				// console.error(processForm, 'processForm  change...', typeof processForm)
-				const { formStructure } = JSON.parse(processForm) // 表单设计字段
-				this.local_formStructure = formStructure
-				// 使用 filter 方法找到 required 属性为 true 的对象
-				this.expressionFormList = (formStructure?.fields || []).filter(item => item.options && item.options.required === true)
-				$log(this.expressionFormList, '这里打印出符合条件的表单对象')
-			},
-			immediate: true
+			this.getExpressionFormList()
 		}
 	},
 	mounted() {
 		this.nodeConfig = this.modelValue
+		this.getExpressionFormList()
 	},
 	methods: {
+		getExpressionFormList() {
+			// const { formStructure } = JSON.parse(processForm) // 表单设计字段
+			const { formStructure } = this.getProcessForm() // 表单设计字段
+			this.local_formStructure = formStructure
+			// 使用 filter 方法找到 required 属性为 true 的对象
+			this.expressionFormList = (formStructure?.fields || []).filter(item => item.options && item.options.required === true)
+			// console.error(formStructure, 'formStructure')
+			// $log(this.expressionFormList, '这里打印出符合条件的表单对象')
+		},
 		show(index) {
 			if (this.disabled) return
 			if (index === this.nodeConfig.conditionNodes.length - 1) {
@@ -221,13 +217,8 @@ export default {
 				return
 			}
 			this.index = index
-			this.form = {}
 			this.form = JSON.parse(JSON.stringify(this.nodeConfig.conditionNodes[index]))
-			// const { formStructure } = JSON.parse(this.processForm) // 表单设计字段
-			// // 使用 filter 方法找到 required 属性为 true 的对象
-			// const requiredList = (formStructure?.fields || []).filter(item => item.options && item.options.required === true)
-			// console.log(`%c 这里打印出符合条件的表单对象-=== ${JSON.stringify(requiredList)}`, 'background: orange; color: #fff')
-			// this.expressionFormList = requiredList || []
+			this.getExpressionFormList()
 			this.drawer = true
 		},
 		editTitle() {
@@ -298,7 +289,12 @@ export default {
 			conditionList.splice(index, 1)
 		},
 		addConditionGroup() {
-			this.addConditionList(this.form.conditionList[this.form.conditionList.push([]) - 1], 'custom')
+			let conditionList = this.form.conditionList
+			if (!conditionList) {
+				this.form.conditionList = []
+				conditionList = this.form.conditionList
+			}
+			this.addConditionList(conditionList[conditionList.push([]) - 1], 'custom')
 		},
 		deleteConditionGroup(index) {
 			this.form.conditionList.splice(index, 1)
@@ -336,6 +332,7 @@ export default {
 			const currentCondition = this.form.conditionList[conditionIdx]
 			const field = currentCondition[idx].field
 			const labelObj = this.expressionFormList.find(i => i.key === field)
+			// console.error(labelObj, 'labelObj  getCurrentItemLabel')
 			currentCondition[idx].showLabel = labelObj.label
 			currentCondition[idx].label = field
 		},

+ 0 - 1
src/components/scWorkflow/nodes/delayProcess.vue

@@ -148,7 +148,6 @@ export default {
 	methods: {
 		show() {
 			if (this.disabled) return
-			this.form = {}
 			this.form = JSON.parse(JSON.stringify(this.nodeConfig))
 			this.drawer = true
 		},

+ 19 - 17
src/components/scWorkflow/nodes/mergeBranch.vue

@@ -168,7 +168,6 @@
 <script>
 import addNode from './addNode.vue'
 import { operatorType } from './config'
-import useFlowStore from '@/store/modules/flow'
 import { Delete, Plus, ArrowLeft, Close, ArrowRight, Edit } from '@element-plus/icons-vue'
 import { mapState } from 'pinia'
 import { getNodeKey } from '@/utils/workflow'
@@ -179,6 +178,7 @@ export default {
 	components: {
 		addNode
 	},
+	inject: ['getProcessForm'],
 	props: {
 		modelValue: { type: Object, default: () => {} },
 		disabled: {
@@ -198,29 +198,26 @@ export default {
 			local_formStructure: {}
 		}
 	},
-	computed: {
-		...mapState(useFlowStore, ['processForm']) //映射函数,取出processForm
-	},
 	watch: {
 		modelValue() {
 			this.nodeConfig = this.modelValue
-		},
-		processForm: {
-			handler(processForm) {
-				// console.error(val, 'processForm  change...', typeof val)
-				const { formStructure } = JSON.parse(processForm) // 表单设计字段
-				this.local_formStructure = formStructure
-				// 使用 filter 方法找到 required 属性为 true 的对象
-				this.expressionFormList = (formStructure?.fields || []).filter(item => item.options && item.options.required === true)
-				$log(this.expressionFormList, '这里打印出符合条件的表单对象')
-			},
-			immediate: true
+			this.getExpressionFormList()
 		}
 	},
 	mounted() {
 		this.nodeConfig = this.modelValue
+		this.getExpressionFormList()
 	},
 	methods: {
+		getExpressionFormList() {
+			// const { formStructure } = JSON.parse(processForm) // 表单设计字段
+			const { formStructure } = this.getProcessForm() // 表单设计字段
+			this.local_formStructure = formStructure
+			// 使用 filter 方法找到 required 属性为 true 的对象
+			this.expressionFormList = (formStructure?.fields || []).filter(item => item.options && item.options.required === true)
+			// console.error(formStructure, 'formStructure')
+			// $log(this.expressionFormList, '这里打印出符合条件的表单对象')
+		},
 		show(index) {
 			if (this.disabled) return
 			if (index === this.nodeConfig.inclusiveNodes.length - 1) {
@@ -228,8 +225,8 @@ export default {
 				return
 			}
 			this.index = index
-			this.form = {}
 			this.form = JSON.parse(JSON.stringify(this.nodeConfig.inclusiveNodes[index]))
+			this.getExpressionFormList()
 			this.drawer = true
 		},
 		editTitle() {
@@ -312,7 +309,12 @@ export default {
 			conditionList.splice(index, 1)
 		},
 		addConditionGroup() {
-			this.addConditionList(this.form.conditionList[this.form.conditionList.push([]) - 1], 'custom')
+			let conditionList = this.form.conditionList
+			if (!conditionList) {
+				this.form.conditionList = []
+				conditionList = this.form.conditionList
+			}
+			this.addConditionList(conditionList[conditionList.push([]) - 1], 'custom')
 		},
 		deleteConditionGroup(index) {
 			this.form.conditionList.splice(index, 1)

+ 6 - 2
src/components/scWorkflow/nodes/parallelBranch.vue

@@ -104,7 +104,6 @@ export default {
 		show(index) {
 			const self = this
 			this.index = index
-			this.form = {}
 			this.form = _.cloneDeep(self.nodeConfig.parallelNodes[index])
 			this.drawer = true
 		},
@@ -186,7 +185,12 @@ export default {
 			conditionList.splice(index, 1)
 		},
 		addConditionGroup() {
-			this.addConditionList(this.form.conditionList[this.form.conditionList.push([]) - 1])
+			let conditionList = this.form.conditionList
+			if (!conditionList) {
+				this.form.conditionList = []
+				conditionList = this.form.conditionList
+			}
+			this.addConditionList(conditionList[conditionList.push([]) - 1])
 		},
 		deleteConditionGroup(index) {
 			this.form.conditionList.splice(index, 1)

+ 3 - 3
src/components/scWorkflow/nodes/promoter.vue

@@ -67,7 +67,7 @@ export default {
 	components: {
 		addNode
 	},
-	inject: ['select'],
+	inject: ['select', 'getProcessForm'],
 	props: {
 		modelValue: { type: Object, default: () => {} },
 		disabled: {
@@ -87,7 +87,7 @@ export default {
 		/*Plus() {
 			return Plus
 		},*/
-		...mapState(useFlowStore, ['processForm', 'processType']) //映射函数,取出processForm\processType
+		...mapState(useFlowStore, [/*'processForm',*/ 'processType']) //映射函数,取出processForm\processType
 	},
 	watch: {
 		modelValue() {
@@ -103,7 +103,7 @@ export default {
 			this.form = JSON.parse(JSON.stringify(this.nodeConfig))
 			/* 自定义表单权限 - 发起人*/
 			if (this.processType === 'main') {
-				const { formStructure } = JSON.parse(this.processForm)
+				const { formStructure } = this.getProcessForm()
 				const formConfig = this.form.extendConfig?.formConfig || []
 				const operateTable = (formStructure?.fields || []).map(item => {
 					let opera = '1'

+ 15 - 17
src/components/scWorkflow/nodes/routeBranch.vue

@@ -185,8 +185,6 @@
 import addNode from './addNode'
 import { operatorType } from './config'
 import { ElMessage } from 'element-plus'
-import { mapState } from 'pinia'
-import useFlowStore from '@/store/modules/flow'
 import { getNodeKey } from '@/utils/workflow'
 import { $log } from '@/utils'
 
@@ -194,7 +192,7 @@ export default {
 	components: {
 		addNode
 	},
-	inject: ['getRootConfig'],
+	inject: ['getRootConfig', 'getProcessForm'],
 	props: {
 		modelValue: {
 			type: Object,
@@ -216,28 +214,25 @@ export default {
 			validNodeList: []
 		}
 	},
-	computed: {
-		...mapState(useFlowStore, ['processForm']) //映射函数,取出processForm
-	},
 	watch: {
 		modelValue() {
 			this.nodeConfig = this.modelValue
-		},
-		processForm: {
-			handler(processForm) {
-				const { formStructure } = JSON.parse(processForm) // 表单设计字段
-				this.local_formStructure = formStructure
-				// 使用 filter 方法找到 required 属性为 true 的对象
-				this.expressionFormList = (formStructure?.fields || []).filter(item => item.options && item.options.required === true)
-				$log(this.expressionFormList, '这里打印出符合条件的表单对象')
-			},
-			immediate: true
+			this.getExpressionFormList()
 		}
 	},
 	mounted() {
 		this.nodeConfig = this.modelValue
+		this.getExpressionFormList()
 	},
 	methods: {
+		getExpressionFormList() {
+			// const { formStructure } = JSON.parse(processForm) // 表单设计字段
+			const { formStructure } = this.getProcessForm() // 表单设计字段
+			this.local_formStructure = formStructure
+			// 使用 filter 方法找到 required 属性为 true 的对象
+			this.expressionFormList = (formStructure?.fields || []).filter(item => item.options && item.options.required === true)
+			// $log(this.expressionFormList, '这里打印出符合条件的表单对象')
+		},
 		queryValidNodeList() {
 			const validNodeList = []
 			const fn = data => {
@@ -280,9 +275,9 @@ export default {
 		},
 		show() {
 			if (this.disabled) return
-			this.form = {}
 			this.form = JSON.parse(JSON.stringify(this.nodeConfig))
 			this.queryValidNodeList()
+			this.getExpressionFormList()
 			this.drawer = true
 		},
 		editTitle(refName) {
@@ -349,6 +344,9 @@ export default {
 			})
 		},
 		addConditionGroup(route) {
+			if (!route.conditionList) {
+				route.conditionList = []
+			}
 			this.addConditionList(route.conditionList[route.conditionList.push([]) - 1], 'custom')
 		},
 		deleteConditionGroup(route, index) {

+ 0 - 1
src/components/scWorkflow/nodes/send.vue

@@ -100,7 +100,6 @@ export default {
 	methods: {
 		show() {
 			if (this.disabled) return
-			this.form = {}
 			this.form = JSON.parse(JSON.stringify(this.nodeConfig))
 			this.drawer = true
 		},

+ 3 - 7
src/components/scWorkflow/nodes/subProcess.vue

@@ -111,14 +111,13 @@
 import addNode from './addNode'
 import { subProcessType } from './config'
 import { ElMessage } from 'element-plus'
-import { mapState } from 'pinia'
-import useFlowStore from '@/store/modules/flow'
 import process from '@/api/flow/process'
 
 export default {
 	components: {
 		addNode
 	},
+	inject: ['getProcessForm'],
 	props: {
 		modelValue: { type: Object, default: () => {} },
 		disabled: {
@@ -153,9 +152,9 @@ export default {
 		},
 		show() {
 			if (this.disabled) return
-			this.form = {}
 			this.form = JSON.parse(JSON.stringify(this.nodeConfig))
-			const { formStructure } = JSON.parse(this.processForm)
+			// const { formStructure } = JSON.parse(this.processForm)
+			const { formStructure } = this.getProcessForm()
 			const formConfig = this.form.extendConfig?.formConfig || []
 			const operateTable = (formStructure?.fields || []).map(item => {
 				let opera = '1'
@@ -250,9 +249,6 @@ export default {
 			const jumpRouterUrl = `${origin}/${hashFlag ? '#' : ''}/flow_create/child?id=${id}`
 			window.open(jumpRouterUrl)
 		}
-	},
-	computed: {
-		...mapState(useFlowStore, ['processForm']) //映射函数,取出processForm
 	}
 }
 </script>

+ 0 - 1
src/components/scWorkflow/nodes/trigger.vue

@@ -165,7 +165,6 @@ export default {
 	methods: {
 		show() {
 			if (this.disabled) return
-			this.form = {}
 			this.form = JSON.parse(JSON.stringify(this.nodeConfig))
 			this.drawer = true
 		},

+ 5 - 2
src/views/approve/components/ViewProcessDialog.vue

@@ -75,7 +75,7 @@
 					<el-tag style="margin-left: 4px" type="warning" size="small">执行中</el-tag>
 					<el-tag style="margin-left: 4px" type="info" size="small">未执行</el-tag>
 				</div>
-				<ScWorkflow style="overflow-x: auto" :model-value="modelContentConfig" disabled />
+				<ScWorkflow :process-form="localProcessForm" style="overflow-x: auto" :model-value="modelContentConfig" disabled />
 			</div>
 		</div>
 		<template #footer>
@@ -121,6 +121,7 @@ const validateForm = ref({
 })
 const EReditorRef = ref()
 const modelContentConfig = ref({})
+const localProcessForm = ref({})
 const activeData = ref([])
 
 const $myEmit = defineEmits(['update:modelValue'])
@@ -146,7 +147,9 @@ const queryDetail = () => {
 				modelContentConfig.value = modelContent_config || {}
 				// 当前form 表单数据字符串
 				const cur_processForm_str = data.formContent || '{}'
-				const { formStructure, formData } = JSON.parse(cur_processForm_str)
+				const processForm = JSON.parse(cur_processForm_str)
+				const { formStructure, formData } = processForm
+				localProcessForm.value = processForm
 				EReditorRef.value.setData(formStructure, formData)
 				validateForm.value.rule = formStructure.fields
 			} catch (e) {

+ 8 - 4
src/views/approve/components/approvedContent.vue

@@ -121,7 +121,7 @@
 							<el-tag style="margin-left: 4px" type="warning" size="small">执行中</el-tag>
 							<el-tag style="margin-left: 4px" type="info" size="small">未执行</el-tag>
 						</div>
-						<ScWorkflow style="overflow-x: auto" :model-value="modelContentConfig" disabled />
+						<ScWorkflow style="overflow-x: auto" :model-value="modelContentConfig" :process-form="localProcessForm" disabled />
 					</div>
 				</div>
 
@@ -236,8 +236,8 @@
 </template>
 
 <script setup>
-import path from 'path'
 import useTaskProcessStore from '@/store/modules/taskProcess'
+// import useFlowStore from '@/store/modules/flow'
 import { computed, ref, nextTick, watch, markRaw, defineAsyncComponent, provide } from 'vue'
 import FlowStatusStamp from '@/components/Flow/FlowStatusStamp.vue'
 import FlowStatusTag from '@/components/Flow/FlowStatusTag.vue'
@@ -295,6 +295,7 @@ const tabList = computed(() => {
 })
 // store值
 const taskProcessInfo = useTaskProcessStore()
+// const flowStore = useFlowStore()
 const { currentTaskRow } = storeToRefs(taskProcessInfo)
 
 // 各种操作弹窗显示隐藏 start
@@ -335,6 +336,7 @@ const validateForm = ref({
 	rule: [],
 	loading: false
 })
+const localProcessForm = ref({})
 // 允许转交
 const allowTransfer = ref(true)
 // 允许加减签
@@ -505,7 +507,8 @@ const getTaskDetail = () => {
 					formContent = data.formContent
 				}
 				cur_processForm_str = formContent
-				const { formStructure, formData } = JSON.parse(cur_processForm_str)
+				const processForm = JSON.parse(cur_processForm_str)
+				const { formStructure, formData } = processForm
 				const formConfig = data.formConfig || []
 				cur_formStructure = formStructure // 存储一份
 				let newFields = cur_formStructure.fields
@@ -545,7 +548,8 @@ const getTaskDetail = () => {
 				cur_formData = formData
 				console.log(cur_formStructure, '=/////====newFormStructure')
 				console.log(formData, '=/////====newFormStructure formData')
-
+				localProcessForm.value = processForm
+				// flowStore.setProcessForm(cur_processForm_str)
 				EReditorRef.value.setData(cur_formStructure, formData)
 				validateForm.value.rule = newFields
 				/* 这里主要是表单设计的逻辑 end */

+ 8 - 7
src/views/approve/detail/index.vue

@@ -8,7 +8,7 @@
 			</div>
 
 			<!-- 值不为空 -->
-			<div class="column-page-wrap" v-show="currentTaskRow.instanceId">
+			<div v-show="currentTaskRow.instanceId" class="column-page-wrap">
 				<!-- 1、头部信息 -->
 				<div class="flow-status-stamp">
 					<div class="flow-stamp-container">
@@ -122,13 +122,13 @@
 							<el-tag style="margin-left: 4px" type="warning" size="small">执行中</el-tag>
 							<el-tag style="margin-left: 4px" type="info" size="small">未执行</el-tag>
 						</div>
-						<ScWorkflow style="overflow-x: auto" :model-value="modelContentConfig" disabled />
+						<ScWorkflow style="overflow-x: auto" :process-form="localProcessForm" :model-value="modelContentConfig" disabled />
 					</div>
 				</div>
 			</div>
 		</div>
 		<!-- 打印审批流 -->
-		<printer-dialog v-if="printerVisible" v-model="printerVisible" :currentTaskRow="currentTaskRow" :opts="printOpts"></printer-dialog>
+		<printer-dialog v-if="printerVisible" v-model="printerVisible" :current-task-row="currentTaskRow" :opts="printOpts"></printer-dialog>
 	</div>
 </template>
 
@@ -241,6 +241,7 @@ const allowAppendNode = ref(true)
 // 允许回退
 const allowRollback = ref(true)
 const modelContentConfig = ref({})
+const localProcessForm = ref({})
 
 // 系统表单
 const dyVueComponent = ref(undefined)
@@ -249,7 +250,6 @@ const dyVueForm = ref({})
 const currentObj = ref()
 provide('dyVueForm', dyVueForm) // 这里主要是存放动态的form的属性值
 
-
 /**
  * 详情按钮各个操作弹窗
  * @param visibleType 评论 拒绝 同意等
@@ -315,7 +315,7 @@ const getTaskDetail = () => {
 		// taskId: cur.taskId,
 		// instanceId: cur.instanceId,
 		// instanceState: cur.instanceState
-		instanceId: id,
+		instanceId: id
 	})
 		.then(data => {
 			const activeList = data.processApprovals
@@ -378,7 +378,8 @@ const getTaskDetail = () => {
 					formContent = data.formContent
 				}
 				cur_processForm_str = formContent
-				const { formStructure, formData } = JSON.parse(cur_processForm_str)
+				const processForm = JSON.parse(cur_processForm_str)
+				const { formStructure, formData } = processForm
 				const formConfig = data.formConfig || []
 				cur_formStructure = formStructure // 存储一份
 				let newFields = cur_formStructure.fields
@@ -419,6 +420,7 @@ const getTaskDetail = () => {
 				console.log(cur_formStructure, '=/////====newFormStructure')
 				console.log(formData, '=/////====newFormStructure')
 				EReditorRef.value.setData(cur_formStructure, formData)
+				localProcessForm.value = processForm
 				validateForm.value.rule = newFields
 				/* 这里主要是表单设计的逻辑 end */
 			} catch (e) {
@@ -443,7 +445,6 @@ const lookSubProcess = item => {
 		visible: true
 	}
 }
-
 </script>
 
 <style scoped lang="scss">

+ 8 - 5
src/views/flow/create/components/FlowDesign.vue

@@ -1,5 +1,5 @@
 <script setup name="FlowDesign">
-import { onMounted, ref } from 'vue'
+import { onMounted, ref, computed } from 'vue'
 import { ElMessageBox } from 'element-plus'
 
 import ScWorkflow from '@/components/scWorkflow'
@@ -10,7 +10,7 @@ import { copyText } from '@/utils'
 import { getNodeKey } from '@/utils/workflow'
 import MonacoEditor from '@/components/MonacoEditor'
 const flowStore = useFlowStore()
-const { modelContent } = storeToRefs(flowStore)
+const { modelContent, processForm } = storeToRefs(flowStore)
 
 const formRef = ref()
 const drawer = ref(false)
@@ -32,7 +32,11 @@ const createConfigStart = () => {
 let form = ref({
 	processConfig: createConfigStart()
 })
-
+const localProcessForm = computed(() => {
+	return JSON.parse(processForm.value)
+	// console.error(info, 'info', typeof processForm.value)
+	// return info
+})
 // 接口保存审批流程
 const saveDesign = json => {
 	modelContent.value = JSON.stringify(form.value.processConfig)
@@ -99,8 +103,7 @@ defineExpose({
 		<div style="z-index: 999" class="fixed top-44 right-48">
 			<el-button type="primary" @click="openDrawerEv"> 查看/导入 JSON </el-button>
 		</div>
-
-		<ScWorkflow v-model="form.processConfig"></ScWorkflow>
+		<ScWorkflow v-model="form.processConfig" :processForm="localProcessForm"></ScWorkflow>
 
 		<el-dialog v-if="drawer" v-model="drawer" class="le-dialog" size="600px" :append-to-body="true" title="查看JSON" destroy-on-close>
 			<MonacoEditor v-model="jsonFormat" height="400px" />