|
@@ -10,7 +10,8 @@
|
|
|
<div v-if="validateForm.loading" v-loading="true" class="local_loading"></div>
|
|
|
<div class="info-wrap">
|
|
|
<el-divider content-position="left">{{ record.processName }}表单</el-divider>
|
|
|
- <FormCreate v-model:api="validateForm.api" class="form-wrap" :option="validateForm.option" :rule="validateForm.rule" />
|
|
|
+ <FormCreate v-if="false" v-model:api="validateForm.api" class="form-wrap" :option="validateForm.option" :rule="validateForm.rule" />
|
|
|
+ <er-form-preview ref="EReditorRef" :is-show-complete-button="false" />
|
|
|
<el-divider content-position="left">审批流程</el-divider>
|
|
|
<el-timeline class="timeline-wrap">
|
|
|
<el-timeline-item v-for="(v, index) in processTimelineList" :key="index">
|
|
@@ -63,11 +64,15 @@
|
|
|
<script setup lang="ts">
|
|
|
import model from '@/api/flow/process'
|
|
|
import viewForm from '@/utils/form'
|
|
|
+import { erFormPreview } from 'everright-formeditor'
|
|
|
+import 'Everright-formEditor/dist/style.css'
|
|
|
import { ref, shallowRef, computed, reactive, watchEffect } from 'vue'
|
|
|
import { ElMessage } from 'element-plus'
|
|
|
import UseSelect from '@/components/scWorkflow/select.vue'
|
|
|
import FlowNodeAvatar from '@/components/Flow/FlowNodeAvatar.vue'
|
|
|
import { approveTypeOptions_config, selectModeOptions_config, setTypeOptions_config } from '@/components/scWorkflow/nodes/config'
|
|
|
+
|
|
|
+const EReditorRef = ref()
|
|
|
type Props = {
|
|
|
modelValue: boolean
|
|
|
record: { processId: string; processName: string; [key: string]: any }
|
|
@@ -130,17 +135,22 @@ const validateForm = ref({
|
|
|
})
|
|
|
|
|
|
const onSubmit = async () => {
|
|
|
+ // todo 这里还需要做表单校验
|
|
|
+ const formData = EReditorRef.value.getData()
|
|
|
+ // console.log(formData)
|
|
|
const api = validateForm.value.api
|
|
|
- await api.validate()
|
|
|
- const values = api.formData()
|
|
|
+ // await api.validate()
|
|
|
+ // const values = api.formData()
|
|
|
// console.warn(values, 'values')
|
|
|
const processId = props.record.processId
|
|
|
validateForm.value.loading = true
|
|
|
- const processForm: any[] = JSON.parse(cur_processForm_str)
|
|
|
- processForm.forEach(v => {
|
|
|
- // 填写的数据存储(local_: 本地数据处理标识)
|
|
|
- v.local_value = values[v.field]
|
|
|
- })
|
|
|
+ let processForm = JSON.parse(cur_processForm_str)
|
|
|
+ processForm = { ...processForm, formData }
|
|
|
+ // processForm.forEach(v => {
|
|
|
+ // // 填写的数据存储(local_: 本地数据处理标识)
|
|
|
+ // v.local_value = values[v.field]
|
|
|
+ // })
|
|
|
+ console.log(processForm, '===========')
|
|
|
const _assigneeMap = assigneeMap.value
|
|
|
const assigneeMap_ = Object.keys(_assigneeMap).reduce((obj, key) => {
|
|
|
const _o = _assigneeMap[key]
|
|
@@ -166,7 +176,7 @@ const onSubmit = async () => {
|
|
|
}
|
|
|
|
|
|
// 当前form 表单数据字符串
|
|
|
-let cur_processForm_str = '[]'
|
|
|
+let cur_processForm_str = '{}'
|
|
|
const processChecked = reactive<{ [key: string]: any }>({
|
|
|
/*'local_条件分支_期限': '短期'*/
|
|
|
})
|
|
@@ -317,13 +327,15 @@ Promise.all([
|
|
|
const modelContent = JSON.parse(res.modelContent)
|
|
|
local_workflow = modelContent.nodeConfig ?? modelContent.childNode
|
|
|
} catch (e) {}*/
|
|
|
- cur_processForm_str = res.processForm || '[]'
|
|
|
+ cur_processForm_str = res.processForm || '{}'
|
|
|
// const x = JSON.parse(cur_processForm_str)
|
|
|
// x[0].validate = [{ required: true, message: '请输入商品简介', trigger: 'blur' }]
|
|
|
|
|
|
// processForm 动态表单
|
|
|
// validateForm.value.rule = [...JSON.parse(cur_processForm_str) /*, { ...workflowItem, value: local_workflow }*/ /*, { type: 'input', field: 'test_3' }*/]
|
|
|
- validateForm.value.rule = JSON.parse(cur_processForm_str)
|
|
|
+ const { formStructure } = JSON.parse(cur_processForm_str)
|
|
|
+ EReditorRef.value.setData(formStructure)
|
|
|
+ // validateForm.value.rule = JSON.parse(cur_processForm_str)
|
|
|
})
|
|
|
]).finally(() => {
|
|
|
validateForm.value.loading = false
|