Browse Source

update pa_chat

luke 6 years ago
parent
commit
d613bdc3e1
1 changed files with 44 additions and 8 deletions
  1. 44 8
      pc_chat/src/components/chat.vue

+ 44 - 8
pc_chat/src/components/chat.vue

@@ -19,8 +19,7 @@
 						<div class="imgBox">
 						<div class="imgBox">
 							<!-- <el-button v-if="!service_on"  size="mini" type="primary" @click="exit" style="margin-right: 10px;">退出聊天</el-button>-->
 							<!-- <el-button v-if="!service_on"  size="mini" type="primary" @click="exit" style="margin-right: 10px;">退出聊天</el-button>-->
 							<el-button v-if="machineAndAtl == 100" size="mini" type="primary" @click="exit" style="margin-right: 10px;">退出聊天</el-button>
 							<el-button v-if="machineAndAtl == 100" size="mini" type="primary" @click="exit" style="margin-right: 10px;">退出聊天</el-button>
-							<i v-if="(selNum + tokNum) >= 4" @click="ejectEvl(10)" class="sc pointer" :class="selType?'scActy':''">
-							</i>
+							<i v-if="(selNum + tokNum) >= 4"  @click="ejectEvl(10)" class="sc pointer" :class="selType?'scActy':''"></i>
 							<div v-if="showleaveIcon" style="float: right" class="pointer" @click="leaveMsg()">
 							<div v-if="showleaveIcon" style="float: right" class="pointer" @click="leaveMsg()">
 								<span style="font-size: 25px; color: #b3c1e7; vertical-align: middle;" @click="back()"
 								<span style="font-size: 25px; color: #b3c1e7; vertical-align: middle;" @click="back()"
 									  class="el-icon-chat-line-round"></span>
 									  class="el-icon-chat-line-round"></span>
@@ -188,6 +187,13 @@
 								</div>
 								</div>
 							</div>
 							</div>
 
 
+							<!-- 客服会话超时 -->
+							<div class="promptBox" v-if="resigtermsg">
+								<div class="prompt help">
+									<span>客服已经关闭会话,如需继续咨询请重新连接客服</span>
+								</div>
+							</div>
+
 							<!-- 排队等待 -->
 							<!-- 排队等待 -->
 							<div class="evaluate" v-if="waitingMsg">
 							<div class="evaluate" v-if="waitingMsg">
 								<span>{{waitingText}}</span>
 								<span>{{waitingText}}</span>
@@ -203,7 +209,7 @@
 							<!--历史消息-->
 							<!--历史消息-->
 							<div v-for="(item,index) in hisSviceChat" :key="index">
 							<div v-for="(item,index) in hisSviceChat" :key="index">
 								<!-- 客服信息 -->
 								<!-- 客服信息 -->
-								<div class="conversationBox" v-if="item.to_id.startsWith('KF')">
+								<div class="conversationBox" v-if="item.from_id.startsWith('KF')">
 									<div class="timer">{{item.time_line | formatDate}}</div>
 									<div class="timer">{{item.time_line | formatDate}}</div>
 									<div class="row">
 									<div class="row">
 										<div class="conversation row">
 										<div class="conversation row">
@@ -213,7 +219,7 @@
 											</div>
 											</div>
 											<div class="cont left">
 											<div class="cont left">
 												<div v-if="item.content != ''" v-html="item.content.text"></div>
 												<div v-if="item.content != ''" v-html="item.content.text"></div>
-												<div v-else slot="file">
+												<div v-if="item.content.img != ''" slot="file">
 													<img class="el-upload-list__item-thumbnail"
 													<img class="el-upload-list__item-thumbnail"
 														 @click="handlePictureCardPreview(url+item.content.img)"
 														 @click="handlePictureCardPreview(url+item.content.img)"
 														 style="width:100%;height:auto;border-radius: 10px;"
 														 style="width:100%;height:auto;border-radius: 10px;"
@@ -233,7 +239,7 @@
 											<div class="row">
 											<div class="row">
 												<div class="cont right">
 												<div class="cont right">
 													<div v-if="item.content != ''" v-html="item.content.text"></div>
 													<div v-if="item.content != ''" v-html="item.content.text"></div>
-													<div v-else slot="file">
+													<div v-if="item.content.img != ''" slot="file">
 														<img class="el-upload-list__item-thumbnail"
 														<img class="el-upload-list__item-thumbnail"
 															 @click="handlePictureCardPreview(url+item.content.img)"
 															 @click="handlePictureCardPreview(url+item.content.img)"
 															 style="width:100%;height:auto;border-radius: 10px;"
 															 style="width:100%;height:auto;border-radius: 10px;"
@@ -277,7 +283,7 @@
 								<!-- 用户发送文本消息 -->
 								<!-- 用户发送文本消息 -->
 								<div class="conversationBox" v-if="item.type == 'user' ">
 								<div class="conversationBox" v-if="item.type == 'user' ">
 									<div>
 									<div>
