Files
admin-sjzx/src/views/pqs/runManage/runEvaluate/index.vue

185 lines
5.7 KiB
Vue
Raw Normal View History

2025-03-25 20:22:10 +08:00
<template>
<div class="default-main">
<TableHeader date-picker>
<template v-slot:select>
<el-form-item label="对象类型">
<el-select
v-model="tableStore.table.params.supvObjType"
clearable
style="width: 100%"
placeholder="请选择对象类型"
>
<el-option
v-for="item in supvObjTypeList"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
</template>
<template v-slot:operation></template>
</TableHeader>
2025-03-26 14:47:22 +08:00
<Map />
<div class="container" :style="height">
<div class="left">
<BorderBox11 :color="[color[1], color[0]]" class="box" backgroundColor="#007D7B24" title="终端统计"></BorderBox11>
<BorderBox11 :color="[color[1], color[0]]" class="box" backgroundColor="#007D7B24" title="终端运行评价"></BorderBox11>
<BorderBox11 :color="[color[1], color[0]]" class="box" backgroundColor="#007D7B24" title="最近一周终端评价趋势"></BorderBox11>
</div>
</div>
<!-- <div class="container pt10 pl10" :style="height">
2025-03-25 20:22:10 +08:00
<div class="left">
<el-card class="box">
<template #header>
2025-03-26 14:47:22 +08:00
<div></div>
<span>终端统计</span>
2025-03-25 20:22:10 +08:00
</template>
</el-card>
<el-card class="box">
<template #header>
2025-03-26 14:47:22 +08:00
<div></div><span>终端运行评价</span>
2025-03-25 20:22:10 +08:00
</template>
</el-card>
<el-card class="box">
<template #header>
2025-03-26 14:47:22 +08:00
<div></div><span>最近一周终端评价趋势</span>
2025-03-25 20:22:10 +08:00
</template>
</el-card>
</div>
<div class="center">
<el-card class="box box-2">
<template #header>
2025-03-26 14:47:22 +08:00
<div></div><span>异常详情统计</span>
2025-03-25 20:22:10 +08:00
</template>
</el-card>
<el-card class="box">
<template #header>
2025-03-26 14:47:22 +08:00
<div></div><span>异常终端详情</span>
2025-03-25 20:22:10 +08:00
</template>
</el-card>
</div>
<div class="right">
<el-card class="box box-2">
<template #header>
2025-03-26 14:47:22 +08:00
<div></div><span>区域终端运行评价</span>
2025-03-25 20:22:10 +08:00
</template>
</el-card>
<el-card class="box">
<template #header>
2025-03-26 14:47:22 +08:00
<div></div><span>终端运行评价详情</span>
2025-03-25 20:22:10 +08:00
</template>
</el-card>
</div>
2025-03-26 14:47:22 +08:00
</div> -->
2025-03-25 20:22:10 +08:00
</div>
</template>
<script setup lang="ts">
import { ref, reactive } from 'vue'
import TableHeader from '@/components/table/header/index.vue'
import TableStore from '@/utils/tableStore'
import { useDictData } from '@/stores/dictData'
import { mainHeight } from '@/utils/layout'
2025-03-26 14:47:22 +08:00
import Map from './components/map.vue'
import { BorderBox11 } from '@dataview/datav-vue3'
import { useConfig } from '@/stores/config'
const config = useConfig()
const color = config.layout.elementUiPrimary
2025-03-25 20:22:10 +08:00
const dictData = useDictData()
2025-03-26 14:47:22 +08:00
const height = mainHeight(90)
2025-03-25 20:22:10 +08:00
//字典获取监督对象类型
const supvObjTypeList = dictData.getBasicData('supv_obj_type')
const tableStore = new TableStore({
url: '/user-boot/user/getAllUserSimpleList',
method: 'GET',
isWebPaging: true,
showPage: false,
publicHeight: 480,
column: [
{ title: '序号', width: 80 },
{ title: '监测对象类型', field: 'name3' },
{ title: '监测对象名称', field: 'name4' },
{ title: '电压等级', field: 'name5' },
{
title: '操作',
width: '120',
render: 'buttons',
buttons: [
{
name: 'edit',
title: '工单',
type: 'primary',
icon: 'el-icon-Plus',
render: 'basicButton',
click: row => {}
}
]
}
],
loadCallback: () => {
tableStore.table.data = []
}
})
provide('tableStore', tableStore)
onMounted(() => {
// 加载数据
tableStore.index()
})
</script>
<style lang="scss" scoped>
.container {
display: flex;
2025-03-26 14:47:22 +08:00
position: absolute;
top: 70px;
left: 10px;
width: 500px;
2025-03-25 20:22:10 +08:00
2025-03-26 14:47:22 +08:00
z-index: 999;
2025-03-25 20:22:10 +08:00
.left,
.center,
.right {
display: flex;
flex-direction: column;
flex: 1; /* 平分宽度 */
2025-03-26 14:47:22 +08:00
// background: linear-gradient(to right, #cce5e5, #ffffff00);
2025-03-25 20:22:10 +08:00
}
.center {
flex: 1.5;
}
.box {
2025-03-26 14:47:22 +08:00
width: 100%;
height: 100%;
2025-03-25 20:22:10 +08:00
}
.box-2 {
flex: 2; /* 占2份高度 */
}
}
2025-03-25 20:36:36 +08:00
:deep(.el-card) {
border-radius: 10px;
.el-card__header {
padding: 10px;
border-bottom: 1px solid #ebebeb;
2025-03-26 14:47:22 +08:00
display: flex;
align-items: center;
font-weight: 600;
width: 100%;
div {
width: 8px;
height: 8px;
border-radius: 4px;
margin-right: 10px;
background-color: var(--el-color-primary);
}
2025-03-25 20:36:36 +08:00
}
2025-03-25 20:22:10 +08:00
}
2025-03-26 14:47:22 +08:00
// .container {
// width: 500px;
// height: 200px;
// }
2025-03-25 20:22:10 +08:00
</style>