basic-form.vue 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  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 v-model="form.date1" type="date" placeholder="Pick a date" style="width: 100%" />
  15. </el-col>
  16. <el-col :span="2" class="text-center">
  17. <span class="text-gray-500">-</span>
  18. </el-col>
  19. <el-col :span="11">
  20. <el-time-picker v-model="form.date2" placeholder="Pick a time" style="width: 100%" />
  21. </el-col>
  22. </el-form-item>
  23. <el-form-item label="Instant delivery">
  24. <el-switch v-model="form.delivery" />
  25. </el-form-item>
  26. <el-form-item label="Activity type">
  27. <el-checkbox-group v-model="form.type">
  28. <el-checkbox label="Online activities" name="type" />
  29. <el-checkbox label="Promotion activities" name="type" />
  30. <el-checkbox label="Offline activities" name="type" />
  31. <el-checkbox label="Simple brand exposure" name="type" />
  32. </el-checkbox-group>
  33. </el-form-item>
  34. <el-form-item label="Resources">
  35. <el-radio-group v-model="form.resource">
  36. <el-radio label="Sponsor" />
  37. <el-radio label="Venue" />
  38. </el-radio-group>
  39. </el-form-item>
  40. <el-form-item label="Activity form">
  41. <el-input v-model="form.desc" type="textarea" />
  42. </el-form-item>
  43. <el-form-item>
  44. <el-button type="primary" @click="onSubmit">Create</el-button>
  45. <el-button>Cancel</el-button>
  46. </el-form-item>
  47. </el-form>
  48. </template>
  49. <script lang="ts" setup>
  50. import { reactive } from 'vue'
  51. // do not use same name with ref
  52. const form = reactive({
  53. name: '',
  54. region: '',
  55. date1: '',
  56. date2: '',
  57. delivery: false,
  58. type: [],
  59. resource: '',
  60. desc: '',
  61. })
  62. const onSubmit = () => {
  63. console.log('submit!')
  64. }
  65. </script>