| | |
| | | <div class="subTitle msg-dialog-title">約訪通知</div> |
| | | <div class="send-msg-nav"> |
| | | <div class="mdTxt">通知內容</div> |
| | | <div class="mdTxt text--primary text--underline">編輯</div> |
| | | </div> |
| | | |
| | | <el-input |
| | |
| | | </el-input> |
| | | |
| | | <div v-if="client.phone"> |
| | | <div class="mdTxt mt-30 mb-10">預計約訪時段</div> |
| | | <div class="mdTxt mt-30 mb-10 required">預計約訪時段</div> |
| | | <DateTimePicker |
| | | @changeDateTime="interviewTime = $event" |
| | | :isPastDateDisabled="true" |
| | | :defaultValue="defaultValue" |
| | | ></DateTimePicker> |
| | | </div> |
| | | |
| | |
| | | import { AgentInfo } from '~/shared/models/agent-info.model'; |
| | | |
| | | const loginStore = namespace('login.store'); |
| | | const appointmentStore = namespace('appointment.store'); |
| | | |
| | | @Component |
| | | export default class InterviewMsg extends Vue { |
| | | |
| | | @Action |
| | | storeMyAppointmentList!: () => Promise<number>; |
| | | |
| | | @appointmentStore.Action |
| | | updateAppointmentDetail!: (id: number) => Appointment; |
| | | |
| | | @PropSync('isVisible') |
| | | dialogVisible!: boolean; |
| | |
| | | |
| | | @Prop() |
| | | client!: Appointment; |
| | | |
| | | @Prop() |
| | | defaultValue!: string; |
| | | |
| | | @Emit('closeDialog') |
| | | closeDialog() { |
| | |
| | | }; |
| | | appointmentService.informAppointment(appointmentInformation).then((_) => { |
| | | this.isShowSuccessAlert = true ; |
| | | this.updateAppointmentDetail(this.client.id); |
| | | }); |
| | | } |
| | | |
| | |
| | | <style lang="scss" > |
| | | .interview-msg-component{ |
| | | |
| | | .required { |
| | | position: relative; |
| | | &::before { |
| | | content: '*'; |
| | | position: absolute; |
| | | color: #FF0000; |
| | | transform: translate(-12px, 0); |
| | | } |
| | | } |
| | | .msg-dialog-title{ |
| | | display: flex; |
| | | justify-content: center; |