From 176b380f392efab0a84dd79560dca22e8053d0e4 Mon Sep 17 00:00:00 2001 From: Tomas <tomasysh@gmail.com> Date: 星期一, 27 十二月 2021 12:32:35 +0800 Subject: [PATCH] refactor component: careerSelect --- PAMapp/components/QuickFilter/QuickFilterConsultantList.vue | 55 ++++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 44 insertions(+), 11 deletions(-) diff --git a/PAMapp/components/QuickFilter/QuickFilterConsultantList.vue b/PAMapp/components/QuickFilter/QuickFilterConsultantList.vue index 7a6b5da..8ab4d6b 100644 --- a/PAMapp/components/QuickFilter/QuickFilterConsultantList.vue +++ b/PAMapp/components/QuickFilter/QuickFilterConsultantList.vue @@ -14,6 +14,8 @@ > <div class="fill" + @touchstart="moveStart" + @touchend="moveEnd" > <UiAvatar :size="200" @@ -29,7 +31,8 @@ <div class="smTxt_bold mb-10 text--prudential_grey">����風</div> <div class="mb-10">{{item.seniority}}</div> </el-col> - <el-col :span="12"> + <el-col :span="12" v-if="!hideReviews"> + <!-- TODO:���遛��漲 --> <div class="smTxt_bold mb-10 text--prudential_grey">摰X皛踵�漲</div> <div> <i class="icon-star pam-icon icon--yellow "></i> @@ -77,15 +80,52 @@ </template> <script lang="ts"> +import { Consultant } from '~/shared/models/consultant.model'; import { ElCarousel } from 'element-ui/types/carousel'; +import { hideReviews } from '~/shared/const/hide-reviews'; import { Vue, Component, Prop } from 'vue-property-decorator'; -import { Consultants } from '~/assets/ts/api/consultant'; @Component export default class QuickFilterConsultantList extends Vue { - @Prop() consultantList!: Consultants[]; + @Prop() consultantList!: Consultant[]; isVisiblePopUp = false; popUpTxt = '����憿批��'; + startPosition = 0; + endPosition = 0; + startYPosition = 0; + endYPosition = 0; + hideReviews = hideReviews ; + + ////////////////////////////////////////////////////////////////// + moveStart(event: TouchEvent) { + this.startPosition = event.changedTouches[0].clientX; + this.startYPosition = event.changedTouches[0].clientY; + } + + moveEnd(event: TouchEvent) { + this.endPosition = event.changedTouches[0].clientX; + this.endYPosition = event.changedTouches[0].clientY; + if (Math.abs(this.endYPosition - this.startYPosition) < 50) { + if (this.endPosition < this.startPosition) { + this.nextCard(); + return; + } + + if (this.endPosition > this.startPosition) { + this.prevCard(); + } + } + } + + ////////////////////////////////////////////////////////////////// + openPopUp(txt: string) { + this.popUpTxt = txt; + this.isVisiblePopUp = true; + } + + showAgentDetail(agentNo: string): void { + this.$router.push(`/agentInfo/${agentNo}`); + } nextCard() { (this.$refs.carouselRef as ElCarousel).next(); @@ -95,13 +135,6 @@ (this.$refs.carouselRef as ElCarousel).prev(); } - openPopUp(txt: string) { - this.popUpTxt = txt; - this.isVisiblePopUp = true; - } - showAgentDetail(agentNo: string): void { - this.$router.push(`/agentInfo/${agentNo}`); - } } </script> @@ -188,4 +221,4 @@ } } -</style> \ No newline at end of file +</style> -- Gitblit v1.8.0