保誠-保戶業務員媒合平台
Tomas
2021-12-22 23f7ec5f7cd67322617e623361a5620d405dfeda
refactor: separate api/appointment.ts into several services
刪除1個檔案
修改5個檔案
58 ■■■■■ 已變更過的檔案
PAMapp/components/Client/ClientCard.vue 3 ●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
PAMapp/shared/api/appointment.ts 29 ●●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
PAMapp/shared/services/appointment.service.ts 9 ●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
PAMapp/shared/services/my-consultant.service.ts 8 ●●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
PAMapp/shared/services/reviews.service.ts 5 ●●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
PAMapp/store/index.ts 4 ●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
PAMapp/components/Client/ClientCard.vue
@@ -100,6 +100,7 @@
import { isMobileDevice } from '~/shared/device';
import { hideReviews } from '~/shared/const/hide-reviews';
import { ClientInfo } from '~/shared/models/client.model';
import myConsultantService from '~/shared/services/my-consultant.service';
@Component({
@@ -198,7 +199,7 @@
    }
    markAppointment() {
        appointmentService.markAsContact(this.client.id).then(data => {
        myConsultantService.markAsContact(this.client.id).then(data => {
            // TODO: è¦æŽ¥å¾Œå°å‚³å›žçš„ updated client è³‡æ–™ - Ben 2021/11/16
            const updatedClient = {...this.client};
            updatedClient.communicateStatus = 'contacted';
PAMapp/shared/api/appointment.ts
Àɮפw§R°£
PAMapp/shared/services/appointment.service.ts
@@ -16,16 +16,9 @@
    });
  }
  // é¡§å•ç™»å…¥é¡¯ç¤ºæ–°é ç´„單筆數後觸發
  private viewAllAppointment(): void {
    http.post('/consultant/record/allAppointmentsView').then();
  }
  // æ¨™è¨˜ç‚ºå·²è¯çµ¡
  markAsContact(appointmentId: number): Promise<void> {
      // TODO: è·Ÿå¾Œç«¯ç¢ºèªï¼Œé€™è£¡çš„ API ä¸æ‡‰è©²å‚³å›ž void, è€Œæ˜¯æ‡‰è©²æ˜¯æ›´æ–°å¾Œçš„資料 - Ben 2021/11/16
      // return http.post('/appointment/markAsContacted/'+appointmentId, undefined, {headers})
      //         .then(res => res.data)
      return http.post(`/appointment/markAsContacted/${appointmentId}`);
  }
  // è®€å–預約單時觸發,紀錄讀取預約單時間
PAMapp/shared/services/my-consultant.service.ts
@@ -29,6 +29,14 @@
    return http.delete(`/consultant/favorite/${agentId}`);
  }
  // æ¨™è¨˜ç‚ºå·²è¯çµ¡
  markAsContact(appointmentId: number): Promise<void> {
    // TODO: è·Ÿå¾Œç«¯ç¢ºèªï¼Œé€™è£¡çš„ API ä¸æ‡‰è©²å‚³å›ž void, è€Œæ˜¯æ‡‰è©²æ˜¯æ›´æ–°å¾Œçš„資料 - Ben 2021/11/16
    // return http.post('/appointment/markAsContacted/'+appointmentId, undefined, {headers})
    //         .then(res => res.data)
    return http.post(`/appointment/markAsContacted/${appointmentId}`);
  }
}
export default new MyConsultantService();
PAMapp/shared/services/reviews.service.ts
@@ -1,6 +1,7 @@
import { http } from "./httpClient";
import { UserReviewsConsultantsParams } from "../models/reviews.model";
import { AppointmentLog } from "../models/appointment.model";
class ReviewsService {
@@ -8,6 +9,10 @@
  userReviewsConsultants(data: UserReviewsConsultantsParams) {
    return http.post('/satisfaction/create', data );
  }
  //取得所有評分紀錄
  async getMyReviewLog(): Promise<AppointmentLog[]> {
    return http.get('/satisfaction/getMySatisfaction').then(res => res.data);
  }
}
export default new ReviewsService();
PAMapp/store/index.ts
@@ -1,12 +1,12 @@
import { StrictQueryParams } from '~/shared/models/strict-query.model';
import { Module, VuexModule, Mutation, Action } from 'vuex-module-decorators'
import { getMyReviewLog } from '~/shared/api/appointment';
import { getFavoriteFromStorage, setFavoriteToStorage } from '~/shared/storageConsultant';
import myConsultantService from '~/shared/services/my-consultant.service';
import queryConsultantService from '~/shared/services/query-consultant.service';
import appointmentService from '~/shared/services/appointment.service';
import reviewsService from '~/shared/services/reviews.service';
import { Consultant } from '~/shared/models/consultant.model';
import { AppointmentLog } from '~/shared/models/appointment.model';
@@ -136,7 +136,7 @@
    @Action
    storeMyAppointmentReviewLog() {
        getMyReviewLog().then((data) => {
        reviewsService.getMyReviewLog().then((data) => {
            const dataWithLatestDate = data.map((item) => {
                return {
                    ...item,