Skip to content

Commit 6888931

Browse files
committed
fix Driver's License result info repeat
1 parent 53f005c commit 6888931

File tree

2 files changed

+113
-121
lines changed

2 files changed

+113
-121
lines changed
+88-94
Original file line numberDiff line numberDiff line change
@@ -1,95 +1,89 @@
1-
const DriverLicenseFields = [
2-
{ abbreviation: 'DAA', description: 'Full Name' },
3-
{ abbreviation: 'DAB', description: 'Last Name' },
4-
{ abbreviation: 'DAB', description: 'Family Name' },
5-
{ abbreviation: 'DAC', description: 'First Name' },
6-
{ abbreviation: 'DAC', description: 'Given Name' },
7-
{ abbreviation: 'DAD', description: 'Middle Name or Initial' },
8-
{ abbreviation: 'DAD', description: 'Middle Name' },
9-
{ abbreviation: 'DAE', description: 'Name Suffix' },
10-
{ abbreviation: 'DAF', description: 'Name Prefix' },
11-
{ abbreviation: 'DAG', description: 'Mailing Street Address1' },
12-
{ abbreviation: 'DAH', description: 'Mailing Street Address2' },
13-
{ abbreviation: 'DAI', description: 'Mailing City' },
14-
{ abbreviation: 'DAJ', description: 'Mailing Jurisdiction Code' },
15-
{ abbreviation: 'DAK', description: 'Mailing Postal Code' },
16-
{ abbreviation: 'DAL', description: 'Residence Street Address1' },
17-
{ abbreviation: 'DAM', description: 'Residence Street Address2' },
18-
{ abbreviation: 'DAN', description: 'Residence City' },
19-
{ abbreviation: 'DAO', description: 'Residence Jurisdiction Code' },
20-
{ abbreviation: 'DAP', description: 'Residence Postal Code' },
21-
{ abbreviation: 'DAQ', description: 'License or ID Number' },
22-
{ abbreviation: 'DAR', description: 'License Classification Code' },
23-
{ abbreviation: 'DAS', description: 'License Restriction Code' },
24-
{ abbreviation: 'DAT', description: 'License Endorsements Code' },
25-
{ abbreviation: 'DAU', description: 'Height in FT_IN' },
26-
{ abbreviation: 'DAV', description: 'Height in CM' },
27-
{ abbreviation: 'DAW', description: 'Weight in LBS' },
28-
{ abbreviation: 'DAX', description: 'Weight in KG' },
29-
{ abbreviation: 'DAY', description: 'Eye Color' },
30-
{ abbreviation: 'DAZ', description: 'Hair Color' },
31-
{ abbreviation: 'DBA', description: 'License Expiration Date' },
32-
{ abbreviation: 'DBB', description: 'Date of Birth' },
33-
{ abbreviation: 'DBC', description: 'Sex' },
34-
{ abbreviation: 'DBD', description: 'License or ID Document Issue Date' },
35-
{ abbreviation: 'DBE', description: 'Issue Timestamp' },
36-
{ abbreviation: 'DBF', description: 'Number of Duplicates' },
37-
{ abbreviation: 'DBG', description: 'Medical Indicator Codes' },
38-
{ abbreviation: 'DBH', description: 'Organ Donor' },
39-
{ abbreviation: 'DBI', description: 'Non-Resident Indicator' },
40-
{ abbreviation: 'DBJ', description: 'Unique Customer Identifier' },
41-
{ abbreviation: 'DBK', description: 'Social Security Number' },
42-
{ abbreviation: 'DBL', description: 'Date Of Birth' },
43-
{ abbreviation: 'DBM', description: 'Social Security Number' },
44-
{ abbreviation: 'DBN', description: 'Full Name' },
45-
{ abbreviation: 'DBO', description: 'Last Name' },
46-
{ abbreviation: 'DBO', description: 'Family Name' },
47-
{ abbreviation: 'DBP', description: 'First Name' },
48-
{ abbreviation: 'DBP', description: 'Given Name' },
49-
{ abbreviation: 'DBQ', description: 'Middle Name' },
50-
{ abbreviation: 'DBQ', description: 'Middle Name or Initial' },
51-
{ abbreviation: 'DBR', description: 'Suffix' },
52-
{ abbreviation: 'DBS', description: 'Prefix' },
53-
{ abbreviation: 'DCA', description: 'Virginia Specific Class' },
54-
{ abbreviation: 'DCB', description: 'Virginia Specific Restrictions' },
55-
{ abbreviation: 'DCD', description: 'Virginia Specific Endorsements' },
56-
{ abbreviation: 'DCE', description: 'Physical Description Weight Range' },
57-
{ abbreviation: 'DCF', description: 'Document Discriminator' },
58-
{ abbreviation: 'DCG', description: 'Country territory of issuance' },
59-
{ abbreviation: 'DCH', description: 'Federal Commercial Vehicle Codes' },
60-
{ abbreviation: 'DCI', description: 'Place of birth' },
61-
{ abbreviation: 'DCJ', description: 'Audit information' },
62-
{ abbreviation: 'DCK', description: 'Inventory Control Number' },
63-
{ abbreviation: 'DCL', description: 'Race Ethnicity' },
64-
{ abbreviation: 'DCM', description: 'Standard vehicle classification' },
65-
{ abbreviation: 'DCN', description: 'Standard endorsement code' },
66-
{ abbreviation: 'DCO', description: 'Standard restriction code' },
67-
{ abbreviation: 'DCP', description: 'Jurisdiction specific vehicle classification description' },
68-
{ abbreviation: 'DCQ', description: 'Jurisdiction-specific' },
69-
{ abbreviation: 'DCR', description: 'Jurisdiction specific restriction code description' },
70-
{ abbreviation: 'DCS', description: 'Family Name' },
71-
{ abbreviation: 'DCS', description: 'Last Name' },
72-
{ abbreviation: 'DCT', description: 'Given Name' },
73-
{ abbreviation: 'DCT', description: 'First Name' },
74-
{ abbreviation: 'DCU', description: 'Suffix' },
75-
{ abbreviation: 'DDA', description: 'Compliance Type' },
76-
{ abbreviation: 'DDB', description: 'Card Revision Date' },
77-
{ abbreviation: 'DDC', description: 'HazMat Endorsement Expiry Date' },
78-
{ abbreviation: 'DDD', description: 'Limited Duration Document Indicator' },
79-
{ abbreviation: 'DDE', description: 'Family Name Truncation' },
80-
{ abbreviation: 'DDF', description: 'First Names Truncation' },
81-
{ abbreviation: 'DDG', description: 'Middle Names Truncation' },
82-
{ abbreviation: 'DDH', description: 'Under 18 Until' },
83-
{ abbreviation: 'DDI', description: 'Under 19 Until' },
84-
{ abbreviation: 'DDJ', description: 'Under 21 Until' },
85-
{ abbreviation: 'DDK', description: 'Organ Donor Indicator' },
86-
{ abbreviation: 'DDL', description: 'Veteran Indicator' },
87-
{ abbreviation: 'PAA', description: 'Permit Classification Code' },
88-
{ abbreviation: 'PAB', description: 'Permit Expiration Date' },
89-
{ abbreviation: 'PAC', description: 'Permit Identifier' },
90-
{ abbreviation: 'PAD', description: 'Permit IssueDate' },
91-
{ abbreviation: 'PAE', description: 'Permit Restriction Code' },
92-
{ abbreviation: 'PAF', description: 'Permit Endorsement Code' },
93-
{ abbreviation: 'ZVA', description: 'Court Restriction Code' }
94-
];
1+
const DriverLicenseFields = {
2+
'DCA': 'Jurisdiction-specific vehicle class',
3+
'DCB': 'Jurisdiction-specific restriction codes',
4+
'DCD': 'Jurisdiction-specific endorsement codes',
5+
'DBA': 'Document Expiration Date',
6+
'DCS': 'Customer Last Name',
7+
'DAC': 'Customer First Name',
8+
'DBD': 'Document Issue Date',
9+
'DBB': 'Date of Birth',
10+
'DBC': 'Physical Description - Sex',
11+
'DAY': 'Physical Description - Eye Color',
12+
'DAU': 'Physical Description - Height',
13+
'DAG': 'Address - Street 1',
14+
'DAI': 'Address - City',
15+
'DAJ': 'Address - Jurisdiction Code',
16+
'DAK': 'Address - Postal Code',
17+
'DAQ': 'Customer ID Number',
18+
'DCF': 'Document Discriminator',
19+
'DCG': 'Country Identification',
20+
'DDE': 'Family Name Truncation',
21+
'DDF': 'First Names Truncation',
22+
'DDG': 'Middle Names Truncation',
23+
'DAH': 'Address - Street 2',
24+
'DAZ': 'Hair Color',
25+
'DCI': 'Place of birth',
26+
'DCJ': 'Audit information',
27+
'DCK': 'Inventory Control Number',
28+
'DBN': 'Alias / AKA Family Name',
29+
'DBG': 'Alias / AKA Given Name',
30+
'DBS': 'Alias / AKA Suffix Name',
31+
'DCU': 'Name Suffix',
32+
'DCE': 'Physical Description Weight Range',
33+
'DCL': 'Race / Ethnicity',
34+
'DCM': 'Standard vehicle classification',
35+
'DCN': 'Standard endorsement code',
36+
'DCO': 'Standard restriction code',
37+
'DCP': 'Jurisdiction-specific vehicle classification description',
38+
'DCQ': 'Jurisdiction-specific endorsement code description',
39+
'DCR': 'Jurisdiction-specific restriction code description',
40+
'DDA': 'Compliance Type',
41+
'DDB': 'Card Revision Date',
42+
'DDC': 'HazMat Endorsement Expiration Date',
43+
'DDD': 'Limited Duration Document Indicator',
44+
'DAW': 'Weight(pounds)',
45+
'DAX': 'Weight(kilograms)',
46+
'DDH': 'Under 18 Until',
47+
'DDI': 'Under 19 Until',
48+
'DDJ': 'Under 21 Until',
49+
'DDK': 'Organ Donor Indicator',
50+
'DDL': 'Veteran Indicator',
51+
// old standard
52+
'DAA': 'Customer Full Name',
53+
'DAB': 'Customer Last Name',
54+
'DAE': 'Name Suffix',
55+
'DAF': 'Name Prefix',
56+
'DAL': 'Residence Street Address1',
57+
'DAM': 'Residence Street Address2',
58+
'DAN': 'Residence City',
59+
'DAO': 'Residence Jurisdiction Code',
60+
'DAP': 'Residence Postal Code',
61+
'DAR': 'License Classification Code',
62+
'DAS': 'License Restriction Code',
63+
'DAT': 'License Endorsements Code',
64+
'DAV': 'Height in CM',
65+
'DBE': 'Issue Timestamp',
66+
'DBF': 'Number of Duplicates',
67+
'DBH': 'Organ Donor',
68+
'DBI': 'Non-Resident Indicator',
69+
'DBJ': 'Unique Customer Identifier',
70+
'DBK': 'Social Security Number',
71+
'DBL': 'Date Of Birth',
72+
'DBM': 'Social Security Number',
73+
'DCH': 'Federal Commercial Vehicle Codes',
74+
'DBO': 'Customer Last Name',
75+
'DBP': 'Customer First Name',
76+
'DBQ': 'Customer Middle Name(s)',
77+
'DBR': 'Name Suffix',
78+
'PAA': 'Permit Classification Code',
79+
'PAB': 'Permit Expiration Date',
80+
'PAC': 'Permit Identifier',
81+
'PAD': 'Permit IssueDate',
82+
'PAE': 'Permit Restriction Code',
83+
'PAF': 'Permit Endorsement Code',
84+
'ZVA': 'Court Restriction Code',
85+
'DCT': 'Customer First Name',
86+
'DAD': 'Customer Middle Name(s)'
87+
};
88+
9589
export default DriverLicenseFields;

