PAMapp/assets/images/Education-2@2x.png
PAMapp/assets/images/Health-1@2x.png
PAMapp/assets/images/education.svg
Àɮפw§R°£ PAMapp/assets/images/education_mob.svg
Àɮפw§R°£ PAMapp/assets/images/health.svg
Àɮפw§R°£ PAMapp/assets/images/health_mob.svg
Àɮפw§R°£ PAMapp/assets/images/phone-Education-2@2x.png
PAMapp/assets/images/phone-Health-1@2x.png
PAMapp/components/Client/ClientCard.vue
@@ -118,7 +118,7 @@ <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.consultationMethod | toConsulType }}</span></p> <p>éæ±ï¼<span>{{ client.requirement ? client.requirement.split(',').join('ã') : '--' }}</span></p> <p v-for="(item, index) in hopeContactTime" :key="index" PAMapp/components/Consultant/ConsultantCard.vue
@@ -76,7 +76,7 @@ <p>æ§å¥ï¼{{gender}}</p> <p>年齡ï¼{{appointmentDetail.age | toAgeLabel }}</p> <p>è·æ¥ï¼{{appointmentDetail.job}}</p> <p>諮詢æ¹å¼ï¼{{appointmentDetail.consultantMode }}</p> <p>諮詢æ¹å¼ï¼{{appointmentDetail.consultationMethod | toConsulType }}</p> <p>éæ±ï¼{{appointmentDetail.requirement ? appointmentDetail.requirement.split(',').join('ã') : '--'}}</p> <p v-for="(item, index) in hopeContactTime" PAMapp/components/Ui/UiCarousel.vue
@@ -4,6 +4,7 @@ indicator-position="outside" arrow="never" trigger="click" interval="6000" class="pam-home-carousel" > @@ -20,7 +21,7 @@ </div> </el-carousel-item> <el-carousel-item class="banner-img-style banner2-img"> <el-carousel-item class="banner-img-style --3 banner2-img"> <div class="text--center mt-30 banner-info"> <h1 class="banner-title mb-10">å¤å åªåæ¹å¼</h1> <p class="banner-txt text--PRIMARY_WHITE">æ¾å°ææä½ çä¿éªé¡§å</p> @@ -122,11 +123,11 @@ } .banner-film1 { background-image: url('~/assets/images/education_mob.svg'); background-image: url('~/assets/images/phone-Education-2@2x.png'); } .banner-film2 { background-image: url('~/assets/images/health_mob.svg'); background-image: url('~/assets/images/phone-Health-1@2x.png'); } @@ -154,12 +155,12 @@ background-image: url('~/assets/images/index_banner3_web1.svg'); } .banner-film1 { background-image: url('~/assets/images/education.svg'); background-image: url('~/assets/images/Education-2@2x.png'); background-color: #8DB9CA; } .banner-film2 { background-image: url('~/assets/images/health.svg'); background-image: url('~/assets/images/Health-1@2x.png'); background-color: #EFF0F1; } PAMapp/pages/appointment/_appointmentId/index.vue
@@ -39,7 +39,7 @@ <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 class="client-detail-demand__demand-list-content">{{ appointmentDetail.consultationMethod | toConsulType }}</div> </div> <div class="client-detail-demand__demand-list mb-10"> PAMapp/pages/index.vue
@@ -59,7 +59,7 @@ <p>æ§å¥ï¼{{gender}}</p> <p>年齡ï¼{{appointmentDetail.age | toAgeLabel }}</p> <p>è·æ¥ï¼{{appointmentDetail.job}}</p> <p>諮詢æ¹å¼ï¼{{appointmentDetail.consultantMode }}</p> <p>諮詢æ¹å¼ï¼{{appointmentDetail.consultationMethod | toConsulType }}</p> <p>éæ±ï¼{{ appointmentDetail.requirement ? appointmentDetail.requirement.split(',').join('ã') : '--'}}</p> <p v-for="(item, index) in hopeContactTime" @@ -142,17 +142,25 @@ </div> </div> </PopUpFrame> <iframe width=â780â³ height=â440â³ style="position: fixed; bottom: 30px; right: 30px; z-index: 9999;" allowfullscreen src="https://www.youtube.com/embed/655JnwbuRGA?autoplay=1&mute=1" ></iframe> <div class="video-container" v-if="isShowFilmPlayer" style="position: fixed; bottom: 30px; right: 30px; z-index: 9999; display: flex; justify-content: flex-end;" > <iframe width=â780â³ height=â440â³ allowfullscreen :src="filmVideoSrc" ></iframe> <div class="close-btn" @click="closeVideo()">X</div> </div> </div> </template> <script lang="ts"> import {Action, Component, Mutation, namespace, State, Vue, Watch} from 'nuxt-property-decorator'; import {Action, Component, Getter, Mutation, namespace, State, Vue, Watch} from 'nuxt-property-decorator'; import appointmentService from '~/shared/services/appointment.service'; import utilService, {AccessFroms} from '~/shared/services/utils.service'; @@ -251,7 +259,7 @@ phone : '', requirement : '', satisfactionScore : 0, consultantMode : '' consultationMethod : '' }; agentInfo: Consultant = { @@ -268,6 +276,23 @@ seniority : '', appointments : [] }; isCloseVideo = false; @Getter fromAccess!: AccessFroms; get filmVideoSrc() { if (!this.fromAccess) return ''; return this.fromAccess === AccessFroms.FILM_1 ? 'https://www.youtube.com/embed/zVBLW9hWD0g?autoplay=1&mute=1' : 'https://www.youtube.com/embed/655JnwbuRGA?autoplay=1&mute=1'; } get isShowFilmPlayer() { return !!this.fromAccess && !this.isCloseVideo; } ////////////////////////////////////////////////////////////////////// @@ -429,6 +454,10 @@ this.storageClearNotContactAppointmentIdFromMsg(); } closeVideo(): void { this.isCloseVideo = true; } /////////////////////////////////////////////////////////////////////////////// get gender(): string { @@ -543,4 +572,32 @@ max-width: 335px; } } /* ç¢ºä¿ .video-container æç¸å°/çµå°å®ä½æåºå®å¯¬åº¦ */ .video-container { position: relative; width: 600px; /* æ ¹æä½ çå½±çå°ºå¯¸èª¿æ´ */ } /* ééæéæ¨£å¼ */ .close-btn { position: absolute; top: -10px; right: -10px; cursor: pointer; font-size: 20px; color: #fff; background-color: #000; width: 30px; height: 30px; text-align: center; line-height: 30px; border-radius: 50%; opacity: 0.7; } .close-btn:hover { opacity: 1; } </style> PAMapp/pages/questionnaire/_agentNo.vue
@@ -80,8 +80,8 @@ <div class="pam-paragraph"> <div class="mdTxt">諮詢æ¹å¼</div> <SingleSelectBtn class="mt-10" :singleSelected.sync="myRequest.consultantMode" :options="consultantModeOptions" /> :singleSelected.sync="myRequest.consultationMethod" :options="consultationMethodOptions" /> </div> <div class="pam-paragraph"> <div class="mdTxt">æ¨çæ§å¥</div> @@ -207,14 +207,14 @@ } ]; consultantModeOptions = [ consultationMethodOptions = [ { title: 'ç·ä¸', label: 'ONLINE' label: 'online' }, { title: 'ç·ä¸', label: 'OFFLINE' label: 'offline' } ]; @@ -317,7 +317,7 @@ selectTimesOptions: [], }], agentNo: '', consultantMode: '', consultationMethod: '', }; showDrawer= false; PAMapp/plugins/filters/consult-type.filter.ts
@@ -7,8 +7,8 @@ }; const consultantTypeLabel = { 'ONLINE': 'ç·ä¸', 'OFFLINE': 'ç·ä¸', 'online': 'ç·ä¸', 'offline': 'ç·ä¸', }; return consultantTypeLabel[value]; PAMapp/shared/models/appointment.model.ts
@@ -40,7 +40,7 @@ phone : string; requirement : string; satisfactionScore : number; consultantMode : string; consultationMethod : string; }; export interface AppointmentClosedInfo { @@ -98,6 +98,7 @@ job : string; phone : string; requirement : string; consultationMethod: string; } export interface EditAppointmentParams { @@ -111,6 +112,7 @@ otherRequirement: null; phone : string; requirement : string; consultationMethod: string; } export interface AppointmentRequests { @@ -124,7 +126,7 @@ job : string; phone : string; requirement : string[]; consultantMode : string; consultationMethod : string; } export interface ContactTime { selectTimesOptions: string[];