会话存档交互效果
This commit is contained in:
		| @@ -55,7 +55,7 @@ | ||||
|           </ai-download> --> | ||||
|         </div> | ||||
|       </div> | ||||
|       <div class="content-right-info"> | ||||
|       <div class="content-right-info" @scroll='msgScroll'> | ||||
|         <div v-for="(item, index) in msgList" :key="index"> | ||||
|           <div class="item" :class="item.userId == id ? 'item-right' : 'item-left'"> | ||||
|             <!-- <p class="time" v-if="index == 0">{{item.msgSendTime}}</p> --> | ||||
| @@ -147,10 +147,10 @@ | ||||
|         </div> | ||||
|         <AiEmpty v-if="!msgList.length"></AiEmpty> | ||||
|       </div> | ||||
|       <el-pagination class="msg-list-pagination" | ||||
|       <!-- <el-pagination class="msg-list-pagination" | ||||
|         layout="prev, pager, next" | ||||
|         :total="msgTotal" @current-change="msgCurrentChange" :current-page="msgCurrent" :page-size="20"> | ||||
|       </el-pagination> | ||||
|       </el-pagination> --> | ||||
|     </template> | ||||
|   </ai-list> | ||||
| </template> | ||||
| @@ -184,6 +184,7 @@ | ||||
|         leftActiveIndex: 0, | ||||
|         msgCurrent: 1, | ||||
|         msgTotal: 0, | ||||
|         msgPages: 2, | ||||
|         msgList: [], | ||||
|         msgType: 0, | ||||
|         msgTypeList: [ | ||||
| @@ -193,7 +194,7 @@ | ||||
|           {name: '文件', value: 'file'}, | ||||
|         ], | ||||
|         searchMsg: '', | ||||
|         // id: 'LiuYe', | ||||
|         id: 'LiuYe', | ||||
|         id: '' | ||||
|       } | ||||
|     }, | ||||
| @@ -210,6 +211,17 @@ | ||||
|     }, | ||||
|  | ||||
|     methods: { | ||||
|       msgScroll(e) { | ||||
|         if(e.target.scrollTop == 0) { | ||||
|           if(this.msgCurrent > this.msgPages) { | ||||
|             return this.$message('已加载完成,没有更多数据'); | ||||
|           }else { | ||||
|             this.msgCurrent ++ | ||||
|             this.getMsgList() | ||||
|           } | ||||
|         } | ||||
|          | ||||
|       }, | ||||
|       getListInit() { | ||||
|         this.isLoading = true | ||||
|         this.current = 1 | ||||
| @@ -240,9 +252,11 @@ | ||||
|       getMsgListInit() { | ||||
|         this.isLoading = true | ||||
|         this.msgCurrent = 1 | ||||
|         this.msgPages = 2 | ||||
|         this.getMsgList() | ||||
|       }, | ||||
|       getMsgList() { | ||||
|         var preveHeight = document.querySelector('.content-right-info').scrollHeight | ||||
|         this.instance.post(`/app/appsessionarchiveinfo/list`, null, { | ||||
|           params: { | ||||
|             userId: this.id, | ||||
| @@ -264,26 +278,20 @@ | ||||
|               if(item.msgType == 'file') { | ||||
|                 item.files = [{url: item.sdkFileUrl, accessUrl: item.sdkFileUrl, name: item.sdkFileName, fileSizeStr: item.fileSizeStr}] | ||||
|               } | ||||
|  | ||||
|               if(item.msgType == 'location') { | ||||
|                 // const {AMap, map} = this | ||||
|                 // item.map = null | ||||
|                 // this.$load(item.map).then(() => { | ||||
|                 //   // const marker = new AMap.Marker({ | ||||
|                 //   //   position: new AMap.LngLat(item.lng, item.lat), | ||||
|                 //   //   title: item.address | ||||
|                 //   // }) | ||||
|                 //   // item.map.add(marker) | ||||
|                 //   item.map.setZoomAndCenter(item.zoom, [item.lng, item.lat], false, 600) | ||||
|                 //   // item.map.setFitView() | ||||
|                 // }) | ||||
|                 this.initMap(item.lng, item.lat, item.zoom, index) | ||||
|               } | ||||
|             }) | ||||
|             this.msgList = res.data.records | ||||
|             this.msgTotal = res.data.total || 0 | ||||
|             this.msgList = this.msgCurrent > 1 ? [ ...res.data.records, ...this.msgList]: res.data.records | ||||
|             this.msgPages = res.data.pages || 2 | ||||
|             this.$nextTick(() => { | ||||
|               document.querySelector('.content-right-info').scrollTo(0, 999999999) | ||||
|               if(this.msgCurrent == 1) { | ||||
|                 document.querySelector('.content-right-info').scrollTo(0, 999999999) | ||||
|               }else { | ||||
|                 var height = document.querySelector('.content-right-info').scrollHeight - preveHeight | ||||
|                 document.querySelector('.content-right-info').scrollTop = height | ||||
|               } | ||||
|                | ||||
|             }) | ||||
|           } | ||||
|           this.isLoading = false | ||||
| @@ -314,7 +322,6 @@ | ||||
|         this.getMsgListInit() | ||||
|       }, | ||||
|       currentChange(e) { | ||||
|         console.log(e) | ||||
|         this.current = e | ||||
|         this.getList() | ||||
|       }, | ||||
|   | ||||
		Reference in New Issue
	
	Block a user