luke 6 lat temu
rodzic
commit
cda8f50ed0
1 zmienionych plików z 263 dodań i 146 usunięć
  1. 263 146
      service/src/pages/TheCurrentSession.vue

+ 263 - 146
service/src/pages/TheCurrentSession.vue

@@ -95,6 +95,46 @@
 					</div>
 
 					<div class="chat-box scroll" id='chat_box'>
+						<!-- 转接 历史信息-->
+						<div v-if="showHistoryList">
+							<div v-for="(item,index) in historyList" :key="index">
+								<!-- 客服消息 -->
+								<div style="padding:0 10px;margin-top:20px;" class="rightAlignment" v-if="item.from_id.startsWith('KF')" >
+									<div style="height:37px;font-size:12px;color:#bbb;"
+										 class="row item-center rightAlignment">{{item.time_line | formatDate}}
+									</div>
+									<div class="row item-center rightAlignment">
+										<p v-if="item.content.text != ''" class="chatMsg message_box" v-html="item.content.text"></p>
+										<div v-if="item.content.img !=''">
+											<!-- :fit="contain"  style="background:#F5F5F5; border-radius: 10px 0 10px 10px;"-->
+											<el-image style="width: 200px; height: 100px"
+													  @click="handlePictureCardPreview(img_http+item.content.img)"
+													  :src="img_http + item.content.img" :fit="fit"></el-image>
+										</div>
+
+									</div>
+								</div>
+
+								<!-- 用户消息 -->
+								<div style="padding:0 10px;margin-top:20px;" v-else>
+									<div style="height:37px;font-size:.12px;color:#bbb;" class="row item-center">
+										{{item.time_line | formatDate}}
+									</div>
+									<div class="row">
+										<p v-if="item.content.text != ''" class="chatMsg user_box" v-html="item.content.text"></p>
+										<div v-if="item.content.img != ''">
+											<el-image style="width: 200px; height: 100px"
+													  @click="handlePictureCardPreview(img_http+item.content.img)"
+													  :src="img_http + item.content.img"
+													  :fit="fit">
+											</el-image>
+										</div>
+									</div>
+								</div>
+							</div>
+						</div>
+
+
 						<div v-for="(item,index) in data" :key="index">
 							<!-- 系统转接 -->
 							<!-- <div class="row center" v-if="item.type == 'system'">
@@ -104,7 +144,7 @@
 							<!-- 用户消息 -->
 							<div style="padding:0 10px;margin-top:20px;" v-if="item.type == 'user'">
 								<div style="height:37px;font-size:.12px;color:#bbb;"
-									class="row item-center"
+									 class="row item-center"
 								>{{item.time}}
 								</div>
 								<div class="row">
@@ -156,7 +196,7 @@
 										</li>
 									</ul>
 									<el-button class="expression" slot="reference"></el-button>
-								</el-popover>	 
+								</el-popover>
 								<input type="file" id="file" style="display:none;" @change="uploadIMG"/>
 								<label for="file" class="row item-center" style="height:100%">
 									<img class="hover" src="@/assets/img/img.png"/>
@@ -206,11 +246,11 @@
 						<!-- <li @click="getLanguage(item.content)" class="row cursor_text" v-for="item in FastReply.sysWords" :key="item.id"> -->
 						<div @click="getLanguage(item.content)" class="row cursor_text item-center"
 							 v-for="item in FastReply.sysWords" :key="item.id" v-if="FastReplySwitch == 'one'">
-								<el-tooltip class="title_span" effect="light" placement="bottom-start">
-									<div slot="content">{{item.content}}</div>
-									<span class="title_span" style=" width: 100%">#{{item.title}}</span>
-								</el-tooltip>
-							
+							<el-tooltip class="title_span" effect="light" placement="bottom-start">
+								<div slot="content">{{item.content}}</div>
+								<span class="title_span" style=" width: 100%">#{{item.title}}</span>
+							</el-tooltip>
+
 							<!-- <div class="ellipsis" style=" width: 70%">
 
 								<span class="content_span">{{item.content}}</span>
