166 lines
3.9 KiB
Vue
166 lines
3.9 KiB
Vue
|
<template>
|
|||
|
<view class="card-group">
|
|||
|
<view class="card-group" v-if="total === 0">
|
|||
|
<leruge-empty text="暂无数据" type="minus"></leruge-empty>
|
|||
|
</view>
|
|||
|
<view class="cu-card dynamic" v-if="total != 0" v-for="(item,index) in patrolList" :key="index">
|
|||
|
<view class="cu-item shadow" @click="goItem(item.id)">
|
|||
|
<view class="cu-list menu-avatar">
|
|||
|
<view class="cu-item">
|
|||
|
<view class="content flex-sub card-title">
|
|||
|
<view>{{item.equip}}</view>
|
|||
|
<button class="label-btn" size="mini"
|
|||
|
:style="{'background': item.bgColor,'color':item.color}">{{item.nameStatus}}</button>
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
<view class="content-container">
|
|||
|
<view class="text-content">
|
|||
|
<text class="iconfont "></text>
|
|||
|
<text class="text-description">任务编号: {{item.taskNum}}</text>
|
|||
|
</view>
|
|||
|
<view class="text-content">
|
|||
|
<text class="iconfont "></text>
|
|||
|
<text class="text-description">巡检设备: {{item.equip}}</text>
|
|||
|
</view>
|
|||
|
<view class="text-content">
|
|||
|
<text class="iconfont "></text>
|
|||
|
<text class="text-description">任务创建时间: {{item.createTime}}</text>
|
|||
|
</view>
|
|||
|
<view class="text-content">
|
|||
|
<text class="iconfont "></text>
|
|||
|
<text class="text-description">计划完成时间: {{item.planTime}}</text>
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
<view v-if="finished == true" class="loading-tip">{{ tipText }}</view>
|
|||
|
</view>
|
|||
|
</template>
|
|||
|
|
|||
|
<script>
|
|||
|
|
|||
|
import {
|
|||
|
listPatrol
|
|||
|
} from "@/api/patrol/patrol.js"
|
|||
|
|
|||
|
export default {
|
|||
|
data() {
|
|||
|
return {
|
|||
|
finished: false,
|
|||
|
tipText: "正在加载...",
|
|||
|
total: 0,
|
|||
|
patrolList: [],
|
|||
|
queryParams: {
|
|||
|
pageNum: 1,
|
|||
|
pageSize: 10,
|
|||
|
status: null
|
|||
|
},
|
|||
|
}
|
|||
|
},
|
|||
|
onReachBottom() {
|
|||
|
const allTotal = this.queryParams.pageNum * this.queryParams.pageSize;
|
|||
|
if (allTotal < this.total) {
|
|||
|
this.queryParams.pageNum += 1;
|
|||
|
this.getListPatrol();
|
|||
|
} else {
|
|||
|
this.finished = true;
|
|||
|
this.tipText = "已加载完成";
|
|||
|
}
|
|||
|
},
|
|||
|
onShow() {
|
|||
|
this.patrolList = [];
|
|||
|
this.getListPatrol();
|
|||
|
},
|
|||
|
methods: {
|
|||
|
getListPatrol(){
|
|||
|
this.finished = true;
|
|||
|
this.queryParams.status = 1;
|
|||
|
listPatrol(this.queryParams).then((res) =>{
|
|||
|
this.finished = false;
|
|||
|
this.patrolList = this.patrolList.concat(res.rows);
|
|||
|
this.total = res.total;
|
|||
|
this.patrolList.forEach((item) => {
|
|||
|
item.color = "#FFF";
|
|||
|
if (item.type === 1) {
|
|||
|
item.bgColor = "#f1b01a";
|
|||
|
item.nameStatus = "专业巡检"
|
|||
|
} else if (item.type === 0) {
|
|||
|
item.bgColor = "#1771f7";
|
|||
|
item.nameStatus = "定期巡检"
|
|||
|
}
|
|||
|
})
|
|||
|
})
|
|||
|
},
|
|||
|
//前往详情页
|
|||
|
goItem(id) {
|
|||
|
this.$tab.navigateTo("/pages/work/patrol/detailsPatrol?id=" + id);
|
|||
|
},
|
|||
|
}
|
|||
|
}
|
|||
|
</script>
|
|||
|
|
|||
|
<style>
|
|||
|
/* 卡片的样式 start */
|
|||
|
.card-group .cu-card .cu-item {
|
|||
|
box-shadow: rgba(0, 0, 0, 0.08) 0px 0px 3px 1px;
|
|||
|
}
|
|||
|
|
|||
|
.card-group .card-title {
|
|||
|
left: 20px !important;
|
|||
|
color: #333;
|
|||
|
font-weight: 600;
|
|||
|
display: flex;
|
|||
|
justify-content: space-between;
|
|||
|
width: calc(100% - 20px) !important;
|
|||
|
}
|
|||
|
|
|||
|
.card-group .card-title .label-btn {
|
|||
|
margin: 0;
|
|||
|
border-top-right-radius: 0;
|
|||
|
border-bottom-right-radius: 0;
|
|||
|
border-top-left-radius: 16px;
|
|||
|
border-bottom-left-radius: 16px;
|
|||
|
letter-spacing: 1px;
|
|||
|
}
|
|||
|
|
|||
|
.card-group .cu-list.menu-avatar>.cu-item {
|
|||
|
height: 50px;
|
|||
|
}
|
|||
|
|
|||
|
.card-group .cu-list.menu-avatar>.cu-item:after {
|
|||
|
border-bottom: none !important;
|
|||
|
}
|
|||
|
|
|||
|
.card-group .content-container {
|
|||
|
padding-left: 20px;
|
|||
|
color: #909399;
|
|||
|
margin-bottom: 6px;
|
|||
|
}
|
|||
|
|
|||
|
.card-group .content-container .text-content .iconfont {
|
|||
|
font-size: 16px;
|
|||
|
margin-right: 4px;
|
|||
|
}
|
|||
|
|
|||
|
.card-group .content-container .text-content .text-description {
|
|||
|
font-size: 14px;
|
|||
|
}
|
|||
|
|
|||
|
.card-group .text-bottom {
|
|||
|
margin: 0 20px;
|
|||
|
border-top: 1px dotted #aaa;
|
|||
|
padding: 6px 0;
|
|||
|
}
|
|||
|
|
|||
|
/* 卡片的样式 end */
|
|||
|
|
|||
|
/* 下拉加载提示字的样式 end */
|
|||
|
.loading-tip {
|
|||
|
font-size: 12px;
|
|||
|
color: #666;
|
|||
|
padding-bottom: 12px;
|
|||
|
text-align: center;
|
|||
|
}
|
|||
|
</style>
|