修改 电网一张图bug 技术监督新增 重新发起页面绘制
This commit is contained in:
@@ -23,7 +23,6 @@ export const submitGoNet = (data: any) => {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
export const userReportGoNetById = (data: any) => {
|
export const userReportGoNetById = (data: any) => {
|
||||||
return createAxios({
|
return createAxios({
|
||||||
url: '/supervision-boot/userReportNormal/userReportGoNetById',
|
url: '/supervision-boot/userReportNormal/userReportGoNetById',
|
||||||
@@ -31,4 +30,11 @@ export const userReportGoNetById = (data: any) => {
|
|||||||
params: data
|
params: data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
// 根据id获取用户档案录入的详细数据
|
||||||
|
export const getById = (data: any) => {
|
||||||
|
return createAxios({
|
||||||
|
url: '/supervision-boot/userReport/getById',
|
||||||
|
method: 'get',
|
||||||
|
params: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|||||||
@@ -116,7 +116,7 @@ body,
|
|||||||
align-items: center !important;
|
align-items: center !important;
|
||||||
}
|
}
|
||||||
.el-upload-list__item-name {
|
.el-upload-list__item-name {
|
||||||
width: 120px !important;
|
width: 150px !important;
|
||||||
}
|
}
|
||||||
.el-upload-list--text {
|
.el-upload-list--text {
|
||||||
margin: 0px 20px 0 !important;
|
margin: 0px 20px 0 !important;
|
||||||
@@ -384,7 +384,7 @@ body,
|
|||||||
background: #fff;
|
background: #fff;
|
||||||
z-index: 2;
|
z-index: 2;
|
||||||
}
|
}
|
||||||
.bjs-powered-by{
|
.bjs-powered-by {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -124,7 +124,7 @@ const tableStore = new TableStore({
|
|||||||
3: 'info'
|
3: 'info'
|
||||||
},
|
},
|
||||||
replaceValue: {
|
replaceValue: {
|
||||||
0: '禁用',
|
0: '中断',
|
||||||
1: '正常',
|
1: '正常',
|
||||||
3: '/'
|
3: '/'
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -124,7 +124,7 @@ const tableStore = new TableStore({
|
|||||||
3: 'info'
|
3: 'info'
|
||||||
},
|
},
|
||||||
replaceValue: {
|
replaceValue: {
|
||||||
0: '禁用',
|
0: '中断',
|
||||||
1: '正常',
|
1: '正常',
|
||||||
3: '/'
|
3: '/'
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,32 +4,143 @@
|
|||||||
<div>
|
<div>
|
||||||
<vxe-table v-bind="defaultAttribute" ref="vxeRef" height="300px" :data="tableData">
|
<vxe-table v-bind="defaultAttribute" ref="vxeRef" height="300px" :data="tableData">
|
||||||
<vxe-column field="deptName" title="地市" />
|
<vxe-column field="deptName" title="地市" />
|
||||||
<vxe-column field="assessData" title="综合评估得分" :formatter="formatter" />
|
<vxe-column field="assessLevel" title="综合评估结论">
|
||||||
<vxe-column field="qualifyData" title="指标合格率(%)" :formatter="formatter" />
|
<template #default="scope">
|
||||||
|
<span
|
||||||
|
class="conclusion"
|
||||||
|
:class="
|
||||||
|
scope.row.assessLevel == '特质'
|
||||||
|
? 'background1'
|
||||||
|
: scope.row.assessLevel == '较差'
|
||||||
|
? 'background2'
|
||||||
|
: scope.row.assessLevel == '极差'
|
||||||
|
? 'background3'
|
||||||
|
: ''
|
||||||
|
"
|
||||||
|
>
|
||||||
|
{{ scope.row.assessLevel }}
|
||||||
|
</span>
|
||||||
|
</template>
|
||||||
|
</vxe-column>
|
||||||
|
<vxe-column field="qualifyData" title="指标合格率(%)" />
|
||||||
|
|
||||||
<vxe-colgroup title="电压偏差">
|
<vxe-colgroup title="电压偏差">
|
||||||
<vxe-column field="vdevAssessData" title="评估得分" :formatter="formatter" />
|
<vxe-column field="vdevAssessLevel" title="评估结论">
|
||||||
<vxe-column field="vdevQualifyData" title="指标合格率(%)" :formatter="formatter" />
|
<template #default="scope">
|
||||||
|
<span
|
||||||
|
class="conclusion"
|
||||||
|
:class="
|
||||||
|
scope.row.vdevAssessLevel == '特质'
|
||||||
|
? 'background1'
|
||||||
|
: scope.row.vdevAssessLevel == '较差'
|
||||||
|
? 'background2'
|
||||||
|
: scope.row.vdevAssessLevel == '极差'
|
||||||
|
? 'background3'
|
||||||
|
: ''
|
||||||
|
"
|
||||||
|
>
|
||||||
|
{{ scope.row.vdevAssessLevel }}
|
||||||
|
</span>
|
||||||
|
</template>
|
||||||
|
</vxe-column>
|
||||||
|
<vxe-column field="vdevQualifyData" title="指标合格率(%)" />
|
||||||
</vxe-colgroup>
|
</vxe-colgroup>
|
||||||
<vxe-colgroup title="频率偏差">
|
<vxe-colgroup title="频率偏差">
|
||||||
<vxe-column field="freqAssessData" title="评估得分" :formatter="formatter" />
|
<vxe-column field="freqAssessLevel" title="评估结论">
|
||||||
<vxe-column field="freqQualifyData" title="指标合格率(%)" :formatter="formatter" />
|
<template #default="scope">
|
||||||
|
<span
|
||||||
|
class="conclusion"
|
||||||
|
:class="
|
||||||
|
scope.row.freqAssessLevel == '特质'
|
||||||
|
? 'background1'
|
||||||
|
: scope.row.freqAssessLevel == '较差'
|
||||||
|
? 'background2'
|
||||||
|
: scope.row.freqAssessLevel == '极差'
|
||||||
|
? 'background3'
|
||||||
|
: ''
|
||||||
|
"
|
||||||
|
>
|
||||||
|
{{ scope.row.freqAssessLevel }}
|
||||||
|
</span>
|
||||||
|
</template>
|
||||||
|
</vxe-column>
|
||||||
|
<vxe-column field="freqQualifyData" title="指标合格率(%)" />
|
||||||
</vxe-colgroup>
|
</vxe-colgroup>
|
||||||
<vxe-colgroup title="电压总谐波畸变率" >
|
<vxe-colgroup title="电压总谐波畸变率">
|
||||||
<vxe-column field="harmAssessData" title="评估得分" :formatter="formatter" />
|
<vxe-column field="harmAssessLevel" title="评估结论">
|
||||||
<vxe-column field="harmQualifyData" title="指标合格率(%)" :formatter="formatter" />
|
<template #default="scope">
|
||||||
|
<span
|
||||||
|
class="conclusion"
|
||||||
|
:class="
|
||||||
|
scope.row.harmAssessLevel == '特质'
|
||||||
|
? 'background1'
|
||||||
|
: scope.row.harmAssessLevel == '较差'
|
||||||
|
? 'background2'
|
||||||
|
: scope.row.harmAssessLevel == '极差'
|
||||||
|
? 'background3'
|
||||||
|
: ''
|
||||||
|
"
|
||||||
|
>
|
||||||
|
{{ scope.row.harmAssessLevel }}
|
||||||
|
</span>
|
||||||
|
</template>
|
||||||
|
</vxe-column>
|
||||||
|
<vxe-column field="harmQualifyData" title="指标合格率(%)" />
|
||||||
</vxe-colgroup>
|
</vxe-colgroup>
|
||||||
<vxe-colgroup title="电压闪变">
|
<vxe-colgroup title="电压闪变">
|
||||||
<vxe-column field="flickerAssessData" title="评估得分" :formatter="formatter" />
|
<vxe-column field="flickerAssessLevel" title="评估结论">
|
||||||
<vxe-column field="flickerQualifyData" title="指标合格率(%)" :formatter="formatter" />
|
<template #default="scope">
|
||||||
|
<span
|
||||||
|
class="conclusion"
|
||||||
|
:class="
|
||||||
|
scope.row.flickerAssessLevel == '特质'
|
||||||
|
? 'background1'
|
||||||
|
: scope.row.flickerAssessLevel == '较差'
|
||||||
|
? 'background2'
|
||||||
|
: scope.row.flickerAssessLevel == '极差'
|
||||||
|
? 'background3'
|
||||||
|
: ''
|
||||||
|
"
|
||||||
|
>
|
||||||
|
{{ scope.row.flickerAssessLevel }}
|
||||||
|
</span>
|
||||||
|
</template>
|
||||||
|
</vxe-column>
|
||||||
|
<vxe-column field="flickerQualifyData" title="指标合格率(%)" />
|
||||||
</vxe-colgroup>
|
</vxe-colgroup>
|
||||||
<vxe-colgroup title="三相电压不平衡度">
|
<vxe-colgroup title="三相电压不平衡度">
|
||||||
<vxe-column field="unbalanceAssessData" title="评估得分" :formatter="formatter" />
|
<vxe-column field="unbalanceAssessLevel" title="评估结论">
|
||||||
<vxe-column field="unbalanceQualifyData" title="指标合格率(%)" :formatter="formatter" />
|
<template #default="scope">
|
||||||
|
<span
|
||||||
|
class="conclusion"
|
||||||
|
:class="
|
||||||
|
scope.row.unbalanceAssessLevel == '特质'
|
||||||
|
? 'background1'
|
||||||
|
: scope.row.unbalanceAssessLevel == '较差'
|
||||||
|
? 'background2'
|
||||||
|
: scope.row.unbalanceAssessLevel == '极差'
|
||||||
|
? 'background3'
|
||||||
|
: ''
|
||||||
|
"
|
||||||
|
>
|
||||||
|
{{ scope.row.unbalanceAssessLevel }}
|
||||||
|
</span>
|
||||||
|
</template>
|
||||||
|
</vxe-column>
|
||||||
|
<vxe-column field="unbalanceQualifyData" title="指标合格率(%)" />
|
||||||
</vxe-colgroup>
|
</vxe-colgroup>
|
||||||
</vxe-table>
|
</vxe-table>
|
||||||
</div>
|
</div>
|
||||||
<div style="height: 300px; margin-top: 10px">
|
<div style="height: 300px; margin-top: 10px; position: relative" v-loading="loading">
|
||||||
|
<el-select
|
||||||
|
v-model="time"
|
||||||
|
size="small"
|
||||||
|
style="width: 50px; position: absolute; top: 20px; right: 20px; z-index: 1"
|
||||||
|
@change="analysis"
|
||||||
|
>
|
||||||
|
<el-option label="年" value="1" />
|
||||||
|
<el-option label="月" value="3" />
|
||||||
|
</el-select>
|
||||||
<MyEChart style="height: 300px" :options="picEChart" />
|
<MyEChart style="height: 300px" :options="picEChart" />
|
||||||
</div>
|
</div>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
@@ -40,7 +151,9 @@ import MyEChart from '@/components/echarts/MyEchart.vue'
|
|||||||
import { defaultAttribute } from '@/components/table/defaultAttribute'
|
import { defaultAttribute } from '@/components/table/defaultAttribute'
|
||||||
import { getAssessDetail, getAssessTrend } from '@/api/device-boot/panorama'
|
import { getAssessDetail, getAssessTrend } from '@/api/device-boot/panorama'
|
||||||
const dialogVisible: any = ref(false)
|
const dialogVisible: any = ref(false)
|
||||||
|
const rowList: any = ref({})
|
||||||
|
const time = ref('1')
|
||||||
|
const loading = ref(false)
|
||||||
const tableData: any = ref([])
|
const tableData: any = ref([])
|
||||||
|
|
||||||
const picEChart = ref()
|
const picEChart = ref()
|
||||||
@@ -48,7 +161,14 @@ const open = async (row: any) => {
|
|||||||
getAssessDetail(row).then(res => {
|
getAssessDetail(row).then(res => {
|
||||||
tableData.value = res.data
|
tableData.value = res.data
|
||||||
})
|
})
|
||||||
getAssessTrend(row).then(res => {
|
rowList.value = row
|
||||||
|
analysis(1)
|
||||||
|
dialogVisible.value = true
|
||||||
|
}
|
||||||
|
const analysis = (e: any) => {
|
||||||
|
loading.value = true
|
||||||
|
let time = rowList.value.searchBeginTime.slice(0, 4) + `-01-01`
|
||||||
|
getAssessTrend({ ...rowList.value, searchBeginTime: time, type: e }).then(res => {
|
||||||
picEChart.value = {
|
picEChart.value = {
|
||||||
title: {
|
title: {
|
||||||
text: '各地市综合评估趋势对比'
|
text: '各地市综合评估趋势对比'
|
||||||
@@ -57,9 +177,11 @@ const open = async (row: any) => {
|
|||||||
name: '时间',
|
name: '时间',
|
||||||
data: res.data[0].children.map((item: any) => item.dataTime)
|
data: res.data[0].children.map((item: any) => item.dataTime)
|
||||||
},
|
},
|
||||||
|
|
||||||
grid: {
|
grid: {
|
||||||
bottom: '10px'
|
bottom: '10px'
|
||||||
},
|
},
|
||||||
|
|
||||||
yAxis: {
|
yAxis: {
|
||||||
name: ''
|
name: ''
|
||||||
},
|
},
|
||||||
@@ -85,16 +207,8 @@ const open = async (row: any) => {
|
|||||||
data: item
|
data: item
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
loading.value = false
|
||||||
})
|
})
|
||||||
|
|
||||||
dialogVisible.value = true
|
|
||||||
}
|
|
||||||
const formatter = (row: any) => {
|
|
||||||
if (row.cellValue == 3.14159) {
|
|
||||||
return '/'
|
|
||||||
} else {
|
|
||||||
return row.cellValue
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
defineExpose({ open })
|
defineExpose({ open })
|
||||||
@@ -103,4 +217,27 @@ defineExpose({ open })
|
|||||||
:deep(.el-dialog__body) {
|
:deep(.el-dialog__body) {
|
||||||
max-height: none !important;
|
max-height: none !important;
|
||||||
}
|
}
|
||||||
|
.conclusion {
|
||||||
|
display: inline-block;
|
||||||
|
padding: 0 10px;
|
||||||
|
height: 24px;
|
||||||
|
line-height: 24px;
|
||||||
|
|
||||||
|
border-radius: 4px;
|
||||||
|
}
|
||||||
|
.background1 {
|
||||||
|
background-color: #339966;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
.background2 {
|
||||||
|
background-color: #97017e;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
.background3 {
|
||||||
|
background-color: #cc0000;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
:deep(.el-select) {
|
||||||
|
min-width: 80px !important;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -96,21 +96,45 @@
|
|||||||
<el-col :span="12" style="display: flex">
|
<el-col :span="12" style="display: flex">
|
||||||
<div>
|
<div>
|
||||||
综合评估得分:
|
综合评估得分:
|
||||||
<span style="color: #299edf">
|
<span
|
||||||
{{ dropList.assessData == 3.14159 ? '--' : dropList.assessData }}
|
class="conclusion"
|
||||||
|
:class="
|
||||||
|
dropList.assessData == '特质'
|
||||||
|
? 'background1'
|
||||||
|
: dropList.assessData == '较差'
|
||||||
|
? 'background2'
|
||||||
|
: dropList.assessData == '极差'
|
||||||
|
? 'background3'
|
||||||
|
: ''
|
||||||
|
"
|
||||||
|
>
|
||||||
|
{{ dropList.assessData }}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-row style="width: 96%" v-for="(item, i) in evaluationData" class="row pb5">
|
<el-row style="width: 96%" v-for="(item, i) in evaluationData" class="row pb4 pt3">
|
||||||
<el-col :span="14" style="display: flex">
|
<el-col :span="14" style="display: flex">
|
||||||
<img :src="url[i]" />
|
<img :src="url[i]" />
|
||||||
<span>{{ item.targetName }}</span>
|
<span style="line-height: 20px">{{ item.targetName }}</span>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="10" style="display: flex">
|
<el-col :span="10" style="display: flex">
|
||||||
<div style="width: 100%">
|
<div style="width: 100%">
|
||||||
评估得分:
|
评估得分:
|
||||||
<span style="color: #299edf">{{ item.avg == 3.14159 ? '--' : item.avg }}</span>
|
<span
|
||||||
|
class="conclusion"
|
||||||
|
:class="
|
||||||
|
item.avg == '特质'
|
||||||
|
? 'background1'
|
||||||
|
: item.avg == '较差'
|
||||||
|
? 'background2'
|
||||||
|
: item.avg == '极差'
|
||||||
|
? 'background3'
|
||||||
|
: ''
|
||||||
|
"
|
||||||
|
>
|
||||||
|
{{ item.avg }}
|
||||||
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
@@ -207,7 +231,7 @@ const open = async (id: string) => {
|
|||||||
// 完整性
|
// 完整性
|
||||||
getTotalIntegrityByLineIds(form).then((res: any) => {
|
getTotalIntegrityByLineIds(form).then((res: any) => {
|
||||||
let num = (res.data || 0) / 100
|
let num = (res.data || 0) / 100
|
||||||
IntegrityNum.value = num
|
IntegrityNum.value = res.data
|
||||||
ComCharts.value = {
|
ComCharts.value = {
|
||||||
title: {
|
title: {
|
||||||
text: '完整性',
|
text: '完整性',
|
||||||
@@ -256,7 +280,7 @@ const open = async (id: string) => {
|
|||||||
label: {
|
label: {
|
||||||
normal: {
|
normal: {
|
||||||
formatter: () => {
|
formatter: () => {
|
||||||
return num * 100 + '%'
|
return (num * 100).toFixed(2) + '%'
|
||||||
},
|
},
|
||||||
textStyle: {
|
textStyle: {
|
||||||
fontSize: 20,
|
fontSize: 20,
|
||||||
@@ -328,7 +352,7 @@ const open = async (id: string) => {
|
|||||||
label: {
|
label: {
|
||||||
normal: {
|
normal: {
|
||||||
formatter: () => {
|
formatter: () => {
|
||||||
return num * 100 + '%'
|
return (num * 100).toFixed(2) + '%'
|
||||||
},
|
},
|
||||||
textStyle: {
|
textStyle: {
|
||||||
fontSize: 20,
|
fontSize: 20,
|
||||||
@@ -356,31 +380,31 @@ const open = async (id: string) => {
|
|||||||
startTime: datePickerRef.value.timeValue[0],
|
startTime: datePickerRef.value.timeValue[0],
|
||||||
endTime: datePickerRef.value.timeValue[1]
|
endTime: datePickerRef.value.timeValue[1]
|
||||||
}).then((res: any) => {
|
}).then((res: any) => {
|
||||||
dropList.value.assessData = res.data.assessData
|
dropList.value.assessData = res.data.assessLevel
|
||||||
evaluationData.value = [
|
evaluationData.value = [
|
||||||
{
|
{
|
||||||
targetName: '频率偏差',
|
targetName: '频率偏差',
|
||||||
avg: res.data.freqAssessData,
|
avg: res.data.freqAssessLevel,
|
||||||
sd: res.data.freqQualifyData
|
sd: res.data.freqQualifyData
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
targetName: '电压偏差',
|
targetName: '电压偏差',
|
||||||
avg: res.data.vdevAssessData,
|
avg: res.data.vdevAssessLevel,
|
||||||
sd: res.data.vdevQualifyData
|
sd: res.data.vdevQualifyData
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
targetName: '电压总谐波畸变率',
|
targetName: '电压总谐波畸变率',
|
||||||
avg: res.data.harmAssessData,
|
avg: res.data.harmAssessLevel,
|
||||||
sd: res.data.harmQualifyData
|
sd: res.data.harmQualifyData
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
targetName: '三相电压不平衡度',
|
targetName: '三相电压不平衡度',
|
||||||
avg: res.data.unbalanceAssessData,
|
avg: res.data.unbalanceAssessLevel,
|
||||||
sd: res.data.unbalanceQualifyData
|
sd: res.data.unbalanceQualifyData
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
targetName: '闪变',
|
targetName: '闪变',
|
||||||
avg: res.data.flickerAssessData,
|
avg: res.data.flickerAssessLevel,
|
||||||
sd: res.data.flickerQualifyData
|
sd: res.data.flickerQualifyData
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -645,7 +669,7 @@ defineExpose({ open })
|
|||||||
display: grid;
|
display: grid;
|
||||||
grid-template-rows: repeat(5, auto);
|
grid-template-rows: repeat(5, auto);
|
||||||
.row {
|
.row {
|
||||||
margin: 4px 2%;
|
margin: 4px 2% 0;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
box-shadow: 1px 1px 1px 1px #e8e3e3;
|
box-shadow: 1px 1px 1px 1px #e8e3e3;
|
||||||
}
|
}
|
||||||
@@ -665,4 +689,23 @@ defineExpose({ open })
|
|||||||
margin-left: 3px;
|
margin-left: 3px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.conclusion {
|
||||||
|
display: inline-block;
|
||||||
|
padding: 0 5px;
|
||||||
|
height: 20px;
|
||||||
|
line-height: 20px;
|
||||||
|
border-radius: 4px;
|
||||||
|
}
|
||||||
|
.background1 {
|
||||||
|
background-color: #339966;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
.background2 {
|
||||||
|
background-color: #97017e;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
.background3 {
|
||||||
|
background-color: #cc0000;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -329,6 +329,7 @@ const info = async (row: any) => {
|
|||||||
numOneList: []
|
numOneList: []
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
// 监测点告警
|
||||||
getGridDiagramAreaData(form).then((res: any) => {
|
getGridDiagramAreaData(form).then((res: any) => {
|
||||||
let numOne = 0
|
let numOne = 0
|
||||||
let numOneList: any = []
|
let numOneList: any = []
|
||||||
|
|||||||
@@ -52,7 +52,7 @@
|
|||||||
: ''
|
: ''
|
||||||
}"
|
}"
|
||||||
>
|
>
|
||||||
{{ assessList.score }}
|
{{ assessList.level }}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="evaluate">
|
<div class="evaluate">
|
||||||
@@ -80,7 +80,7 @@
|
|||||||
: ''
|
: ''
|
||||||
}"
|
}"
|
||||||
>
|
>
|
||||||
{{ item.score == 3.14159 ? '/' : item.score }}
|
{{ item.level }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-dialog
|
<el-dialog
|
||||||
v-model="dialogFormVisible"
|
v-model="dialogFormVisible"
|
||||||
title="用户档案录入"
|
:title="title"
|
||||||
width="65%"
|
width="65%"
|
||||||
:append-to-body="true"
|
:append-to-body="true"
|
||||||
:before-close="close"
|
:before-close="close"
|
||||||
@@ -161,7 +161,7 @@
|
|||||||
<el-select v-model="form.evaluationType" placeholder="请选择评估类型">
|
<el-select v-model="form.evaluationType" placeholder="请选择评估类型">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="(item, index) in evaluationTypeList"
|
v-for="(item, index) in evaluationTypeList"
|
||||||
:key="indedx"
|
:key="index"
|
||||||
:label="item.name"
|
:label="item.name"
|
||||||
:value="item.id"
|
:value="item.id"
|
||||||
/>
|
/>
|
||||||
@@ -464,7 +464,13 @@
|
|||||||
</template>
|
</template>
|
||||||
</el-upload>
|
</el-upload>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item class="uploadFile" for="-" label="背景电能质量测试报告:" prop="powerQualityReport">
|
<el-form-item
|
||||||
|
class="uploadFile"
|
||||||
|
for="-"
|
||||||
|
v-if="form.userType == '6'"
|
||||||
|
label="背景电能质量测试报告:"
|
||||||
|
prop="powerQualityReport"
|
||||||
|
>
|
||||||
<el-upload
|
<el-upload
|
||||||
v-model:file-list="form.powerQualityReport"
|
v-model:file-list="form.powerQualityReport"
|
||||||
ref="uploadRef"
|
ref="uploadRef"
|
||||||
@@ -501,7 +507,7 @@ import type { ComponentSize, FormInstance, FormRules } from 'element-plus'
|
|||||||
import { useAdminInfo } from '@/stores/adminInfo'
|
import { useAdminInfo } from '@/stores/adminInfo'
|
||||||
import { queryByAllCode } from '@/api/system-boot/dictTree'
|
import { queryByAllCode } from '@/api/system-boot/dictTree'
|
||||||
import { uploadFile } from '@/api/system-boot/file'
|
import { uploadFile } from '@/api/system-boot/file'
|
||||||
import { submitFormData } from '@/api/supervision-boot/interfere/index'
|
import { submitFormData, getById } from '@/api/supervision-boot/interfere/index'
|
||||||
defineProps({
|
defineProps({
|
||||||
openType: {
|
openType: {
|
||||||
type: String,
|
type: String,
|
||||||
@@ -512,7 +518,7 @@ const emits = defineEmits(['onSubmit'])
|
|||||||
const dictData = useDictData()
|
const dictData = useDictData()
|
||||||
const dialogFormVisible = ref(false)
|
const dialogFormVisible = ref(false)
|
||||||
// .doc,.docx,.xlsx,.xls,.pdf
|
// .doc,.docx,.xlsx,.xls,.pdf
|
||||||
const acceptType=''
|
const acceptType = ''
|
||||||
const form: any = ref({})
|
const form: any = ref({})
|
||||||
const ruleFormRef: any = ref(null)
|
const ruleFormRef: any = ref(null)
|
||||||
//字典获取所属地市
|
//字典获取所属地市
|
||||||
@@ -532,52 +538,53 @@ const evaluationDeptList = dictData.getBasicData('evaluation_dept')
|
|||||||
const userTypeList = reactive([
|
const userTypeList = reactive([
|
||||||
{
|
{
|
||||||
label: '新建电网工程',
|
label: '新建电网工程',
|
||||||
value: '0'
|
value: 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '扩建电网工程',
|
label: '扩建电网工程',
|
||||||
value: '1'
|
value: 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '新建非线性负荷用户',
|
label: '新建非线性负荷用户',
|
||||||
value: '2'
|
value: 2
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '扩建非线性负荷用户',
|
label: '扩建非线性负荷用户',
|
||||||
value: '3'
|
value: 3
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '新建新能源发电站',
|
label: '新建新能源发电站',
|
||||||
value: '4'
|
value: 4
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '扩建新能源发电站',
|
label: '扩建新能源发电站',
|
||||||
value: '5'
|
value: 5
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '敏感及重要用户',
|
label: '敏感及重要用户',
|
||||||
value: '6'
|
value: 6
|
||||||
}
|
}
|
||||||
])
|
])
|
||||||
//用户状态数组
|
//用户状态数组
|
||||||
const userStateList = reactive([
|
const userStateList = reactive([
|
||||||
{
|
{
|
||||||
label: '可研',
|
label: '可研',
|
||||||
value: '0'
|
value: 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '建设',
|
label: '建设',
|
||||||
value: '1'
|
value: 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '运行',
|
label: '运行',
|
||||||
value: '2'
|
value: 2
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '退运',
|
label: '退运',
|
||||||
value: '3'
|
value: 3
|
||||||
}
|
}
|
||||||
])
|
])
|
||||||
|
const title = ref('')
|
||||||
//获取非线性设备类型树形下拉
|
//获取非线性设备类型树形下拉
|
||||||
const defaultProps = {
|
const defaultProps = {
|
||||||
children: 'children',
|
children: 'children',
|
||||||
@@ -593,7 +600,7 @@ const resetForm = () => {
|
|||||||
reportDate: new Date(), //填报日期 1
|
reportDate: new Date(), //填报日期 1
|
||||||
orgId: '', //填报部门 1
|
orgId: '', //填报部门 1
|
||||||
expectedProductionDate: '', //工程预期投产日期 1
|
expectedProductionDate: '', //工程预期投产日期 1
|
||||||
userType: '0', //用户性质 1
|
userType: 0, //用户性质 1
|
||||||
city: areaOptionList[0].name, //所属地市 1
|
city: areaOptionList[0].name, //所属地市 1
|
||||||
responsibleDepartment: '', //归口管理部门 1
|
responsibleDepartment: '', //归口管理部门 1
|
||||||
userStatus: userStateList[0].value, //用户状态 1
|
userStatus: userStateList[0].value, //用户状态 1
|
||||||
@@ -684,7 +691,7 @@ const subForm: any = ref({
|
|||||||
responsibleDepartment: '', //归口管理部门
|
responsibleDepartment: '', //归口管理部门
|
||||||
substation: '', ////变电站
|
substation: '', ////变电站
|
||||||
userStatus: '0', //用户状态
|
userStatus: '0', //用户状态
|
||||||
userType: '0', //用户性质
|
userType: 0, //用户性质
|
||||||
voltageLevel: '',
|
voltageLevel: '',
|
||||||
//userType=='0' '1'
|
//userType=='0' '1'
|
||||||
userReportProjectPO: {
|
userReportProjectPO: {
|
||||||
@@ -749,286 +756,46 @@ const subForm: any = ref({
|
|||||||
|
|
||||||
//定义校验规则
|
//定义校验规则
|
||||||
const rules = ref({
|
const rules = ref({
|
||||||
reporter: [
|
reporter: [{ required: true, message: '请输入填报人', trigger: 'blur' }],
|
||||||
{
|
reportDate: [{ required: true, message: '请选择填报日期', trigger: 'change' }],
|
||||||
required: true,
|
orgId: [{ required: true, message: '请选择填报部门', trigger: 'change' }],
|
||||||
message: '请输入填报人',
|
expectedProductionDate: [{ required: true, message: '请选择工程预期投产日期', trigger: 'change' }],
|
||||||
trigger: 'blur'
|
userType: [{ required: true, message: '清选择用户性质', trigger: 'change' }],
|
||||||
}
|
city: [{ required: true, message: '请选择所属地市', trigger: 'change' }],
|
||||||
],
|
responsibleDepartment: [{ required: true, message: '请输入归口管理部门', trigger: 'blur' }],
|
||||||
reportDate: [
|
userStatus: [{ required: true, message: '请选择用户状态', trigger: 'change' }],
|
||||||
{
|
projectName: [{ required: true, message: '请输入工程名称', trigger: 'blur' }],
|
||||||
required: true,
|
substation: [{ required: true, message: '请输入变电站', trigger: 'blur' }],
|
||||||
message: '请选择填报日期',
|
voltageLevel: [{ required: true, message: '请选择电压等级', trigger: 'change' }],
|
||||||
trigger: 'change'
|
evaluationDept: [{ required: true, message: '请选择预测评估单位', trigger: 'change' }],
|
||||||
}
|
evaluationConclusion: [{ required: true, message: '请输入预测评估结论', trigger: 'blur' }],
|
||||||
],
|
agreementCapacity: [{ required: true, message: '请选择用户协议容量', trigger: 'blur' }],
|
||||||
orgId: [
|
nonlinearDeviceType: [{ required: true, message: '请选择非线性设备类型', trigger: 'change' }],
|
||||||
{
|
needGovernance: [{ required: true, message: '请选择是否需要治理', trigger: 'change' }],
|
||||||
required: true,
|
backgroundTestPerformed: [{ required: true, message: '请选择是否开展背景测试', trigger: 'change' }],
|
||||||
message: '请选择填报部门',
|
state: [{ required: true, message: '请选择数据状态', trigger: 'change' }],
|
||||||
trigger: 'change'
|
pccPoint: [{ required: true, message: '请输入PCC点', trigger: 'blur' }],
|
||||||
}
|
industry: [{ required: true, message: '请选择行业', trigger: 'change' }],
|
||||||
],
|
deviceName: [{ required: true, message: '请输入敏感装置名称', trigger: 'blur' }],
|
||||||
expectedProductionDate: [
|
powerSupplyCount: [{ required: true, message: '请输入供电电源数量', trigger: 'blur' }],
|
||||||
{
|
energyQualityIndex: [{ required: true, message: '请输入敏感电能质量指标', trigger: 'blur' }],
|
||||||
required: true,
|
evaluationType: [{ required: true, message: '请选择评估类型', trigger: 'change' }],
|
||||||
message: '请选择工程预期投产日期',
|
antiInterferenceTest: [{ required: true, message: '请选择是否开展抗扰度测试', trigger: 'change' }],
|
||||||
trigger: 'change'
|
evaluationChekDept: [{ required: true, message: '请输入预测评估审单位', trigger: 'blur' }],
|
||||||
}
|
baseShortCircuitCapacity: [{ required: true, message: '请输入基准短路容量', trigger: 'blur' }],
|
||||||
],
|
minShortCircuitCapacity: [{ required: true, message: '请输入系统最小短路容量', trigger: 'blur' }],
|
||||||
userType: [
|
pccEquipmentCapacity: [{ required: true, message: '请输入PCC供电设备容量', trigger: 'blur' }],
|
||||||
{
|
userAgreementCapacity: [{ required: true, message: '请输入用户用电协议容量', trigger: 'blur' }],
|
||||||
required: true,
|
nonlinearLoadType: [{ required: true, message: '请输入非线性负荷类型', trigger: 'blur' }],
|
||||||
message: '清选择用户性质',
|
substationMainWiringDiagram: [{ required: true, message: '请上传用户接入变电站主接线示意图', trigger: 'change' }],
|
||||||
trigger: 'change'
|
sensitiveDevices: [{ required: true, message: '请上传主要敏感设备清单', trigger: 'change' }],
|
||||||
}
|
antiInterferenceReport: [{ required: true, message: '请上传抗扰度测试报告', trigger: 'change' }],
|
||||||
],
|
powerQualityReport: [{ required: true, message: '请上传背景电能质量测试报告', trigger: 'change' }],
|
||||||
city: [
|
feasibilityReport: [{ required: true, message: '请上传可研报告', trigger: 'blur' }],
|
||||||
{
|
preliminaryDesignDescription: [{ required: true, message: '请上传项目初步设计说明书', trigger: 'blur' }],
|
||||||
required: true,
|
predictionEvaluationReport: [{ required: true, message: '请上传预测评估报告', trigger: 'blur' }],
|
||||||
message: '请选择所属地市',
|
predictionEvaluationReviewOpinions: [{ required: true, message: '请上传预测评估评审意见报告', trigger: 'blur' }],
|
||||||
trigger: 'change'
|
additionalAttachments: [{ required: false, message: '请上传其他附件', trigger: 'blur' }]
|
||||||
}
|
|
||||||
],
|
|
||||||
responsibleDepartment: [
|
|
||||||
{
|
|
||||||
required: true,
|
|
||||||
message: '请输入归口管理部门',
|
|
||||||
trigger: 'blur'
|
|
||||||
}
|
|
||||||
],
|
|
||||||
userStatus: [
|
|
||||||
{
|
|
||||||
required: true,
|
|
||||||
message: '请选择用户状态',
|
|
||||||
trigger: 'change'
|
|
||||||
}
|
|
||||||
],
|
|
||||||
projectName: [
|
|
||||||
{
|
|
||||||
required: true,
|
|
||||||
message: '请输入工程名称',
|
|
||||||
trigger: 'blur'
|
|
||||||
}
|
|
||||||
],
|
|
||||||
substation: [
|
|
||||||
{
|
|
||||||
required: true,
|
|
||||||
message: '请输入变电站',
|
|
||||||
trigger: 'blur'
|
|
||||||
}
|
|
||||||
],
|
|
||||||
voltageLevel: [
|
|
||||||
{
|
|
||||||
required: true,
|
|
||||||
message: '请选择电压等级',
|
|
||||||
trigger: 'change'
|
|
||||||
}
|
|
||||||
],
|
|
||||||
evaluationDept: [
|
|
||||||
{
|
|
||||||
required: true,
|
|
||||||
message: '请选择预测评估单位',
|
|
||||||
trigger: 'change'
|
|
||||||
}
|
|
||||||
],
|
|
||||||
evaluationConclusion: [
|
|
||||||
{
|
|
||||||
required: true,
|
|
||||||
message: '请输入预测评估结论',
|
|
||||||
trigger: 'blur'
|
|
||||||
}
|
|
||||||
],
|
|
||||||
agreementCapacity: [
|
|
||||||
{
|
|
||||||
required: true,
|
|
||||||
message: '请选择用户协议容量',
|
|
||||||
trigger: 'blur'
|
|
||||||
}
|
|
||||||
],
|
|
||||||
nonlinearDeviceType: [
|
|
||||||
{
|
|
||||||
required: true,
|
|
||||||
message: '请选择非线性设备类型',
|
|
||||||
trigger: 'change'
|
|
||||||
}
|
|
||||||
],
|
|
||||||
needGovernance: [
|
|
||||||
{
|
|
||||||
required: true,
|
|
||||||
message: '请选择是否需要治理',
|
|
||||||
trigger: 'change'
|
|
||||||
}
|
|
||||||
],
|
|
||||||
backgroundTestPerformed: [
|
|
||||||
{
|
|
||||||
required: true,
|
|
||||||
message: '请选择是否开展背景测试',
|
|
||||||
trigger: 'change'
|
|
||||||
}
|
|
||||||
],
|
|
||||||
state: [
|
|
||||||
{
|
|
||||||
required: true,
|
|
||||||
message: '请选择数据状态',
|
|
||||||
trigger: 'change'
|
|
||||||
}
|
|
||||||
],
|
|
||||||
pccPoint: [
|
|
||||||
{
|
|
||||||
required: true,
|
|
||||||
message: '请输入PCC点',
|
|
||||||
trigger: 'blur'
|
|
||||||
}
|
|
||||||
],
|
|
||||||
industry: [
|
|
||||||
{
|
|
||||||
required: true,
|
|
||||||
message: '请选择行业',
|
|
||||||
trigger: 'change'
|
|
||||||
}
|
|
||||||
],
|
|
||||||
deviceName: [
|
|
||||||
{
|
|
||||||
required: true,
|
|
||||||
message: '请输入敏感装置名称',
|
|
||||||
trigger: 'blur'
|
|
||||||
}
|
|
||||||
],
|
|
||||||
powerSupplyCount: [
|
|
||||||
{
|
|
||||||
required: true,
|
|
||||||
message: '请输入供电电源数量',
|
|
||||||
trigger: 'blur'
|
|
||||||
}
|
|
||||||
],
|
|
||||||
energyQualityIndex: [
|
|
||||||
{
|
|
||||||
required: true,
|
|
||||||
message: '请输入敏感电能质量指标',
|
|
||||||
trigger: 'blur'
|
|
||||||
}
|
|
||||||
],
|
|
||||||
evaluationType: [
|
|
||||||
{
|
|
||||||
required: true,
|
|
||||||
message: '请选择评估类型',
|
|
||||||
trigger: 'change'
|
|
||||||
}
|
|
||||||
],
|
|
||||||
antiInterferenceTest: [
|
|
||||||
{
|
|
||||||
required: true,
|
|
||||||
message: '请选择是否开展抗扰度测试',
|
|
||||||
trigger: 'change'
|
|
||||||
}
|
|
||||||
],
|
|
||||||
evaluationChekDept: [
|
|
||||||
{
|
|
||||||
required: true,
|
|
||||||
message: '请输入预测评估审单位',
|
|
||||||
trigger: 'blur'
|
|
||||||
}
|
|
||||||
],
|
|
||||||
baseShortCircuitCapacity: [
|
|
||||||
{
|
|
||||||
required: true,
|
|
||||||
message: '请输入基准短路容量',
|
|
||||||
trigger: 'blur'
|
|
||||||
}
|
|
||||||
],
|
|
||||||
minShortCircuitCapacity: [
|
|
||||||
{
|
|
||||||
required: true,
|
|
||||||
message: '请输入系统最小短路容量',
|
|
||||||
trigger: 'blur'
|
|
||||||
}
|
|
||||||
],
|
|
||||||
pccEquipmentCapacity: [
|
|
||||||
{
|
|
||||||
required: true,
|
|
||||||
message: '请输入PCC供电设备容量',
|
|
||||||
trigger: 'blur'
|
|
||||||
}
|
|
||||||
],
|
|
||||||
userAgreementCapacity: [
|
|
||||||
{
|
|
||||||
required: true,
|
|
||||||
message: '请输入用户用电协议容量',
|
|
||||||
trigger: 'blur'
|
|
||||||
}
|
|
||||||
],
|
|
||||||
nonlinearLoadType: [
|
|
||||||
{
|
|
||||||
required: true,
|
|
||||||
message: '请输入非线性负荷类型',
|
|
||||||
trigger: 'blur'
|
|
||||||
}
|
|
||||||
],
|
|
||||||
substationMainWiringDiagram: [
|
|
||||||
{
|
|
||||||
required: true,
|
|
||||||
message: '请上传用户接入变电站主接线示意图',
|
|
||||||
trigger: 'change'
|
|
||||||
}
|
|
||||||
],
|
|
||||||
sensitiveDevices: [
|
|
||||||
{
|
|
||||||
required: true,
|
|
||||||
message: '请上传主要敏感设备清单',
|
|
||||||
trigger: 'change'
|
|
||||||
}
|
|
||||||
],
|
|
||||||
antiInterferenceReport: [
|
|
||||||
{
|
|
||||||
required: true,
|
|
||||||
message: '请上传抗扰度测试报告',
|
|
||||||
trigger: 'change'
|
|
||||||
}
|
|
||||||
],
|
|
||||||
powerQualityReport: [
|
|
||||||
{
|
|
||||||
required: true,
|
|
||||||
message: '请上传背景电能质量测试报告',
|
|
||||||
trigger: 'change'
|
|
||||||
}
|
|
||||||
],
|
|
||||||
feasibilityReport: [
|
|
||||||
{
|
|
||||||
required: true,
|
|
||||||
message: '请上传可研报告',
|
|
||||||
trigger: 'blur'
|
|
||||||
}
|
|
||||||
],
|
|
||||||
preliminaryDesignDescription: [
|
|
||||||
{
|
|
||||||
required: true,
|
|
||||||
message: '请上传项目初步设计说明书',
|
|
||||||
trigger: 'blur'
|
|
||||||
}
|
|
||||||
],
|
|
||||||
predictionEvaluationReport: [
|
|
||||||
{
|
|
||||||
required: true,
|
|
||||||
message: '请上传预测评估报告',
|
|
||||||
trigger: 'blur'
|
|
||||||
}
|
|
||||||
],
|
|
||||||
predictionEvaluationReviewOpinions: [
|
|
||||||
{
|
|
||||||
required: true,
|
|
||||||
message: '请上传预测评估评审意见报告',
|
|
||||||
trigger: 'blur'
|
|
||||||
}
|
|
||||||
],
|
|
||||||
additionalAttachments: [
|
|
||||||
{
|
|
||||||
required: false,
|
|
||||||
message: '请上传其他附件',
|
|
||||||
trigger: 'blur'
|
|
||||||
}
|
|
||||||
]
|
|
||||||
})
|
})
|
||||||
watch(
|
watch(
|
||||||
() => form.value,
|
() => form.value,
|
||||||
@@ -1137,8 +904,63 @@ watch(
|
|||||||
deep: true
|
deep: true
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
const open = () => {
|
const open = async (row: any) => {
|
||||||
|
title.value = row.title
|
||||||
dialogFormVisible.value = true
|
dialogFormVisible.value = true
|
||||||
|
|
||||||
|
if (row.row) {
|
||||||
|
await getById({ id: row.row.id }).then(res => {
|
||||||
|
// form.value.userType = res.data.userType
|
||||||
|
|
||||||
|
if (res.data.userReportProjectPO != null) {
|
||||||
|
// userType 0 1
|
||||||
|
form.value = { ...res.data, ...res.data.userReportProjectPO }
|
||||||
|
fileRaw(res.data, 'userReportProjectPO')
|
||||||
|
} else if (res.data.userReportSubstationPO != null) {
|
||||||
|
// userType 2 3 4 5
|
||||||
|
form.value = { ...res.data, ...res.data.userReportSubstationPO }
|
||||||
|
fileRaw(res.data, 'userReportSubstationPO')
|
||||||
|
} else if (res.data.userReportSensitivePO != null) {
|
||||||
|
// userType6
|
||||||
|
form.value = { ...res.data, ...res.data.userReportSensitivePO }
|
||||||
|
fileRaw(res.data, 'userReportSensitivePO')
|
||||||
|
}
|
||||||
|
form.value.orgId = adminInfo.$state.deptName
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 处理上传文件回显
|
||||||
|
const fileRaw = (row: any, key: string) => {
|
||||||
|
let list = [
|
||||||
|
'feasibilityReport',
|
||||||
|
'preliminaryDesignDescription',
|
||||||
|
'predictionEvaluationReport',
|
||||||
|
'predictionEvaluationReviewOpinions',
|
||||||
|
'additionalAttachments',
|
||||||
|
'substationMainWiringDiagram',
|
||||||
|
'sensitiveDevices',
|
||||||
|
'antiInterferenceReport',
|
||||||
|
'powerQualityReport'
|
||||||
|
]
|
||||||
|
for (let k of list) {
|
||||||
|
if (row[key][k]) {
|
||||||
|
form.value[k] = [
|
||||||
|
{
|
||||||
|
name: row[key][k].split('/')[2]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
feasibilityReport.value = row[key].feasibilityReport
|
||||||
|
preliminaryDesignDescription.value = row[key].preliminaryDesignDescription
|
||||||
|
predictionEvaluationReport.value = row[key].predictionEvaluationReport
|
||||||
|
predictionEvaluationReviewOpinions.value = row[key].predictionEvaluationReviewOpinions
|
||||||
|
additionalAttachments.value = row[key].additionalAttachments
|
||||||
|
substationMainWiringDiagram.value = row[key].substationMainWiringDiagram
|
||||||
|
sensitiveDevices.value = row[key].sensitiveDevices
|
||||||
|
antiInterferenceReport.value = row[key].antiInterferenceReport
|
||||||
|
powerQualityReport.value = row.powerQualityReport
|
||||||
}
|
}
|
||||||
const close = () => {
|
const close = () => {
|
||||||
//重置表单内容
|
//重置表单内容
|
||||||
@@ -1167,7 +989,7 @@ const uploadFileName = val => {
|
|||||||
uploadName.value = val
|
uploadName.value = val
|
||||||
}
|
}
|
||||||
//移除文件上传
|
//移除文件上传
|
||||||
const removeFile = (file: any,uploadFiles:any) => {
|
const removeFile = (file: any, uploadFiles: any) => {
|
||||||
console.log(file, uploadFiles)
|
console.log(file, uploadFiles)
|
||||||
}
|
}
|
||||||
// 可研报告数组
|
// 可研报告数组
|
||||||
@@ -1189,6 +1011,7 @@ const antiInterferenceReport = ref('')
|
|||||||
//背景电能质量测试报告:
|
//背景电能质量测试报告:
|
||||||
const powerQualityReport = ref('')
|
const powerQualityReport = ref('')
|
||||||
const choose = (e: any) => {
|
const choose = (e: any) => {
|
||||||
|
// console.log('🚀 ~ choose ~ e:', e)
|
||||||
uploadFile(e.raw, '/supervision/').then(res => {
|
uploadFile(e.raw, '/supervision/').then(res => {
|
||||||
//可研报告
|
//可研报告
|
||||||
if (uploadName.value == 'feasibilityReport') {
|
if (uploadName.value == 'feasibilityReport') {
|
||||||
@@ -1235,7 +1058,7 @@ const disabledDate = time => {
|
|||||||
}
|
}
|
||||||
//提交
|
//提交
|
||||||
const confirmForm = () => {
|
const confirmForm = () => {
|
||||||
ruleFormRef.value.validate(valid => {
|
ruleFormRef.value.validate((valid: any) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
//整理上传文件的数据
|
//整理上传文件的数据
|
||||||
// userType==0,1
|
// userType==0,1
|
||||||
@@ -1395,6 +1218,7 @@ const confirmForm = () => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (title.value == '用户档案录入') {
|
||||||
submitFormData(confirmFormData).then(res => {
|
submitFormData(confirmFormData).then(res => {
|
||||||
if (res.code == 'A0000') {
|
if (res.code == 'A0000') {
|
||||||
ElMessage({
|
ElMessage({
|
||||||
@@ -1406,6 +1230,9 @@ const confirmForm = () => {
|
|||||||
close()
|
close()
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
} else {
|
||||||
|
console.log(confirmFormData)
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
console.log('表单验证失败')
|
console.log('表单验证失败')
|
||||||
return false
|
return false
|
||||||
|
|||||||
@@ -122,7 +122,35 @@ const tableStore = new TableStore({
|
|||||||
click: row => {
|
click: row => {
|
||||||
handleAudit(row.processInstanceId)
|
handleAudit(row.processInstanceId)
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
|
// {
|
||||||
|
// name: 'edit',
|
||||||
|
// title: '重新发起',
|
||||||
|
// type: 'warning',
|
||||||
|
// icon: 'el-icon-Open',
|
||||||
|
// render: 'basicButton',
|
||||||
|
// disabled: row => {
|
||||||
|
// return row.status == 1 || row.status == 2
|
||||||
|
// },
|
||||||
|
// click: row => {
|
||||||
|
// addForms.value.open({
|
||||||
|
// title: '重新发起',
|
||||||
|
// row: row
|
||||||
|
// })
|
||||||
|
// }
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// name: 'cancel',
|
||||||
|
// title: '取消',
|
||||||
|
// type: 'danger',
|
||||||
|
// icon: 'el-icon-Open',
|
||||||
|
// render: 'basicButton',
|
||||||
|
// disabled: row => {
|
||||||
|
// return row.status == 3 || row.status == 2 || row.status == 4
|
||||||
|
// },
|
||||||
|
// click: row => {
|
||||||
|
// }
|
||||||
|
// }
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@@ -132,8 +160,8 @@ const tableStore = new TableStore({
|
|||||||
tableStore.table.params.relationUserName = tableStore.table.params.userName
|
tableStore.table.params.relationUserName = tableStore.table.params.userName
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
tableStore.table.params.city=''
|
tableStore.table.params.city = ''
|
||||||
tableStore.table.params.projectName=''
|
tableStore.table.params.projectName = ''
|
||||||
tableStore.table.params.loadType = ''
|
tableStore.table.params.loadType = ''
|
||||||
tableStore.table.params.userName = ''
|
tableStore.table.params.userName = ''
|
||||||
tableStore.table.params.fileUploadflag = ''
|
tableStore.table.params.fileUploadflag = ''
|
||||||
@@ -146,11 +174,12 @@ const addList = () => {
|
|||||||
|
|
||||||
const addForms = ref()
|
const addForms = ref()
|
||||||
const addFormModel = () => {
|
const addFormModel = () => {
|
||||||
show.value=true
|
show.value = true
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
addForms.value.open()
|
addForms.value.open({
|
||||||
}, 0);
|
title: '用户档案录入'
|
||||||
|
})
|
||||||
|
}, 0)
|
||||||
}
|
}
|
||||||
|
|
||||||
// 导出
|
// 导出
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-dialog
|
<el-dialog
|
||||||
v-model="dialogFormVisible"
|
v-model="dialogFormVisible"
|
||||||
title="技术监督计划"
|
:title="title"
|
||||||
width="65%"
|
width="65%"
|
||||||
:append-to-body="true"
|
:append-to-body="true"
|
||||||
:before-close="close"
|
:before-close="close"
|
||||||
@@ -197,7 +197,7 @@
|
|||||||
></el-option>
|
></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item for="-" label="其他要求:" style="width:100%;">
|
<el-form-item for="-" label="其他要求:" style="width: 100%">
|
||||||
<el-input
|
<el-input
|
||||||
type="textarea"
|
type="textarea"
|
||||||
v-model="form.otherRemark"
|
v-model="form.otherRemark"
|
||||||
@@ -362,15 +362,16 @@ import { genFileId, ElMessage } from 'element-plus'
|
|||||||
import { useDictData } from '@/stores/dictData'
|
import { useDictData } from '@/stores/dictData'
|
||||||
import { useAdminInfo } from '@/stores/adminInfo'
|
import { useAdminInfo } from '@/stores/adminInfo'
|
||||||
import { uploadFile } from '@/api/system-boot/file'
|
import { uploadFile } from '@/api/system-boot/file'
|
||||||
import { addPlanFormData, getUserByDeptId } from '@/api/supervision-boot/plan/index'
|
import { addPlanFormData, getUserByDeptId, getPlanDetailsById } from '@/api/supervision-boot/plan/index'
|
||||||
import Area from '@/components/form/area/index.vue'
|
import Area from '@/components/form/area/index.vue'
|
||||||
const emits = defineEmits(['onSubmit'])
|
const emits = defineEmits(['onSubmit'])
|
||||||
const dictData = useDictData()
|
const dictData = useDictData()
|
||||||
const dialogFormVisible = ref(false)
|
const dialogFormVisible = ref(false)
|
||||||
const form: any = ref({})
|
const form: any = ref({})
|
||||||
|
const title = ref('')
|
||||||
const ruleFormRef = ref(null)
|
const ruleFormRef = ref(null)
|
||||||
// .xls,.xlsx
|
// .xls,.xlsx
|
||||||
const acceptType=''
|
const acceptType = ''
|
||||||
//获取登陆用户姓名和部门
|
//获取登陆用户姓名和部门
|
||||||
const adminInfo = useAdminInfo()
|
const adminInfo = useAdminInfo()
|
||||||
//字典获取监督类型
|
//字典获取监督类型
|
||||||
@@ -556,8 +557,14 @@ watch(
|
|||||||
immediate: true
|
immediate: true
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
const open = () => {
|
const open = (row: any) => {
|
||||||
|
title.value = row.title
|
||||||
dialogFormVisible.value = true
|
dialogFormVisible.value = true
|
||||||
|
if (row.row) {
|
||||||
|
getPlanDetailsById({ id: '861efbc90d1fae8e276f477081dd85fe' }).then(res => {
|
||||||
|
form.value = res.data
|
||||||
|
})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
const close = () => {
|
const close = () => {
|
||||||
//重置表单内容
|
//重置表单内容
|
||||||
@@ -681,6 +688,7 @@ const confirmForm = () => {
|
|||||||
// alarmFeedbackMaterials: alarmFeedbackMaterials.value, //告预警单反馈材料
|
// alarmFeedbackMaterials: alarmFeedbackMaterials.value, //告预警单反馈材料
|
||||||
// assessReport: assessReport.value //评估报告
|
// assessReport: assessReport.value //评估报告
|
||||||
// }
|
// }
|
||||||
|
if (title.value == '技术监督计划') {
|
||||||
addPlanFormData(confirmFormData).then(res => {
|
addPlanFormData(confirmFormData).then(res => {
|
||||||
if (res.code == 'A0000') {
|
if (res.code == 'A0000') {
|
||||||
ElMessage({
|
ElMessage({
|
||||||
@@ -692,6 +700,9 @@ const confirmForm = () => {
|
|||||||
close()
|
close()
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
} else {
|
||||||
|
console.log(confirmFormData)
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
console.log('表单验证失败')
|
console.log('表单验证失败')
|
||||||
return false
|
return false
|
||||||
@@ -700,6 +711,4 @@ const confirmForm = () => {
|
|||||||
}
|
}
|
||||||
defineExpose({ open })
|
defineExpose({ open })
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped></style>
|
||||||
|
|
||||||
</style>
|
|
||||||
|
|||||||
@@ -44,10 +44,11 @@ import { getLoadTypeUserList } from '@/api/process-boot/interference'
|
|||||||
import { useDictData } from '@/stores/dictData'
|
import { useDictData } from '@/stores/dictData'
|
||||||
import addForm from './components/addForm.vue'
|
import addForm from './components/addForm.vue'
|
||||||
import effectProblem from './components/effectProblem/index.vue'
|
import effectProblem from './components/effectProblem/index.vue'
|
||||||
import { planDetailsAudit ,sendAlarm} from '@/api/supervision-boot/plan/index'
|
import { planDetailsAudit, sendAlarm } from '@/api/supervision-boot/plan/index'
|
||||||
import { ElMessage } from 'element-plus'
|
import { ElMessage } from 'element-plus'
|
||||||
|
|
||||||
defineOptions({
|
defineOptions({
|
||||||
name: 'supervise/plan'
|
name: 'plan'
|
||||||
})
|
})
|
||||||
// const layout = mainHeight(120) as any
|
// const layout = mainHeight(120) as any
|
||||||
const dictData = useDictData()
|
const dictData = useDictData()
|
||||||
@@ -174,6 +175,23 @@ const tableStore = new TableStore({
|
|||||||
return !row.processInstanceId
|
return !row.processInstanceId
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
// {
|
||||||
|
// name: 'edit',
|
||||||
|
// title: '重新发起',
|
||||||
|
// type: 'warning',
|
||||||
|
// icon: 'el-icon-Open',
|
||||||
|
// render: 'basicButton',
|
||||||
|
// disabled: row => {
|
||||||
|
// return row.status == 1 || row.status == 2
|
||||||
|
// },
|
||||||
|
// click: row => {
|
||||||
|
// addForms.value.open({
|
||||||
|
// title: '重新发起',
|
||||||
|
// row: row
|
||||||
|
// })
|
||||||
|
// }
|
||||||
|
// },
|
||||||
|
|
||||||
{
|
{
|
||||||
name: 'productSetting',
|
name: 'productSetting',
|
||||||
title: '实施问题',
|
title: '实施问题',
|
||||||
@@ -197,6 +215,20 @@ const tableStore = new TableStore({
|
|||||||
handleAudit(row)
|
handleAudit(row)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
// {
|
||||||
|
// name: 'cancel',
|
||||||
|
// title: '取消',
|
||||||
|
// type: 'danger',
|
||||||
|
// icon: 'el-icon-Open',
|
||||||
|
// render: 'basicButton',
|
||||||
|
// disabled: row => {
|
||||||
|
// return row.status == 3 || row.status == 2 || row.status == 4
|
||||||
|
// },
|
||||||
|
// click: row => {
|
||||||
|
// // cancelLeave(row)
|
||||||
|
// }
|
||||||
|
// },
|
||||||
{
|
{
|
||||||
name: 'productSetting',
|
name: 'productSetting',
|
||||||
title: '发起告警单',
|
title: '发起告警单',
|
||||||
@@ -240,7 +272,9 @@ provide('tableStore', tableStore)
|
|||||||
const addForms = ref()
|
const addForms = ref()
|
||||||
const addFormModel = () => {
|
const addFormModel = () => {
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
addForms.value.open()
|
addForms.value.open({
|
||||||
|
title: '技术监督计划'
|
||||||
|
})
|
||||||
}, 0)
|
}, 0)
|
||||||
}
|
}
|
||||||
const exportEvent = () => {
|
const exportEvent = () => {
|
||||||
@@ -279,7 +313,7 @@ const handleAudit = (row: any) => {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
//发起告警单
|
//发起告警单
|
||||||
const handleAlarmForm=(row:any)=>{
|
const handleAlarmForm = (row: any) => {
|
||||||
sendAlarm({ id: row.planId }).then(res => {
|
sendAlarm({ id: row.planId }).then(res => {
|
||||||
ElMessage.success('发起告警单成功!')
|
ElMessage.success('发起告警单成功!')
|
||||||
tableStore.index()
|
tableStore.index()
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-dialog
|
<el-dialog
|
||||||
v-model="dialogFormVisible"
|
v-model="dialogFormVisible"
|
||||||
title="监测点信息"
|
:title="title"
|
||||||
width="65%"
|
width="65%"
|
||||||
:append-to-body="true"
|
:append-to-body="true"
|
||||||
:before-close="close"
|
:before-close="close"
|
||||||
@@ -348,12 +348,13 @@
|
|||||||
</el-dialog>
|
</el-dialog>
|
||||||
</template>
|
</template>
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { ref, onMounted, reactive, defineExpose, defineProps, defineEmits, watch, onUnmounted } from 'vue'
|
import { ref, onMounted, reactive, defineExpose, nextTick, defineEmits, watch, onUnmounted } from 'vue'
|
||||||
import type { UploadInstance, UploadProps, UploadRawFile } from 'element-plus'
|
import type { UploadInstance, UploadProps, UploadRawFile } from 'element-plus'
|
||||||
import { genFileId, ElMessage } from 'element-plus'
|
import { genFileId, ElMessage } from 'element-plus'
|
||||||
import { useDictData } from '@/stores/dictData'
|
import { useDictData } from '@/stores/dictData'
|
||||||
import { useAdminInfo } from '@/stores/adminInfo'
|
import { useAdminInfo } from '@/stores/adminInfo'
|
||||||
import { uploadFile } from '@/api/system-boot/file'
|
import { uploadFile } from '@/api/system-boot/file'
|
||||||
|
import { getTempLineDetailsById } from '@/api/supervision-boot/monitorpoint/index'
|
||||||
import { getDeviceList } from '@/api/supervision-boot/terminal/index'
|
import { getDeviceList } from '@/api/supervision-boot/terminal/index'
|
||||||
import { addMointorPointFormData, getList } from '@/api/supervision-boot/monitorpoint/index'
|
import { addMointorPointFormData, getList } from '@/api/supervision-boot/monitorpoint/index'
|
||||||
import { queryByAllCode } from '@/api/system-boot/dictTree'
|
import { queryByAllCode } from '@/api/system-boot/dictTree'
|
||||||
@@ -362,9 +363,10 @@ const emits = defineEmits(['onSubmit'])
|
|||||||
const dictData = useDictData()
|
const dictData = useDictData()
|
||||||
const dialogFormVisible = ref(false)
|
const dialogFormVisible = ref(false)
|
||||||
const form: any = ref({})
|
const form: any = ref({})
|
||||||
const ruleFormRef = ref(null)
|
const title = ref('')
|
||||||
|
const ruleFormRef:any = ref(null)
|
||||||
// acceptType .doc,.docx,.xlsx,.xls,.pdf
|
// acceptType .doc,.docx,.xlsx,.xls,.pdf
|
||||||
const acceptType=''
|
const acceptType = ''
|
||||||
//字典获取所属地市
|
//字典获取所属地市
|
||||||
const areaOptionList = dictData.getBasicData('jibei_area')
|
const areaOptionList = dictData.getBasicData('jibei_area')
|
||||||
//字典获取监测点电压等级
|
//字典获取监测点电压等级
|
||||||
@@ -423,7 +425,7 @@ const operationStatusList = [
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
//定义接线方式下拉框数据
|
//定义接线方式下拉框数据
|
||||||
const ptTypeList=[
|
const ptTypeList = [
|
||||||
{
|
{
|
||||||
id: '0',
|
id: '0',
|
||||||
name: '星型接法'
|
name: '星型接法'
|
||||||
@@ -435,7 +437,7 @@ const ptTypeList=[
|
|||||||
{
|
{
|
||||||
id: '2',
|
id: '2',
|
||||||
name: '开口三角型接法'
|
name: '开口三角型接法'
|
||||||
},
|
}
|
||||||
]
|
]
|
||||||
//定义线路号下拉框数据
|
//定义线路号下拉框数据
|
||||||
const numList = [
|
const numList = [
|
||||||
@@ -478,7 +480,7 @@ const numList = [
|
|||||||
{
|
{
|
||||||
id: '10',
|
id: '10',
|
||||||
name: '10'
|
name: '10'
|
||||||
},
|
}
|
||||||
]
|
]
|
||||||
//获取登陆用户姓名和部门
|
//获取登陆用户姓名和部门
|
||||||
const adminInfo = useAdminInfo()
|
const adminInfo = useAdminInfo()
|
||||||
@@ -547,8 +549,8 @@ const resetForm = () => {
|
|||||||
voltageDeviationLowerLimit: '0', //电压偏差下限
|
voltageDeviationLowerLimit: '0', //电压偏差下限
|
||||||
voltageDeviationUpperLimit: '0', // 电压偏差上限
|
voltageDeviationUpperLimit: '0', // 电压偏差上限
|
||||||
voltageLevel: voltageLevelList[0].id, //监测点电压等级
|
voltageLevel: voltageLevelList[0].id, //监测点电压等级
|
||||||
ptType:ptTypeList[0].id,//接线方式
|
ptType: ptTypeList[0].id, //接线方式
|
||||||
num:numList[0].id,//线路号
|
num: numList[0].id //线路号
|
||||||
}
|
}
|
||||||
let obj = {}
|
let obj = {}
|
||||||
getList(obj).then(res => {
|
getList(obj).then(res => {
|
||||||
@@ -567,7 +569,7 @@ const resetForm = () => {
|
|||||||
expectedProductionDate: obj.expectedProductionDate,
|
expectedProductionDate: obj.expectedProductionDate,
|
||||||
userName: userNameList.value[0]?.projectName,
|
userName: userNameList.value[0]?.projectName,
|
||||||
userId: userNameList.value[0]?.id,
|
userId: userNameList.value[0]?.id,
|
||||||
objName:userNameList.value[0]?.projectName,
|
objName: userNameList.value[0]?.projectName
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
changevoltageDeviationLimit()
|
changevoltageDeviationLimit()
|
||||||
@@ -604,13 +606,13 @@ findAllMonitoringTerminalList()
|
|||||||
//获取树形图数据
|
//获取树形图数据
|
||||||
const treeData: any = ref('')
|
const treeData: any = ref('')
|
||||||
//干扰源类型 取树形图第一层children数据
|
//干扰源类型 取树形图第一层children数据
|
||||||
const loadTypeList = ref([])
|
const loadTypeList: any = ref([])
|
||||||
//干扰源类别 取树形图第二层children数据
|
//干扰源类别 取树形图第二层children数据
|
||||||
const businessTypeList = ref([])
|
const businessTypeList: any = ref([])
|
||||||
const getTreeList = () => {
|
const getTreeList = () => {
|
||||||
queryByAllCode().then(res => {
|
queryByAllCode().then(res => {
|
||||||
treeData.value = [res.data.find(item => item.code == 'Major_Nonlinear_Device')]
|
treeData.value = [res.data.find((item: any) => item.code == 'Major_Nonlinear_Device')]
|
||||||
treeData.value[0].children.map(item => {
|
treeData.value[0].children.map((item: any) => {
|
||||||
//干扰源类型数据
|
//干扰源类型数据
|
||||||
loadTypeList.value.push({
|
loadTypeList.value.push({
|
||||||
id: item?.id,
|
id: item?.id,
|
||||||
@@ -632,7 +634,7 @@ const changeLoadType = async () => {
|
|||||||
}
|
}
|
||||||
//选择关联干扰源回显数据
|
//选择关联干扰源回显数据
|
||||||
const changeUserName = () => {
|
const changeUserName = () => {
|
||||||
let obj = projectList.value.find(item => {
|
let obj: any = projectList.value.find((item: any) => {
|
||||||
return form.value.userName == item.id
|
return form.value.userName == item.id
|
||||||
})
|
})
|
||||||
form.value = {
|
form.value = {
|
||||||
@@ -646,8 +648,8 @@ const changeUserName = () => {
|
|||||||
userName: obj?.projectName,
|
userName: obj?.projectName,
|
||||||
userId: obj?.id,
|
userId: obj?.id,
|
||||||
expectedProductionDate: obj?.expectedProductionDate,
|
expectedProductionDate: obj?.expectedProductionDate,
|
||||||
objName:obj?.projectName,
|
objName: obj?.projectName,
|
||||||
userStatus:obj?.userStatus+''
|
userStatus: obj?.userStatus + ''
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//定义校验规则
|
//定义校验规则
|
||||||
@@ -873,10 +875,28 @@ watch(
|
|||||||
immediate: true
|
immediate: true
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
const open = () => {
|
const open = (row: any) => {
|
||||||
dialogFormVisible.value = true
|
dialogFormVisible.value = true
|
||||||
//初始化数据
|
//初始化数据
|
||||||
resetForm()
|
resetForm()
|
||||||
|
title.value = row.title
|
||||||
|
nextTick(() => {
|
||||||
|
if (row.row) {
|
||||||
|
getTempLineDetailsById({ id: row.row.id }).then(res => {
|
||||||
|
form.value = res.data
|
||||||
|
form.value.loadType = loadTypeList.value.filter((item: any) => item.name == res.data.loadType)[0]?.id
|
||||||
|
form.value.businessType = businessTypeList.value.filter(
|
||||||
|
(item: any) => item.name == res.data.businessType
|
||||||
|
)[0]?.id
|
||||||
|
form.value.mainWiringDiagram = [
|
||||||
|
{
|
||||||
|
name: res.data.mainWiringDiagram.split('/')[2]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
mainWiringDiagram.value = res.data.mainWiringDiagram
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
}
|
}
|
||||||
const close = () => {
|
const close = () => {
|
||||||
//重置表单内容
|
//重置表单内容
|
||||||
@@ -903,7 +923,7 @@ const uploadFileName = val => {
|
|||||||
uploadName.value = val
|
uploadName.value = val
|
||||||
}
|
}
|
||||||
//移除文件上传
|
//移除文件上传
|
||||||
const removeFile = (file: any,uploadFiles:any) => {
|
const removeFile = (file: any, uploadFiles: any) => {
|
||||||
console.log(file, uploadFiles)
|
console.log(file, uploadFiles)
|
||||||
}
|
}
|
||||||
//监测点台账信息
|
//监测点台账信息
|
||||||
@@ -951,8 +971,8 @@ const confirmForm = () => {
|
|||||||
ptRatio: form.value.ptRatio / form.value.ptRatio2, //PT变比
|
ptRatio: form.value.ptRatio / form.value.ptRatio2, //PT变比
|
||||||
ctRatio: form.value.ctRatio / form.value.ctRatio2 //CT变比
|
ctRatio: form.value.ctRatio / form.value.ctRatio2 //CT变比
|
||||||
}
|
}
|
||||||
|
if (title.value == '监测点信息') {
|
||||||
addMointorPointFormData(confirmFormData).then(res => {
|
addMointorPointFormData(confirmFormData).then(res => {
|
||||||
if (res.code == 'A0000') {
|
|
||||||
ElMessage({
|
ElMessage({
|
||||||
message: '新增成功',
|
message: '新增成功',
|
||||||
type: 'success'
|
type: 'success'
|
||||||
@@ -960,8 +980,9 @@ const confirmForm = () => {
|
|||||||
ruleFormRef.value.resetFields()
|
ruleFormRef.value.resetFields()
|
||||||
resetForm()
|
resetForm()
|
||||||
close()
|
close()
|
||||||
}
|
|
||||||
})
|
})
|
||||||
|
} else {
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
console.log('表单验证失败')
|
console.log('表单验证失败')
|
||||||
return false
|
return false
|
||||||
|
|||||||
@@ -96,7 +96,36 @@ const tableStore = new TableStore({
|
|||||||
click: row => {
|
click: row => {
|
||||||
handleAudit(row.processInstanceId)
|
handleAudit(row.processInstanceId)
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
|
// {
|
||||||
|
// name: 'edit',
|
||||||
|
// title: '重新发起',
|
||||||
|
// type: 'warning',
|
||||||
|
// icon: 'el-icon-Open',
|
||||||
|
// render: 'basicButton',
|
||||||
|
// disabled: row => {
|
||||||
|
// return row.status == 1 || row.status == 2
|
||||||
|
// },
|
||||||
|
// click: row => {
|
||||||
|
// addForms.value.open({
|
||||||
|
// title: '重新发起',
|
||||||
|
// row: row
|
||||||
|
// })
|
||||||
|
// }
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// name: 'cancel',
|
||||||
|
// title: '取消',
|
||||||
|
// type: 'danger',
|
||||||
|
// icon: 'el-icon-Open',
|
||||||
|
// render: 'basicButton',
|
||||||
|
// disabled: row => {
|
||||||
|
// return row.status == 3 || row.status == 2 || row.status == 4
|
||||||
|
// },
|
||||||
|
// click: row => {
|
||||||
|
// // cancelLeave(row)
|
||||||
|
// }
|
||||||
|
// }
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@@ -116,7 +145,9 @@ provide('tableStore', tableStore)
|
|||||||
const addForms = ref()
|
const addForms = ref()
|
||||||
const addFormModel = () => {
|
const addFormModel = () => {
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
addForms.value.open()
|
addForms.value.open({
|
||||||
|
title: '监测点信息'
|
||||||
|
})
|
||||||
}, 0)
|
}, 0)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-dialog
|
<el-dialog
|
||||||
v-model="dialogFormVisible"
|
v-model="dialogFormVisible"
|
||||||
title="终端信息"
|
:title="title"
|
||||||
width="65%"
|
width="65%"
|
||||||
:append-to-body="true"
|
:append-to-body="true"
|
||||||
:before-close="close"
|
:before-close="close"
|
||||||
@@ -405,8 +405,8 @@
|
|||||||
<el-form-item for="-" label="对时功能:" prop="timeSyncFunction">
|
<el-form-item for="-" label="对时功能:" prop="timeSyncFunction">
|
||||||
<!-- 默认值 开启 -->
|
<!-- 默认值 开启 -->
|
||||||
<el-radio-group v-model="form.timeSyncFunction">
|
<el-radio-group v-model="form.timeSyncFunction">
|
||||||
<el-radio value="1">开启</el-radio>
|
<el-radio :value="1">开启</el-radio>
|
||||||
<el-radio value="0">关闭</el-radio>
|
<el-radio :value="0">关闭</el-radio>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item for="-" label="电镀功能:" prop="electroplatingFunction">
|
<el-form-item for="-" label="电镀功能:" prop="electroplatingFunction">
|
||||||
@@ -446,7 +446,6 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
<!-- </div> -->
|
<!-- </div> -->
|
||||||
<el-divider content-position="left">附件材料</el-divider>
|
<el-divider content-position="left">附件材料</el-divider>
|
||||||
<!-- <div id="part3" class="form-two"> -->
|
|
||||||
<el-form-item for="-" label="信息安全检测报告:" class="uploadFile" prop="informationSecurityTestReport">
|
<el-form-item for="-" label="信息安全检测报告:" class="uploadFile" prop="informationSecurityTestReport">
|
||||||
<el-upload
|
<el-upload
|
||||||
v-model:file-list="form.informationSecurityTestReport"
|
v-model:file-list="form.informationSecurityTestReport"
|
||||||
@@ -573,8 +572,6 @@
|
|||||||
</template>
|
</template>
|
||||||
</el-upload>
|
</el-upload>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<!-- </div> -->
|
|
||||||
<!-- </el-tabs> -->
|
|
||||||
</el-form>
|
</el-form>
|
||||||
<template #footer>
|
<template #footer>
|
||||||
<div class="dialog-footer">
|
<div class="dialog-footer">
|
||||||
@@ -596,13 +593,14 @@ import { useAdminInfo } from '@/stores/adminInfo'
|
|||||||
import { uploadFile } from '@/api/system-boot/file'
|
import { uploadFile } from '@/api/system-boot/file'
|
||||||
import { addTerminalFormData, getSubstationVoltageLevel } from '@/api/supervision-boot/terminal/index'
|
import { addTerminalFormData, getSubstationVoltageLevel } from '@/api/supervision-boot/terminal/index'
|
||||||
import { getAllDeptList } from '@/api/common'
|
import { getAllDeptList } from '@/api/common'
|
||||||
import { formatDate } from '@/utils/formatTime'
|
import { getTerminalDetailsById } from '@/api/supervision-boot/terminal/index'
|
||||||
import { nodeAllList } from '@/api/device-boot/Business'
|
import { nodeAllList } from '@/api/device-boot/Business'
|
||||||
const emits = defineEmits(['onSubmit'])
|
const emits = defineEmits(['onSubmit'])
|
||||||
const dictData = useDictData()
|
const dictData = useDictData()
|
||||||
const dialogFormVisible = ref(false)
|
const dialogFormVisible = ref(false)
|
||||||
const form: any = ref({})
|
const form: any = ref({})
|
||||||
const ruleFormRef = ref(null)
|
const ruleFormRef: any = ref(null)
|
||||||
|
const title = ref('')
|
||||||
// acceptType .xls,.xlsx
|
// acceptType .xls,.xlsx
|
||||||
const acceptType = ''
|
const acceptType = ''
|
||||||
//字典获取所属地市
|
//字典获取所属地市
|
||||||
@@ -668,6 +666,7 @@ const terminalModelList = [
|
|||||||
name: '离线'
|
name: '离线'
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
const substationList: any = ref([])
|
||||||
//字典获取通讯类型
|
//字典获取通讯类型
|
||||||
const frontTypeList = dictData.getBasicData('Front_Type')
|
const frontTypeList = dictData.getBasicData('Front_Type')
|
||||||
//定义通讯状态下拉框数据
|
//定义通讯状态下拉框数据
|
||||||
@@ -706,18 +705,18 @@ const summonFlagList = [
|
|||||||
//定义电镀功能下拉框数据
|
//定义电镀功能下拉框数据
|
||||||
const electroplatingFunctionList = [
|
const electroplatingFunctionList = [
|
||||||
{
|
{
|
||||||
id: '0',
|
id: 0,
|
||||||
name: '关闭'
|
name: '关闭'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: '1',
|
id: 1,
|
||||||
name: '开启'
|
name: '开启'
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
//获取登陆用户姓名和部门
|
//获取登陆用户姓名和部门
|
||||||
const adminInfo = useAdminInfo()
|
const adminInfo = useAdminInfo()
|
||||||
//获取所属前置机数据
|
//获取所属前置机数据
|
||||||
const frontEndMachineList = ref([])
|
const frontEndMachineList: any = ref([])
|
||||||
const getFrontEndMachineList = () => {
|
const getFrontEndMachineList = () => {
|
||||||
nodeAllList().then(res => {
|
nodeAllList().then(res => {
|
||||||
frontEndMachineList.value = res.data
|
frontEndMachineList.value = res.data
|
||||||
@@ -727,7 +726,7 @@ const changeSubstationFlag = () => {
|
|||||||
console.log(form.value.customSubstaionFlag)
|
console.log(form.value.customSubstaionFlag)
|
||||||
//处理所属变电站手都输入/下拉数据
|
//处理所属变电站手都输入/下拉数据
|
||||||
if (form.value.customSubstaionFlag == '0') {
|
if (form.value.customSubstaionFlag == '0') {
|
||||||
form.value.substationName = substationList.value.find(item => {
|
form.value.substationName = substationList.value.find((item: any) => {
|
||||||
return form.value.substation == item.id
|
return form.value.substation == item.id
|
||||||
})?.name
|
})?.name
|
||||||
} else {
|
} else {
|
||||||
@@ -740,7 +739,7 @@ watch(
|
|||||||
() => form.value.substation,
|
() => form.value.substation,
|
||||||
(val, oldVal) => {
|
(val, oldVal) => {
|
||||||
if (val) {
|
if (val) {
|
||||||
form.value.substationName = substationList.value.find(item => {
|
form.value.substationName = substationList.value.find((item: any) => {
|
||||||
return form.value.substation == item.id
|
return form.value.substation == item.id
|
||||||
})?.name
|
})?.name
|
||||||
}
|
}
|
||||||
@@ -752,7 +751,7 @@ watch(
|
|||||||
)
|
)
|
||||||
getFrontEndMachineList()
|
getFrontEndMachineList()
|
||||||
//定义所属供电公司数据
|
//定义所属供电公司数据
|
||||||
const powerCompanyList = ref([])
|
const powerCompanyList: any = ref([])
|
||||||
//获取所属供电公司,区域列表第三层数据
|
//获取所属供电公司,区域列表第三层数据
|
||||||
const getPowerCompanyList = async () => {
|
const getPowerCompanyList = async () => {
|
||||||
getAllDeptList().then(res => {
|
getAllDeptList().then(res => {
|
||||||
@@ -763,7 +762,7 @@ const getPowerCompanyList = async () => {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
//根据所选供电公司查询所选获取变电站与变电站电压等级
|
//根据所选供电公司查询所选获取变电站与变电站电压等级
|
||||||
const substationList = ref([])
|
|
||||||
const findSubstationVoltageLevel = async () => {
|
const findSubstationVoltageLevel = async () => {
|
||||||
getSubstationVoltageLevel({ orgIds: [form.value.powerCompany] }).then(res => {
|
getSubstationVoltageLevel({ orgIds: [form.value.powerCompany] }).then(res => {
|
||||||
substationList.value = res.data
|
substationList.value = res.data
|
||||||
@@ -773,7 +772,7 @@ const findSubstationVoltageLevel = async () => {
|
|||||||
}
|
}
|
||||||
//变电站选择的时候切换变电站电压等级
|
//变电站选择的时候切换变电站电压等级
|
||||||
const changeSubstation = async () => {
|
const changeSubstation = async () => {
|
||||||
let obj = substationList.value.find(item => item.id == form.value.substation)
|
let obj = substationList.value.find((item: any) => item.id == form.value.substation)
|
||||||
form.value.substationVoltageLevel = obj?.voltageLevel
|
form.value.substationVoltageLevel = obj?.voltageLevel
|
||||||
}
|
}
|
||||||
const containerRef = ref<HTMLElement | null>(null)
|
const containerRef = ref<HTMLElement | null>(null)
|
||||||
@@ -781,7 +780,7 @@ const containerRef = ref<HTMLElement | null>(null)
|
|||||||
const handleClick = (e: MouseEvent) => {
|
const handleClick = (e: MouseEvent) => {
|
||||||
e.preventDefault()
|
e.preventDefault()
|
||||||
}
|
}
|
||||||
const resetForm = async () => {
|
const resetForm: any = async () => {
|
||||||
form.value = {
|
form.value = {
|
||||||
reporter: '', //填报人
|
reporter: '', //填报人
|
||||||
reportDate: new Date(), //填报日期
|
reportDate: new Date(), //填报日期
|
||||||
@@ -831,7 +830,7 @@ const resetForm = async () => {
|
|||||||
terminalSecretKey: '', //终端秘钥
|
terminalSecretKey: '', //终端秘钥
|
||||||
terminalType: terminalTypeList[0].id, // 终端型号
|
terminalType: terminalTypeList[0].id, // 终端型号
|
||||||
terminalWiringMethodType: terminalWiringMethodTypeList[0].id, // 终端接线方式类型
|
terminalWiringMethodType: terminalWiringMethodTypeList[0].id, // 终端接线方式类型
|
||||||
timeSyncFunction: '0', // 对时功能
|
timeSyncFunction: 0, // 对时功能
|
||||||
voltageTransformerType: voltageTransformerTypeList[0].id //电压互感器类型
|
voltageTransformerType: voltageTransformerTypeList[0].id //电压互感器类型
|
||||||
}
|
}
|
||||||
form.value.reporter = adminInfo.$state.name
|
form.value.reporter = adminInfo.$state.name
|
||||||
@@ -841,7 +840,7 @@ const resetForm = async () => {
|
|||||||
//初始化数据
|
//初始化数据
|
||||||
resetForm()
|
resetForm()
|
||||||
//终端信息表单格式
|
//终端信息表单格式
|
||||||
const devReportForm = ref({
|
const devReportForm: any = ref({
|
||||||
reporter: '', //填报人
|
reporter: '', //填报人
|
||||||
reportDate: new Date(), //填报日期
|
reportDate: new Date(), //填报日期
|
||||||
orgId: '', //填报部门
|
orgId: '', //填报部门
|
||||||
@@ -893,7 +892,7 @@ const devReportForm = ref({
|
|||||||
terminalSecretKey: '', //终端秘钥
|
terminalSecretKey: '', //终端秘钥
|
||||||
terminalType: terminalTypeList[0].id, // 终端型号
|
terminalType: terminalTypeList[0].id, // 终端型号
|
||||||
terminalWiringMethodType: terminalWiringMethodTypeList[0].id, // 终端接线方式类型
|
terminalWiringMethodType: terminalWiringMethodTypeList[0].id, // 终端接线方式类型
|
||||||
timeSyncFunction: '0', // 对时功能
|
timeSyncFunction: 0, // 对时功能
|
||||||
voltageTransformerType: voltageTransformerTypeList[0].id //电压互感器类型
|
voltageTransformerType: voltageTransformerTypeList[0].id //电压互感器类型
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@@ -1344,9 +1343,43 @@ const disabledDate = time => {
|
|||||||
}
|
}
|
||||||
const activeName = ref('0')
|
const activeName = ref('0')
|
||||||
|
|
||||||
const open = async () => {
|
const open = async (row: any) => {
|
||||||
getPowerCompanyList()
|
await getPowerCompanyList()
|
||||||
|
title.value = row.title
|
||||||
dialogFormVisible.value = true
|
dialogFormVisible.value = true
|
||||||
|
if (row.row) {
|
||||||
|
await getTerminalDetailsById({ id: row.row.id }).then((res: any) => {
|
||||||
|
form.value = { customSubstaionFlag: '0', ...res.data, ...res.data.supervisionTempDeviceReport }
|
||||||
|
let list = [
|
||||||
|
'deviceFilePath',
|
||||||
|
'acceptanceInspectionReportSingle',
|
||||||
|
'acceptanceInspectionReport',
|
||||||
|
'typeExperimentReport',
|
||||||
|
'factoryInspectionReport',
|
||||||
|
'performanceTestReport',
|
||||||
|
'informationSecurityTestReport',
|
||||||
|
'otherAttachments'
|
||||||
|
]
|
||||||
|
for (let k of list) {
|
||||||
|
if (res.data[k]) {
|
||||||
|
form.value[k] = [
|
||||||
|
{
|
||||||
|
name: res.data[k].split('/')[2]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
form.value.orgId = adminInfo.$state.deptName
|
||||||
|
deviceFilePath.value = res.data.deviceFilePath
|
||||||
|
acceptanceInspectionReportSingle.value = res.data.acceptanceInspectionReportSingle
|
||||||
|
acceptanceInspectionReport.value = res.data.acceptanceInspectionReport
|
||||||
|
typeExperimentReport.value = res.data.typeExperimentReport
|
||||||
|
factoryInspectionReport.value = res.data.factoryInspectionReport
|
||||||
|
performanceTestReport.value = res.data.performanceTestReport
|
||||||
|
informationSecurityTestReport.value = res.data.informationSecurityTestReport
|
||||||
|
otherAttachments.value = res.data.otherAttachments
|
||||||
|
})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
const close = async () => {
|
const close = async () => {
|
||||||
//重置表单内容
|
//重置表单内容
|
||||||
@@ -1413,7 +1446,8 @@ const confirmForm = () => {
|
|||||||
typeExperimentReport: typeExperimentReport.value, //型式实验报告
|
typeExperimentReport: typeExperimentReport.value, //型式实验报告
|
||||||
otherAttachments: otherAttachments?.value //其他附件
|
otherAttachments: otherAttachments?.value //其他附件
|
||||||
}
|
}
|
||||||
addTerminalFormData(confirmFormData).then(res => {
|
if (title.value == '终端信息') {
|
||||||
|
addTerminalFormData(confirmFormData).then((res: any) => {
|
||||||
if (res.code == 'A0000') {
|
if (res.code == 'A0000') {
|
||||||
ElMessage({
|
ElMessage({
|
||||||
message: '新增成功',
|
message: '新增成功',
|
||||||
@@ -1424,6 +1458,9 @@ const confirmForm = () => {
|
|||||||
close()
|
close()
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
} else {
|
||||||
|
console.log(confirmFormData)
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
console.log('表单验证失败')
|
console.log('表单验证失败')
|
||||||
return false
|
return false
|
||||||
|
|||||||
@@ -34,11 +34,11 @@ const tableStore = new TableStore({
|
|||||||
method: 'POST',
|
method: 'POST',
|
||||||
column: [
|
column: [
|
||||||
{ title: '序号', type: 'seq', width: 80 },
|
{ title: '序号', type: 'seq', width: 80 },
|
||||||
{ field: 'orgName', title: '填报部门名称' , minWidth: 170 },
|
{ field: 'orgName', title: '填报部门名称', minWidth: 170 },
|
||||||
{ field: 'substationName', title: '所属变电站', minWidth: 170 },
|
{ field: 'substationName', title: '所属变电站', minWidth: 170 },
|
||||||
{ field: 'monitoringTerminalName', title: '设备名称', minWidth: 170 },
|
{ field: 'monitoringTerminalName', title: '设备名称', minWidth: 170 },
|
||||||
{ field: 'monitoringTerminalCode', title: '设备编号', minWidth: 170 },
|
{ field: 'monitoringTerminalCode', title: '设备编号', minWidth: 170 },
|
||||||
{ field: 'reportDate', title: '填报日期', minWidth: 170},
|
{ field: 'reportDate', title: '填报日期', minWidth: 170 },
|
||||||
{ field: 'reporter', title: '填报人', minWidth: 80 },
|
{ field: 'reporter', title: '填报人', minWidth: 80 },
|
||||||
{
|
{
|
||||||
field: 'status',
|
field: 'status',
|
||||||
@@ -110,7 +110,36 @@ const tableStore = new TableStore({
|
|||||||
click: row => {
|
click: row => {
|
||||||
handleAudit(row.processInstanceId)
|
handleAudit(row.processInstanceId)
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
|
// {
|
||||||
|
// name: 'edit',
|
||||||
|
// title: '重新发起',
|
||||||
|
// type: 'warning',
|
||||||
|
// icon: 'el-icon-Open',
|
||||||
|
// render: 'basicButton',
|
||||||
|
// disabled: row => {
|
||||||
|
// return row.status == 1 || row.status == 2
|
||||||
|
// },
|
||||||
|
// click: row => {
|
||||||
|
// addForms.value.open({
|
||||||
|
// title: '重新发起',
|
||||||
|
// row: row
|
||||||
|
// })
|
||||||
|
// }
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// name: 'cancel',
|
||||||
|
// title: '取消',
|
||||||
|
// type: 'danger',
|
||||||
|
// icon: 'el-icon-Open',
|
||||||
|
// render: 'basicButton',
|
||||||
|
// disabled: row => {
|
||||||
|
// return row.status == 3 || row.status == 2 || row.status == 4
|
||||||
|
// },
|
||||||
|
// click: row => {
|
||||||
|
// // cancelLeave(row)
|
||||||
|
// }
|
||||||
|
// }
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@@ -129,9 +158,10 @@ provide('tableStore', tableStore)
|
|||||||
const addForms = ref()
|
const addForms = ref()
|
||||||
const addFormModel = () => {
|
const addFormModel = () => {
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
addForms.value.open()
|
addForms.value.open({
|
||||||
}, 0);
|
title: '终端信息'
|
||||||
|
})
|
||||||
|
}, 0)
|
||||||
}
|
}
|
||||||
|
|
||||||
const exportEvent = () => {
|
const exportEvent = () => {
|
||||||
|
|||||||
Reference in New Issue
Block a user