<template>
  <div class="container">
    <Breadcrumb :items="['物联网管理', '设备管理', '设备详情']" />
    <a-card class="general-card" title=" ">
      <a-descriptions v-model="renderData" size="large">
        <template #title><h3 style="margin-top: -15px"><a-button
          class="nav-btn"
          type="outline"
          :shape="'circle'"
          @click="() => $router.go(-1)"
        >
          <icon-undo />
        </a-button>
          设备详情</h3>
        </template>
        <a-descriptions-item label="设备名称">{{renderData.name }}</a-descriptions-item>
        <a-descriptions-item label="硬件版本">{{renderData.hardwareVersion }}</a-descriptions-item>
        <a-descriptions-item label="固件版本">{{renderData.firmwareVersion }}</a-descriptions-item>
        <a-descriptions-item label="所属产品">{{renderData.productId }}</a-descriptions-item>
<!--        <a-descriptions-item label="备注">{{renderData.remark }}</a-descriptions-item>-->
        <a-descriptions-item label="创建时间">{{dayjs(renderData.createTime).format('YYYY-MM-DD HH:mm:ss') }}</a-descriptions-item>
      </a-descriptions>
    </a-card>
    <a-card class="general-card" style="margin-top: 10px">
      <a-tabs :active-key="activeKey"  @tab-click="handleMenuClick" style="padding-top: 20px">
        <a-tab-pane key="1" tab="参数" title="扩展属性">
          <a-table :columns="columns" :data="renderData.extendParams" />
        </a-tab-pane>
        <a-tab-pane key="2" tab="基本信息" title="基本信息">
          基本信息
        </a-tab-pane>
        <a-tab-pane key="3" tab="执行服务" title="执行服务"> 执行服务内容 </a-tab-pane>
      </a-tabs>
    </a-card>
  </div>
</template>

<script lang="ts" setup>
  import dayjs from 'dayjs';
  import { useRoute } from 'vue-router';
  import { onMounted, ref } from 'vue';
  import { queryDeviceDetail } from '@/api/device';

  const route = useRoute();
  const id = Number(route.params.id);
  const columns = [
    {
      title: '参数名称',
      dataIndex: 'name',
      slotName: 'name',
    },
    {
      title: '参数标识',
      dataIndex: 'identifier',
      slotName: 'identifier',
    },
    {
      title: '数据类型',
      dataIndex: 'dataType',
      slotName: 'dataType',
    },
    {
      title: '参数类型',
      dataIndex: 'type',
      slotName: 'type',
    },
  ];
  const activeKey = ref('1');
  const renderData = ref([]);
  const fetchData = async (Id: number) => {
    const res = await queryDeviceDetail(Id);
    renderData.value = res.data;
  };
  const handleMenuClick = (e: any) => {
    activeKey.value = e;
  };
  onMounted(() => {
    fetchData(id);
  });
</script>

<style scoped>
  .container {
    padding: 0 20px 20px 20px;
  }

  h1 {
    font-size: 24px;
    margin-bottom: 10px;
  }

  .meta span {
    margin-right: 20px;
  }

  .attachments li {
    margin-bottom: 10px;
  }

  .attachments a {
    display: flex;
    align-items: center;
    font-size: 14px;
    color: #1890ff;
    text-decoration: none;
  }

  .attachments a:hover {
    text-decoration: underline;
  }
  .nav-btn {
    border-color: rgb(var(--gray-2));
    color: rgb(var(--gray-8));
    font-size: 16px;
  }
</style>