联调二级评估

This commit is contained in:
wr
2025-08-26 11:07:11 +08:00
parent e277fd01a3
commit 1fb833c6ad
10 changed files with 1372 additions and 320 deletions

View File

@@ -1,11 +1,23 @@
<template>
<el-collapse-item :title="item.name" v-for="(item, index) in column" :key="index" :name="index + 3">
<el-collapse-item :title="item.name" v-for="(item, index) in column" :key="index" :name="index + 3" >
<div class="mb10">
<el-button type="primary" size="small" icon="el-icon-Plus" @click="addFform(item)">新增</el-button>
<el-button type="primary" size="small" icon="el-icon-Delete" @click="deleteFform(item, index)">
<el-button
type="primary"
size="small"
icon="el-icon-Plus"
@click="addFform(item)"
:disabled="item.key === 'capacitorList' && props.isWithCapacitor === '00' || props.disabled"
>
新增</el-button>
<el-button
type="primary"
size="small"
icon="el-icon-Delete"
@click="deleteFform(item, index)"
:disabled="item.key === 'capacitorList' && props.isWithCapacitor === '00' || props.disabled"
>
删除
</el-button>
<!-- <el-button type="primary" size="small" icon="el-icon-Download">导出</el-button> -->
</div>
<div style="height: 250px">
<vxe-table
@@ -24,10 +36,16 @@
:field="k.field"
:title="k.title"
:formatter="formatter"
></vxe-column>
<vxe-column title="操作" width="150px">
<template #default="{ row }">
<el-button type="text" @click="edit(item, row)">编辑</el-button>
<el-button
type="text"
@click="edit(item, row)"
:disabled="item.key === 'capacitorList' && props.isWithCapacitor === '00' || props.disabled"
>
编辑</el-button>
</template>
</vxe-column>
</vxe-table>
@@ -52,18 +70,36 @@ import {
loadParamList,
loadParamDelete,
shockList,
shockDelete
shockDelete,
loadList
} from '@/api/advance-boot/assess'
import { defaultAttribute } from '@/components/table/defaultAttribute'
import { ElMessage, ElMessageBox, ElDatePicker } from 'element-plus'
const props = defineProps({
assessId: { type: String, required: true }
assessId: {
type: String,
required: true
},
isWindfarm: {
type: String,
default: ''
},
isWithCapacitor:{
type: String,
default: ''
},
disabled: { // 定义 disabled prop
type: Boolean,
required: false,
default: false
}
})
const dictData = useDictData()
//字典获取电压等级
const voltageleveloption = dictData.getBasicData('Dev_Voltage_Stand')
const transformer: any = ref([])
const characteristic: any = ref([])
const shockRef: any = ref([])
const addformRef = ref()
const xTableRef = ref()
@@ -75,6 +111,7 @@ const column: any = ref([
key: 'transformerList',
child: [
{
title: '用户变压器名称',
field: 'transName'
},
@@ -90,7 +127,6 @@ const column: any = ref([
},
{
loading: false,
name: '电容器组参数维护',
key: 'capacitorList',
child: [
@@ -186,6 +222,11 @@ const column: any = ref([
title: '冲击负荷类型',
field: 'inpactloadtypeId'
},
{
title: '启动方式',
field: 'inpactloadStartup',
},
{
title: '数量',
@@ -214,7 +255,8 @@ const column: any = ref([
},
{
title: '负荷频度',
field: 'inpactloadFreq'
field: 'inpactloadFreq',
},
{
title: '闪变叠加系数',
@@ -223,6 +265,18 @@ const column: any = ref([
]
}
])
const filteredColumn = computed(() => {
// const windfarmValue = props.isWindfarm;
// if (windfarmValue === '01') {
// // 如果是风电场,显示除冲击负荷外的所有项
// return column.value.filter((item: any) => item.key !== 'impactList')
// } else {
// // 如果不是风电场,显示除风电参数外的所有项
// return column.value.filter((item: any) => item.key !== 'windPowerList')
// }
})
const dataList = ref({
transformerList: [], //变压器参数维护
capacitorList: [], //电容器
@@ -304,8 +358,7 @@ const edit = (item: any, row: any) => {
}
const info = async (i: number) => {
column.value[i].loading = true
//column.value[i].loading = true
if (i == 0) {
// 变压器参数维护
await assessTransformerParamList({ assessId: props.assessId }).then(res => {
@@ -328,18 +381,40 @@ const info = async (i: number) => {
})
} else if (i == 4) {
// 冲击性负荷
await shockList({ assessId: props.assessId }).then(res => {
await shockList({ assessId: props.assessId }).then((res: { data: never[] }) => {
dataList.value.impactList = res.data
})
}
column.value[i].loading = false
}
const typeId = ref(null)
// 过滤数据
const formatter = (row: any) => {
if (row.column.field == 'transtypeId') {
const found = transformer.value.find((item: any) => item.transtypeId == row.cellValue)
return found.transtypeName || '' // 使用可选链并提供默认值
} else if (row.column.field == 'harmId') {
}else if(row.column.field =='inpactloadtypeId'){
const found = shockRef.value.find((item: any) => item.inpactloadtypeId == row.cellValue)
typeId.value = found.inpactloadtypeId
return found.inpactloadtypeName|| '' // 使用可选链并提供默认值
}else if(row.column.field =='inpactloadStartup'){
const found = shockRef.value.find((item: any) => item.inpactloadtypeId == typeId.value)
return found.inpactloadStartup
}
else if(row.column.field == 'isIsolationtrans'){
return row.cellValue == '01' ? '是' : '否'
}else if(row.column.field =='inpactloadFreq'){
if(row.cellValue == '01'){
return 'N≤4次/d'
}else if(row.cellValue == '02'){
return 'N>4次/d且N≤2次/h'
}else{
return '2次/h<N≤10次/h'
}
}
else if (row.column.field == 'harmId') {
const found = characteristic.value.find((item: any) => item.harmId == row.cellValue)
return found.harmName || '' // 使用可选链并提供默认值
} else if (
@@ -364,6 +439,11 @@ const dictionary = () => {
characteristicList({}).then((res: any) => {
characteristic.value = res.data
})
//冲击负荷类型
loadList({}).then((res: any) => {
shockRef.value = res.data
})
}
onMounted(async () => {
await dictionary()