From 5b5c1e16deaa3a9d6d0ed1ffca390655ed103df7 Mon Sep 17 00:00:00 2001
From: buli <137736985@qq.com>
Date: 星期五, 14 七月 2023 14:56:14 +0800
Subject: [PATCH] lex community

---
 force-app/main/default/aura/DealerPersonnelInformationImport/DealerPersonnelInformationImportHelper.js |  273 ++++++++++++++++++++++-------------------------------
 1 files changed, 114 insertions(+), 159 deletions(-)

diff --git a/force-app/main/default/aura/DealerPersonnelInformationImport/DealerPersonnelInformationImportHelper.js b/force-app/main/default/aura/DealerPersonnelInformationImport/DealerPersonnelInformationImportHelper.js
index c3c47b7..cbd114b 100644
--- a/force-app/main/default/aura/DealerPersonnelInformationImport/DealerPersonnelInformationImportHelper.js
+++ b/force-app/main/default/aura/DealerPersonnelInformationImport/DealerPersonnelInformationImportHelper.js
@@ -17,90 +17,81 @@
                         break; // noop
                     default:
                         alert('An error occurred reading this file.');
-                }
-            };
+                };
+            }
             reader.onabort = function (e) {
                 alert('File read cancelled');
             };
             reader.onloadstart = function (e) {
-                var output =
-                    '<ui type="disc"><li><strong>' +
-                    file.name +
-                    '</strong> (' +
-                    file.type +
-                    ')- ' +
-                    file.size +
-                    'bytes, last modified: ' +
-                    file.lastModifiedDate.toLocaleDateString() +
-                    '</li></ui>';
-                component.set('v.filename', file.name);
-                component.set('v.TargetFileName', output);
+                var output = '<ui type=\"disc\"><li><strong>' + file.name + '</strong> (' + file.type + ')- ' + file.size + 'bytes, last modified: ' + file.lastModifiedDate.toLocaleDateString() + '</li></ui>';
+                component.set("v.filename", file.name);
+                component.set("v.TargetFileName", output);
             };
             reader.onload = function (e) {
                 var data = e.target.result;
                 // data.replace(/\n/,"")
                 var allTextLines11 = data.split(/\r/);
                 var s = allTextLines11.toString();
-                component.set('v.fileContentData', s);
-                console.log('file dataqqq' + JSON.stringify(s));
+                component.set("v.fileContentData", s);
+                console.log("file dataqqq" + JSON.stringify(s));
                 var allTextLines = data.split(/\r\n|\n/);
                 var dataRows = allTextLines.length - 1;
                 var headers = allTextLines[0].split(',');
-                var numOfRows = component.get('v.NumOfRecords');
-                if (
-                    dataRows > numOfRows + 1 ||
-                    dataRows == 1 ||
-                    dataRows == 0
-                ) {
-                    alert('File Rows between 1 to ' + numOfRows + ' .');
-                    component.set('v.showMain', true);
-                } else {
+                var numOfRows = component.get("v.NumOfRecords");
+                if (dataRows > numOfRows + 1 || dataRows == 1 || dataRows == 0) {
+                    alert("File Rows between 1 to " + numOfRows + " .");
+                    component.set("v.showMain", true);
+                }
+                else {
                     var lines = [];
                     var filecontentdata;
-                    var content =
-                        '<table class="table slds-table slds-table--bordered slds-table--cell-buffer">';
-                    content += '<thead><tr class="slds-text-title--caps">';
-                    content += '<th scope="col">' + '琛屽彿' + '</th>';
+                    var content = "<table class=\"table slds-table slds-table--bordered slds-table--cell-buffer\">";
+                    content += "<thead><tr class=\"slds-text-title--caps\">";
+                    content += '<th scope=\"col"\>' + '琛屽彿' + '</th>';
                     for (i = 0; i < headers.length; i++) {
-                        content += '<th scope="col">' + headers[i] + '</th>';
+                        content += '<th scope=\"col"\>' + headers[i] + '</th>';
                     }
-                    content += '</tr></thead>';
+                    content += "</tr></thead>";
                     for (var i = 1; i < allTextLines.length; i++) {
                         filecontentdata = allTextLines[i].split(',');
                         if (filecontentdata[0] != '') {
-                            content += '<tr>';
-                            content += '<td>' + i + '</td>';
+                            content += "<tr>";
+                            content += "<td>" + i + "</td>";
                             for (var j = 0; j < filecontentdata.length; j++) {
-                                content +=
-                                    '<td>' + filecontentdata[j] + '</td>';
+                                content += '<td>' + filecontentdata[j] + '</td>';
                             }
-                            content += '</tr>';
+                            content += "</tr>";
                         }
                     }
-                    content += '</table>';
+                    content += "</table>";
                     console.log(content);
-                    component.set('v.TableContent', content);
-                    component.set('v.showMain', false);
+                    component.set("v.TableContent", content);
+                    component.set("v.showMain", false);
                 }
-            };
+            }
             reader.readAsText(file, 'gb2312');
