liding
3 天以前 359f69135b571c8e7b6d046bc849655abfe7075d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
<template>
  <div>
    <parser
      v-if="formConf.fields.length > 0"
      v-loading="loading"
      :is-edit="isCreate === 1"
      :form-conf="formConf"
      :form-edit-data="editData"
      @submit="handlerSubmit"
      @resetForm="resetForm"
    />
    <!--    editData:{{ editData }}-->
    <!--    formConf:{{ formConf }}-->
    <!--    isCreate:{{ isCreate }}-->
  </div>
</template>
 
<script>
/**
   * 注意:和Parser唯一的区别就是这里仅仅传入表单配置id即可自动加载已配置的表单
   *      数据后渲染表单,
   *      其他业务和Parser保持一致
   */
import * as systemFormConfigApi from '@/api/systemFormConfig.js'
import parser from '@/components/FormGenerator/components/parser/Parser'
export default {
  // name: "ZBParser"
  components: { parser },
  props: {
    formId: {
      type: Number,
      required: true
    },
    isCreate: {
      type: Number,
      default: 0 // 0=create 1=edit
    },
    editData: {
      type: Object
    },
  },
  data() {
    return {
      loading: false,
      formConf: { fields: [] }
    }
  },
  mounted() {
    this.handlerGetFormConfig(this.formId)
  },
  methods: {
    handlerGetFormConfig(formId) { // 获取表单配置后生成table列
      this.loading = true
      const _pram = { id: formId }
      systemFormConfigApi.getFormConfigInfo(_pram).then(data => {
        this.formConf = JSON.parse(data.content)
        this.loading = false
      }).catch(()=>{
        this.loading = false
      })
    },
    handlerSubmit(formValue) {
      this.$emit('submit', formValue)
    },
    resetForm(formValue){
      this.$emit('resetForm', formValue)
    }
  }
}
</script>
 
<style scoped>
 
</style>