| | |
| | | b = true; |
| | | Foo(); |
| | | }else{ |
| | | this.error('AWS search status2 : ' + result.status); |
| | | //this.error('AWS search status2 : ' + result.status); |
| | | this.success('请重新刷新页面进行解密'); |
| | | } |
| | | },component); |
| | | }else{ |
| | |
| | | } |
| | | |
| | | if (reportDate != null) { |
| | | console.log('reportDate = ' + reportDate); |
| | | component.set('v.data.Report_Date__c', reportDate); |
| | | } |
| | | |
| | |
| | | component.find('select_Product1').set('v.value',''); |
| | | component.find('select_Product2').set('v.value',''); |
| | | component.find('select_Product3').set('v.value',''); |
| | | console.log('reportDate = 空'); |
| | | component.set('v.data.Report_Date__c', ''); |
| | | component.set('v.oppdata.Close_Forecasted_Date__c', ''); |
| | | component.set('v.oppdata.Amount__c', ''); |
| | |
| | | // }); |
| | | }, |
| | | search_core : function(token,searchUrl,payload,callback,component) { |
| | | console.log('token = ' + token); |
| | | console.log('searchUrl = ' + searchUrl); |
| | | console.log('payload = ' + payload); |
| | | fetch(searchUrl, { |
| | | method: 'POST', |
| | | body: payload, |
| | |
| | | component.set('v.login',false); |
| | | if(callback)callback(result); |
| | | }).catch(error => { |
| | | console.log('error = ' + JSON.stringify(error)); |
| | | this.error('AWS search error.'); |
| | | component.set('v.login',false); |
| | | }); |
| | |
| | | }, |
| | | |
| | | saveRecords : function(component,event,helper){ |
| | | debugger |
| | | component.set('v.login',true); |
| | | //fy 导入 20220424 start |
| | | var action1 = component.get("c.processDataAWSId"); |
| | | action1.setParams({ |
| | | fileData : component.get("v.fileContentData"), |
| | | }); |
| | | debugger |
| | | action1.setCallback(this, function(response) { |
| | | console.log('response = ' + JSON.stringify(response)); |
| | | var state = response.getState(); |
| | | if (state === "SUCCESS") { |
| | | var ress = response.getReturnValue(); |
| | | console.log('ress = ' + JSON.stringify(ress)); |
| | | if(ress){ |
| | | var valur =ress.split('error1'); |
| | | if(valur.length<=1){ |
| | | var res = JSON.parse(response.getReturnValue()); |
| | | console.log('res = ' + JSON.stringify(res)); |
| | | var dataArr = new Array(); |
| | | var dataMap = new Map(); |
| | | res.forEach(item => { |
| | |
| | | dataMap.set(item.AWS_Data_Id__c,item.AWS_Data_Id__c); //zhj 新方案改造 2022-12-21 |
| | | } |
| | | }); |
| | | debugger |
| | | let obj= Object.create(null); |
| | | obj['dataIds'] = dataArr; |
| | | var payload = JSON.stringify(obj); |
| | | console.log('payload zhj = ' + JSON.stringify(payload)); |
| | | |
| | | this.search_contact_url(component, 'Agency_Contact__c', (result)=>{ |
| | | var token = result.token; |
| | | var searchUrl = result.searchUrl; |
| | |
| | | component.set('v.login',true); |
| | | this.saveRecordsEditFile(component,dataMap,result.object,helper); |
| | | }else{ |
| | | this.error('AWS search status5 ' ); |
| | | this.error('AWS 查询数据为空 ' ); |
| | | component.set('v.login',false); |
| | | } |
| | | }else{ |
| | |
| | | // }); |
| | | // $A.enqueueAction(action); |
| | | |
| | | },isNumber: function(str) { |
| | | return /^\d+$/.test(str); |
| | | },ImportMethod : function(component,fileStr){ |
| | | debugger |
| | | var actionss = component.get("c.processData"); |
| | | var selectDate = component.find('select_date').get('v.value'); |
| | | var fieldsList=['Name','Phone','AccountNumber']; //Please write your code dynamic |
| | |
| | | if(res != 'success'){ |
| | | var ress = res.split('='); |
| | | console.log(ress); |
| | | let errorDatas = []; |
| | | let errorDataRow = []; |
| | | debugger |
| | | var fileContentData = component.get("v.fileContentData").split('\n'); |
| | | for (var i=0; i<ress.length; i++) { |
| | | res1 += ress[i].substr(7)+'\n'; |
| | | if (ress[i] != '') { |
| | | 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); |
| | | errorDataRow.push(errorData.errorRow); |
| | | errorData.errorInfo = ress[i].substr(7).substring(5).replace('=',''); |
| | | if(errorData.errorInfo == '拜访人不存在'){ |
| | | console.log('errorData.errorRow = ' + errorData.errorRow) |
| | | errorData.errorInfo ='拜访人 ' + fileContentData[errorData.errorRow].split(',')[4] + '不存在'; |
| | | } |
| | | errorDatas.push(errorData); |
| | | } else { |
| | | if(ress[i].substr(7).substring(5) == '拜访人不存在'){ |
| | | errorDatas[index].errorInfo += '; ' + '拜访人 ' + fileContentData[errorDatas[index].errorRow].split(',')[4] + '不存在'; |
| | | }else{ |
| | | errorDatas[index].errorInfo += '; ' + ress[i].substr(7).substring(5); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | // $('.forceToastManager').css('white-space', 'pre-wrap'); |
| | | let errorColumns = [ |
| | | { 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; i++) { |
| | | errorColumns.push({ |
| | | label: fileContentData[0].split(',')[i], |
| | | fieldName: 'field' + i, |
| | | type: 'text', |
| | | hideDefaultActions: true, |
| | | wrapText: true, |
| | | initialWidth: 120 |
| | | }); |
| | | } |
| | | |
| | | for (var i = 0; i < errorDatas.length; i++) { |
| | | let data = fileContentData[errorDatas[i].errorRow]; |
| | | console.log('data = ' + JSON.stringify(data)); |
| | | if(data){ |
| | | for (var j = 0; j < data.split(',').length; j++) { |
| | | let label = 'field' + j; |
| | | errorDatas[i][label] = data.split(',')[j]; |
| | | } |
| | | } |
| | | } |
| | | component.set('v.errorColumns', errorColumns); |
| | | component.set('v.errorData', errorDatas); |
| | | component.set("v.showErrorInfo", true); |
| | | console.log("=="+res1); |
| | | this.error(res1+"请修改后重新上传"); |
| | | component.set('v.login',false); |
| | |
| | | var searchDataMap = new Map(); |
| | | for (var i = 0; i < searchData.length; i++) { |
| | | var sd = searchData[i]; |
| | | if(sd.name) |
| | | searchDataMap.set(sd.name.replace(' ',''),sd.dataId); |
| | | } |
| | | console.log('searchDataMap='+searchDataMap); |
| | |
| | | } |
| | | |
| | | if (error != '') { |
| | | console.log('zhj error = ' + error); |
| | | let errorArray = error.split('error1'); |
| | | let errorDatas = []; |
| | | let errorDataRow = []; |
| | | debugger |
| | | var fileContentData = component.get("v.fileContentData").split('\n'); |
| | | console.log('errorArray = ' + JSON.stringify(errorArray)) |
| | | for (var i in errorArray) { |
| | | if (errorArray[i] != '') { |
| | | let errorData = {} |
| | | if(!this.isNumber(errorArray[i].trim().substring(1, 2))){ |
| | | continue |
| | | } |
| | | let index = errorDataRow.indexOf(errorArray[i].trim().substring(1, 2)); |
| | | if (index == -1) { |
| | | errorData.errorRow = errorArray[i].trim().substring(1, 2); |
| | | errorDataRow.push(errorData.errorRow); |
| | | errorData.errorInfo = errorArray[i].trim().substring(5,errorArray[i].trim().length).replace('=',''); |
| | | if(errorData.errorInfo == '拜访人AWS不存在'){ |
| | | errorData.errorInfo ='拜访人 ' + fileContentData[errorData.errorRow].split(',')[4] + '不存在'; |
| | | } |
| | | errorDatas.push(errorData); |
| | | } else { |
| | | if(errorArray[i].trim().substring(5) == '拜访人AWS不存在'){ |
| | | errorData[index].errorInfo = '; ' + '拜访人 ' + fileContentData[errorDatas[index].errorRow].split(',')[4] + '不存在'; |
| | | }else{ |
| | | errorDatas[index].errorInfo += '; ' + errorArray[i].trim().substring(5,errorArray[i].trim().length); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | var fileContentData = component.get("v.fileContentData").split('\n'); |
| | | let errorColumns = [ |
| | | { 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; i++) { |
| | | errorColumns.push({ |
| | | label: fileContentData[0].split(',')[i], |
| | | fieldName: 'field' + i, |
| | | type: 'text', |
| | | hideDefaultActions: true, |
| | | wrapText: true, |
| | | initialWidth: 120 |
| | | }); |
| | | } |
| | | |
| | | 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]; |
| | | } |
| | | } |
| | | console.log('errorDatas =' + JSON.stringify(errorDatas)) |
| | | component.set('v.errorColumns', errorColumns); |
| | | component.set('v.errorData', errorDatas); |
| | | component.set("v.showErrorInfo", true); |
| | | |
| | | |
| | | |
| | | console.log('error = ' + error); |
| | | component.set('v.errorMessage', error); |
| | | |
| | | this.error(error); |
| | | console.log('error='+error); |
| | | component.set('v.login',false); |
| | |
| | | }, |
| | | //zhj MEBG新方案改造 2022-11-29 end |
| | | |
| | | //zhj 导出错误信息 2023-05-16 start |
| | | exportErrorInfoHelper: function (component) { |
| | | var errorData = component.get('v.errorData'); |
| | | var errorColumns = component.get('v.errorColumns'); |
| | | |
| | | var datas = []; |
| | | let errorColumnsArray = []; |
| | | for(var i in errorColumns){ |
| | | errorColumnsArray.push(errorColumns[i].label); |
| | | } |
| | | datas.push(errorColumnsArray); |
| | | //datas.push(errorColumns); |
| | | |
| | | 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]) |
| | | } |
| | | datas.push(data); |
| | | } |
| | | |
| | | console.log('datas = ' + JSON.stringify(datas)); |
| | | var csv = this.convertToCSV(component, datas); |
| | | console.log('csv = ' + JSON.stringify(csv)) |
| | | this.downloadCSV(component, csv); |
| | | }, |
| | | |
| | | convertToCSV: function (component, data) { |
| | | console.log('enter convertToCSV') |
| | | console.log('data = ' + data); |
| | | var csv = ''; |
| | | for (var i = 0; i < data.length; i++) { |
| | | var row = data[i]; |
| | | console.log('row = ' + JSON.stringify(row)); |
| | | for (var j = 0; j < row.length; j++) { |
| | | var val = ''; |
| | | val = row[j] === null ? '' : row[j].toString(); |
| | | console.log('val = ' + val); |
| | | if (val.indexOf(',') !== -1 || val.indexOf('"') !== -1 || val.indexOf('\n') !== -1) { |
| | | //val = '"' + val.replace(/"/g,'""') + '"'; |
| | | } |
| | | if (j > 0) { |
| | | csv += ','; |
| | | } |
| | | csv += val; |
| | | } |
| | | csv += '\n'; |
| | | } |
| | | return csv; |
| | | }, |
| | | |
| | | downloadCSV: function (component, csv) { |
| | | var link = document.createElement('a'); |
| | | // 设置字符集和文件头 |
| | | var bom = "\uFEFF"; |
| | | link.href = 'data:text/csv;charset=utf-8,' + encodeURIComponent(bom + csv); |
| | | link.download = 'data.csv'; |
| | | document.body.appendChild(link); |
| | | link.click(); |
| | | document.body.removeChild(link); |
| | | }, |
| | | //zhj 导出错误信息 2023-05-16 end |
| | | |
| | | // searchAgencyContact : function(res) { |
| | | // var agencyContacts = []; |
| | | // for (let idx = 0; idx < res.length; idx++) { |