update#132068: 嚴選配對篩選後,進行預約,想要詢問的問題等沒有自動帶入
| | |
| | | agentNo : string |
| | | } |
| | | export interface StrictQueryParams{ |
| | | gender: string; |
| | | avgScore: number; |
| | | status: string; //phase 1 disable |
| | | area: string; |
| | | requirements: string[]; |
| | | gender : string; |
| | | avgScore : number; |
| | | status : string; //phase 1 disable |
| | | area : string; |
| | | requirements : string[]; |
| | | otherRequirement: string; |
| | | seniority: string; |
| | | popularTags: string[]; |
| | | seniority : string; |
| | | popularTags : string[]; |
| | | otherPopularTags: string; |
| | | } |
| | | export interface AgentOfStrictQuery { |
| | | agentNo: string; |
| | | name: string; |
| | | img: string; |
| | | expertise: string[]; |
| | | avgScore: number; |
| | | agentNo : string; |
| | | name : string; |
| | | img : string; |
| | | expertise : string[]; |
| | | avgScore : number; |
| | | contactStatus: null; |
| | | updateTime: null; |
| | | seniority: string; |
| | | new: boolean; |
| | | updateTime : null; |
| | | seniority : string; |
| | | new : boolean; |
| | | } |
| | | export interface RequestOfLoginSuccess{ |
| | | id_token: string; |
| | |
| | | export interface UserReviewsConsultantsParams{ |
| | | appointmentId:number, |
| | | score:number, |
| | | } |
| | | } |
| | |
| | | |
| | | alertFieldInfo(field: string): void { |
| | | this.isAlertFieldInfo = true; |
| | | console.log(field); |
| | | switch(field) { |
| | | case 'suitability': |
| | | this.fieldInfoTitle = '匹配度'; |
| | |
| | | } |
| | | |
| | | interface AgentInfo { |
| | | name: string; |
| | | agentNo:string; |
| | | role: string; |
| | | image: string; |
| | | avgScore: number; |
| | | title: string; |
| | | phoneNumber: string; |
| | | serveArea: string; |
| | | companyAddress: string; |
| | | name : string; |
| | | agentNo : string; |
| | | role : string; |
| | | image : string; |
| | | avgScore : number; |
| | | title : string; |
| | | phoneNumber : string; |
| | | serveArea : string; |
| | | companyAddress : string; |
| | | lastestLoginTime: Date | null; |
| | | seniority: string; |
| | | suitability: number; |
| | | evaluation: number; |
| | | expertises: string[]; |
| | | concept: string; |
| | | experiences: string[]; |
| | | awards: string; |
| | | seniority : string; |
| | | suitability : number; |
| | | evaluation : number; |
| | | expertises : string[]; |
| | | concept : string; |
| | | experiences : string[]; |
| | | awards : string; |
| | | } |
| | | </script> |
| | | |
| | |
| | | </template> |
| | | |
| | | <script lang="ts"> |
| | | import { Vue, Component, namespace } from 'nuxt-property-decorator'; |
| | | import { Vue, Component } from 'nuxt-property-decorator'; |
| | | import { addFavoriteConsultant, appointmentDemand, AppointmentParams, AppointmentRequests ,RegisterInfo } from '~/assets/ts/api/consultant'; |
| | | import { getRequestsFromStorage, setRequestsToStorage } from '~/assets/ts/storageRequests'; |
| | | import { getRequestsFromStorage, setRequestsToStorage, getRequestQuestionFromStorage, removeRequestQuestionFromStorage } from '~/assets/ts/storageRequests'; |
| | | import { Gender } from '~/assets/ts/models/enum/Gender'; |
| | | import { ContactType } from '~/assets/ts/models/enum/ContactType'; |
| | | import _ from 'lodash'; |
| | | import { isLogin } from '~/assets/ts/auth'; |
| | | import { isLogin } from '~/assets/ts/auth'; |
| | | |
| | | @Component |
| | | export default class Questionnaire extends Vue { |
| | |
| | | label:'保單健檢/規劃', |
| | | }, |
| | | { |
| | | title:'分紅保單相關', |
| | | label:'分紅保單相關', |
| | | title:'分紅保單', |
| | | label:'分紅保單', |
| | | }, |
| | | ]; |
| | | |
| | |
| | | ]; |
| | | |
| | | myRequest: AppointmentRequests = { |
| | | phone: this.userInfo?.phone ? this.userInfo.phone :'', |
| | | email: this.userInfo?.email ? this.userInfo.email :'', |
| | | contactType: _.isEqual(this.userInfo?.contactType,ContactType.SMS) ? ContactType.PHONE : ContactType.EMAIL , |
| | | gender: '', |
| | | age: '', |
| | | job: '', |
| | | requirement: [], |
| | | phone : this.userInfo?.phone ? this.userInfo.phone : '', |
| | | email : this.userInfo?.email ? this.userInfo.email : '', |
| | | contactType : _.isEqual(this.userInfo?.contactType,ContactType.SMS) ? ContactType.PHONE: ContactType.EMAIL, |
| | | gender : '', |
| | | age : '', |
| | | job : '', |
| | | requirement : [], |
| | | hopeContactTime: [{ |
| | | selectWeekOptions: [], |
| | | selectWeekOptions : [], |
| | | selectTimesOptions: [], |
| | | }], |
| | | agentNo: '', |
| | |
| | | showDrawer= false; |
| | | sendReserve = false; |
| | | |
| | | beforeRouteEnter (to, from, next) { |
| | | beforeRouteEnter(to: any, from: any, next: any) { |
| | | next(vm => { |
| | | if (from.name === 'login' && !isLogin()) { |
| | | vm.$router.go(-1); |
| | |
| | | } |
| | | }) |
| | | } |
| | | mounted() { |
| | | |
| | | mounted(): void { |
| | | this.setMyRequest(); |
| | | } |
| | | |
| | | private setMyRequest(): void { |
| | | const storageMyRequest = getRequestsFromStorage(); |
| | | const storageMyQuestion = getRequestQuestionFromStorage(); |
| | | |
| | | if (storageMyRequest) { |
| | | this.myRequest = { |
| | | ...storageMyRequest, |
| | |
| | | }], |
| | | }; |
| | | } |
| | | |
| | | if (storageMyQuestion) { |
| | | this.myRequest = { |
| | | ...this.myRequest, |
| | | requirement: storageMyQuestion |
| | | } |
| | | removeRequestQuestionFromStorage(); |
| | | } |
| | | } |
| | | |
| | | get phoneValid(): boolean { |
| | |
| | | </PopUpFrame> |
| | | </div> |
| | | </template> |
| | | |
| | | <script lang="ts"> |
| | | import { |
| | | Vue, |
| | |
| | | } from 'nuxt-property-decorator'; |
| | | import * as _ from 'lodash'; |
| | | import { Seniority } from '~/assets/ts/models/enum/seniority'; |
| | | import { setRequestQuestionToStorage } from '~/assets/ts/storageRequests'; |
| | | |
| | | const localStorage = namespace('localStorage'); |
| | | |
| | |
| | | } |
| | | async makePair() { |
| | | await this.storeStrictQueryList(this.strictQueryDto).then(dataLength => { |
| | | const questions = this.strictQueryDto.requirements.length ? this.strictQueryDto.requirements : []; |
| | | setRequestQuestionToStorage(questions); |
| | | if (dataLength === 0) { |
| | | this.isVisiblePopUp = true; |
| | | return; |