-										<div class="timer">{{item.time}}</div>
+										<div class="timer">{{webTime}}</div>
 										<div class="customer row allAlignment">
 										<div class="customer row allAlignment">
 											<div style="width:66px;"></div>
 											<div style="width:66px;"></div>
 											<div class="row">
 											<div class="row">
@@ -312,6 +318,8 @@
 											<span>{{historyMsgtext}}</span>
 											<span>{{historyMsgtext}}</span>
 										</div>
 										</div>
 									</div>
 									</div>
+
+
 								</div>
 								</div>
 
 
 								<!-- 点击图片放大 -->
 								<!-- 点击图片放大 -->
@@ -339,6 +347,7 @@
 								</div>
 								</div>
 							</div>
 							</div>
 
 
+
 						</div>
 						</div>
 
 
 						<!-- 发送消息音频提示 -->
 						<!-- 发送消息音频提示 -->
@@ -451,7 +460,7 @@
 									</div>
 									</div>
 									<div>
 									<div>
 										<span>职务:</span>
 										<span>职务:</span>
-										<span>咨询客服</span>
+										<span>{{service.serverInfo ? service.serverInfo.groupname : '咨询客服'}}</span>
 									</div>
 									</div>
 								</div>
 								</div>
 								<div class="headPortrait">
 								<div class="headPortrait">
@@ -625,6 +634,8 @@
 				dialogPaste: false,
 				dialogPaste: false,
 				pasteUrl:'',//截屏图片
 				pasteUrl:'',//截屏图片
 				fit:'contain', // 图片样式
 				fit:'contain', // 图片样式
+				resigtermsg:false, //提示重连
+				evaluateNum:false,
 			}
 			}
 		},
 		},
 		filters: {
 		filters: {
@@ -809,6 +820,16 @@
 					}
 					}
 				}))
 				}))
 				this.goBack();
 				this.goBack();
+				const loading = this.$loading({
+					lock: true,
+					text: '加载中',
+					spinner: 'el-icon-loading',
+					background: 'rgba(0, 0, 0, 0.7)'
+				});
+				setTimeout(() => {
+					loading.close();
+				}, 4000);
+
 			},
 			},
 
 
 			// 关闭评价框按钮
 			// 关闭评价框按钮
@@ -1253,6 +1274,10 @@
 					this.tokNum = 0;
 					this.tokNum = 0;
 					this.service_on = true;
 					this.service_on = true;
 					this.closeByServer = false;
 					this.closeByServer = false;
+					console.log(redata.data.evaluate_id,"评价数量")
+					if(redata.data.evaluate_id > 0){
+						this.evaluateNum = true;
+					}
 				}
 				}
 				// 暂无客服
 				// 暂无客服
 				if (redata.message_type == 'wait') {
 				if (redata.message_type == 'wait') {
@@ -1345,6 +1370,8 @@
 					this.selNum = 0;
 					this.selNum = 0;
 					this.machine = [];
 					this.machine = [];
 					this.showleaveIcon = true;
 					this.showleaveIcon = true;
+					this.reconnect();
+					this.resigtermsg = true;
 				}
 				}
 				// 客服掉线.
 				// 客服掉线.
 				if (redata.message_type == 'serviceoffline') {
 				if (redata.message_type == 'serviceoffline') {
@@ -1387,11 +1414,20 @@
 				if(redata.message_type == 'toOld'){
 				if(redata.message_type == 'toOld'){
 					let obj = redata;
 					let obj = redata;
 					this.historyMsgtext = obj.data.content;
 					this.historyMsgtext = obj.data.content;
+
 					obj.data.chatLog.forEach(res => {
 					obj.data.chatLog.forEach(res => {
 						res.content = JSON.parse(res.content)
 						res.content = JSON.parse(res.content)
 						this.hisSviceChat.push(res)
 						this.hisSviceChat.push(res)
 					})
 					})
 					this.customerSviceChat.push({type: 'system', str: 'historyMsg'})
 					this.customerSviceChat.push({type: 'system', str: 'historyMsg'})
+					// console.log(obj.data.chatLog.length,"历史信息数量");
+					if(obj.data.chatLog.length >= 3){
+						this.selNum = 3;
+						this.tokNum = 3;
+					}else {
+						this.selNum = 0;
+						this.tokNum = 0;
+					}
 				}
 				}
 			},
 			},
 
 
@@ -1425,7 +1461,7 @@
 					this.initWebSocket();
 					this.initWebSocket();
 					console.log('-----socket重连-----');
 					console.log('-----socket重连-----');
 					this.lockReconnect = false;
 					this.lockReconnect = false;
-				}, 5000)
+				}, 3000)
 			},
 			},
 
 
 			/*************************************/
 			/*************************************/