From 6fa4bba623713c396432ba8b863846883d6a1906 Mon Sep 17 00:00:00 2001
From: wayne <wayne8692wayne8692@gmail.com>
Date: 星期三, 26 一月 2022 10:52:23 +0800
Subject: [PATCH] Merge branch 'pollex-dev' into sit

---
 PAMapp/shared/models/appointment.model.ts |  251 ++++++++++++++++++++++++++++++++++----------------
 1 files changed, 170 insertions(+), 81 deletions(-)

diff --git a/PAMapp/shared/models/appointment.model.ts b/PAMapp/shared/models/appointment.model.ts
index 1774dd6..9a66ebe 100644
--- a/PAMapp/shared/models/appointment.model.ts
+++ b/PAMapp/shared/models/appointment.model.ts
@@ -1,95 +1,184 @@
+import { ContactStatus } from "./enum/contact-status";
+
 export interface AppointmentLog {
-    id              : number,
-    createdDate     : Date,
-    lastModifiedDate: Date,
-    customerId      : number,
-    agentNo         : string,
-    status          : 'UNFILLED' | 'FILLED',
-    score           : number,
-    agentName       : string,
-    customerName    : string,
-}
-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;
-};
-export interface AppointmentWithConsultantInfo extends Appointment {
-  consultantName      : string;
-  consultantAvatar    : string;
-  consultantExpertList: string[]
-  updateTime          : Date | string;
-  contactStatus       : string;
+    agentName       : string;
+    agentNo         : string;
+    appointmentId   : number;
+    createdDate     : string;
+    customerId      : number;
+    customerName    : string;
+    id              : number;
+    lastModifiedDate: string;
+    score           : number;
+    status          : 'UNFILLED' | 'FILLED';
 }
 
-export interface AppointmentDetail {
-  id               : number;
-  phone            : string;
-  email            : string;
-  contactType      : string;
-  gender           : string;
-  age              : string;
-  job              : string;
-  requirement      : string;
-  communicateStatus: string;
-  hopeContactTime  : string;
-  otherRequirement : string;
-  appointmentDate  : string;
-  agentNo          : string;
-  customerId       : number;
-  name             : string;
+export interface Appointment {
+  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 {
+  consultantAvatar    : string;
+  consultantExpertList: string[];
+  consultantName      : string;
+  contactStatus       : string;
+  updateTime          : string;
+}
+
 export interface AppointmentParams {
-  phone          : string;
-  email          : string;
-  contactType    : string;
-  gender         : string;
   age            : string;
-  job            : string;
-  requirement    : string;
-  hopeContactTime: string;
   agentNo        : string;
+  contactType    : string;
+  email          : string;
+  gender         : string;
+  hopeContactTime: string;
+  job            : string;
+  phone          : string;
+  requirement    : string;
 }
+
 export interface EditAppointmentParams {
-  id              : number,
-  phone           : string,
-  email           : string,
-  contactType     : string,
-  gender          : string,
-  age             : string,
-  job             : string,
-  requirement     : string,
-  hopeContactTime : string,
-  otherRequirement: null
+  age             : string;
+  contactType     : string;
+  email           : string;
+  gender          : string;
+  hopeContactTime : string;
+  id              : number;
+  job             : string;
+  otherRequirement: null;
+  phone           : string;
+  requirement     : string;
 }
+
 export interface AppointmentRequests {
-  phone          : string,
-  email          : string,
-  contactType    : string,
-  gender         : string,
-  age            : string,
-  job            : string,
-  requirement    : string[],
-  hopeContactTime: ContactTime[],
-  agentNo        : string,
+  age            : string;
+  agentNo        : string;
+  contactType    : string;
+  email          : string;
+  gender         : string;
+  hopeContactTime: ContactTime[];
+  job            : string;
+  phone          : string;
+  requirement    : string[];
 }
+
 export interface ContactTime {
-selectWeekOptions : string[],
-selectTimesOptions: string[]
+  selectTimesOptions: string[];
+  selectWeekOptions : string[];
+}
+
+export interface createdMemoInfo {
+  appointmentId: number;
+  content      : string;
+}
+
+export interface updatedMemoInfo {
+  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