@@ -221,10 +261,10 @@
 
 						<div @click="getLanguage(item.content)" class="row cursor_text item-center"
 							 v-for="item in FastReply.userWords" :key="item.id" v-if="FastReplySwitch == 'tow'">
-								<el-tooltip class="title_span" effect="light" placement="bottom-start">
-									<div slot="content">{{item.content}}</div>
-									<span class="title_span" style=" width: 100%">#{{item.title}}</span>
-								</el-tooltip>
+							<el-tooltip class="title_span" effect="light" placement="bottom-start">
+								<div slot="content">{{item.content}}</div>
+								<span class="title_span" style=" width: 100%">#{{item.title}}</span>
+							</el-tooltip>
 							<!-- <div class="ellipsis" style=" width: 70%">
 
 								<span class="content_span">{{item.content}}</span>
@@ -249,7 +289,8 @@
 					<div style="color:#666;font-weight:bold;font-size:14px;">访问信息</div>
 					<div style="margin-top:10px;color:#999;font-size:14px;" class="userData wrap">
 						<!-- <p>来源:{{session_user_info.website}}</p>  -->
-						<p @dblclick="get_ip_Info" class="get_ip" :data-clipboard-text="terminal_IP.ip" >IP地址:{{terminal_IP.ip}}</p>
+						<p @dblclick="get_ip_Info" class="get_ip" :data-clipboard-text="terminal_IP.ip">
+							IP地址:{{terminal_IP.ip}}</p>
 						<p>来源终端:{{terminal_IP.system}}</p>
 					</div>
 
@@ -258,32 +299,35 @@
 						<div class="user_info_box">
 							<span>账号:</span>
 							<input class="user_text" style="background: #ECF4FF;"
-								v-model="session_user_info.account_name" readonly type="text">
+								   v-model="session_user_info.account_name" readonly type="text">
 						</div>
 						<div class="user_info_box">
 							<span>标签:</span>
-							<el-select  style="width:70%;"  v-model="value" @focus='focusFun' @change='labelChange' placeholder="请选择">
+							<el-select style="width:70%;" v-model="value" @focus='focusFun' @change='labelChange'
+									   placeholder="请选择">
 								<el-option
-									v-for="item in options"
-									:key="item.id"
-									:label="item.name"
-									:value="item.id">
+										v-for="item in options"
+										:key="item.id"
+										:label="item.name"
+										:value="item.id">
 								</el-option>
 							</el-select>
 						</div>
-						<div  class="user_info_box">
+						<div class="user_info_box">
 							<span>昵称:</span>
 							<el-input style="width:70%;" v-model="session_user_info.nick_name"
 									  placeholder="请输入内容"></el-input>
 						</div>
 						<div class="user_info_box">
 							<span>手机:</span>
-							<el-input @blur='validation_user_info(1)' style="width:70%;" v-model="session_user_info.account_phone"
+							<el-input @blur='validation_user_info(1)' style="width:70%;"
+									  v-model="session_user_info.account_phone"
 									  placeholder="请输入内容"></el-input>
 						</div>
 						<div class="user_info_box">
 							<span>邮箱:</span>
-							<el-input @blur='validation_user_info(2)' style="width:70%;" v-model="session_user_info.account_email"
+							<el-input @blur='validation_user_info(2)' style="width:70%;"
+									  v-model="session_user_info.account_email"
 									  placeholder="请输入内容"></el-input>
 						</div>
 						<div class="user_info_box">
@@ -304,18 +348,18 @@
 			</div>
 			<!-- 截图粘贴 -->
 			<el-dialog
