Files
safePower/src/view/equipment/particulars/index.vue

157 lines
5.1 KiB
Vue
Raw Normal View History

2026-05-27 11:25:13 +08:00
<template>
<div>
<!-- <warning-bar title="注:右上角头像下拉可切换角色" /> -->
<div class="gva-search-box">
<el-form ref="searchForm" :inline="true" :model="searchInfo">
<el-form-item label="设备状态">
<!-- <el-select v-model="searchInfo.deviceStatus" placeholder="请选择">
<el-option label="合闸" :value="1" />
<el-option label="分闸" :value="0" />
</el-select> -->
</el-form-item>
<el-form-item>
<el-button type="primary" icon="search" @click="onSubmit"> 查询 </el-button>
<el-button icon="refresh" @click="onReset"> 重置 </el-button>
</el-form-item>
</el-form>
</div>
<div class="gva-table-box">
<div class="gva-btn-list">
<!-- <el-button type="primary" icon="plus" @click="addUser">新增用户</el-button> -->
</div>
<el-table :data="tableData" row-key="ID">
2026-06-01 10:59:15 +08:00
<el-table-column align="left" label="设备ID" prop="deviceId"> </el-table-column>
2026-05-27 15:00:38 +08:00
<el-table-column align="left" label="运行时长" prop="runtime">
<template #default="{ row }">
2026-06-01 10:59:15 +08:00
<span>{{ row.runtime || '' }}</span>
2026-05-27 15:00:38 +08:00
</template>
</el-table-column>
<el-table-column align="left" label="信号质量" prop="signalQuality">
<template #default="{ row }">
{{ row.signalQuality || '' }}
</template>
</el-table-column>
2026-06-01 10:59:15 +08:00
<el-table-column align="left" label="电压V" prop="leakageCurrent">
2026-05-27 15:00:38 +08:00
<template #default="{ row }">
{{ row.leakageCurrent || '' }}
</template>
</el-table-column>
2026-06-01 10:59:15 +08:00
<el-table-column align="left" label="漏电流值mA" prop="leakageCurrent">
2026-05-27 15:00:38 +08:00
<template #default="{ row }">
2026-06-01 10:59:15 +08:00
{{ row.leakageCurrent || '' }}
2026-05-27 15:00:38 +08:00
</template>
</el-table-column>
2026-06-01 10:59:15 +08:00
<el-table-column align="left" label="累计用电量" prop="cumulativeElectricity">
2026-05-27 15:00:38 +08:00
<template #default="{ row }">
2026-06-01 10:59:15 +08:00
{{ row.cumulativeElectricity || '' }}
2026-05-27 15:00:38 +08:00
</template>
</el-table-column>
2026-06-01 10:59:15 +08:00
<el-table-column align="left" label="电流值A" prop="current">
2026-05-27 15:00:38 +08:00
<template #default="{ row }">
2026-06-01 10:59:15 +08:00
{{ row.current || '' }}
2026-05-27 15:00:38 +08:00
</template>
</el-table-column>
2026-06-01 10:59:15 +08:00
<el-table-column align="left" label="内部温度(℃)" prop="internalTemperature">
2026-05-27 15:00:38 +08:00
<template #default="{ row }">
{{ row.internalTemperature || '' }}
</template>
</el-table-column>
2026-06-01 10:59:15 +08:00
<el-table-column align="left" label="N相下端温度" prop="nLowerTemperature">
2026-05-27 15:00:38 +08:00
<template #default="{ row }">
{{ row.nLowerTemperature || '' }}
</template>
</el-table-column>
2026-06-01 10:59:15 +08:00
<el-table-column align="left" label="功率因数(%" prop="powerFactor">
2026-05-27 15:00:38 +08:00
<template #default="{ row }">
{{ row.powerFactor || '' }}
</template>
</el-table-column>
2026-05-27 11:25:13 +08:00
<el-table-column label="操作" fixed="right">
2026-06-01 10:59:15 +08:00
<template #default="{ row }">
2026-05-27 11:25:13 +08:00
<!-- <el-button type="primary" link icon="delete" @click="deleteUserFunc(scope.row)">删除</el-button> -->
2026-06-01 10:59:15 +08:00
<!-- <el-button type="primary" link icon="Tickets" @click="openDetails(row)">查看</el-button> -->
2026-05-27 11:25:13 +08:00
</template>
</el-table-column>
</el-table>
<div class="gva-pagination">
<el-pagination
:current-page="page"
:page-size="pageSize"
:page-sizes="[10, 30, 50, 100]"
:total="total"
layout="total, sizes, prev, pager, next, jumper"
@current-change="handleCurrentChange"
@size-change="handleSizeChange"
/>
</div>
</div>
</div>
</template>
<script setup>
import * as serve from '@/api/equipment/particulars'
import { nextTick, ref, watch, onMounted } from 'vue'
import { ElMessage, ElMessageBox } from 'element-plus'
// import { id } from 'element-plus/es/locale'
import { useAppStore } from '@/pinia'
const appStore = useAppStore()
const searchInfo = ref({
deviceStatus: ''
})
const page = ref(1)
const total = ref(0)
const pageSize = ref(10)
const tableData = ref([])
onMounted(() => {
getTableData()
})
// 分页
const handleSizeChange = (val) => {
pageSize.value = val
getTableData()
}
const handleCurrentChange = (val) => {
page.value = val
getTableData()
}
// 查询
const getTableData = async () => {
const table = await serve.getDeviceDetailsListByPage({
page: page.value,
pageSize: pageSize.value,
...searchInfo.value
})
if (table.code === 0) {
tableData.value = table.data.list
total.value = table.data.total
page.value = table.data.page
pageSize.value = table.data.pageSize
}
}
const onSubmit = () => {
page.value = 1
getTableData()
}
const onReset = () => {
searchInfo.value = {
deviceStatus: ''
}
getTableData()
}
</script>
<style lang="scss">
.header-img-box {
@apply w-52 h-52 border border-solid border-gray-300 rounded-xl flex justify-center items-center cursor-pointer;
}
</style>