+
         }
         var reader = new FileReader();
-        reader.onloadend = function () {};
+        reader.onloadend = function () {
+        };
         reader.readAsDataURL(file);
+    },
+    isNumber: function(str) {
+        return /^\d+$/.test(str);
     },
     saveRecords: function (component, event, helper) {
         component.set('v.login', true);
-        var action = component.get('c.processData');
+        var action = component.get("c.processData");
         var fieldsList = ['Name', 'Phone', 'AccountNumber']; //Please write your code dynamic fields
         action.setParams({
-            fileData: component.get('v.fileContentData'),
+            fileData: component.get("v.fileContentData"),
             sobjectName: 'Account', //Any object
             fields: fieldsList
         });
         action.setCallback(this, function (response) {
             var state = response.getState();
-            if (state === 'SUCCESS') {
+            if (state === "SUCCESS") {
                 var res = response.getReturnValue();
                 var res1 = '';
                 if (res != 'success') {
@@ -108,178 +99,146 @@
                     console.log(ress);
                     let errorDatas = [];
                     let errorDataRow = [];
-                    debugger;
+                    debugger
                     for (var i = 0; i < ress.length; i++) {
                         res1 += ress[i].substr(7) + '\n';
                         if (ress[i] != '') {
-                            let errorData = {};
-                            let index = errorDataRow.indexOf(
-                                ress[i].substr(7).substring(1, 2)
-                            );
+                            let errorData = {}
+                            if(!this.isNumber(ress[i].substr(7).substring(1, 2))){
+                                continue
+                            }
+                            let index = errorDataRow.indexOf(ress[i].substr(7).substring(1, 2));
                             if (index == -1) {
-                                errorData.errorRow = ress[i]
-                                    .substr(7)
-                                    .substring(1, 2);
+                                errorData.errorRow = ress[i].substr(7).substring(1, 2);
                                 errorDataRow.push(errorData.errorRow);
-                                errorData.errorInfo = ress[i]
-                                    .substr(7)
-                                    .substring(6);
+                                errorData.errorInfo = ress[i].substr(7).substring(5);
                                 errorDatas.push(errorData);
                             } else {
-                                errorDatas[index].errorInfo +=
-                                    '; ' + ress[i].substr(7).substring(6);
+                                errorDatas[index].errorInfo += '; ' + ress[i].substr(7).substring(5);
                             }
                         }
                     }
-                    var fileContentData = component
-                        .get('v.fileContentData')
-                        .split('\n');
+                    var fileContentData = component.get("v.fileContentData").split('\n');
                     let errorColumns = [
-                        {
-                            label: '閿欒琛�',
-                            fieldName: 'errorRow',
-                            type: 'text',
-                            hideDefaultActions: true,
-                            initialWidth: 50
-                        },
-                        {
-                            label: '閿欒淇℃伅',
-                            fieldName: 'errorInfo',
-                            type: 'text',
-                            hideDefaultActions: true,
-                            initialWidth: 300,
-                            wrapText: true
-                        }
+                        { label: '閿欒琛�', fieldName: 'errorRow', type: 'text', hideDefaultActions: true, initialWidth: 100 },
+                        { label: '閿欒淇℃伅', fieldName: 'errorInfo', type: 'text', hideDefaultActions: true,initialWidth: 300,wrapText: true }
                     ];
-                    for (
-                        var i = 0;
-                        i < fileContentData[0].split(',').length - 1;
-                        i++
-                    ) {
+                    for (var i = 0; i < fileContentData[0].split(',').length - 1; i++) {
                         errorColumns.push({
-                            label: fileContentData[0].split(',')[i],
-                            fieldName: 'field' + i,
-                            type: 'text',
+                            label: fileContentData[0].split(',')[i], 
+                            fieldName: 'field' + i, 
+                            type: 'text', 
                             hideDefaultActions: true,
-                            wrapText: true
+                            wrapText: true,
+                            initialWidth: 120
                         });
                     }
-
-                    for (var i = 0; i < errorDatas.length; i++) {
+                    
+                    for(var i = 0; i < errorDatas.length; i++){
                         let data = fileContentData[errorDatas[i].errorRow];
                         console.log('data = ' + JSON.stringify(data));
-                        for (var j = 0; j < data.split(',').length; j++) {
-                            let label = 'field' + j;
-                            errorDatas[i][label] = data.split(',')[j];
+                        if(data){
+                            for(var j = 0; j < data.split(',').length; j++){
+                                let label = 'field' + j;
+                                errorDatas[i][label] = data.split(',')[j];
+                            }
                         }
                     }
-                    console.log('errorDatas = ' + JSON.stringify(errorDatas));
-
+                    console.log('errorDatas = ' + JSON.stringify(errorDatas))
+                    
                     component.set('v.errorColumns', errorColumns);
                     component.set('v.errorData', errorDatas);
-                    component.set('v.showErrorInfo', true);
+                    component.set("v.showErrorInfo", true);
 
-                    console.log('==' + res1);
+                    console.log("==" + res1);
                     // this.error( "璇蜂慨鏀瑰悗閲嶆柊涓婁紶");
-                    component.set('v.errorMessage', res1 + '璇蜂慨鏀瑰悗閲嶆柊涓婁紶');
+                    component.set('v.errorMessage', res1 + "璇蜂慨鏀瑰悗閲嶆柊涓婁紶");
                     this.showErrorToast(component);
                     component.set('v.login', false);
+                    component.find('save_con').set('v.disabled', true); 
                 } else {
                     // this.success('瀵煎叆鎴愬姛');
                     component.set('v.successMessage', '瀵煎叆鎴愬姛');
                     this.showSuccessToast01(component);
-                    component.set('v.showMain', true);
+                    component.set("v.showMain", true);
                     component.set('v.login', false);
+                    component.find('save_con').set('v.disabled', false); 
                 }
-            } else if (state === 'INCOMPLETE') {
+            }
+            else if (state === "INCOMPLETE") {
                 component.set('v.login', false);
-            } else if (state === 'ERROR') {
+            }
+            else if (state === "ERROR") {
                 var errors = response.getError();
                 if (errors) {
                     if (errors[0] && errors[0].message) {
-                        console.log('Error message: ' + errors[0].message);
-                        let errorDatas = [
-                            {
-                                errorRow: '1',
-                                errorInfo: errors[0].message
-                            }
-                        ];
+                        console.log("Error message: " + errors[0].message);
+                        let errorDatas = [{
+                            errorRow: '1',
+                            errorInfo: errors[0].message
+                        }];
                         let errorColumns = [
-                            {
-                                label: '閿欒琛�',
-                                fieldName: 'errorRow',
-                                type: 'text',
-                                hideDefaultActions: true,
-                                initialWidth: 50
-                            },
-                            {
-                                label: '閿欒淇℃伅',
-                                fieldName: 'errorInfo',
-                                type: 'text',
-                                hideDefaultActions: true,
-                                initialWidth: 300,
-                                wrapText: true
-                            }
+                            { label: '閿欒琛�', fieldName: 'errorRow', type: 'text', hideDefaultActions: true, initialWidth: 50 },
+                            { label: '閿欒淇℃伅', fieldName: 'errorInfo', type: 'text', hideDefaultActions: true,initialWidth: 300,wrapText: true }
                         ];
                         component.set('v.errorData', errorDatas);
                         component.set('v.errorColumns', errorColumns);
-                        component.set('v.showErrorInfo', true);
+                        component.set("v.showErrorInfo", true);
                         component.set('v.login', false);
                     }
                 } else {
-                    console.log('Unknown error');
+                    console.log("Unknown error");
                     component.set('v.login', false);
                 }
             }
         });
         $A.enqueueAction(action);
+
     },
     //寮瑰嚭 鎴愬姛鎻愮ず
     showSuccessToast01: function (component) {
         $A.util.removeClass(component.find('successDiv01'), 'slds-hide');
-        window.setTimeout(
-            $A.getCallback(function () {
-                $A.util.addClass(component.find('successDiv01'), 'slds-hide');
-            }),
+        window.setTimeout($A.getCallback(function () {
+            $A.util.addClass(component.find('successDiv01'), 'slds-hide');
+        }),
             3000
         );
     },
     //寮瑰嚭 閿欒鎻愮ず
     showErrorToast: function (component) {
         $A.util.removeClass(component.find('errorDiv'), 'slds-hide');
-        window.setTimeout(
-            $A.getCallback(function () {
-                $A.util.addClass(component.find('errorDiv'), 'slds-hide');
-            }),
-            4000
+        window.setTimeout($A.getCallback(function () {
+            $A.util.addClass(component.find('errorDiv'), 'slds-hide');
+        }),
+            7000
         );
     },
     success: function (message) {
-        var toastEvent = $A.get('e.force:showToast');
+        var toastEvent = $A.get("e.force:showToast");
         toastEvent.setParams({
-            title: '鎴愬姛!',
-            message: message,
-            duration: '5000'
+            "title": "鎴愬姛!",
+            "message": message,
+            "duration": "5000"
         });
         toastEvent.fire();
     },
 
     warning: function (message) {
-        var toastEvent = $A.get('e.force:showToast');
+        var toastEvent = $A.get("e.force:showToast");
         toastEvent.setParams({
-            title: '璀﹀憡!',
-            message: message,
-            duration: '10000'
+            "title": "璀﹀憡!",
+            "message": message,
+            "duration": "10000"
         });
         toastEvent.fire();
     },
 
     error: function (message) {
-        var toastEvent = $A.get('e.force:showToast');
+        var toastEvent = $A.get("e.force:showToast");
         toastEvent.setParams({
-            title: '閿欒!',
-            message: message,
-            duration: 'sticky'
+            "title": "閿欒!",
+            "message": message,
+            "duration": "sticky"
         });
         toastEvent.fire();
     },
@@ -290,7 +249,7 @@
 
         var datas = [];
         let errorColumnsArray = [];
-        for (var i in errorColumns) {
+        for(var i in errorColumns){
             errorColumnsArray.push(errorColumns[i].label);
         }
         datas.push(errorColumnsArray);
@@ -298,22 +257,22 @@
 
         for (var i in errorData) {
             let data = [];
-            data.push(errorData[i].errorRow);
-            data.push(errorData[i].errorInfo);
-            for (var j = 0; j < Object.keys(errorData[i]).length - 2; j++) {
-                data.push(errorData[i]['field' + j]);
+            data.push(errorData[i].errorRow)
+            data.push(errorData[i].errorInfo)
+            for(var j = 0 ; j < Object.keys(errorData[i]).length - 2 ; j++){
+                data.push(errorData[i]['field' + j])
             }
             datas.push(data);
         }
 
         console.log('datas = ' + JSON.stringify(datas));
         var csv = this.convertToCSV(component, datas);
-        console.log('csv = ' + JSON.stringify(csv));
+        console.log('csv = ' + JSON.stringify(csv))
         this.downloadCSV(component, csv);
     },
 
     convertToCSV: function (component, data) {
-        console.log('enter convertToCSV');
+        console.log('enter convertToCSV')
         console.log('data = ' + data);
         var csv = '';
         for (var i = 0; i < data.length; i++) {
@@ -323,11 +282,7 @@
                 var val = '';
                 val = row[j] === null ? '' : row[j].toString();
                 console.log('val = ' + val);
-                if (
-                    val.indexOf(',') !== -1 ||
-                    val.indexOf('"') !== -1 ||
-                    val.indexOf('\n') !== -1
-                ) {
+                if (val.indexOf(',') !== -1 || val.indexOf('"') !== -1 || val.indexOf('\n') !== -1) {
                     //val = '"' + val.replace(/"/g,'""') + '"';
                 }
                 if (j > 0) {
@@ -343,13 +298,13 @@
     downloadCSV: function (component, csv) {
         var link = document.createElement('a');
         // 璁剧疆瀛楃闆嗗拰鏂囦欢澶�
-        let bom = '\uFEFF';
-        link.href =
-            'data:text/csv;charset=utf-8,' + encodeURIComponent(bom + csv);
+        var bom = "\uFEFF";
+        link.href = 'data:text/csv;charset=utf-8,' + encodeURIComponent(bom + csv);
+        //link.href = URL.createObjectURL(csvFile);
         link.download = 'data.csv';
         document.body.appendChild(link);
         link.click();
         document.body.removeChild(link);
-    }
+    },
     //zhj 瀵煎嚭閿欒淇℃伅 2023-05-16 end
-});
+})
\ No newline at end of file

--
Gitblit v1.9.1