From 53fd55bdf6544ae9c2697e460766ce2d53044dbe Mon Sep 17 00:00:00 2001 From: zhangxiao <898441624@qq.com> Date: 星期一, 26 八月 2024 14:54:26 +0800 Subject: [PATCH] fix: 修改bug --- src/views/sessionManager/components/historySession.vue | 146 +++++++++++++++++++++++++++++------------------- 1 files changed, 87 insertions(+), 59 deletions(-) diff --git a/src/views/sessionManager/components/historySession.vue b/src/views/sessionManager/components/historySession.vue index 24ef4e3..f74ed54 100644 --- a/src/views/sessionManager/components/historySession.vue +++ b/src/views/sessionManager/components/historySession.vue @@ -22,9 +22,11 @@ class="left-list" style=" height: calc(100vh - 160px); - overflow-y: auto; + overflow-y: scroll; overflow-x: hidden; " + v-if="isReached" + @scroll="handleScroll" > <div class="historyTitle___F_iam">鍘嗗彶浼氳瘽</div> @@ -116,6 +118,15 @@ const scrollRef = ref(null); const httpUrl = localStorage.getItem('httpUrl'); const imgSrc = ref(logo); +let scrollTopVal = ref(0); +let queryPage = reactive({ + page: 1, + page_size: 50 +}) +let total = ref(0); +let sessionScrollList = ref([]); +let isReached = ref(true); + const DialogList = async () => { const { code, data } = await getDialogListApi(); if (code === 200) { @@ -167,8 +178,7 @@ const querySessionList = async (id) => { const { code, data } = await sessionListApiPage({ dialog_id: id, - page: 1, - page_size: 100 + ...queryPage }); if (code === 200) { sessionList.value = data.map((item) => { @@ -177,7 +187,11 @@ showtype: 1 } }); - + isReached.value = false; + setTimeout(()=>{ + isReached.value = true; + },100) + // total.value = sessionList.value.length; } else { @@ -206,34 +220,25 @@ const querySessionDetail = async (session) => { console.log(session, 'session'); - - - // 鏌ヨ鍘嗗彶璁板綍 - if (session.base == 'agent') { - // agent瀵硅薄鏁版嵁灏佽 - // const { code, data } = await getAgentSessionDetailsApi(session.app_id); - // if (code == 0) { - // console.log(data,'浼氳瘽璇︽儏'); - // let sessionObj = { - // id: session.app_id, - // dsl: data.dsl, - // title: session.name, - // } - // - // } - EventBus.emit("queryAgentSessionDetail",{ - ...sessionObj, - id: session.app_id, - }); - emit('changeAgentType','2'); - } else { + // 鏌ヨ鍘嗗彶璁板綍 app_type 1:鏅鸿兘浣� 2:agent + if (!session.base) { // 鐢熸垚鏅鸿兘浣撴柊鐨勫璇� emit('changeAgentType','1'); emit('querySessionDetail',session); + } else if (session.base == 'agent'){ + // agent瀵硅薄鏁版嵁灏佽 + // const { code, data } = await getAgentSessionDetailsApi(session.dialog_id); + // if (code == 0) { + // console.log(data,'浼氳瘽璇︽儏'); + // // let sessionObj = { + // // id: session.app_id, + // // dsl: data.dsl, + // // title: session.name, + // // } + // } + EventBus.emit("queryAgentSessionDetail",session); + emit('changeAgentType','2'); } - - - } @@ -247,25 +252,53 @@ const handleScroll = async (e: any) => { - // scrollTopVal.value = e.target.scrollTop - // let offsetHeight = e.target.offsetHeight - // let scrollHeight = e.target.scrollHeight - // - // if (scrollTopVal.value + offsetHeight >= scrollHeight) { - // //婊氬姩鏉″埌杈惧簳閮� - // if (cardData.value.length < total.value) { - // //鏁版嵁涓哄姞杞藉畬锛岀户缁祴鍊� - // serarchData.pageNum++ - // - // - // - // } - // } -} + scrollTopVal.value = e.target.scrollTop; + let offsetHeight = e.target.offsetHeight; + let scrollHeight = e.target.scrollHeight; -const loading: any = computed(() => { - // cardData.value.length >= total.value -}) + if (scrollTopVal.value + offsetHeight >= scrollHeight-1) { + console.log(scrollTopVal.value); + // console.log(offsetHeight); + // console.log(scrollHeight); + //婊氬姩鏉″埌杈惧簳閮� + // if (sessionList.value.length < total.value) { + // //鏁版嵁涓哄姞杞藉畬锛岀户缁祴鍊� + // // queryPage.page++ + // + // + // + // } + queryPage.page++ + const { code, data } = await sessionListApiPage({ + dialog_id: '', + ...queryPage + }); + if (code === 200) { + sessionScrollList.value = data.map((item) => { + return { + ...item, + showtype: 1 + } + }); + // total.value = sessionList.value.length; + sessionList.value = [...sessionList.value,...sessionScrollList.value]; + isReached.value = false; + setTimeout(()=>{ + isReached.value = true; + nextTick(()=>{ + scrollRef.value.scrollTop(scrollTopVal.value); + // console.log(scrollRef.value.$el.scrollTop,'scrollTopVal'); + // console.log(scrollTopVal.value,'scrollTopVal'); + }) + },100) + + + } else { + Message.warning("鏌ヨ澶辫触"); + } + + } +} @@ -275,26 +308,21 @@ }) onMounted(() => { + console.log(httpUrl,'褰撳墠鍦板潃'); EventBus.on("history", () => { emit('changeAgentType','3'); // DialogList() + queryPage.page = 1; querySessionList(''); }); + // 娣诲姞婊氬姩浜嬩欢鐩戝惉鍣� + scrollRef.value.$el.addEventListener('scroll', handleScroll); -// 缁欏厓绱犳坊鍔犳粴鍔ㄤ簨浠剁洃鍚� -// if (scrollRef.value) { -// // 缁欏厓绱犳坊鍔犳粴鍔ㄧ洃鍚櫒 -// -// scrollRef.value.addEventListener('scroll', handleScroll, true) -// -// // 濡傛灉浣犻渶瑕佸湪缁勪欢鍗歌浇鏃剁Щ闄ょ洃鍚櫒锛屽彲浠ヨ繑鍥炰竴涓竻鐞嗗嚱鏁� -// return () => { -// scrollRef.value.removeEventListener('scroll', handleScroll, true) -// } -// } - - + // 娓呯悊鍑芥暟 + return () => { + scrollRef.value.$el.removeEventListener('scroll', handleScroll); + }; -- Gitblit v1.8.0