refactor: optimize agent bot assignment dropdown (#14866)
This commit is contained in:
@@ -25,7 +25,7 @@ export default {
|
||||
},
|
||||
},
|
||||
setup() {
|
||||
const { agentsList } = useAgentsList();
|
||||
const { agentsList } = useAgentsList(true, { includeAgentBots: true });
|
||||
return {
|
||||
agentsList,
|
||||
};
|
||||
@@ -81,18 +81,27 @@ export default {
|
||||
},
|
||||
assignedAgent: {
|
||||
get() {
|
||||
return this.currentChat.meta.assignee;
|
||||
const assignee = this.currentChat.meta.assignee;
|
||||
return (
|
||||
assignee && {
|
||||
...assignee,
|
||||
assignee_type: this.currentChat.meta.assignee_type || 'User',
|
||||
}
|
||||
);
|
||||
},
|
||||
set(agent) {
|
||||
const agentId = agent ? agent.id : null;
|
||||
const assigneeType = agent ? agent.assignee_type || 'User' : null;
|
||||
this.$store.dispatch('setCurrentChatAssignee', {
|
||||
conversationId: this.currentChat.id,
|
||||
assignee: agent,
|
||||
assigneeType,
|
||||
});
|
||||
this.$store
|
||||
.dispatch('assignAgent', {
|
||||
conversationId: this.currentChat.id,
|
||||
agentId,
|
||||
assigneeType,
|
||||
})
|
||||
.then(() => {
|
||||
useAlert(this.$t('CONVERSATION.CHANGE_AGENT'));
|
||||
@@ -152,7 +161,10 @@ export default {
|
||||
if (!this.assignedAgent) {
|
||||
return true;
|
||||
}
|
||||
if (this.assignedAgent.id !== this.currentUser.id) {
|
||||
if (
|
||||
this.assignedAgent.id !== this.currentUser.id ||
|
||||
(this.assignedAgent.assignee_type || 'User') !== 'User'
|
||||
) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
@@ -183,7 +195,11 @@ export default {
|
||||
this.assignedAgent = selfAssign;
|
||||
},
|
||||
onClickAssignAgent(selectedItem) {
|
||||
if (this.assignedAgent && this.assignedAgent.id === selectedItem.id) {
|
||||
if (
|
||||
this.assignedAgent?.id === selectedItem.id &&
|
||||
(this.assignedAgent?.assignee_type || 'User') ===
|
||||
(selectedItem.assignee_type || 'User')
|
||||
) {
|
||||
this.assignedAgent = null;
|
||||
} else {
|
||||
this.assignedAgent = selectedItem;
|
||||
|
||||
Reference in New Issue
Block a user