PAMapp/components/Interview/InterviewAdd.vue | ●●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程 | |
PAMapp/shared/models/appointment.model.ts | ●●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程 | |
PAMapp/shared/services/appointment.service.ts | ●●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程 |
PAMapp/components/Interview/InterviewAdd.vue
@@ -11,23 +11,40 @@ ></DateTimePicker> <div class="mdTxt mb-10 mt-10">約訪紀錄</div> <el-input type="textarea" :rows="5" placeholder="約訪通知" resize="none"> <el-input type="textarea" :rows="5" placeholder="請輸入約訪紀錄" resize="none" v-model="content" > </el-input> <div class="edit-appointment-record-btn"> <el-button>取消</el-button> <el-button :disabled="!interviewTime">確定</el-button> <el-button :disabled="!interviewTime || !content" @click="createInterviewRecord">確定</el-button> </div> <PopUpFrame :isOpen.sync="isConfirmPopup" @closePopUp="closeConfirmPopup"> <div class="text--center mdTxt">新增成功</div> <div class="text--center mt-30"> <el-button @click="closeConfirmPopup" type="primary">確定</el-button> </div> </PopUpFrame> </div> </template> <script lang="ts"> import { AppointmentLog } from '~/shared/models/appointment.model'; import { AppointmentLog, InterviewRecordInfo } from '~/shared/models/appointment.model'; import { Vue, Component, Prop } from 'nuxt-property-decorator'; import authService from '~/shared/services/auth.service'; import appointmentService from '~/shared/services/appointment.service'; @Component export default class InterviewAdd extends Vue { interviewTime = ''; content = ''; isConfirmPopup = false; // @Prop() // myAppointmentReviewLogList!: AppointmentLog[]; @@ -39,6 +56,23 @@ // this.isUserLogin = authService.isUserLogin(); // } createInterviewRecord() { const interviewRecordInfo: InterviewRecordInfo = { content: this.content, interviewDate: this.interviewTime, appointmentId: +this.$route.params.appointmentId } appointmentService.createInterviewRecord(interviewRecordInfo).then(res => { this.isConfirmPopup = true; }); } closeConfirmPopup() { this.isConfirmPopup = false; this.$router.go(-1); } } </script> PAMapp/shared/models/appointment.model.ts
@@ -157,3 +157,14 @@ message : string; phone : string; } export interface InterviewRecordInfo { content: string; interviewDate: string; appointmentId: number; } export interface UpdateInterviewRecordInfo { /** interviewRecord id */ id: number; } PAMapp/shared/services/appointment.service.ts
@@ -1,6 +1,6 @@ import { http } from "./httpClient"; import { Appointment, AppointmentDetail, AppointmentMemoInfo, createdMemoInfo, EditAppointmentParams, ToCloseAppointment, ToDoneAppointment, ToInformAppointment, updatedMemoInfo } from "~/shared/models/appointment.model"; import { Appointment, AppointmentDetail, AppointmentMemoInfo, createdMemoInfo, EditAppointmentParams, InterviewRecordInfo, ToCloseAppointment, ToDoneAppointment, ToInformAppointment, updatedMemoInfo, UpdateInterviewRecordInfo } from "~/shared/models/appointment.model"; class AppointmentService { @@ -64,6 +64,21 @@ async informAppointment(appointmentInformation: ToInformAppointment) { return http.post(`/notice/send`, appointmentInformation).then((res) => res.data); } // 新增約訪記錄 async createInterviewRecord(interviewRecordInfo: InterviewRecordInfo) { return http.post('/interview_record/create', interviewRecordInfo).then(res => res.data); } // 修改約訪記錄 async updateInterviewRecord(updateInterviewRecordInfo: UpdateInterviewRecordInfo) { return http.post('/interview_record/update', updateInterviewRecordInfo) } // 刪除約訪記錄 async deleteInterviewRecord(interviewRecordId) { return http.delete(`/interview_record/'${interviewRecordId}`); } } export default new AppointmentService();