From b4d6944076f1df6eedaae35c4c2a7072fe988e8a Mon Sep 17 00:00:00 2001
From: Tomas <tomasysh@gmail.com>
Date: 星期二, 30 四月 2024 15:34:02 +0800
Subject: [PATCH] update: package-lock.json

---
 PAMapp/pages/appointment/_appointmentId/close/index.vue |   59 ++++++++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 50 insertions(+), 9 deletions(-)

diff --git a/PAMapp/pages/appointment/_appointmentId/close/index.vue b/PAMapp/pages/appointment/_appointmentId/close/index.vue
index 94e02fd..53c062f 100644
--- a/PAMapp/pages/appointment/_appointmentId/close/index.vue
+++ b/PAMapp/pages/appointment/_appointmentId/close/index.vue
@@ -15,9 +15,9 @@
         <el-row
           type="flex"
           class="pam-paragraph" style="flex-direction: column">
-          <UiField label="靽頨怠�����" :labelSize="20" class="required">
+          <UiField label="頨怠�����/撅�����" :labelSize="20" class="required">
             <input
-              class="appointment-client-detail-close__input"
+              class="appointment-client-detail-close__input mt-10"
               :class="{'is-invalid':!identityIdValid}"
               v-model="appointmentCloseInfo.policyholderIdentityId"
               placeholder="隢撓�"
@@ -31,9 +31,9 @@
         <el-row
           type="flex"
           class="pam-paragraph">
-          <UiField label="���誨蝣噗lan Code" :labelSize="20" class="required">
+          <UiField label="����迂" :labelSize="20" class="required">
             <input
-              class="appointment-client-detail-close__input"
+              class="appointment-client-detail-close__input mt-10"
               v-model="appointmentCloseInfo.planCode"
               placeholder="隢撓�"
               type="text">
@@ -46,6 +46,7 @@
           <UiField label="�脖辣����" :labelSize="20" class="required">
             <DateTimePicker
               :defaultValue="appointmentCloseInfo.policyEntryDate"
+              class="mt-10"
               @changeDateTime="appointmentCloseDate = $event"></DateTimePicker>
           </UiField>
         </el-row>
@@ -56,7 +57,7 @@
           class="pam-paragraph">
           <UiField label="���漱����" :labelSize="20" class="required">
             <UiSelect :closeReason.sync="appointmentCloseInfo.closedReason"
-              :options="appointmentFailReason"/>
+              :options="appointmentFailReason" class="mt-10"/>
           </UiField>
           <input
             v-if="appointmentCloseInfo.closedReason === 'other'
@@ -73,6 +74,7 @@
         class="pam-paragraph">
         <UiField label="��酉" :labelSize="20">
           <el-input
+          class="mt-10"
             type="textarea"
             :rows="3"
             placeholder="隢撓�"
@@ -196,14 +198,54 @@
         contactStatus    : this.contactStatus.CLOSE,
         remark           : this.appointmentCloseInfo.remark,
       }
-      appointmentService.closeAppointment(toCloseAppointment).then((_) => this.updateAppointmentDetail(appointmentId));
-      this.isShowSuccessAlert = true;
+      appointmentService.closeAppointment(toCloseAppointment).then((_) => {
+        this.updateAppointmentDetail(appointmentId);
+        this.isShowSuccessAlert = true;
+      });
+
     }
   }
 
   closeAlert(){
     this.isShowSuccessAlert = false ;
     this.$router.push(`/myAppointmentList/contactedList`);
+  }
+
+  checkIdentityId(id) {
+    const tab = 'ABCDEFGHJKLMNPQRSTUVXYWZIO';
+    const weight = [9, 8, 7, 6, 5, 4, 3, 2, 1, 1];
+    if (id.length !== 10) return false;
+    let i = tab.indexOf(id.charAt(0)) + 10;
+    if (i === 9) return false;
+    let sum = Math.floor((i % 100) / 10) + (i % 10) * 9;
+    for (i = 1; i < 10; i += 1) {
+      let v = parseInt(id.charAt(i), 10);
+      if (i === 1 && Number.isNaN(v)) {
+        switch (id.charAt(i)) {
+          case 'A':
+            v = 0;
+            break;
+          case 'B':
+            v = 1;
+            break;
+          case 'C':
+            v = 2;
+            break;
+          case 'D':
+            v = 3;
+            break;
+          default:
+            return false;
+        }
+      } else if (i === 1 && ([1, 2, 8, 9].indexOf(v) === -1)) {
+        return false;
+      }
+      if (i > 1 && Number.isNaN(v)) return false;
+      sum += v * weight[i];
+    }
+
+    if (sum % 10 !== 0) return false;
+    return true;
   }
 
   get isSubmitBtnDisabled() {
@@ -224,9 +266,8 @@
   }
 
   get identityIdValid() {
-    const rule = /^[A-Z]\d{9}$/;
     const identityId = this.appointmentCloseInfo.policyholderIdentityId;
-    return identityId ? rule.test(identityId) : true;
+    return identityId ? this.checkIdentityId(identityId) : true;
   }
 
 }

--
Gitblit v1.8.0