<?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")} 
 | 
  
 | 
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> 
 |