| | |
| | | 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); |
| | | } |
| | | |
| | |
| | | return http.delete(`/appointment/memo/${appointmentMemoId}`) |
| | | } |
| | | |
| | | // 預約單結案 |
| | | // 預約單結案, 更新結案明細 |
| | | async closeAppointment(appointmentInfo: ToDoneAppointment | ToCloseAppointment) { |
| | | return http.post(`/appointment/close`, appointmentInfo).then((res) => res.data); |
| | | } |
| | |
| | | async deleteInterviewRecord(interviewRecordId) { |
| | | return http.delete(`/interview_record/${interviewRecordId}`); |
| | | } |
| | | |
| | | // 客戶取得最新預約的未處理預約單 |
| | | async getNotContactAppointment(): Promise<Appointment> { |
| | | return http.get(`/appointment/customer/expiring/newest`).then((res) => res.data); |
| | | } |
| | | |
| | | // 顧問取得未處理預約單數量通知 |
| | | async getPendingAppointmentSum(): Promise<number> { |
| | | return http.get(`/appointment/consultant/pending/sum`).then((res) => res.data) |
| | | } |
| | | |
| | | } |
| | | |
| | | export default new AppointmentService(); |