FenXiNspUniapp/packDetail1/pages/device/index.vue

354 lines
7.8 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<view class="container">
<view class="liebiaos" v-if="List.length != 0">
<scroll-view :style="{height:scorllheight + 'rpx'}" scroll-y="true" class="scroll-Y" @scrolltolower="lower">
<view class="item_jklist" v-for="(item,index) in List" :key="index">
<view class="itembox_top">
<view class="top_box">
<image src="../../static/sxt.png" mode=""></image>
<view class="title">
{{item.stationName}}
</view>
</view>
</view>
<view class="bot_box">
<view class="bot_left" v-for="(it,i) in item.depUrlArr" :key="i" @click="todetail(it,i,item)">
<view class="botleft_bot">
<view class="">
{{item.depDesArr[i]}}
</view>
</view>
<view class="botleft_top">
<image src="../../static/mrt.png" mode=""></image>
</view>
</view>
</view>
</view>
<view class="load">
<uni-load-more :status="loadStatus"></uni-load-more>
</view>
</scroll-view>
</view>
<view class="zwsj" v-else>
<view class="inzwsj">
<image src="../../static/zwsj.png" mode="" class="zwsjimg"></image>
<view class="zwsjtext">
暂无数据
</view>
</view>
</view>
</view>
</template>
<script>
import api from "@/api/api"
import configService from '@/common/service/config.service.js';
export default {
data() {
return {
height: 0,
scorllheight: 0,
baseUrl: configService.apiUrl,
allNum: '',
isLastpage: '',
intervalId: null,
loadStatus: 'more', //加载样式more-加载前样式loading-加载中样式nomore-没有数据样式
isLoadMore: false, //是否加载中
show: false,
show1: false,
top: 0,
List: [],
pageNo: 1,
pageSize: 4,
token: '',
sxtlist: []
}
},
onLoad() {
uni.getSystemInfo({
success: res => {
var pxToRpxScale = 750 / res.windowWidth
var ktxStatusHeight = res.statusBarHeight * pxToRpxScale
var navigationHeight = 44 * pxToRpxScale
this.height = res.windowHeight * pxToRpxScale //将px 转换rpx
console.log(this.height, ktxStatusHeight, navigationHeight)
this.scorllheight = this.height
}
});
this.getList()
this.getToken()
},
onShow() {
uni.getSystemInfo({
success: res => {
var pxToRpxScale = 750 / res.windowWidth
var ktxStatusHeight = res.statusBarHeight * pxToRpxScale
var navigationHeight = 44 * pxToRpxScale
this.height = res.windowHeight * pxToRpxScale //将px 转换rpx
console.log(this.height, ktxStatusHeight, navigationHeight)
this.scorllheight = this.height
}
});
},
methods: {
getToken() {
this.$http.post('/applet/ysyun/getYsToken').then(res => {
this.token = res.data.data.ysToken
})
},
getList() {
let params = {}
params.pageNo = this.pageNo
params.pageSize = this.pageSize
uni.showLoading({
title: '加载中'
});
this.List = []
this.$http.get('/applet/survDeviceDeploy/list', {
params: params
}).then(res => {
if (res.data.code == 0) {
var data = res.data.data
this.List = this.List.concat(data)
if (data.length != 0) {
this.allNum = Number(data.length) / Number(this.pageSize) + '';
console.log(this.allNum, '总页数')
if (this.allNum.indexOf('.') == -1) {
this.allNum = this.allNum;
console.log(this.allNum, 'if')
} else {
this.allNum = parseInt(Number(this.allNum) + 1);
console.log(this.allNum, 'else')
}
console.log(this.pageNo, this.allNum, '156156')
if (this.pageNo == this.allNum) {
this.isLastpage = true;
this.loadStatus = 'nomore'
console.log(this.isLastpage, 'true', 'nomore')
} else {
this.isLastpage = false;
// this.isLoadMore=true
this.loadStatus = 'more'
console.log(this.isLastpage, 'false')
}
} else {
this.isLastpage = true;
this.loadStatus = 'nomore'
}
}
uni.hideLoading();
this.isRefresher = false
})
},
lower() {
console.log("最后一页了,取消下拉功能");
// 最后一页了,取消下拉功能
if (this.isLastpage) {
return
}
clearInterval(this.intervalId);
var num = 1;
this.intervalId = setInterval(() => {
num = num + 1;
}, 1000)
console.log(this.intervalId, num)
this.pageNo = this.pageNo + 1;
let params = {}
params.pageNo = this.pageNo
params.pageSize = this.pageSize
this.$http.get('/applet/survDeviceDeploy/list', {
params: params
}).then(res => {
if (res.data.code == 0) {
var data = res.data.data
this.List = this.List.concat(data)
if (data.length != 0) {
if (this.pageNo == this.allNum) {
this.isLastpage = true;
this.loadStatus = 'nomore'
console.log(this.isLastpage, 'true')
} else {
this.isLastpage = false;
// this.isLoadMore=true
this.loadStatus = 'more'
console.log(this.isLastpage, 'false')
}
} else {
this.isLastpage = true;
this.loadStatus = 'nomore'
}
}
})
},
todetail(it, i, val) {
let item = it.split('-')
// utils_config.config.h5LinkIp
var obj = {
url: "https://m.ilhzn.cn/#/pages/cameraView/ysyCamera",
deployDes: val.stationName + '-' + val.depDesArr[i],
ysToken: this.token,
deviceIotUrl: item[0]
};
const queryString = Object.keys(obj).map((key) =>
`${encodeURIComponent(key)}=${encodeURIComponent(obj[key])}`).join("&");
const webviewUrl = `/packDetail1/pages/device/index4?${queryString}`;
uni.navigateTo({
url: webviewUrl
});
}
}
}
</script>
<style lang="scss">
page {
height: 100%;
background-color: #fff;
}
.container {
height: 100%;
overflow-y: scroll;
overflow-x: hidden;
}
.bgimg {
width: 100%;
height: 2135rpx;
}
.item_jklist {
padding: 0rpx 20rpx 0rpx;
background-color: #ffffff;
margin-bottom: 15rpx;
}
.item_jklist {
margin-bottom: 0;
}
.itembox_top {
display: flex;
align-items: center;
justify-content: center;
font-size: 28rpx;
padding: 20rpx 0;
color: #8b95ea;
}
.top_box {
display: flex;
align-items: center;
}
.top_box image {
width: 38rpx;
height: 40rpx;
margin-right: 14rpx;
}
.bot_box {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}
.bot_left {
width: 48%;
border: 4rpx solid #f0f0f0;
border-radius: 4rpx;
// margin-top: 30rpx;
// box-shadow: 5px 5px 5px #0000001a;
}
// .bot_left:first-child{
// margin-top: 12rpx;
// }
// .bot_left:nth-child(2){
// margin-top: 12rpx;
// }
.botleft_top {
width: 100%;
height: 214rpx;
}
.botleft_top image {
width: 100%;
height: 100%;
}
.botleft_bot {
padding: 16rpx 0;
display: flex;
align-items: center;
justify-content: center;
font-size: 26rpx;
color: #414141;
border-bottom: 2rpx solid #f0f0f0;
}
.botleft_bot image {
width: 36rpx;
height: 40rpx;
margin-right: 18rpx;
}
.item_jklist1 {
margin-top: 20rpx;
}
.bot_box1 {
height: 464rpx;
border-top-left-radius: 28rpx;
border-top-right-radius: 28rpx;
box-shadow: 5px 5px 5px #0000001a;
}
.botleft_top1 {
width: 100%;
height: 100%;
border-top-left-radius: 28rpx;
border-top-right-radius: 28rpx;
}
.botleft_top1 image {
width: 100%;
height: 100%;
border-top-left-radius: 28rpx;
border-top-right-radius: 28rpx;
}
.load {
height: 100rpx;
line-height: 100rpx;
text-align: center;
color: #c6c6c6;
}
.zwsj {
width: 100%;
height: 100%;
display: flex;
padding: 60% 170rpx 0;
}
.inzwsj {
width: 100%;
}
.zwsjimg {
width: 100%;
height: 224rpx;
margin-bottom: 37rpx;
}
.zwsjtext {
width: 100%;
font-size: 26rpx;
font-family: Source Han Sans SC;
font-weight: 400;
color: #999999;
line-height: 31rpx;
text-align: center;
}
</style>