保誠-保戶業務員媒合平台
PAMapp/pages/myConsultantList.vue
@@ -26,11 +26,10 @@
</template>
<script lang='ts'>
import { Context } from '@nuxt/types';
import { Vue, Component, Watch } from 'vue-property-decorator';
import { Route } from 'vue-router/types/router.d'
import { getFavoriteFromStorage, setFavoriteToStorage } from '~/assets/ts/storageConsultant';
import { Consultants, deleteConsultant, getFavoriteConsultant } from '~/assets/ts/api/consultant';
import { addFavoriteConsultant, Consultants, deleteConsultant, getFavoriteConsultant } from '~/assets/ts/api/consultant';
import { isLogin } from '~/assets/ts/auth';
@Component
@@ -45,29 +44,39 @@
        this.$router.push('/myConsultantList/' + this.activeTabName)
    }
    async asyncData(context: Context) {
        let agents: Consultants[] = [];
        let contactedList: Consultants[] = [];
        let consultantList: Consultants[] = [];
    mounted() {
        if (isLogin()) {
            await getFavoriteConsultant().then((response) => agents = response.data);
            this.addFavoriteFromStorageToApi();
        } else {
            agents = getFavoriteFromStorage();
            this.agents = getFavoriteFromStorage();
            this.filterContactedList()
        }
    }
        contactedList = agents
            .filter(item => item.contactStatus === 'contacted')
            .sort((a, b) => a.updateTime > b.updateTime ? -1 : 1);
        consultantList = agents
            .filter(item => item.contactStatus !== 'contacted')
            .sort((a, b) => a.updateTime > b.updateTime ? -1 : 1);
        return {
            agents,
            contactedList,
            consultantList
    addFavoriteFromStorageToApi() {
        const agentNoList = getFavoriteFromStorage().map(i => i.agentNo)
        if (agentNoList.length > 0) {
            addFavoriteConsultant(agentNoList).then(res => this.getMyConsutant());
            localStorage.removeItem('favoriteConsultant');
            return;
        }
        this.getMyConsutant();
    }
    getMyConsutant() {
        getFavoriteConsultant().then((response) => {
            this.agents = response.data;
            this.filterContactedList();
        });
    }
    filterContactedList() {
        this.consultantList = this.agents
                .filter(item => item.contactStatus !== 'contacted')
                .sort((a, b) => a.updateTime > b.updateTime ? -1 : 1);
        this.contactedList = this.agents
                .filter(item => item.contactStatus === 'contacted')
                .sort((a, b) => a.updateTime > b.updateTime ? -1 : 1);
    }
    removeAgent(agentNo: string) {