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

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>

View File

@@ -2,23 +2,21 @@
<el-dialog draggable title="详情" v-model="dialogVisible" width="1400px" :before-close="handleClose">
<el-tabs v-model="activeName" type="card">
<el-tab-pane label="指标" name="1">
<el-divider content-position="left" style="font-size: 18px; font-weight: bolder">
问题基本信息
</el-divider>
<el-form :model="addData" :inline="true" disabled label-width="auto">
<el-divider content-position="left" style="font-size: 18px">问题基本信息</el-divider>
<el-form :model="addData" :inline="true" disabled label-width="100px">
<el-form-item label="所属单位:">
<el-input v-model="addData.orgName" clearable placeholder="请填写"></el-input>
<el-input v-model="addData.orgName" placeholder="请填写"></el-input>
</el-form-item>
<el-form-item label="问题名称:">
<el-input v-model="addData.problemName" clearable placeholder="请填写"></el-input>
<el-input v-model="addData.problemName" placeholder="请填写"></el-input>
</el-form-item>
<el-form-item label="问题编号:">
<el-input v-model="addData.powerQualityProblemNo" clearable placeholder="请填写"></el-input>
<el-input v-model="addData.powerQualityProblemNo" placeholder="请填写"></el-input>
</el-form-item>
<el-form-item label="问题来源:">
<el-select v-model="addData.problemSources" placeholder="请选择">
<el-select v-model="addData.problemSources">
<el-option
v-for="item in problemData"
:key="item.code"
@@ -27,15 +25,118 @@
></el-option>
</el-select>
</el-form-item>
<br />
</el-form>
<!-- 在线监测超标问题 -->
<el-form :inline="true" label-width="100px" disabled v-if="problemSources == '在线监测告警'">
<el-form-item label="变电站:">
<el-input v-model="addData.sustationName"></el-input>
</el-form-item>
<el-form-item label="母线:">
<el-input v-model="addData.barName"></el-input>
</el-form-item>
<el-form-item label="监测点名称:">
<el-input v-model="addData.measurementPointName"></el-input>
</el-form-item>
<el-form-item label="监测点编号:">
<el-input v-model="addData.measurementPointId"></el-input>
</el-form-item>
<el-form-item label="监测对象类型:">
<el-input v-model="addData.loadType"></el-input>
</el-form-item>
<el-form-item label="监测对象:">
<el-input v-model="addData.objName"></el-input>
</el-form-item>
<el-form-item label="电压等级:">
<el-input v-model="addData.voltageLevel"></el-input>
</el-form-item>
</el-form>
<!-- 普测超标 -->
<el-form :inline="true" label-width="100px" disabled v-if="problemSources == '普测超标'">
<el-form-item label="普测计划名称:">
<el-input v-model="addData.planName" placeholder="请填写"></el-input>
</el-form-item>
<el-form-item label="所属变电站:">
<el-input v-model="addData.substationName" placeholder="请填写"></el-input>
</el-form-item>
<el-form-item label="母线名称:">
<el-input v-model="addData.busBarName" placeholder="请填写"></el-input>
</el-form-item>
<el-divider content-position="left" style="font-size: 18px; font-weight: bolder">
问题指标
</el-divider>
<el-form-item label="稳态指标:">
<el-checkbox-group v-model="addData.steadyIndicator">
<el-checkbox v-for="(item, ind) in steadyIndicatorList" :key="ind" :label="item.code">
{{ item.name }}
</el-checkbox>
</el-checkbox-group>
</el-form-item>
<el-form-item label="暂态指标:">
<el-checkbox-group v-model="addData.transientIndicators">
<el-checkbox v-for="(item, ind) in transientIndicatorsList" :key="ind" :label="item.code">
{{ item.name }}
</el-checkbox>
</el-checkbox-group>
</el-form-item>
</el-form>
<!-- 用户投诉 -->
<el-form :inline="true" label-width="100px" disabled v-if="problemSources == '用户投诉'">
<el-form-item label="用户投诉名称:">
<el-input v-model="addData.userName" placeholder="请填写"></el-input>
</el-form-item>
<el-form-item label="投诉用户编号:">
<el-input v-model="addData.userNo" placeholder="请填写"></el-input>
</el-form-item>
<el-form-item label="投诉时间:">
<el-input v-model="addData.complaintTime" placeholder="请填写"></el-input>
</el-form-item>
<el-form-item label="投诉内容:">
<el-input
type="textarea"
:autosize="{ minRows: 2, maxRows: 4 }"
style="width: 400px"
placeholder="请输入内容"
v-model="addData.complaintContent"
></el-input>
</el-form-item>
<el-divider content-position="left" style="font-size: 18px; font-weight: bolder">
问题指标
</el-divider>
<el-form-item label="稳态指标:">
<el-checkbox-group v-model="addData.steadyIndicator">
<el-checkbox v-for="(item, ind) in steadyIndicatorList" :key="ind" :label="item.code">
{{ item.name }}
</el-checkbox>
</el-checkbox-group>
</el-form-item>
<el-form-item label="暂态指标:">
<el-checkbox-group v-model="addData.transientIndicators">
<el-checkbox v-for="(item, ind) in transientIndicatorsList" :key="ind" :label="item.code">
{{ item.name }}
</el-checkbox>
</el-checkbox-group>
</el-form-item>
</el-form>
<!-- 设备异常 -->
<el-form :inline="true" label-width="auto" disabled v-if="problemSources == '设备异常'">
<el-form-item label="异常设备名称:">
<el-input v-model="addData.abnormalDevName" clearable placeholder="请填写"></el-input>
<el-input v-model="addData.abnormalDevName" placeholder="请填写"></el-input>
</el-form-item>
<el-form-item label="发现异常时间:">
<el-input v-model="addData.abnormalDevTime" clearable placeholder="请填写"></el-input>
<el-input v-model="addData.abnormalDevTime" placeholder="请填写"></el-input>
</el-form-item>
<br />
<el-form-item label="设备异常描述:" style="margin-top: 10px">
<el-form-item label="设备异常描述:">
<el-input
type="textarea"
style="width: 400px"
@@ -47,16 +148,16 @@
问题指标
</el-divider>
<el-form-item label="稳态指标:" style="margin-top: 10px">
<el-checkbox-group v-model="addData.steadyIndicator" disabled>
<el-form-item label="稳态指标:">
<el-checkbox-group v-model="addData.steadyIndicator">
<el-checkbox v-for="(item, ind) in steadyIndicatorList" :key="ind" :label="item.code">
{{ item.name }}
</el-checkbox>
</el-checkbox-group>
</el-form-item>
<br />
<el-form-item label="暂态指标:" style="margin-top: 10px">
<el-checkbox-group v-model="addData.transientIndicators" disabled>
<el-form-item label="暂态指标:">
<el-checkbox-group v-model="addData.transientIndicators">
<el-checkbox v-for="(item, ind) in transientIndicatorsList" :key="ind" :label="item.code">
{{ item.name }}
</el-checkbox>
@@ -64,13 +165,20 @@
</el-form-item>
</el-form>
</el-tab-pane>
<el-tab-pane label="流程" name="2"><Filling v-if="dialogVisible" :isDisabled='true' ref="FillingRef" /></el-tab-pane>
<el-tab-pane label="流程" name="2">
<Filling v-if="dialogVisible" :isDisabled="true" ref="FillingRef" />
</el-tab-pane>
</el-tabs>
</el-dialog>
</template>
<script setup lang="ts">
import { ref } from 'vue'
import { getAbnormalDetail } from '@/api/process-boot/electricitymanagement'
import {
getAbnormalDetail,
getComplaintDetail,
getGeneralSurveyDetail,
getExcessiveDetail
} from '@/api/process-boot/electricitymanagement'
import { useDictData } from '@/stores/dictData'
import Filling from './filling.vue'
@@ -79,16 +187,28 @@ const addData: any = ref({})
const FillingRef = ref()
const activeName = ref(`1`)
const dialogVisible: any = ref(false)
const problemSources = ref('')
const problemData = dictData.getBasicData('Problem_Sources')
const steadyIndicatorList = dictData.getBasicData('Steady_Indicator')
const transientIndicatorsList = dictData.getBasicData('Transient_Indicators')
const open = (row: any) => {
const open = async (row: any) => {
dialogVisible.value = true
getAbnormalDetail(row.powerQualityProblemNo).then((res: any) => {
let res: any = {}
problemSources.value = row.problemSources
if (row.problemSources == '设备异常') {
res = await getAbnormalDetail(row.powerQualityProblemNo)
} else if (row.problemSources == '在线监测告警') {
res = await getExcessiveDetail(row.powerQualityProblemNo)
} else if (row.problemSources == '用户投诉') {
res = await getComplaintDetail(row.powerQualityProblemNo)
} else if (row.problemSources == '普测超标') {
res = await getGeneralSurveyDetail(row.powerQualityProblemNo)
}
setTimeout(() => {
addData.value = res.data
FillingRef.value.open(row)
})
}, 0)
}
// 取消

View File

@@ -84,7 +84,12 @@ import process1 from './process1.vue'
import process2 from './process2.vue'
import process3 from './process3.vue'
import process4 from './process4.vue'
import { getAbnormalDetail } from '@/api/process-boot/electricitymanagement'
import {
getAbnormalDetail,
getComplaintDetail,
getGeneralSurveyDetail,
getExcessiveDetail
} from '@/api/process-boot/electricitymanagement'
const emit = defineEmits(['beforeClose'])
const dictData = useDictData()
const addData: any = ref({})
@@ -104,11 +109,22 @@ const prop = defineProps({
}
})
const problemData = dictData.getBasicData('Problem_Sources')
const open = (row: any) => {
const open = async (row: any) => {
addData.value = row
let res: any = {}
if (row.problemSources == '设备异常') {
res = await getAbnormalDetail(row.powerQualityProblemNo)
} else if (row.problemSources == '在线监测告警') {
res = await getExcessiveDetail(row.powerQualityProblemNo)
} else if (row.problemSources == '用户投诉') {
res = await getComplaintDetail(row.powerQualityProblemNo)
} else if (row.problemSources == '普测超标') {
res = await getGeneralSurveyDetail(row.powerQualityProblemNo)
}
getAbnormalDetail(row.powerQualityProblemNo).then((res: any) => {
setTimeout(() => {
List.value = res.data
if (res.data.filePathYyfx == null) {
active.value = 0
} else if (res.data.filePathJhzg == null) {
@@ -128,7 +144,7 @@ const open = (row: any) => {
}
}
control.value = active.value == 4 ? 3 : active.value
})
}, 0)
}
const step = (e: number) => {
@@ -149,13 +165,13 @@ onMounted(() => {
// 提交
const Submit = () => {
if (control.value == 0) {
process0Ref.value.submit()
process0Ref.value.submit(0)
} else if (control.value == 1) {
process1Ref.value.submit()
process1Ref.value.submit(1)
} else if (control.value == 2) {
process2Ref.value.submit()
process2Ref.value.submit(2)
} else if (control.value == 3) {
process3Ref.value.submit()
process3Ref.value.submit(3)
}
}
// 取消

View File

@@ -49,7 +49,7 @@
<NewlyAdd v-if="showNewlyAdded" @handleClose="handleClose" @onSubmit="beforeClose" />
<!-- 填报 -->
<el-dialog draggable title="填报" v-model="dialogVisible" width="1400px" :before-close="beforeClose">
<Filling ref="FillingRef" @beforeClose="beforeClose" />
<Filling ref="FillingRef" v-if="dialogVisible"@beforeClose="beforeClose" />
</el-dialog>
<!-- 详情 -->

View File

@@ -1,7 +1,7 @@
<template>
<el-form :model="causeAnalysisData" :rules="rules" ref="form1Ref" label-width="auto">
<el-form-item label="电网侧原因:" prop="reportProcessContentYyfx" :disabled="prop.disabled">
<el-checkbox-group v-model="causeAnalysisData.reportProcessContentYyfx">
<el-form-item label="电网侧原因:" prop="reportProcessContentYyfx">
<el-checkbox-group :disabled="prop.disabled" v-model="causeAnalysisData.reportProcessContentYyfx">
<el-checkbox v-for="(item, ind) in CauseList" :key="ind" :label="item.code">
{{ item.name }}
</el-checkbox>
@@ -10,8 +10,8 @@
<el-divider></el-divider>
<el-form-item label="用户侧原因:" prop="userReportProcessContentYyfx" :disabled="prop.disabled">
<el-checkbox-group v-model="causeAnalysisData.userReportProcessContentYyfx">
<el-form-item label="用户侧原因:" prop="userReportProcessContentYyfx">
<el-checkbox-group :disabled="prop.disabled" v-model="causeAnalysisData.userReportProcessContentYyfx">
<el-checkbox v-for="(item, ind) in userCauseList" :key="ind" :label="item.code">
{{ item.name }}
</el-checkbox>
@@ -20,8 +20,8 @@
<el-row v-if="prop.addData.problemSources == '用户投诉' || prop.addData.problemSources == '设备异常'">
<el-divider></el-divider>
<el-form-item label="电网侧受影响设备:" prop="powerGridAffectDev" :disabled="prop.disabled">
<el-checkbox-group v-model="causeAnalysisData.powerGridAffectDev">
<el-form-item label="电网侧受影响设备:" prop="powerGridAffectDev">
<el-checkbox-group :disabled="prop.disabled" v-model="causeAnalysisData.powerGridAffectDev">
<el-checkbox v-for="(item, ind) in powerGridAffectDevList" :key="ind" :label="item.code">
{{ item.name }}
</el-checkbox>
@@ -29,8 +29,8 @@
</el-form-item>
<el-divider></el-divider>
<el-form-item label="用户侧受影响设备:" prop="userAffectDev" :disabled="prop.disabled">
<el-checkbox-group v-model="causeAnalysisData.userAffectDev">
<el-form-item label="用户侧受影响设备:" prop="userAffectDev">
<el-checkbox-group :disabled="prop.disabled" v-model="causeAnalysisData.userAffectDev">
<el-checkbox v-for="(item, ind) in userAffectDevList" :key="ind" :label="item.code">
{{ item.name }}
</el-checkbox>
@@ -40,12 +40,13 @@
<el-divider></el-divider>
<el-form-item label="事件描述:" prop="eventDescriptionYyfx" :disabled="prop.disabled">
<el-form-item label="事件描述:" prop="eventDescriptionYyfx">
<el-input
style="width: 400px"
:autosize="{ minRows: 2, maxRows: 4 }"
type="textarea"
placeholder="请输入内容"
:disabled="prop.disabled"
v-model="causeAnalysisData.eventDescriptionYyfx"
></el-input>
</el-form-item>
@@ -73,7 +74,13 @@
</template>
<script setup lang="ts">
import { useDictData } from '@/stores/dictData'
import { uploadFile, reasonAnalysis } from '@/api/process-boot/electricitymanagement'
import {
uploadFile,
reasonAnalysis,
takeAction,
effectAnalysis,
correctiveAction
} from '@/api/process-boot/electricitymanagement'
import { UploadInstance, UploadProps, UploadRawFile, ElMessage, ElMessageBox } from 'element-plus'
import { genFileId } from 'element-plus'
import { ref, reactive, onMounted } from 'vue'
@@ -146,21 +153,42 @@ onMounted(() => {
if (prop.List.filePathYyfx != null) {
causeAnalysisData.value = prop.List
}
console.log(prop.disabled)
})
const submit = () => {
const submit = (num: number) => {
console.log(prop.addData.problemSources)
form1Ref.value.validate(async (valid: any) => {
if (valid) {
let form = new FormData()
form.append('file', causeAnalysisData.value.fileList[0].raw)
causeAnalysisData.value.powerQualityProblemNo = prop.addData.powerQualityProblemNo
await uploadFile(form).then((res: any) => {
causeAnalysisData.value.filePathYyfx = res.filePath
causeAnalysisData.value.fileNameYyfx = res.fileName
})
await reasonAnalysis(causeAnalysisData.value).then((res: any) => {
ElMessage.success('提交成功')
emit('handleClose')
causeAnalysisData.value.filePathYyfx = res.data.minFileUrl
causeAnalysisData.value.fileNameYyfx = res.data.minFileName
})
if (num == 0) {
reasonAnalysis(causeAnalysisData.value).then((res: any) => {
ElMessage.success('提交成功')
emit('handleClose')
})
} else if (num == 1) {
correctiveAction(causeAnalysisData.value).then((res: any) => {
ElMessage.success('提交成功')
emit('handleClose')
})
} else if (num == 2) {
takeAction(causeAnalysisData.value).then((res: any) => {
ElMessage.success('提交成功')
emit('handleClose')
})
} else if (num == 3) {
effectAnalysis(causeAnalysisData.value).then((res: any) => {
ElMessage.success('提交成功')
emit('handleClose')
})
}
}
})
}

View File

@@ -6,16 +6,16 @@
label-width="auto"
>
<el-form-item label="电网侧整改治理措施:" prop="reportProcessContentJhzg" :disabled="prop.disabled">
<el-checkbox-group v-model="rectificationMeasuresData.reportProcessContentJhzg">
<el-form-item label="电网侧整改治理措施:" prop="reportProcessContentJhzg" >
<el-checkbox-group v-model="rectificationMeasuresData.reportProcessContentJhzg" :disabled="prop.disabled">
<el-checkbox v-for="item in JhzgList" :label="item.code">{{ item.name }}</el-checkbox>
</el-checkbox-group>
</el-form-item>
<el-divider></el-divider>
<el-form-item label="用户侧整改治理措施:" prop="userReportProcessContentJhzg" :disabled="prop.disabled">
<el-checkbox-group v-model="rectificationMeasuresData.userReportProcessContentJhzg">
<el-form-item label="用户侧整改治理措施:" prop="userReportProcessContentJhzg" >
<el-checkbox-group v-model="rectificationMeasuresData.userReportProcessContentJhzg" :disabled="prop.disabled">
<el-checkbox v-for="item in JhzgList" :label="item.code">{{ item.name }}</el-checkbox>
</el-checkbox-group>
</el-form-item>

View File

@@ -1,15 +1,15 @@
<template>
<el-form :model="rectificationMeasuresData" :rules="rules" ref="form2Ref" label-width="auto">
<el-form-item label="电网侧实际采取措施:" prop="reportProcessContentSjcq" :disabled="prop.disabled">
<el-checkbox-group v-model="rectificationMeasuresData.reportProcessContentSjcq">
<el-form-item label="电网侧实际采取措施:" prop="reportProcessContentSjcq" >
<el-checkbox-group v-model="rectificationMeasuresData.reportProcessContentSjcq" :disabled="prop.disabled">
<el-checkbox v-for="(item, ind) in SjcqList" :key="ind" :label="item.code">{{ item.name }}</el-checkbox>
</el-checkbox-group>
</el-form-item>
<el-divider></el-divider>
<el-form-item label="用户侧实际采取措施:" prop="userReportProcessContentSjcq" :disabled="prop.disabled">
<el-checkbox-group v-model="rectificationMeasuresData.userReportProcessContentSjcq">
<el-form-item label="用户侧实际采取措施:" prop="userReportProcessContentSjcq" >
<el-checkbox-group v-model="rectificationMeasuresData.userReportProcessContentSjcq" :disabled="prop.disabled">
<el-checkbox v-for="(item, ind) in SjcqList" :key="ind" :label="item.code">{{ item.name }}</el-checkbox>
</el-checkbox-group>
</el-form-item>

View File

@@ -1,7 +1,8 @@
<template>
<el-form :model="effectivenessAnalysisData" :rules="rules" ref="form2Ref" label-width="auto">
<el-form-item label="成效分析概述:" style="margin-top: 10px" prop="descriptionZlxg" :disabled="prop.disabled">
<el-form-item label="成效分析概述:" style="margin-top: 10px" prop="descriptionZlxg">
<el-input
:disabled="prop.disabled"
type="textarea"
style="width: 400px"
:autosize="{ minRows: 2, maxRows: 4 }"

View File

@@ -0,0 +1,16 @@
<template>
<div>
<vxe-table v-bind="defaultAttribute" height="350" ref="xTable1Ref" :data="list">
<vxe-column field="sustationName" title="变电站"></vxe-column>
<vxe-column field="barName" title="母线"></vxe-column>
<vxe-column field="measurementPointName" title="监测点名称"></vxe-column>
</vxe-table>
</div>
</template>
<script setup lang="ts">
import { ref, reactive } from 'vue'
import { defaultAttribute } from '@/components/table/defaultAttribute'
const list = ref([])
</script>
<style lang="scss" scoped></style>