| | |
| | | <p>æ§å¥ï¼<span>{{gender}}</span></p> |
| | | <p>年齡ï¼<span>{{client.age | toAgeLabel }}</span></p> |
| | | <p>è·æ¥ï¼<span>{{client.job}}</span></p> |
| | | <p>諮詢æ¹å¼ï¼<span>{{client.consultantMode }}</span></p> |
| | | <p>éæ±ï¼<span>{{ client.requirement ? client.requirement.split(',').join('ã') : '--' }}</span></p> |
| | | <p v-for="(item, index) in hopeContactTime" |
| | | :key="index" |
| | |
| | | <p>æ§å¥ï¼{{gender}}</p> |
| | | <p>年齡ï¼{{appointmentDetail.age | toAgeLabel }}</p> |
| | | <p>è·æ¥ï¼{{appointmentDetail.job}}</p> |
| | | <p>諮詢æ¹å¼ï¼{{appointmentDetail.consultantMode }}</p> |
| | | <p>éæ±ï¼{{appointmentDetail.requirement ? appointmentDetail.requirement.split(',').join('ã') : '--'}}</p> |
| | | <p |
| | | v-for="(item, index) in hopeContactTime" |
| | |
| | | '~/plugins/vue-scroll-picker', |
| | | '~/plugins/filters/date.filter.ts', |
| | | '~/plugins/filters/age.filter.ts', |
| | | '~/plugins/filters/consult-type.filter.ts', |
| | | '~/plugins/filters/appointment-fail-reason.filter.ts', |
| | | '~/plugins/filters/serve-area.filter.ts', |
| | | ], |
| | |
| | | <div class="client-detail-demand mt-10"> |
| | | |
| | | <div class="client-detail-demand__demand-list mb-10"> |
| | | <div class="client-detail-demand__demand-list-label">諮詢<br />æ¹å¼</div> |
| | | <div class="client-detail-demand__demand-list-content">{{ appointmentDetail.consultantMode | toConsulType }}</div> |
| | | </div> |
| | | |
| | | <div class="client-detail-demand__demand-list mb-10"> |
| | | <div class="client-detail-demand__demand-list-label">éæ±</div> |
| | | <div class="client-detail-demand__demand-list-content">{{ appointmentDetail.requirement || '--' }}</div> |
| | | </div> |
| | |
| | | <p>æ§å¥ï¼{{gender}}</p> |
| | | <p>年齡ï¼{{appointmentDetail.age | toAgeLabel }}</p> |
| | | <p>è·æ¥ï¼{{appointmentDetail.job}}</p> |
| | | <p>諮詢æ¹å¼ï¼{{appointmentDetail.consultantMode }}</p> |
| | | <p>éæ±ï¼{{ appointmentDetail.requirement ? appointmentDetail.requirement.split(',').join('ã') : '--'}}</p> |
| | | <p |
| | | v-for="(item, index) in hopeContactTime" |
| | |
| | | phone : '', |
| | | requirement : '', |
| | | satisfactionScore : 0, |
| | | consultantMode : '' |
| | | }; |
| | | |
| | | agentInfo: Consultant = { |
| | |
| | | :options="requirementOptions" /> |
| | | </div> |
| | | <div class="pam-paragraph"> |
| | | <div class="mdTxt">諮詢æ¹å¼</div> |
| | | <SingleSelectBtn class="mt-10" |
| | | :singleSelected.sync="myRequest.consultantMode" |
| | | :options="consultantModeOptions" /> |
| | | </div> |
| | | <div class="pam-paragraph"> |
| | | <div class="mdTxt">æ¨çæ§å¥</div> |
| | | <SingleSelectBtn class="mt-10" |
| | | :singleSelected.sync="myRequest.gender" |
| | |
| | | } |
| | | ]; |
| | | |
| | | consultantModeOptions = [ |
| | | { |
| | | title: 'ç·ä¸', |
| | | label: 'ONLINE' |
| | | }, |
| | | { |
| | | title: 'ç·ä¸', |
| | | label: 'OFFLINE' |
| | | } |
| | | ]; |
| | | |
| | | requirementOptions=[ |
| | | { |
| | | title:'å¥åº·èä¿é', |
| | |
| | | selectTimesOptions: [], |
| | | }], |
| | | agentNo: '', |
| | | consultantMode: '', |
| | | }; |
| | | |
| | | showDrawer= false; |
¤ñ¹ï·sÀÉ®× |
| | |
| | | import Vue from 'vue' |
| | | |
| | | Vue.filter('toConsulType', (value: string): string => { |
| | | |
| | | if (!value || typeof value !== 'string') { |
| | | return '--'; |
| | | }; |
| | | |
| | | const consultantTypeLabel = { |
| | | 'ONLINE': 'ç·ä¸', |
| | | 'OFFLINE': 'ç·ä¸', |
| | | }; |
| | | |
| | | return consultantTypeLabel[value]; |
| | | }) |
| | |
| | | phone : string; |
| | | requirement : string; |
| | | satisfactionScore : number; |
| | | consultantMode : string; |
| | | }; |
| | | |
| | | export interface AppointmentClosedInfo { |
| | |
| | | job : string; |
| | | phone : string; |
| | | requirement : string[]; |
| | | consultantMode : string; |
| | | } |
| | | |
| | | export interface ContactTime { |
| | | selectTimesOptions: string[]; |
| | | selectWeekOptions : string[]; |