From f316bd2d97efb54ef48fde17b4e38fba2fc7b1aa Mon Sep 17 00:00:00 2001
From: Tomas <tomasysh@gmail.com>
Date: 星期四, 11 一月 2024 17:17:01 +0800
Subject: [PATCH] project: remove lodash library

---
 PAMapp/components/Interview/InterviewAdd.vue |   82 ++++++++++++++++++++++++++++-------------
 1 files changed, 56 insertions(+), 26 deletions(-)

diff --git a/PAMapp/components/Interview/InterviewAdd.vue b/PAMapp/components/Interview/InterviewAdd.vue
index 7a47229..8107e6b 100644
--- a/PAMapp/components/Interview/InterviewAdd.vue
+++ b/PAMapp/components/Interview/InterviewAdd.vue
@@ -5,33 +5,37 @@
           <span>{{interviewRecord.lastModifiedDate | formatDate}} ��</span>
       </div>
       <el-row class="mdTxt mb-10">
-          <el-col :xs="16" :sm="20">蝝赤����</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"
-                class="mr-10 text--primary text--underline cursor--pointer"
+                class="mr-10 text--primary  cursor--pointer"
                 @click="showCancelPopUp = true"
-              >��</span>
+              ><i class="icon-delet"></i></span>
               <span
                 v-if="!isEdit"
-                class="text--primary text--underline cursor--pointer"
+                class="text--primary  cursor--pointer"
                 @click="isEdit = !isEdit"
-              >蝺刻摩</span>
+              ><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"
@@ -43,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>
@@ -77,7 +81,7 @@
         @closePopUp="closePopup">
         <div class="text--center mdTxt">{{confirmTxt}}嚗�</div>
         <div class="text--center mdTxt">蝡���赤�嚗�</div>
-        <div class="text--center mt-30">
+        <div class="text--center mt-30 confirm-btn">
             <el-button @click="closePopup">�����</el-button>
             <el-button @click="showInterviewMsgPopup = true" type="primary">���赤�</el-button>
         </div>
@@ -86,6 +90,7 @@
       <InterviewMsg
         :isVisible.sync="showInterviewMsgPopup"
         :client="appointmentDetail"
+        :defaultValue="interviewTime"
         @closeDialog="closePopup"
       ></InterviewMsg>
   </div>
@@ -165,25 +170,33 @@
             }
             this.updateRecord(updateInterviewRecord);
         }
-        this.updateAppointmentDetail(+this.appointmentId);
     }
 
     private createdRecord(interviewRecordInfo) {
         appointmentService.createInterviewRecord(interviewRecordInfo).then(res => {
-            this.confirmTxt = '�憓���'
-            this.showPopUp();
+            this.showPopUp('�憓���');
         });
     }
 
-    private updateRecord(updateInterviewRecord) {
-        appointmentService.updateInterviewRecord(updateInterviewRecord).then(res => {
-            this.confirmTxt = '蝺刻摩����';
-            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() {
-        if (new Date(this.interviewTime).getTime() >= new Date().getTime()) {
+    private showPopUp(confirmTxt) {
+        this.confirmTxt = confirmTxt;
+        this.updateAppointmentDetail(+this.appointmentId);
+
+        if (new Date(this.interviewTime).getTime() >= new Date().getTime() && (!this.appointmentDetail.appointmentClosedInfo)) {
             this.showFutureDateConfirmPopup = true;
         } else {
             this.showConfirmPopup = true;
@@ -224,7 +237,7 @@
 }
 </script>
 
-<style lang="scss" scoped>
+<style lang="scss" >
 .edit-appointment-record {
     padding-left : 10px;
     padding-right: 10px;
@@ -235,15 +248,32 @@
         margin-bottom  : 26px;
     }
 }
-.icon {
-    color          : $PRIMARY_RED;
-    display        : flex;
-    flex           : 1;
-    justify-content: flex-end;
-}
 .edit-appointment-record-btn{
     margin-top: 30px;
     display: flex;
     justify-content: center;
 }
+.el-textarea__inner {
+    border: 1px solid #707070;
+    padding: 10px 20px;
+    font-size: 20px;
+    &::placeholder {
+        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>

--
Gitblit v1.8.0