From bdae23a40c461c2c6b6ee614f661eac731c949c8 Mon Sep 17 00:00:00 2001
From: Mila <Mila@pollex.com.tw>
Date: 星期三, 22 十二月 2021 14:12:05 +0800
Subject: [PATCH] Merge branch 'master' of https://192.168.0.10:8443/r/pcalife/PAM

---
 PAMapp/pages/recommendConsultant/index.vue |   81 +++++++++++++++++++++++++++-------------
 1 files changed, 55 insertions(+), 26 deletions(-)

diff --git a/PAMapp/pages/recommendConsultant/index.vue b/PAMapp/pages/recommendConsultant/index.vue
index a2f7d72..0d0eb55 100644
--- a/PAMapp/pages/recommendConsultant/index.vue
+++ b/PAMapp/pages/recommendConsultant/index.vue
@@ -3,16 +3,17 @@
     <div class="pb-10 mdTxt">憿批��批</div>
     <SingleSelectBtn :singleSelected.sync="strictQueryDto.gender" :options="genderOptions"/>
     <div class="pam-paragraph">
-      <div class="pb-10 mdTxt required">憿批������</div>
-      <div class="job-pick cursor--pointer"
+      <div class="pb-10 mdTxt required">憿批�����</div>
+      <div class="job-pick"
         @click="showAddress = true">
-        <input class="text--middle  input cursor--pointer pl-10"
+        <input class="text--middle cursor--pointer input pl-10"
           :value="strictQueryDto.area"
-          placeholder="隢���">
+          placeholder="隢���"
+          readonly>
         <i class="icon-down down-icon"></i>
       </div>
       <PopUpFrame :isOpen.sync="showAddress"
-        :drawerSize="'65%'">
+      >
         <AddressPicker
           @confirm="confirmAddress" />
       </PopUpFrame>
@@ -31,11 +32,12 @@
       <div class="pb-10 mdTxt">憿批�僑鞈�</div>
         <SingleSelectBtn :singleSelected.sync="strictQueryDto.seniority" :options="seniorityOptions"/>
     </div>
-    <div class="pam-paragraph">
-      <div class="pb-10 mdTxt">靽憿批�遛��漲</div>
+    <!-- <div class="pam-paragraph">
+      TODO:���遛��漲
+      <div class="pb-10 mdTxt">憿批�遛��漲</div>
       <el-rate class="pam-consultant-rate" v-model="strictQueryDto.avgScore">
       </el-rate>
-    </div>
+    </div> -->
     <div class="pam-paragraph">
       <div class="rec-popular">
         <div class="pb-10 mdTxt">���瑼Y揣</div>
@@ -54,7 +56,7 @@
     </div>
 
     <PopUpFrame :isOpen.sync="showDialog"
-      :drawerSize=" '95%' ">
+    >
       <div class="qaTextTitle mdTxt">
         <strong>�閬岷������</strong>
       </div>
@@ -67,7 +69,7 @@
           </div>
         </div>
       </div>
-      <div class="text--center mdTxt mt-30 mb-30">
+      <div class="text--center mdTxt mt-30">
         <el-button type="primary" @click="showDialog = false">������</el-button>
       </div>
     </PopUpFrame>
@@ -82,26 +84,33 @@
     </PopUpFrame>
   </div>
 </template>
+
 <script lang="ts">
   import {
     Vue,
     Component,
-    Mutation
+    Mutation,
+    namespace,
+    Action,
+    State
   } from 'nuxt-property-decorator';
-  import {strictQuery} from '~/assets/ts/api/consultant';
   import * as _ from 'lodash';
+  import { Seniority } from '~/shared/models/enum/seniority';
+
+  const localStorage = namespace('localStorage');
+
   @Component
   export default class RecommendConsultant extends Vue {
     isVisiblePopUp = false;
-    strictQueryDto={
+    strictQueryDto: StrictQueryDto ={
       gender:'',
       area:'',
       status:'',
-      requirements:[],
+      requirements: [],
       otherRequirement:'',
       seniority:'',
       avgScore:0,
-      popularTags:[],
+      popularTags: [],
       otherPopularTags:'',
     };
     genderOptions=[
@@ -144,17 +153,17 @@
       {
         title:'銝��',
         subTitle:'撟湧翩銝����',
-        label:'銝��',
+        label:Seniority.UNLIMITED,
       },
       {
         title:'撟渲��',
         subTitle:'蝯血僑頛犖銝�����',
-        label:'撟渲��',
+        label:Seniority.YOUNG,
       },
       {
         title:'鞈楛',
         subTitle:'����麾',
-        label:'鞈楛',
+        label:Seniority.SENIOR,
       }
     ];
     popularOptions=[
@@ -214,19 +223,25 @@
       },
       {
         title: '����',
-        content: '���� ���������憸券�����鈭怒�����嚗���摰帘摰漲嚗��隞亙��澈��ˊ�靽���嚗�'
+        content: '���������憸券�����鈭怒�����嚗���摰帘摰漲嚗��隞亙��澈��ˊ�靽���嚗�'
       }
     ];
     showDialog = false;
     showAddress = false;
 
     @Mutation updateStrictQueryList!: (data: any) => void;
+    @Action storeStrictQueryList!: (data: any) => Promise<number>;
+    @State strictQueryList!: any;
+    @localStorage.State recommendConsultantItem!: string;
 
-    makePair():void{
-      strictQuery(this.strictQueryDto).then(res=>{
-        console.log('resultData',res.data);
-        this.updateStrictQueryList(res.data);
-        if (res.data.length === 0) {
+    mounted() {
+      if (!!this.recommendConsultantItem) {
+        this.strictQueryDto = JSON.parse(this.recommendConsultantItem);
+      }
+    }
+    async makePair() {
+      await this.storeStrictQueryList(this.strictQueryDto).then(dataLength => {
+        if (dataLength === 0) {
           this.isVisiblePopUp = true;
           return;
         }
@@ -235,7 +250,9 @@
     }
     get notFinishByRequireRules():boolean{
       const area = this.strictQueryDto.area;
-      const requirementLength = this.strictQueryDto.requirements.length;
+      const requirementLength = this.strictQueryDto.requirements
+        ? this.strictQueryDto.requirements.length
+        : 0;
       return !(area && requirementLength >0)
     }
 
@@ -248,6 +265,18 @@
   enum Gender{
     MALE="male",
     FEMALE="female",
+  }
+
+  export interface StrictQueryDto {
+    gender: string,
+    area: string,
+    status: string,
+    requirements: string[],
+    otherRequirement: string,
+    seniority: string,
+    avgScore: number,
+    popularTags: string[],
+    otherPopularTags: string
   }
 </script>
 
@@ -333,7 +362,7 @@
 
   .qa-dialog {
     overflow-y: auto;
-    height: 500px;
+    height: 60vh;
     margin-top: 20px;
     text-align: justify;
   }

--
Gitblit v1.8.0