修改 承载能力评估 添加谐波次数

This commit is contained in:
GGJ
2024-07-15 14:49:52 +08:00
parent 1326b934db
commit afc0e875d8
8 changed files with 69 additions and 34 deletions

View File

@@ -64,3 +64,6 @@
// .vxe-table--render-default .is--disabled.vxe-cell--checkbox .vxe-checkbox--icon{ // .vxe-table--render-default .is--disabled.vxe-cell--checkbox .vxe-checkbox--icon{
// color: #fff0; // color: #fff0;
// } // }
.vxe-table--tooltip-wrapper {
z-index: 10000 !important;
}

View File

@@ -62,13 +62,27 @@
<MyEChart :options="options2" /> <MyEChart :options="options2" />
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="谐波电流幅值" name="3" class="mt10"> <el-tab-pane label="谐波电流幅值" name="3" class="mt10">
<div style="position: relative; height: 32px">
<el-select
v-model="harmonicValue"
style="position: absolute; right: 0px; width: 200px"
placeholder="请选择谐波"
>
<el-option
v-for="item in harmonic"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
</div>
<MyEChart :options="options3" /> <MyEChart :options="options3" />
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="首端电压模型参数" name="4"> <el-tab-pane label="首端电压模型参数" name="4">
<vxe-table height="auto" v-bind="defaultAttribute" :data="voltageList"> <vxe-table height="auto" v-bind="defaultAttribute" :data="voltageList">
<!-- <vxe-column field="name" title="项别模型参数"></vxe-column> --> <!-- <vxe-column field="name" title="项别模型参数"></vxe-column> -->
<vxe-colgroup field="group0" title="模型参数"> <vxe-colgroup field="group0" title="模型参数">
<vxe-column field="name" width="180" title="别"></vxe-column> <vxe-column field="name" width="180" title="别"></vxe-column>
</vxe-colgroup> </vxe-colgroup>
<vxe-column field="c" title="C"></vxe-column> <vxe-column field="c" title="C"></vxe-column>
<vxe-column field="a" title="a"></vxe-column> <vxe-column field="a" title="a"></vxe-column>
@@ -155,7 +169,7 @@ import { mainHeight } from '@/utils/layout'
import MyEChart from '@/components/echarts/MyEchart.vue' import MyEChart from '@/components/echarts/MyEchart.vue'
import { useMonitoringPoint } from '@/stores/monitoringPoint' import { useMonitoringPoint } from '@/stores/monitoringPoint'
import { defaultAttribute } from '@/components/table/defaultAttribute' import { defaultAttribute } from '@/components/table/defaultAttribute'
import { harmonicOptions } from '@/utils/dictionary'
import { Select } from '@element-plus/icons-vue' import { Select } from '@element-plus/icons-vue'
import { ElMessage } from 'element-plus' import { ElMessage } from 'element-plus'
import { import {
@@ -171,6 +185,7 @@ import {
} from '@/api/advance-boot/bearingCapacity' } from '@/api/advance-boot/bearingCapacity'
import { useDictData } from '@/stores/dictData' import { useDictData } from '@/stores/dictData'
const props = defineProps(['rowList']) const props = defineProps(['rowList'])
const harmonic = harmonicOptions.filter(item => item.value < 26)
const monitoringPoint = useMonitoringPoint() const monitoringPoint = useMonitoringPoint()
const size = ref(20) const size = ref(20)
@@ -209,6 +224,7 @@ const tableData = ref([
level4: '/' level4: '/'
} }
]) ])
const harmonicValue = ref(2)
const TreeRef = ref() const TreeRef = ref()
const voltageList: any = ref([]) const voltageList: any = ref([])
const showAssess = ref(false) const showAssess = ref(false)
@@ -269,7 +285,8 @@ const onSubmit = async () => {
endTime: props.rowList.endTime || datePickerRef.value.timeValue[1], endTime: props.rowList.endTime || datePickerRef.value.timeValue[1],
lineId: props.rowList.lineId || dotList.value.id, lineId: props.rowList.lineId || dotList.value.id,
startTime: props.rowList.startTime || datePickerRef.value.timeValue[0], startTime: props.rowList.startTime || datePickerRef.value.timeValue[0],
userId: dictData.state.area[0].id userId: dictData.state.area[0].id,
time: harmonicValue.value
} }
options1.value = {} options1.value = {}
options2.value = {} options2.value = {}
@@ -357,21 +374,27 @@ const setEChart = (val: any, data: any, text: string, name: string) => {
type: 'line', type: 'line',
// smooth: true, // smooth: true,
symbol: 'none', symbol: 'none',
data: data.filter(item => item.phaseType == 'A').map(item => item.value.toFixed(3)) data: data
.filter(item => item.phaseType == 'A')
.map(item => (item.value == 3.1415926 ? '' : item.value.toFixed(3)))
}, },
{ {
name: 'B', name: 'B',
type: 'line', type: 'line',
// smooth: true, // smooth: true,
symbol: 'none', symbol: 'none',
data: data.filter(item => item.phaseType == 'B').map(item => item.value.toFixed(3)) data: data
.filter(item => item.phaseType == 'B')
.map(item => (item.value == 3.1415926 ? '' : item.value.toFixed(3)))
}, },
{ {
name: 'C', name: 'C',
type: 'line', type: 'line',
// smooth: true, // smooth: true,
symbol: 'none', symbol: 'none',
data: data.filter(item => item.phaseType == 'C').map(item => item.value.toFixed(3)) data: data
.filter(item => item.phaseType == 'C')
.map(item => (item.value == 3.1415926 ? '' : item.value.toFixed(3)))
} }
] ]
} }

