<template>
  <div class="menu-content">
    <div class="container">
      <div class="gradient-text title">机动无人机</div>
      <!--    <div class="box2">-->
      <div class="box-left">
        <el-input v-model="queryParams.keywords" class="custom-input" placeholder="搜索" @input="initData">
          <template #prefix>
            <el-icon class="el-input__icon"><search /></el-icon>
          </template>
        </el-input>
        <div class="btn" @click="handleCancel">取消</div>
      </div>
    </div>
    <div class="flex-container">
      <div class="text-item">机动无人机</div>
      <div class="button-item common-btn-primary2 edit-icon" @click="showMoreVideos">全部播放</div>
    </div>
    <div class="custom-table">
      <div class="th">
        <div class="td">机动无人机</div>
<!--        <div class="td" style="width: 220px; flex: unset">操作</div>-->
      </div>
      <div class="table-content">
        <div v-for="item in dataList" :key="item.id" class="tr">
          <div class="td">{{ item.drone_name }}</div>
<!--          <div class="td" style="width: 220px; flex: unset">-->
<!--            <div class="text" @click="handleConnect(index, item)">视频</div>-->
<!--&lt;!&ndash;            <div class="text" @click="handleCollaborate(index, item)">协同</div>&ndash;&gt;-->
<!--            <div class="text" @click="handleTrack(item)">轨迹</div>-->
<!--          </div>-->
        </div>
      </div>
      <div class="footer">
        <el-pagination
          background
          :hide-on-single-page="true"
          layout="total, prev, pager, next"
          :total="total"
          :page-size="queryParams.size"
          :current-current="queryParams.current"
          @current-change="handleChangePage"
        />
      </div>
    </div>
  </div>
</template>

<script setup lang="ts">
import { Search } from '@element-plus/icons-vue';
import { onMounted, reactive } from 'vue';
import { getDroneResourcesList, getDroneResourcesTrajectory, getDroneResourcesVideo } from '@/api/globalMap/MobileUnmannedVehicle';
const getDataMethod = ref(null);
const showMoreVideos = () => {
  getDataMethod.value = () => getDroneResourcesVideo(id);
};
const trackPlayback = inject('trackPlayback');
// 数据列表,直接定义为数组
const dataList = ref([]);
//入参
const queryParams = reactive({
  current: 1,
  size: 10,
  keywords: ''
});
const total = ref(0);
//调接口
const initData = () => {
  getDroneResourcesList({
    current: queryParams.current,
    size: queryParams.size,
    query: {
      keywords: queryParams.keywords
    }
  }).then((res) => {
    dataList.value = res.rows;
    total.value = res.total;
  });
};

const handleChangePage = (newNum) => {
  queryParams.current = newNum;
  initData();
};

// 取消按钮的逻辑，搜索框清空并重新加载数据
const handleCancel = () => {
  queryParams.keywords = '';
  queryParams.current = 1;
  initData();
};
const handleConnect = () => {};
const handleCollaborate = () => {};
// 轨迹
const handleTrack = (item) => {
  getDroneResourcesTrajectory(item.id).then((res) => {
    const trajectory = [];
    res.rows.forEach((item) => {
      trajectory.push([item.longitude, item.latitude]);
    });
    trackPlayback(trajectory);
  });
};
//调用函数
onMounted(() => {
  initData();
});
</script>

<style lang="scss" scoped>
.menu-content {
  width: 1579px;
  height: 1394px;
  background: url('@/assets/images/map/rightMenu/content.png') no-repeat;
  padding: 130px 20px 20px 20px;
  font-size: 36px;
  position: relative;
  color: #ffffff;
}
.title {
  font-size: 60px;
  position: absolute;
  top: 30px;
  left: 160px;
}

.box-left {
  display: flex;
  margin-top: 30px;
  margin-bottom: 20px;
  .btn {
    width: 140px;
    min-width: 140px;
    height: 60px;
    background: url('@/assets/images/map/rightMenu/potentialFloodHazard/btn.png') no-repeat;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    margin-left: 20px;
    color: #ffffff;
    font-size: 32px;
  }
}

.custom-input {
  height: 60px;
  line-height: 40px;
}

.custom-table {
  width: 100%;
  height: 1015px;
  display: flex;
  flex-direction: column;
  .table-content {
    flex: 1;
    overflow-y: auto;
  }
  .th {
    width: 100%;
    height: 151px;
    background: url('@/assets/images/map/rightMenu/th.png') no-repeat;
    background-size: 100% 100%;
    display: flex;
  }
  .tr {
    width: 100%;
    height: 139px;
    background: url('@/assets/images/map/rightMenu/td.png') no-repeat;
    background-size: 100% 100%;
    display: flex;
    padding-right: 20px;
    &:hover {
      background: url('@/assets/images/map/rightMenu/td_checked.png') no-repeat;
      background-size: 100% 100%;
    }
  }
  .td {
    flex: 1;
    color: #edfaff;
    font-size: 38px;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
  }
  .td-text {
    /* 设置字体透明 */
    color: transparent;
    /* 使用 -webkit-background-clip 属性将背景剪裁至文本形状 */
    -webkit-background-clip: text;
    /* 非Webkit内核浏览器需要使用标准前缀 */
    background-clip: text;
    font-family: 'YouSheBiaoTiHei';
    /* 设置线性渐变，从红色渐变到蓝色 */
    background-image: linear-gradient(to bottom, #ffffff 50%, #3075d3 100%);
    font-size: 48px;
  }
  .text-green {
    background-image: linear-gradient(to bottom, #ffffff 50%, #40c75f 100%);
  }
  .text-danger {
    background-image: linear-gradient(to bottom, #ffffff 50%, #ff2f3c 100%);
  }
}
.text {
  font-size: 38px;
  color: #00e8ff;
  margin-right: 20px;
  &:last-child {
    margin-right: 0;
  }
}

.flex-container {
  display: flex;
  justify-content: space-between; /* 左右两端对齐 */
  align-items: center; /* 垂直居中对齐 */
  margin: 15px 0;
}
.text-item {
  font-size: 32px; /* 根据需要设置字体大小 */
  line-height: 1; /* 确保行高一致 */
}

.button-item {
  font-size: 32px; /* 根据需要设置字体大小 */
  line-height: 1; /* 确保行高一致 */
}
.footer {
  height: 64px;
  display: flex;
  justify-content: flex-end;
  margin-top: 25px;
  .pagination-container {
    height: 64px;
    margin: 0;
  }
  :deep(.el-pagination__total) {
    color: #a7ccdf;
    font-size: 32px;
  }
  :deep(.el-pagination) {
    .btn-next,
    .btn-prev {
      background-color: transparent;
      border: none;
      .el-icon {
        font-size: 22px;
        color: #a7ccdf;
      }
    }
    .btn-prev:disabled,
    .btn-next:disabled {
      background-color: transparent;
      border: none;
    }
    .el-pager li {
      width: 64px;
      height: 64px;
      line-height: 64px;
      text-align: center;
      font-size: 38px;
      color: #a7ccdf;
      background-color: #0e3064;
      border: 1px solid #0c57a7;
      margin: 0 6px;
      &:hover {
        background-color: #038dff;
        border: 1px solid #038dff;
      }
    }
    .el-pager li.is-active {
      background-color: #038dff;
      border: 1px solid #038dff;
    }
    .el-pagination__goto {
      font-size: 38px;
      color: #a7ccdf;
    }
  }
}
</style>
