联调二级评估新增功能

This commit is contained in:
guanj
2025-06-18 16:39:28 +08:00
parent 49b476ebc8
commit 226031a451
4 changed files with 269 additions and 242 deletions

View File

@@ -169,4 +169,85 @@ export function assessTransformerParamList(data: any) {
data
})
}
//修改评估变压器参数
export function assessTransformerParamEdit(data: any) {
return createAxios({
url: '/advance-boot/assessTransformerParam/edit',
method: 'post',
data
})
}
//删除评估变压器参数
export function assessTransformerParamDelete(data: any) {
return createAxios({
url: '/advance-boot/assessTransformerParam/delete',
method: 'post',
data
})
}
//获取评估电容器参数列表
export function capacitorList(data: any) {
return createAxios({
url: '/advance-boot/assessCapacitorParam/list',
method: 'post',
data
})
}
//新增评估电容器参数
export function capacitorAdd(data: any) {
return createAxios({
url: '/advance-boot/assessCapacitorParam/add',
method: 'post',
data
})
}
//删除评估电容器参数
export function capacitorDelete(data: any) {
return createAxios({
url: '/advance-boot/assessCapacitorParam/delete',
method: 'post',
data
})
}
//修改评估电容器参数
export function capacitorEdit(data: any) {
return createAxios({
url: '/advance-boot/assessCapacitorParam/edit',
method: 'post',
data
})
}
//获取风电场类负荷参数列表
export function windPowerList(data: any) {
return createAxios({
url: '/advance-boot/assessWindLoadParam/list',
method: 'post',
data
})
}
//新增风电场类负荷参数
export function windPowerAdd(data: any) {
return createAxios({
url: '/advance-boot/assessWindLoadParam/add',
method: 'post',
data
})
}
//删除风电场类负荷参数
export function windPowerDelete(data: any) {
return createAxios({
url: '/advance-boot/assessWindLoadParam/delete',
method: 'post',
data
})
}
//修改风电场类负荷参数
export function windPowerDdit(data: any) {
return createAxios({
url: '/advance-boot/assessWindLoadParam/edit',
method: 'post',
data
})
}

View File

