| | |
| | | :class="{'new': !isView && isReserved}" |
| | | @click.native="openDetail" |
| | | > |
| | | <el-col :xs="1" :sm="1" class="unread" align="middle"> |
| | | <div class="circle" v-if="isReserved && !isRead"></div> |
| | | <el-col :xs="1" :sm="1" class="unread" align="middle" v-if="isReserved"> |
| | | <div class="circle" v-if="!isRead"></div> |
| | | </el-col> |
| | | <el-col :xs="4" :sm="2" align="middle"> |
| | | <el-col :xs="5" :sm="3" align="middle"> |
| | | <el-avatar |
| | | :size="50" |
| | | src="" |
| | | ></el-avatar> |
| | | <div class="satisfaction"> |
| | | <div class="satisfaction" v-if="!hideReviews"> |
| | | <template v-if="client.satisfactionScore"> |
| | | TODO:隱藏滿意度 |
| | | <i class="icon-star pam-icon icon--yellow satisfaction"></i> |
| | | <span>{{client.satisfactionScore}}</span> |
| | | </template> |
| | | <template v-else> |
| | | <div class="unfilled">未填滿意度</div> |
| | | </template> |
| | | </div> |
| | | </el-col> |
| | | <el-col :xs="15" :sm="15" class="pl-10"> |
| | | <el-col :xs="14" :sm="14" class="pl-10"> |
| | | <div class="smTxt_bold name">{{client.name}}</div> |
| | | <div class="message">預約成功</div> |
| | | <div class="professionals"> |
| | |
| | | import { Vue, Component, Prop, Action } from 'nuxt-property-decorator'; |
| | | import { isMobileDevice } from '~/assets/ts/device'; |
| | | import { ClientInfo, markAsContact, recordRead } from '~/assets/ts/api/appointment'; |
| | | |
| | | import { hideReviews } from '~/assets/ts/const/hide-reviews'; |
| | | @Component({ |
| | | filters: { |
| | | formatNumber(index: number) { |
| | |
| | | @Prop() client!: ClientInfo; |
| | | isVisibleDialog = false; |
| | | width = ''; |
| | | hideReviews = hideReviews; |
| | | |
| | | get requirements() { |
| | | return this.client.requirement.split(','); |
| | |
| | | font-size: 12px; |
| | | font-weight: bold; |
| | | margin-top: 5px; |
| | | |
| | | .unfilled { |
| | | font-weight: lighter; |
| | | color: $MID_GREY; |
| | | } |
| | | } |
| | | |
| | | .message { |