ソースを参照

fix: 调整流程

lanceJiang 1 年間 前
コミット
7547ebbecc

+ 3 - 1
src/store/modules/flow.ts

@@ -26,7 +26,9 @@ export const useFlowStore = defineStore({
 
 			cacheSwitch: false, // 缓存开关
 			modelContent: '', // 流程模型定义JSON内容
-			processForm: {}, // 流程定义表单
+			// processForm: {}, // 流程定义表单
+			processForm: '{}', // 流程定义表单
+			local_processForm: {},
 			processSetting: {
 				allowRevocation: true, // 允许撤销审批中的申请
 				allowRevocationDay: true, // 允许撤销指定天内通过的审批

+ 3 - 3
src/views/flow/create/business.vue

@@ -54,7 +54,7 @@ const { tagsView } = useStore()
 const router = useRouter()
 const route = useRoute()
 const flowStore = useFlowStore()
-const { categoryId, formId, processId, processIcon, processKey, processName, remark, modelContent, processForm, processSetting } = storeToRefs(flowStore)
+const { categoryId, formId, processId, processIcon, processKey, processName, remark, modelContent, local_processForm, processSetting } = storeToRefs(flowStore)
 
 const compRefs = ref() // 实例化子组件
 const cache_components = ref({})
@@ -115,7 +115,7 @@ const submitHandler = async () => {
 		processName: processName.value,
 		remark: remark.value,
 		processId: processId.value,
-		processForm: JSON.stringify(processForm.value),
+		processForm: JSON.stringify(local_processForm.value),
 		modelContent: JSON.stringify({
 			key: processKey.value,
 			name: processName.value,
@@ -194,7 +194,7 @@ const getCurrentProcessDetailEv = () => {
 			remark.value = res.remark
 			let nodeConfig = JSON.parse(res.modelContent).nodeConfig
 			modelContent.value = JSON.stringify(nodeConfig)
-			processForm.value = JSON.parse(res.processForm) || {}
+			local_processForm.value = JSON.parse(res.processForm) || {}
 			// flowStore.setProcessForm(processForm)
 			flowStore.setProcessSetting(res.processSetting)
 			// 默认执行一次保存

+ 5 - 5
src/views/flow/create/components/BasicInfo.vue

@@ -44,7 +44,7 @@ const rules = {
 			trigger: 'blur'
 		}
 	],
-	processForm: [
+	local_processForm: [
 		{
 			required: true,
 			validator: (rule, value, callback) => {
@@ -180,10 +180,10 @@ defineExpose({
 				<el-form-item label="名称" prop="processName">
 					<el-input v-model="flowInfo.processName" clearable maxlength="15"></el-input>
 				</el-form-item>
-				<el-form-item v-if="from === 'business'" prop="processForm">
-					<SelectProcessForm v-model="flowInfo.processForm" />
-					<el-input class="hidden" :model-value="flowInfo.processForm.formId" />
-					<el-input class="hidden" :model-value="flowInfo.processForm.formName" />
+				<el-form-item v-if="from === 'business'" prop="local_processForm">
+					<SelectProcessForm v-model="flowInfo.local_processForm" />
+					<el-input class="hidden" :model-value="flowInfo.local_processForm.formId" />
+					<el-input class="hidden" :model-value="flowInfo.local_processForm.formName" />
 				</el-form-item>
 				<el-form-item label="说明" prop="remark">
 					<el-input v-model="flowInfo.remark" type="textarea" clearable></el-input>

+ 5 - 4
src/views/flow/create/components/SelectProcessForm.vue

@@ -22,8 +22,8 @@
 				value-key="id"
 				label-key="name"
 				:loading="optionsRef.loading"
+				@update:selected_label="update_selected_label"
 			>
-				<!--				@update:selected_label="update_selected_label"-->
 				<template #default="{ item, index, disabled }">
 					<div class="item">
 						{{ item.name }} <el-tag class="ml-2" size="small">{{ typeOptions_config[item.type] || '-' }}</el-tag>
@@ -79,9 +79,10 @@ const selected = computed(() => {
 const selected_label = computed(() => {
 	return selected.value?.name
 })
+const local_selected_label = ref()
 const update_selected_label = (label: string) => {
-	console.log(label, 'label')
-	selected_label.value = label
+	// console.log(label, 'label')
+	local_selected_label.value = label
 }
 const visible = ref(false)
 const selectProcessForm = () => {
@@ -101,7 +102,7 @@ const closeDialog = () => {
 	visible.value = false
 }
 const submit = () => {
-	emits('update:modelValue', { formId: localValue.value, formName: selected_label.value })
+	emits('update:modelValue', { formId: localValue.value, formName: local_selected_label.value })
 	closeDialog()
 }
 

+ 4 - 3
src/views/flow/create/index.vue

@@ -48,7 +48,7 @@ const { tagsView } = useStore()
 const router = useRouter()
 const route = useRoute()
 const flowStore = useFlowStore()
-const { categoryId, processId, processIcon, processKey, processName, remark, modelContent, processForm, processSetting } = storeToRefs(flowStore)
+const { categoryId, processId, processIcon, processKey, processName, remark, modelContent, local_processForm, processSetting } = storeToRefs(flowStore)
 const compRefs = ref() // 实例化子组件
 const cache_components = ref({})
 const componentsArr = [
@@ -113,7 +113,7 @@ const submitHandler = async () => {
 		processName: processName.value,
 		remark: remark.value,
 		processId: processId.value,
-		processForm: JSON.stringify(processForm.value),
+		processForm: JSON.stringify(local_processForm.value),
 		modelContent: JSON.stringify({
 			key: processKey.value,
 			name: processName.value,
@@ -192,7 +192,8 @@ const getCurrentProcessDetailEv = () => {
 			remark.value = res.remark
 			let nodeConfig = JSON.parse(res.modelContent).nodeConfig
 			modelContent.value = JSON.stringify(nodeConfig)
-			processForm.value = JSON.parse(res.processForm) || {}
+			local_processForm.value = JSON.parse(res.processForm) || {}
+			// processForm.value = JSON.parse(res.processForm) || {}
 			// flowStore.setProcessForm(processForm)
 			flowStore.setProcessSetting(res.processSetting)
 			// 默认执行一次保存