From e912d42c4a9d806c2a498fef458ef8cb4e9ba405 Mon Sep 17 00:00:00 2001 From: Tomas <tomasysh@gmail.com> Date: 星期三, 23 二月 2022 15:54:12 +0800 Subject: [PATCH] update#135494: [ 客戶端 ] 加入顧問到我的顧問清單後,未顯示加入日期 --- PAMapp/pages/questionnaire/_agentNo.vue | 60 +++++++++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 47 insertions(+), 13 deletions(-) diff --git a/PAMapp/pages/questionnaire/_agentNo.vue b/PAMapp/pages/questionnaire/_agentNo.vue index 95e375e..7134a4d 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> @@ -161,14 +156,19 @@ import { getRequestsFromStorage, removeRequestQuestionFromStorage, setRequestsToStorage } from '~/shared/storageRequests'; import _ from 'lodash'; +import accountSettingService from '~/shared/services/account-setting.service'; 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 { UserSetting } from '~/shared/models/account.model'; +import { SatisfactionType } from '~/shared/models/enum/satisfaction-type'; +import { UserReviewParams } from '~/shared/models/reviews.model'; const roleStorage = namespace('localStorage'); @Component @@ -185,7 +185,10 @@ @roleStorage.State recommendConsultantItem!:string; - score ="" ; + @roleStorage.Mutation + storageUserInfo!: (params: RegisterInfo) => void; + + score = 0; genderOptions=[ { @@ -284,8 +287,9 @@ ]; myRequest: AppointmentRequests = { - phone : this.userInfo?.phone ? this.userInfo.phone : '', - email : this.userInfo?.email ? this.userInfo.email : '', + name : '', + phone : '', + email : '', contactType : _.isEqual(this.userInfo?.contactType,ContactType.SMS) ? ContactType.PHONE: ContactType.EMAIL, gender : '', age : '', @@ -332,6 +336,7 @@ private setMyRequest(): void { const storageMyRequest = getRequestsFromStorage(); const storageMyRequirement = this.recommendConsultantItem ? JSON.parse(this.recommendConsultantItem).requirements:[]; + const contactTypePromise = accountSettingService.getUserAccountSetting(); if (storageMyRequest) { this.myRequest = { @@ -352,6 +357,14 @@ } removeRequestQuestionFromStorage(); } + + contactTypePromise.then((contactTypeDetail) => { + this.myRequest = { + ...this.myRequest, + ...contactTypeDetail + } + }) + } //////////////////////////////////////////////////////////////////////////// @@ -420,8 +433,17 @@ if (this.isEditBtn) { this.editAppointmentDemand(); } else { - queryConsultantService.addFavoriteConsultant([this.$route.params.agentNo]).then(res => this.sentAppointmentDemand()); + queryConsultantService.addFavoriteConsultant([{ agentNo: this.$route.params.agentNo, createdTime: new Date().toString()}]).then(res => this.sentAppointmentDemand()); } + const editSettingInfo: UserSetting = { + name: this.myRequest.name, + phone: this.myRequest.phone, + email: this.myRequest.email, + } + + accountSettingService.updateAccountSetting(editSettingInfo).then((_) => { + this.storageUserInfo(this.userInfo); + }); } private editAppointmentDemand() { @@ -450,6 +472,7 @@ queryConsultantService.appointmentDemand(data).then(res => { this.sendReserve = true; this.myRequest.hopeContactTime = []; + this.appointmentId = res['id']; setRequestsToStorage(this.myRequest); }); } @@ -461,6 +484,17 @@ ).toString(); } + reviewPlatform(): void { + const reviewPlatformParams: UserReviewParams = { + appointmentId: this.appointmentId, + score: this.score, + type: SatisfactionType.SYSTEM + }; + reviewsService.reviewPlatform(reviewPlatformParams).then((_) => { + this.closeReservePopUp(); + }); + } + closeReservePopUp() { this.sendReserve = false; this.$router.push('/') -- Gitblit v1.8.0