update: 刪除重複的 interface: appointmentDeatil => appointment
| | |
| | | import UtilsService from '~/shared/services/utils.service'; |
| | | import { hideReviews } from '~/shared/const/hide-reviews'; |
| | | import { ElRow } from 'element-ui/types/row'; |
| | | import { Appointment, AppointmentMemoInfo, ToInformAppointment } from '~/shared/models/appointment.model'; |
| | | import { Appointment, AppointmentMemoInfo } from '~/shared/models/appointment.model'; |
| | | import { ContactStatus } from '~/shared/models/enum/contact-status'; |
| | | |
| | | const localStorage = namespace('localStorage'); |
| | |
| | | </section> |
| | | |
| | | <section class="mt-30"> |
| | | <AppointmentRecordList /> |
| | | <AppointmentRecordList :noticeLogs="appointmentDetail.appointmentNoticeLogs" /> |
| | | </section> |
| | | |
| | | </div> |
| | |
| | | import { Vue, Component } from 'vue-property-decorator'; |
| | | |
| | | import appointmentService from '~/shared/services/appointment.service'; |
| | | import { AppointmentDetail } from '~/shared/models/appointment.model'; |
| | | import { Appointment } from '~/shared/models/appointment.model'; |
| | | import { ContactStatus } from '~/shared/models/enum/contact-status'; |
| | | |
| | | @Component |
| | | export default class AppointmentDetailComponent extends Vue { |
| | | |
| | | appointmentDetail!: AppointmentDetail; |
| | | appointmentDetail!: Appointment; |
| | | isVisibleDialog = false; |
| | | interviewTxt = ""; |
| | | contactStatus = ContactStatus; |
| | |
| | | phone : string; |
| | | requirement : string; |
| | | satisfactionScore : number; |
| | | appointmentNoticeLogs: NoticeLogs[]; |
| | | }; |
| | | |
| | | export interface AppointmentMemoInfo { |
| | |
| | | lastModifiedBy : string; |
| | | lastModifiedDate: string; |
| | | } |
| | | |
| | | export interface NoticeLogs { |
| | | id: number, |
| | | phone: string, |
| | | email: string, |
| | | appointmentId: number, |
| | | content: string, |
| | | createdDate: string |
| | | } |
| | | export interface AppointmentWithConsultantInfo extends Appointment { |
| | | consultantAvatar : string; |
| | | consultantExpertList: string[]; |
| | | consultantName : string; |
| | | contactStatus : string; |
| | | updateTime : string; |
| | | } |
| | | |
| | | export interface AppointmentDetail { |
| | | age : string; |
| | | agentNo : string; |
| | | appointmentDate : string; |
| | | appointmentMemoList?: string[]; |
| | | communicateStatus : string; |
| | | consultantReadTime : string; |
| | | consultantViewTime : string; |
| | | contactTime : string; |
| | | contactType : string; |
| | | customerId : number; |
| | | email : string; |
| | | gender : string; |
| | | hopeContactTime : string; |
| | | id : number; |
| | | interviewRecordDTOs : InterviewRecord[]; |
| | | job : string; |
| | | lastModifiedDate : string; |
| | | name : string; |
| | | otherRequirement : string; |
| | | phone : string; |
| | | requirement : string; |
| | | satisfactionScore? : number; |
| | | } |
| | | export interface AppointmentParams { |
| | | age : string; |
| | |
| | | import { http } from "./httpClient"; |
| | | |
| | | import { Appointment, AppointmentDetail, AppointmentMemoInfo, createdMemoInfo, EditAppointmentParams, InterviewRecordInfo, ToCloseAppointment, ToDoneAppointment, ToInformAppointment, updatedMemoInfo, UpdateInterviewRecordInfo } from "~/shared/models/appointment.model"; |
| | | import { Appointment, AppointmentMemoInfo, createdMemoInfo, EditAppointmentParams, InterviewRecordInfo, ToCloseAppointment, ToDoneAppointment, ToInformAppointment, updatedMemoInfo, UpdateInterviewRecordInfo } from "~/shared/models/appointment.model"; |
| | | |
| | | class AppointmentService { |
| | | |
| | |
| | | } |
| | | |
| | | // 取得預約單細節 |
| | | async getAppointmentDetail(appointmentId: number):Promise<AppointmentDetail> { |
| | | async getAppointmentDetail(appointmentId: number):Promise<Appointment> { |
| | | return http.get(`/appointment/getDetail/${appointmentId}`).then((res) => res.data); |
| | | } |
| | | |