联调二级评估
This commit is contained in:
@@ -18,6 +18,7 @@
|
||||
:value="item.transtypeId"
|
||||
></el-option>
|
||||
</el-select>
|
||||
<!-- 用户负荷参数维护 -->
|
||||
<el-select
|
||||
v-else-if="item.field == 'harmId'"
|
||||
v-model="form[item.field]"
|
||||
@@ -32,6 +33,96 @@
|
||||
:value="item.harmId"
|
||||
></el-option>
|
||||
</el-select>
|
||||
<!-- 冲击负荷参数维护 -->
|
||||
<el-select
|
||||
v-else-if="item.field == 'inpactloadtypeId'"
|
||||
v-model="form[item.field]"
|
||||
filterable
|
||||
clearable
|
||||
placeholder="请选择冲击负荷类型"
|
||||
@change="handleImpactLoadTypeChange"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in shockList"
|
||||
:key="item.inpactloadtypeId"
|
||||
:label="item.inpactloadtypeName"
|
||||
:value="item.inpactloadtypeId"
|
||||
></el-option>
|
||||
</el-select>
|
||||
<el-select
|
||||
v-else-if="item.field == 'inpactloadStartup'"
|
||||
v-model="form[item.field]"
|
||||
filterable
|
||||
clearable
|
||||
placeholder="请选择启动方式"
|
||||
@change="handleStartupChange"
|
||||
>
|
||||
<el-option
|
||||
v-for="startup in startupOptions"
|
||||
:key="startup.value"
|
||||
:label="startup.label"
|
||||
:value="startup.value"
|
||||
/>
|
||||
</el-select>
|
||||
<el-select
|
||||
v-else-if="item.field == 'inpactloadFreq'"
|
||||
v-model="form[item.field]"
|
||||
filterable
|
||||
clearable
|
||||
placeholder="请选择负荷频度"
|
||||
>
|
||||
<el-option label="N≤4次/d" value="01"></el-option>
|
||||
<el-option label="N>4次/d且N≤2次/h" value="02"></el-option>
|
||||
<el-option label="2次/h<N≤10次/h" value="03"></el-option>
|
||||
</el-select>
|
||||
<el-select
|
||||
v-else-if="item.field == 'isIsolationtrans'"
|
||||
v-model="form[item.field]"
|
||||
filterable
|
||||
clearable
|
||||
placeholder="请选择是否隔离变"
|
||||
>
|
||||
<el-option label="是" value="01" />
|
||||
<el-option label="否" value="00" />
|
||||
</el-select>
|
||||
<el-select
|
||||
v-else-if="item.field == 'inpactloadhighScale'"
|
||||
v-model="form[item.field]"
|
||||
filterable
|
||||
clearable
|
||||
placeholder="请选择高压侧电压"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in voltageleveloption"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
></el-option>
|
||||
</el-select>
|
||||
<el-select
|
||||
v-else-if="item.field == 'inpactloadlowScale'"
|
||||
v-model="form[item.field]"
|
||||
filterable
|
||||
clearable
|
||||
placeholder="请选择低压侧电压"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in voltageleveloption"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
></el-option>
|
||||
</el-select>
|
||||
|
||||
<el-input-number
|
||||
v-else-if="item.field == 'powerFactor'"
|
||||
v-model="form[item.field]"
|
||||
:min="0"
|
||||
:max="1"
|
||||
:step="0.1"
|
||||
:precision="1"
|
||||
placeholder="请输入功率因数"
|
||||
/>
|
||||
|
||||
<el-input-number
|
||||
v-else-if="
|
||||
@@ -43,8 +134,8 @@
|
||||
item.field == 's'||
|
||||
item.field == 'transhighCapacity'||
|
||||
item.field == 'transImpedance'||
|
||||
item.field == 'nonlinearloadPower'||
|
||||
item.field == 'powerFactor'
|
||||
item.field == 'nonlinearloadPower'
|
||||
|
||||
"
|
||||
style="width: 100%"
|
||||
v-model="form[item.field]"
|
||||
@@ -70,7 +161,9 @@
|
||||
:value="item.id"
|
||||
></el-option>
|
||||
</el-select>
|
||||
<el-input v-else v-model.trim="form[item.field]" placeholder="请输入内容" />
|
||||
|
||||
|
||||
<el-input v-else v-model.trim="form[item.field]" placeholder="请输入内容" :disabled= "item.field == 'inpactloadPower'"/>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-scrollbar>
|
||||
@@ -99,13 +192,15 @@ import {
|
||||
loadParamAdd,
|
||||
loadParamEdit,
|
||||
shockAdd,
|
||||
shockEdit
|
||||
shockEdit,
|
||||
loadList
|
||||
} from '@/api/advance-boot/assess'
|
||||
import { ElMessage, ElMessageBox, ElDatePicker } from 'element-plus'
|
||||
const emits = defineEmits(['init'])
|
||||
const child: any = ref([])
|
||||
const transformer: any = ref([])
|
||||
const characteristic: any = ref([])
|
||||
const shockList: any = ref([])
|
||||
const form: any = ref({})
|
||||
const dictData = useDictData()
|
||||
//字典获取电压等级
|
||||
@@ -120,7 +215,7 @@ const rules = {
|
||||
capacitorReactance: [{ required: true, message: '请输入电抗率', trigger: 'blur' }],
|
||||
capacitorScale: [{ required: true, message: '请选择电压等级', trigger: 'change' }],
|
||||
windgeneratorName: [{ required: true, message: '请输入风机名称', trigger: 'blur' }],
|
||||
flickerCoeff: [{ required: true, message: '请输入风机闪变系数', trigger: 'blur' }],
|
||||
flickerCoeff: [{ required: true, message: '请输入闪变叠加系数', trigger: 'blur' }],
|
||||
s: [{ required: true, message: '请输入风机额定视在功率', trigger: 'blur' }],
|
||||
loadName: [{ required: true, message: '请输入负荷名称', trigger: 'blur' }],
|
||||
transhighCapacity: [{ required: true, message: '请输入配变容量', trigger: 'blur' }],
|
||||
@@ -130,16 +225,26 @@ const rules = {
|
||||
linevoltageScale: [{ required: true, message: '请选择进线电压', trigger: 'change' }],
|
||||
harmId: [{ required: true, message: '请选择谐波源特性', trigger: 'change' }],
|
||||
translowScale: [{ required: true, message: '请选择配变低压侧电压', trigger: 'change' }],
|
||||
inpactloadtypeId: [{ required: true, message: '请选择冲击负荷类型', trigger: 'change' }],
|
||||
inpactloadStartup: [{ required: true, message: '请选择启动方式', trigger: 'change' }],
|
||||
inpactloadNum:[{ required: true, message: '请输入数量', trigger: 'blur' }],
|
||||
inpactloadPower:[{ required: true, message: '请输入容量率', trigger: 'blur' }],
|
||||
isIsolationtrans:[{ required: true, message: '请选择是否隔离变', trigger: 'change' }],
|
||||
isolationtransImpedance:[{ required: true, message: '请输入隔离变阻抗', trigger: 'blur' }],
|
||||
inpactloadhighScale:[{ required: true, message: '请选择高压侧电压', trigger: 'change' }],
|
||||
inpactloadlowScale:[{ required: true, message: '请选择低压侧电压', trigger: 'change' }],
|
||||
inpactloadFreq:[{ required: true, message: '请选择负荷频度', trigger: 'change' }],
|
||||
|
||||
}
|
||||
|
||||
const formRef = ref()
|
||||
const dialogVisible = ref(false)
|
||||
const title = ref('')
|
||||
|
||||
const open = (row: any) => {
|
||||
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.value[item.field] = ''
|
||||
@@ -149,6 +254,32 @@ const open = (row: any) => {
|
||||
row.item.child.forEach((item: any) => {
|
||||
form.value = JSON.parse(JSON.stringify(row.row))
|
||||
})
|
||||
|
||||
// 如果是冲击负荷类型,需要设置启动方式下拉选项
|
||||
if (form.value.inpactloadtypeId) {
|
||||
// 根据选中的冲击负荷类型ID筛选数据
|
||||
currentImpactLoadOptions.value = shockList.value.filter(
|
||||
(item: any) => item.inpactloadtypeId === form.value.inpactloadtypeId
|
||||
)
|
||||
console.log('🚀 ~ open ~ currentImpactLoadOptions:', currentImpactLoadOptions.value)
|
||||
// 构建启动方式选项
|
||||
const uniqueStartups = new Map()
|
||||
currentImpactLoadOptions.value.forEach((item: any) => {
|
||||
uniqueStartups.set(item.inpactloadStartup, {
|
||||
label: item.inpactloadStartup,
|
||||
value: item.inpactloadStartup
|
||||
})
|
||||
})
|
||||
|
||||
startupOptions.value = Array.from(uniqueStartups.values())
|
||||
|
||||
// 如果有选项,默认选择第一个
|
||||
if (startupOptions.value.length > 0) {
|
||||
form.value.inpactloadStartup = startupOptions.value[0].value
|
||||
} else {
|
||||
form.value.inpactloadStartup = ''
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
dialogVisible.value = true
|
||||
@@ -162,6 +293,72 @@ const info = async () => {
|
||||
characteristicList({}).then((res: any) => {
|
||||
characteristic.value = res.data
|
||||
})
|
||||
loadList({}).then((res: any) => {
|
||||
shockList.value = res.data
|
||||
})
|
||||
}
|
||||
|
||||
// 添加启动方式选项数据
|
||||
const startupOptions = ref<Array<{ label: string; value: string }>>([])
|
||||
// 存储当前冲击负荷类型的选项
|
||||
const currentImpactLoadOptions = ref([])
|
||||
// 处理冲击负荷类型变化
|
||||
const handleImpactLoadTypeChange = (value: any) => {
|
||||
if (value) {
|
||||
// 直接根据选中的冲击负荷类型ID筛选数据
|
||||
currentImpactLoadOptions.value = shockList.value.filter(
|
||||
(item: any) => item.inpactloadtypeId === value
|
||||
)
|
||||
|
||||
// 构建启动方式选项
|
||||
const uniqueStartups = new Map()
|
||||
currentImpactLoadOptions.value.forEach((item: any) => {
|
||||
uniqueStartups.set(item.inpactloadStartup, {
|
||||
label: item.inpactloadStartup,
|
||||
value: item.inpactloadStartup
|
||||
})
|
||||
})
|
||||
|
||||
startupOptions.value = Array.from(uniqueStartups.values())
|
||||
|
||||
// 如果有选项,默认选择第一个
|
||||
if (startupOptions.value.length > 0) {
|
||||
form.value.inpactloadStartup = startupOptions.value[0].value
|
||||
} else {
|
||||
form.value.inpactloadStartup = ''
|
||||
}
|
||||
|
||||
// 清空之前选择的容量
|
||||
form.value.inpactloadPower = null
|
||||
|
||||
// 触发启动方式变化事件,自动设置对应的容量
|
||||
if (startupOptions.value.length > 0) {
|
||||
handleStartupChange(startupOptions.value[0].value)
|
||||
}
|
||||
} else {
|
||||
startupOptions.value = []
|
||||
currentImpactLoadOptions.value = []
|
||||
form.value.inpactloadStartup = ''
|
||||
form.value.inpactloadPower = null
|
||||
}
|
||||
}
|
||||
|
||||
// 处理启动方式变化
|
||||
const handleStartupChange = (value: any) => {
|
||||
if (value && currentImpactLoadOptions.value.length > 0) {
|
||||
// 根据启动方式查找对应的容量倍数
|
||||
const selectedOption = currentImpactLoadOptions.value.find(
|
||||
(item: any) => item.inpactloadStartup === value
|
||||
)
|
||||
if (selectedOption) {
|
||||
// 设置容量为倍数,实际应用中可能需要根据其他参数计算具体容量值
|
||||
form.value.inpactloadPower = selectedOption.inpactloadMultiple
|
||||
} else {
|
||||
form.value.inpactloadPower = null
|
||||
}
|
||||
} else {
|
||||
form.value.inpactloadPower = null
|
||||
}
|
||||
}
|
||||
const submit = async () => {
|
||||
formRef.value.validate(async (valid: any) => {
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
<template>
|
||||
<div class="default-main">
|
||||
<div class="actionButtons">
|
||||
<el-button type="primary" icon="el-icon-Check" class="md8" @click="onsubmit">保存</el-button>
|
||||
<el-button type="primary" icon="el-icon-Check" class="md8" @click="onsubmit" v-if="showSaveButton">保存</el-button>
|
||||
<back-component style="margin: 8px" />
|
||||
|
||||
</div>
|
||||
<div :style="pageHeight" style="overflow-y: auto">
|
||||
<el-collapse v-model="activeNames" class="pl10 pr10">
|
||||
@@ -14,6 +15,7 @@
|
||||
class="form-four"
|
||||
:rules="rules"
|
||||
label-width="auto"
|
||||
:disabled="formDisabled"
|
||||
>
|
||||
<el-form-item label="所在地市" prop="deptId">
|
||||
<!-- <el-select v-model="form.deptId" clearable placeholder="请选择所在地市">
|
||||
@@ -30,7 +32,7 @@
|
||||
<el-input v-model="form.assessName" placeholder="用户名称" clearable />
|
||||
</el-form-item>
|
||||
<el-form-item label="电压等级" prop="userScale">
|
||||
<el-select v-model="form.userScale" clearable placeholder="请选择变电站">
|
||||
<el-select v-model="form.userScale" clearable placeholder="请选择电压等级">
|
||||
<el-option
|
||||
v-for="item in voltageleveloption"
|
||||
:key="item.id"
|
||||
@@ -60,7 +62,7 @@
|
||||
<el-option label="其他" value="03"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="用户有功功率(MW)" prop="windfarmCapacity">
|
||||
<el-form-item :label="windfarmCapacityLabel" prop="windfarmCapacity">
|
||||
<el-input-number
|
||||
style="width: 100%"
|
||||
v-model="form.windfarmCapacity"
|
||||
@@ -84,6 +86,7 @@
|
||||
class="form-four"
|
||||
:rules="rules"
|
||||
label-width="auto"
|
||||
:disabled="formDisabled"
|
||||
>
|
||||
<el-form-item label="接入变电站" prop="powerstationId">
|
||||
<el-select
|
||||
@@ -204,7 +207,7 @@
|
||||
</el-form>
|
||||
</el-collapse-item>
|
||||
<div v-if="form.assessId">
|
||||
<tabFrom :assessId="form.assessId" />
|
||||
<tabFrom :assessId="form.assessId" :isWindfarm="form.isWindfarm" :isWithCapacitor="form.withCapacitor" :disabled="formDisabled"/>
|
||||
</div>
|
||||
</el-collapse>
|
||||
</div>
|
||||
@@ -216,17 +219,17 @@ import BackComponent from '@/components/icon/back/index.vue'
|
||||
import { useDictData } from '@/stores/dictData'
|
||||
import { mainHeight } from '@/utils/layout'
|
||||
import Area from '@/components/form/area/index.vue'
|
||||
|
||||
import { useRouter } from 'vue-router'
|
||||
import { ElMessage, ElMessageBox, ElDatePicker } from 'element-plus'
|
||||
import { useRoute } from 'vue-router'
|
||||
import { getSubstationSelect } from '@/api/device-boot/line'
|
||||
import tabFrom from './tabFrom.vue'
|
||||
import { cableList, getBusBarSelect, getMonitorSelect, userAdd, userGetInfo } from '@/api/advance-boot/assess'
|
||||
import { cableList, getBusBarSelect, getMonitorSelect, userAdd, userGetInfo ,userEdit} from '@/api/advance-boot/assess'
|
||||
const activeNames = ref([1, 2, 3, 4, 5, 6, 7])
|
||||
const dictData = useDictData()
|
||||
const pageHeight = mainHeight(70)
|
||||
const areaOptionList = dictData.getBasicData('jibei_area')
|
||||
const { query } = useRoute() // 查询参数
|
||||
const { query} = useRoute() // 查询参数
|
||||
//字典获取电压等级
|
||||
const voltageleveloption = dictData.getBasicData('Dev_Voltage_Stand')
|
||||
const powerstationList: any = ref([]) //变电站列表
|
||||
@@ -234,6 +237,17 @@ const busList: any = ref([]) //generatrix列表
|
||||
const linetypeList: any = ref([]) //线路类型
|
||||
const pccList: any = ref([]) //pcc列表
|
||||
|
||||
|
||||
const route = useRoute()
|
||||
const isViewMode = ref(route.query.mode === 'view')
|
||||
|
||||
// 根据 isViewMode 控制表单的禁用状态
|
||||
const formDisabled = ref(isViewMode.value)
|
||||
|
||||
// 或者在保存按钮上根据模式控制显示
|
||||
const showSaveButton = !isViewMode.value
|
||||
|
||||
|
||||
const form: any = ref({
|
||||
assessId: '',
|
||||
deptId: dictData.state.area[0].id,
|
||||
@@ -284,17 +298,41 @@ const rules = {
|
||||
lineGridresistance: [{ required: true, message: '请输入PCC点电网电抗', trigger: 'blur' }]
|
||||
}
|
||||
|
||||
const windfarmCapacityLabel = computed(() => {
|
||||
if (form.value.isWindfarm === '01') {
|
||||
return '风电场装机容量(MW)'
|
||||
} else {
|
||||
return '用户有功功率(MW)'
|
||||
}
|
||||
})
|
||||
|
||||
const form1 = ref()
|
||||
const form2 = ref()
|
||||
|
||||
// 保存
|
||||
const onsubmit = () => {
|
||||
form1.value.validate((valid: any) => {
|
||||
if (valid) {
|
||||
form2.value.validate((valid2: any) => {
|
||||
if (valid2) {
|
||||
userAdd(form.value).then((res: any) => {
|
||||
if(form.value.assessId){
|
||||
userEdit(form.value).then((res: any) => {
|
||||
form.value.assessId = res.data
|
||||
ElMessage({
|
||||
type: 'success',
|
||||
message: '编辑成功!'
|
||||
})
|
||||
})
|
||||
}else{
|
||||
userAdd(form.value).then((res: any) => {
|
||||
form.value.assessId = res.data
|
||||
})
|
||||
ElMessage({
|
||||
type: 'success',
|
||||
message: '新增成功!'
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
}
|
||||
})
|
||||
}
|
||||
@@ -330,7 +368,7 @@ const changePowerstation = (e: any, flag: boolean = true) => {
|
||||
form.value.lineName = ''
|
||||
}
|
||||
let data = powerstationList.value.filter((item: any) => item.id == e)[0]
|
||||
form.value.powerstationName = data.voltageName
|
||||
form.value.powerstationName = data.name
|
||||
form.value.powerstationScale = data.voltageLevel
|
||||
getBusBarSelect({ stationId: data.id }).then(res => {
|
||||
busList.value = res.data
|
||||
@@ -342,7 +380,7 @@ const changePowerstation = (e: any, flag: boolean = true) => {
|
||||
// 点击母线
|
||||
const changeBus = (e: any) => {
|
||||
let data = busList.value.filter((item: any) => item.id == e)[0]
|
||||
form.value.busName = data.voltageName
|
||||
form.value.busName = data.name
|
||||
form.value.busScale = data.voltageLevel
|
||||
}
|
||||
// 点击pcc
|
||||
@@ -351,10 +389,12 @@ const LineChange = (e: any) => {
|
||||
form.value.lineName = data.name
|
||||
}
|
||||
|
||||
|
||||
|
||||
onMounted(() => {
|
||||
console.log(123, query?.id)
|
||||
info(query?.id)
|
||||
})
|
||||
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.actionButtons {
|
||||
@@ -395,3 +435,5 @@ onMounted(() => {
|
||||
min-width: 120px;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
|
||||
@@ -99,6 +99,8 @@ import { useDictData } from '@/stores/dictData'
|
||||
import { ElMessage, ElMessageBox, ElDatePicker } from 'element-plus'
|
||||
import { cableList, batchDel } from '@/api/advance-boot/assess'
|
||||
import { useRouter } from 'vue-router'
|
||||
import Form from './form.vue'
|
||||
|
||||
defineOptions({
|
||||
name: 'runManage/addUser'
|
||||
})
|
||||
@@ -167,7 +169,7 @@ const tableStore: any = new TableStore({
|
||||
return row.cellValue == '01' ? '风电场' : row.cellValue == '02' ? '光伏' : '其他'
|
||||
}
|
||||
},
|
||||
{ field: 'windfarmCapacity', title: '用户有功功率(MW)', minWidth: 180 },
|
||||
{ field: 'windfarmCapacity', title: '风电场装机容量(MW)', minWidth: 180 },
|
||||
{
|
||||
field: 'singleLoad',
|
||||
title: '是否单相负荷',
|
||||
@@ -205,17 +207,25 @@ const tableStore: any = new TableStore({
|
||||
type: 'primary',
|
||||
icon: 'el-icon-EditPen',
|
||||
render: 'basicButton',
|
||||
|
||||
click: async row => {}
|
||||
click: async row => {
|
||||
push({
|
||||
path: 'addUser',
|
||||
query: {
|
||||
id: row.assessId,
|
||||
mode: 'view'
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
beforeSearchFun: () => {
|
||||
// tableStore.table.params.deptId = tableStore.table.params.deptIndex
|
||||
|
||||
},
|
||||
|
||||
loadCallback: () => {}
|
||||
loadCallback: () => { }
|
||||
})
|
||||
tableStore.table.params.assessName = ''
|
||||
tableStore.table.params.deptId = ''
|
||||
@@ -225,6 +235,17 @@ tableStore.table.params.isWindfarm = ''
|
||||
tableStore.table.params.powerstationScaleList = []
|
||||
|
||||
provide('tableStore', tableStore)
|
||||
const route = useRoute()
|
||||
|
||||
// 监听路由变化
|
||||
watch(
|
||||
() => route.query,
|
||||
(newQuery) => {
|
||||
tableStore.index()
|
||||
},
|
||||
{ immediate: true }
|
||||
)
|
||||
|
||||
// 新增评估用户页面
|
||||
const addForm = () => {
|
||||
push({
|
||||
@@ -263,4 +284,7 @@ onMounted(() => {
|
||||
tableStore.index()
|
||||
Info()
|
||||
})
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user