my-form-item.vue 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. <template>
  2. <u-form-item class="my-form-item" label=" " label-width="1rpx" :border-bottom="false" :prop="config.formName">
  3. <view>
  4. <view class="top-label flex items-center" :class="{ 'm-t-40rpx m-b-30rpx': isBigTitle }">
  5. <text>{{ config.title }}</text>
  6. </view>
  7. <!-- <TEXT :config="config" :onChange="onChange" type="text"></TEXT> -->
  8. <!-- <SELECT :config="config" :onChange="onChange"></SELECT> -->
  9. <!-- <MULTIPLESELECT :config="config" :onChange="onChange"></MULTIPLESELECT> -->
  10. <!-- <DATE :config="config" :onChange="onChange"></DATE> -->
  11. <!-- <RADIO :config="config" :onChange="onChange"></RADIO> -->
  12. <!-- <CHECKBOX :config="config" :onChange="onChange"></CHECKBOX> -->
  13. <!-- <TEXT :config="config" :onChange="onChange" type="textarea"></TEXT> -->
  14. <!-- <TEXT :config="config" :onChange="onChange" type="number"></TEXT> -->
  15. <!-- <UPLOADIMAGE :config="config" :onChange="onChange"></UPLOADIMAGE> -->
  16. <!-- <RADIOWITHINPUT :config="config" :onChange="onChange"></RADIOWITHINPUT> -->
  17. <!-- <DEVICEINTABLE :config="config" :onChange="onChange"></DEVICEINTABLE> -->
  18. <DEVICEOUTTABLE :config="config" :onChange="onChange"></DEVICEOUTTABLE>
  19. </view>
  20. </u-form-item>
  21. </template>
  22. <script>
  23. import TEXT from './TEXT.vue'
  24. import SELECT from './SELECT.vue'
  25. import MULTIPLESELECT from './MULTIPLE_SELECT.vue'
  26. import DATE from './DATE.vue'
  27. import RADIO from './RADIO.vue'
  28. import CHECKBOX from './CHECKBOX.vue'
  29. import UPLOADIMAGE from './UPLOAD_IMAGE.vue'
  30. import RADIOWITHINPUT from './RADIO_WITH_INPUT.vue'
  31. import DEVICEINTABLE from './DEVICE_IN_TABLE.vue'
  32. import DEVICEOUTTABLE from './DEVICE_OUT_TABLE.vue'
  33. export default {
  34. name: 'MyFormItem',
  35. props: ['config'],
  36. components: { TEXT, SELECT, MULTIPLESELECT, DATE, RADIO, CHECKBOX, UPLOADIMAGE, RADIOWITHINPUT, DEVICEINTABLE, DEVICEOUTTABLE },
  37. computed: {
  38. isBigTitle() {
  39. return this.bigTitles.includes(this.config.code)
  40. }
  41. },
  42. data() {
  43. return {
  44. bigTitles: ['FORM_GROUP_TITLE', 'ONLY_TITLE']
  45. }
  46. },
  47. methods: {
  48. onChange(obj) {
  49. this.$emit('change', obj)
  50. }
  51. }
  52. }
  53. </script>
  54. <style lang="scss" scoped>
  55. .my-form-item {
  56. .top-label {
  57. color: #262626;
  58. font-size: 28rpx;
  59. line-height: 60rpx;
  60. font-weight: bold;
  61. }
  62. }
  63. </style>