保誠-保戶業務員媒合平台
fixed TODO#131222 嚴選配對: 1. 應記住選擇條件 2. 回上一頁時要回到篩選出嚴選配對頁面且記住選擇條件
修改2個檔案
67 ■■■■ 已變更過的檔案
PAMapp/pages/recommendConsultant/index.vue 38 ●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
PAMapp/store/localStorage.ts 29 ●●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
PAMapp/pages/recommendConsultant/index.vue
@@ -86,22 +86,26 @@
  import {
    Vue,
    Component,
    Mutation
    Mutation,
    namespace
  } from 'nuxt-property-decorator';
  import {strictQuery} from '~/assets/ts/api/consultant';
  import * as _ from 'lodash';
import { strictQuery } from '~/assets/ts/api/consultant';
  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=[
@@ -225,10 +229,18 @@
    showAddress = false;
    @Mutation updateStrictQueryList!: (data: any) => void;
    @localStorage.Mutation storageRecommendConsultant!: (data: any) => void;
    @localStorage.State recommendConsultantItem!: string;
    mounted() {
      if (!!this.recommendConsultantItem) {
        this.strictQueryDto = JSON.parse(this.recommendConsultantItem);
      }
    }
    makePair():void{
      strictQuery(this.strictQueryDto).then(res=>{
        console.log('resultData',res.data);
        this.storageRecommendConsultant(JSON.stringify(this.strictQueryDto));
        this.updateStrictQueryList(res.data);
        if (res.data.length === 0) {
          this.isVisiblePopUp = true;
@@ -239,7 +251,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)
    }
@@ -253,6 +267,18 @@
    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>
<style lang="scss" >
PAMapp/store/localStorage.ts
@@ -1,9 +1,11 @@
import { Selected } from '~/components/QuickFilter/QuickFilterSelector.vue';
import { Module, Mutation, VuexModule } from 'vuex-module-decorators';
@Module
export default class LocalStorage extends VuexModule {
  id_token = localStorage.getItem('id_token');
  role_State= localStorage.getItem('current_role');
  quickFilterSelectedItem = localStorage.getItem('quickFilter');
  recommendConsultantItem = localStorage.getItem('recommendConsultantItem');
  get idToken(): string|null {
    return this.id_token;
@@ -12,6 +14,10 @@
  get currentRole(): string|null {
    return this.role_State;
  };
  get quickFilterSelectedData(): Selected[] {
    return JSON.parse(this.quickFilterSelectedItem || '[]') as Selected[];
  }
  @Mutation storageIdToken(token: string): void {
    localStorage.setItem('id_token', token);
@@ -23,6 +29,16 @@
    this.role_State = localStorage.getItem('current_role');
  };
  @Mutation storageQuickFilter(selected: string): void {
    localStorage.setItem('quickFilter', selected);
    this.quickFilterSelectedItem = localStorage.getItem('quickFilter');
  };
  @Mutation storageRecommendConsultant(selected: string): void {
    localStorage.setItem('recommendConsultantItem', selected);
    this.recommendConsultantItem = localStorage.getItem('recommendConsultantItem');
  }
  @Mutation storageClear(): void {
    localStorage.removeItem('userInfo')
    localStorage.removeItem('id_token');
@@ -30,4 +46,15 @@
    this.id_token = localStorage.getItem('id_token');
    this.role_State = localStorage.getItem('current_role');
  }
  @Mutation storageClearQuickFilter() {
    localStorage.removeItem('quickFilter');
    this.quickFilterSelectedItem = localStorage.getItem('quickFilter');
  }
  @Mutation storageClearRecommendConsultant() {
    localStorage.removeItem('recommendConsultantItem');
    this.recommendConsultantItem = localStorage.getItem('recommendConsultantItem');
  }
}