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