From 34b08e1c461f5e08675fcff95525956d7c4bef11 Mon Sep 17 00:00:00 2001
From: wayne <wayne8692wayne8692@gmail.com>
Date: 星期四, 17 二月 2022 11:38:48 +0800
Subject: [PATCH] Merge branch 'Phase3' into pollex-dev

---
 PAMapp/pages/appointment/_appointmentId/close/index.vue |   37 +++++++++++++++++--------------------
 1 files changed, 17 insertions(+), 20 deletions(-)

diff --git a/PAMapp/pages/appointment/_appointmentId/close/index.vue b/PAMapp/pages/appointment/_appointmentId/close/index.vue
index c6a924c..3fe2dae 100644
--- a/PAMapp/pages/appointment/_appointmentId/close/index.vue
+++ b/PAMapp/pages/appointment/_appointmentId/close/index.vue
@@ -209,20 +209,17 @@
     this.$router.push(`/myAppointmentList/contactedList`);
   }
 
-  checkIdentityId (id) {
-    const tab = "ABCDEFGHJKLMNPQRSTUVXYWZIO";
-    const A1 = [ 1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3 ];
-    const A2 = [ 0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5 ];
-    const Mx = [ 9,8,7,6,5,4,3,2,1,1 ];
-
-    if ( id.length != 10 ) return false;
-    let i = tab.indexOf( id.charAt(0) );
-    if ( i === -1 ) return false;
-    let sum = A1[i] + A2[i]*9;
-    for ( i=1; i<10; i+=1 ) {
-      let v = parseInt( id.charAt(i) );
-      if (i === 1 && isNaN(v)) {
-        switch(id.charAt(i)) {
+  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;
@@ -236,16 +233,16 @@
             v = 3;
             break;
           default:
-            return false
+            return false;
         }
-      } else if ( i === 1  && ([1,2,8,9].indexOf(v) === -1) ) {
-        return false
+      } else if (i === 1 && ([1, 2, 8, 9].indexOf(v) === -1)) {
+        return false;
       }
-      if ( i > 1 && isNaN(v) ) return false;
-      sum = sum + v * Mx[i];
+      if (i > 1 && Number.isNaN(v)) return false;
+      sum += v * weight[i];
     }
 
-    if ( sum % 10 != 0 ) return false;
+    if (sum % 10 !== 0) return false;
     return true;
   }
 

--
Gitblit v1.8.0