联调过程监督 电能质量管理
This commit is contained in:
@@ -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>
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
// 取消
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
}
|
||||
// 取消
|
||||
|
||||
@@ -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>
|
||||
|
||||
<!-- 详情 -->
|
||||
|
||||
@@ -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')
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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 }"
|
||||
|
||||
@@ -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>
|
||||
Reference in New Issue
Block a user