| | |
| | | </template> |
| | | |
| | | <script lang="ts"> |
| | | import { Vue, Component, Watch, State, namespace } from 'nuxt-property-decorator'; |
| | | import { Vue, Component, Watch, namespace } from 'nuxt-property-decorator'; |
| | | |
| | | import { Appointment } from '~/shared/models/appointment.model'; |
| | | import { ContactStatus } from '~/shared/models/enum/contact-status'; |
| | | |
| | | |
| | | const localStorage = namespace('localStorage'); |
| | | const appointmentStore = namespace('appointment.store'); |
| | | const localStorage = namespace('localStorage'); |
| | | |
| | | @Component |
| | | export default class ClientClosedList extends Vue { |
| | | |
| | | @State('myAppointmentList') |
| | | @appointmentStore.State('myAppointmentList') |
| | | myAppointmentList!: Appointment[]; |
| | | |
| | | @localStorage.Getter |
| | | currentAppointmentIdFromMsg!: string; |
| | | |
| | | closedItemSum = 0; |
| | | closedList: Appointment[] = []; |
| | | contactStatus= ContactStatus; |
| | | currentPage : number = 1; |
| | | doneItemSum = 0; |
| | | |
| | | closedItemSum = 0; |
| | | currentPage = 1; |
| | | doneItemSum = 0; |
| | | itemSum = 0; |
| | | keyWord = ''; |
| | | |
| | | closedList: Appointment[] = []; |
| | | filterList : Appointment[] = []; |
| | | itemSum = 0; |
| | | keyWord : string = ''; |
| | | pageList : Appointment[] = []; |
| | | selectedClosedCategory: 'all' | 'done' | 'closed' = 'all'; |
| | | |
| | |
| | | @Watch('myAppointmentList') |
| | | onMyAppointmentListChange() { |
| | | this.closedList = (this.myAppointmentList || []) |
| | | .filter(item => item.communicateStatus === this.contactStatus.DONE || item.communicateStatus === this.contactStatus.CLOSE) |
| | | .map((item) => ({...item, sortTime: new Date(item.contactTime)})) |
| | | .filter(item => item.communicateStatus === this.contactStatus.DONE || item.communicateStatus === this.contactStatus.CLOSE || item.communicateStatus === this.contactStatus.CANCEL) |
| | | .map((item) => ({...item, sortTime: new Date(item.lastModifiedDate)})) |
| | | .sort((prevItem, nextItem) => +nextItem.sortTime - +prevItem.sortTime); |
| | | this.filterList = this.closedList; |
| | | this.itemSum = this.closedList.length; |
| | |
| | | margin-left : 0 !important; |
| | | margin-right: 10px; |
| | | padding : 10px; |
| | | @extend .fix-chrome-click--issue; |
| | | &.is-checked { |
| | | background-color: #D0D0CE; |
| | | } |