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