| | |
| | | resize="none" |
| | | v-model="interviewTxt"> |
| | | </el-input> |
| | | |
| | | <div class="mdTxt mt-30 mb-10">預計約訪時段</div> |
| | | <DateTimePicker |
| | | @changeDateTime="interviewTime = $event" |
| | | ></DateTimePicker> |
| | | |
| | | <div class="msg-dialog-btn"> |
| | | <el-button :disabled="!interviewTime">傳送</el-button> |
| | | <el-button @click="addInterview" :disabled="!interviewTime">傳送</el-button> |
| | | </div> |
| | | |
| | | </el-dialog> |
| | | |
| | | <PopUpFrame |
| | | :isOpen.sync="isShowSuccessAlert"> |
| | | <div class="text--middle invite-review"> |
| | | <div class="mb-30 mt-10">已發送約訪通知</div> |
| | | <div class="text--primary text--middle cursor--pointer text--underline" @click="closeAllDialog " :size="'250px'">我知道了</div> |
| | | </div> |
| | | </PopUpFrame> |
| | | </div> |
| | | </template> |
| | | <script lang="ts"> |
| | | import { Vue, Component, Prop, PropSync, Emit, Action } from 'nuxt-property-decorator'; |
| | | |
| | | import appointmentService from '~/shared/services/appointment.service'; |
| | | import { Appointment, ToInformAppointment } from '~/shared/models/appointment.model'; |
| | | |
| | | @Component |
| | | export default class InterviewMsg extends Vue { |
| | | |
| | | @Action |
| | | storeMyAppointmentList!: () => Promise<number>; |
| | | |
| | | @PropSync('isVisible') |
| | | dialogVisible!: boolean; |
| | | |
| | |
| | | dialogWidth!:string; |
| | | |
| | | @Prop() |
| | | appointmentId!: number; |
| | | client!: Appointment; |
| | | |
| | | @Emit('closeDialog') |
| | | closeDialog() { |
| | | return; |
| | | } |
| | | |
| | | isShowSuccessAlert = false; |
| | | |
| | | interviewTxt = ""; |
| | | interviewTime = ''; |
| | | |
| | | ////////////////////////////////////////////////////////////////////// |
| | | |
| | | addInterview() { |
| | | console.log('client', this.client); |
| | | const appointmentInformation: ToInformAppointment = { |
| | | appointmentId: this.client.id, |
| | | email : this.client?.email, |
| | | interviewDate: this.interviewTime, |
| | | message : this.interviewTxt, |
| | | phone : this.client?.phone, |
| | | }; |
| | | appointmentService.informAppointment(appointmentInformation).then((_) => { |
| | | this.isShowSuccessAlert = true ; |
| | | }); |
| | | } |
| | | |
| | | closeAllDialog() { |
| | | this.isShowSuccessAlert = false ; |
| | | this.dialogVisible = false; |
| | | this.storeMyAppointmentList(); |
| | | } |
| | | |
| | | } |
| | | </script> |
| | |
| | | display: flex; |
| | | justify-content: center; |
| | | } |
| | | |
| | | .invite-review{ |
| | | display: flex; |
| | | flex-direction: column; |
| | | align-items: center; |
| | | } |
| | | </style> |