联调二级评估页面

This commit is contained in:
guanj
2025-08-11 16:13:51 +08:00
parent 8d613f7a57
commit aa3dbb6c5d
22 changed files with 864 additions and 474 deletions

View File

@@ -1,47 +1,47 @@
<template>
<el-dialog draggable v-model="Views" title="承载能力评估策略" width="1400" :before-close="handleClose">
<el-dialog v-model="Views" draggable title="评估策略配置" width="1000" :before-close="handleClose">
<div style="display: flex; justify-content: end">
<el-button icon="el-icon-Refresh" type="primary" @click="restores">一键还原</el-button>
</div>
<el-divider content-position="left">光伏电站承载能力评估策略</el-divider>
<el-divider content-position="left">光伏电站评估策略配置</el-divider>
<vxe-table v-bind="defaultAttribute" :loading="loading" :data="photovoltaicData" :span-method="mergeRowMethod">
<vxe-colgroup field="group0" title="等级">
<vxe-column field="name" width="180" title="结果"></vxe-column>
</vxe-colgroup>
<vxe-column field="comparisonOperators1" title="安全(个)">
<template #default="row">
<div @click="cells(row, row.row.comparisonOperators1, row.row.count1, 0)">
{{ row.row.comparisonOperators1
<div class="cellBox" @click="cells(row, row.row.comparisonOperators1, row.row.count1, 0)">
{{ symbolJudgment(row.row.comparisonOperators1)
}}{{ row.row.comparisonOperators1 == '/' ? '' : row.row.count1 }}
</div>
</template>
</vxe-column>
<vxe-column field="comparisonOperators2" title="III级预警(个)">
<template #default="row">
<div @click="cells(row, row.row.comparisonOperators2, row.row.count2, 0)">
{{ row.row.comparisonOperators2
<div class="cellBox" @click="cells(row, row.row.comparisonOperators2, row.row.count2, 0)">
{{ symbolJudgment(row.row.comparisonOperators2)
}}{{ row.row.comparisonOperators2 == '/' ? '' : row.row.count2 }}
</div>
</template>
</vxe-column>
<vxe-column field="comparisonOperators3" title="II级预警(个)">
<template #default="row">
<div @click="cells(row, row.row.comparisonOperators3, row.row.count3, 0)">
{{ row.row.comparisonOperators3
<div class="cellBox" @click="cells(row, row.row.comparisonOperators3, row.row.count3, 0)">
{{ symbolJudgment(row.row.comparisonOperators3)
}}{{ row.row.comparisonOperators3 == '/' ? '' : row.row.count3 }}
</div>
</template>
</vxe-column>
<vxe-column field="comparisonOperators4" title="I级预警(个)">
<template #default="row">
<div @click="cells(row, row.row.comparisonOperators4, row.row.count4, 0)">
{{ row.row.comparisonOperators4
<div class="cellBox" @click="cells(row, row.row.comparisonOperators4, row.row.count4, 0)">
{{ symbolJudgment(row.row.comparisonOperators4)
}}{{ row.row.comparisonOperators4 == '/' ? '' : row.row.count4 }}
</div>
</template>
</vxe-column>
</vxe-table>
<el-divider content-position="left">充电站电加热负荷电气化铁路承载能力评估</el-divider>
<el-divider content-position="left">充电站电加热负荷电气化铁路评估策略配置</el-divider>
<vxe-table v-bind="defaultAttribute" ref="xTable" :loading="loading" :data="tableData">
<vxe-colgroup field="group0" title="等级">
<vxe-column field="name" width="180" title="结果"></vxe-column>
@@ -49,8 +49,8 @@
<vxe-column field="comparisonOperators1" title="THD(%)">
<template #default="row">
<div @click="cells(row, row.row.comparisonOperators1, row.row.count1, 1)">
{{ row.row.comparisonOperators1
<div class="cellBox" @click="cells(row, row.row.comparisonOperators1, row.row.count1, 1)">
{{ symbolJudgment(row.row.comparisonOperators1)
}}{{ row.row.comparisonOperators1 == '/' ? '' : row.row.count1 }}
</div>
</template>
@@ -58,31 +58,32 @@
<vxe-column field="comparisonOperators2" title="2~25次谐波合格个数">
<template #default="row">
<div @click="cells(row, row.row.comparisonOperators2, row.row.count2, 2)">
{{ row.row.comparisonOperators2
<div class="cellBox" @click="cells(row, row.row.comparisonOperators2, row.row.count2, 2)">
{{ symbolJudgment(row.row.comparisonOperators2)
}}{{ row.row.comparisonOperators2 == '/' ? '' : row.row.count2 }}
</div>
</template>
</vxe-column>
<vxe-column field="comparisonOperators3" title="畸次谐波合格个数">
<template #default="row">
<div @click="cells(row, row.row.comparisonOperators3, row.row.count3, 3)">
{{ row.row.comparisonOperators3
<div class="cellBox" @click="cells(row, row.row.comparisonOperators3, row.row.count3, 3)">
{{ symbolJudgment(row.row.comparisonOperators3)
}}{{ row.row.comparisonOperators3 == '/' ? '' : row.row.count3 }}
</div>
</template>
</vxe-column>
<vxe-column field="comparisonOperators4" title="偶次谐波合格个数">
<template #default="row">
<div @click="cells(row, row.row.comparisonOperators4, row.row.count4, 4)">
{{ row.row.comparisonOperators4
<div class="cellBox" @click="cells(row, row.row.comparisonOperators4, row.row.count4, 4)">
{{ symbolJudgment(row.row.comparisonOperators4)
}}{{ row.row.comparisonOperators4 == '/' ? '' : row.row.count4 }}
</div>
</template>
</vxe-column>
</vxe-table>
<!-- 修改 -->
<el-dialog draggable v-model="dialogVisible" title="安全等级配置" width="500">
<el-dialog class="dialogBox" draggable v-model="dialogVisible" title="安全等级配置" width="500">
<el-form :model="form" label-width="auto">
<el-form-item label="运算符号:">
<el-radio-group v-model="form.comparisonOperators" @change="groupChang">
@@ -90,7 +91,14 @@
</el-radio-group>
</el-form-item>
<el-form-item label="数量:">
<el-input-number v-model="form.count" :disabled="disabled" :min="0" :precision="0" :max="10000000" style="width: 100%" />
<el-input-number
v-model="form.count"
:disabled="disabled"
:min="0"
:precision="0"
:max="10000000"
style="width: 200px"
/>
</el-form-item>
</el-form>
<template #footer>
@@ -254,6 +262,13 @@ const mergeRowMethod = ({ row, _rowIndex, column, visibleData }) => {
}
}
}
const symbolJudgment = (value: string) => {
if (value == '==') {
return '='
} else {
return value
}
}
onMounted(() => {
info()
})
@@ -265,7 +280,9 @@ const handleClose = () => {
<style lang="scss" scoped>
:deep(.vxe-table--header thead tr:first-of-type th:first-of-type) {
background: #f8f8f9;
// background: var(--vxe-table-header-background-color);
background-image: linear-gradient(var(--vxe-table-border-color), var(--vxe-table-border-color)),
linear-gradient(#e8eaec00, #e8eaec00);
}
:deep(.vxe-table--header thead tr:first-of-type th:first-of-type:before) {
content: '';
@@ -293,4 +310,37 @@ const handleClose = () => {
transform: rotate(-66deg); /*这里需要自己调整,根据线的位置*/
transform-origin: bottom;
}
.cellBox {
cursor: pointer;
color: var(--el-color-primary);
font-weight: 600;
text-decoration: underline;
}
</style>
<style lang="scss">
.el-dialog__body {
max-height: none !important;
}
.dialogBox {
margin-top: calc(15vh + 200px) !important;
}
/* 确保对话框在页面居中 */
// .el-dialog {
// display: flex;
// flex-direction: column;
// margin: 0 !important;
// position: absolute;
// top: 50%;
// left: 50%;
// transform: translate(-50%, -50%);
// max-height: calc(100% - 30px);
// max-width: calc(100% - 30px);
// }
// /* 确保遮罩层全屏显示 */
// .el-dialog__wrapper {
// display: flex;
// align-items: center;
// justify-content: center;
// }
</style>