| 
					
				 | 
			
			
				@@ -42,8 +42,6 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             <el-button type="cyan" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      </el-form> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -67,6 +65,7 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           @menu-avatar-click="handleMenuAvatarClick" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           @pick-image="handleImageClick" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           @pick-msg-records="handleMsgRecordsClick" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          @pick-export-msg="handleExportMsgClick" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           @send="handleSend"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           <template #cover> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 <div class="cover"> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -174,7 +173,7 @@ import store from "@/store"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import { getQrCode } from '@/api/qw/login'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import { getDeviceId,listAccount,getAccount} from '@/api/qw/account'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import LemonMessageVoice from "@/components/LemonUI/components/message/voice"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import { getContactsByUser,getConversations,getMessageList,getConversation,sendTextMsg,sendImageMsg,getRoomInfo} from '@/api/qw/im'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { getContactsByUser,getConversations,getMessageList,getConversation,sendTextMsg,sendImageMsg,getRoomInfo,exportMessage} from '@/api/qw/im'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import Conversations from "@/components/LemonUI/database/conversations"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import EmojiData from "@/components/LemonUI/database/emoji"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import '@/components/LemonUI/index.css'; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -384,8 +383,7 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.getContacts();  //获取联系人信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.getConversation();   //获取会话信息  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     qwListAccount(companyUserId) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    qwListAccount(companyUserId) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if(!this.companyUserId){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              this.msgError("请选择员工"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              return; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -411,7 +409,6 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.UserData.displayName=this.qwUser.nickName; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.UserData.avatar=this.qwUser.avatar; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      /** 搜索按钮操作 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     handleQuery() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       this.qwListAccount(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -421,61 +418,59 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       this.resetForm("queryForm"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       //this.handleQuery(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     initSocket(userId) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-               let that=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-               if(!!this.qwIm.socket){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  this.qwIm.initSocket(userId,true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  // 监听socket连接 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  this.qwIm.socket.onopen = function() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      console.log("socket 连接成功..."); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  this.qwIm.socket.onerror = function() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      console.log("连接错误") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  // 监听socket消息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  const IMUI = this.$refs.IMUI; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  this.qwIm.socket.onmessage = function(res) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                       var data=JSON.parse(res.data); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                       //console.log("收到服务端内容", JSON.stringify(data)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        if(data.cmd=="heartbeat"){ //收到心跳数据不处理 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            console.log("heartbeat"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        if(data.cmd=="offline"){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            that.$message.error('企微号已下线'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            that.$store.dispatch('qwLoginOut').then(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            setTimeout(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                               that.$router.push({path:'/qw/qwLogin'}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            }, 2000); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        //接收消息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        if(data.cmd=="receiveMsg"){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                             var msgData=JSON.parse(data.msg); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                             if(!IMUI.hasConversation(msgData.toContactId)){  //收到新消息时是最新的会话,添加该会话 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                    let queryParams={conversationId:msgData.toContactId,userId:that.qwUser.userId}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                    getConversation(queryParams).then(response => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                          if(response.code==200){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                              var conversation=response.data; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                              IMUI.appendConversation(conversation);  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                              that.appendMessageAction(msgData); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                   }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                             }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                  that.appendMessageAction(msgData); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                  let conversation=IMUI.findConversation(msgData.toContactId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                  IMUI.topPopConversations(conversation); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  // 监听socket重连 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  this.qwIm.socket.onreconnect = function(res) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      console.log("socket 断线重连...") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          let that=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          if(!!this.qwIm.socket){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                this.qwIm.initSocket(userId,true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                // 监听socket连接 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                this.qwIm.socket.onopen = function() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    console.log("socket 连接成功..."); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                this.qwIm.socket.onerror = function() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    console.log("连接错误") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                // 监听socket消息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                const IMUI = this.$refs.IMUI; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                this.qwIm.socket.onmessage = function(res) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    var data=JSON.parse(res.data); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    //console.log("收到服务端内容", JSON.stringify(data)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      if(data.cmd=="heartbeat"){ //收到心跳数据不处理 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          console.log("heartbeat"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      if(data.cmd=="offline"){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          that.$message.error('企微号已下线'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          that.$store.dispatch('qwLoginOut').then(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          setTimeout(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            that.$router.push({path:'/qw/qwLogin'}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          }, 2000); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      //接收消息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      if(data.cmd=="receiveMsg"){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          var msgData=JSON.parse(data.msg); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          if(!IMUI.hasConversation(msgData.toContactId)){  //收到新消息时是最新的会话,添加该会话 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                  let queryParams={conversationId:msgData.toContactId,userId:that.qwUser.userId}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                  getConversation(queryParams).then(response => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                        if(response.code==200){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                            var conversation=response.data; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                            IMUI.appendConversation(conversation);  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                            that.appendMessageAction(msgData); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                that.appendMessageAction(msgData); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                let conversation=IMUI.findConversation(msgData.toContactId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                IMUI.topPopConversations(conversation); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                // 监听socket重连 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                this.qwIm.socket.onreconnect = function(res) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    console.log("socket 断线重连...") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     getRoomInfo(roomId){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         getRoomInfo(roomId).then(response => { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -651,6 +646,19 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       console.log("qxj handleMsgRecordsClick"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       this.$refs.chatRecords.open(this.qwUser,this.queryParams.conversationId,this.conversationData); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    handleExportMsgClick() {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      let that=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.$confirm('是否确认导出消息记录吗?', "警告", { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            confirmButtonText: "确定", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            cancelButtonText: "取消", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            type: "warning" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }).then(function() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            let queryParams={conversationId:that.queryParams.conversationId} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return exportMessage(queryParams); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }).then(response => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.download(response.msg); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }).catch(function() {}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     //选择图片框确定按钮回调 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     handlePickImageDone(data){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         console.log("handlePickImageDone:"+JSON.stringify(data)); 
			 |