From 929c7a3066ee87b424954821f2a93f2853937592 Mon Sep 17 00:00:00 2001 From: Mila <Mila@pollex.com.tw> Date: 星期三, 01 十二月 2021 15:00:13 +0800 Subject: [PATCH] fixed 使用 stroe 存放推薦顧問結果 --- PAMapp/store/index.ts | 11 ++++++++++- PAMapp/pages/recommendConsultant/result.vue | 14 ++++++++++++-- PAMapp/pages/recommendConsultant/index.vue | 19 +++++++++---------- 3 files changed, 31 insertions(+), 13 deletions(-) diff --git a/PAMapp/pages/recommendConsultant/index.vue b/PAMapp/pages/recommendConsultant/index.vue index 8e6ad59..c338617 100644 --- a/PAMapp/pages/recommendConsultant/index.vue +++ b/PAMapp/pages/recommendConsultant/index.vue @@ -87,11 +87,12 @@ Vue, Component, Mutation, - namespace + namespace, + Action, + State } from 'nuxt-property-decorator'; import * as _ from 'lodash'; - import { strictQuery } from '~/assets/ts/api/consultant'; - import { Seniority } from '~/assets/ts/models/enum/Seniority'; +import { Seniority } from '~/assets/ts/models/enum/seniority'; const localStorage = namespace('localStorage'); @@ -226,7 +227,8 @@ showAddress = false; @Mutation updateStrictQueryList!: (data: any) => void; - @localStorage.Mutation storageRecommendConsultant!: (data: any) => void; + @Action storeStrictQueryList!: (data: any) => Promise<number>; + @State strictQueryList!: any; @localStorage.State recommendConsultantItem!: string; mounted() { @@ -234,12 +236,9 @@ 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) { + async makePair() { + await this.storeStrictQueryList(this.strictQueryDto).then(dataLength => { + if (dataLength === 0) { this.isVisiblePopUp = true; return; } diff --git a/PAMapp/pages/recommendConsultant/result.vue b/PAMapp/pages/recommendConsultant/result.vue index 7e4a192..0c06be1 100644 --- a/PAMapp/pages/recommendConsultant/result.vue +++ b/PAMapp/pages/recommendConsultant/result.vue @@ -81,16 +81,26 @@ </div> </template> <script lang="ts"> -import {Vue,Component, State} from 'nuxt-property-decorator'; +import {Vue,Component, State, namespace, Action} from 'nuxt-property-decorator'; import { AgentOfStrictQuery } from '~/assets/ts/api/consultant'; + +const localStorage = namespace('localStorage'); @Component export default class Reslut extends Vue{ - @State('strictQueryList') strictQueryList!: AgentOfStrictQuery; + @State('strictQueryList') strictQueryList!: AgentOfStrictQuery[]; + @Action storeStrictQueryList!: (data: any) => Promise<number>; + @localStorage.State recommendConsultantItem!: string; pageList: any[] = []; isVisiblePopUp = false; popUpTxt = ''; + mounted() { + if (this.recommendConsultantItem && this.strictQueryList.length === 0) { + const strictQueryDto = JSON.parse(this.recommendConsultantItem); + this.storeStrictQueryList(strictQueryDto); + } + } changePage(pageList: any[]) { this.pageList = pageList; diff --git a/PAMapp/store/index.ts b/PAMapp/store/index.ts index 3bedc57..9092dfb 100644 --- a/PAMapp/store/index.ts +++ b/PAMapp/store/index.ts @@ -1,7 +1,7 @@ import { Module, VuexModule, Mutation, Action } from 'vuex-module-decorators' import { ClientInfo, getMyAppointmentList } from '~/assets/ts/api/appointment'; // import * as consultant from '~/assets/ts/api/consultant'; -import { Consultants,recommend,AgentOfStrictQuery, getFavoriteConsultant, addFavoriteConsultant, deleteConsultant } from '~/assets/ts/api/consultant'; +import { Consultants,recommend,AgentOfStrictQuery, getFavoriteConsultant, addFavoriteConsultant, deleteConsultant, strictQuery } from '~/assets/ts/api/consultant'; import { isLogin } from '~/assets/ts/auth'; import { getFavoriteFromStorage, setFavoriteToStorage } from '~/assets/ts/storageConsultant'; @@ -109,4 +109,13 @@ this.context.commit('updateMyAppointmentList', data) } + @Action + async storeStrictQueryList(strictQueryDto) { + return await strictQuery(strictQueryDto).then(res=>{ + this.context.commit('localStorage/storageRecommendConsultant', JSON.stringify(strictQueryDto)); + this.context.commit('updateStrictQueryList', res.data) + return res.data.length; + }); + } + } \ No newline at end of file -- Gitblit v1.8.0