basic-form.vue 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. <template>
  2. <el-form :model="form" label-width="120px">
  3. <el-form-item label="Activity name">
  4. <el-input v-model="form.name" />
  5. </el-form-item>
  6. <el-form-item label="Activity zone">
  7. <el-select v-model="form.region" placeholder="please select your zone">
  8. <el-option label="Zone one" value="shanghai" />
  9. <el-option label="Zone two" value="beijing" />
  10. </el-select>
  11. </el-form-item>
  12. <el-form-item label="Activity time">
  13. <el-col :span="11">
  14. <el-date-picker
  15. v-model="form.date1"
  16. type="date"
  17. placeholder="Pick a date"
  18. style="width: 100%"
  19. />
  20. </el-col>
  21. <el-col :span="2" class="text-center">
  22. <span class="text-gray-500">-</span>
  23. </el-col>
  24. <el-col :span="11">
  25. <el-time-picker
  26. v-model="form.date2"
  27. placeholder="Pick a time"
  28. style="width: 100%"
  29. />
  30. </el-col>
  31. </el-form-item>
  32. <el-form-item label="Instant delivery">
  33. <el-switch v-model="form.delivery" />
  34. </el-form-item>
  35. <el-form-item label="Activity type">
  36. <el-checkbox-group v-model="form.type">
  37. <el-checkbox label="Online activities" name="type" />
  38. <el-checkbox label="Promotion activities" name="type" />
  39. <el-checkbox label="Offline activities" name="type" />
  40. <el-checkbox label="Simple brand exposure" name="type" />
  41. </el-checkbox-group>
  42. </el-form-item>
  43. <el-form-item label="Resources">
  44. <el-radio-group v-model="form.resource">
  45. <el-radio label="Sponsor" />
  46. <el-radio label="Venue" />
  47. </el-radio-group>
  48. </el-form-item>
  49. <el-form-item label="Activity form">
  50. <el-input v-model="form.desc" type="textarea" />
  51. </el-form-item>
  52. <el-form-item>
  53. <el-button type="primary" @click="onSubmit">Create</el-button>
  54. <el-button>Cancel</el-button>
  55. </el-form-item>
  56. </el-form>
  57. </template>
  58. <script lang="ts" setup>
  59. import { reactive } from 'vue'
  60. // do not use same name with ref
  61. const form = reactive({
  62. name: '',
  63. region: '',
  64. date1: '',
  65. date2: '',
  66. delivery: false,
  67. type: [],
  68. resource: '',
  69. desc: '',
  70. })
  71. const onSubmit = () => {
  72. console.log('submit!')
  73. }
  74. </script>