case-library-form.vue 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. <template>
  2. <sd-webflow ref="webflow">
  3. <template v-slot:form="{ model, FlowData }">
  4. <a-spin tip="加载中..." :spinning="spinning">
  5. <sd-form-by-builder ref="builderform" :form-data="FlowData.processFormData" />
  6. </a-spin>
  7. </template>
  8. </sd-webflow>
  9. </template>
  10. <script>
  11. import LawService from '../../law-service'
  12. import components from './_import-components/case-library-form-import'
  13. export default {
  14. name: 'CaseLibraryForm',
  15. metaInfo: {
  16. title: '案件管理-案例库',
  17. },
  18. components,
  19. data() {
  20. return {
  21. spinning: false,
  22. showflag: false,
  23. }
  24. },
  25. created() {
  26. const ini = setInterval(() => {
  27. if (
  28. this.$refs.webflow &&
  29. (this.$refs.webflow.$refs.form || this.$refs.webflow.$refs.sdForm)
  30. ) {
  31. clearInterval(ini)
  32. this.initData()
  33. this.showflag = true
  34. }
  35. }, 100)
  36. },
  37. methods: {
  38. initData() {
  39. if (!this.$route.query.extParams) return
  40. this.spinning = true
  41. const query = JSON.parse(this.$route.query.extParams)
  42. const finishID = query.finishId ? query.finishId : ''
  43. const caseID = query.caseId ? query.caseId : ''
  44. // finishID 结案
  45. // caseId 案件
  46. LawService.getBeanByFormId(finishID, 'onl:6d9b334e035840fba7843dbdccfd6862').then((res) => {
  47. const obj = res.data.pageFormData.pageFieldInfos
  48. obj.forEach((item) => {
  49. if (!this.$refs.webflow.getFieldValue(item.name)) {
  50. this.$refs.webflow.setFieldValue(item.name, item.value)
  51. }
  52. })
  53. this.showflag = true
  54. })
  55. LawService.getBeanByFormId(caseID, 'onl:d0bb8202233c48f0b5148776754461e1').then((res) => {
  56. const obj = res.data.pageFormData.pageFieldInfos
  57. obj.forEach((item) => {
  58. if (!this.$refs.webflow.getFieldValue(item.name)) {
  59. this.$refs.webflow.setFieldValue(item.name, item.value)
  60. }
  61. // 原告
  62. if (item.name === 'LAW_CASE_PLAINTIFF') {
  63. this.$refs.webflow.setFieldValue(
  64. 'LAW_CASE_PLAINTIFF_LIBRARY',
  65. JSON.parse(item.value).map((item) => {
  66. item.MAIN_ID = null
  67. item.id = null
  68. return item
  69. })
  70. )
  71. }
  72. // 被告
  73. if (item.name === 'LAW_CASE_DEFENDANT') {
  74. this.$refs.webflow.setFieldValue(
  75. 'LAW_CASE_DEFENDANT_LIBRARY',
  76. JSON.parse(item.value).map((item) => {
  77. item.MAIN_ID = null
  78. item.id = null
  79. return item
  80. })
  81. )
  82. }
  83. // 第三人 LAW_CASE_THREE
  84. if (item.name === 'LAW_CASE_THREE') {
  85. this.$refs.webflow.setFieldValue(
  86. 'LAW_CASE_THREE_LIBRARY',
  87. JSON.parse(item.value).map((item) => {
  88. item.MAIN_ID = null
  89. item.id = null
  90. return item
  91. })
  92. )
  93. }
  94. })
  95. this.showflag = true
  96. this.spinning = false
  97. })
  98. },
  99. },
  100. }
  101. </script>
  102. <style module lang="scss">
  103. @use '@/common/design' as *;
  104. </style>