<?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>
|