소스 검색

feat: 业务流程发起保存

luoyali 1 년 전
부모
커밋
c783d4f481
4개의 변경된 파일34개의 추가작업 그리고 11개의 파일을 삭제
  1. 15 2
      src/api/test/purchaseOrder.ts
  2. 5 0
      src/components/Flow/FlowTrend.vue
  3. 1 1
      src/views/flow/test/business.vue
  4. 13 8
      src/views/flow/test/businessLaunch.vue

+ 15 - 2
src/api/test/purchaseOrder.ts

@@ -6,7 +6,8 @@ const api = {
 	page: '/v1/purchase-order/page',
 	create: '/v1/purchase-order/create',
 	update: '/v1/purchase-order/update',
-	delete: '/v1/purchase-order/delete'
+	delete: '/v1/purchase-order/delete',
+	launch: '/v1/purchase-order/launch'
 }
 
 /**
@@ -41,8 +42,20 @@ function postDeleteApi(data: any): AxiosPromise {
 		data
 	})
 }
+
+/**
+ * 采购订单管理 - 删除
+ */
+function postlaunchApi(data: any): AxiosPromise {
+	return request({
+		url: api.launch,
+		method: 'post',
+		data
+	})
+}
 export default {
 	postPageApi,
 	postAddOrEditSaveApi,
-	postDeleteApi
+	postDeleteApi,
+	postlaunchApi
 }

+ 5 - 0
src/components/Flow/FlowTrend.vue

@@ -231,8 +231,13 @@ const processTimelineList = computed(() => {
 	return packageProcess(props.modelValue)
 })
 
+const getAssigneeMap = () => {
+	return assigneeMap.value
+}
+
 defineExpose({
 	// 把数据暴露给父节点使用
+	getAssigneeMap
 })
 </script>
 

+ 1 - 1
src/views/flow/test/business.vue

@@ -266,7 +266,7 @@ const submitProcessEv = async row => {
 	if (res.formTemplate.type) {
 		// vue自定义
 	} else {
-		record.value = res
+		record.value = { ...res, rowId: row.id}
 		drawerVisible.value = true
 	}
 }

+ 13 - 8
src/views/flow/test/businessLaunch.vue

@@ -24,7 +24,7 @@
 			</template>
 
 			<el-divider content-position="left">审批流程</el-divider>
-			<flow-trend v-model="modelContentConfig"></flow-trend>
+			<flow-trend ref="flowTrendRef" v-model="modelContentConfig"></flow-trend>
 			<el-divider></el-divider>
 		</div>
 
@@ -37,6 +37,7 @@
 
 <script setup lang="ts">
 import model from '@/api/flow/process'
+import purchaseOrder from '@/api/test/purchaseOrder'
 import { nextTick, onMounted, ref, markRaw, defineAsyncComponent } from 'vue'
 import { ElMessage } from 'element-plus'
 import { erFormPreview } from '@ER/formEditor'
@@ -66,14 +67,13 @@ const emit = defineEmits<{
 	update: [value: string]
 }>()
 const validateForm = ref({ loading: false })
-const assigneeMap = ref<{
-	[key: string]: Assignee
-}>({})
+
 const { VITE_APP_BASE_API } = import.meta.env
 const uploadFileApi = ref(`${VITE_APP_BASE_API}/v1/oss/upload`)
 const EReditorRef = ref()
 const modelContentConfig = ref<ModelContentConfig | any>({})
 const dyVueComponent = ref(undefined)
+const flowTrendRef = ref()
 
 const onSubmit = async () => {
 	const processId = props.record.processId
@@ -86,7 +86,7 @@ const onSubmit = async () => {
 			let processForm = JSON.parse(cur_processForm_str)
 			processForm = { ...processForm, formData }
 			// 这里要从子节点获取流程图信息 进行保存
-			const _assigneeMap = assigneeMap.value
+			const _assigneeMap = flowTrendRef.value.getAssigneeMap()
 			const assigneeMap_ = Object.keys(_assigneeMap).reduce((obj, nodeKey: string) => {
 				const _o = _assigneeMap[nodeKey]
 				obj[nodeKey] = {
@@ -95,12 +95,17 @@ const onSubmit = async () => {
 				}
 				return obj
 			}, {} as { [nodeKey: string]: any })
-			model
-				.processLaunchApi({
+			const params = {
+				id: props.record.rowId,
+				test: 'formTemplate',
+				processStart: {
 					processId, // 流程ID
 					processForm: JSON.stringify(processForm), // 流程表单JSON内容 & local_value 保存
 					assigneeMap: assigneeMap_
-				})
+				}
+			}
+			purchaseOrder
+				.postlaunchApi(params)
 				.then(res => {
 					ElMessage.success('提交成功')
 					updateModelValue(false)