-			:close-on-click-modal="true"
-			:close-on-press-escape ="true"
-			title="是否发送图片"
-			:visible.sync="dialogPaste"
-			width="35%">
-			<!-- :before-close="handleClose" -->
-			
-			<!-- <span>这是一段信息</span> -->
-			<el-image 
-                :src="pasteUrl" :fit="fit"></el-image>
-
-			<span slot="footer" class="dialog-footer">
+					:close-on-click-modal="true"
+					:close-on-press-escape="true"
+					title="是否发送图片"
+					:visible.sync="dialogPaste"
+					width="35%">
+				<!-- :before-close="handleClose" -->
+
+				<!-- <span>这是一段信息</span> -->
+				<el-image
+						:src="pasteUrl" :fit="fit"></el-image>
+
+				<span slot="footer" class="dialog-footer">
 				<el-button @click="dialogPaste = false">取 消</el-button>
 				<el-button type="primary" @click="handleClose()">确 定</el-button>
 			</span>
@@ -349,7 +393,7 @@
 				lineUp: [],//排队列表
 				conversationId: '',//会话工单
 				session_user_info: {},//当前会话用户信息
-				img_http:'http://kfadmin.bocai186.com',//图片路径域
+				img_http: 'http://kfadmin.bocai186.com',//图片路径域
 				// img_http: 'http://192.168.2.187:8090',//图片路径域
 				fit: 'scale-down',//图片渲染样式
 				is_eva_btn: true,//
@@ -367,35 +411,86 @@
 				dialogVisible: false, //图片放大
 				dialogImageUrl: '', // 放大的图片
 				dialogUrl: false,
-				pasteUrl:'',//截屏图片
-				userSwitching:true,//是否切换完成
-				terminal_IP:{},//访客设备信息
+				pasteUrl: '',//截屏图片
+				userSwitching: true,//是否切换完成
+				terminal_IP: {},//访客设备信息
+
+				showHistoryList: false,
+				historyList: []
+			}
+		},
+		filters: {
+			/**
+			 * 时间戳转日期自定义时间格式
+			 * timeStamp:时间戳
+			 * custom:转换日期时定义年月日用是什么符号隔开
+			 * isDtae:0=月份、1=日期、3=时间
+			 */
+
+			formatDate: function (value, custom = '', isDtae = 3) {
+				let timeStamp = value;
+				var date = new Date();
+				date.setTime(timeStamp * 1000);
+				var y = date.getFullYear();
+				var m = date.getMonth() + 1;
+				m = m < 10 ? ('0' + m) : m;
+				var d = date.getDate();
+				d = d < 10 ? ('0' + d) : d;
+				var h = date.getHours();
+				h = h < 10 ? ('0' + h) : h;
+				var minute = date.getMinutes();
+				var second = date.getSeconds();
+				minute = minute < 10 ? ('0' + minute) : minute;
+				second = second < 10 ? ('0' + second) : second;
+				if (isDtae == 0) {
+					return y + custom + m //+'student';
+				} else if (isDtae == 1) {
+					return y + custom + m + custom + d;
+				} else if (isDtae == 3) {
+					return h + ':' + minute;
+				} else {
+					return y + '-' + m + '-' + d + ' ' + h + ':' + minute //+ ':' + second;
+				}
 			}
 		},
