修改 冀北 台账树问题

This commit is contained in:
GGJ
2024-09-09 11:15:24 +08:00
parent 9bfb30a197
commit d9bcec8ea0
6 changed files with 152 additions and 108 deletions

View File

@@ -8,6 +8,7 @@ import Tree from './index.vue'
import { getTerminalTree } from '@/api/device-boot/Business.ts' import { getTerminalTree } from '@/api/device-boot/Business.ts'
import { useConfig } from '@/stores/config' import { useConfig } from '@/stores/config'
const VITE_FLAG = import.meta.env.VITE_NAME == 'jibei'
defineOptions({ defineOptions({
name: 'govern/deviceTree' name: 'govern/deviceTree'
}) })
@@ -20,32 +21,44 @@ const info = (id: any) => {
expanded.value = [id] expanded.value = [id]
getTerminalTree().then(res => { getTerminalTree().then(res => {
// let arr: any[] = [] // let arr: any[] = []
res.data.forEach((item: any) => { if (VITE_FLAG) {
item.icon = 'el-icon-Menu' res.data.forEach((item: any) => {
item.level = 0 item.icon = 'el-icon-Menu'
item.children.forEach((item2: any) => { item.level = 0
item2.icon = 'el-icon-HomeFilled' item.children.forEach((item2: any) => {
item2.level = 100 item2.icon = 'el-icon-HomeFilled'
expanded.value.push(item2.id) item2.level = 100
item2.children.forEach((item3: any) => { expanded.value.push(item2.id)
item3.icon = 'el-icon-CollectionTag' item2.children.forEach((item3: any) => {
item3.level = 200 item3.icon = 'el-icon-CollectionTag'
item3.children.forEach((item4: any) => { item3.level = 200
item4.icon = 'el-icon-Flag' item3.children.forEach((item4: any) => {
item4.level = 300 item4.icon = 'el-icon-Flag'
// arr.push(item4) item4.level = 300
item4.children.forEach((item5: any) => { // arr.push(item4)
item5.icon = 'el-icon-OfficeBuilding' item4.children.forEach((item5: any) => {
item5.level = 400 item5.icon = 'el-icon-OfficeBuilding'
item5.children.forEach((item6: any) => { item5.level = 300
item6.icon = 'el-icon-Film' item5.id = item4.id
item6.level = 500 item5.children.forEach((item6: any) => {
item6.children.forEach((item7: any) => { item6.icon = 'el-icon-HelpFilled'
item7.icon = 'el-icon-Share' item6.level = 300
item7.level = 600 item6.id = item4.id
item7.children.forEach((item8: any) => { item6.children.forEach((item7: any) => {
item8.icon = 'el-icon-Location' item7.icon = 'el-icon-Film'
item8.level = 700 item7.level = 400
item7.children.forEach((item8: any) => {
item8.icon = 'el-icon-Collection'
item8.level = 500
item8.children.forEach((item9: any) => {
item9.icon = 'el-icon-Share'
item9.level = 600
item9.children.forEach((item10: any) => {
item10.icon = 'el-icon-Location'
item10.level = 700
})
})
})
}) })
}) })
}) })
@@ -53,7 +66,43 @@ const info = (id: any) => {
}) })
}) })
}) })
}) } else {
res.data.forEach((item: any) => {
item.icon = 'el-icon-Menu'
item.level = 0
item.children.forEach((item2: any) => {
item2.icon = 'el-icon-HomeFilled'
item2.level = 100
expanded.value.push(item2.id)
item2.children.forEach((item3: any) => {
item3.icon = 'el-icon-CollectionTag'
item3.level = 200
item3.children.forEach((item4: any) => {
item4.icon = 'el-icon-Flag'
item4.level = 300
// arr.push(item4)
item4.children.forEach((item5: any) => {
item5.icon = 'el-icon-OfficeBuilding'
item5.level = 400
item5.children.forEach((item6: any) => {
item6.icon = 'el-icon-Film'
item6.level = 500
item6.children.forEach((item7: any) => {
item7.icon = 'el-icon-Share'
item7.level = 600
item7.children.forEach((item8: any) => {
item8.icon = 'el-icon-Location'
item8.level = 700
})
})
})
})
})
})
})
})
}
tree.value = res.data tree.value = res.data
nextTick(() => { nextTick(() => {

View File

@@ -7,7 +7,7 @@
<vxe-column field="num3" title="最大值" /> <vxe-column field="num3" title="最大值" />
<vxe-column field="num3" title="平均值" /> <vxe-column field="num3" title="平均值" />
<vxe-column field="num3" title="cp95值" /> <vxe-column field="num3" title="cp95值" />
<vxe-column field="num3" title="国限值" /> <vxe-column field="num3" title="国限值" />
</vxe-table> </vxe-table>
</el-dialog> </el-dialog>
</template> </template>

View File

@@ -1,5 +1,5 @@
<template> <template>
<el-dialog v-model="dialogVisible" :title="title" width="50%" draggable> <el-dialog v-model="dialogVisible" :title="title" width="1200" draggable>
<vxe-table v-bind="defaultAttribute" ref="vxeRef" height="500px" :data="tableData"> <vxe-table v-bind="defaultAttribute" ref="vxeRef" height="500px" :data="tableData">
<vxe-colgroup field="anotherName" title="指标" width="180" /> <vxe-colgroup field="anotherName" title="指标" width="180" />
<!-- <vxe-colgroup field="unit" title="单位" /> --> <!-- <vxe-colgroup field="unit" title="单位" /> -->
@@ -7,21 +7,21 @@
<vxe-column field="minphaseA" title="A"> <vxe-column field="minphaseA" title="A">
<template #default="{ row }"> <template #default="{ row }">
<span :style="{ color: row.limit < row.minphaseA ? 'red' : '' }"> <span :style="{ color: row.limit < row.minphaseA ? 'red' : '' }">
{{ row.minphaseA }} {{ row.minphaseA || '/' }}
</span> </span>
</template> </template>
</vxe-column> </vxe-column>
<vxe-column field="minphaseB" title="B"> <vxe-column field="minphaseB" title="B">
<template #default="{ row }"> <template #default="{ row }">
<span :style="{ color: row.limit < row.minphaseB ? 'red' : '' }"> <span :style="{ color: row.limit < row.minphaseB ? 'red' : '' }">
{{ row.minphaseB }} {{ row.minphaseB || '/' }}
</span> </span>
</template> </template>
</vxe-column> </vxe-column>
<vxe-column field="minphaseC" title="C"> <vxe-column field="minphaseC" title="C">
<template #default="{ row }"> <template #default="{ row }">
<span :style="{ color: row.limit < row.minphaseC ? 'red' : '' }"> <span :style="{ color: row.limit < row.minphaseC ? 'red' : '' }">
{{ row.minphaseC }} {{ row.minphaseC || '/' }}
</span> </span>
</template> </template>
</vxe-column> </vxe-column>
@@ -30,21 +30,21 @@
<vxe-column field="maxphaseA" title="A"> <vxe-column field="maxphaseA" title="A">
<template #default="{ row }"> <template #default="{ row }">
<span :style="{ color: row.limit < row.maxphaseA ? 'red' : '' }"> <span :style="{ color: row.limit < row.maxphaseA ? 'red' : '' }">
{{ row.maxphaseA }} {{ row.maxphaseA || '/' }}
</span> </span>
</template> </template>
</vxe-column> </vxe-column>
<vxe-column field="maxphaseB" title="B"> <vxe-column field="maxphaseB" title="B">
<template #default="{ row }"> <template #default="{ row }">
<span :style="{ color: row.limit < row.maxphaseB ? 'red' : '' }"> <span :style="{ color: row.limit < row.maxphaseB ? 'red' : '' }">
{{ row.maxphaseB }} {{ row.maxphaseB || '/' }}
</span> </span>
</template> </template>
</vxe-column> </vxe-column>
<vxe-column field="maxphaseC" title="C"> <vxe-column field="maxphaseC" title="C">
<template #default="{ row }"> <template #default="{ row }">
<span :style="{ color: row.limit < row.maxphaseC ? 'red' : '' }"> <span :style="{ color: row.limit < row.maxphaseC ? 'red' : '' }">
{{ row.maxphaseC }} {{ row.maxphaseC || '/' }}
</span> </span>
</template> </template>
</vxe-column> </vxe-column>
@@ -53,21 +53,21 @@
<vxe-column field="avgphaseA" title="A"> <vxe-column field="avgphaseA" title="A">
<template #default="{ row }"> <template #default="{ row }">
<span :style="{ color: row.limit < row.avgphaseA ? 'red' : '' }"> <span :style="{ color: row.limit < row.avgphaseA ? 'red' : '' }">
{{ row.avgphaseA }} {{ row.avgphaseA || '/' }}
</span> </span>
</template> </template>
</vxe-column> </vxe-column>
<vxe-column field="avgphaseB" title="B"> <vxe-column field="avgphaseB" title="B">
<template #default="{ row }"> <template #default="{ row }">
<span :style="{ color: row.limit < row.avgphaseB ? 'red' : '' }"> <span :style="{ color: row.limit < row.avgphaseB ? 'red' : '' }">
{{ row.avgphaseB }} {{ row.avgphaseB || '/' }}
</span> </span>
</template> </template>
</vxe-column> </vxe-column>
<vxe-column field="avgphaseC" title="C"> <vxe-column field="avgphaseC" title="C">
<template #default="{ row }"> <template #default="{ row }">
<span :style="{ color: row.limit < row.avgphaseC ? 'red' : '' }"> <span :style="{ color: row.limit < row.avgphaseC ? 'red' : '' }">
{{ row.avgphaseC }} {{ row.avgphaseC || '/' }}
</span> </span>
</template> </template>
</vxe-column> </vxe-column>
@@ -76,27 +76,27 @@
<vxe-column field="cp95PhaseA" title="A"> <vxe-column field="cp95PhaseA" title="A">
<template #default="{ row }"> <template #default="{ row }">
<span :style="{ color: row.limit < row.cp95PhaseA ? 'red' : '' }"> <span :style="{ color: row.limit < row.cp95PhaseA ? 'red' : '' }">
{{ row.cp95PhaseA }} {{ row.cp95PhaseA || '/' }}
</span> </span>
</template> </template>
</vxe-column> </vxe-column>
<vxe-column field="cp95PhaseB" title="B"> <vxe-column field="cp95PhaseB" title="B">
<template #default="{ row }"> <template #default="{ row }">
<span :style="{ color: row.limit < row.cp95PhaseB ? 'red' : '' }"> <span :style="{ color: row.limit < row.cp95PhaseB ? 'red' : '' }">
{{ row.cp95PhaseB }} {{ row.cp95PhaseB || '/' }}
</span> </span>
</template> </template>
</vxe-column> </vxe-column>
<vxe-column field="cp95PhaseC" title="C"> <vxe-column field="cp95PhaseC" title="C">
<template #default="{ row }"> <template #default="{ row }">
<span :style="{ color: row.limit < row.cp95PhaseC ? 'red' : '' }"> <span :style="{ color: row.limit < row.cp95PhaseC ? 'red' : '' }">
{{ row.cp95PhaseC }} {{ row.cp95PhaseC || '/' }}
</span> </span>
</template> </template>
</vxe-column> </vxe-column>
</vxe-colgroup> </vxe-colgroup>
<vxe-column field="limit" title="国限值" /> <vxe-column field="limit" title="国限值" />
</vxe-table> </vxe-table>
</el-dialog> </el-dialog>
</template> </template>

View File

@@ -16,63 +16,61 @@
</TableHeader> </TableHeader>
<div class="container pd10"> <div class="container pd10">
<div> <el-card class="cardBox">
<el-card class="cardBox"> <div class="mb5" style="display: flex; justify-content: space-between">
<div class="mb5" style="display: flex; justify-content: space-between"> <h3>功率区间</h3>
<h3>功率区间</h3> <div>
<span>稳态越限图例: </span>
<span style="color: red">越限 </span>
<span style="color: green">合格</span>
</div>
</div>
<el-card class="card-top">
<div
v-for="(item, index) in powerList1"
class="pd10"
style="cursor: pointer"
:class="flag == item.label ? 'hoverBox' : ''"
@click="analyseList(item.label, index)"
>
<div style="font-size: 24px; font-weight: 700">
<span :style="{ color: item.crossTheLine > 0 ? 'red' : 'green' }">
{{ item.quantity }}
</span>
<span style="font-size: 14px; font-weight: 500"></span>
</div>
<div> <div>
<span>稳态越限图例: </span> {{ item.label }}
<span style="color: red">越限 </span>
<span style="color: green">合格</span>
</div> </div>
</div> </div>
<el-card class="card-top">
<div
v-for="(item, index) in powerList1"
class="pd10"
style="cursor: pointer"
:class="flag == item.label ? 'hoverBox' : ''"
@click="analyseList(item.label, index)"
>
<div style="font-size: 24px; font-weight: 700">
<span :style="{ color: item.crossTheLine > 0 ? 'red' : 'green' }">
{{ item.quantity }}
</span>
<span style="font-size: 14px; font-weight: 500"></span>
</div>
<div>
{{ item.label }}
</div>
</div>
</el-card>
<el-card class="card-top mt15">
<div
v-for="(item, index) in powerList2"
class="pd10"
style="cursor: pointer"
:class="flag == item.label ? 'hoverBox' : ''"
@click="analyseList(item.label, index + 5)"
>
<div style="font-size: 24px; font-weight: 700">
<span :style="{ color: item.crossTheLine > 0 ? 'red' : 'green' }">
{{ item.quantity }}
</span>
<span style="font-size: 14px; font-weight: 500"></span>
</div>
<div>
{{ item.label }}
</div>
</div>
</el-card>
</el-card> </el-card>
</div>
<el-card class="card-top mt15">
<div
v-for="(item, index) in powerList2"
class="pd10"
style="cursor: pointer"
:class="flag == item.label ? 'hoverBox' : ''"
@click="analyseList(item.label, index + 5)"
>
<div style="font-size: 24px; font-weight: 700">
<span :style="{ color: item.crossTheLine > 0 ? 'red' : 'green' }">
{{ item.quantity }}
</span>
<span style="font-size: 14px; font-weight: 500"></span>
</div>
<div>
{{ item.label }}
</div>
</div>
</el-card>
</el-card>
<el-card class="echart"> <el-card class="echart">
<h3>有功率区间占比</h3> <h3>有功率区间占比</h3>
<my-echart :options="options" style="height: 208px" /> <my-echart :options="options" style="height: 208px" />
</el-card> </el-card>
</div> </div>
<div class="container mt10 ml10"> <div class="container" style="padding: 0px 10px 10px">
<el-card class="box"> <el-card class="box">
<h3>功率区间稳态越限详情</h3> <h3>功率区间稳态越限详情</h3>
<div :style="`height:calc(${heightB.height} - 25px)`" style="overflow-y: auto"> <div :style="`height:calc(${heightB.height} - 25px)`" style="overflow-y: auto">
@@ -100,7 +98,7 @@
<el-link <el-link
:type="row.voltageOffset == '1' ? 'danger' : 'success'" :type="row.voltageOffset == '1' ? 'danger' : 'success'"
class="percentage" class="percentage"
@click="detailClick(row, '电压偏差', 'voltageOffsetList')" @click="detailClick(row, '电压偏差(%)', 'voltageOffsetList')"
> >
{{ row.voltageOffset == '1' ? '越限' : '合格' }} {{ row.voltageOffset == '1' ? '越限' : '合格' }}
</el-link> </el-link>
@@ -111,18 +109,18 @@
<el-link <el-link
:type="row.vtimes == '1' ? 'danger' : 'success'" :type="row.vtimes == '1' ? 'danger' : 'success'"
class="percentage" class="percentage"
@click="detailClick(row, '谐波电压', 'vtimesList')" @click="detailClick(row, '谐波电压(%)', 'vtimesList')"
> >
{{ row.vtimes == '1' ? '越限' : '合格' }} {{ row.vtimes == '1' ? '越限' : '合格' }}
</el-link> </el-link>
</template> </template>
</vxe-column> </vxe-column>
<vxe-column field="itimes" title="谐波电流(%)"> <vxe-column field="itimes" title="谐波电流(A)">
<template #default="{ row }"> <template #default="{ row }">
<el-link <el-link
:type="row.itimes == '1' ? 'danger' : 'success'" :type="row.itimes == '1' ? 'danger' : 'success'"
class="percentage" class="percentage"
@click="detailClick(row, '谐波电流', 'itimesList')" @click="detailClick(row, '谐波电流(A)', 'itimesList')"
> >
{{ row.itimes == '1' ? '越限' : '合格' }} {{ row.itimes == '1' ? '越限' : '合格' }}
</el-link> </el-link>
@@ -133,7 +131,7 @@
<el-link <el-link
:type="row.ubalance == '1' ? 'danger' : 'success'" :type="row.ubalance == '1' ? 'danger' : 'success'"
class="percentage" class="percentage"
@click="detailClick(row, '三相电压不平衡度', 'ubalanceList')" @click="detailClick(row, '三相电压不平衡度(%)', 'ubalanceList')"
> >
{{ row.ubalance == '1' ? '越限' : '合格' }} {{ row.ubalance == '1' ? '越限' : '合格' }}
</el-link> </el-link>
@@ -144,13 +142,13 @@
<el-link <el-link
:type="row.voltageFluctuation == '1' ? 'danger' : 'success'" :type="row.voltageFluctuation == '1' ? 'danger' : 'success'"
class="percentage" class="percentage"
@click="detailClick(row, '电压波动', 'voltageFluctuationList')" @click="detailClick(row, '电压波动(%)', 'voltageFluctuationList')"
> >
{{ row.voltageFluctuation == '1' ? '越限' : '合格' }} {{ row.voltageFluctuation == '1' ? '越限' : '合格' }}
</el-link> </el-link>
</template> </template>
</vxe-column> </vxe-column>
<vxe-column field="flicker" title="闪变(%)"> <vxe-column field="flicker" title="闪变">
<template #default="{ row }"> <template #default="{ row }">
<el-link <el-link
:type="row.flicker == '1' ? 'danger' : 'success'" :type="row.flicker == '1' ? 'danger' : 'success'"
@@ -166,18 +164,18 @@
<el-link <el-link
:type="row.interHarmonic == '1' ? 'danger' : 'success'" :type="row.interHarmonic == '1' ? 'danger' : 'success'"
class="percentage" class="percentage"
@click="detailClick(row, '间谐波电压含有率', 'interHarmonicList')" @click="detailClick(row, '间谐波电压含有率(%)', 'interHarmonicList')"
> >
{{ row.interHarmonic == '1' ? '越限' : '合格' }} {{ row.interHarmonic == '1' ? '越限' : '合格' }}
</el-link> </el-link>
</template> </template>
</vxe-column> </vxe-column>
<vxe-column field="sequenceCurrentUnbalance" title="电流不平衡度"> <vxe-column field="sequenceCurrentUnbalance" title="电流不平衡度(%)">
<template #default="{ row }"> <template #default="{ row }">
<el-link <el-link
:type="row.sequenceCurrentUnbalance == '1' ? 'danger' : 'success'" :type="row.sequenceCurrentUnbalance == '1' ? 'danger' : 'success'"
class="percentage" class="percentage"
@click="detailClick(row, '电流不平衡度', 'sequenceCurrentUnbalanceList')" @click="detailClick(row, '电流不平衡度(%)', 'sequenceCurrentUnbalanceList')"
> >
{{ row.sequenceCurrentUnbalance == '1' ? '越限' : '合格' }} {{ row.sequenceCurrentUnbalance == '1' ? '越限' : '合格' }}
</el-link> </el-link>
@@ -193,7 +191,7 @@
</div> </div>
</el-card> </el-card>
<el-card class="box mr10"> <el-card class="box">
<div :style="heightB" style="overflow-y: auto"> <div :style="heightB" style="overflow-y: auto">
<div style="display: flex; justify-content: space-between"> <div style="display: flex; justify-content: space-between">
<span style="font-size: 16px; font-weight: 700">报告参数</span> <span style="font-size: 16px; font-weight: 700">报告参数</span>
@@ -262,7 +260,7 @@ const timePopUpBox = ref<anyObj | null>(null)
const flag = ref('0%~10%') const flag = ref('0%~10%')
const height = mainHeight(20) const height = mainHeight(20)
const heightB = mainHeight(395) const heightB = mainHeight(385)
const size = ref(0) const size = ref(0)
const TableHeaderRef = ref() const TableHeaderRef = ref()
const detailRef = ref() const detailRef = ref()
@@ -768,7 +766,7 @@ const handleNodeClick = (data: any, node: any) => {
.container { .container {
display: grid; display: grid;
grid-template-columns: 5fr 2.5fr; grid-template-columns: 5fr 2.5fr;
gap: 20px; gap: 10px;
.card-top { .card-top {
background-color: var(--el-color-primary-light-9); background-color: var(--el-color-primary-light-9);
// color: #fff; // color: #fff;

View File

@@ -132,7 +132,6 @@
<div class="bottomBox"> <div class="bottomBox">
<div v-if="showFlag"> <div v-if="showFlag">
<div style="height: 70px"> <div style="height: 70px">
一级评估{{ outcome.firstResult }}% 一级评估{{ outcome.firstResult }}%
{{ outcome.firstResult > 0.1 ? '>' : (outcome.firstResult = 0.1 ? '=' : '<') }} 0.1% {{ outcome.firstResult > 0.1 ? '>' : (outcome.firstResult = 0.1 ? '=' : '<') }} 0.1%
<!-- <span>{{ 0.02 < outcome.firstResult && outcome.firstResult < 0.1 ? '满足' : '不满足' }}</span> --> <!-- <span>{{ 0.02 < outcome.firstResult && outcome.firstResult < 0.1 ? '满足' : '不满足' }}</span> -->
@@ -211,7 +210,7 @@ const factor = [
name: 0.95, name: 0.95,
id: 0.95 id: 0.95
}, },
{ {
name: 0.96, name: 0.96,
id: 0.96 id: 0.96
@@ -243,7 +242,7 @@ const level2Data = ref([
name: '谐波电流幅值(A)' name: '谐波电流幅值(A)'
}, },
{ {
name: '国限值(A)' name: '国限值(A)'
}, },
{ {
name: '是否允许值' name: '是否允许值'

View File

@@ -13,10 +13,8 @@
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { onMounted, ref, provide } from 'vue' import { onMounted, ref, provide } from 'vue'
import TableStore from '@/utils/tableStore' import TableStore from '@/utils/tableStore'
import TableHeader from '@/components/table/header/index.vue' import TableHeader from '@/components/table/header/index.vue'
import Table from '@/components/table/index.vue' import Table from '@/components/table/index.vue'
import PopupEdit from './components/form.vue' import PopupEdit from './components/form.vue'
defineOptions({ defineOptions({