添加页面补招功能

This commit is contained in:
GGJ
2025-04-30 16:00:26 +08:00
parent dabb960d09
commit 81726cde2d
15 changed files with 7778 additions and 576 deletions

View File

@@ -81,7 +81,7 @@
<el-tab-pane :name="0" :lazy="true" label="稳态指标符合性占比表格">
<Table
ref="tableRef"
:tree-config="{ transform: true, parentField: 'pid' }"
:tree-config="{ transform: true, parentField: 'uPid', rowField: 'uId' }"
:scroll-y="{ enabled: true }"
v-if="activeName == 0"
/>
@@ -197,10 +197,9 @@ const tableStore = new TableStore({
],
loadCallback: () => {
let treeData = []
treeData = tree2List(tableStore.table.data)
tableStore.table.data = tree2List(tableStore.table.data, Math.random() * 1000)
tableStore.table.column[0].title = tableStore.table.params.statisticalType.name
tableStore.table.data = JSON.parse(JSON.stringify(treeData))
chartsRef.value && chartsRef.value.getTableStoreParams(tableStore.table.params)
setTimeout(() => {
activeName.value == 0 && tableRef.value && tableRef.value.getRef().setAllTreeExpand(true)
@@ -214,18 +213,18 @@ tableStore.table.params.manufacturer = []
tableStore.table.params.loadType = []
tableStore.table.params.serverName = 'harmonicBoot'
provide('tableStore', tableStore)
const tree2List = (list: any, pid?: string) => {
const tree2List = (list: any, id?: string) => {
//存储结果的数组
let arr: any = []
// 遍历 tree 数组
list.forEach((item: any) => {
// item.comFlag = item.comFlag == null ? 3 : item.comFlag
item.uPid = id
item.uId = Math.random() * 1000
item.valueOver == 3.14159 ? 0 : item.valueOver >= 90 ? 1 : item.valueOver && item.valueOver < 90 ? 2 : 3
item.pid = pid
// 判断item是否存在children
if (!item.children) return arr.push(item)
// 函数递归对children数组进行tree2List的转换
const children = tree2List(item.children, item.id)
const children = tree2List(item.children, item.uId)
// 删除item的children属性
delete item.children
// 把item和children数组添加至结果数组
@@ -235,6 +234,7 @@ const tree2List = (list: any, pid?: string) => {
// 返回结果数组
return arr
}
onMounted(() => {
tableStore.index()
})

View File

@@ -103,6 +103,9 @@
</el-select>
</el-form-item>
</template>
<template #operation>
<el-button type="primary" icon="el-icon-Download" @click="makeUp">补招</el-button>
</template>
</TableHeader>
</div>
<div class="online_main">
@@ -110,7 +113,8 @@
<el-tab-pane :name="0" :lazy="true" label="数据完整性列表">
<Table
ref="tableRef"
:tree-config="{ transform: true, parentField: 'pid' }"
:tree-config="{ transform: true, parentField: 'uPid', rowField: 'uId' }"
:checkbox-config="{ labelField: 'name', }"
:scroll-y="{ enabled: true }"
v-if="activeName == 0"
/>
@@ -183,7 +187,6 @@ const handleClick = (tab: any, e: any) => {
// }
}
// const datePickerRef = ref()
const tableHeaderRef = ref()
const tableStore = new TableStore({
publicHeight: 60,
@@ -195,8 +198,13 @@ const tableStore = new TableStore({
title: formData.value.statisticalType.name,
field: 'name',
align: 'left',
type: 'checkbox',
treeNode: true,
width: 350,
formatter: function (row) {
console.log("🚀 ~ row:", row)
return 123//row.cellValue ? row.cellValue : '/'
}
},
{
title: '网络参数',
@@ -291,9 +299,8 @@ const tableStore = new TableStore({
// tableStore.table.params.searchEndTime = tableHeaderRef.value.datePickerRef.timeValue[1]
},
loadCallback: () => {
let treeData = []
treeData = tree2List(tableStore.table.data)
tableStore.table.data = JSON.parse(JSON.stringify(treeData))
tableStore.table.data = tree2List(tableStore.table.data, Math.random() * 1000)
tableStore.table.column[0].title = formData.value.statisticalType.name
chartsRef.value && chartsRef.value.getTableStoreParams(tableStore.table.params)
setTimeout(() => {
@@ -301,22 +308,20 @@ const tableStore = new TableStore({
}, 0)
}
})
const handleSearch = () => {
formData.value.searchBeginTime = datePickerRef.value.timeValue[0]
formData.value.searchEndTime = datePickerRef.value.timeValue[1]
}
tableStore.table.params.deptIndex = ''
tableStore.table.params.statisticalType = []
tableStore.table.params.scale = []
tableStore.table.params.manufacturer = []
tableStore.table.params.loadType = []
provide('tableStore', tableStore)
const tree2List = (list: any, pid?: string) => {
const tree2List = (list: any, id?: string) => {
//存储结果的数组
let arr: any = []
// 遍历 tree 数组
list.forEach((item: any) => {
// item.comFlag = item.comFlag == null ? 3 : item.comFlag
item.uPid = id
item.uId = Math.random() * 1000
item.valueOver =
item.integrityData == 3.14159
? 0
@@ -325,11 +330,10 @@ const tree2List = (list: any, pid?: string) => {
: item.integrityData >= 60 && item.integrityData < 90
? 2
: 3
item.pid = pid
// 判断item是否存在children
if (!item.children) return arr.push(item)
// 函数递归对children数组进行tree2List的转换
const children = tree2List(item.children, item.id)
const children = tree2List(item.children, item.uId)
// 删除item的children属性
delete item.children
// 把item和children数组添加至结果数组
@@ -340,7 +344,11 @@ const tree2List = (list: any, pid?: string) => {
return arr
}
onMounted(() => {})
// 补招
const makeUp = () => {
tableRef.value && tableRef.value.getRef().getCheckboxRecords()
console.log("🚀 ~ makeUp ~ tableRef.value.getRef().getCheckboxRecords():", tableRef.value.getRef().getCheckboxRecords())
}
watch(
() => treeData.value,
(val, oldVal) => {

View File

@@ -74,10 +74,15 @@
</el-select>
</el-form-item>
<el-form-item label="电网标志">
<el-select v-model="tableStore.table.params.powerFlag" placeholder="请选择电网标志">
<el-option v-for="item in sign" :key="item.id" :label="item.name" :value="item.algoDescribe" />
</el-select>
</el-form-item>
<el-select v-model="tableStore.table.params.powerFlag" placeholder="请选择电网标志">
<el-option
v-for="item in sign"
:key="item.id"
:label="item.name"
:value="item.algoDescribe"
/>
</el-select>
</el-form-item>
</template>
</TableHeader>
</div>
@@ -86,7 +91,7 @@
<el-tab-pane :name="0" :lazy="true" label="谐波畸变率统计表">
<Table
ref="tableRef"
:tree-config="{ transform: true, parentField: 'pid' }"
:tree-config="{ transform: true, parentField: 'uPid', rowField: 'uId' }"
:scroll-y="{ enabled: true }"
v-if="activeName == 0"
/>
@@ -164,7 +169,7 @@ const tableStore = new TableStore({
title: '电压等级',
field: 'voltageLevel',
align: 'center',
formatter: function (row) {
formatter: function (row) {
return row.cellValue ? row.cellValue : '/'
}
},
@@ -195,10 +200,8 @@ const tableStore = new TableStore({
],
loadCallback: () => {
let treeData = []
treeData = tree2List(tableStore.table.data)
tableStore.table.data = tree2List(tableStore.table.data, Math.random() * 1000)
tableStore.table.column[0].title = tableStore.table.params.statisticalType.name
tableStore.table.data = JSON.parse(JSON.stringify(treeData))
chartsRef.value && chartsRef.value.getTableStoreParams(tableStore.table.params)
setTimeout(() => {
activeName.value == 0 && tableRef.value && tableRef.value.getRef().setAllTreeExpand(true)
@@ -213,18 +216,18 @@ tableStore.table.params.loadType = []
tableStore.table.params.powerFlag = sign[0]?.algoDescribe || 0
tableStore.table.params.serverName = 'harmonicBoot'
provide('tableStore', tableStore)
const tree2List = (list: any, pid?: string) => {
const tree2List = (list: any, id?: string) => {
//存储结果的数组
let arr: any = []
// 遍历 tree 数组
list.forEach((item: any) => {
// item.comFlag = item.comFlag == null ? 3 : item.comFlag
item.uPid = id
item.uId = Math.random() * 1000
item.valueOver == 3.14159 ? 0 : item.valueOver >= 90 ? 1 : item.valueOver && item.valueOver < 90 ? 2 : 3
item.pid = pid
// 判断item是否存在children
if (!item.children) return arr.push(item)
// 函数递归对children数组进行tree2List的转换
const children = tree2List(item.children, item.id)
const children = tree2List(item.children, item.uId)
// 删除item的children属性
delete item.children
// 把item和children数组添加至结果数组
@@ -234,6 +237,7 @@ const tree2List = (list: any, pid?: string) => {
// 返回结果数组
return arr
}
onMounted(() => {
tableStore.index()
})

View File

@@ -1,7 +1,7 @@
<template>
<div class="default-main online">
<div class="online_header">
<TableHeader date-picker ref="tableHeaderRef" >
<TableHeader date-picker ref="tableHeaderRef">
<template #select>
<el-form-item label="统计类型:">
<el-select
@@ -110,7 +110,7 @@
<el-tab-pane :name="0" :lazy="true" label="终端在线率列表">
<Table
ref="tableRef"
:tree-config="{ transform: true, parentField: 'pid' }"
:tree-config="{ transform: true, parentField: 'uPid', rowField: 'uId' }"
:scroll-y="{ enabled: true }"
v-if="activeName == 0"
/>
@@ -193,7 +193,7 @@ const tableStore = new TableStore({
field: 'name',
align: 'left',
treeNode: true,
width: 350,
width: 350
},
{
title: '网络参数',
@@ -255,7 +255,7 @@ const tableStore = new TableStore({
title: '评估',
field: 'valueOver',
align: 'center',
effect:"dark",
effect: 'dark',
render: 'tag',
custom: {
null: 'info',
@@ -289,9 +289,10 @@ const tableStore = new TableStore({
// tableStore.table.params.searchEndTime = tableHeaderRef.value.datePickerRef.timeValue[1]
},
loadCallback: () => {
let treeData = []
treeData = tree2List(tableStore.table.data)
tableStore.table.data = JSON.parse(JSON.stringify(treeData))
// let treeData = []
// treeData = tree2List(tableStore.table.data)
// tableStore.table.data = JSON.parse(JSON.stringify(treeData))
tableStore.table.data = tree2List(tableStore.table.data, Math.random() * 1000)
chartsRef.value && chartsRef.value.getTableStoreParams(tableStore.table.params)
setTimeout(() => {
activeName.value == 0 && tableRef.value && tableRef.value.getRef().setAllTreeExpand(true)
@@ -305,18 +306,18 @@ tableStore.table.params.scale = []
tableStore.table.params.manufacturer = []
tableStore.table.params.loadType = []
provide('tableStore', tableStore)
const tree2List = (list: any, pid?: string) => {
const tree2List = (list: any, id?: string) => {
//存储结果的数组
let arr: any = []
// 遍历 tree 数组
list.forEach((item: any) => {
// item.comFlag = item.comFlag == null ? 3 : item.comFlag
item.uPid = id
item.uId = Math.random() * 1000
item.valueOver == 3.14159 ? 0 : item.valueOver >= 90 ? 1 : item.valueOver && item.valueOver < 90 ? 2 : 3
item.pid = pid
// 判断item是否存在children
if (!item.children) return arr.push(item)
// 函数递归对children数组进行tree2List的转换
const children = tree2List(item.children, item.id)
const children = tree2List(item.children, item.uId)
// 删除item的children属性
delete item.children
// 把item和children数组添加至结果数组
@@ -325,6 +326,7 @@ const tree2List = (list: any, pid?: string) => {
})
// 返回结果数组
return arr
}
onMounted(() => {})
@@ -342,6 +344,4 @@ watch(
}
)
</script>
<style lang="scss" scoped>
</style>
<style lang="scss" scoped></style>

View File

@@ -86,7 +86,7 @@
<el-tab-pane :name="0" :lazy="true" label="稳态合格率统计表">
<Table
ref="tableRef"
:tree-config="{ transform: true, parentField: 'pid' }"
:tree-config="{ transform: true, parentField: 'uPid', rowField: 'uId' }"
:scroll-y="{ enabled: true }"
v-if="activeName == 0"
/>
@@ -253,10 +253,9 @@ const tableStore = new TableStore({
],
loadCallback: () => {
let treeData = []
treeData = tree2List(tableStore.table.data)
tableStore.table.data = tree2List(tableStore.table.data, Math.random() * 1000)
tableStore.table.column[0].title = tableStore.table.params.statisticalType.name
tableStore.table.data = JSON.parse(JSON.stringify(treeData))
chartsRef.value && chartsRef.value.getTableStoreParams(tableStore.table.params)
setTimeout(() => {
activeName.value == 0 && tableRef.value && tableRef.value.getRef().setAllTreeExpand(true)
@@ -271,18 +270,39 @@ tableStore.table.params.loadType = []
tableStore.table.params.serverName = 'harmonicBoot'
tableStore.table.params.powerFlag = sign[0]?.algoDescribe || 0
provide('tableStore', tableStore)
const tree2List = (list: any, pid?: string) => {
// const tree2List = (list: any, pid?: string) => {
// //存储结果的数组
// let arr: any = []
// // 遍历 tree 数组
// list.forEach((item: any) => {
// // item.comFlag = item.comFlag == null ? 3 : item.comFlag
// item.valueOver == 3.14159 ? 0 : item.valueOver >= 90 ? 1 : item.valueOver && item.valueOver < 90 ? 2 : 3
// item.pid = pid
// // 判断item是否存在children
// if (!item.children) return arr.push(item)
// // 函数递归对children数组进行tree2List的转换
// const children = tree2List(item.children, item.id)
// // 删除item的children属性
// delete item.children
// // 把item和children数组添加至结果数组
// //..children: 意思是把children数组展开
// arr.push(item, ...children)
// })
// // 返回结果数组
// return arr
// }
const tree2List = (list: any, id?: string) => {
//存储结果的数组
let arr: any = []
// 遍历 tree 数组
list.forEach((item: any) => {
// item.comFlag = item.comFlag == null ? 3 : item.comFlag
item.uPid = id
item.uId = Math.random() * 1000
item.valueOver == 3.14159 ? 0 : item.valueOver >= 90 ? 1 : item.valueOver && item.valueOver < 90 ? 2 : 3
item.pid = pid
// 判断item是否存在children
if (!item.children) return arr.push(item)
// 函数递归对children数组进行tree2List的转换
const children = tree2List(item.children, item.id)
const children = tree2List(item.children, item.uId)
// 删除item的children属性
delete item.children
// 把item和children数组添加至结果数组
@@ -291,7 +311,7 @@ const tree2List = (list: any, pid?: string) => {
})
// 返回结果数组
return arr
}
}
onMounted(() => {
tableStore.index()
})

View File

@@ -178,7 +178,7 @@
</div>
<Table
ref="tableRef"
:tree-config="{ transform: true, parentField: 'pid' }"
:tree-config="{ transform: true,parentField: 'uPid', rowField: 'uId' }"
:scroll-y="{ enabled: true }"
v-if="activeName == 0"
/>
@@ -345,10 +345,9 @@ const tableStore = new TableStore({
// tableStore.table.params.searchEndTime = tableHeaderRef.value.datePickerRef.timeValue[1]
},
loadCallback: () => {
let treeData = []
treeData = tree2List(tableStore.table.data)
tableStore.table.data = tree2List(tableStore.table.data, Math.random() * 1000)
tableStore.table.column[0].title = formData.value.statisticalType.name
tableStore.table.data = JSON.parse(JSON.stringify(treeData))
chartsRef.value&&chartsRef.value.getTableStoreParams(tableStore.table.params)
setTimeout(() => {
activeName.value == 0 && tableRef.value && tableRef.value.getRef().setAllTreeExpand(true)
@@ -365,18 +364,18 @@ tableStore.table.params.scale = []
tableStore.table.params.manufacturer = []
tableStore.table.params.loadType = []
provide('tableStore', tableStore)
const tree2List = (list: any, pid?: string) => {
const tree2List = (list: any, id?: string) => {
//存储结果的数组
let arr: any = []
// 遍历 tree 数组
list.forEach((item: any) => {
// item.comFlag = item.comFlag == null ? 3 : item.comFlag
item.uPid = id
item.uId = Math.random() * 1000
item.valueOver == 3.14159 ? 0 : item.valueOver >= 90 ? 1 : item.valueOver && item.valueOver < 90 ? 2 : 3
item.pid = pid
// 判断item是否存在children
if (!item.children) return arr.push(item)
// 函数递归对children数组进行tree2List的转换
const children = tree2List(item.children, item.id)
const children = tree2List(item.children, item.uId)
// 删除item的children属性
delete item.children
// 把item和children数组添加至结果数组
@@ -386,6 +385,7 @@ const tree2List = (list: any, pid?: string) => {
// 返回结果数组
return arr
}
onMounted(() => {})
watch(

View File

@@ -209,7 +209,7 @@ const histogram = (res: any) => {
var tips = ''
for (var i = 0; i < params.length; i++) {
tips += params[i].name + '</br/>'
tips += '监测点' + ':' + '&nbsp' + '&nbsp' + (params[i].value == 0.14159 ? '暂无数据' : params[i].value) + '</br/>'
tips += '超标监测点占比' + ':' + '&nbsp' + '&nbsp' + (params[i].value == 0.14159 ? '暂无数据' : params[i].value) + '</br/>'
}
return tips
}
@@ -220,7 +220,7 @@ const histogram = (res: any) => {
data: res.map((item: any) => item.name)
},
yAxis: {
name: '等级',// 给X轴加单位
name: '超标占比',// 给X轴加单位
min: 0,
max: 100,
@@ -239,7 +239,7 @@ const histogram = (res: any) => {
dataZoom: null,
series: [
{
type: 'bar',
data: res.map((item: any) => {
return item.lineRatio == 3.14159 ? 0.14159 : item.lineRatio