From baf2cef2b4eb87ade8cbe11f330136ad2b2e8880 Mon Sep 17 00:00:00 2001 From: mukaiu Date: Tue, 20 Nov 2018 14:09:53 +0800 Subject: [PATCH] =?UTF-8?q?#160=20=E7=A7=BB=E5=8A=A8=E7=AB=AF=E6=94=AF?= =?UTF-8?q?=E6=8C=81=E5=8A=A8=E6=80=81=E8=8F=9C=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../templates/apps/im/chatbot/mobile.html | 139 +++++++++++++++++- 1 file changed, 135 insertions(+), 4 deletions(-) diff --git a/contact-center/app/src/main/resources/templates/apps/im/chatbot/mobile.html b/contact-center/app/src/main/resources/templates/apps/im/chatbot/mobile.html index 244437ac..9373ba9e 100644 --- a/contact-center/app/src/main/resources/templates/apps/im/chatbot/mobile.html +++ b/contact-center/app/src/main/resources/templates/apps/im/chatbot/mobile.html @@ -164,6 +164,44 @@ }); }); + @@ -312,10 +350,103 @@ if(data.calltype == "呼入"){ output('
'+chat+'
' , "chat-block"); }else if(data.calltype == "呼出"){ - output('
'+chat+'
' , "chat-block"); + if(data.expmsg){ + showExtmsg(data.username, data.createtime,data.message ,data.expmsg); + } + else{ + output('
'+chat+'
' , "chat-block"); + } + } }); + function showExtmsg(username,createtime,message,json) { + var expmsg = JSON.parse(json); + + var type = expmsg[0].type; + var content; + if (type == 'button') { + content = createButton(message,expmsg); + } else if (type == 'qlist') { + content = createQList(message,expmsg); + } else if (type == 'card') { + content = createCard(message,expmsg); + } + + var box = $('
'); + + box.find('.chat-content').append(content); + + output(box,'chat-block') + } + + function createButton(message, data) { + var element = $('

' + message + '

') + var list = element.find('.button-box'); + for (let i = 0; i < data.length; i++) { + var item = data[i]; + var allowClick = true; + var btn = $('
' + item.label + '
'); + var regClick = function (key) { + btn.click(function () { + if (allowClick) { + allowClick = false; + socket.emit('message', { + appid: "${appid!''}", + userid: "${userid!''}", + type: "message", + session: "${sessionid!''}", + orgi: "${orgi!''}", + message: key + }); + } + }); + } + regClick(item.text); + list.append(btn); + } + + return element; + } + + function createQList(message,data){ + var element = $('

' + message + '

') + var list = element.find('.button-box'); + for (let i = 0; i < data.length; i++) { + var item = data[i]; + var btn = $('
' + item.label + '
'); + var regClick = function (key) { + btn.click(function () { + socket.emit('message', { + appid: "${appid!''}", + userid: "${userid!''}", + type: "message", + session: "${sessionid!''}", + orgi: "${orgi!''}", + message: key + }); + }); + } + regClick(item.text); + list.append(btn); + } + + return element; + } + + function createCard(message,data){ + let item = data[0]; + + let html = '

' + item.title + '

' + item.summary + '

' + + var element = $(html); + element.click(function(){ + window.open(item.hyperlink); + }) + + return element; + } + socket.on('disconnect',function() { output('连接坐席失败,在线咨询服务不可用' , 'message connect-message'); }); @@ -394,9 +525,9 @@ inx++; } } - var element = ("
" + " " + message + "
"); - document.getElementById('above').innerHTML = (document - .getElementById('above').innerHTML + element); + var element = $("
"); + element.append(message); + $('#above').append(element); document.getElementById('above').scrollTop = document.getElementById('above').scrollHeight ; //$("#welcome-message").html(document.getElementById('above').scrollHeight); }