index.vue 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. <template>
  2. <view class="dynamicModel-v">
  3. <view class="jnpf-wrap jnpf-wrap-form" v-if="isShow">
  4. <childForm ref="child" :config="config" />
  5. </view>
  6. </view>
  7. </template>
  8. <script>
  9. import childForm from '@/pages/workFlow/flowBefore/form'
  10. import {
  11. getConfigData
  12. } from '@/api/apply/visualDev'
  13. import {
  14. getStartFormInfo
  15. } from '@/api/workFlow/workFlowForm'
  16. export default {
  17. name: 'scanForm',
  18. components: {
  19. childForm
  20. },
  21. data() {
  22. return {
  23. config: {},
  24. formConf: {},
  25. isShow: false,
  26. formInfo: {},
  27. }
  28. },
  29. onLoad(data) {
  30. let obj = JSON.parse(data.config)
  31. this.initData(obj)
  32. },
  33. methods: {
  34. initData(data) {
  35. if (data.previewType === 'initiationForm') {
  36. uni.setNavigationBarTitle({
  37. title: data.title
  38. })
  39. getStartFormInfo(data.taskId).then(res => {
  40. this.formInfo = res.data.formInfo;
  41. this.config = {
  42. ...data,
  43. formData: res.data.formData || {},
  44. formConf: this.formInfo.formData,
  45. readonly: true,
  46. formType: 1
  47. }
  48. this.isShow = true
  49. })
  50. } else {
  51. getConfigData(data.id, {
  52. type: data.previewType
  53. }).then(res => {
  54. if (!res.data || !res.data.formData) return
  55. this.config = {
  56. formEnCode: data.enCode,
  57. flowId: res.data.id,
  58. formConf: res.data.formData
  59. }
  60. this.isShow = true
  61. })
  62. }
  63. }
  64. }
  65. }
  66. </script>
  67. <style lang="scss">
  68. page {
  69. background-color: #f0f2f6;
  70. }
  71. .dynamicModel-v {
  72. height: 100%;
  73. }
  74. </style>