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