-		/**
-		 *
-		 */
 		methods: {
+			/******************文字信息转表情******************/
+			turnFace(data) {
+				let str = data.match(/\#\[.*?\]\//g);
+				let arr = Array.from(new Set(str));
+				arr.forEach(e => {
+					let imgsrc = '';
+					for (let i = 0; i < this.frceArr.length; i++) {
+						let expText = e.slice(1, e.length - 1);
+						if (expText == this.frceArr[i]) {
+							imgsrc = '<img class="hover" src="' + require(`@/assets/img/${i}.gif`) + '"/>'
+							break;
+						}
+					}
+					data = data.replace(new RegExp(`\\#\\[${e.substring(2, e.length - 2)}\\]\\/`, 'g'), imgsrc);
+				})
+				return data;
+			},
+
 			/****************************/
-			validation_user_info(type){
-				if(type == 1 && this.session_user_info.account_phone){
-					if(!/^1[34578]\d{9}$/.test(this.session_user_info.account_phone)){
+			validation_user_info(type) {
+				if (type == 1 && this.session_user_info.account_phone) {
+					if (!/^1[34578]\d{9}$/.test(this.session_user_info.account_phone)) {
 						this.session_user_info.account_phone = '';
 						this.$message({
 							message: '这不是一个手机号哦!...',
-						type: 'warning'
-					});
+							type: 'warning'
+						});
 					}
-				}else if(type ==2 && this.session_user_info.account_email ){
-					if(!/^([a-zA-Z]|[0-9])(\w|\-)+@[a-zA-Z0-9]+\.([a-zA-Z]{2,4})$/.test(this.session_user_info.account_email)){
+				} else if (type == 2 && this.session_user_info.account_email) {
+					if (!/^([a-zA-Z]|[0-9])(\w|\-)+@[a-zA-Z0-9]+\.([a-zA-Z]{2,4})$/.test(this.session_user_info.account_email)) {
 						this.session_user_info.account_email = ''
 						this.$message({
 							message: '这不是一个邮箱哦!...',
-						type: 'warning'
-					});
+							type: 'warning'
+						});
 					}
 				}
-				
 
 
 			},
@@ -444,14 +539,14 @@
 
 				// //用户会话结束窗口切换
 				if (redata.message_type == "delUser") {
-					redata.data ;
-					console.log(redata.data,this.session_user_info)
-					if(redata.data.id == this.session_user_info.id){
-						this.session_user_info={};
+					redata.data;
+					console.log(redata.data, this.session_user_info)
+					if (redata.data.id == this.session_user_info.id) {
+						this.session_user_info = {};
 						this.value = '请选择';
 					}
 					return false
-				}	
+				}
 
 
 				//获取标签数据信息
@@ -475,9 +570,10 @@
 				//接收会话时间
 				if (redata.message_type == "webTime") {
 					let data = this.data;
-					console.log(data);
-				
-					data[data.length -1].time =  redata.data.webTime
+					let hisdata = this.historydata;
+					console.log(data, '接收会话时间');
+					data[data.length - 1].time = redata.data.webTime
+					historydata[historydata.length - 1].time = redata.data.webTime
 					this.$store.dispatch("SET_CURRENT", data);
 					return false
 				}
@@ -500,9 +596,26 @@
 					}
 					return false
 				}
-				if(redata.message_type == 'chatMessage'){
+				if (redata.message_type == 'chatMessage') {
 					this.automaticRolling();
 				}
+				// 转接历史信息
+				if (redata.message_type == "connect") {
+					console.log(redata, '转接历史消息');
+					if (redata.data.history.length > 0) {
+						this.showHistoryList = true;
+						redata.data.history.forEach(res => {
+							let content = JSON.parse(res.content)
+							res.content = content;
+							if (content.text) {
+								content.text = this.turnFace(content.text)
+								res.content = content
+							}
+							this.historyList.push(res)
+						})
+						console.log(this.historyList,'123123')
+					}
+				}
 			},
 
 
@@ -520,7 +633,7 @@
 				}
 				if (!isLt2M) {
 					this.$message.error('上传图片大小不能超过 2MB!');
-					 return false;
+					return false;
 				}
 
 				let picavalue = files[0];
@@ -538,7 +651,7 @@
 			},
 
 			/**********************图片上传***********************/