src/components/BarcodeScanner.vue

+25-27
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,6 @@
154154
</li>
155155
</ul>
156156
<div class="dlResultContainer" v-show="isDLResultShow">
157-
<!-- <ul class="dlInfo" :data-clipboard-text="copiedDLInfo"> -->
158157
<ul class="dlInfo">
159158
<li v-for="(info, infoIndex) in dlInfo" :key="infoIndex">
160159
<span class="description"> {{ info.description }}: </span>
@@ -1981,29 +1980,28 @@ export default Vue.extend({
19811980
this.dlText = "";
19821981
},
19831982
getDLInfo(txt) {
1984-
let dlInfo = [];
1985-
if (txt !== "") {
1986-
let barcodeText = txt + "\n";
1987-
for (let i = 0; i < DriverLicenseFields.length; i++) {
1988-
let __item = DriverLicenseFields[i];
1989-
let _fieldValue = this.getField(barcodeText, __item.abbreviation);
1990-
if (_fieldValue != false) {
1991-
dlInfo.push({
1992-
description: __item.description,
1993-
value: _fieldValue,
1994-
});
1983+
let lines = txt.split('\n');
1984+
let abbrs = Object.keys(DriverLicenseFields);
1985+
let dlInfo = {};
1986+
lines.forEach((line, i) => {
1987+
let abbr;
1988+
let content;
1989+
if(i === 1){
1990+
abbr = 'DAQ';
1991+
content = line.substring(line.indexOf(abbr) + 3);
1992+
}else{
1993+
abbr = line.substring(0, 3);
1994+
content = line.substring(3).trim();
1995+
}
1996+
if(abbrs.includes(abbr)){
1997+
dlInfo[abbr] = {
1998+
description: DriverLicenseFields[abbr],
1999+
value: content
2000+
};
19952001
}
1996-
}
1997-
}
2002+
});
19982003
return dlInfo;
19992004
},
2000-
getField(barcodeText, keyword) {
2001-
let k = barcodeText.search("\n" + keyword);
2002-
if (k == -1) return false;
2003-
let m = barcodeText.indexOf("\n", k + 1);
2004-
let subtext = barcodeText.substring(k + 4, m);
2005-
return subtext;
2006-
},
20072005
showCameraList() {
20082006
this.isShowCameraList = !this.isShowCameraList;
20092007
},
@@ -2036,8 +2034,8 @@ export default Vue.extend({
20362034
let clipboard = new Clipboard(".copyBtn", {
20372035
text: () => {
20382036
let copyContent = "";
2039-
for (let i of this.dlInfo) {
2040-
copyContent += i.description + ": " + i.value + "\n";
2037+
for (let i in this.dlInfo) {
2038+
copyContent += this.dlInfo[i].description + ": " + this.dlInfo[i].value + "\n";
20412039
}
20422040
return copyContent;
20432041
},
@@ -2396,19 +2394,19 @@ export default Vue.extend({
23962394
}
23972395
},
23982396
isDLResultShow() {
2399-
return this.selectedUseCase === "dl" && this.dlInfo.length !== 0;
2397+
return this.selectedUseCase === "dl" && Object.keys(this.dlInfo).length !== 0;
24002398
},
24012399
dlInfo() {
24022400
if (this.selectedUseCase === "dl") {
24032401
return this.getDLInfo(this.dlText);
24042402
} else {
2405-
return [];
2403+
return {};
24062404
}
24072405
},
24082406
copiedDLInfo() {
24092407
let copiedDLInfo = "";
2410-
for (let i of this.dlInfo) {
2411-
copiedDLInfo += i.description + ": " + i.value + "\n";
2408+
for (let i in this.dlInfo) {
2409+
copiedDLInfo += this.dlInfo[i].description + ": " + this.dlInfo[i].value + "\n";
24122410
}
24132411
return copiedDLInfo;
24142412
},

0 commit comments

Comments
 (0)