保誠-保戶業務員媒合平台
Tomas
2023-09-01 bce34327a0aa3d6ea8365423df9962c13f256ab4
PAMapp/shared/services/appointment.service.ts
@@ -16,8 +16,17 @@
  }
  // 顧問瀏覽自己所有的預約單紀錄觸發API
  private viewAllAppointment(): void {
    http.post('/consultant/record/allAppointmentsView').then();
  private async viewAllAppointment(): Promise<void> {
    try {
      const response = await http.post('/consultant/record/allAppointmentsView');
      if (response !== null) {
      } else {
        throw new Error('http.post returned null-like value.');
      }
    } catch (error) {
      console.error('An error occurred while viewing all appointments:', error);
      throw error;
    }
  }
  // 讀取預約單時觸發,紀錄讀取預約單時間
@@ -40,10 +49,27 @@
    return http.put('/appointment', editAppointmentParams);
  }
  // 新增註記
  /**
   * 新增註記
   * @param memoInfo 包含新增註記相關資訊的物件
   * @returns 回傳新增的註記資訊
   */
  async createMemo(memoInfo: createdMemoInfo): Promise<AppointmentMemoInfo> {
    return http.post('/appointment/memo/create', memoInfo).then(res => res.data);
    try {
      const response = await http.post('/appointment/memo/create', memoInfo);
      // 弱掃 test2: 改為判斷 !response
      if (!response) {
        throw new Error('http.post returned null-like value.');
      } else {
        return response.data;
      }
    } catch (error) {
      // 可以在此處處理錯誤或回傳預設值
      console.error('An error occurred while creating memo:', error);
      throw error;
    }
  }
  /**
   * 編輯註記
@@ -71,19 +97,66 @@
    return http.delete(`/appointment/memo/${appointmentMemoId}`)
  }
  // 預約單結案, 更新結案明細
  /**
   * 預約單結案, 更新結案明細
   * @param appointmentInfo 包含結案相關資訊的物件
   * @returns 回傳結案結果
   */
  async closeAppointment(appointmentInfo: ToDoneAppointment | ToCloseAppointment) {
    return http.post(`/appointment/close`, appointmentInfo).then((res) => res.data);
    // 弱掃Test5: 重新包裝為 promise
    try {
      const response = await http.post(`/appointment/close`, appointmentInfo);
      const responsePromise = new Promise((resolve, reject) => {
        if (response !== null) {
          resolve(response.data);
        } else {
          reject('http.post returned null-like value.');
        }
      });
      if (!response) {
        throw new Error('http.post returned null-like value.');
      } else {
        return responsePromise.then(res => res);
      }
    } catch (error) {
      // 可以在此處處理錯誤或回傳預設值
      console.error('An error occurred while closing appointment:', error);
      throw error;
    }
  }
  // 約訪通知 API
  async informAppointment(appointmentInformation: ToInformAppointment) {
    return http.post(`/notice/send`, appointmentInformation).then((res) => res.data);
    try {
      const response = await http.post(`/notice/send`, appointmentInformation);
      if (response !== null) {
        return response.data;
      } else {
        throw new Error('http.post returned null-like value.');
      }
    } catch (error) {
      console.error('An error occurred while informing appointment:', error);
      // 可以在此處處理錯誤或回傳預設值
      throw error;
    }
  }
  // 新增約訪記錄
  async createInterviewRecord(interviewRecordInfo: InterviewRecordInfo) {
    return http.post('/interview_record/create', interviewRecordInfo).then(res => res.data);
    try {
      const response = await http.post('/interview_record/create', interviewRecordInfo);
      if (response !== null) {
        return response.data;
      } else {
        throw new Error('http.post returned null-like value.');
      }
    } catch (error) {
      console.error('An error occurred while creating interview record:', error);
      // 可以在此處處理錯誤或回傳預設值
      throw error;
    }
  }
  // 修改約訪記錄