-			upImg(formData){
+			upImg(formData) {
 				let self = this;
 				// 数据结构请求
 				self.post('api/' + self.$ports.uploadImg, formData).then(res => {
@@ -560,9 +673,9 @@
 							type: false,
 						};
 						let chatList = self.sessionList[self.dataIndex];
-						console.log(self.webTime);
+						// console.log(self.webTime);
 						//本地存储
-						chatList.data.push({type: 'service', content: obj, time:self.webTime});
+						chatList.data.push({type: 'service', content: obj, time: self.webTime});
 						// self.data = [];
 						// self.data = chatList.data;
 						// self.$store.dispatch("SET_CURRENT", []);
@@ -628,9 +741,9 @@
 			/*****************切换用户会话对象******************/
 			chooseDialogue(type, index) {
 				console.log(this.sessionList);
-				if(this.userSwitching){
+				if (this.userSwitching) {
 					let data = [];
-					let order_id =  '';
+					let order_id = '';
 					this.$store.dispatch("SET_TYPE", type);
 					this.$store.dispatch("SET_NUM", index);
 					if (type == 1) {
@@ -644,9 +757,9 @@
 						order_id = this.offlineList[index].id;
 					}
 					this.$store.dispatch("SET_CURRENT", data);//当前会话数据
-					this.userSwitching =false;
+					this.userSwitching = false;
 					this.get_user(order_id)
-				}else{
+				} else {
 					this.$message({
 						message: '警告!,操作太频繁',
 						type: 'warning'
@@ -676,11 +789,11 @@
 							kf_id: "KF" + _this.user_info.id,
 							group_id: _this.user_info.group_id,
 							conversationId: conversationId,
-							type:3,
+							type: 3,
 						}
 					}
 					if (this.sessionType == 1) {
-						let  sessionList = this.sessionList;
+						let sessionList = this.sessionList;
 						sessionList.splice(this.dataIndex, 1);
 						if (sessionList.length > 0) {
 							this.$store.dispatch("SET_CURRENT", sessionList[0]);//当前会话数据
@@ -690,7 +803,7 @@
 							this.$store.dispatch("SET_SESSION_NAME", '');
 						}
 					} else {
-						let offlineList =  this.offlineList;
+						let offlineList = this.offlineList;
 						offlineList.splice(this.dataIndex, 1);
 						this.$store.dispatch("SET_CURRENT", []);//当前会话数据
 						this.$store.dispatch("SET_SESSION_NAME", '');
@@ -786,7 +899,7 @@
 					//计算关键词次数
 					this.sensitiveNumber = this.sensitiveNumber + sensitive_data.num;
 				}
-				
+
 			},
 
 			/******************开启或关闭表情包******************/
@@ -806,8 +919,8 @@
 						conversationId: this.sessionList[this.dataIndex].conversationId,
 						to_id: this.sessionList[this.dataIndex].id,
 					}
-					this.sessionList[this.dataIndex].isEva =10;
-					this.$store.dispatch("SET_SESSION",this.sessionList); 
+					this.sessionList[this.dataIndex].isEva = 10;
+					this.$store.dispatch("SET_SESSION", this.sessionList);
 					this.websocketsend(JSON.stringify({type, data}));
 					this.is_eva_btn = true;
 				} else if (this.sessionType == 2) {
@@ -854,7 +967,7 @@
 			get_user(id) {
 				let obj = {
 					headers: {
-						"apiToken": this.$md5('accountInfo' + "customer-service" + 'service'  + 'service'),
+						"apiToken": this.$md5('accountInfo' + "customer-service" + 'service' + 'service'),
 						'userToken': this.token
 					},
 					account_id: id
@@ -873,7 +986,7 @@
 			get_config_info() {
 				let obj = {
 					headers: {
-						apiToken: this.$md5("minround" + "customer-service" + "evaluate"  + "index"),
+						apiToken: this.$md5("minround" + "customer-service" + "evaluate" + "index"),
 						userToken: this.token
 					}
 				};
@@ -897,7 +1010,7 @@
 			getSensitive() {
 				let obj = {
 					headers: {
-						"apiToken": this.$md5('sensitivewords' + "customer-service" + 'index'  + 'index'),
+						"apiToken": this.$md5('sensitivewords' + "customer-service" + 'index' + 'index'),
 						'userToken': this.token
 					}
 				};
@@ -954,67 +1067,67 @@
 			},
 
 			/******************qq截图粘贴---获取剪切板数据*****************/
-			getClipboardData( e ){
+			getClipboardData(e) {
 				// 添加到事件对象中的访问系统剪贴板的接口
 				let clipboardData = e.clipboardData,
 					i = 0,
 					items, item, types;
-			
-				if( clipboardData ){
+
+				if (clipboardData) {
 					items = clipboardData.items;
-					if( !items ){
+					if (!items) {
 						return;
 					}
 					item = items[0];
 					// 保存在剪贴板中的数据类型
 					types = clipboardData.types || [];
-					for( ; i < types.length; i++ ){
-						if( types[i] === 'Files' ){
+					for (; i < types.length; i++) {
+						if (types[i] === 'Files') {
 							item = items[i];
 							break;
 						}
 					}
 					// 判断是否为图片数据
-					if( item && item.kind === 'file' && item.type.match(/^image\//i) ){
-						this.imgReader( item );
+					if (item && item.kind === 'file' && item.type.match(/^image\//i)) {
+						this.imgReader(item);
 					}
 				}
 			},
 
 			/**********qq截图粘贴---获取剪切板图片信息进行转换blob***********/
-			imgReader( item ){
+			imgReader(item) {
 				let _this = this;
-				var blob = item.getAsFile(),reader = new FileReader();
+				var blob = item.getAsFile(), reader = new FileReader();
 				// 读取文件后将其显示在网页中
-				reader.onload = function( e ){
+				reader.onload = function (e) {
 					var img = new Image();
 					img.src = e.target.result;
-					_this.dialogPaste =true;
+					_this.dialogPaste = true;
 					_this.pasteUrl = e.target.result;
 					// console.log(img.src)
 					//document.body.appendChild( img );
 				};
 				// 读取文件
-				reader.readAsDataURL( blob );
+				reader.readAsDataURL(blob);
 			},
 
 			/*******************qq截图粘贴---监听时间捆绑*****************/
-			paste(){
-				document.getElementById( 'input' ).addEventListener( 'paste',this.getClipboardData);
+			paste() {
+				document.getElementById('input').addEventListener('paste', this.getClipboardData);
 			},
 
 			/**********************qq截图粘贴---发送截图*****************/
 			handleClose(done) {
-				this.dialogPaste = false; 
+				this.dialogPaste = false;
 				let blob = this.$public.dataURItoBlob(this.pasteUrl)
 				let self = this;
 				var formData = new FormData();
-                    formData.append("file", blob);
+				formData.append("file", blob);
 				self.upImg(formData);
 			},
 
 			/****************双击获取ip*******************/
-			get_ip_Info(){
+			get_ip_Info() {
 				var clipboard = new Clipboard(".get_ip")
 				clipboard.on('success', e => {
 					// console.log('复制成功')
@@ -1022,63 +1135,63 @@
 						message: '复制成功',
 						type: 'success'
 					});
-				// 释放内存
-				clipboard.destroy()
+					// 释放内存
+					clipboard.destroy()
 				})
 				clipboard.on('error', e => {
-				// 不支持复制
+					// 不支持复制
 					this.$message({
-				    	message: '该浏览器不支持自动复制',
+						message: '该浏览器不支持自动复制',
 						type: 'warning'
 					});
-				// 释放内存
-				clipboard.destroy()
+					// 释放内存
+					clipboard.destroy()
 				})
 			},
 			/****************访问信息和评价状态***************/
-			accessTerminal(data){
-				if(this.sessionType == 1){
+			accessTerminal(data) {
+				if (this.sessionType == 1) {
 					let List = this.sessionList[this.dataIndex];
-					if(data == 'eva'){
-						if(!List) return false
-						console.log(List);
-						if(List.isEva == 10 ){
+					if (data == 'eva') {
+						if (!List) return false
+						// console.log(List,'对话信息');
+						if (List.isEva == 10) {
 							this.is_eva_btn = true;
-						}else if(List.isEva != 10){
-							if (this.data.length > this.trigger_condition){
+						} else if (List.isEva != 10) {
+							if (this.data.length > this.trigger_condition) {
 								List.isEva = 100;
 								this.is_eva_btn = false;
-							}else{
+							} else {
 								this.is_eva_btn = true;
 							}
 						}
 						this.sessionList[this.dataIndex] = List
-						this.$store.dispatch("SET_SESSION",this.sessionList)
-					}else{
-						if(List){
+						this.$store.dispatch("SET_SESSION", this.sessionList)
+					} else {
+						if (List) {
 							this.terminal_IP = {
-								system:List.system+'-'+List.browse,
-								ip:List.ip 
-							}	
-						}else{
-							this.terminal_IP ={}
+								system: List.system + '-' + List.browse,
+								ip: List.ip
+							}
+						} else {
+							this.terminal_IP = {}
 						}
 					}
-				}else if(this.sessionType == 2){
+				} else if (this.sessionType == 2) {
 					let List = this.offlineList[this.dataIndex];
 					// if(data == 'eva'){
 					// 	if (this.data.length > this.trigger_condition){
 					// 		List.isEva = 100;
 					// 	}
 					// }else{
-						if(List){
-							this.terminal_IP = {
-								system:List.system+'-'+List.browse,
-								ip:List.ip 
-							}	
-						}else{
-							this.terminal_IP ={}
+					if (List) {
+						this.terminal_IP = {
+							system: List.system + '-' + List.browse,
+							ip: List.ip
 						}
+					} else {
+						this.terminal_IP = {}
+					}
 					// }
 				}
 			}
@@ -1118,17 +1231,17 @@
 			this.paste();
 			//
 			this.accessTerminal();
-		
+
 			//
-			if(this.sessionList.length > 0){
-				if(this.sessionList[this.dataIndex].isEva == 100 && this.sessionList[this.dataIndex]){
+			if (this.sessionList.length > 0) {
+				if (this.sessionList[this.dataIndex].isEva == 100 && this.sessionList[this.dataIndex]) {
 					this.is_eva_btn = false;
 				}
 			}
-			
+
 		},
-		beforeDestroy(){
-			document.getElementById( 'input' ).removeEventListener('paste',this.getClipboardData)
+		beforeDestroy() {
+			document.getElementById('input').removeEventListener('paste', this.getClipboardData)
 		},
 
 		/**
@@ -1139,13 +1252,13 @@
 				this.chatMessage(e)
 			},
 
-			sessionList(e){
+			sessionList(e) {
 				this.accessTerminal(e)
 			},
-			offlineList(e){
+			offlineList(e) {
 				this.accessTerminal(e)
 			},
-			
+
 			/*****************评价按钮显示隐藏处理*****************/
 			get_is_eva_btn(data) {
 				this.accessTerminal('eva')
@@ -1158,11 +1271,11 @@
 			...mapGetters({
 				data: 'get_current',
 				sessionName: 'get_session_name',
-				sessionList:'get_session',
-				offlineList:'get_offline',
-				dataIndex:'get_num',
-				sessionType:'get_type',
-				get_user_info:'get_session_user',
+				sessionList: 'get_session',
+				offlineList: 'get_offline',
+				dataIndex: 'get_num',
+				sessionType: 'get_type',
+				get_user_info: 'get_session_user',
 				// is_eva_btn:'get_is_eva_btn',
 			}),
 
@@ -1190,13 +1303,14 @@
 		content: "\E791";
 		color: #ccc;
 	}
-	
+
 	.emoticon {
 		width: 30px;
 		height: 30px;
 		display: inline-block;
 	}
-	#pop .expression{
+
+	#pop .expression {
 		display: inline-block;
 		width: 20px;
 		height: 20px;
@@ -1210,6 +1324,7 @@
 		background: url("./../assets/img/frcea.png") no-repeat;
 		background-size: 100% 100%;
 	}
+
 	.session_choose {
 		background: #F6F8FF;
 	}
@@ -1302,7 +1417,7 @@
 	.chatTop {
 		height: 50px;
 		border-bottom: 1px solid #d5e5ff;
-		
+
 	}
 
 	.chat-box {
@@ -1361,7 +1476,7 @@
 		color: #666;
 		font-size: 14px;
 		font-weight: bold;
-		
+
 	}
 
 	.content_span {
@@ -1601,11 +1716,13 @@
 		font-size: 12px;
 		font-weight: 400;
 	}
+
 	.el-tooltip__popper {
-   		max-width:15vw;
-    /* line-height: 180%; */
+		max-width: 15vw;
+		/* line-height: 180%; */
 	}
+
 	.rightAlignment .el-button {
-		border:none;
+		border: none;
 	}
 </style>