| | |
| | | <div class="ques-container"> |
| | | <div class="pam-paragraph"> |
| | | <div class="mdTxt"> |
| | | 想要詢問的問題 |
| | | 想了解的領域 |
| | | <span class="hint text--bold"> |
| | | (可複選) |
| | | </span> |
| | |
| | | <MultiSelectBtn class="mt-10" |
| | | :mutiSelect.sync="myRequest.requirement" |
| | | :options="requirementOptions" /> |
| | | </div> |
| | | <div class="pam-paragraph"> |
| | | <div class="mdTxt">諮詢方式</div> |
| | | <SingleSelectBtn class="mt-10" |
| | | :singleSelected.sync="myRequest.consultationMethod" |
| | | :options="consultationMethodOptions" /> |
| | | </div> |
| | | <div class="pam-paragraph"> |
| | | <div class="mdTxt">您的性別</div> |
| | |
| | | |
| | | <PopUpFrame :isOpen.sync="showDrawer"> |
| | | <div class="qaTextTitle mdTxt"> |
| | | <strong>想要詢問的問題</strong> |
| | | <strong>想了解的領域</strong> |
| | | </div> |
| | | <div class="qa-dialog"> |
| | | <div v-for="(qaText,index) in quesAboutList" :key="index" > |
| | |
| | | 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'; |
| | | 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 |
| | |
| | | { |
| | | title:'女性', |
| | | label:Gender.FEMALE, |
| | | } |
| | | ]; |
| | | |
| | | consultationMethodOptions = [ |
| | | { |
| | | title: '線上', |
| | | label: 'online' |
| | | }, |
| | | { |
| | | title: '線下', |
| | | label: 'offline' |
| | | } |
| | | ]; |
| | | |
| | |
| | | selectTimesOptions: [], |
| | | }], |
| | | agentNo: '', |
| | | consultationMethod: '', |
| | | }; |
| | | |
| | | showDrawer= false; |
| | |
| | | private setMyRequest(): void { |
| | | const storageMyRequest = getRequestsFromStorage(); |
| | | const storageMyRequirement = this.recommendConsultantItem ? JSON.parse(this.recommendConsultantItem).requirements:[]; |
| | | const contactTypePromise = accountSettingService.getUserAccountSetting(); |
| | | |
| | | if (storageMyRequest) { |
| | | this.myRequest = { |
| | |
| | | removeRequestQuestionFromStorage(); |
| | | } |
| | | |
| | | contactTypePromise.then((contactTypeDetail) => { |
| | | this.myRequest = { |
| | | ...this.myRequest, |
| | | ...contactTypeDetail |
| | | } |
| | | }) |
| | | if (authService.isUserLogin()) { |
| | | accountSettingService.getUserAccountSetting().then((contactTypeDetail) => { |
| | | this.myRequest = { |
| | | ...this.myRequest, |
| | | ...contactTypeDetail |
| | | } |
| | | }) |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | |
| | | |
| | | private getReservedData(appointmentInfo) { |
| | | if (appointmentInfo) { |
| | | const hopeContactTime = appointmentInfo!.hopeContactTime.split("'") |
| | | .filter(item => item && item !== ','); |
| | | this.getAppointmentId(appointmentInfo); |
| | | |
| | | return { |
| | | ...appointmentInfo, |
| | | hopeContactTime: hopeContactTime.map(item => { |
| | | const hopeContactTime = appointmentInfo!.hopeContactTime |
| | | ? appointmentInfo!.hopeContactTime.split("'").filter(item => item && item !== ',').map(item => { |
| | | const info = item.split('、'); |
| | | return { |
| | | selectWeekOptions: info[0].split(','), |
| | | selectTimesOptions: info[1].split(',') |
| | | } |
| | | }), |
| | | requirement: appointmentInfo.requirement.split(',') |
| | | }) |
| | | :[{selectWeekOptions : [],selectTimesOptions: []}]; |
| | | this.getAppointmentId(appointmentInfo); |
| | | |
| | | return { |
| | | ...appointmentInfo, |
| | | hopeContactTime: hopeContactTime, |
| | | requirement: appointmentInfo.requirement |
| | | ? appointmentInfo.requirement.split(',') |
| | | : [] |
| | | } |
| | | } else { |
| | | return null; |
| | |
| | | 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().toISOString()}]).then(res => this.sentAppointmentDemand()); |
| | | } |
| | | const editSettingInfo: UserSetting = { |
| | | name: this.myRequest.name, |
| | |
| | | } |
| | | |
| | | reviewPlatform(): void { |
| | | const reviewPlatformParams: UserReviewPlatformParams = { |
| | | const reviewPlatformParams: UserReviewParams = { |
| | | appointmentId: this.appointmentId, |
| | | score: this.score |
| | | score: this.score, |
| | | type: SatisfactionType.SYSTEM |
| | | }; |
| | | reviewsService.reviewPlatform(reviewPlatformParams).then((_) => { |
| | | this.closeReservePopUp(); |