保誠-保戶業務員媒合平台
Tomas
2022-02-08 8fa88b545738ee12dadf18431f78788d1e104fa7
update#134583: 客戶端-預約完成後給平台滿意度
修改4個檔案
53 ■■■■ 已變更過的檔案
PAMapp/pages/questionnaire/_agentNo.vue 28 ●●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
PAMapp/shared/models/reviews.model.ts 16 ●●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
PAMapp/shared/services/query-consultant.service.ts 2 ●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
PAMapp/shared/services/reviews.service.ts 7 ●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
PAMapp/pages/questionnaire/_agentNo.vue
@@ -121,24 +121,19 @@
    <PopUpFrame :isOpen.sync="sendReserve" @update:isOpen="closeReservePopUp">
        <div class="mdTxt mt-30 sendReserve-txt">預約成功!</div>
        <div class="mdTxt sendReserve-txt mb-30">您預約的顧問會儘速與您聯絡!</div>
        <!-- TODO: 未串接 api, 隱藏平台滿意度 -->
        <!-- <div class="pam-app-review mb-10">
        <div class="pam-app-review mb-10">
          <div class="mdTxt mb-10">對於
                <span class="mdTxt text--primary text--bold ">服務媒合</span>
                平台的整體服務,
            </div>
          <div class="mdTxt">您給予幾顆星評價?</div>
        </div>
        <el-rate v-model="score" class="pam-satisfaction-rate fix-chrome-click--issue"></el-rate> -->
        <el-rate v-model="score" class="pam-satisfaction-rate fix-chrome-click--issue"></el-rate>
        <div class="text--center mdTxt">
          <!-- <el-button @click="closeReservePopUp">略過</el-button>
          <el-button @click="closeReservePopUp">略過</el-button>
          <el-button type="primary"
            @click="closeReservePopUp">
            @click="reviewPlatform">
            送出
          </el-button> -->
          <el-button type="primary"
            @click="closeReservePopUp">
            我知道了
          </el-button>
        </div>
    </PopUpFrame>
@@ -164,11 +159,13 @@
import appointmentService from '~/shared/services/appointment.service';
import authService from '~/shared/services/auth.service';
import queryConsultantService from '~/shared/services/query-consultant.service';
import reviewsService from '~/shared/services/reviews.service';
import { Consultant } from '~/shared/models/consultant.model';
import { ContactType } from '~/shared/models/enum/ContactType';
import { Gender } from '~/shared/models/enum/Gender';
import { RegisterInfo } from '~/shared/models/registerInfo';
import { AppointmentParams, AppointmentRequests } from '~/shared/models/appointment.model';
import { UserReviewPlatformParams } from '~/shared/models/reviews.model';
  const roleStorage = namespace('localStorage');
  @Component
@@ -185,7 +182,7 @@
    @roleStorage.State
    recommendConsultantItem!:string;
    score ="" ;
    score = 0;
    genderOptions=[
      {
@@ -450,6 +447,7 @@
        queryConsultantService.appointmentDemand(data).then(res => {
            this.sendReserve = true;
            this.myRequest.hopeContactTime = [];
            this.appointmentId = res['id'];
            setRequestsToStorage(this.myRequest);
        });
    }
@@ -461,6 +459,16 @@
        ).toString();
    }
    reviewPlatform(): void {
      const reviewPlatformParams: UserReviewPlatformParams = {
        appointmentId: this.appointmentId,
        score: this.score
      };
      reviewsService.reviewPlatform(reviewPlatformParams).then((_) => {
        this.closeReservePopUp();
      });
    }
    closeReservePopUp() {
        this.sendReserve = false;
        this.$router.push('/')
PAMapp/shared/models/reviews.model.ts
@@ -18,4 +18,18 @@
  createdDate: string;
  /** 已讀時間 */
  readDate: string;
}
}
export interface UserReviewPlatformParams {
  appointmentId: number;
  score        : number;
}
export interface UserReviewPlatformRes {
  agentNo?     : string;
  appointmentId: number;
  customerId   : string;
  id           : number,
  score        : string;
  type         : 'APPOINTMENT' | 'SYSTEM';
}
PAMapp/shared/services/query-consultant.service.ts
@@ -29,7 +29,7 @@
  // 預約前詢問
  async appointmentDemand(data: AppointmentParams) {
    return http.post('/appointment/customer/create', data);
    return http.post('/appointment/customer/create', data).then((res) => res.data);
  }
}
PAMapp/shared/services/reviews.service.ts
@@ -1,6 +1,6 @@
import { http } from "./httpClient";
import { NotificationList, UserReviewsConsultantsParams } from "../models/reviews.model";
import { NotificationList, UserReviewPlatformParams, UserReviewPlatformRes, UserReviewsConsultantsParams } from "../models/reviews.model";
import { AppointmentLog } from "../models/appointment.model";
class ReviewsService {
@@ -35,6 +35,11 @@
  readAllMyNotification() {
    return http.post('/personal_notification/readAllMyNotification')
  }
  // 客戶填寫平台滿意度
  reviewPlatform(params: UserReviewPlatformParams): Promise<UserReviewPlatformRes> {
    return http.post('/satisfaction/system/score', params);
  }
}
export default new ReviewsService();