| | |
| | | <div class="pam-link-button" |
| | | @click="addInterview">+新增</div> |
| | | </div> |
| | | <InterviewCard :interviewList="displayList.slice(0, 3)"></InterviewCard> |
| | | |
| | | <InterviewCard :interviewList="displayAppointmentList"></InterviewCard> |
| | | |
| | | <section class="text--right mt-30 interview-check-more" v-if="interviewList.length > 3"> |
| | | <div class="pam-link-button" @click="readMoreBtn"> |
| | | 展開看更多 |
| | | <i class="icon-expand"></i> |
| | | <div class="pam-link-button" @click="readAllList = !readAllList"> |
| | | {{ readAllList ? '顯示較少' : '展開看更多' }} |
| | | <i :class="readAllList ? 'icon-top' : 'icon-down'"></i> |
| | | </div> |
| | | </section> |
| | | </div> |
| | | </template> |
| | | |
| | | <script lang="ts"> |
| | | import { Vue, Component, Prop, Watch } from 'nuxt-property-decorator'; |
| | | import { Vue, Component, Prop, Watch, namespace } from 'nuxt-property-decorator'; |
| | | |
| | | import { InterviewRecord } from '~/shared/models/appointment.model'; |
| | | |
| | | @Component |
| | | export default class AppointmentInterviewList extends Vue { |
| | | |
| | | @Prop() |
| | | interviewList!: InterviewRecord[]; |
| | | |
| | | appointmentId!: string; |
| | | displayList: InterviewRecord[] = []; |
| | | readAllList = false; |
| | | |
| | | get displayAppointmentList(): InterviewRecord[] { |
| | | return this.readAllList ? this.displayList : this.displayList.slice(0, 3); |
| | | } |
| | | |
| | | |
| | | ////////////////////////////////////////////////////////////////////// |
| | | |
| | |
| | | |
| | | addInterview(): void { |
| | | this.$router.push(`/appointment/${this.appointmentId}/interview/new`); |
| | | } |
| | | |
| | | readMoreBtn() { |
| | | this.$router.push(`/appointment/${this.appointmentId}/interviewList`); |
| | | } |
| | | |
| | | } |