From 27d109b5792305d849f578627f98e1cb55a330f4 Mon Sep 17 00:00:00 2001 From: wayne <wayne8692wayne8692@gmail.com> Date: 星期五, 11 三月 2022 15:12:54 +0800 Subject: [PATCH] Merge branch 'Phase3' into pollex-dev --- PAMapp/shared/models/appointment.model.ts | 261 +++++++++++++++++++++++++++++++++------------------ 1 files changed, 167 insertions(+), 94 deletions(-) diff --git a/PAMapp/shared/models/appointment.model.ts b/PAMapp/shared/models/appointment.model.ts index 2fe9173..9bb43ba 100644 --- a/PAMapp/shared/models/appointment.model.ts +++ b/PAMapp/shared/models/appointment.model.ts @@ -1,114 +1,187 @@ +import { ContactStatus } from "./enum/contact-status"; +import { SatisfactionType } from "./enum/satisfaction-type"; + export interface AppointmentLog { - id : number, - createdDate : Date, - lastModifiedDate: Date, - customerId : number, - agentNo : string, - status : 'UNFILLED' | 'FILLED', - score : number, - agentName : string, - customerName : string, + id : number; + createdDate : string; + lastModifiedDate: string; + customerId : number; + agentNo : string; + status : 'UNFILLED' | 'FILLED'; + score : number; + appointmentId : number; + customerName : string; + agentName : string; + type : SatisfactionType; } + export interface Appointment { - id : number; - phone? : string; - email? : string; - contactType : string; - gender : string; - age : string; - job : string; - requirement : string; - communicateStatus : string; - hopeContactTime : string; - otherRequirement? : string; - appointmentDate : string; - lastModifiedDate : string; - agentNo : string; - customerId : number; - name : string; - consultantViewTime?: string; - consultantReadTime?: string; - satisfactionScore? : number; + age : string; + agentNo : string; + appointmentClosedInfo: AppointmentClosedInfo; + appointmentDate : string; + appointmentMemoList : AppointmentMemoInfo[] + appointmentNoticeLogs: NoticeLogs[]; + communicateStatus : ContactStatus; + 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 AppointmentClosedInfo { + appointmentId : number; + closedOtherReason : string; + closedReason : string; + id : number; + planCode : string; + policyEntryDate : string; + policyholderIdentityId: string; + remark : string; +} + +export interface AppointmentMemoInfo { + appointmentId: number; + content : string; + id : number; +} + +export interface InterviewRecord { + appointmentId : number; + content : string; + createdBy : string; + createdDate : string; + id : number; + interviewDate : string; + lastModifiedBy : string; + lastModifiedDate: string; +} + +export interface NoticeLogs { + appointmentId: number, + content : string, + createdDate : string + email : string, + id : number, + phone : string, +} + export interface AppointmentWithConsultantInfo extends Appointment { - consultantName : string; consultantAvatar : string; - consultantExpertList: string[] - updateTime : Date | 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 : string[]; - job : string; - lastModifiedDate : string; - name : string; - otherRequirement : string; - phone : string; - requirement : string; - satisfactionScore? : number; -} export interface AppointmentParams { - phone : string; - email : string; - contactType : string; - gender : string; age : string; - job : string; - requirement : string; - hopeContactTime: string; agentNo : string; -} -export interface EditAppointmentParams { - id : number, - phone : string, - email : string, - contactType : string, - gender : string, - age : string, - job : string, - requirement : string, - hopeContactTime : string, - otherRequirement: null -} -export interface AppointmentRequests { - phone : string, - email : string, - contactType : string, - gender : string, - age : string, - job : string, - requirement : string[], - hopeContactTime: ContactTime[], - agentNo : string, -} -export interface ContactTime { -selectWeekOptions : string[], -selectTimesOptions: string[] + contactType : string; + email : string; + gender : string; + hopeContactTime: string; + job : string; + phone : string; + requirement : string; } +export interface EditAppointmentParams { + age : string; + contactType : string; + email : string; + gender : string; + hopeContactTime : string; + id : number; + job : string; + otherRequirement: null; + phone : string; + requirement : string; +} + +export interface AppointmentRequests { + age : string; + agentNo : string; + contactType : string; + email : string; + name : string; + gender : string; + hopeContactTime: ContactTime[]; + job : string; + phone : string; + requirement : string[]; +} + +export interface ContactTime { + selectTimesOptions: string[]; + selectWeekOptions : string[]; +} export interface createdMemoInfo { - content: string, - appointmentId: number + appointmentId: number; + content : string; } export interface updatedMemoInfo { - content: string, - /** memo id */ - id: number + content: string; + id : number; +} + +export interface ToDoneAppointment { + appointmentId : number; + contactStatus : ContactStatus; + planCode : string; + policyEntryDate : string; + policyholderIdentityId: string; + remark? : string; +} + +export interface ToCloseAppointment { + appointmentId : number; + closedOtherReason: string; + closedReason : string; + contactStatus : ContactStatus; + remark? : string; +} + +export interface NoticeLogs { + appointmentId: number; + content : string; + createdDate : string; + email : string; + id : number; + interviewDate: string; + phone : string; +} + +export interface ToInformAppointment { + appointmentId: number; + email : string; + interviewDate: string; + message : string; + phone : string; +} + +export interface InterviewRecordInfo { + content: string; + interviewDate: string; + appointmentId: number; +} + +export interface UpdateInterviewRecordInfo { + /** interviewRecord id */ + id: number; } -- Gitblit v1.8.0