Files
admin-govern/src/views/govern/monitorRecall/steadyRecall.vue
2025-10-21 16:27:49 +08:00

133 lines
3.3 KiB
Vue

<template>
<div class="view" style="height: 100%">
<TableHeader
datePicker
ref="headerRef"
>
<template v-slot:operation>
<el-button type="primary" :icon="Setting" @click="exportTab">补召</el-button>
</template>
</TableHeader>
<Table ref="tableRef" style="height: calc(100% - 120px)" />
</div>
</template>
<script lang="ts" setup>
import { ref, onMounted, provide, nextTick, defineEmits, watch } from 'vue'
import { getTabsDataByType } from '@/api/cs-device-boot/EquipmentDelivery'
import TableStore from '@/utils/tableStore'
import Table from '@/components/table/index.vue'
import TableHeader from '@/components/table/header/index.vue'
import { Setting } from '@element-plus/icons-vue'
const props = defineProps({
checkedNodes: {
type: Array,
default: () => []
}
});
const tableParams: any = ref({})
const headerRef = ref()
const tableStore: any = new TableStore({
url: '/cs-device-boot/portableOfflLog/queryMainLogPage',
publicHeight: 0,
method: 'POST',
column: [
{
title: '序号', width: 80, formatter: (row: any) => {
return (tableStore.table.params.pageNum - 1) * tableStore.table.params.pageSize + row.rowIndex + 1
}
},
{
field: 'projectName',
title: '工程名称',
minWidth: 170,
formatter: row => {
return row.cellValue ? row.cellValue : '/'
}
},
{ field: 'successCount', title: '成功解析数', minWidth: 150 },
{ field: 'startTime', title: '导入开始时间', minWidth: 170, sortable: true },
{ field: 'endTime', title: '导入结束时间', minWidth: 170 , sortable: true},
{
title: '解析状态',
field: 'status',
width: 100,
render: 'tag',
custom: {
0: 'warning',
1: 'success',
2: 'danger',
3: 'primary'
},
replaceValue: {
0: '未解析',
1: '解析成功',
2: '解析失败',
3: '文件不存在'
}
},
{
title: '操作',
width: '100',
render: 'buttons',
buttons: [
{
name: 'edit',
title: '详情',
type: 'primary',
icon: 'el-icon-EditPen',
render: 'basicButton',
click: row => {
}
}
]
}
],
beforeSearchFun: () => {
},
loadCallback: () => {
}
})
provide('tableStore', tableStore)
//获取请求参数
const getTableParams = (val: any) => {
tableParams.value = val
tableStore.index()
}
defineExpose({
getTableParams
})
onMounted(() => {
tableStore.index()
})
</script>
<style lang="scss" scoped>
.header_btn {
width: 100%;
height: 30px;
display: flex;
justify-content: flex-end;
align-items: center;
}
.view {
display: flex;
flex-direction: column;
height: 100%;
}
.view :deep(.el-table) {
height: calc(100% - 56px);
}
</style>