| | |
| | | </el-input> |
| | | |
| | | <div v-if="client.phone"> |
| | | <div class="mdTxt mt-30 mb-10">預計約訪時段</div> |
| | | <div class="mdTxt mt-30 mb-10 required">預計約訪時段</div> |
| | | <DateTimePicker |
| | | @changeDateTime="interviewTime = $event" |
| | | :isPastDateDisabled="true" |
| | | :defaultValue="defaultValue" |
| | | ></DateTimePicker> |
| | | </div> |
| | | |
| | |
| | | </el-dialog> |
| | | |
| | | <PopUpFrame |
| | | :isOpen.sync="isShowSuccessAlert"> |
| | | :isOpen.sync="isShowSuccessAlert" |
| | | @closePopUp="closeAllDialog"> |
| | | <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> |
| | | </template> |
| | | <script lang="ts"> |
| | | import { Vue, Component, Prop, PropSync, Emit, Action, namespace } from 'nuxt-property-decorator'; |
| | | import { Vue, Component, Prop, PropSync, Emit, namespace } 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>; |
| | | |
| | | @appointmentStore.Action |
| | | updateAppointmentDetail!: (id: number) => Appointment; |
| | | |
| | | @appointmentStore.Action |
| | | getMyAppointmentList!: () => Promise<Appointment[]>; |
| | | |
| | | @PropSync('isVisible') |
| | | dialogVisible!: boolean; |
| | |
| | | |
| | | @Prop() |
| | | client!: Appointment; |
| | | |
| | | @Prop() |
| | | defaultValue!: string; |
| | | |
| | | @Emit('closeDialog') |
| | | closeDialog() { |
| | |
| | | }; |
| | | appointmentService.informAppointment(appointmentInformation).then((_) => { |
| | | this.isShowSuccessAlert = true ; |
| | | this.updateAppointmentDetail(this.client.id); |
| | | }); |
| | | } |
| | | |
| | | closeAllDialog() { |
| | | this.isShowSuccessAlert = false ; |
| | | this.dialogVisible = false; |
| | | this.storeMyAppointmentList(); |
| | | this.updateAppointmentDetail(this.client.id); |
| | | this.getMyAppointmentList(); |
| | | } |
| | | |
| | | get isBtnDisabled() :Boolean { |
| | |
| | | <style lang="scss" > |
| | | .interview-msg-component{ |
| | | |
| | | .required { |
| | | position: relative; |
| | | &::before { |
| | | content: '*'; |
| | | position: absolute; |
| | | color: #FF0000; |
| | | transform: translate(-12px, 0); |
| | | } |
| | | } |
| | | .msg-dialog-title{ |
| | | display: flex; |
| | | justify-content: center; |