|
@@ -70,10 +70,21 @@ const dyVueForm = ref({})
|
|
|
|
|
|
provide('dyVueForm', dyVueForm) // 这里主要是存放动态的form的属性值
|
|
|
|
|
|
+const validateDesignForm = () => {
|
|
|
+ // 这里返回一个promise对象,里面主要是针对表单校验是否通过,通过就resolve,不通过就返回reject
|
|
|
+ const form = EReditorRef.value.getSelfFormRef()
|
|
|
+ form.validate((valid: any) => {
|
|
|
+ if (!valid) {
|
|
|
+ return Promise.reject()
|
|
|
+ } else {
|
|
|
+ return Promise.resolve()
|
|
|
+ }
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
const onSubmit = async () => {
|
|
|
const processId = props.record.processId
|
|
|
const { type } = props.record.formTemplate
|
|
|
- let params = {}
|
|
|
// 这里要从子节点获取流程图信息 进行保存
|
|
|
const _assigneeMap = flowTrendRef.value.getAssigneeMap()
|
|
|
const assigneeMap_ = Object.keys(_assigneeMap).reduce((obj, nodeKey: string) => {
|
|
@@ -84,63 +95,41 @@ const onSubmit = async () => {
|
|
|
}
|
|
|
return obj
|
|
|
}, {} as { [nodeKey: string]: any })
|
|
|
- if (!type) {
|
|
|
- // type: 0 表单设计 1 vue自定义表单
|
|
|
- const form = EReditorRef.value.getSelfFormRef()
|
|
|
- form.validate((valid: any) => {
|
|
|
- if (!valid) return false
|
|
|
- // 表单验证通过 进行保存
|
|
|
- validateForm.value.loading = true
|
|
|
- const formData = EReditorRef.value.getData()
|
|
|
- let processForm = JSON.parse(cur_processForm_str)
|
|
|
- processForm = { ...processForm, formData }
|
|
|
- params = {
|
|
|
- id: props.record.rowId,
|
|
|
- test: '',
|
|
|
- processStart: {
|
|
|
- processId, // 流程ID
|
|
|
- processForm: JSON.stringify(processForm), // 流程表单JSON内容 & local_value 保存
|
|
|
- assigneeMap: assigneeMap_
|
|
|
- }
|
|
|
- }
|
|
|
- // 待优化
|
|
|
- purchaseOrder
|
|
|
- .postlaunchApi(params)
|
|
|
- .then(res => {
|
|
|
- ElMessage.success('提交成功')
|
|
|
- updateModelValue(false)
|
|
|
- })
|
|
|
- .finally(() => {
|
|
|
- validateForm.value.loading = false
|
|
|
- })
|
|
|
- })
|
|
|
- } else {
|
|
|
+ const paramCommon = {
|
|
|
+ id: props.record.rowId,
|
|
|
+ test: '', // 系统表单JSON内容
|
|
|
+ processStart: {
|
|
|
+ processId, // 流程ID
|
|
|
+ processForm: '', // 设计表单JSON内容
|
|
|
+ assigneeMap: assigneeMap_
|
|
|
+ }
|
|
|
+ }
|
|
|
+ validateForm.value.loading = true
|
|
|
+ // type: 0 设计表单 1 vue系统表单
|
|
|
+ if (type) {
|
|
|
const formData = dyVueComponentRef.value.getData()
|
|
|
const testData = {
|
|
|
formStructure: '@/views/flow/test/test1.vue',
|
|
|
formData: formData
|
|
|
}
|
|
|
- params = {
|
|
|
- id: props.record.rowId,
|
|
|
- test: JSON.stringify(testData),
|
|
|
- processStart: {
|
|
|
- processId, // 流程ID
|
|
|
- processForm: '', // 流程表单JSON内容 & local_value 保存
|
|
|
- assigneeMap: assigneeMap_
|
|
|
- }
|
|
|
- }
|
|
|
- // 待优化
|
|
|
- purchaseOrder
|
|
|
- .postlaunchApi(params)
|
|
|
- .then(res => {
|
|
|
- ElMessage.success('提交成功')
|
|
|
- updateModelValue(false)
|
|
|
- })
|
|
|
- .finally(() => {
|
|
|
- validateForm.value.loading = false
|
|
|
- })
|
|
|
+ paramCommon.test = JSON.stringify(testData)
|
|
|
+ } else {
|
|
|
+ await validateDesignForm()
|
|
|
+ const formData = EReditorRef.value.getData()
|
|
|
+ let processForm = JSON.parse(cur_processForm_str)
|
|
|
+ processForm = { ...processForm, formData }
|
|
|
+ paramCommon.processStart.processForm = JSON.stringify(processForm)
|
|
|
}
|
|
|
|
|
|
+ purchaseOrder
|
|
|
+ .postlaunchApi(paramCommon)
|
|
|
+ .then(res => {
|
|
|
+ ElMessage.success('提交成功')
|
|
|
+ updateModelValue(false)
|
|
|
+ })
|
|
|
+ .finally(() => {
|
|
|
+ validateForm.value.loading = false
|
|
|
+ })
|
|
|
}
|
|
|
|
|
|
// 获取当前表单中的详情
|