PAMapp/components/Appointment/AppointmentInterviewList.vue | ●●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程 | |
PAMapp/components/Appointment/AppointmentRecord.vue | ●●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程 | |
PAMapp/components/Appointment/AppointmentRecordList.vue | ●●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程 | |
PAMapp/components/BackActionBar.vue | ●●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程 | |
PAMapp/components/Client/ClientCard.vue | ●●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程 | |
PAMapp/components/Ui/UiField.vue | ●●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程 | |
PAMapp/pages/appointment/_appointmentId/close/index.vue | ●●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程 | |
PAMapp/pages/appointment/_appointmentId/index.vue | ●●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程 | |
PAMapp/pages/appointment/_appointmentId/interview/new/index.vue | ●●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程 |
PAMapp/components/Appointment/AppointmentInterviewList.vue
¤ñ¹ï·sÀÉ®× @@ -0,0 +1,116 @@ <template> <div> <div class="interview__header"> <div class="mdTxt">ç´è¨ªç´é</div> <div class="mdTxt text--underline text--primary" @click="addInterview">+æ°å¢</div> </div> <template v-if="!interviewList.length"> <div class="record-card record-card--empty"> ç¡ç´è¨ªç´é </div> </template> <template v-if="interviewList.length"> <div class="interview--future"> <div class="record-card"> <div class="record-card-date"> <span class="bold">01/10</span> <span class="mt-5 line-space">09:00</span> </div> <div class="record-card-content"> <span>é è¨æé客æ¶ç´å¨å ¬å¸æ¨ä¸åå¡å»³ï¼æ¨è¦çå®å¿é«çéªèé²ç«ä¿å®</span> </div> </div> </div> <section class="interview--past"> <div class="record-card"> <div class="record-card-date"> <span class="bold">01/08</span> <span class="mt-5 line-space">09:00</span> </div> <div class="record-card-content"> <span>çè°æåä¿¡æä¾é»è©±è碼ï¼å»é»æ¨è¦é ç´æé</span> </div> </div> </section> <section class="more-log-action"> <div class="mdTxt text--primary text--underline">å±éçæ´å¤</div> </section> </template> </div> </template> <script lang="ts"> import { Vue, Component } from 'nuxt-property-decorator'; @Component export default class AppointmentInterviewList extends Vue { interviewList = []; ////////////////////////////////////////////////////////////////////// addInterview(): void { const appointmentId = this.$route.params.appointmentId; this.$router.push(`/appointment/${appointmentId}/interview/new`); } } </script> <style lang="scss" scoped> .interview__header { display : flex; justify-content: space-between; margin-bottom : 10px; } .interview--future{ border-bottom: 1px solid #CCCCCC; padding-bottom: 17px; margin-bottom: 17px; .record{ display: flex; justify-content: space-between; margin-bottom: 10px; } } .record-card { height: 62px; border: 1px solid #707070; border-radius: 5px; display: flex; border-bottom: 1px solid #000; .record-card-date{ display: flex; flex-direction: column; margin-left: 10px; margin-right: 10px; margin-top: 10px; } .record-card-content{ height: 42px; margin-top: 10px; margin-right: 10px; line-height: 1.2; } &.record-card--empty { align-items : center; background-color: #fff; color : $MID_GREY; justify-content : center; } } .line-space{ letter-spacing: 1px; } .more-log-action{ margin-top: 30px; display: flex; justify-content:flex-end; } </style> PAMapp/components/Appointment/AppointmentRecord.vue
Àɮפw§R°£ PAMapp/components/Appointment/AppointmentRecordList.vue
File was renamed from PAMapp/components/Appointment/AppointmentRecordLog.vue @@ -1,7 +1,7 @@ <template> <div class="record-log-component"> <div class="mdTxt mt-30 mb-10">系統éç¥ç´é</div> <section class="record-log-card"> <div class="record-log-card-date-container"> <div class="record-log-card-date-container-circle"> @@ -36,7 +36,7 @@ import { Vue, Component, Prop } from 'nuxt-property-decorator'; @Component export default class AppointmentRecordLog extends Vue { export default class AppointmentRecordList extends Vue { } </script> @@ -87,4 +87,4 @@ justify-content:flex-end; } </style> </style> PAMapp/components/BackActionBar.vue
@@ -76,7 +76,13 @@ break; case 'appointment': const appointmentFeatureLabel = this.$route.name.includes('close') ? 'çµæ¡' : 'é ç´è³è¨'; featureLabel = appointmentFeatureLabel; const inInterview = this.$route.name.includes('interview'); const addNewInterview = this.$route.name.includes('new'); if (inInterview) { featureLabel = addNewInterview ? 'æ°å¢ç´è¨ªç´é' : '編輯ç´è¨ªç´é'; } else { featureLabel = appointmentFeatureLabel; } break; } return featureLabel; PAMapp/components/Client/ClientCard.vue
@@ -6,7 +6,7 @@ class="rowStyle cursor--pointer" justify="space-between" :class="{'new': newAppointment }" @click.native="openDetail" @click.native="viewDetail" > <div class="test"> <div class="unread" v-if="isReserved"> @@ -202,6 +202,12 @@ this.memo = this.memoInfo.content; } ////////////////////////////////////////////////////////////////////// viewDetail(): void { this.$router.push(`/appointment/${this.client.id}`); } get newAppointment(): boolean { return !this.client.consultantViewTime && this.client.communicateStatus === 'reserved'; PAMapp/components/Ui/UiField.vue
@@ -68,26 +68,25 @@ } </script> <style lang="scss" scoped> .pam-field { display: flex; display : flex; flex-direction: column; .pam-field__label { display: flex; align-items: center; display : flex; .pam-icon { font-size: 12px; } .pam-field__title { font-weight: bold; display: flex; align-items: center; display : flex; font-weight: bold; } } .pam-field__content { display : flex; padding-top: 10px; display: flex; } } </style> PAMapp/pages/appointment/_appointmentId/close/index.vue
@@ -21,6 +21,11 @@ v-model="appointmentCloseInfo.planCode" placeholder="è«è¼¸å ¥" type="text"> <!-- <el-input type="input" placeholder="è«è¼¸å ¥" v-model="appointmentCloseInfo.planCode"> </el-input> --> </UiField> </el-row> @@ -51,6 +56,7 @@ </select> <div style="display: flex" class="mt-10"> <input v-if="appointmentCloseInfo.failReason === 'other'" class="appointment-client-detail-close__input" @@ -65,7 +71,15 @@ type="flex" class="pam-paragraph"> <UiField label="å註" :labelSize="20"> <textarea <el-input type="textarea" :rows="3" placeholder="è«è¼¸å ¥" v-model="appointmentCloseInfo.archivedDate" resize="none"> </el-input> <!-- <textarea v-model="appointmentCloseInfo.archivedDate" class="appointment-close__remark" placeholder="è«è¼¸å ¥" @@ -73,7 +87,7 @@ id="remark" wrap="off" rows="3"> </textarea> </textarea> --> </UiField> </el-row> PAMapp/pages/appointment/_appointmentId/index.vue
@@ -6,6 +6,7 @@ <div>{{ appointmentDetail.consultantReadTime }}</div> </div> <AppointmentProgress class="mt-10" :currentStep="appointmentDetail.communicateStatus" ></AppointmentProgress> @@ -14,16 +15,18 @@ <div class="client-detail-info"> <div class="client-detail-info__avatar"> <div class="circle"> {{ appointmentDetail.name }} {{ appointmentDetail.name || 'NO NAME' }} <div class="sm-circle"> {{ appointmentDetail.gender === 'male' ? 'ç·' : '女'}} </div> </div> </div> <div class="client-detail-info__information"> <div>{{ appointmentDetail.age }}æ²</div> <div>{{ appointmentDetail.age || '--' }}æ²</div> <div>{{ appointmentDetail.phone }}</div> <div class="text--underline">{{ appointmentDetail.email }}</div> <div class="text--underline"> {{ appointmentDetail.email }} </div> </div> </div> @@ -34,18 +37,26 @@ </div> <div class="client-detail-demand__hope-contact-time"> <div class="client-detail-demand__demand-list-label">è¯çµ¡<br />ææ®µ</div> <div>{{ appointmentDetail.hopeContactTime }}</div> <div>ææä¸ 17:00 ~ 19:00</div> <!-- TODO: å¤çè¯çµ¡ææ®µå¦ä½åç¾ && è·çåé¡ [Tomas. 2021/1/12] --> <!-- <div>{{ appointmentDetail.hopeContactTime }}</div> --> </div> </div> <div class="client-detail-action"> <el-button @click="$router.go(-1)" >çµæ¡</el-button> <el-button @click="closeAppointment" >çµæ¡</el-button> <el-button @click="$router.go(-1)" style="margin-left: 0px">éç¥/æ¡è¨ª</el-button> </div> </section> <section class="mt-30"> <AppointmentInterviewList /> </section> <section class="mt-30"> <AppointmentRecordList /> </section> </div> </template> @@ -72,6 +83,12 @@ } } ////////////////////////////////////////////////////////////////////// closeAppointment(): void { this.$router.push(`/appointment/${this.appointmentDetail.id}/close`); } } </script> PAMapp/pages/appointment/_appointmentId/interview/new/index.vue
File was renamed from PAMapp/pages/appointment/EditAppointmentRecord.vue @@ -25,7 +25,7 @@ import { Vue, Component } from 'nuxt-property-decorator'; @Component export default class EditAppointmentRecord extends Vue { export default class NewAppointmentInterview extends Vue { } </script> @@ -63,4 +63,4 @@ display: flex; justify-content: center; } </style> </style>