<template>
|
<view class="spare_index">
|
<scroll-view
|
scroll-y="true"
|
class="spare_index_scroll"
|
:scroll-top="scrollTop"
|
refresher-enabled="true"
|
refresher-background="#EAEAEA"
|
:refresher-triggered="triggered"
|
@refresherpulling="refresherrefresh"
|
@scrolltolower="scrolltoLower">
|
<view class="spare_card_index" v-for="(item,index) in bigDevices" :key="index">
|
<view class="spare_card_header">
|
<view class="space_card_header_left">{{item.bigDeviceName}}</view>
|
<view class="space_card_header_right">
|
<view class="space_card_header_btn" @click="tabClick(item,1)">检查</view>
|
<view class="space_card_header_btn" @click="tabClick(item,2)">保养</view>
|
<view class="space_card_header_btn" @click="tabClick(item,3)">维修</view>
|
</view>
|
</view>
|
<view class="spare_card_main">
|
<view class="spare_card_left">
|
<u-image :src="showImage(item.bigNumber)" width="120rpx" height="120rpx"></u-image>
|
</view>
|
<view class="spare_card_right">
|
<view class="spare_card_items">
|
<view class="spare_card_titles">规格型号:</view>
|
<view class="spare_card_datas">{{item.bigDeviceModel}}</view>
|
</view>
|
<view class="spare_card_items">
|
<view class="spare_card_titles">设备编号:</view>
|
<view class="spare_card_datas">{{item.bigNumber}}</view>
|
</view>
|
<view class="spare_card_items">
|
<view class="spare_card_titles">设备类型:</view>
|
<view class="spare_card_datas">{{item.bigTypeName}}</view>
|
</view>
|
<view class="spare_card_items">
|
<view class="spare_card_titles">安装位置:</view>
|
<view class="spare_card_datas">{{item.bigPosition}}</view>
|
</view>
|
<view class="spare_card_items">
|
<view class="spare_card_titles">设备状态:</view>
|
<view class="spare_card_datas" style="color: #1977FF;">{{item.bigState ===1?'在线':item.bigState ===2?'离线':''}}</view>
|
</view>
|
<view class="spare_card_items">
|
<view class="spare_card_titles">操作工人:</view>
|
<view class="spare_card_datas">{{item.realName}}</view>
|
</view>
|
<view class="spare_card_items">
|
<view class="spare_card_titles">生产厂家:</view>
|
<view class="spare_card_datas">{{item.supplierName}}</view>
|
</view>
|
<view class="spare_card_items">
|
<view class="spare_card_titles">使用年限:</view>
|
<view class="spare_card_datas">{{item.useLife}}</view>
|
</view>
|
</view>
|
</view>
|
</view>
|
<u-loadmore :status="status" :icon-type="iconType" :load-text="loadText" />
|
</scroll-view>
|
</view>
|
</template>
|
|
<script>
|
import { basrUrl } from '@/api/http';
|
import { throttle } from '../../plugins/public.js';
|
export default{
|
data(){
|
return{
|
pageNum: 1,
|
pageSize: 10,
|
loadPage: 0,
|
scrollTop: 0,
|
triggered: true,
|
status: 'loading',
|
loadText: {
|
loading: '努力加载中',
|
nomore: '没有更多数据了'
|
},
|
bigDevices:[]
|
}
|
},
|
onLoad() {
|
this.searchBigList()
|
},
|
methods:{
|
//跳转不同的页面
|
tabClick(item,val){
|
switch(val){
|
case 1:
|
uni.navigateTo({
|
url: `./checkDevices?bigDeviceId=${item.bigDeviceId}&bigDeviceModel=${item.bigDeviceModel}&bigDeviceName=${item.bigDeviceName}`
|
})
|
break;
|
case 2:
|
uni.navigateTo({
|
url: `./keepDevices?bigDeviceId=${item.bigDeviceId}&bigDeviceModel=${item.bigDeviceModel}&bigDeviceName=${item.bigDeviceName}`
|
})
|
break;
|
default:
|
uni.navigateTo({
|
url: `./serveDevices?bigDeviceId=${item.bigDeviceId}&bigDeviceModel=${item.bigDeviceModel}&bigDeviceName=${item.bigDeviceName}`
|
})
|
}
|
},
|
//展示图片
|
showImage(val){
|
return `${basrUrl}/materials/steelPrint/test?num=${val}`
|
},
|
//查询列表
|
searchBigList(){
|
this.triggered = true;
|
this.bigDevices = [];
|
let params = {
|
pageNum: this.pageNum,
|
pageSize:this.pageSize,
|
}
|
this.$api.reboSystem.getBigDevicesLists(params).then(res=>{
|
if(res.statusMsg === 'ok'){
|
this.bigDevices = res.data.list
|
this.loadPage = res.data.pages;
|
this.triggered = false;
|
this.status = 'nomore';
|
}else{
|
uni.$u.toast(res.statusMsg);
|
}
|
}).catch((err) => {
|
uni.$u.toast('请检查网络服务或联系管理员!')
|
})
|
},
|
//自定义下拉刷新
|
refresherrefresh: throttle(function() {
|
this.status = 'loading';
|
this.pageNum = 1;
|
this.searchBigList();
|
uni.$u.toast('刷新成功');
|
}, 500),
|
//触底刷新
|
scrolltoLower: throttle(function() {
|
this.status = 'loading';
|
if(this.pageNum >= this.loadPage) {
|
setTimeout(() => {
|
this.status = 'nomore'
|
uni.$u.toast('没有更多数据了');
|
},1000)
|
return
|
} else {
|
this.pageNum+=1
|
let params = {
|
pageNum: this.pageNum,
|
pageSize:this.pageSize,
|
}
|
this.$api.reboSystem.getBigDevicesLists(params).then(res=>{
|
if(res.statusMsg === 'ok'){
|
this.bigDevices.push(...res.data.list)
|
this.loadPage = res.data.pages;
|
this.triggered = false;
|
this.status = 'nomore';
|
}else{
|
uni.$u.toast(res.statusMsg);
|
}
|
}).catch((err) => {
|
uni.$u.toast('请检查网络服务或联系管理员!')
|
})
|
}
|
}, 1500),
|
}
|
}
|
</script>
|
|
<style scoped lang="scss">
|
.spare_index{
|
height: 100vh;
|
padding: 10px 15px;
|
background-color: #F6F6F6;
|
.spare_index_scroll{
|
height: 90%;
|
|
.spare_card_index{
|
height: 280px;
|
background-color: #FFFFFF;
|
border-radius: 6px;
|
margin-bottom: 15px;
|
|
.spare_card_header{
|
display: flex;
|
justify-content: space-between;
|
align-items: center;
|
line-height: 35px;
|
border-bottom: 1px solid #EAEAEA;
|
.space_card_header_left{
|
position: relative;
|
padding-left: 15px;
|
&::before{
|
content: "";
|
position: absolute;
|
width: 3px;
|
height: 16px;
|
background-color: #1977FF;
|
top: 10px;
|
left: 8px;
|
}
|
}
|
.space_card_header_right{
|
display: flex;
|
flex-direction: row;
|
justify-content: space-between;
|
.space_card_header_btn{
|
padding: 2px 8px;
|
border: 1px solid #6AA7FF;
|
color: #1977FF;
|
border-radius: 4px;
|
font-size: 13px;
|
margin-right: 10px;
|
display: flex;
|
justify-content: center;
|
align-items: center;
|
height: 15px;
|
background-color: #EDF4FF;
|
}
|
}
|
}
|
.spare_card_main{
|
display: flex;
|
margin-top: 15px;
|
height: calc(100% - 51px);
|
.spare_card_left{
|
width: 30%;
|
display: flex;
|
justify-content: center;
|
align-items: flex-start;
|
}
|
.spare_card_right{
|
width: 70%;
|
display: flex;
|
flex-direction: column;
|
padding-bottom: 10px;
|
justify-content: space-between;
|
.spare_card_items{
|
display: flex;
|
.spare_card_titles{
|
flex: none;
|
color: #999999;
|
font-size: 15px;
|
}
|
.spare_card_datas{
|
width: 230px;
|
overflow: hidden;
|
text-overflow: ellipsis;
|
white-space: nowrap;
|
color: 333333;
|
font-size: 15px;
|
}
|
}
|
}
|
}
|
}
|
}
|
}
|
</style>
|