联调过程监督 电能质量管理

This commit is contained in:
GGJ
2024-04-09 16:52:11 +08:00
parent ec6dec3eef
commit 926112d2a7
26 changed files with 5460 additions and 861 deletions

View File

@@ -22,7 +22,7 @@
</el-form-item>
</el-form>
<template #footer>
<div class="dialog-footer">
<div>
<el-button @click="handleClose">取消</el-button>
<el-button type="primary" @click="nextStep">下一步</el-button>
</div>
@@ -48,11 +48,17 @@
<el-button type="primary" icon="el-icon-Search" @click="searchOnLine">查询</el-button>
</el-form-item>
</el-form>
<vxe-table v-bind="defaultAttribute" v-loading="isLoading1" height="350" ref="xTableRef" :data="onlineAddData">
<vxe-column type="checkbox" width="60"></vxe-column>
<vxe-table v-bind="defaultAttribute" v-loading="isLoading1" height="350" ref="xTable1Ref" :data="onlineAddData">
<vxe-column type="radio" width="60"></vxe-column>
<vxe-column field="sustationName" title="变电站"></vxe-column>
<vxe-column field="barName" title="母线"></vxe-column>
<vxe-column field="measurementPointName" title="监测点名称"></vxe-column>
<vxe-column field="alarmType" title="告警类型" :formatter="formatter"></vxe-column>
<vxe-column field="overLimitrate" title="越跟天级占以">
<vxe-column field="measurementPointId" title="监测点编号"></vxe-column>
<vxe-column field="loadType" title="监测对象类型"></vxe-column>
<vxe-column field="objName" title="监测对象"></vxe-column>
<vxe-column field="voltageLevel" title="电压等级"></vxe-column>
<vxe-column field="harmonicType" title="告警类型" :formatter="formatter"></vxe-column>
<vxe-column field="overLimitrate" title="越线天数占比">
<template #default="{ row }">
<el-dropdown>
<span class="el-dropdown-link">
@@ -116,16 +122,16 @@
v-bind="defaultAttribute"
v-loading="isLoading2"
height="350"
ref="xTableRef"
ref="xTable2Ref"
:data="ordinaryAddData"
>
<vxe-column type="checkbox" width="60"></vxe-column>
<vxe-column field="voltageLevel" title="变电站电压等级(kV)"></vxe-column>
<vxe-column field="subName" title="变电站名称" :formatter="formatter"></vxe-column>
<vxe-column type="radio" width="60"></vxe-column>
<vxe-column field="subName" title="变电站名称"></vxe-column>
<vxe-column field="voltageLevelName" title="变电站电压等级"></vxe-column>
</vxe-table>
<el-divider content-position="left">第三步 选择问题指标</el-divider>
<el-form :model="ordinaryA" :rules="rules" ref="GeneralSurvey" :inline="true" class="form">
<el-form :model="ordinaryA" :rules="rules" ref="ordinaryARef" :inline="true" class="form">
<el-form-item label="稳态指标" prop="steadyState">
<el-checkbox-group v-model="ordinaryA.steadyState">
<el-checkbox v-for="(item, ind) in steadyStateList" :key="ind" :label="item.code">
@@ -208,45 +214,14 @@
<!-- 新增第二步(用户投诉问题新增) -->
<el-dialog draggable title="用户投诉问题新增" v-model="userAdd" width="1200px" :before-close="handleClose">
<el-divider content-position="left">第二步 选择投诉用户</el-divider>
<el-form :model="userA" :inline="true" :rules="rules">
<el-form-item label="用户类型:">
<el-select v-model="userA.userType" placeholder="请选择用户类型">
<el-option
v-for="item in userTypeData"
:key="item.code"
:label="item.name"
:value="item.code"
></el-option>
</el-select>
<el-form :model="userAdddata" :inline="true" ref="userAddRef" :rules="rules">
<el-form-item label="用户名称:" prop="userName">
<el-input v-model="userAdddata.userName" clearable placeholder="请输入用户名称"></el-input>
</el-form-item>
<el-form-item label="用户编号:">
<el-input v-model="userA.id" clearable placeholder="请输入用户编号"></el-input>
<el-form-item label="用户编号:" prop="userNo">
<el-input v-model="userAdddata.userNo" clearable placeholder="请输入用户编号"></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-Search" @click="searchFnComplain">查询</el-button>
</el-form-item>
<vxe-table
v-bind="userAddDataList"
v-loading="isLoading3"
height="350"
ref="xTableRef"
:data="ordinaryAddData"
>
<vxe-column type="checkbox" width="60"></vxe-column>
<vxe-column field="id" title="用户编号"></vxe-column>
<vxe-column field="name" title="用户名称"></vxe-column>
<vxe-column
v-if="showUserType"
field="electricityType"
title="用电类别/电源类别"
:formatter="formatter"
></vxe-column>
<vxe-column v-else field="powerCategory" title="用电类别/电源类别" :formatter="formatter"></vxe-column>
</vxe-table>
<el-divider content-position="left">第三步 填写投诉详情</el-divider>
<el-form-item label="投诉内容:" style="margin-top: 10px" prop="complaintContent">
@@ -264,7 +239,7 @@
v-model="userAdddata.complaintTime"
type="date"
placeholder="选择日期"
value-format="yyyy-MM-dd"
value-format="YYYY-MM-DD"
></el-date-picker>
</el-form-item>
@@ -311,9 +286,10 @@ import {
getRMpPartHarmonicDetail,
querySurveyPlanName,
querySurveyPlanOnQuestion,
getGenerateElectricityUserList,
getPowerUtilizationUserList,
addAbnormalIssues
addAbnormalIssues,
addComplaintIssues,
addGeneralSurveyIssues,
addExcessiveIssues
} from '@/api/process-boot/electricitymanagement'
import { ElMessage } from 'element-plus'
const steadyStateList = dictData.getBasicData('Steady_Indicator')
@@ -323,15 +299,16 @@ const add = ref(true)
const onlineAdd = ref(false)
const isLoading1 = ref(false)
const isLoading2 = ref(false)
const isLoading3 = ref(false)
const showUserType = ref(false)
const ordinaryAdd = ref(false)
const userAdd = ref(false)
const operationAdd = ref(false)
const ruleForm = ref()
const DateRef = ref()
const userAddRef = ref()
const operationAddRef = ref()
const xTableRef = ref()
const ordinaryARef = ref()
const xTable1Ref = ref()
const xTable2Ref = ref()
const harmonicTypes = ref([]) //稳态指标id集合
const harmonicTypesList = dictData.getBasicData('Indicator_Type')
const rate = ref(60) //越线天数占比(一个月)
@@ -366,14 +343,17 @@ const userAdddata = ref({
complaintContent: '',
complaintTime: '',
steadyState: [],
userName: '',
userNo: '',
transientIndicators: []
})
const planNameList: any = ref([])
const onlineAddData = ref([])
const userAddDataList = ref([])
const ordinaryAddData = ref([])
const rules = {
problemName: [{ required: true, message: '请输入问题名称', trigger: 'blur' }],
userName: [{ required: true, message: '请输入用户名称', trigger: 'blur' }],
userNo: [{ required: true, message: '请输入用户编号', trigger: 'blur' }],
complaintContent: [{ required: true, message: '请输入投诉内容', trigger: 'blur' }],
complaintTime: [{ required: true, message: '请选择时间', trigger: 'change' }],
problemSources: [{ required: true, message: '情选择问题来源', trigger: 'change' }],
@@ -416,7 +396,6 @@ const nextStep = () => {
} else if (addData.value.problemSources == 'User_Complaints') {
add.value = false
userAdd.value = true
searchFnComplain()
} else if (addData.value.problemSources == 'Dev_Exception') {
add.value = false
operationAdd.value = true
@@ -435,7 +414,19 @@ const previouStep = () => {
// 在线监测超标问题新增
const OnlineMonitoring = () => {
// xTableRef.value.getCheckboxRecords()
if (xTable1Ref.value.getRadioRecord() == null) {
return ElMessage.warning('请选择变电站')
} else {
addExcessiveIssues({
warnTarget:xTable1Ref.value.getRadioRecord().harmonicType,
...xTable1Ref.value.getRadioRecord(),
...addData.value
}).then((res: any) => {
ElMessage.success('新增成功!')
emit('handleClose')
emit('onSubmit')
})
}
}
// 在线监测告警查询
const searchOnLine = () => {
@@ -468,16 +459,33 @@ const searchFnExcessive = () => {
})
}
// 普测超标生成问题
const GeneralSurvey = () => {}
const GeneralSurvey = () => {
if (xTable2Ref.value.getRadioRecord() == null) {
return ElMessage.warning('请选择变电站')
} else {
ordinaryARef.value.validate((valid: any) => {
if (valid) {
addGeneralSurveyIssues({
substationId: xTable2Ref.value.getRadioRecord().subId,
...xTable2Ref.value.getRadioRecord(),
...ordinaryA.value,
...addData.value
}).then((res: any) => {
ElMessage.success('新增成功!')
emit('handleClose')
emit('onSubmit')
})
}
})
}
}
const formatter = (row: any) => {
if (row.column.field == 'alarmType') {
return alarmList.filter((item: any) => item.id == row.cellValue)[0]?.name
if (row.column.field == 'harmonicType') {
return harmonicTypesList.filter((item: any) => item.id == row.cellValue)[0]?.name
} else if (row.column.field == 'voltageLevel') {
return Voltage.filter((item: any) => item.id == row.cellValue)[0]?.name
} else if (row.column.field == 'electricityType') {
return dictData.getBasicData('Ele_Class').filter((item: any) => item.id == row.cellValue)[0]?.name
} else if (row.column.field == 'powerCategory') {
return dictData.getBasicData('Power_Category').filter((item: any) => item.id == row.cellValue)[0]?.name
} else {
return row.cellValue
}
@@ -489,35 +497,30 @@ const generateAbnormal = () => {
addAbnormalIssues({
...operationAdddata.value,
...addData.value
}).then((res: any) => {
ElMessage.success('新增成功!')
emit('handleClose')
emit('onSubmit')
})
ElMessage.success('新增成功!')
emit('handleClose')
emit('onSubmit')
}
})
}
//用户投诉问题
const searchFnComplain = () => {
isLoading3.value = true
userAddDataList.value = []
if (userA.value.userType == 'Elec_User') {
// 发电用户
showUserType.value = false
getGenerateElectricityUserList({ id: userA.value.id }).then(res => {
userAddDataList.value = res.data
})
} else {
showUserType.value = true
// 用电用户
getPowerUtilizationUserList({ id: userA.value.id }).then(res => {
userAddDataList.value = res.data
})
}
isLoading3.value = false
}
// 用户投诉新增
const userAddProblem = () => {}
const userAddProblem = () => {
userAddRef.value.validate((valid: any) => {
if (valid) {
addComplaintIssues({
...userAdddata.value,
...addData.value
}).then((res: any) => {
ElMessage.success('新增成功!')
emit('handleClose')
emit('onSubmit')
})
}
})
}
onMounted(() => {})
</script>
<style lang="scss" scoped>