You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

122 lines
3.4 KiB

<template>
<view class="body-background" :style="{backgroundImage:'url('+staticImage.bodyBackground+')'}"></view>
<view class="app-wallpaper">
<view class="chat-list-container row">
<view v-for="item in chatList" class="chat-list-item-container col-12" :style="{
backgroundImage:'url('+staticImage.chatBgImage+')'
}">
<view class="chat-item-background" @click="chatDetail(item)" :style="{
backgroundImage:'url('+staticImage.chatLTBgImage+')'
}">
<view class="chat-item-content row">
<view class="chat-item-left">
<image class="img" :src="item.avatar" mode="aspectFill"/>
</view>
<view class="chat-item-right">
<view class="chat-item-title-group row">
<view class="chat-item-title">{{item.name}}</view>
<view class="chat-item-time">{{item.create_time}}</view>
</view>
<view class="chat-item-desc">
{{item.info}}
</view>
</view>
</view>
</view>
</view>
<!-- <view class="chat-item-end row">-->
<!-- — 没有更多内容了 —-->
<!-- </view>-->
</view>
<u-loadmore :status="status" fontSize="28"
color="#ACB4B6"
line
line-color="#ACB4B6"
marginBottom="30" marginTop="30" @loadmore="getChatList()"/>
</view>
</template>
<script>
import {
imghost
} from '@/config/host.js'
import HeaderNav from '@/components/HeaderNav/Index.vue';
import FooterNav from '@/components/FooterNav/Index.vue';
import RightNav from '@/components/RightNav/Index.vue';
import MzButton from '@/components/MzButton/Index.vue';
import api from '@/utils/functions.js';
import {chatList} from "@/api/chat";
import {cardList} from "@/api/card";
export default {
components: {
HeaderNav,
FooterNav,
RightNav,
MzButton
},
data() {
return {
title: 'Hello',
loading: true,
staticImage: {
screenActiveImg: imghost + '/static/image/banner.png',
orderCardBackground: imghost + '/static/image/order-card-background.png',
wallpaperBgImage:imghost +'/static/image/background.png',
chatBgImage:imghost +'/static/image/chat-list-background.png',
chatLTBgImage:imghost +'/static/image/chat-list-lt-background.png',
bodyBackground:imghost+'/static/image/background.png'
},
isTop: false,
chatList:[],
status:'loadmore',
page:1,
}
},
mounted() {
this.getChatList();
},
methods: {
chatDetail(item){
uni.navigateTo({
url:'/pages/ChatDetail/index?id='+item.order_service_id
});
},
getChatList(){
if(this.status === 'nomre'){
return false;
}
this.status = 'loading';
chatList(this.page, this.$store.state.userInfo.store_id > 0).then(res => {
this.chatList.push.apply(this.chatList,res.data);
if(res.data.length === 0){
this.status = 'nomore';
}else{
this.status = 'loadmore';
}
this.page++;
})
}
},
onReachBottom() {
this.getChatList();
},
onPageScroll(res) {
if(res.scrollTop <= 20){
uni.$emit('isTop', true);
}else{
uni.$emit('isTop', false);
}
},
created() {
// this.pagePadding = (api.navHeight().navPaddingTop +
// api.navHeight().navHeight + (api.navHeight().headerPadding * 2))
}
}
</script>
<style lang="scss">
@import '@/pages/Index/components/ChatPage/components/index.scss';
</style>