保誠-保戶業務員媒合平台
Tomas
2022-01-19 22ee840d8c9a79e56609351fa67e6c2ac9f620bb
PAMapp/components/Interview/InterviewMsg.vue
@@ -41,16 +41,29 @@
  </div>
</template>
<script lang="ts">
import { Vue, Component, Prop, PropSync, Emit, Action } 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';
import { ContactStatus } from '~/shared/models/enum/contact-status';
const appointmentStore = namespace('appointment.store');
@Component
export default class InterviewMsg extends Vue {
    @Action
    storeMyAppointmentList!: () => Promise<number>;
    @appointmentStore.Action
    getMyAppointmentList!: () => Promise<Appointment[]>;
    @appointmentStore.Action
    updateMyAppointmentList!:(appointment: Appointment) => Appointment[];
    @appointmentStore.Action
    updateAppointmentDetail!: (appointmentId: number) => Promise<Appointment>;
    @appointmentStore.State
    appointmentDetail!: Appointment;
    @PropSync('isVisible')
    dialogVisible!: boolean;
@@ -66,15 +79,15 @@
        return;
    }
    interviewTime      = '';
    interviewTxt       = '';
    isShowSuccessAlert = false;
    interviewTxt = "";
    interviewTime = '';
    contactStatus = ContactStatus;
    //////////////////////////////////////////////////////////////////////
    addInterview() {
      console.log('client', this.client);
      const appointmentInformation: ToInformAppointment = {
        appointmentId: this.client.id,
        email        : this.client?.email,
@@ -82,15 +95,22 @@
        message      : this.interviewTxt,
        phone        : this.client?.phone,
      };
      appointmentService.informAppointment(appointmentInformation).then((_) => {
        this.isShowSuccessAlert = true ;
        const updatedAppointment = {
          ...this.appointmentDetail,
          communicateStatus: this.contactStatus.CONTACTED,
        };
        this.updateMyAppointmentList(updatedAppointment);
        this.updateAppointmentDetail(updatedAppointment.id);
      });
    }
    closeAllDialog() {
      this.isShowSuccessAlert = false ;
      this.dialogVisible = false;
      this.storeMyAppointmentList();
      this.getMyAppointmentList();
    }
}