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/store/index.ts | 69 ++++++++++++++++++++++------------ 1 files changed, 44 insertions(+), 25 deletions(-) diff --git a/PAMapp/store/index.ts b/PAMapp/store/index.ts index d075c4f..25d55a2 100644 --- a/PAMapp/store/index.ts +++ b/PAMapp/store/index.ts @@ -1,12 +1,17 @@ +import { StrictQueryParams } from '~/shared/models/strict-query.model'; import { Module, VuexModule, Mutation, Action } from 'vuex-module-decorators' -import { ClientInfo, getMyAppointmentList, getMyReviewLog } from '~/assets/ts/api/appointment'; -import { recommend, AgentOfStrictQuery, addFavoriteConsultant, deleteConsultant, strictQuery } from '~/assets/ts/api/consultant'; -import { getFavoriteFromStorage, setFavoriteToStorage } from '~/assets/ts/storageConsultant'; +import { getFavoriteFromStorage, setFavoriteToStorage } from '~/shared/storageConsultant'; -import myConsultantService from '~/assets/ts/services/my-consultant.service'; -import { Consultant } from '~/assets/ts/models/consultant.model'; -import { AppointmentLog } from '~/assets/ts/models/appointment.model'; +import myConsultantService from '~/shared/services/my-consultant.service'; +import queryConsultantService from '~/shared/services/query-consultant.service'; +import appointmentService from '~/shared/services/appointment.service'; +import reviewsService from '~/shared/services/reviews.service'; + +import { Consultant } from '~/shared/models/consultant.model'; +import { AppointmentLog } from '~/shared/models/appointment.model'; +import { ClientInfo } from '~/shared/models/client.model'; +import { AgentOfStrictQuery } from '~/shared/models/strict-query.model'; @Module export default class Store extends VuexModule { recommendList: Consultant[] = []; @@ -14,6 +19,7 @@ myConsultantList: Consultant[] = []; myAppointmentList: ClientInfo[] = []; + myNewAppointmentSum: number = 0; myAppointmentReviewLogList: AppointmentLog[] = []; @@ -21,28 +27,39 @@ return this.context.getters['localStorage/isUserLogin']; } - @Mutation updateRecommend(data: Consultant[]) { + @Mutation + updateRecommend(data: Consultant[]) { this.recommendList = data; } - @Mutation updateConsultantList(data: Consultant[]) { + @Mutation + updateConsultantList(data: Consultant[]) { this.myConsultantList = data; } - @Mutation updateStrictQueryList(data: AgentOfStrictQuery[]) { + @Mutation + updateStrictQueryList(data: AgentOfStrictQuery[]) { this.strictQueryList = data; } - @Mutation updateMyAppointmentList(data: ClientInfo[]) { + @Mutation + updateMyAppointmentList(data: ClientInfo[]) { this.myAppointmentList = data; } - @Mutation updateMyAppointmentReviewLog(data: AppointmentLog[]) { + @Mutation + updateMyNewAppointmentSum(newAppointmentSum: number) { + this.myNewAppointmentSum = newAppointmentSum; + } + + @Mutation + updateMyAppointmentReviewLog(data: AppointmentLog[]) { this.myAppointmentReviewLogList = data; } - @Action storeRecommendList() { - recommend().then(data => { + @Action + storeRecommendList() { + queryConsultantService.getRecommendConsultantList().then(data => { this.context.commit('updateRecommend', data) }) } @@ -59,7 +76,7 @@ if (localData?.length) { const agentNoList = localData.map(i => i.agentNo) - await addFavoriteConsultant(agentNoList).then(res => { + await queryConsultantService.addFavoriteConsultant(agentNoList).then(res => { localStorage.removeItem('favoriteConsultant') }) } @@ -79,7 +96,7 @@ if (!this.isUserLogin) { setFavoriteToStorage(left); } else { - await deleteConsultant(agentNo) + await myConsultantService.deleteConsultant(agentNo) } this.context.commit('updateConsultantList', left) @@ -94,7 +111,7 @@ if (!found) { const newData = [consultantToAdd].concat(this.myConsultantList); if (this.isUserLogin) { - await addFavoriteConsultant([consultantToAdd.agentNo]) + await queryConsultantService.addFavoriteConsultant([consultantToAdd.agentNo]) } else { setFavoriteToStorage(newData); } @@ -109,16 +126,17 @@ } @Action - async storeMyAppointmentList() { - return await getMyAppointmentList().then((data) => { + storeMyAppointmentList(): void { + appointmentService.getMyAppointmentList().then((data) => { + const newAppointmentSum = data.filter(item => !item.consultantViewTime || item.consultantViewTime === null).length; this.context.commit('updateMyAppointmentList', data); - return data.filter(item => !item.consultantViewTime || item.consultantViewTime === null).length + this.context.commit('updateMyNewAppointmentSum', newAppointmentSum); }); } @Action storeMyAppointmentReviewLog() { - getMyReviewLog().then((data) => { + reviewsService.getMyReviewLog().then((data) => { const dataWithLatestDate = data.map((item) => { return { ...item, @@ -130,18 +148,19 @@ }); } - @Action updateMyAppointment(myAppointment: ClientInfo) { + @Action + updateMyAppointment(myAppointment: ClientInfo) { const data = this.myAppointmentList.filter(item => item.id !== myAppointment.id); data.unshift(myAppointment); this.context.commit('updateMyAppointmentList', data) } @Action - async storeStrictQueryList(strictQueryDto) { - return await strictQuery(strictQueryDto).then(res=>{ + async storeStrictQueryList(strictQueryDto: StrictQueryParams) { + return await queryConsultantService.strictQuery(strictQueryDto).then(res=>{ this.context.commit('localStorage/storageRecommendConsultant', JSON.stringify(strictQueryDto)); - this.context.commit('updateStrictQueryList', res.data) - return res.data.length; + this.context.commit('updateStrictQueryList', res) + return res.length; }); } -- Gitblit v1.8.0