From df4e3452ecdc510faa09c7310ba4857ed432553d Mon Sep 17 00:00:00 2001
From: chenyao <1219716595@qq.com>
Date: Sat, 12 Apr 2025 17:47:19 +0800
Subject: [PATCH] Merge branch 'master' of http://139.196.74.78:10010/r/drone/command-center-dashboard
---
src/views/Home/HomeLeft/MachineNestList.vue | 74 ++++++++++++++++++++++++++-----------
1 files changed, 52 insertions(+), 22 deletions(-)
diff --git a/src/views/Home/HomeLeft/MachineNestList.vue b/src/views/Home/HomeLeft/MachineNestList.vue
index 34dc865..f629fd2 100644
--- a/src/views/Home/HomeLeft/MachineNestList.vue
+++ b/src/views/Home/HomeLeft/MachineNestList.vue
@@ -1,11 +1,23 @@
<!-- 机巢详情列表 -->
<template>
<common-title title="机巢概况" text="返回" :style="{ marginLeft: pxToRem(14) }" @details="detailsFun"></common-title>
+
<div class="machine-nest-list">
<MachineNestTotal @searchNickName="handleSearch" />
<div class="content-wrapper">
- <div class="table-list">
- <div :class="[index % 2 ==1 ? 'table-itemeven':'table-item']" v-for="(item,index) in tableList" :key="index">
+ <div
+ class="table-list"
+ v-if="tableList.length > 0"
+ infinite-scroll-distance="6"
+ v-infinite-scroll="loadMore"
+ :infinite-scroll-disabled="busy"
+ infinite-scroll-immediate="true"
+ >
+ <div
+ :class="[index % 2 == 1 ? 'table-itemeven' : 'table-item']"
+ v-for="(item, index) in tableList"
+ :key="index"
+ >
<img src="/src/assets/images/home/homeLeft/machinenestlist-sign.png" alt="" />
<div class="middle">
<div class="title">{{ item.nickname }}</div>
@@ -19,14 +31,17 @@
>个 飞行时长:<span>{{ item.hour }}</span
>h
</div>
- <div class="numbering">23HK1453</div>
</div>
- <div class="right" :class="item.status === 'WORKING' ? 'atcive' : item.status === 'OFFLINE'? 'offine' :'freetime' " @click="signMachineNestClick(item)">
+ <div
+ class="right"
+ :class="item.status === 'WORKING' ? 'atcive' : item.status === 'OFFLINE' ? 'offine' : 'freetime'"
+ @click="signMachineNestClick(item)"
+ >
{{ item.status === 'OFFLINE' ? '离线中' : item.status === 'WORKING' ? '作业中' : '空闲中' }}
</div>
</div>
</div>
- <div class="pagination-container">
+ <!-- <div class="pagination-container">
<el-pagination
v-model:current-page="pageParams.current"
v-model:page-size="pageParams.size"
@@ -37,7 +52,7 @@
@current-change="handleCurrentChange"
background
/>
- </div>
+ </div> -->
</div>
</div>
</template>
@@ -49,7 +64,9 @@
import { useStore } from 'vuex'
const store = useStore()
-
+const isMore = ref(true)
+// 控制加载状态
+const busy = ref(false)
const searchText = ref('')
// 分页参数
const pageParams = ref({
@@ -69,11 +86,18 @@
}
selectDevicePage(params).then(res => {
if (res.data.code !== 0) return
- tableList.value = res.data.data.records
- pageParams.value.total = res.data.data.total
+ if (res.data.data.records.length === 0) return (isMore.value = false)
+ pageParams.value.current += 1
+ tableList.value = [...tableList.value, ...res.data.data.records]
+ busy.value = false
})
}
-
+// 加载更多数据
+const loadMore = async () => {
+ busy.value = true
+ if (!isMore.value) return
+ getTableList()
+}
// 搜索数据
const handleSearch = name => {
searchText.value = name
@@ -129,6 +153,13 @@
font-weight: 500;
font-size: 16px;
color: #fff;
+ // 滚动条
+ &::-webkit-scrollbar {
+ width: 0;
+ display: none;
+ }
+ -ms-overflow-style: none; /* IE and Edge */
+ scrollbar-width: none; /* Firefox */
.table-item {
display: flex;
justify-content: space-between;
@@ -136,7 +167,7 @@
padding-top: 6px;
margin-top: 10px;
- height: 120px;
+ height: 100px;
background: linear-gradient(
90deg,
rgba(0, 122, 255, 0) 0%,
@@ -144,7 +175,7 @@
rgba(0, 73, 153, 0) 100%
);
}
- .table-itemeven {
+ .table-itemeven {
display: flex;
justify-content: space-between;
justify-items: center;
@@ -152,7 +183,6 @@
margin-top: 10px;
height: 120px;
-
}
img {
width: 45px;
@@ -182,15 +212,15 @@
cursor: pointer;
font-size: 16px;
}
- // 离线中
- .offine {
- color: #fff;
- }
- // 空闲中
- .freetime{
- color: #FFA768;
- }
- // 作业中
+ // 离线中
+ .offine {
+ color: #fff;
+ }
+ // 空闲中
+ .freetime {
+ color: #ffa768;
+ }
+ // 作业中
.atcive {
color: #04f020;
background: linear-gradient(90deg, rgba(12, 45, 92, 1) 0%, #154671 50%, rgba(12, 45, 92, 1) 100%),
--
Gitblit v1.9.3