| <?xml version="1.0" encoding="UTF-8"?> | 
| <WebLink xmlns="http://soap.sforce.com/2006/04/metadata"> | 
|     <fullName>submit_approval_process</fullName> | 
|     <availability>online</availability> | 
|     <displayType>button</displayType> | 
|     <linkType>javascript</linkType> | 
|     <masterLabel>提交待审批</masterLabel> | 
|     <openType>onClickJavaScript</openType> | 
|     <protected>false</protected> | 
|     <url>{!RequireScript("/soap/ajax/51.0/connection.js")} | 
| {!RequireScript("/soap/ajax/51.0/apex.js")} | 
| {!RequireScript("/resource/CommonUtilJs")} | 
| //2021-10-22 gwy 版本更改为51.0 | 
| var getConnectDMLErrorMessages = function (results) { | 
|     var messages = [], | 
|     i = 0, | 
|     len = results.length, | 
|     r; | 
|     for (; i < len; i++) { | 
|         r = results[i]; | 
|         if (!r.getBoolean("success")) { | 
|             messages = messages.concat(getConnectDMLMessagesOfAResult(r)); | 
|         } | 
|     } | 
|     return messages; | 
| }; | 
| var getConnectDMLMessagesOfAResult = function (res) { | 
|     var messages = [], | 
|     errors = res.getArray("errors"), | 
|     i = 0, | 
|     len = errors.length, | 
|     e; | 
|     for (; i < len; i++) { | 
|         e = errors[i]; | 
|         messages.push(e.message + " " + getConnectDMLErrorFields(e)); | 
|     } | 
|     return messages; | 
| }; | 
| var getConnectDMLErrorFields = function (error) { | 
|     var fields = error.getArray('fields'); | 
|     if (fields.length > 0) { | 
|         return "[" + fields.join(",") + "]" | 
|     } else { | 
|         return ""; | 
|     } | 
| }; | 
|   | 
| var foo = function() { | 
|     var buttons = document.getElementsByName('submit_approval_process'.toLowerCase()); | 
|     for (var i=0; i<buttons.length; i++) { | 
|         buttons[i].className = "btnDisabled"; | 
|         buttons[i].disabled = true; | 
|     } | 
|     if ('{!Consum_Apply__c.Request_Shipping_7days_Before__c }'  < '{!TODAY()}') { | 
|         alert('此申请已不满足(希望到货日-7工作日)前完成审批的情况,请重新修改申请。'); | 
|         return; | 
|     } | 
|     if (!confirm("一旦提交此记录以待批准,根据您的设置您可能不再能够编辑此记录或将他从批准过程中调回。是否继续?\n\n※ 需要在{!Consum_Apply__c.Request_Shipping_7days_Before__c}前完成审批,否则申请单自动取消。")) { | 
|         return; | 
|     } | 
|      // 希望到货日不能早于申请提交日-0418追加 | 
|    if ('{!Consum_Apply__c.Request_shipping_day__c}'  < '{!TODAY()}') { | 
|         alert('希望到货日不能早于申请提交日'); | 
|         return; | 
|     } | 
|   | 
|     if('{!Consum_Apply__c.Campaign__c}' != null && '{!Consum_Apply__c.Campaign__c}' != ''){ | 
|         var DeliveryGood = new Array(); | 
|         DeliveryGood = sforce.connection.query("select Status, Rental_Apply_Flag__c from Campaign where id ='{!Consum_Apply__c.CampaignId__c}'"); | 
|         var records= DeliveryGood.getArray("records"); | 
|   | 
|         var interval = records[0].Status; | 
|         var records_Date =  records[0].Rental_Apply_Flag__c; | 
|         if (interval == '草案中') { | 
|             alert('学会状态为草案中,不能提交'); | 
|             return; | 
|         } | 
|         if (interval == '申请中') { | 
|             alert('学会状态为申请中,不能提交'); | 
|             return; | 
|         } | 
|         if (interval == '已结束') { | 
|             alert('学会状态为已结束,不能提交'); | 
|             return; | 
|         } | 
|         if (interval == '已提交报告') { | 
|             alert('学会状态为已提交报告,不能提交'); | 
|             return; | 
|         } | 
|         if (interval == '取消申请中') { | 
|             alert('学会状态为取消申请中,不能提交'); | 
|             return; | 
|         } | 
|         if (interval == '取消') { | 
|             alert('学会状态为取消,不能提交'); | 
|             return; | 
|         } | 
|     } | 
|     if('{!Consum_Apply__c.QIS_number__c}' != null && '{!Consum_Apply__c.QIS_number__c}' != ''){ | 
|         var DeliveryGood = new Array(); | 
|         DeliveryGood = sforce.connection.query("select id,next_action__c from QIS_report__c where id ='{!Consum_Apply__c.QIS_ID_Line__c}'"); | 
|         var records= DeliveryGood.getArray("records"); | 
|         var interval = records[0].next_action__c; | 
|         if (interval == '送回') { | 
|             alert("QIS 已送回,不能再申请备品了"); | 
|             return; | 
|         } | 
|     } | 
|     // share | 
|     var userAccess = new Array(); | 
|     userAccess.push('{!Consum_Apply__c.applyUserId__c}_Edit'); | 
|     userAccess.push('{!Consum_Apply__c.JingliApprovalManagerId__c}_Read'); | 
|     userAccess.push('{!Consum_Apply__c.SalesManagerId__c}_Read'); | 
|     userAccess.push('{!Consum_Apply__c.BuchangApprovalManagerId__c}_Read'); | 
|     userAccess.push('{!Consum_Apply__c.BuchangApprovalManagerSalesId__c}_Read'); | 
|     userAccess.push('{!Consum_Apply__c.ZongjianApprovalManagerId__c}_Read'); | 
|     //userAccess.push('{!Consum_Apply__c.Status__c}_Read'); | 
|   | 
|     var rtn = sforce.apex.execute('ControllerUtil','setSObjectShare',{sobjectName:'Consum_Apply__Share',rowCause:'ApplyUserShare__c',parentId:'{!Consum_Apply__c.Id}',userAccess:userAccess,ownerId:'{!Consum_Apply__c.OwnerId}'}); | 
|     if (rtn != 'OK') { | 
|         alert(rtn); | 
|         return; | 
|     } | 
|   | 
|     //追加备品申请状态确认,已经提交过的申请,不能重复提交Status__c | 
|     if ('{!Consum_Apply__c.Status__c}' == '填写完毕' || | 
|         '{!Consum_Apply__c.Status__c}' == '申请中' || | 
|         '{!Consum_Apply__c.Status__c}' == '已批准' || | 
|         //现在申请书的Status__c已经没有引当完了状态。所以这里不需要判断 | 
|         //'{!Consum_Apply__c.Status__c}' == '引当完了' || | 
|         '{!Consum_Apply__c.Status__c}' == '已出库指示' || | 
|         '{!Consum_Apply__c.Status__c}' == '删除' || | 
|         '{!Consum_Apply__c.Status__c}' == '取消' ) { | 
|         alert('请备品申请状态确认,已经提交过的申请,不能重复提交'); | 
|         return; | 
|     } | 
|     if ('{!Consum_Apply__c.Min_Consum_Can_Request_approval_Date__c}'  > '{!TODAY()}') { | 
|         alert('申请提交日到预计使用日必须在22个工作日以内才可以'); // 最好还是添加入力规则,填写完毕的时候Check | 
|         return; | 
|     } | 
|   | 
|         // 没有明细的一览check | 
|     var raesList = new Array(); | 
|     raesList = sforce.connection.query("select Id from Consum_Apply_Equipment_Set__c where RetalFSetDetail_Cnt__c = 0 AND Consum_Apply__c ='{!Consum_Apply__c.Id}'"); | 
|     var records= raesList.getArray('records'); | 
|     if(records.length > 0){ | 
|         alert('有没有明细的耗材备品配套一览,不能提交'); | 
|         return; | 
|     } | 
|     sforce.connection.sessionId = "{!GETSESSIONID()}"; | 
|     var raid = "{!Consum_Apply__c.Id}"; | 
|     var rs1 = sforce.apex.execute("ConsumApplyWebService", "approvalCheck", {ConsumApplyId: raid}); | 
|     if (rs1 != '1') { | 
|         alert(rs1); | 
|         return; | 
|     } | 
|     var rac = new sforce.SObject("Consum_Apply__c"); | 
|     rac.Id = "{!Consum_Apply__c.Id}"; | 
|     rac.Status__c = "填写完毕"; | 
|     var result = sforce.connection.update([rac]); | 
|     var messages = getConnectDMLErrorMessages(result); | 
|     if (messages.length > 0) { | 
|         alert(messages.join("\n")); | 
|         return; | 
|     } | 
|     window.location.href = window.location; | 
| }; | 
| foo();</url> | 
| </WebLink> |