@@ -18,13 +18,33 @@
:value="item.transtypeId"
></el-option>
</el-select>
<el-input-number
v-else-if="item.field == 'transNum'"
v-else-if="
item.field == 'transNum' ||
item.field == 'capacitorNum' ||
item.field == 'capacitorCapacity' ||
item.field == 'capacitorReactance'
"
style="width: 100%"
v-model="form[item.field]"
show-word-limit
placeholder="请输入值"
></el-input-number>
<el-select
v-else-if="item.field == 'capacitorScale'"
v-model="form[item.field]"
filterable
placeholder="请选择接入变电站"
>
<el-option
v-for="item in voltageleveloption"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
<el-input v-else v-model.trim="form[item.field]" placeholder="请输入内容" />
</el-form-item>
</el-form>
@@ -41,38 +61,52 @@
<script lang="ts" setup>
import { ref, inject } from 'vue'
import { reactive } from 'vue'
import { transformerList, assessTransformerParamAdd } from '@/api/advance-boot/assess'
import { useDictData } from '@/stores/dictData'
import {
transformerList,
assessTransformerParamAdd,
assessTransformerParamEdit,
capacitorAdd,
capacitorEdit
} from '@/api/advance-boot/assess'
import { ElMessage, ElMessageBox, ElDatePicker } from 'element-plus'
const emits = defineEmits<{
(e: 'init'): void
}>()
const emits = defineEmits(['init'])
const child: any = ref([])
const transformer: any = ref([])
const form: any = reactive({})
const form: any = ref({})
const dictData = useDictData()
//字典获取电压等级
const voltageleveloption = dictData.getBasicData('Dev_Voltage_Stand')
const rules = {
transName: [{ required: true, message: '请输入用户变压器名称', trigger: 'blur' }],
transtypeId: [{ required: true, message: '请选择变压器型号', trigger: 'change' }],
transNum: [{ required: true, message: '请输入变压器台数', trigger: 'blur' }]
transNum: [{ required: true, message: '请输入变压器台数', trigger: 'blur' }],
capacitorName: [{ required: true, message: '请输入用户电容器名称', trigger: 'blur' }],
capacitorNum: [{ required: true, message: '请输入电容器组数量', trigger: 'blur' }],
capacitorCapacity: [{ required: true, message: '请输入单组容量', trigger: 'blur' }],
capacitorReactance: [{ required: true, message: '请输入电抗率', trigger: 'blur' }],
capacitorScale: [{ required: true, message: '请选择电压等级', trigger: 'change' }],
}
const formRef = ref()
const dialogVisible = ref(false)
const title = ref('')
const open = (row: any) => {
console.log("🚀 ~ open ~ row:", row)
console.log('🚀 ~ open ~ row:', row)
info()
title.value = row.title + `_${row.item.name}`
child.value = row.item.child
if (row.title == '新增') {
row.item.child.forEach((item: any) => {
form[item.field] = ''
form.value[item.field] = ''
})
form.value.assessId = row.assessId
} else {
row.item.child.forEach((item: any) => {
form[item.field] = row.row[item.field]
form.value = JSON.parse(JSON.stringify(row.row))
})
}
form.assessId = row.assessId
dialogVisible.value = true
}
const info = async () => {
@@ -84,12 +118,31 @@ const info = async () => {
const submit = async () => {
formRef.value.validate((valid: any) => {
if (valid) {
if (title.value == '新增_变压器参数维护')
assessTransformerParamAdd(form).then((res: any) => {
if (title.value == '新增_变压器参数维护') {
assessTransformerParamAdd(form.value).then((res: any) => {
ElMessage.success('新增成功')
emits('init')
emits('init', 0)
dialogVisible.value = false
})
} else if (title.value == '编辑_变压器参数维护') {
assessTransformerParamEdit(form.value).then((res: any) => {
ElMessage.success('修改成功')
emits('init', 0)
dialogVisible.value = false
})
} else if (title.value == '新增_电容器组参数维护') {
capacitorAdd(form.value).then((res: any) => {
ElMessage.success('新增成功')
emits('init', 1)
dialogVisible.value = false
})
} else if (title.value == '编辑_电容器组参数维护') {
capacitorEdit(form.value).then((res: any) => {
ElMessage.success('修改成功')
emits('init', 1)
dialogVisible.value = false
})
}
}
})
}

View File

@@ -243,7 +243,7 @@ const form: any = ref({
agreedCapacity: 0, //用户协议容量,
withCapacitor: '', //是否包含电容器
isWindfarm: '', //用户负荷类型
windfarmCapacity: '', //用户有功功率MW
windfarmCapacity: 0, //用户有功功率MW
singleLoad: '', //是否为单相负荷
powerstationId: '', //变电站id
powerstationName: '', //变电站名称
@@ -260,49 +260,6 @@ const form: any = ref({
linetypeId: '', //导线类型
lineGridreactance: 0, // PCC电电网电抗
lineGridresistance: 0 //PCC电电网电阻
// transformer: [
// {
// name: '变压器1',
// name1: '变压器型号1',
// name2: '100'
// },
// {
// name: '变压器2',
// name1: '变压器型号2',
// name2: '100'
// }
// ], //变压器
// capacitor: [
// {
// name: '电容器1',
// name1: '20',
// name2: '100',
// name3: '72.73',
// name4: '400V'
// },
// {
// name: '电容器2',
// name1: '20',
// name2: '100',
// name3: '72.73',
// name4: '400V'
// }
// ], //电容器
// windPower: [
// {
// name: '风机1',
// name1: '0.1',
// name2: '100'
// },
// {
// name: '风机2',
// name1: '0.1',
// name2: '100'
// }
// ], //风电
// load: [], //用户负荷
// impact: [] //冲击性负荷
})
const rules = {
deptId: [{ required: true, message: '请选择部门', trigger: 'change' }],
@@ -326,165 +283,7 @@ const rules = {
lineGridreactance: [{ required: true, message: '请输入PCC点电网电阻', trigger: 'blur' }],
lineGridresistance: [{ required: true, message: '请输入PCC点电网电抗', trigger: 'blur' }]
}
const column: any = ref([
{
name: '变压器参数维护',
key: 'transformerList',
child: [
{
title: '用户变压器名称',
field: 'transName'
},
{
title: '变压器型号',
field: 'transtypeId'
},
{
title: '变压器台数',
field: 'transNum'
}
]
},
{
name: '电容器组参数维护',
key: 'capacitorList',
child: [
{
title: '用户电容器名称',
field: 'name'
},
{
title: '电容器组数量',
field: 'name1'
},
{
title: '单组容量(kVar)',
field: 'name2'
},
{
title: '电抗率(%)',
field: 'name3'
},
{
title: '电压等级',
field: 'name4'
}
]
},
{
name: '风电参数',
key: 'windPowerList',
child: [
{
title: '风机名称',
field: 'name'
},
{
title: '风机闪变系数',
field: 'name1'
},
{
title: '风机额定视在功率',
field: 'name2'
}
]
},
{
name: '用户负荷',
key: 'loadList',
child: [
{
title: '配电窒名称',
field: 'name'
},
{
title: '进线电压',
field: 'name1'
},
{
title: '配变容量(kVA)',
field: 'name2'
},
{
title: '配电变压器阻抗(%)',
field: 'name3'
},
{
title: '谐波源特性',
field: 'name4'
},
{
title: '配变低压侧电压',
field: 'name5'
},
{
title: '非线性负荷功率(kW)',
field: 'name6'
},
{
title: '功率因素',
field: 'name7'
}
]
},
{
name: '冲击性负荷',
key: 'impactList',
child: [
{
title: '冲击负荷类型',
field: 'name'
},
{
title: '冲击负荷功率(MVA)',
field: 'name1'
},
{
title: '数量',
field: 'name2'
},
{
title: '启动方式',
field: 'name3'
},
{
title: '启动容量倍数',
field: 'name4'
},
{
title: '冲击负荷高压侧电压',
field: 'name5'
},
{
title: '有无隔离变',
field: 'name6'
},
{
title: '隔离变阻抗(%)',
field: 'name7'
},
{
title: '低压侧电压',
field: 'name8'
},
{
title: '负荷频度选择',
field: 'name9'
},
{
title: '闪变叠加系数',
field: 'name10'
}
]
}
])
const dataList = ref({
transformerList: [], //变压器参数维护
capacitorList: [], //电容器
windPowerList: [], //风电
loadList: [], //用户负荷
impactList: [] //冲击性负荷
})
const form1 = ref()
const form2 = ref()
// 保存

View File

@@ -2,11 +2,19 @@
<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">删除</el-button>
<el-button type="primary" size="small" icon="el-icon-Download">导出</el-button>
<el-button type="primary" size="small" icon="el-icon-Delete" @click="deleteFform(item, index)">
删除
</el-button>
<!-- <el-button type="primary" size="small" icon="el-icon-Download">导出</el-button> -->
</div>
<div style="height: 200px">
<vxe-table height="auto" :data="dataList[item.key]" v-bind="defaultAttribute">
<div style="height: 250px">
<vxe-table
height="auto"
ref="xTableRef"
:data="dataList[item.key]"
v-bind="defaultAttribute"
v-loading="item.loading"
>
<vxe-column type="checkbox" width="60"></vxe-column>
<vxe-column type="seq" title="序号" width="60px"></vxe-column>
@@ -26,20 +34,37 @@
</div>
</el-collapse-item>
<!-- 新增 -->
<addform ref="addformRef" />
<addform ref="addformRef" @init="info" />
</template>
<script setup lang="ts">
import { ref, reactive, onMounted } from 'vue'
import addform from './addform.vue'
import { assessTransformerParamList, transformerList } from '@/api/advance-boot/assess'
import { useDictData } from '@/stores/dictData'
import {
assessTransformerParamList,
transformerList,
assessTransformerParamDelete,
capacitorList,
capacitorDelete,
windPowerList,
windPowerDelete
} 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 }
})
const transformer = ref([])
const dictData = useDictData()
//字典获取电压等级
const voltageleveloption = dictData.getBasicData('Dev_Voltage_Stand')
const transformer: any = ref([])
const addformRef = ref()
const xTableRef = ref()
const column: any = ref([
{
loading: false,
name: '变压器参数维护',
key: 'transformerList',
child: [
@@ -58,33 +83,37 @@ const column: any = ref([
]
},
{
loading: false,
name: '电容器组参数维护',
key: 'capacitorList',
child: [
{
title: '用户电容器名称',
field: 'name'
field: 'capacitorName'
},
{
title: '电容器组数量',
field: 'name1'
field: 'capacitorNum'
},
{
title: '单组容量(kVar)',
field: 'name2'
field: 'capacitorCapacity'
},
{
title: '电抗率(%)',
field: 'name3'
field: 'capacitorReactance'
},
{
title: '电压等级',
field: 'name4'
field: 'capacitorScale'
}
]
},
{
loading: false,
name: '风电参数',
key: 'windPowerList',
child: [
{
@@ -102,7 +131,9 @@ const column: any = ref([
]
},
{
loading: false,
name: '用户负荷',
key: 'loadList',
child: [
{
@@ -140,7 +171,9 @@ const column: any = ref([
]
},
{
loading: false,
name: '冲击性负荷',
key: 'impactList',
child: [
{
@@ -202,8 +235,49 @@ const addFform = (item: any) => {
addformRef.value.open({
title: '新增',
item: item,
assessId: props.assessId,
assessId: props.assessId
})
}
// 删除
const deleteFform = (item: any, i: any) => {
if (xTableRef.value[i].getCheckboxRecords().length == 0) {
return ElMessage({
type: 'warning',
message: '请选择要删除的数据'
})
}
ElMessageBox.confirm('此操作将永久删除, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
if (i == 0) {
assessTransformerParamDelete(xTableRef.value[i].getCheckboxRecords().map(item => item.transId)).then(
res => {
ElMessage({
type: 'success',
message: '删除成功!'
})
info(i)
}
)
} else if (i == 1) {
capacitorDelete(xTableRef.value[i].getCheckboxRecords().map(item => item.capacitorId)).then(res => {
ElMessage({
type: 'success',
message: '删除成功!'
})
info(i)
})
} else if (i == 2) {
windPowerDelete(xTableRef.value[i].getCheckboxRecords().map(item => item.windgeneratorId)).then(res => {
ElMessage({
type: 'success',
message: '删除成功!'
})
info(i)
})
}
})
}
// 编辑
@@ -211,25 +285,42 @@ const edit = (item: any, row: any) => {
addformRef.value.open({
title: '编辑',
item: item,
row: row,
assessId: props.assessId
row: row
})
}
// 过滤数据
const formatter = (row: any) => {
if (row.column.field == 'transtypeId') {
return transformer.value.find(item => item.transtypeId == row.cellValue)?.transtypeName
const found = transformer.value.find((item: any) => item.transtypeId == row.cellValue)
return found.transtypeName || '' // 使用可选链并提供默认值
} else if (row.column.field == 'capacitorScale') {
const found = voltageleveloption.find((item: any) => item.id == row.cellValue)
return found.name || ''
} else {
return row.cellValue
}
}
const info = () => {
assessTransformerParamList({ assessId: props.assessId }).then(res => {
const info = async (i: number) => {
column.value[i].loading = true
if (i == 0) {
// 变压器参数维护
await assessTransformerParamList({ assessId: props.assessId }).then(res => {
dataList.value.transformerList = res.data
})
} else if (i == 1) {
await capacitorList({ assessId: props.assessId }).then(res => {
dataList.value.capacitorList = res.data
})
} else if (i == 2) {
await windPowerList({ assessId: props.assessId }).then(res => {
dataList.value.windPowerList = res.data
})
}
column.value[i].loading = false
}
// 字典
const dictionary = () => {
// 获取变压器参数字典列表
@@ -237,9 +328,12 @@ const dictionary = () => {
transformer.value = res.data
})
}
onMounted(() => {
dictionary()
info()
onMounted(async () => {
await dictionary()
info(0) // 变压器参数维护
info(1) // 变压器参数维护
info(2) // 变压器参数维护
// info(3) // 变压器参数维护
})
</script>
<style lang="scss" scoped></style>