You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

72 lines
1.4 KiB

9 months ago
<template>
<view class="dynamicModel-v">
<template>
<view class="jnpf-wrap jnpf-wrap-form" v-if="isShow">
<childForm ref="child" :config="config" />
</view>
</template>
</view>
</template>
<script>
import childForm from '@/pages/workFlow/flowBefore/form'
import {
flowForm
} from '@/api/workFlow/flowEngine'
export default {
name: 'scanForm',
components: {
childForm
},
data() {
return {
webType: '',
origin: '',
config: {},
formConf: {},
key: +new Date(),
flowConfig: {},
isShow: false,
dataSource: ''
}
},
onLoad(data) {
let obj = JSON.parse(data.config)
this.initData(obj)
},
methods: {
initData(data) {
flowForm(data.id).then(res => {
const dataSource = data.ds === "propertyJson" ? "propertyJson" : "draftJson"
if (!res.data || !res.data[dataSource]) return
let formConf = JSON.parse(res.data[dataSource])
let formData = {
enCode: res.data.enCode,
flowId: res.data.id,
formConf: res.data[dataSource],
formType: res.data.formType,
fullName: res.data.fullName
}
this.config = {
...formData
}
this.isShow = true
this.$nextTick(() => {
this.$refs.child.$refs.form.init(this.config)
})
})
},
}
}
</script>
<style lang="scss">
page {
background-color: #f0f2f6;
}
.dynamicModel-v {
height: 100%;
}
</style>