|
|
|
|
@ -15,6 +15,15 @@
|
|
|
|
|
<link rel="stylesheet" href="/static/css/common.css?v=sdsderfrgfgdfdf" />
|
|
|
|
|
<link rel="stylesheet" href="/static/css/icono.min.css" />
|
|
|
|
|
<link rel="stylesheet" href="/static/css/icon/iconfont.css?v=fgjlgfda"/>
|
|
|
|
|
<style>
|
|
|
|
|
.fade-enter-active, .fade-leave-active {
|
|
|
|
|
transition: opacity 0.3s ease, transform 0.3s ease;
|
|
|
|
|
}
|
|
|
|
|
.fade-enter, .fade-leave-to {
|
|
|
|
|
opacity: 0;
|
|
|
|
|
transform: translateY(10px);
|
|
|
|
|
}
|
|
|
|
|
</style>
|
|
|
|
|
</head>
|
|
|
|
|
<body class="visitorBody">
|
|
|
|
|
<div id="app" class="chatCenter">
|
|
|
|
|
@ -29,71 +38,73 @@
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<!-- 离线留言表单 - 当客服不在线时显示 -->
|
|
|
|
|
<div class="chatEntBox" v-if="showOfflineMessageForm">
|
|
|
|
|
<div class="offlineMessageContainer">
|
|
|
|
|
<div class="offlineMessageTitle">
|
|
|
|
|
<h3><i class="el-icon-chat-dot-round"></i> 客服离线,请留言</h3>
|
|
|
|
|
<p>我们的客服目前不在线,请填写以下表单,客服上线后会尽快回复您。</p>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<el-form :model="offlineMessageForm" :rules="offlineMessageRules" ref="offlineMessageForm" label-width="80px" class="offlineMessageForm">
|
|
|
|
|
<el-form-item label="您的姓名" prop="visitor_name">
|
|
|
|
|
<el-input v-model="offlineMessageForm.visitor_name" placeholder="请输入您的姓名"></el-input>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
|
|
|
|
<el-form-item label="联系邮箱" prop="visitor_email">
|
|
|
|
|
<el-input v-model="offlineMessageForm.visitor_email" placeholder="请输入您的邮箱,方便我们回复"></el-input>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
|
|
|
|
<el-form-item label="联系电话" prop="visitor_phone">
|
|
|
|
|
<el-input v-model="offlineMessageForm.visitor_phone" placeholder="请输入您的电话(选填)"></el-input>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
|
|
|
|
<el-form-item label="留言主题" prop="subject">
|
|
|
|
|
<el-input v-model="offlineMessageForm.subject" placeholder="请输入留言主题"></el-input>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<!-- 过渡动画包裹层 -->
|
|
|
|
|
<transition name="fade">
|
|
|
|
|
<!-- 离线留言表单 - 当客服不在线时显示 -->
|
|
|
|
|
<div class="chatEntBox" v-if="showOfflineMessageForm">
|
|
|
|
|
<div class="offlineMessageContainer">
|
|
|
|
|
<div class="offlineMessageTitle">
|
|
|
|
|
<h3><i class="el-icon-chat-dot-round"></i> 客服离线,请留言</h3>
|
|
|
|
|
<p>我们的客服目前不在线,请填写以下表单,客服上线后会尽快回复您。</p>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<el-form-item label="留言内容" prop="content">
|
|
|
|
|
<el-input
|
|
|
|
|
type="textarea"
|
|
|
|
|
:rows="5"
|
|
|
|
|
v-model="offlineMessageForm.content"
|
|
|
|
|
placeholder="请输入您的留言内容...">
|
|
|
|
|
</el-input>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form :model="offlineMessageForm" :rules="offlineMessageRules" ref="offlineMessageForm" label-width="80px" class="offlineMessageForm">
|
|
|
|
|
<el-form-item label="您的姓名" prop="visitor_name">
|
|
|
|
|
<el-input v-model="offlineMessageForm.visitor_name" placeholder="请输入您的姓名"></el-input>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
|
|
|
|
<el-form-item label="联系邮箱" prop="visitor_email">
|
|
|
|
|
<el-input v-model="offlineMessageForm.visitor_email" placeholder="请输入您的邮箱,方便我们回复"></el-input>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
|
|
|
|
<el-form-item label="联系电话" prop="visitor_phone">
|
|
|
|
|
<el-input v-model="offlineMessageForm.visitor_phone" placeholder="请输入您的电话(选填)"></el-input>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
|
|
|
|
<el-form-item label="留言主题" prop="subject">
|
|
|
|
|
<el-input v-model="offlineMessageForm.subject" placeholder="请输入留言主题"></el-input>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
|
|
|
|
<el-form-item label="留言内容" prop="content">
|
|
|
|
|
<el-input
|
|
|
|
|
type="textarea"
|
|
|
|
|
:rows="5"
|
|
|
|
|
v-model="offlineMessageForm.content"
|
|
|
|
|
placeholder="请输入您的留言内容...">
|
|
|
|
|
</el-input>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
|
|
|
|
<el-form-item>
|
|
|
|
|
<el-button
|
|
|
|
|
type="primary"
|
|
|
|
|
:loading="offlineMessageSubmitting"
|
|
|
|
|
@click="submitOfflineMessage"
|
|
|
|
|
:disabled="offlineMessageSubmitting">
|
|
|
|
|
提交留言
|
|
|
|
|
</el-button>
|
|
|
|
|
<el-button @click="checkKefuStatusByWs">
|
|
|
|
|
尝试重新连接
|
|
|
|
|
</el-button>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-form>
|
|
|
|
|
|
|
|
|
|
<el-form-item>
|
|
|
|
|
<el-button
|
|
|
|
|
type="primary"
|
|
|
|
|
:loading="offlineMessageSubmitting"
|
|
|
|
|
@click="submitOfflineMessage"
|
|
|
|
|
:disabled="offlineMessageSubmitting">
|
|
|
|
|
提交留言
|
|
|
|
|
<div class="offlineMessageSuccess" v-if="offlineMessageSubmitted">
|
|
|
|
|
<el-alert
|
|
|
|
|
title="留言提交成功!"
|
|
|
|
|
type="success"
|
|
|
|
|
:closable="false"
|
|
|
|
|
show-icon
|
|
|
|
|
description="感谢您的留言,客服上线后会尽快与您联系。">
|
|
|
|
|
</el-alert>
|
|
|
|
|
<el-button type="primary" plain @click="resetOfflineMessageForm" style="margin-top: 15px;">
|
|
|
|
|
继续留言
|
|
|
|
|
</el-button>
|
|
|
|
|
<el-button @click="tryReconnect">
|
|
|
|
|
尝试重新连接
|
|
|
|
|
</el-button>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-form>
|
|
|
|
|
|
|
|
|
|
<div class="offlineMessageSuccess" v-if="offlineMessageSubmitted">
|
|
|
|
|
<el-alert
|
|
|
|
|
title="留言提交成功!"
|
|
|
|
|
type="success"
|
|
|
|
|
:closable="false"
|
|
|
|
|
show-icon
|
|
|
|
|
description="感谢您的留言,客服上线后会尽快与您联系。">
|
|
|
|
|
</el-alert>
|
|
|
|
|
<el-button type="primary" plain @click="resetOfflineMessageForm" style="margin-top: 15px;">
|
|
|
|
|
继续留言
|
|
|
|
|
</el-button>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<!-- 正常聊天界面 - 当客服在线时显示 -->
|
|
|
|
|
<div class="chatEntBox" v-else>
|
|
|
|
|
|
|
|
|
|
<!-- 正常聊天界面 - 当客服在线时显示 -->
|
|
|
|
|
<div class="chatEntBox" v-else>
|
|
|
|
|
<div class="chatContext chatVisitorPage">
|
|
|
|
|
<div class="chatBox">
|
|
|
|
|
<div class="chatNotice" v-on:click="getHistoryMessage" v-show="showLoadMore">
|
|
|
|
|
@ -143,6 +154,7 @@
|
|
|
|
|
<el-button type="primary" size="mini" class="visitorEditorBtn" :disabled="sendDisabled||messageContent==''" v-on:click="chatToUser();showIconBtns=false">Send</el-button>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</transition>
|
|
|
|
|
<div class="chatArticle">
|
|
|
|
|
<h3 class="hotQuestionTitle">Announcements</h3>
|
|
|
|
|
<div class="allNotice" v-html><{kefuInfo.allNotice}></div>
|
|
|
|
|
@ -739,7 +751,7 @@
|
|
|
|
|
};
|
|
|
|
|
this.$refs.offlineMessageForm.resetFields();
|
|
|
|
|
},
|
|
|
|
|
tryReconnect:function() {
|
|
|
|
|
checkKefuStatusByWs:function() {
|
|
|
|
|
let _this = this;
|
|
|
|
|
_this.$message({
|
|
|
|
|
message: '正在尝试重新连接...',
|
|
|
|
|
|