保誠-保戶業務員媒合平台
Tomas
2024-04-30 b4d6944076f1df6eedaae35c4c2a7072fe988e8a
PAMapp/components/Interview/InterviewAdd.vue
@@ -5,8 +5,9 @@
          <span>{{interviewRecord.lastModifiedDate | formatDate}} 更新</span>
      </div>
      <el-row class="mdTxt mb-10">
          <el-col :xs="16" :sm="20" v-if="interviewId">約訪時間</el-col>
          <el-col :xs="16" :sm="20" class="required" v-else>約訪時間</el-col>
          <el-col :xs="16" :sm="20">
            <span :class="{'required': !interviewId || isEdit}">約訪時間</span>
          </el-col>
          <el-col :xs="8" :sm="4" class="text--right" v-if="interviewId">
              <span
                v-if="!isEdit"
@@ -20,19 +21,21 @@
              ><i class="icon-edit"></i></span>
          </el-col>
      </el-row>
      <template v-if="!interviewId || isEdit">
          <DateTimePicker
            :disabledBeforeSpecificDate="appointmentDetail.appointmentDate"
            @changeDateTime="interviewTime = $event"
            :defaultValue="defaultValue"
          ></DateTimePicker>
      </template>
      <template v-else>
          <div class="mdTxt lighter mt-20">
          <div class="fs-20 mt-20">
              {{formatInterviewDate}}
          </div>
      </template>
      <div class="mdTxt mb-10 mt-30">約訪紀錄</div>
      <div class="mdTxt mb-10 mt-30" :class="{'required': !interviewId || isEdit}">約訪紀錄</div>
      <template v-if="!interviewId || isEdit">
          <el-input
            type="textarea"
@@ -44,7 +47,7 @@
        </el-input>
      </template>
      <template v-else>
          <div class="mdTxt lighter mt-20">
          <div class="fs-20 mt-20 text--break-all line-height">
              {{content}}
          </div>
      </template>
@@ -78,7 +81,7 @@
        @closePopUp="closePopup">
        <div class="text--center mdTxt">{{confirmTxt}}!</div>
        <div class="text--center mdTxt">立即發送約訪通知?</div>
        <div class="text--center mt-30" style="display:flex">
        <div class="text--center mt-30 confirm-btn">
            <el-button @click="closePopup">先不發送</el-button>
            <el-button @click="showInterviewMsgPopup = true" type="primary">傳送約訪通知</el-button>
        </div>
@@ -175,17 +178,25 @@
        });
    }
    private updateRecord(updateInterviewRecord) {
        appointmentService.updateInterviewRecord(updateInterviewRecord).then(res => {
            this.showPopUp('編輯成功');
        });
  private async updateRecord(updateInterviewRecord) {
    try {
      const response = await appointmentService.updateInterviewRecord(updateInterviewRecord);
      if (response !== null) {
        this.showPopUp('編輯成功');
      } else {
        throw new Error('appointmentService.updateInterviewRecord returned null-like value.');
      }
    } catch (error) {
      console.error('An error occurred while updating interview record:', error);
      throw error;
    }
  }
    private showPopUp(confirmTxt) {
        this.confirmTxt = confirmTxt;
        this.updateAppointmentDetail(+this.appointmentId);
        if (new Date(this.interviewTime).getTime() >= new Date().getTime()) {
        if (new Date(this.interviewTime).getTime() >= new Date().getTime() && (!this.appointmentDetail.appointmentClosedInfo)) {
            this.showFutureDateConfirmPopup = true;
        } else {
            this.showConfirmPopup = true;
@@ -250,5 +261,19 @@
        font-size: 20px;
    }
}
.required {
      position: relative;
      &::before {
        content: '*';
        position: absolute;
        color: #FF0000;
        transform: translate(-12px, 0);
        z-index: 5;
      }
    }
.confirm-btn{
  display: flex;
  justify-content: center;
}
</style>