|
|
|
@ -30,55 +30,56 @@
|
|
|
|
|
<div>智能在线客服系统</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div class="chatContext chatVisitorPage">
|
|
|
|
|
<div class="chatBox">
|
|
|
|
|
<el-row :gutter="2" v-for="v in msgList" v-bind:class="{'chatBoxMe': v.is_kefu==true}">
|
|
|
|
|
<div class="chatTime" v-bind:class="{'chatTimeHide': v.show_time==false}"><span><{v.time}></span></div>
|
|
|
|
|
<div v-if="v.is_kefu!=true" style="display: flex;">
|
|
|
|
|
<el-avatar style="margin-right:10px;flex-shrink: 0;" :size="36" :src="v.avator"></el-avatar>
|
|
|
|
|
<div class="chatMsgContent">
|
|
|
|
|
<div class="chatUser"><{v.name}></div>
|
|
|
|
|
<div class="chatEntBox">
|
|
|
|
|
<div class="chatContext chatVisitorPage">
|
|
|
|
|
<div class="chatBox">
|
|
|
|
|
<el-row :gutter="2" v-for="v in msgList" v-bind:class="{'chatBoxMe': v.is_kefu==true}">
|
|
|
|
|
<div class="chatTime" v-bind:class="{'chatTimeHide': v.show_time==false}"><span><{v.time}></span></div>
|
|
|
|
|
<div v-if="v.is_kefu!=true" style="display: flex;">
|
|
|
|
|
<el-avatar style="margin-right:10px;flex-shrink: 0;" :size="36" :src="v.avator"></el-avatar>
|
|
|
|
|
<div class="chatMsgContent">
|
|
|
|
|
<div class="chatUser"><{v.name}></div>
|
|
|
|
|
<div class="chatContent chatContent2 replyContentBtn" v-html="v.content"></div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="kefuMe" v-if="v.is_kefu==true" style="display: flex;justify-content: flex-end;">
|
|
|
|
|
<div class="chatContent chatContent2 replyContentBtn" v-html="v.content"></div>
|
|
|
|
|
<el-avatar style="margin-left:10px;flex-shrink: 0;" :size="36" :src="v.avator"></el-avatar>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="kefuMe" v-if="v.is_kefu==true" style="display: flex;justify-content: flex-end;">
|
|
|
|
|
<div class="chatContent chatContent2 replyContentBtn" v-html="v.content"></div>
|
|
|
|
|
<el-avatar style="margin-left:10px;flex-shrink: 0;" :size="36" :src="v.avator"></el-avatar>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="clear"></div>
|
|
|
|
|
</el-row>
|
|
|
|
|
<div class="clear"></div>
|
|
|
|
|
</el-row>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div class="chatBoxSend">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="iconBtns visitorIconBox" v-show="showIconBtns">
|
|
|
|
|
<div class="chatBoxSend">
|
|
|
|
|
|
|
|
|
|
<div style="display: none" :title="flyLang.emotions" class="icono-smile visitorIconBtns visitorFaceBtn"></div>
|
|
|
|
|
<div :title="flyLang.photo" class="icono-image visitorIconBtns visitorImageBtn" id="uploadImg" v-on:click="uploadImg('/uploadimg')"></div>
|
|
|
|
|
<div :title="flyLang.file" class="icono-folder visitorIconBtns visitorFolderBtn" id="uploadFile" v-on:click="uploadFile('/uploadfile')"></div>
|
|
|
|
|
<div class="clear"></div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="faceBox visitorFaceBox" v-if="showFaceIcon">
|
|
|
|
|
<ul class="faceBoxList">
|
|
|
|
|
<li v-on:click="faceIconClick(i)" class="faceIcon" v-for="(v,i) in face" :title="v.name"><img :src=v.path></li>
|
|
|
|
|
</ul>
|
|
|
|
|
<div class="clear"></div>
|
|
|
|
|
<div class="iconBtns visitorIconBox" v-show="showIconBtns">
|
|
|
|
|
<div style="display: none" :title="flyLang.emotions" class="icono-smile visitorIconBtns visitorFaceBtn"></div>
|
|
|
|
|
<div :title="flyLang.photo" class="icono-image visitorIconBtns visitorImageBtn" id="uploadImg" v-on:click="uploadImg('/uploadimg')"></div>
|
|
|
|
|
<div :title="flyLang.file" class="icono-folder visitorIconBtns visitorFolderBtn" id="uploadFile" v-on:click="uploadFile('/uploadfile')"></div>
|
|
|
|
|
<div class="clear"></div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="faceBox visitorFaceBox" v-if="showFaceIcon">
|
|
|
|
|
<ul class="faceBoxList">
|
|
|
|
|
<li v-on:click="faceIconClick(i)" class="faceIcon" v-for="(v,i) in face" :title="v.name"><img :src=v.path></li>
|
|
|
|
|
</ul>
|
|
|
|
|
<div class="clear"></div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="visitorEditor">
|
|
|
|
|
<el-input show-word-limit maxlength="100" :rows="1" type="textarea" resize="none" class="visitorEditorArea" @focus="scrollBottom;showIconBtns=false" @blur="scrollBottom;showIconBtns=false" v-model="messageContent" @keyup.native="inputNextText" v-on:keyup.enter.native="chatToUser">
|
|
|
|
|
</el-input>
|
|
|
|
|
<el-button type="primary" size="mini" class="visitorEditorBtn" :disabled="sendDisabled||messageContent==''" v-on:click="chatToUser();showIconBtns=false"><{flyLang.sent}></el-button>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="footContact clear">
|
|
|
|
|
<a href="{{.CopyrightUrl}}" target="_blank">智能在线客服系统版权所有 © 2020-2022</a>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="chatArticle">
|
|
|
|
|
<h3 class="hotQuestionTitle"><img src="/static/images/fire.svg" class="fire">热门问题
|
|
|
|
|
</h3>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div class="visitorEditor">
|
|
|
|
|
<el-input show-word-limit maxlength="100" :rows="1" type="textarea" resize="none" class="visitorEditorArea" @focus="scrollBottom;showIconBtns=false" @blur="scrollBottom;showIconBtns=false" v-model="messageContent" @keyup.native="inputNextText" v-on:keyup.enter.native="chatToUser">
|
|
|
|
|
</el-input>
|
|
|
|
|
<el-button type="primary" size="mini" class="visitorEditorBtn" :disabled="sendDisabled||messageContent==''" v-on:click="chatToUser();showIconBtns=false"><{flyLang.sent}></el-button>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div class="footContact clear">
|
|
|
|
|
<a href="{{.CopyrightUrl}}" target="_blank">智能在线客服系统版权所有 © 2020-2022</a>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<!--//客服代码-->
|
|
|
|
|
<audio id="chatMessageAudio">
|
|
|
|
|
<source id="chatMessageAudioSource" />
|
|
|
|
|