| | |
| | | </template> |
| | | |
| | | <script lang="ts"> |
| | | import { Vue, Component, State, Action, Watch } from 'nuxt-property-decorator'; |
| | | import { Consultants } from '~/assets/ts/models/consultant.model'; |
| | | import { Vue, Component, State, Action, Watch, namespace } from 'nuxt-property-decorator'; |
| | | import { Consultant } from '~/shared/models/consultant.model'; |
| | | |
| | | const localStorage = namespace('localStorage'); |
| | | @Component({ |
| | | layout: 'home' |
| | | }) |
| | | export default class MainComponent extends Vue { |
| | | consultantList: Consultants[] = []; |
| | | agents: Consultants[] = []; |
| | | @State('recommendList') recommendList!: Consultants[]; |
| | | consultantList: Consultant[] = []; |
| | | |
| | | @State('recommendList') recommendList!: Consultant[]; |
| | | @Action storeRecommendList!: any; |
| | | |
| | | @State('myConsultantList') myConsultantList!: Consultants[]; |
| | | @State('myConsultantList') myConsultantList!: Consultant[]; |
| | | @Action storeConsultantList!: any; |
| | | |
| | | @localStorage.Mutation storageClearQuickFilter!: () => void; |
| | | @localStorage.Mutation storageClearRecommendConsultant!: () => void; |
| | | |
| | | @Watch('myConsultantList') |
| | | onMyConsultantListChange() { |
| | | this.consultantList = (this.myConsultantList || []) |
| | | .filter(item => item.contactStatus !== 'contacted') |
| | | .sort((a, b) => a.updateTime > b.updateTime ? -1 : 1) |
| | | .map((item) => ({ ...item, formatDate: new Date(item.updateTime || item.createTime)})) |
| | | .sort((preItem, nextItem) => +nextItem.formatDate - +preItem.formatDate) |
| | | } |
| | | |
| | | mounted() { |
| | |
| | | } |
| | | |
| | | this.storeConsultantList(); |
| | | this.storageClearQuickFilter(); |
| | | this.storageClearRecommendConsultant(); |
| | | } |
| | | |
| | | routerPush(path: string) { |
| | |
| | | align-items: center; |
| | | } |
| | | |
| | | @media (min-width: 576px) and (max-width: 768px) { |
| | | @media (min-width: 576px) and (max-width: 767px) { |
| | | .quickFilter.el-button--default { |
| | | background-image: url('~/assets/images/quickFilter/banner_web.svg'); |
| | | } |
| | |
| | | background-image: url('~/assets/images/recommendConsultant/banner_web.svg'); |
| | | } |
| | | } |
| | | |
| | | |
| | | @include desktop { |
| | | .page-container { |
| | | width: 700px; |