|
|
@@ -1,33 +1,36 @@
|
|
|
<template>
|
|
|
<view class="details_box" :style="'height:' + phoneHeight + 'px'">
|
|
|
+
|
|
|
<!-- 对话列表 -->
|
|
|
- <view class="details_ul" id="msgBox">
|
|
|
- <view class="details_list" v-for="item in msg_list">
|
|
|
- <!-- me -->
|
|
|
- <view class="list_msgBox1" v-if="item.is_right == true">
|
|
|
- <view class="list_msgText">
|
|
|
- {{ item.msg_info }}
|
|
|
- </view>
|
|
|
- <view class="list_triangle"></view>
|
|
|
- <view class="list_img">
|
|
|
- <image src="../../static/image/7.png" mode=""></image>
|
|
|
+ <scroll-view id="scrollview" class="chat-window" scroll-y="true" :scroll-with-animation="true"
|
|
|
+ :scroll-top="scrollTop" @scrolltolower="lower">
|
|
|
+ <view class="details_ul" id="msgBox">
|
|
|
+ <view class="details_list" v-for="item in msg_list">
|
|
|
+ <!-- me -->
|
|
|
+ <view class="list_msgBox1" v-if="item.is_right == true">
|
|
|
+ <view class="list_msgText">
|
|
|
+ {{ item.msg_info }}
|
|
|
+ </view>
|
|
|
+ <view class="list_triangle"></view>
|
|
|
+ <view class="list_img">
|
|
|
+ <image src="../../static/image/7.png" mode=""></image>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
- </view>
|
|
|
|
|
|
- <!-- you -->
|
|
|
- <view class="list_msgBox2" v-if="item.is_right == false">
|
|
|
- <view class="list_img">
|
|
|
- <image src="../../static/image/6.png" mode=""></image>
|
|
|
- </view>
|
|
|
- <view class="list_triangle"></view>
|
|
|
- <view class="list_msgText">
|
|
|
- {{ item.msg_info }}
|
|
|
+ <!-- you -->
|
|
|
+ <view class="list_msgBox2" v-if="item.is_right == false">
|
|
|
+ <view class="list_img">
|
|
|
+ <image src="../../static/image/6.png" mode=""></image>
|
|
|
+ </view>
|
|
|
+ <view class="list_triangle"></view>
|
|
|
+ <view class="list_msgText">
|
|
|
+ {{ item.msg_info }}
|
|
|
+ </view>
|
|
|
</view>
|
|
|
</view>
|
|
|
- </view>
|
|
|
-
|
|
|
- </view>
|
|
|
|
|
|
+ </view>
|
|
|
+ </scroll-view>
|
|
|
<!-- input输入框 -->
|
|
|
<u--input type="text" class="details_input" maxlength="200" confirm-type="send" @confirm="search()"
|
|
|
placeholder="请输入内容" border="surround" v-model="value" @change="sendChange"></u--input>
|
|
|
@@ -38,7 +41,7 @@
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
- import store from '@/store/index.js';//需要引入store
|
|
|
+ import store from '@/store/index.js'; //需要引入store
|
|
|
let App = getApp();
|
|
|
var API = App.globalData.socketTask;
|
|
|
export default {
|
|
|
@@ -52,17 +55,33 @@
|
|
|
|
|
|
// 警告提示
|
|
|
show: false,
|
|
|
+
|
|
|
+ // 聊天页面时时滚动样式
|
|
|
+ // style: {
|
|
|
+ // pageHeight: 0,
|
|
|
+ // contentViewHeight: 0,
|
|
|
+ // footViewHeight: 90,
|
|
|
+ // mitemHeight: 0
|
|
|
+ // },
|
|
|
+ scrollTop: 0,
|
|
|
}
|
|
|
},
|
|
|
watch: {
|
|
|
msg_list(val) {
|
|
|
// 实现打开聊天框后滚动条定位到最下方
|
|
|
- this.$nextTick(() => {
|
|
|
- var div = document.getElementById("msgBox");
|
|
|
- div.scrollTop = div.scrollHeight;
|
|
|
- });
|
|
|
+ // this.$nextTick(() => {
|
|
|
+ // // var div = document.getElementById("msgBox");
|
|
|
+ // // div.scrollTop = div.scrollHeight;
|
|
|
+ // // console.log(div.scrollHeight)
|
|
|
+
|
|
|
+ // // const query = uni.createSelectorQuery().in(this);
|
|
|
+ // // query.select('.details_ul').boundingClientRect(data => {
|
|
|
+ // // console.log(data)
|
|
|
+ // // }).exec();
|
|
|
+ // });
|
|
|
+
|
|
|
},
|
|
|
-
|
|
|
+
|
|
|
listData(news, old) {
|
|
|
// console.log(news, old)
|
|
|
for (var i = 0; i < news.length; i++) {
|
|
|
@@ -71,13 +90,13 @@
|
|
|
this.msg_list = news[i].msg_list.reverse();
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
},
|
|
|
- computed:{
|
|
|
- listData () {
|
|
|
- return store.state.list
|
|
|
+ computed: {
|
|
|
+ listData() {
|
|
|
+ return store.state.list
|
|
|
},
|
|
|
},
|
|
|
onLoad(options) {
|
|
|
@@ -142,8 +161,16 @@
|
|
|
},
|
|
|
});
|
|
|
},
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ lower(e) {
|
|
|
+ console.log(e)
|
|
|
+ },
|
|
|
},
|
|
|
|
|
|
+
|
|
|
+
|
|
|
onReady() {
|
|
|
// 修改头部标题栏
|
|
|
uni.setNavigationBarTitle({
|
|
|
@@ -234,12 +261,13 @@
|
|
|
.details_input {
|
|
|
border: 0;
|
|
|
border-top: 1px solid #eaeaea;
|
|
|
- position: absolute;
|
|
|
+ position: fixed;
|
|
|
bottom: 0;
|
|
|
left: 0;
|
|
|
width: 96%;
|
|
|
height: 90rpx;
|
|
|
border-radius: 0;
|
|
|
+ background: #fff;
|
|
|
}
|
|
|
}
|
|
|
</style>
|