View File

@@ -17,9 +17,9 @@
<pane> <pane>
<div style="position: relative; height: 100%"> <div style="position: relative; height: 100%">
<el-tabs v-model="activeName" type="border-card" class="demo-tabs" style="height: 100%"> <el-tabs v-model="activeName" type="border-card" class="demo-tabs" style="height: 100%">
<el-tab-pane label="稳态综合评估" name="1" lazy v-if="!isReload"> <!-- <el-tab-pane label="稳态综合评估" name="1" lazy v-if="!isReload">
<Wentaizonghepinggu /> <Wentaizonghepinggu />
</el-tab-pane> </el-tab-pane> -->
<el-tab-pane label="稳态指标合格率" name="2" lazy v-if="!isReload"> <el-tab-pane label="稳态指标合格率" name="2" lazy v-if="!isReload">
<Wentaizhibiaohegelv /> <Wentaizhibiaohegelv />
</el-tab-pane> </el-tab-pane>
@@ -75,7 +75,7 @@ const pointTree = ref()
const size = ref(0) const size = ref(0)
const isReload = ref(false) const isReload = ref(false)
const height = mainHeight(40) const height = mainHeight(40)
const activeName = ref('1') const activeName = ref('2')
onMounted(() => { onMounted(() => {
const dom = document.getElementById('navigation-splitpanes') const dom = document.getElementById('navigation-splitpanes')
if (dom) { if (dom) {

View File

@@ -1,8 +1,8 @@
<template> <template>
<el-dialog draggable v-model="dialogVisible" :title="title" width="800px" :before-close="handleClose"> <el-dialog draggable v-model="dialogVisible" v-loading="loading" :title="title" width="80%" :before-close="handleClose">
<div style="height: 45vh"> <div style="height: 45vh">
<vxe-table height="auto" v-bind="defaultAttribute" :data="List"> <vxe-table show-overflow v-bind="defaultAttribute" :data="List">
<vxe-column field="time" title="日期" width="250px"></vxe-column> <vxe-column field="time" title="日期" width="230px"></vxe-column>
<vxe-column field="overLimitInfo" title="越限详情"></vxe-column> <vxe-column field="overLimitInfo" title="越限详情"></vxe-column>
</vxe-table> </vxe-table>
</div> </div>
@@ -19,10 +19,12 @@ const dictData = useDictData()
const dialogVisible = ref(false) const dialogVisible = ref(false)
const title: any = ref('') const title: any = ref('')
const List: any = ref([]) const List: any = ref([])
const loading = ref(false)
const open = (row: any) => { const open = (row: any) => {
dialogVisible.value = true dialogVisible.value = true
title.value = row.text title.value = row.text
loading.value = true
List.value = []
overLimitDetail({ overLimitDetail({
lineId: row.row.lineId, lineId: row.row.lineId,
targetId: row.row.targetType, targetId: row.row.targetType,
@@ -30,6 +32,7 @@ const open = (row: any) => {
searchEndTime: row.list.searchEndTime searchEndTime: row.list.searchEndTime
}).then(res => { }).then(res => {
List.value = res.data List.value = res.data
loading.value = false
}) })
} }
@@ -39,4 +42,7 @@ const handleClose = () => {
defineExpose({ open }) defineExpose({ open })
</script> </script>
<style lang="scss" scoped></style>
<style lang="scss">
/* 提升 VxeTable tooltip 的层级 */
</style>

View File

@@ -316,7 +316,9 @@ const tableStore = new TableStore({
}) })
tableStore.table.params.alertThreshold = 5 tableStore.table.params.alertThreshold = 5
tableStore.table.params.alarmThreshold = 5 tableStore.table.params.alarmThreshold = 5
tableStore.table.params.targetList = [] tableStore.table.params.targetList = exceeded.filter(item => item.code == 'Total_Indicator')[0].id
? [exceeded.filter(item => item.code == 'Total_Indicator')[0].id]
: []
tableStore.table.params.lineType = '' tableStore.table.params.lineType = ''
tableStore.table.params.dataType = '1' tableStore.table.params.dataType = '1'
tableStore.table.params.deptId = dictData.state.area[0].id tableStore.table.params.deptId = dictData.state.area[0].id
@@ -325,6 +327,7 @@ provide('tableStore', tableStore)
onMounted(() => { onMounted(() => {
tableStore.index() tableStore.index()
}) })
const changeAlert = e => { const changeAlert = e => {
if (e == null) { if (e == null) {
tableStore.table.params.alertThreshold = 5 tableStore.table.params.alertThreshold = 5

View File

@@ -182,7 +182,7 @@ const tableStore = new TableStore({
// visible:!jb_pl.value && !jb_dky.value?true:false, // visible:!jb_pl.value && !jb_dky.value?true:false,
{ {
title: '操作', title: '操作',
minWidth: 180, minWidth: 300,
fixed: 'right', fixed: 'right',
render: 'buttons', render: 'buttons',

View File

@@ -129,22 +129,22 @@ const tableStore = new TableStore({
return !row.processInstanceId return !row.processInstanceId
} }
}, },
{ // {
name: 'edit', // name: 'edit',
title: '编辑', // title: '编辑',
type: 'primary', // type: 'primary',
icon: 'el-icon-Open', // icon: 'el-icon-Open',
render: 'basicButton', // render: 'basicButton',
showDisabled: row => { // showDisabled: row => {
return row.createBy != adminInfo.$state.id || !(row.status == 0) // return row.createBy != adminInfo.$state.id || !(row.status == 0)
}, // },
disabled: row => { // disabled: row => {
return !(row.status == 0) // return !(row.status == 0)
}, // },
click: row => { // click: row => {
debugForms.value.open('编辑', row) // debugForms.value.open('编辑', row)
} // }
}, // },
{ {
name: 'productSetting', name: 'productSetting',
title: '申请联调', title: '申请联调',

View File

@@ -299,7 +299,7 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item for="-" label="监测点编码:" prop="lineId"> <el-form-item for="-" label="监测点编码:" >
<el-input v-model="form.lineId" autocomplete="off" placeholder="请输入监测点编码" /> <el-input v-model="form.lineId" autocomplete="off" placeholder="请输入监测点编码" />
</el-form-item> </el-form-item>
<el-form-item for="-" label="监测点性质:" prop="pointNature"> <el-form-item for="-" label="监测点性质:" prop="pointNature">