<template>
    <div v-loading="loading" style="height: 100%">
      <el-table :data="devicePersons" style="width: 100%">
        <el-table-column prop="deviceName" :label="t('iotDevice.name')" />
        <el-table-column prop="deviceCode" :label="t('iotDevice.code')" />
        <el-table-column prop="oldPersonNames" :label="t('deviceStatus.beforePerson')" />
        <el-table-column prop="newPersonNames" :label="t('deviceStatus.afterPerson')" />
        <el-table-column prop="reason" :label="t('configDevice.reasonForAdjustment')"  />
        <el-table-column prop="creatorName" :label="t('deviceStatus.adjuster')" />
        <el-table-column
          :label="t('deviceStatus.adjustTime')"
          align="center"
          prop="createTime"
          width="180"
          :formatter="dateFormatter"
        />
      </el-table>
      <!-- 分页 -->
      <Pagination
        :total="total"
        v-model:page="queryParams.pageNo"
        v-model:limit="queryParams.pageSize"
        @pagination="loadDeviceStatuses(props.deviceId)"
      />
    </div>
  </template>
<script setup lang="ts">

import { ref, watch, defineOptions, defineEmits } from 'vue'
import { ElMessage } from 'element-plus'
import {dateFormatter} from "@/utils/formatTime";
import {DICT_TYPE} from "@/utils/dict";
import {IotDevicePersonLogApi} from "@/api/pms/iotdevicepersonlog";
const { t } = useI18n() // 国际化
defineOptions({
  name: 'DevicePersonLogDrawerDevice'
})

const queryParams = reactive({
  pageNo: 1,
  pageSize: 10,
  createTime: [],
  deviceId: '',
  name: '',
  code: ''
})
const loading = ref(false)
const total = ref(0) // 列表的总页数
const devicePersons = ref([])

const props = defineProps({
  deviceId: Number
})

// 加载设备的状态调整记录
const loadDeviceStatuses = async () => {
  queryParams.deviceId = props.deviceId
  // queryParams.pageNo = 1
  try {
    loading.value = true
    // API调用
    const data = await IotDevicePersonLogApi.getIotDevicePersonLogPage(queryParams)
    devicePersons.value = data.list
    total.value = data.total
  } catch (error) {
    ElMessage.error('数据加载失败')
  } finally {
    loading.value = false
  }
}
onMounted(()=>{
  loadDeviceStatuses()
})
</script>

<style lang="scss" scoped></style>
