联调 承载能力评估 40%

This commit is contained in:
GGJ
2024-03-07 19:02:49 +08:00
parent f92e820986
commit 5b296d9203
10 changed files with 227 additions and 190 deletions

View File

@@ -1,109 +1,52 @@
<template>
<el-dialog v-model="policyView" title="承载能力评估策略" width="1400" :before-close="handleClose">
<div style="display: flex; justify-content:end">
<el-button icon="el-icon-Refresh" type="primary" >一键还原</el-button>
<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>
<vxe-table
v-bind="defaultAttribute"
ref="xTable"
:column-config="{ resizable: true }"
:loading="loading"
:data="tableData"
:edit-config="{ trigger: 'manual', mode: 'row', autoClear: false, showIcon: false }"
:data="photovoltaicData"
:column-config="{ resizable: true }"
:mouse-config="{ area: true, extension: false }"
>
<vxe-colgroup field="group0" title="等级" align="right">
<vxe-column field="name" width="180" title="结果" :edit-render="{}">
<template #edit="{ row }">
<vxe-input v-model="form.name" type="text"></vxe-input>
</template>
</vxe-column>
<vxe-column field="name" width="180" title="结果"></vxe-column>
</vxe-colgroup>
<vxe-column field="role" title="安全(个)" :edit-render="{}">
<template #edit="{ row }">
<vxe-input v-model="form.role" type="text" placeholder="请输入昵称"></vxe-input>
</template>
</vxe-column>
<vxe-column field="num6" title="III级预警(个)" :edit-render="{}">
<template #edit="{ row }">
<vxe-input v-model="form.num6" type="text"></vxe-input>
</template>
</vxe-column>
<vxe-column field="date12" title="II级预警(个)" :edit-render="{}">
<template #edit="{ row }">
<vxe-input v-model="form.date12" type="text"></vxe-input>
</template>
</vxe-column>
<vxe-column field="date13" title="I级预警(个)" :edit-render="{}">
<template #edit="{ row }">
<vxe-input v-model="form.date13" type="text"></vxe-input>
</template>
</vxe-column>
<vxe-column title="操作" width="160">
<vxe-column field="count1" title="安全(个)">
<template #default="{ row }">
<template v-if="isActiveStatus(row)">
<el-button type="primary" size="small" @click="saveRowEvent(row)" link>保存</el-button>
<el-button type="primary" size="small" @click="cancelRowEvent(row)" link>取消</el-button>
</template>
<template v-else>
<el-button size="small" @click="editRowEvent(row)" link>编辑</el-button>
</template>
{{ row.comparisonOperators1 }}{{ row.comparisonOperators1 == '/' ? '' : row.count1 }}
</template>
</vxe-column>
<vxe-column field="count2" title="III级预警(个)">
<template #default="{ row }">
{{ row.comparisonOperators2 }}{{ row.comparisonOperators2 == '/' ? '' : row.count2 }}
</template>
</vxe-column>
<vxe-column field="count3" title="II级预警(个)">
<template #default="{ row }">
{{ row.comparisonOperators3 }}{{ row.comparisonOperators3 == '/' ? '' : row.count3 }}
</template>
</vxe-column>
<vxe-column field="count4" title="I级预警(个)">
<template #default="{ row }">
{{ row.comparisonOperators4 }}{{ row.comparisonOperators4 == '/' ? '' : row.count4 }}
</template>
</vxe-column>
</vxe-table>
<el-divider content-position="left">充电站电加热负荷电气化铁路承载能力评估</el-divider>
<vxe-table
v-bind="defaultAttribute"
ref="xTable"
:column-config="{ resizable: true }"
:loading="loading"
:data="tableData"
:edit-config="{ trigger: 'manual', mode: 'row', autoClear: false, showIcon: false }"
>
<vxe-table v-bind="defaultAttribute" ref="xTable" :loading="loading" :data="tableData">
<vxe-colgroup field="group0" title="等级" align="right">
<vxe-column field="name" width="180" title="结果" :edit-render="{}">
<template #edit="{ row }">
<vxe-input v-model="form.name" type="text"></vxe-input>
</template>
</vxe-column>
<vxe-column field="name" width="180" title="结果"></vxe-column>
</vxe-colgroup>
<vxe-column field="role" title="THD(%)" :edit-render="{}">
<template #edit="{ row }">
<vxe-input v-model="form.role" type="text" placeholder="请输入昵称"></vxe-input>
</template>
</vxe-column>
<vxe-column field="role" title="THD(%)"></vxe-column>
<vxe-column field="num6" title="2~25次谐波合格个数" :edit-render="{}">
<template #edit="{ row }">
<vxe-input v-model="form.num6" type="text"></vxe-input>
</template>
</vxe-column>
<vxe-column field="date12" title="畸次谐波合格个数" :edit-render="{}">
<template #edit="{ row }">
<vxe-input v-model="form.date12" type="text"></vxe-input>
</template>
</vxe-column>
<vxe-column field="date13" title="偶次谐波合格个数" :edit-render="{}">
<template #edit="{ row }">
<vxe-input v-model="form.date13" type="text"></vxe-input>
</template>
</vxe-column>
<vxe-column title="操作" width="160">
<template #default="{ row }">
<template v-if="isActiveStatus(row)">
<el-button type="primary" size="small" @click="saveRowEvent(row)" link>保存</el-button>
<el-button type="primary" size="small" @click="cancelRowEvent(row)" link>取消</el-button>
</template>
<template v-else>
<el-button size="small" @click="editRowEvent(row)" link>编辑</el-button>
</template>
</template>
</vxe-column>
<vxe-column field="num6" title="2~25次谐波合格个数"></vxe-column>
<vxe-column field="date12" title="畸次谐波合格个数"></vxe-column>
<vxe-column field="date13" title="偶次谐波合格个数"></vxe-column>
</vxe-table>
</el-dialog>
</template>
@@ -111,7 +54,8 @@
import { ref, onMounted, provide, reactive } from 'vue'
import { defaultAttribute } from '@/components/table/defaultAttribute'
import { mainHeight } from '@/utils/layout'
import { json } from 'stream/consumers'
import { queyDetail, addCarryc, restore } from '@/api/advance-boot/bearingCapacity'
import { ElMessage, ElMessageBox } from 'element-plus'
defineOptions({
name: 'Advancedanalysis/eventcorrelation'
})
@@ -121,7 +65,7 @@ const policyView = ref(true)
const xTable = ref()
const loading = ref(false)
const photovoltaicData: any = ref([])
const tableData = ref([
{
id: 10001,
@@ -160,35 +104,34 @@ const form = ref({
id: '',
name: '',
role: '',
num6: '',
date12: '',
date13: ''
})
const isActiveStatus = row => {
return xTable.value.isEditByRow(row)
}
// 编辑配置
const editRowEvent = row => {
form.value = JSON.parse(JSON.stringify(row))
xTable.value.setEditRow(row)
}
// 保存配置
const saveRowEvent = row => {
xTable.value.clearEdit().then(() => {
loading.value = true
setTimeout(() => {
loading.value = false
console.log('🚀 ~ saveRowEvent ~ row:', form.value)
}, 300)
queyDetail().then(res => {
photovoltaicData.value = []
let title = ['安全', 'III级预警', 'II级预警', 'I级预警']
// photovoltaicData.value = res.data
for (let i: number = 1; i < 5; i++) {
photovoltaicData.value.push({ ...setData(res.data.filter(item => item.indexResult == i)), name: title[i - 1] })
}
console.log('🚀 ~ queyDetail ~ res.data.filter(item=>item.indexResult==1):', photovoltaicData.value)
})
const setData = (row: any) => {
let data = {}
row.forEach((item: any) => {
data[`comparisonOperators${item.result}`] = item.comparisonOperators
data[`count${item.result}`] = item.count
})
return data
}
// 取消配置
const cancelRowEvent = row => {
xTable.value.clearEdit().then(() => {
// 还原行数据
xTable.value.revertData(row)
// 还原
const restores = () => {
restore().then(res => {
ElMessage.success('还原成功!')
})
}