我是Salesforce的新手,正在尝试将SF Classic中的按钮重现为Lightning。单击经典中的按钮,将按钮(传递给客户服务)将案件分配给所有者(ID为(例如:00GU0000001eW6XYZA'的客户服务)。我一直在阅读有关快速操作并在Lightning上采用所有权按钮的信息,但它们使用户选择/分配所有者到所选择的记录,但是我想做的是单击按钮时应将记录直接分配给指定的ownerID,该怎么做。
var caseObj = new sforce.SObject("Case");
caseObj.Id = '{!Case.Id}';
caseObj.OwnerId = '00GU0000001eW6XYZA';
var result2 = sforce.connection.update([caseObj]);
if (result2[0].success=='true') {
location.reload(true);}
else{alert(result2[0].errors);}
我试图在下面的“快速操作”中将其作为闪电组件实现
组件
<aura:component implements="flexipage:availableForRecordHome,force:hasRecordId,force:lightningQuickAction" controller="ChangeOwnerClass" access="global" >
<aura:handler name="init" value="{!this}" action="{!c.doInit}"/>
</aura:component>
控制器
({
doInit : function(component, event, helper) {
var caseId = component.get("v.recordId");
var action = component.get("c.changeOwnerMethod");
action.setParams({
caseId : caseId
});
action.setCallback(this, function(response) {
if(response.getState() === "SUCCESS") {
console.log("Case Owner Changed To Domestic Customer Service");
}
});
$A.enqueueAction(action);
$A.get('e.force:refreshView').fire();
}
})
和班级
public class ChangeOwnerClass {
@AuraEnabled
public static Case changeOwnerMethod(Id caseId) {
if(caseId != null) {
Case c = [SELECT OwnerId FROM Case WHERE Id = :caseId];
c.OwnerId = '00GU0000001eW6XYZA';
update c;
return c;
}
return null;
}
}
我将组件添加为快速操作,将其添加到布局中。问题是它没有显示为按钮,而是显示在Feed中
有人可以指导我前进的方式吗,我尝试了一些事情,需要帮助。