排查列表加载处理

main
limingtao 11 months ago
parent 25e1156048
commit 2b54d07cc2
  1. 79
      pages/investigation/index.vue

@ -4,8 +4,10 @@
<view class="Content BorderBox Width100"> <view class="Content BorderBox Width100">
<top-title :is-show-left="false" :title="'排查'" :rightWidth='120' class="custom_bg"> <top-title :is-show-left="false" :title="'排查'" :rightWidth='120' class="custom_bg">
<template slot="right"> <template slot="right">
<image :src="$.imgSrc + '/mine/search.png'" @click="$.open('/pages/mine/setting')" mode="aspectFit" class="InlineBlock imgIcon"></image> <image :src="$.imgSrc + '/mine/search.png'" @click="$.open('/pages/mine/setting')"
<image :src="$.imgSrc + '/mine/plus.png'" mode="aspectFit" @click="$.open('/pages/create/create')" class="InlineBlock imgIcon"></image> mode="aspectFit" class="InlineBlock imgIcon"></image>
<image :src="$.imgSrc + '/mine/plus.png'" mode="aspectFit"
@click="$.open('/pages/create/create')" class="InlineBlock imgIcon"></image>
</template> </template>
</top-title> </top-title>
</view> </view>
@ -26,8 +28,8 @@
<view class="Content MarginAuto BorderBox"> <view class="Content MarginAuto BorderBox">
<no-data v-if="isEmpty" /> <no-data v-if="isEmpty" />
<view v-else class="List Width100 BorderBox"> <view v-else class="List Width100 BorderBox">
<view class="Unit FontBold BorderBox Width100 MarginT_30rpx BG_FFFFFF" <view class="Unit FontBold BorderBox Width100 MarginT_30rpx BG_FFFFFF" v-for="(item,index) in list"
v-for="item in list" :key='item.id' @click='handleClick(item)'> :key='item.businessId+index' @click='handleClick(item)'>
<image class="imgleft" :src="item.imgurl || '/static/logo.png'" mode="widthFix"></image> <image class="imgleft" :src="item.imgurl || '/static/logo.png'" mode="widthFix"></image>
<view class="right"> <view class="right">
<view class="title">{{ item.name }}</view> <view class="title">{{ item.name }}</view>
@ -44,6 +46,7 @@
</view> </view>
</view> </view>
</view> </view>
<u-loadmore :status="loadmorestatus" v-show="!isEmpty" />
</view> </view>
</view> </view>
</view> </view>
@ -56,10 +59,12 @@
export default { export default {
// //
components: { components: {
NoData,TopTitle NoData,
TopTitle
}, },
data() { data() {
return { return {
loadmorestatus: 'loading',
showNumber: true, showNumber: true,
// js // js
bgUrl1: '', // bgUrl1: '', //
@ -74,13 +79,15 @@
Finished: 0, Finished: 0,
Unconfirmed: 0, Unconfirmed: 0,
}, },
status: '0' status: '0',
} }
}, },
// //
onLoad(e) { onLoad(e) {
}, },
onShow: function() { onShow: function() {
this.getData() this.getData()
this.getList() this.getList()
@ -97,6 +104,7 @@
this.tab = tab; this.tab = tab;
this.page = 1; this.page = 1;
this.list = []; this.list = [];
this.isMore = true
switch (tab) { switch (tab) {
case 1: case 1:
this.status = '0'; this.status = '0';
@ -111,9 +119,11 @@
this.getList() this.getList()
}, },
getData() { getData() {
this.$request.globalRequest('/hiddenDanger/highDanger/getHighDangerStatusNum', { nuserid: this.$.getData('token') }, 'GET').then(res => { this.$request.globalRequest('/hiddenDanger/highDanger/getHighDangerStatusNum', {
nuserid: this.$.getData('token')
}, 'GET').then(res => {
if (res.code === 200) { if (res.code === 200) {
console.log(res.result) // console.log(res.result)
res.result.forEach(item => { res.result.forEach(item => {
this.totalData[item.status] = item.count this.totalData[item.status] = item.count
}) })
@ -122,16 +132,18 @@
} }
}) })
}, },
getList(v) { getList() {
let datas = { let datas = {
nuserid: this.$.getData('token'), nuserid: this.$.getData('token'),
status: this.status, status: this.status,
} }
this.$request.globalRequest(`/hiddenDanger/highDanger/getHigDangerDealt?pageNum=${this.page}&pageSize=${10}`, datas, 'POST').then(res => { this.loadmorestatus = 'loading'
this.$request.globalRequest(
`/hiddenDanger/highDanger/getHigDangerDealt?pageNum=${this.page}&pageSize=${10}`, datas, 'POST')
.then(res => {
this.loadmorestatus = 'loadmore'
uni.stopPullDownRefresh();
if (res.code === 200) { if (res.code === 200) {
if(v){
this.list = []
}
if (res.result.total === 0) { if (res.result.total === 0) {
this.isEmpty = true; this.isEmpty = true;
} else { } else {
@ -139,13 +151,15 @@
this.list.push(...res.result.list) this.list.push(...res.result.list)
} }
if (this.list.length >= res.result.total) { if (this.list.length >= res.result.total) {
this.loadmorestatus = 'nomore'
this.isMore = false this.isMore = false
} else {
this.isMore = true
} }
} else { } else {
this.$.toast(res.message) this.$.toast(res.message)
} }
}).catch((err) => {
this.loadmorestatus = 'nomore'
uni.stopPullDownRefresh();
}) })
}, },
handleClick(row) { handleClick(row) {
@ -164,12 +178,14 @@
}, },
// //
onPullDownRefresh() { onPullDownRefresh() {
this.page = 1;
this.list = [];
this.isMore = true
this.getList()
// //
setTimeout(() => { // setTimeout(() => {
uni.stopPullDownRefresh(); // uni.stopPullDownRefresh();
this.page = 1 // }, 1500);
this.getList('onPullDownRefresh')
}, 1500);
}, },
// //
onReachBottom() { onReachBottom() {
@ -187,18 +203,22 @@
page { page {
background: #F6F8FA; background: #F6F8FA;
} }
.imgIcon { .imgIcon {
width: 40rpx; width: 40rpx;
height: 100%; height: 100%;
} }
.imgIcon:nth-of-type(2) { .imgIcon:nth-of-type(2) {
margin-left: 40rpx; margin-left: 40rpx;
} }
.img { .img {
width: 40rpx; width: 40rpx;
height: 40rpx; height: 40rpx;
margin-left: 30rpx; margin-left: 30rpx;
} }
.trapezoidal { .trapezoidal {
position: relative; position: relative;
display: inline-block; display: inline-block;
@ -232,7 +252,9 @@
background-color: #FF1111; background-color: #FF1111;
border-left: 0 none; border-left: 0 none;
} }
.lin::before,.lin::after {
.lin::before,
.lin::after {
background-color: #E68A0B; background-color: #E68A0B;
} }
@ -245,7 +267,11 @@
background: #ffffff; background: #ffffff;
box-shadow: 3px 0px 10px #ccc; box-shadow: 3px 0px 10px #ccc;
color: #666666; color: #666666;
position: relative; position: sticky;
// top: var(--status-bar-height + 88rpx);
top: calc(var(--status-bar-height ) + 88rpx);
z-index: 10;
.tab-item { .tab-item {
position: relative; position: relative;
height: 41px; height: 41px;
@ -254,10 +280,12 @@
border-bottom: 3px solid #fff; border-bottom: 3px solid #fff;
display: flex; display: flex;
align-items: center; align-items: center;
&.active { &.active {
color: rgb(60, 109, 195); color: rgb(60, 109, 195);
border-color: rgb(60, 109, 195); border-color: rgb(60, 109, 195);
} }
.number { .number {
font-weight: bold; font-weight: bold;
font-size: 18px; font-size: 18px;
@ -268,6 +296,7 @@
.Box { .Box {
padding-top: var(--status-bar-height); padding-top: var(--status-bar-height);
.Content { .Content {
width: calc(100% - 48rpx); width: calc(100% - 48rpx);
padding-bottom: 88rpx; padding-bottom: 88rpx;
@ -280,6 +309,7 @@
align-items: center; align-items: center;
position: relative; position: relative;
box-shadow: 1px 1px 3px #ccc; box-shadow: 1px 1px 3px #ccc;
.trapezoidal { .trapezoidal {
position: absolute; position: absolute;
top: -0px; top: -0px;
@ -289,19 +319,24 @@
font-weight: normal; font-weight: normal;
z-index: 1; z-index: 1;
} }
image { image {
width: 200rpx; width: 200rpx;
} }
.right { .right {
flex: 1; flex: 1;
padding-left: 30rpx; padding-left: 30rpx;
.title { .title {
font-size: 16px; font-size: 16px;
} }
.type { .type {
font-size: 14px; font-size: 14px;
color: #666; color: #666;
font-weight: normal; font-weight: normal;
text { text {
margin-right: 20rpx; margin-right: 20rpx;
} }

Loading…
Cancel
Save