xm-iam-modify-cpmqrzt.vue 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  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-iam-modify-cpmqrzt-import'
  18. export const metaInfo = {
  19. name: '设置确认状态',
  20. order: 120,
  21. }
  22. export default {
  23. name: 'XmIamModifyCpmqrzt',
  24. components,
  25. data() {
  26. return {
  27. fields: [
  28. {
  29. name: 'fieldName',
  30. caption: '字段名称',
  31. dataType: 'string',
  32. required: true,
  33. attr: {
  34. defaultValue: 'FIND_STATUS',
  35. },
  36. },
  37. {
  38. name: 'fieldValue',
  39. caption: '字段值',
  40. dataType: 'selectlist',
  41. attr: {
  42. defaultValue: '1',
  43. selectListItem: [
  44. { label: '已确认', value: '1' },
  45. { label: '未确认', value: '0' },
  46. ],
  47. },
  48. },
  49. ],
  50. }
  51. },
  52. created() {
  53. // 编辑时
  54. if (Object.keys(this.dataSource).length > 0) {
  55. this.fields.forEach((f) => {
  56. const value = this.dataSource[f.name]
  57. if (value && typeof value === 'object') {
  58. f.value = JSON.stringify(value)
  59. } else {
  60. f.value = value
  61. }
  62. })
  63. } else {
  64. // 新建,赋默认值
  65. this.dataSource.fieldValue = '1' // 新窗口
  66. this.dataSource.fieldName = 'FIND_STATUS'
  67. }
  68. },
  69. methods: {
  70. validate() {
  71. return this.$refs.form.validateFields()
  72. },
  73. valueChange(value, field) {
  74. this.dataSource[field] = value.target ? value.target.value : value
  75. },
  76. },
  77. }
  78. </script>
  79. <style module lang="scss">
  80. @use '@/common/design' as *;
  81. </style>