From a8e5dcd396b2934e0abdd97e2241bd020afe569b Mon Sep 17 00:00:00 2001 From: Mila <Mila@pollex.com.tw> Date: 星期四, 11 十一月 2021 14:49:23 +0800 Subject: [PATCH] TODO#130018 [加入顧問] API 串接 --- PAMapp/components/QuickFilter/QuickFilterConsultantList.vue | 86 ++++++++++++++++++------------------------- 1 files changed, 36 insertions(+), 50 deletions(-) diff --git a/PAMapp/components/QuickFilter/QuickFilterConsultantList.vue b/PAMapp/components/QuickFilter/QuickFilterConsultantList.vue index 888f309..cebf8c7 100644 --- a/PAMapp/components/QuickFilter/QuickFilterConsultantList.vue +++ b/PAMapp/components/QuickFilter/QuickFilterConsultantList.vue @@ -9,7 +9,7 @@ ref="carouselRef" > <el-carousel-item - v-for="(item, index) in 5" + v-for="(item, index) in consultantList" :key="index" > <div @@ -21,79 +21,69 @@ :size="200" class="mx-auto cursor--pointer" @click="$router.push('/agentInfo')" - src="" + :src="item.img" /> - <div class="mdTxt mt-30 mb-10 text--center">�蝢��(隡舀��蝬�鈭�)</div> + <div class="mdTxt mt-30 mb-30 text--center">{{item.name}}(隡舀��蝬�鈭�)</div> <el-row> <el-col :span="12"> <div class="smTxt_bold mb-10 text--prudential_grey">����風</div> - <div class="mb-10">銝�撟�12���</div> + <div class="mb-10">{{item.seniority}}</div> </el-col> <el-col :span="12"> <div class="smTxt_bold mb-10 text--prudential_grey">摰X皛踵�漲</div> <div> - <i class="icon-star pam-icon"></i> - 4.8</div> + <i class="icon-star pam-icon icon--yellow "></i> + {{item.avgScore}}</div> </el-col> </el-row> - <div class="smTxt_bold mb-10 text--prudential_grey">撠����</div> - <div class="p bold">#鞎∪����</div> - </div> - <div class="fixedBtn text--center"> - <el-button @click="addConsultant"> - <i class="icon-add smTxt"></i> - <span>憿批��</span> - </el-button> - <el-button - @click="reserveCommunication" - type="primary" - >�脰����</el-button> + <div class="smTxt_bold mt-10 mb-10 text--prudential_grey">撠����</div> + <div> + <span + v-for="(i, index) in item.expertise" + :key="index" + class="p bold mr-30 mb-10 inline-block" + >#{{i}}</span> + </div> + <AddAndReservedBtns + :cusClass="'fixedBtn'" + :agentInfo="item" + @openPopUp="openPopUp" + ></AddAndReservedBtns> </div> </el-carousel-item> </el-carousel> - <div class="absolute arrow-left-position" @click="nextCard"> + <div class="absolute arrow-left-position" @click="prevCard"> <i class="icon-left pam-left-arrow"></i> </div> <div class="absolute arrow-right-position" @click="nextCard"> <i class="icon-right pam-right-arrow"></i> </div> - <Ui-Drawer - :isVisible.sync="isVisibleDrawer" + <PopUpFrame :isOpen.sync="isVisiblePopUp" > <div class="text--center mdTxt"> - <p class="mb-50">����憿批��</p> + <p class="mb-50">{{popUpTxt}}</p> <p class="text--primary cursor--pointer" - @click="isVisibleDrawer = false">������</p> + @click="isVisiblePopUp = false">������</p> </div> - </Ui-Drawer> - - <Ui-Dialog - :isVisible.sync="isVisibleDialog" - > - <div class="text--center mdTxt"> - <p class="mb-50">����憿批��</p> - <p class="text--primary cursor--pointer" - @click="isVisibleDialog = false">������</p> - </div> - </Ui-Dialog> + </PopUpFrame> </div> </template> <script lang="ts"> import { ElCarousel } from 'element-ui/types/carousel'; -import { Vue, Component } from 'vue-property-decorator'; -import { isLogin } from '~/assets/ts/auth'; -import { isMobileDevice } from '~/assets/ts/device'; +import { Vue, Component, Prop } from 'vue-property-decorator'; +import { Consultants } from '~/assets/ts/api/consultant'; @Component export default class QuickFilterConsultantList extends Vue { - isVisibleDrawer = false; - isVisibleDialog = false; + @Prop() consultantList!: Consultants[]; + isVisiblePopUp = false; startPosition = 0; endPosition = 0; + popUpTxt = '����憿批��'; touchStart(event: TouchEvent) { this.startPosition = event.changedTouches[0].clientX; @@ -103,12 +93,10 @@ this.endPosition = event.changedTouches[0].clientX; if (this.endPosition < this.startPosition) { this.nextCard(); - return; } if (this.endPosition > this.startPosition) { this.prevCard(); - return; } } @@ -120,14 +108,9 @@ (this.$refs.carouselRef as ElCarousel).prev(); } - addConsultant() { - isMobileDevice() - ? this.isVisibleDrawer = true - : this.isVisibleDialog = true; - } - - reserveCommunication() { - isLogin() ? this.$router.push('/questionnaire') : this.$router.push('/login'); + openPopUp(txt: string) { + this.popUpTxt = txt; + this.isVisiblePopUp = true; } @@ -152,7 +135,6 @@ bottom: 30px; left: 50%; transform: translateX(-50%); - width: 100%; } .pam-left-arrow,.pam-right-arrow { @@ -203,6 +185,10 @@ position: absolute; } + .inline-block { + display: inline-block; + } + @media (min-width: 768px) { .relative { overflow: hidden; -- Gitblit v1.8.0