From 74e563da7fa6886449fd2be5933e2d4ca5c85f48 Mon Sep 17 00:00:00 2001 From: jack <jack.su@pollex.com.tw> Date: 星期二, 12 九月 2023 11:25:52 +0800 Subject: [PATCH] [UPDATE] 解決弱點Se: Incorrect definition of Serializable class [UPDATE] 解決弱點Information exposure to log file [UPDATE] 解決弱點Use of hard-coded password --- PAMapp/components/QuickFilter/QuickFilterConsultantList.vue | 75 ++++++++++++++++++++++++------------- 1 files changed, 48 insertions(+), 27 deletions(-) diff --git a/PAMapp/components/QuickFilter/QuickFilterConsultantList.vue b/PAMapp/components/QuickFilter/QuickFilterConsultantList.vue index 95cb84a..7daefd9 100644 --- a/PAMapp/components/QuickFilter/QuickFilterConsultantList.vue +++ b/PAMapp/components/QuickFilter/QuickFilterConsultantList.vue @@ -14,22 +14,24 @@ > <div class="fill" - @touchstart="touchStart" - @touchend="moveCard" + @touchstart="moveStart" + @touchend="moveEnd" > <UiAvatar :size="200" - :fileName="item.img" + :agentNo="item.agentNo" class="mx-auto" @click.native="showAgentDetail(item.agentNo)" ></UiAvatar> - <div class="mdTxt mt-30 mb-30 text--center">{{item.name}}(隡舀��蝬�鈭�)</div> + <div class="mdTxt mt-30 mb-30 text--center" + >{{item.name}}<span v-if="item.role">({{item.role}})</span> + </div> <el-row> <el-col :span="12"> <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"> <div class="smTxt_bold mb-10 text--prudential_grey">摰X皛踵�漲</div> <div> <i class="icon-star pam-icon icon--yellow "></i> @@ -64,8 +66,12 @@ > <div class="text--center mdTxt"> <p class="mb-50">{{popUpTxt}}</p> - <p class="text--primary cursor--pointer" - @click="isVisiblePopUp = false">������</p> + <div class="text--center"> + <el-button + type="primary" + @click="isVisiblePopUp = false" + >������</el-button> + </div> </div> </PopUpFrame> @@ -73,31 +79,55 @@ </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; - popUpTxt = '����憿批��'; + startYPosition = 0; + endYPosition = 0; + hideReviews = hideReviews ; - touchStart(event: TouchEvent) { + ////////////////////////////////////////////////////////////////// + + moveStart(event: TouchEvent) { this.startPosition = event.changedTouches[0].clientX; + this.startYPosition = event.changedTouches[0].clientY; } - moveCard(event: any) { + moveEnd(event: TouchEvent) { this.endPosition = event.changedTouches[0].clientX; - if (this.endPosition < this.startPosition) { - this.nextCard(); - } + 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(); + 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() { @@ -107,15 +137,6 @@ prevCard() { (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> @@ -203,4 +224,4 @@ } } -</style> \ No newline at end of file +</style> -- Gitblit v1.8.0