巡检接口
This commit is contained in:
@@ -3,41 +3,45 @@
|
||||
<view class="today_inspection_page flex flex-col">
|
||||
<!-- 状态筛选标签 -->
|
||||
<TabsComponents :tabslist="tabslist" @update="handleTabs"></TabsComponents>
|
||||
|
||||
<!-- body -->
|
||||
<view class="inspection_body flex-1">
|
||||
<view class="inspection_body flex-1" v-if="list.length > 0">
|
||||
<view
|
||||
class="inspection_items"
|
||||
v-for="(item, index) in list"
|
||||
:key="index"
|
||||
@tap="gotoInspection(item)"
|
||||
@tap="handleTap(item)"
|
||||
>
|
||||
<view class="title">
|
||||
<text class="subtitle">
|
||||
<i></i>
|
||||
{{ item.address }}
|
||||
{{ item.taskName }}
|
||||
</text>
|
||||
<text class="noactions" v-if="item.status === 0">未巡检</text>
|
||||
<text class="noactions" v-if="!isComputed(item.taskStatus)">未巡检</text>
|
||||
<text class="noactions alaway_actions" v-else>已巡检</text>
|
||||
</view>
|
||||
<view class="inspection_item_box flex">
|
||||
<text class="inspection_item" v-for="(ite, index) in item.item" :key="index">
|
||||
<text class="inspection_item" v-for="(ite, index) in item.itemslist" :key="index">
|
||||
{{ ite }}
|
||||
</text>
|
||||
</view>
|
||||
<view class="inspection_time">
|
||||
<text>巡检时间:</text>
|
||||
<text>{{ item.time }}</text>
|
||||
<text>{{ item.taskTime }}</text>
|
||||
</view>
|
||||
<view class="inspection_time">
|
||||
<text>巡检人:</text>
|
||||
<text>{{ item.user }}</text>
|
||||
<view class="actions" v-if="item.status === 0">
|
||||
<view class="inspection_time flex items-center justify-between">
|
||||
<view class="">
|
||||
<text>巡检人:</text>
|
||||
<text>{{ item.inspectorName }}</text>
|
||||
</view>
|
||||
<view class="actions" v-if="!isComputed(item.taskStatus)">
|
||||
<text>去巡检</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="nodata" v-else>
|
||||
<text>暂无数据</text>
|
||||
</view>
|
||||
</view>
|
||||
<!-- body -->
|
||||
</view>
|
||||
@@ -47,91 +51,103 @@
|
||||
import { ref, computed } from 'vue'
|
||||
import TabsComponents from '@/components/tabs/tabs.vue'
|
||||
import { onShow } from '@dcloudio/uni-app'
|
||||
import { getInspectionList } from '@/api/insepction.js'
|
||||
import { parseTime } from '@/utils/time.js'
|
||||
|
||||
// tabs =========================================================
|
||||
const activeValue = ref(0)
|
||||
const tabslist = ref([
|
||||
{
|
||||
name: '全部',
|
||||
value: 0
|
||||
value: 2
|
||||
},
|
||||
{
|
||||
name: '未巡检',
|
||||
value: 1
|
||||
value: 0
|
||||
},
|
||||
{
|
||||
name: '已巡检',
|
||||
value: 2
|
||||
value: 1
|
||||
}
|
||||
])
|
||||
// 点击事件
|
||||
const handleTabs = (val: number) => {
|
||||
activeValue.value = val
|
||||
queryParmas.value.status = val
|
||||
init()
|
||||
}
|
||||
// tabs =========================================================
|
||||
// body =========================================================
|
||||
const isComputed = (status: string) => {
|
||||
const awaitlist = ['未完成', '待执行', '执行中']
|
||||
return !awaitlist.includes(status)
|
||||
}
|
||||
const list = ref([])
|
||||
const queryParmas = ref({
|
||||
date: '',
|
||||
status: 2,
|
||||
pageNum: 1,
|
||||
pageSize: 10
|
||||
})
|
||||
|
||||
const isLoading = ref(false) // 加载锁
|
||||
const hasMore = ref(true) // 是否还有更多数据
|
||||
const total = ref(0)
|
||||
|
||||
function getlist() {
|
||||
if (isLoading.value || !hasMore.value) return
|
||||
isLoading.value = true
|
||||
uni.showLoading({
|
||||
title: '加载中',
|
||||
mask: true
|
||||
})
|
||||
const { pageNum, pageSize, date, status } = queryParmas.value
|
||||
getInspectionList({
|
||||
pageSize,
|
||||
pageNum,
|
||||
status,
|
||||
date
|
||||
})
|
||||
.then(res => {
|
||||
let items: Set<string> = new Set()
|
||||
res.rows.forEach(item => {
|
||||
if (!item.points || item.points.length <= 0) return
|
||||
item.points.forEach(ite => {
|
||||
ite.itemNames.forEach(it => items.add(it))
|
||||
})
|
||||
item.itemslist = Array.from(items)
|
||||
})
|
||||
list.value = res.rows
|
||||
hasMore.value = list.value.length < res.total
|
||||
total.value = res.total
|
||||
})
|
||||
.finally(() => {
|
||||
isLoading.value = false
|
||||
uni.hideLoading()
|
||||
})
|
||||
}
|
||||
/** 跳转到巡检上传页面 */
|
||||
// 0未巡检 1已巡检
|
||||
const gotoInspection = row => {
|
||||
if (row.status === 0) {
|
||||
function handleTap(ite) {
|
||||
if (isComputed(ite.taskStatus)) {
|
||||
uni.navigateTo({
|
||||
url: '/pageSubPack/inspection/inspection_upload'
|
||||
url: '/pageSubPack/inspection/inspection_main?id=' + ite.id
|
||||
})
|
||||
} else {
|
||||
uni.navigateTo({
|
||||
url: '/pageSubPack/inspection/inspection_main'
|
||||
url: '/pageSubPack/inspection/inspection_upload?id=' + ite.id
|
||||
})
|
||||
}
|
||||
}
|
||||
// body =========================================================
|
||||
const list = ref([
|
||||
{
|
||||
address: '幸福苑小区- B1层地下车库',
|
||||
time: '07:00:00 -09:00:00',
|
||||
item: [
|
||||
'防火设施安全巡检',
|
||||
'防火设施安全巡检',
|
||||
'防火设施安全巡检',
|
||||
'防火设施安全巡检',
|
||||
'防火设施安全巡检'
|
||||
],
|
||||
user: '李相龙',
|
||||
status: 0 // 0未巡检 1已巡检
|
||||
},
|
||||
{
|
||||
address: '幸福苑小区- B2层地下车库',
|
||||
time: '13:00:00 -15:00:00',
|
||||
item: ['设备巡检'],
|
||||
user: '李相龙',
|
||||
status: 1 // 0未巡检 1已巡检
|
||||
},
|
||||
{
|
||||
address: '幸福苑小区- B2层地下车库',
|
||||
time: '13:00:00 -15:00:00',
|
||||
item: ['设备巡检'],
|
||||
user: '李相龙',
|
||||
status: 1 // 0未巡检 1已巡检
|
||||
},
|
||||
{
|
||||
address: '幸福苑小区- B2层地下车库',
|
||||
time: '13:00:00 -15:00:00',
|
||||
item: ['设备巡检'],
|
||||
user: '李相龙',
|
||||
status: 1 // 0未巡检 1已巡检
|
||||
},
|
||||
{
|
||||
address: '幸福苑小区- B2层地下车库',
|
||||
time: '13:00:00 -15:00:00',
|
||||
item: ['设备巡检'],
|
||||
user: '李相龙',
|
||||
status: 1 // 0未巡检 1已巡检
|
||||
}
|
||||
])
|
||||
|
||||
function getInspectionList() {
|
||||
getInspectionList()
|
||||
function init() {
|
||||
hasMore.value = true
|
||||
queryParmas.value.date = parseTime(new Date(), '{y}-{m}-{d}')
|
||||
getlist()
|
||||
}
|
||||
|
||||
onShow(() => getInspectionList())
|
||||
onShow(() => {
|
||||
init()
|
||||
})
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
@@ -259,13 +275,11 @@ onShow(() => getInspectionList())
|
||||
color: #333333;
|
||||
line-height: 36rpx;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.actions {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
|
||||
width: 140rpx;
|
||||
height: 50rpx;
|
||||
background: #4d5dfa;
|
||||
@@ -279,5 +293,12 @@ onShow(() => getInspectionList())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.nodata {
|
||||
color: #ccc;
|
||||
text-align: center;
|
||||
margin-top: 200rpx;
|
||||
letter-spacing: 1rpx;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
Reference in New Issue
Block a user