You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
244 lines
9.5 KiB
244 lines
9.5 KiB
{layout name="public/layout" /}
|
|
<style>
|
|
.chatcontent p{padding:0px 8px !important;margin:0px !important;font-size:1.2rem !important;line-height:1.8rem !important;}
|
|
.chatcontent .title{font-size:1.4rem !important;;line-height:1.8rem !important;margin:10px 0px;display:block;}
|
|
.chatcontent img{max-width:100%;}
|
|
</style>
|
|
<div class="chatbox">
|
|
<div class="container">
|
|
<ul class="chatlist">
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="chatinput">
|
|
<div class="input">
|
|
<input type="text" name="word" id="word">
|
|
</div>
|
|
<div class="button">
|
|
<button id="send">发送</button>
|
|
</div>
|
|
</div>
|
|
<script src="{$yf_theme_path}public/js/layer/layer.js"></script>
|
|
<script>
|
|
var catehtml='';
|
|
var qlist=[];
|
|
var rlist=[];
|
|
var first=true;
|
|
function getTime(){
|
|
var myDate=new Date();
|
|
return myDate.getHours()+":"+myDate.getMinutes();
|
|
}
|
|
|
|
function scrollToEnd(){
|
|
var h = $(document).height()-$(window).height();
|
|
$('html,body').animate({scrollTop:h},800);
|
|
}
|
|
function getReply(fields){
|
|
var url="{:url('common/reply',['kind'=>$kind])}";
|
|
var index=layer.load(1, {shade: [0.1,'#fff']});
|
|
$.post(url,fields,function(data){
|
|
layer.close(index);
|
|
var ans='';
|
|
if(typeof data.data!='undefined'&&data.data!=''){
|
|
var msgs=data.data;
|
|
var list={};
|
|
var ques='<p>您好,我是您的机智能助手,请您先选择一个您需要咨询的问题:</p>';
|
|
|
|
var type=msgs.type;
|
|
list=msgs.list;
|
|
var className='chatknows';
|
|
if(type=='Recommend'){
|
|
className='chatrecom chatknows';
|
|
}
|
|
if(type=='Knowledge'){
|
|
}
|
|
if(type=='Text'){
|
|
className='chattext';
|
|
}
|
|
console.log(msgs,type,className,list,list.length);
|
|
if(list.length){
|
|
$.each(list,function(key,row){
|
|
if(type=='Recommend'){
|
|
ques+='<p><a href="javascript:void(0);" class="red title" data-id="'+row['KnowledgeId']+'">'+(key+1)+'.'+row['Title']+'</a></p>';
|
|
|
|
}
|
|
if(type=='Knowledge'){
|
|
ques+='<p><a href="javascript:void(0);" class="red title">'+(key+1)+'.'+row['Title']+'</a></p><p>'+row['Content']+'</p>';
|
|
rlist[key+1]=row['Title'];
|
|
}
|
|
if(type=='Text'){
|
|
ques+='<p><a href="javascript:void(0);" class="red" data-id="'+row['IntentId']+'">'+(key+1)+'.'+row['Content']+'</a></p>';
|
|
|
|
}
|
|
});
|
|
var queshtml='<li class="chatitem"><div class="avatar"><img src="{$yf_theme_path}/public/img/peo.png" alt="avatar"></div>';
|
|
queshtml+='<div class="chatbody"><span class="datetime">深圳文化产权交易所,'+getTime()+'</span><div class="msgrow"><div class="chatcontent '+className+'">'+ques+'</div></div></div></li>';
|
|
//console.log(ques,queshtml,rlist);
|
|
ans=queshtml;
|
|
$(".chatlist").append(queshtml);
|
|
}else{
|
|
ans="all";
|
|
$(".chatlist").append(catehtml);
|
|
}
|
|
}
|
|
postHistory({'type':1,'ques':fields.txt,'ans':ans});
|
|
scrollToEnd();
|
|
});
|
|
}
|
|
function getQueslist(fields){
|
|
var url="{:url('common/knowledges',['kind'=>$kind])}";
|
|
var index=layer.load(1, {shade: [0.1,'#fff']});
|
|
$.post(url,fields,function(data){
|
|
console.log(data.data);
|
|
layer.close(index);
|
|
if(typeof data.data!='undefined'){
|
|
var list=data.data;
|
|
qlist=[];
|
|
var ques='<p>您好,我是您的机智能助手,请您先选择一个您需要咨询的问题:</p>';
|
|
|
|
$.each(list,function(key,row){
|
|
ques+='<p><a href="javascript:void(0);" class="red" data-id="'+row['n_id']+'">'+(key+1)+'.'+row['n_title']+'</a></p>';
|
|
qlist[key+1]=row['n_title'];
|
|
});
|
|
console.log(qlist);
|
|
var queshtml='<li class="chatitem"><div class="avatar"><img src="{$yf_theme_path}/public/img/peo.png" alt="avatar"></div>';
|
|
queshtml+='<div class="chatbody"><span class="datetime">深圳文化产权交易所,'+getTime()+'</span><div class="msgrow"><div class="chatcontent chatknows">'+ques+'</div></div></div></li>';
|
|
console.log(ques,queshtml);
|
|
$(".chatlist").append(queshtml);
|
|
//$('html,body').animate({scrollTop:$('.page').offset().top+60},800);
|
|
scrollToEnd();
|
|
|
|
postHistory({'type':2,'ques':fields.txt,'ans':queshtml});
|
|
}
|
|
});
|
|
}
|
|
function getAns(fields){
|
|
var url="{:url('common/answer',['kind'=>$kind])}";
|
|
var index=layer.load(1, {shade: [0.1,'#fff']});
|
|
$.post(url,fields,function(data){
|
|
console.log(data.data);
|
|
layer.close(index);
|
|
if(typeof data.data!='undefined'){
|
|
var list=data.data;
|
|
var ques='';
|
|
if(typeof list.n_content!='undefined'){
|
|
ques='<p class="red">'+list.n_title+':</p>';
|
|
ques+='<p>'+list.n_content+'</p>';
|
|
}
|
|
var queshtml='<li class="chatitem"><div class="avatar"><img src="{$yf_theme_path}/public/img/peo.png" alt="avatar"></div>';
|
|
queshtml+='<div class="chatbody"><span class="datetime">深圳文化产权交易所,'+getTime()+'</span><div class="msgrow"><div class="chatcontent chatknows">'+ques+'</div></div></div></li>';
|
|
|
|
$(".chatlist").append(queshtml);
|
|
scrollToEnd();
|
|
|
|
postHistory({'type':3,'ques':fields.txt,'ans':queshtml});
|
|
}
|
|
});
|
|
}
|
|
function postHistory(fields){
|
|
var url="{:url('common/history',['kind'=>$kind])}";
|
|
$.post(url,fields,function(data){});
|
|
}
|
|
function getlogs(catehtml){
|
|
var url="{:url('common/ajaxlog',['kind'=>$kind])}";
|
|
$.get(url,function(data){
|
|
var res=data.data;
|
|
if(res.length){
|
|
var html='<li class="chatitem"><div class="avatar"><img src="{$yf_theme_path}/public/img/peo.png" alt="avatar"></div>';
|
|
html+='<div class="chatbody"><span class="datetime">深圳文化产权交易所</span><div class="msgrow"><div class="chatcontent">你好,请问有什么能帮助到您呢?</div></div></div></li>';
|
|
res.forEach(function(item,key){
|
|
if(typeof item.type!='undefined'){
|
|
if(item.type==1&&item.ques!=''){
|
|
html+='<li class="chatitem right"><div class="chatbody"><span class="datetime">'+item.time+'<i class="zmdi zmdi-check-all text-primary"></i></span>';
|
|
html+='<div class="msgrow "><div class="chatcontent">'+item.ques+'</div></div></div></li>';
|
|
}
|
|
if(item.ans=='all'){
|
|
html+=catehtml;
|
|
}else if(item.ans!=''){
|
|
html+='<li class="chatitem"><div class="avatar"><img src="{$yf_theme_path}/public/img/peo.png" alt="avatar"></div>';
|
|
html+='<div class="chatbody"><span class="datetime">深圳文化产权交易所,'+item.time+'</span><div class="msgrow"><div class="chatcontent">'+item.ans+'</div></div></div></li>';
|
|
}
|
|
}
|
|
});
|
|
$(".chatlist").html(html);
|
|
}else{
|
|
var html='<li class="chatitem"><div class="avatar"><img src="{$yf_theme_path}/public/img/peo.png" alt="avatar"></div>';
|
|
html+='<div class="chatbody"><span class="datetime">深圳文化产权交易所</span><div class="msgrow"><div class="chatcontent">你好,请问有什么能帮助到您呢?</div></div></div></li>';
|
|
$(".chatlist").html(html);
|
|
}
|
|
scrollToEnd();
|
|
});
|
|
}
|
|
var cates='<p>您好,我是您的机智能助手,请您先选择一个您需要咨询栏目的问题:</p>';
|
|
{foreach $cates as $k=>$vo}
|
|
cates+='<p><a href="javascript:void(0);" class="red" data-id="{$k}">{$k}.{$vo}</a></p>';
|
|
rlist[{$k}]="{$vo}-{$k}";
|
|
{/foreach}
|
|
catehtml='<li class="chatitem"><div class="avatar"><img src="{$yf_theme_path}/public/img/peo.png" alt="avatar"></div>';
|
|
catehtml+='<div class="chatbody"><span class="datetime">深圳文化产权交易所,'+getTime()+'</span><div class="msgrow"><div class="chatcontent chatcates">'+cates+'</div></div></div></li>';
|
|
|
|
$(function(){
|
|
{if condition="$kind neq ''"}
|
|
var timer=setInterval(function(){
|
|
getlogs(catehtml);
|
|
},5000);
|
|
{else}
|
|
getlogs(catehtml);
|
|
{/if}
|
|
|
|
{if condition="$kind eq ''"}
|
|
var html='<li class="chatitem"><div class="avatar"><img src="{$yf_theme_path}/public/img/peo.png" alt="avatar"></div>';
|
|
html+='<div class="chatbody"><span class="datetime">深圳文化产权交易所</span><div class="msgrow"><div class="chatcontent">你好,请问有什么能帮助到您呢?</div></div></div></li>';
|
|
$(".chatlist").append(html);
|
|
{/if}
|
|
$("body").on('click','.chatcates a',function(){
|
|
var cateid=$(this).data('id');
|
|
var txt=$(this).html();
|
|
if(typeof cateid!='undefined'&&cateid){
|
|
getQueslist({cid:cateid,txt:txt});
|
|
}
|
|
});
|
|
$("body").on('click','.chatknows a',function(){
|
|
var cateid=$(this).data('id');
|
|
var txt=$(this).html();
|
|
if(typeof cateid!='undefined'&&cateid){
|
|
getAns({kid:cateid,txt:txt});
|
|
}
|
|
});
|
|
$("#send").click(function(){
|
|
var index=layer.load(1, {shade: [0.1,'#fff']});
|
|
var word=$("#word").val();
|
|
word=word.trim();
|
|
if(typeof word=='undefined'||word==''){
|
|
return false;
|
|
}
|
|
var html='<li class="chatitem right"><div class="chatbody"><span class="datetime">'+getTime()+'<i class="zmdi zmdi-check-all text-primary"></i></span>';
|
|
html+='<div class="msgrow "><div class="chatcontent">'+word+'</div></div></div></li>';
|
|
$(".chatlist").append(html);
|
|
$("#word").val('');
|
|
layer.close(index);
|
|
console.log("word1",word);
|
|
console.log(rlist);
|
|
console.log(qlist);
|
|
var cur=parseInt(word);
|
|
var keyword=word;
|
|
var cateid="";
|
|
if(typeof rlist[cur]!='undefined'&&!first){
|
|
var res=rlist[cur];
|
|
res=res.split("-");
|
|
keyword=res[0];
|
|
cateid=res[1];
|
|
}
|
|
console.log("word2",word,cur,rlist);
|
|
var cur=parseInt(word);
|
|
if(typeof qlist[cur]!='undefined'&&!first){
|
|
keyword=qlist[cur];
|
|
}
|
|
console.log("word3",word,cur,qlist);
|
|
first=false;
|
|
//查询
|
|
getReply({"sid":"{$sid}","word":keyword,"cateid":cateid,"txt":word});
|
|
});
|
|
});
|
|
</script>
|