SendRepairsToEtQ online button javascript 发送修理到EtQ onClickJavaScript false {!REQUIRESCRIPT("/soap/ajax/51.0/connection.js")}; {!REQUIRESCRIPT("/soap/ajax/51.0/apex.js")}; {!RequireScript("/resource/CommonUtilJs")} //2021-10-21 gwy 版本更改为51.0 // 根据日期构建MessageGroupNumber var myDate = function(){ let messageNumber = ''; let today = new Date(); messageNumber = today.getFullYear()+''+(today.getMonth()+1)+''+today.getDate()+''+today.getHours()+'' +today.getMinutes()+''+today.getSeconds(); return messageNumber; }; var foo = function() { var re= new sforce.SObject("Repair__c"); var RepairId = "{!Repair__c.Id}"; var uid = '{! $User.Id}'; // 20201117 add by gzw if("{!$Profile.Id}" != "00e10000000xnoO" && "{!$Profile.Id}" != "00e10000000hl7w"){ alert("您没有发送修理到EtQ的权限。"); return; } // 20201117 add by gzw // add by Gzw 修理判断状态R1、R2判断 var statu; if("{!Repair__c.PAE_Determine__c}" == ""){ alert("OCSM QARA的PAE判定是空的时候,不可以发送到EtQ。"); return; } if("{!Repair__c.ETQ_UPLOAD_STATUS__c}" == "3"){ if (!confirm("是否清空EtQ同步状态,重新同步数据?")) { return; } } if("{!Repair__c.PAE_Determine__c}" == "nonPAE" &&"{!Repair__c.AE_DetermineResult__c}" == "nonAE" && "{!Repair__c.PAE_DetermineAC__c}" == "nonPAE"){ alert("Close Complait的时候,不可以发送到EtQ"); return; } // R1 if("{!Repair__c.PAE_Determine__c}" != "" &&"{!Repair__c.AE_DetermineResult__c}" != "" && "{!Repair__c.PAE_DetermineAC__c}" == ""){ statu = "R1"; } // R1 else if (("{!Repair__c.AE_DetermineResult__c}" != "" && "{!Repair__c.PAE_Determine__c}" != "" && "{!Repair__c.PAE_DetermineAC__c}" != "") && !("{!Repair__c.PAE_Determine__c}" == "nonPAE" &&"{!Repair__c.AE_DetermineResult__c}" == "nonAE" && "{!Repair__c.PAE_DetermineAC__c}" == "nonPAE") ){ statu = "R2"; if("{!Repair__c.Repair_Inspection_Date__c}" == ""){ alert("5.修理检测日是空的时候,不可以发送到EtQ。"); return; } if("{!Repair__c.Contain_UseRSA__c}" == 1){ alert("Final universal code为空,或者包含UseRSA,请确认。"); return; } } //alert('statu' + statu); // add by Gzw 修理判断状态R1、R2判断 //alert(uid); var result; try { // alert('batchId'+result[0].id) var repairids = new Array() repairids[0] = "{!Repair__c.Id}"; // 发送修理到ETQ result = sforce.apex.execute("NFM401WebService","sendToETQ",{"iflog_Id":null,"rowDataSFDC":null,"repairIds":repairids,"statu":statu}); // 更新修理 //var updateRe = new sforce.SObject("Repair__c"); //updateRe.Id = RepairId; //updateRe.INTERFACE_RECORD_ID__c = null; //updateRe.ETQ_UPLOAD_STATUS__c = null; //updateRe.ETQ_UPLOAD_MESSAGE__c = null; //updateRe.OSH_ConfirmationDate__c = new Date(); //updateRe.OSH_Affirmant__c = uid; //var serverTimestamp = sforce.connection.getServerTimestamp(); //updateRe.AWS_Interface_Time__c = serverTimestamp.timestamp; //updateRe.AsyncData__c = true; //alert('updateRe'+updateRe); //result = sforce.connection.update([updateRe]); //更新失败的话取消发送,并给出提示 2021-04-23 rentx alert(result); //alert("发送成功!") //更新失败的话取消发送,并给出提示 2021-04-23 rentx var btns = document.getElementsByName("sendrepairstoetq"); for (var i=0; i<btns.length; i++) { btns[i].disabled = true; btns[i].className = 'btnDisabled'; } // 点击【发送修理到EtQ】并发送成功后,希望自动刷新画面。 location.reload(); } catch (error) { alert("发送修理到EtQ失败"+error.faultstring+' code:'+error.faultcode) } } // 按钮点击后触发,判断是否发送过ETQ,如果发送过给出提示并灰掉按钮 // 如果没有发送过调用发送方法 var myReload = function(){ let rid = "{!Repair__c.Id}"; var result = sforce.connection.query("select id,AsyncData__c,Complaint_Number__c,ETQ_UPLOAD_STATUS__c from Repair__c where id = '"+ rid +"'"); var record = result.getArray("records")[0]; // alert(typeof record.AsyncData__c) //if ((record.AsyncData__c == 'true' && record.ETQ_UPLOAD_STATUS__c != '3' && //record.ETQ_UPLOAD_STATUS__c != '') || record.Complaint_Number__c != null){ if (record.AsyncData__c == 'true' && record.ETQ_UPLOAD_STATUS__c != '3' || record.Complaint_Number__c != null){ // alert(record.AsyncData__c) //alert(record.Complaint_Number__c) var btns = document.getElementsByName("sendrepairstoetq"); for (var i=0; i<btns.length; i++) { btns[i].disabled = true; btns[i].className = 'btnDisabled'; } alert('该修理之前已经发送过了') }else{ foo(); } } myReload();