forked from drone/command-center-dashboard

罗广辉
2025-04-21 2800fa4f32f3900509cb4d6eefaf2bfaf54efdd7
src/views/Home/HomeLeft/MachineNestList.vue
@@ -5,38 +5,44 @@
   <div class="machine-nest-list">
      <MachineNestTotal @searchNickName="handleSearch" />
      <div class="content-wrapper">
         <div
         <!-- <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="table-list"
            v-if="tableList.length > 0"
         >
            <div
               :class="[index % 2 === 1 ? 'table-itemeven' : 'table-item']"
               v-for="(item, index) in tableList"
               :key="index"
               :key="index" @click="signMachineNestClick(item)"
            >
               <img src="/src/assets/images/home/homeLeft/machinenestlist-sign.png" alt="" />
               <div class="middle">
                  <div class="title">{{ item.nickname }}</div>
                  <div class="number">
                     飞行次数:<span>{{ item.fly_count }}</span
                     >次 飞行里程:<span>{{ item.flight_mileage }}</span
                     >km
                     飞行次数:
                     <span>{{ item.fly_count }}</span>
                     次 飞行里程:
                     <span>{{ item.flight_mileage }}</span>
                     km
                  </div>
                  <div class="result">
                     任务成果:<span>{{ item.accumulate_data }}</span
                     >个 飞行时长:<span>{{ item.hour }}</span
                     >h
                     任务成果:
                     <span>{{ item.accumulate_data }}</span>
                     个 飞行时长:
                     <span>{{ item.hour }}</span>
                     h
                  </div>
               </div>
               <div
                  class="right"
                  :class="item.status === 'WORKING' ? 'atcive' : item.status === 'OFFLINE' ? 'offine' : 'freetime'"
                  @click="signMachineNestClick(item)"
               >
                  :class="item.status === 'WORKING' ? 'atcive' : item.status === 'OFFLINE' ? 'offine' : 'freetime'">
                  {{ item.status === 'OFFLINE' ? '离线中' : item.status === 'WORKING' ? '作业中' : '空闲中' }}
               </div>
            </div>
@@ -71,7 +77,7 @@
// 分页参数
const pageParams = ref({
   current: 1,
   size: 8,
   size: 99,
   total: 0,
})
@@ -81,14 +87,15 @@
const getTableList = () => {
   const params = {
      nickname: searchText.value,
      current: pageParams.value.current,
      current: 1,
      size: pageParams.value.size,
   }
   selectDevicePage(params).then(res => {
      if (res.data.code !== 0) return
      if (res.data.data.records.length === 0) return (isMore.value = false)
      pageParams.value.current += 1
      tableList.value = [...tableList.value, ...res.data.data.records]
      // pageParams.value.current += 1
      // pageParams.value.size += 8
      tableList.value = res.data.data.records;// [...tableList.value, ...res.data.data.records]
      busy.value = false
   })
}
@@ -103,18 +110,6 @@
   searchText.value = name
   pageParams.value.current = 1
   tableList.value = []
   getTableList()
}
// 分页方法
const handleSizeChange = val => {
   pageParams.value.size = val
   pageParams.value.current = 1
   getTableList()
}
const handleCurrentChange = val => {
   pageParams.value.current = val
   getTableList()
}
@@ -182,7 +177,7 @@
            padding-top: 6px;
            margin-top: 10px;
            height: 120px;
            height: 100px;
         }
         img {
            width: 45px;
@@ -218,13 +213,12 @@
         }
         // 空闲中
         .freetime {
            color: #ffa768;
            color: #04f020;
         }
         // 作业中
         .atcive {
            color: #04f020;
            background: linear-gradient(90deg, rgba(12, 45, 92, 1) 0%, #154671 50%, rgba(12, 45, 92, 1) 100%),
               linear-gradient(90deg, rgba(12, 45, 92, 1) 0%, rgba(12, 45, 92, 1) 50%, rgba(12, 45, 92, 1) 100%);
            color: #ffa768;
         }
         .numbering {
            font-size: 12px;