xm-law-progress-open-task.vue 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. <template>
  2. <sd-form ref="form" :init-values="fields">
  3. <template v-slot="{ model }">
  4. <sd-form-item
  5. v-for="field in fields"
  6. :key="field.name"
  7. :name="field.name"
  8. :label="field.dataType === 'collection' ? null : undefined"
  9. :hidden="!!field.sdHidden"
  10. @change="(value) => valueChange(value, field.name)"
  11. >
  12. </sd-form-item>
  13. </template>
  14. </sd-form>
  15. </template>
  16. <script>
  17. import components from './_import-components/xm-law-progress-open-task-import'
  18. export const metaInfo = {
  19. name: '打开纠纷/案件作业',
  20. order: 150,
  21. }
  22. export default {
  23. name: 'XmLawProgressOpenTask',
  24. components: {
  25. ...components,
  26. },
  27. props: {
  28. dataSource: {
  29. type: Object,
  30. default: () => {},
  31. },
  32. },
  33. data() {
  34. return {
  35. fields: [
  36. {
  37. name: 'comTaskLink',
  38. caption: '页面地址',
  39. dataType: 'string',
  40. },
  41. {
  42. name: 'appModuleId',
  43. caption: '模块表单ID',
  44. dataType: 'string',
  45. },
  46. // {
  47. // name: 'businessTypeId',
  48. // caption: '业务类型',
  49. // dataType: 'string',
  50. // },
  51. {
  52. name: 'newWindow',
  53. caption: '新窗口打开',
  54. dataType: 'selectlist',
  55. attr: {
  56. defaultValue: '1',
  57. selectListItem: [
  58. { label: '是', value: '1' },
  59. { label: '否', value: '0' },
  60. ],
  61. },
  62. },
  63. {
  64. name: 'strtype',
  65. caption: '所属业务',
  66. dataType: 'selectlist',
  67. attr: {
  68. defaultValue: '1',
  69. selectListItem: [
  70. { label: '纠纷', value: '1' },
  71. { label: '案件', value: '2' },
  72. ],
  73. },
  74. },
  75. {
  76. name: 'strjftype',
  77. caption: '所属类型',
  78. dataType: 'selectlist',
  79. attr: {
  80. defaultValue: '1',
  81. selectListItem: [
  82. { label: '进展', value: '1' },
  83. { label: '结案', value: '2' },
  84. { label: '查看', value: 'view' },
  85. ],
  86. displayExpr: '#bean.strtype == "1"',
  87. },
  88. },
  89. {
  90. name: 'strcasetype',
  91. caption: '所属类型',
  92. dataType: 'selectlist',
  93. attr: {
  94. defaultValue: '1',
  95. selectListItem: [
  96. { label: '案件进展', value: '1' },
  97. { label: '案件结案', value: '2' },
  98. { label: '案件执行', value: '3' },
  99. { label: '执行结案', value: '4' },
  100. { label: '查看', value: 'view' },
  101. ],
  102. displayExpr: '#bean.strtype == "2"',
  103. },
  104. },
  105. ],
  106. businessTypeOptions: [],
  107. }
  108. },
  109. computed: {},
  110. created() {
  111. // 编辑时
  112. if (Object.keys(this.dataSource).length > 0) {
  113. this.fields.forEach((f) => {
  114. const value = this.dataSource[f.name]
  115. if (value && typeof value === 'object') {
  116. f.value = JSON.stringify(value)
  117. } else {
  118. f.value = value
  119. }
  120. })
  121. } else {
  122. // 新建,赋默认值
  123. this.dataSource.newWindow = '1' // 新窗口
  124. this.dataSource.strtype = '1' // 纠纷
  125. this.dataSource.strjftype = '1' // 进展
  126. this.dataSource.strcasetype = '1' // 案件进展
  127. }
  128. },
  129. methods: {
  130. validate() {
  131. return this.$refs.form.validateFields()
  132. },
  133. valueChange(value, field) {
  134. this.dataSource[field] = value.target ? value.target.value : value
  135. },
  136. },
  137. }
  138. </script>
  139. <style module lang="scss">
  140. @use '@/common/design' as *;
  141. </style>