Advertisement
Guest User

Untitled

a guest
Feb 24th, 2020
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.49 KB | None | 0 0
  1. <template>
  2.     <v-dialog max-width="600px" v-model="dialog">
  3.         <v-btn flat slot="activator" class="success">เพิ่มกิจกรรมอาสาใหม่</v-btn>
  4.         <v-card>
  5.             <v-card-title>
  6.                 <h2>เพิ่มกิจกรรมจิตอาสา</h2>
  7.             </v-card-title>
  8.             <v-card-text>
  9.                 <v-form class="px-3" ref="form">
  10.                     <v-text-field v-model="title" label="ชื่อกิจกรรม" prepend-icon="folder"
  11.                     :rules="inputRules"></v-text-field>
  12.                     <v-text-field  v-model="content" label="สถานที่ดำเนินการ" prepend-icon="edit"
  13.                     :rules="inputRules"></v-text-field>
  14.  
  15.                     <v-menu v-model="menu" :close-on-content-click="false">
  16.                         <v-text-field slot="activator" :rules="inputRules"
  17.                         :value="formattedDate" clearable label="วันเริ่มต้นกิจกรรม"
  18.                         prepend-icon="date_range">
  19.                         </v-text-field>
  20.                         <v-date-picker v-model="due" @change="menu = false"></v-date-picker>
  21.                     </v-menu>
  22.                    
  23.                     <v-menu v-model="menu" :close-on-content-click="false">
  24.                         <v-text-field slot="activator" :rules="inputRules"
  25.                         :value="formattedDate" clearable label="วันสิ้นสุดกิจกรรม"
  26.                         prepend-icon="date_range">
  27.                         </v-text-field>
  28.                         <v-date-picker v-model="due" @change="menu = false"></v-date-picker>
  29.                     </v-menu>
  30.  
  31.                     <v-text-field v-model="title" label="จำนวนชั่วโมง" prepend-icon="folder"
  32.                     :rules="inputRules"></v-text-field>
  33.  
  34.                     <v-spacer></v-spacer>
  35.                     <v-btn flat @click="submit" class="success mx-0 mt-3"
  36.                     :loading="loading">เพิ่มโครงการ</v-btn>
  37.                 </v-form>
  38.             </v-card-text>
  39.         </v-card>
  40.     </v-dialog>
  41. </template>
  42.  
  43. <script>
  44. import format from 'date-fns/format'
  45. import db from '@/fb'
  46. export default {
  47.     data(){
  48.         return{
  49.             title: '',
  50.             content: '',
  51.             due: null,
  52.             menu: false,
  53.             inputRules: [
  54.                 v => !!v || 'this field is required',
  55.                 v => v.length >= 3 || 'Mininum lenght is 3 characters'
  56.             ],
  57.             loding: false,
  58.             dialog: false
  59.         }
  60.     },
  61.     methods: {
  62.         submit(){
  63.             if(this.$refs.form.validate()){
  64.                 this.loading = true
  65.                 const project = {
  66.                     title: this.title,
  67.                     content: this.content,
  68.                     due: format(this.due, 'Do MMM YYYY'),
  69.                     person: 'anurak',
  70.                     status: 'ongoing'
  71.                 }
  72.                 db.collection('projects').add(project).then(() => {
  73.                     this.loading = false
  74.                     this.dialog = false,
  75.                     this.$emit('projectAdded')
  76.                 })
  77.             }
  78.         }
  79.     },
  80.     computed: {
  81.         formattedDate () {
  82.             console.log(this.due)
  83.             return this.due ? format(this.due, 'Do MMM YYYY') : ''
  84.         }
  85.     }
  86. }
  87. </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement