From 8fa88b545738ee12dadf18431f78788d1e104fa7 Mon Sep 17 00:00:00 2001 From: Tomas <tomasysh@gmail.com> Date: 星期二, 08 二月 2022 15:47:14 +0800 Subject: [PATCH] update#134583: 客戶端-預約完成後給平台滿意度 --- PAMapp/pages/questionnaire/_agentNo.vue | 28 ++++++++++++++++++---------- PAMapp/shared/services/query-consultant.service.ts | 2 +- PAMapp/shared/services/reviews.service.ts | 7 ++++++- PAMapp/shared/models/reviews.model.ts | 16 +++++++++++++++- 4 files changed, 40 insertions(+), 13 deletions(-) diff --git a/PAMapp/pages/questionnaire/_agentNo.vue b/PAMapp/pages/questionnaire/_agentNo.vue index 95e375e..a643225 100644 --- a/PAMapp/pages/questionnaire/_agentNo.vue +++ b/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('/') diff --git a/PAMapp/shared/models/reviews.model.ts b/PAMapp/shared/models/reviews.model.ts index 7e5941e..67f168e 100644 --- a/PAMapp/shared/models/reviews.model.ts +++ b/PAMapp/shared/models/reviews.model.ts @@ -18,4 +18,18 @@ createdDate: string; /** 撌脰����� */ readDate: string; -} \ No newline at end of file +} + +export interface UserReviewPlatformParams { + appointmentId: number; + score : number; +} + +export interface UserReviewPlatformRes { + agentNo? : string; + appointmentId: number; + customerId : string; + id : number, + score : string; + type : 'APPOINTMENT' | 'SYSTEM'; +} diff --git a/PAMapp/shared/services/query-consultant.service.ts b/PAMapp/shared/services/query-consultant.service.ts index a11cd13..8a5a139 100644 --- a/PAMapp/shared/services/query-consultant.service.ts +++ b/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); } } diff --git a/PAMapp/shared/services/reviews.service.ts b/PAMapp/shared/services/reviews.service.ts index a4dcbb4..4a71e41 100644 --- a/PAMapp/shared/services/reviews.service.ts +++ b/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') } + + // 摰X憛怠神撟喳皛踵�漲 + reviewPlatform(params: UserReviewPlatformParams): Promise<UserReviewPlatformRes> { + return http.post('/satisfaction/system/score', params); + } } export default new ReviewsService(); -- Gitblit v1.8.0