| | |
| | | <div class="mt-30"> |
| | | <div class="mdTxt">其他備用聯繫方式</div> |
| | | <div class="ques-header__input-block"> |
| | | <span>手機:</span> |
| | | <input class="ques-header__input" |
| | | <span>手機 : </span> |
| | | <input class="ques-header__input ml-4" |
| | | :class="{'is-invalid': !phoneValid}" |
| | | placeholder="請輸入" |
| | | maxlength="10" |
| | |
| | | <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> |
| | |
| | | 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 |
| | |
| | | @roleStorage.State |
| | | recommendConsultantItem!:string; |
| | | |
| | | score ="" ; |
| | | score = 0; |
| | | |
| | | genderOptions=[ |
| | | { |
| | |
| | | queryConsultantService.appointmentDemand(data).then(res => { |
| | | this.sendReserve = true; |
| | | this.myRequest.hopeContactTime = []; |
| | | this.appointmentId = res['id']; |
| | | setRequestsToStorage(this.myRequest); |
| | | }); |
| | | } |
| | |
| | | return selectedHopeContactTime.map(i => { |
| | | return `'${i.selectWeekOptions}、${i.selectTimesOptions}'`} |
| | | ).toString(); |
| | | } |
| | | |
| | | reviewPlatform(): void { |
| | | const reviewPlatformParams: UserReviewPlatformParams = { |
| | | appointmentId: this.appointmentId, |
| | | score: this.score |
| | | }; |
| | | reviewsService.reviewPlatform(reviewPlatformParams).then((_) => { |
| | | this.closeReservePopUp(); |
| | | }); |
| | | } |
| | | |
| | | closeReservePopUp() { |
| | |
| | | color: #ED1B2E; |
| | | cursor: pointer; |
| | | } |
| | | |
| | | .error { |
| | | color:$PRIMARY_RED |
| | | } |
| | | //送出按鈕樣式與排版 |
| | | .ques-footer{ |
| | | justify-content: center; |
| | |
| | | @extend .text--middle,.mt-10 ; |
| | | .ques-header__input{ |
| | | &.is-invalid{ |
| | | border: 2px solid $PRIMARY_RED !important; |
| | | border: 1px solid $PRIMARY_RED !important; |
| | | } |
| | | flex: 1; |
| | | height: 50px; |
| | |
| | | -moz-box-sizing: border-box; |
| | | } |
| | | } |
| | | |
| | | .ml-4{ |
| | | margin-left: 4px; |
| | | } |
| | | .ques-container { |
| | | position: relative; |
| | | margin: 0px 20px; |