修改冀北现场问题

This commit is contained in:
GGJ
2025-12-17 09:22:19 +08:00
parent 264f33302f
commit 92aa66436e
25 changed files with 493 additions and 366 deletions

View File

@@ -6,7 +6,7 @@ export function getUndocumentednonlinearData() {
method: 'get'
})
}
//获取入网评估报告审核数据
//获取系统接入方案审核数据
export function getReportreviewData() {
return createAxios({
url: '/Process-supervision/Reportreview/getReportreview',

View File

@@ -110,10 +110,7 @@
>
{{ proviteData.agreementCapacity }}
</el-descriptions-item>
<el-descriptions-item
label="装机容量MW"
>
<el-descriptions-item label="装机容量MW">
{{ proviteData?.ratePower }}
</el-descriptions-item>
<el-descriptions-item
@@ -485,7 +482,7 @@ const getProviteData = async () => {
getFileNamePath(proviteData.value.additionalAttachments, 'additionalAttachments')
}
// 入网评估报告
// 系统接入方案
if (detailData.value.netInReport.length > 0) {
netInReportList.value = []
detailData.value.netInReport.forEach((item: any) => {

View File

@@ -444,7 +444,7 @@ const clearQueryParams = () => {
defineExpose({
refresh: (statisticalType?: string) => {
tableStore.table.params.statisticalType = options.filter(item => item.id === statisticalType)[0] || ''
tableStore.table.params.statisticalType = options.filter(item => item.id == statisticalType)[0] || options[0]
clearQueryParams()
tableHeaderRef.value.setTheDate(3)

View File

@@ -92,12 +92,11 @@ const tableStore = new TableStore({
{
field: 'gdName',
title: '供电公司',
minWidth: 100
width: 150
},
{ field: 'subStationName', title: '变电站', minWidth: 150 },
{ field: 'projectName', title: '项目名称', minWidth: 150 },
{ field: 'subStationName', title: '变电站名称', minWidth: 150 },
{
field: 'subValue',
title: '污染值',
@@ -139,7 +138,7 @@ const tableStore = new TableStore({
tableStore.table.params.ids = [tableStore.table.params.statisticalType?.id]
},
loadCallback: () => {
tableStore.table.column[5].title = tableStore.table.params.statisticalType.name + '污染值'
tableStore.table.column[4].title = tableStore.table.params.statisticalType.name + '污染值'
}
})

View File

@@ -40,8 +40,10 @@
</el-tab-pane>
<el-tab-pane label="监测点运行状态" name="6" lazy v-if="!isReload">
<Yunxingzhuangtai v-if="activeName == '6'" />
</el-tab-pane>
<!-- -->
</el-tab-pane>
<el-tab-pane label="实时数据" name="7" lazy v-if="!isReload">
<Shishishuju v-if="activeName == '7'" />
</el-tab-pane>
<el-tab-pane label="统计报表" name="8" lazy v-if="!isReload && VITE_FLAG">
<StatisticalReport v-if="activeName == '8'" />
</el-tab-pane>
@@ -148,7 +150,7 @@ watch(
activeName.value = type
setTimeout(() => {
pointTree.value.scrollToNode(lineId)
monitoringPoint.setValue('lineName', findNodeByTreeId(pointTree.value.tree, lineId).alias)
}, 500)
}, 1000)

View File

@@ -6,7 +6,7 @@
<vxe-table
v-bind="defaultAttribute"
ref="tableRef"
@cell-click="currentChangeEvent"
@cell-click="currentChangeEvent"
height="250px"
:row-config="{ isCurrent: true, isHover: true }"
:data="tableData"
@@ -29,7 +29,7 @@
<div class="ml10" style="width: 990px">
<vxe-table
v-bind="defaultAttribute"
@cell-click="clickAttribute"
@cell-click="clickAttribute"
v-loading="loadingTab"
ref="vxeRef"
height="250px"
@@ -57,18 +57,24 @@
</div>
</div>
<div style="height: 300px; margin-top: 10px; position: relative" v-loading="loading">
<!-- <div style="position: absolute; width: 100px; top: 0px; right: 0px; z-index: 1">
<el-radio-group v-model="city" size="small" @change="analysis">
<el-radio-button label="0"></el-radio-button>
<el-radio-button label="1"></el-radio-button>
</el-radio-group>
<el-radio-group v-model="type" size="small" @change="analysis">
<el-radio-button label="1"></el-radio-button>
<el-radio-button label="3"></el-radio-button>
</el-radio-group>
</div> -->
<MyEChart style="height: 300px" :options="picEChart" @echartClick="echartClick" />
<vxe-table
v-bind="defaultAttribute"
ref="tableRef"
@cell-click="pollutionClick"
height="300px"
:row-config="{ isCurrent: true, isHover: true }"
:data="pollutionValueList"
style="cursor: pointer"
>
<vxe-column title="序号" width="60" type="seq" ></vxe-column>
<vxe-column field="gdName" title="供电公司" width="150" />
<vxe-column field="subStationName" title="变电站" />
<vxe-column field="projectName" title="项目名称" />
<vxe-column field="subValue" title="谐波电压污染值" width="150" />
</vxe-table>
<!-- <MyEChart style="height: 300px" :options="picEChart" @echartClick="echartClick" /> -->
</div>
</el-dialog>
</template>
@@ -89,6 +95,7 @@ const loading = ref(false)
const tableData: any = ref([])
const subdata: any = ref([])
const picEChart = ref()
const pollutionValueList = ref([])
const tableRef = ref()
const loadingTab = ref(false)
const PollutionList = dictData.getBasicData('Pollution_Calc').filter(item => item.name == '谐波电压')
@@ -120,47 +127,48 @@ const analysis = () => {
loading.value = true
let time = rowList.value.searchBeginTime.slice(0, 4) + `-01-01`
downPollutionSensitiveUser({ ...rowList.value, ids: [PollutionList[0].id], deptId: rowList.value.id }).then(res => {
const first10Items = res.data.slice(0, 10)
picEChart.value = {
title: {
text: '污染值排名前十敏感及重要用户'
},
pollutionValueList.value = res.data.filter((item: any) => item.subValue != null)
// const first10Items = res.data.slice(0, 10)
// picEChart.value = {
// title: {
// text: '污染值排名前十敏感及重要用户'
// },
xAxis: {
name: '',
data: first10Items.map((item: any) => item.projectName.split('(')[0].trim()),
axisLabel: {
rotate: 20 // 核心:倾斜 45 度(推荐 30/45/60角度太大易读性差
}
},
grid: {
bottom: 10
},
legend: {
show: false
},
yAxis: {
name: ''
},
options: {
dataZoom: false,
series: [
{
// name: time[i],
name: '污染值',
type: 'bar',
data: first10Items.map((item: any) => item.subValue),
itemStyle: {
color: function (params) {
// params.value 是当前柱子的数值
const value = params.value
return setColor(value)
}
}
}
]
}
}
// xAxis: {
// name: '',
// data: first10Items.map((item: any) => item.projectName.split('(')[0].trim()),
// axisLabel: {
// rotate: 20 // 核心:倾斜 45 度(推荐 30/45/60角度太大易读性差
// }
// },
// grid: {
// bottom: 10
// },
// legend: {
// show: false
// },
// yAxis: {
// name: ''
// },
// options: {
// dataZoom: false,
// series: [
// {
// // name: time[i],
// name: '污染值',
// type: 'bar',
// data: first10Items.map((item: any) => item.subValue),
// itemStyle: {
// color: function (params) {
// // params.value 是当前柱子的数值
// const value = params.value
// return setColor(value)
// }
// }
// }
// ]
// }
// }
loading.value = false
})
@@ -180,12 +188,12 @@ const setColor = val => {
? '#00B07D'
: ''
}
const echartClick = (res: any) => {
const pollutionClick = (res: any) => {
router.push({
name: 'harmonic-boot/qydetailedAnalysis/pollutionReport',
query: {
type: '4',
name: res.name,
name: res.row.projectName,
t: Date.now()
}
})

View File

@@ -19,7 +19,7 @@
<el-col :span="12">
<div class="title">
<span>分布统计</span>
<el-radio-group v-model="statisticalType" size="small" @change="getGridDiagramDev">
<el-radio-group v-model="statisticalType" size="small">
<el-radio-button v-for="item in options" :label="item.code" @change="statiStics">
{{ item.name }}
</el-radio-button>
@@ -84,6 +84,7 @@ const trendEChart: any = ref()
const picEChart = ref()
const open = async (row: any) => {
statisticalType.value = 'Load_Type'
time.value = '1'
rowList.value = {
deviceInfoParam: {

View File

@@ -107,7 +107,8 @@
<vxe-column field="xz" title="最大限值"></vxe-column>
</vxe-table> -->
<el-table :data="evaluationData.filter((item) => item.avg != 3.14159)" height="200px" size="small" border>
<!-- ${rowHeight} -->
<el-table :data="evaluationData.filter((item) => item.avg != 3.14159)" :height='`calc(${rowHeight} - 31px)`' size="small" border>
<el-table-column prop="targetName" align="center" label="指标名称" />
<el-table-column prop="avg" align="center" label="最大越限幅值">
<template #default="{ row }">
@@ -119,7 +120,7 @@
{{ row.xz == 3.14159 ? '/' : row.xz }}
</template>
</el-table-column>
</el-table>
</el-table>
</el-col>
</el-row>
<el-row :gutter="20" class="mt10" :style="`height:${rowHeight}`">

View File

@@ -73,7 +73,7 @@ const tableStore = new TableStore({
icon: 'el-icon-Plus',
render: 'basicButton',
click: row => {
AuditRef.value.open('入网评估报告审核', row)
AuditRef.value.open('系统接入方案审核', row)
}
}
]

View File

@@ -50,25 +50,31 @@
<el-descriptions-item label="预测评估结论">
{{ detailData.evaluationConclusion }}
</el-descriptions-item>
<el-descriptions-item :label="detailData.userType == '4' || detailData.userType == '5' ? '非线性设备类型: ' : '非线性负荷类型:'
" v-if="
<el-descriptions-item
:label="
detailData.userType == '4' || detailData.userType == '5' ? '非线性设备类型: ' : '非线性负荷类型:'
"
v-if="
detailData.userType == '2' ||
detailData.userType == '3' ||
detailData.userType == '4' ||
detailData.userType == '5'
">
"
>
{{ proviteData.nonlinearLoadType }}
</el-descriptions-item>
<el-descriptions-item label="是否需要治理">
<span v-if="detailData.userType == 0 || detailData.userType == 1">
{{ proviteData.needGovernance == 0 ? '否' : '是' }}
</span>
<span v-if="
detailData.userType == 2 ||
detailData.userType == 3 ||
detailData.userType == 4 ||
detailData.userType == 5
">
<span
v-if="
detailData.userType == 2 ||
detailData.userType == 3 ||
detailData.userType == 4 ||
detailData.userType == 5
"
>
{{ proviteData.needGovernance == 0 ? '否' : '是' }}
</span>
<span v-if="detailData.userType == 6">{{ proviteData.needGovernance == 0 ? '否' : '是' }}</span>
@@ -77,12 +83,14 @@
<span v-if="detailData.userType == 0 || detailData.userType == 1">
{{ proviteData.backgroundTestPerformed == 0 ? '否' : '是' }}
</span>
<span v-if="
detailData.userType == 2 ||
detailData.userType == 3 ||
detailData.userType == 4 ||
detailData.userType == 5
">
<span
v-if="
detailData.userType == 2 ||
detailData.userType == 3 ||
detailData.userType == 4 ||
detailData.userType == 5
"
>
{{ proviteData.backgroundTestPerformed == 0 ? '否' : '是' }}
</span>
<span v-if="detailData.userType == 6">
@@ -95,20 +103,26 @@
<el-descriptions-item label="PCC点" v-if="detailData.userType != 0 && detailData.userType != 1">
{{ proviteData?.pccPoint }}
</el-descriptions-item>
<el-descriptions-item label="PCC供电设备容量" v-if="
detailData.userType == '2' ||
detailData.userType == '3' ||
detailData.userType == '4' ||
detailData.userType == '5'
">
<el-descriptions-item
label="PCC供电设备容量"
v-if="
detailData.userType == '2' ||
detailData.userType == '3' ||
detailData.userType == '4' ||
detailData.userType == '5'
"
>
{{ proviteData.pccEquipmentCapacity }}
</el-descriptions-item>
<el-descriptions-item label="基准短路容量" v-if="
detailData.userType == '2' ||
detailData.userType == '3' ||
detailData.userType == '4' ||
detailData.userType == '5'
">
<el-descriptions-item
label="基准短路容量"
v-if="
detailData.userType == '2' ||
detailData.userType == '3' ||
detailData.userType == '4' ||
detailData.userType == '5'
"
>
{{ proviteData.baseShortCircuitCapacity }}
</el-descriptions-item>
<el-descriptions-item label="评估类型" v-if="detailData.userType != 0 && detailData.userType != 1">
@@ -121,20 +135,26 @@
<el-descriptions-item label="预测评估评审单位" v-if="detailData.userType != 0 && detailData.userType != 1">
{{ proviteData?.evaluationChekDept }}
</el-descriptions-item>
<el-descriptions-item label="系统最小短路容量" v-if="
detailData.userType == '2' ||
detailData.userType == '3' ||
detailData.userType == '4' ||
detailData.userType == '5'
">
<el-descriptions-item
label="系统最小短路容量"
v-if="
detailData.userType == '2' ||
detailData.userType == '3' ||
detailData.userType == '4' ||
detailData.userType == '5'
"
>
{{ proviteData?.minShortCircuitCapacity }}
</el-descriptions-item>
<el-descriptions-item label="用户用电协议容量" v-if="
detailData.userType == '2' ||
detailData.userType == '3' ||
detailData.userType == '4' ||
detailData.userType == '5'
">
<el-descriptions-item
label="用户用电协议容量"
v-if="
detailData.userType == '2' ||
detailData.userType == '3' ||
detailData.userType == '4' ||
detailData.userType == '5'
"
>
{{ proviteData?.userAgreementCapacity }}
</el-descriptions-item>
<el-descriptions-item label="行业" v-if="detailData.userType == 6">
@@ -160,20 +180,22 @@
<el-descriptions-item label="可研报告">
<span v-if="detailData.userType == 0 || detailData.userType == 1">
<el-icon class="elView" v-if="proviteData?.feasibilityReport.name">
<View @click="openFile(proviteData.feasibilityReport.name)" />
<View @click="openFile(proviteData.feasibilityReport.key)" />
</el-icon>
<a target="_blank" :href="proviteData.feasibilityReport.url">
{{ proviteData.feasibilityReport.name }}
</a>
</span>
<span v-if="
detailData.userType == 2 ||
detailData.userType == 3 ||
detailData.userType == 4 ||
detailData.userType == 5
">
<span
v-if="
detailData.userType == 2 ||
detailData.userType == 3 ||
detailData.userType == 4 ||
detailData.userType == 5
"
>
<el-icon class="elView" v-if="proviteData?.feasibilityReport.name">
<View @click="openFile(proviteData.feasibilityReport.name)" />
<View @click="openFile(proviteData.feasibilityReport.key)" />
</el-icon>
<a target="_blank" :href="proviteData.feasibilityReport.url">
{{ proviteData.feasibilityReport.name }}
@@ -181,7 +203,7 @@
</span>
<span v-if="detailData.userType == 6">
<el-icon class="elView" v-if="proviteData?.feasibilityReport.name">
<View @click="openFile(proviteData.feasibilityReport.name)" />
<View @click="openFile(proviteData.feasibilityReport.key)" />
</el-icon>
<a target="_blank" :href="proviteData.feasibilityReport.url">
{{ proviteData.feasibilityReport.name }}
@@ -190,7 +212,7 @@
</el-descriptions-item>
<el-descriptions-item label="项目初步设计说明书">
<el-icon class="elView" v-if="proviteData?.preliminaryDesignDescription.name">
<View @click="openFile(proviteData?.preliminaryDesignDescription.name)" />
<View @click="openFile(proviteData?.preliminaryDesignDescription.key)" />
</el-icon>
<a target="_blank" :href="proviteData?.preliminaryDesignDescription.url">
{{ proviteData?.preliminaryDesignDescription.name }}
@@ -198,7 +220,7 @@
</el-descriptions-item>
<el-descriptions-item label="预测评估报告">
<el-icon class="elView" v-if="proviteData?.predictionEvaluationReport.name">
<View @click="openFile(proviteData?.predictionEvaluationReport.name)" />
<View @click="openFile(proviteData?.predictionEvaluationReport.key)" />
</el-icon>
<a target="_blank" :href="proviteData?.predictionEvaluationReport.url">
{{ proviteData?.predictionEvaluationReport.name }}
@@ -206,15 +228,18 @@
</el-descriptions-item>
<el-descriptions-item label="预测评估评审意见报告">
<el-icon class="elView" v-if="proviteData?.predictionEvaluationReviewOpinions.name">
<View @click="openFile(proviteData?.predictionEvaluationReviewOpinions.name)" />
<View @click="openFile(proviteData?.predictionEvaluationReviewOpinions.key)" />
</el-icon>
<a target="_blank" :href="proviteData?.predictionEvaluationReviewOpinions.url">
{{ proviteData?.predictionEvaluationReviewOpinions.name }}
</a>
</el-descriptions-item>
<el-descriptions-item label="用户接入变电站主接线示意图" v-if="detailData.userType != 0 && detailData.userType != 1">
<el-descriptions-item
label="用户接入变电站主接线示意图"
v-if="detailData.userType != 0 && detailData.userType != 1"
>
<el-icon class="elView" v-if="proviteData?.substationMainWiringDiagram.name">
<View @click="openFile(proviteData?.substationMainWiringDiagram.name)" />
<View @click="openFile(proviteData?.substationMainWiringDiagram.key)" />
</el-icon>
<a target="_blank" :href="proviteData?.substationMainWiringDiagram.url">
{{ proviteData?.substationMainWiringDiagram.name }}
@@ -222,7 +247,7 @@
</el-descriptions-item>
<el-descriptions-item label="主要敏感终端清单" v-if="detailData.userType == 6">
<el-icon class="elView" v-if="proviteData?.sensitiveDevices.name">
<View @click="openFile(proviteData?.sensitiveDevices.name)" />
<View @click="openFile(proviteData?.sensitiveDevices.key)" />
</el-icon>
<a target="_blank" :href="proviteData?.sensitiveDevices.url">
{{ proviteData?.sensitiveDevices.name }}
@@ -230,7 +255,7 @@
</el-descriptions-item>
<el-descriptions-item label="抗扰度测试报告" v-if="detailData.userType == 6">
<el-icon class="elView" v-if="proviteData?.antiInterferenceReport.name">
<View @click="openFile(proviteData?.antiInterferenceReport.name)" />
<View @click="openFile(proviteData?.antiInterferenceReport.key)" />
</el-icon>
<a target="_blank" :href="proviteData?.antiInterferenceReport.url">
{{ proviteData?.antiInterferenceReport.name }}
@@ -238,16 +263,16 @@
</el-descriptions-item>
<el-descriptions-item label="背景电能质量测试报告" v-if="detailData.userType == 6">
<el-icon class="elView" v-if="proviteData?.powerQualityReport.name">
<View @click="openFile(proviteData?.powerQualityReport.name)" />
<View @click="openFile(proviteData?.powerQualityReport.key)" />
</el-icon>
<a target="_blank" :href="proviteData?.powerQualityReport.url">
{{ proviteData?.powerQualityReport.name }}
</a>
</el-descriptions-item>
<el-descriptions-item label="入网评估报告" v-if="applyTitle == '干扰源用户治理工程验收'">
<el-descriptions-item label="系统接入方案" v-if="applyTitle == '干扰源用户治理工程验收'">
<div v-for="item in netInReportList">
<el-icon class="elView" v-if="item.name">
<View @click="openFile(item.name)" />
<View @click="openFile(item.key)" />
</el-icon>
<a target="_blank" :href="item.url">
{{ item.name }}
@@ -257,7 +282,7 @@
<el-descriptions-item label="其他附件" v-if="proviteData?.additionalAttachments.url">
<el-icon class="elView" v-if="proviteData?.additionalAttachments.name">
<View @click="openFile(proviteData?.additionalAttachments.name)" />
<View @click="openFile(proviteData?.additionalAttachments.key)" />
</el-icon>
<a target="_blank" :href="proviteData?.additionalAttachments.url">
{{ proviteData?.additionalAttachments.name }}
@@ -275,10 +300,12 @@
<el-descriptions-item label="填报部门">
{{ detailData.orgName }}
</el-descriptions-item>
<el-descriptions-item :label="applyTitle + '报告'"
v-if="proviteData?.otherReport && proviteData?.otherReport.url">
<el-descriptions-item
:label="applyTitle + '报告'"
v-if="proviteData?.otherReport && proviteData?.otherReport.url"
>
<el-icon class="elView" v-if="proviteData?.otherReport.name">
<View @click="openFile(proviteData?.otherReport.nam)" />
<View @click="openFile(proviteData?.otherReport.key)" />
</el-icon>
<a target="_blank" :href="proviteData?.otherReport.url">{{ proviteData?.otherReport.name }}</a>
</el-descriptions-item>
@@ -299,7 +326,7 @@ import { userReportGoNetById } from '@/api/supervision-boot/interfere'
// import el-descriptions-item from './components/detailsItem.vue'
defineOptions({ name: 'BpmUserReportDetail' })
const openFile = (name: any) => {
window.open(window.location.origin + '/#/previewFile?/supervision/' + name)
window.open(window.location.origin + '/#/previewFile?' + name)
}
const { query } = useRoute() // 查询参数
@@ -459,7 +486,7 @@ const getProviteData = async () => {
await getFileNamePath(proviteData.value.otherReport, 'otherReport')
}
// 入网评估报告
// 系统接入方案
if (detailData.value.netInReport.length > 0 && detailData.value.netInReport[0] != null) {
netInReportList.value = []
detailData.value.netInReport.forEach((item: any) => {
@@ -475,6 +502,7 @@ const getFileNamePath = async (val: any, pathName: any) => {
if (pathName == 'feasibilityReport' && proviteData.value.feasibilityReport) {
proviteData.value.feasibilityReport = {
name: res.data.fileName,
key: val,
url: res.data.url
}
}
@@ -482,6 +510,7 @@ const getFileNamePath = async (val: any, pathName: any) => {
else if (pathName == 'preliminaryDesignDescription' && proviteData.value.preliminaryDesignDescription) {
proviteData.value.preliminaryDesignDescription = {
name: res.data.fileName,
key: val,
url: res.data.url
}
}
@@ -489,6 +518,7 @@ const getFileNamePath = async (val: any, pathName: any) => {
else if (pathName == 'predictionEvaluationReport' && proviteData.value.predictionEvaluationReport) {
proviteData.value.predictionEvaluationReport = {
name: res.data.fileName,
key: val,
url: res.data.url
}
}
@@ -499,6 +529,7 @@ const getFileNamePath = async (val: any, pathName: any) => {
) {
proviteData.value.predictionEvaluationReviewOpinions = {
name: res.data.fileName,
key: val,
url: res.data.url
}
}
@@ -506,6 +537,7 @@ const getFileNamePath = async (val: any, pathName: any) => {
else if (pathName == 'substationMainWiringDiagram' && proviteData.value.substationMainWiringDiagram) {
proviteData.value.substationMainWiringDiagram = {
name: res.data.fileName,
key: val,
url: res.data.url
}
}
@@ -513,6 +545,7 @@ const getFileNamePath = async (val: any, pathName: any) => {
else if (pathName == 'sensitiveDevices' && proviteData.value.sensitiveDevices) {
proviteData.value.sensitiveDevices = {
name: res.data.fileName,
key: val,
url: res.data.url
}
}
@@ -520,6 +553,7 @@ const getFileNamePath = async (val: any, pathName: any) => {
else if (pathName == 'antiInterferenceReport' && proviteData.value.antiInterferenceReport) {
proviteData.value.antiInterferenceReport = {
name: res.data.fileName,
key: val,
url: res.data.url
}
}
@@ -527,6 +561,7 @@ const getFileNamePath = async (val: any, pathName: any) => {
else if (pathName == 'powerQualityReport' && proviteData.value.powerQualityReport) {
proviteData.value.powerQualityReport = {
name: res.data.fileName,
key: val,
url: res.data.url
}
}
@@ -534,6 +569,7 @@ const getFileNamePath = async (val: any, pathName: any) => {
else if (pathName == 'additionalAttachments' && proviteData.value.additionalAttachments) {
proviteData.value.additionalAttachments = {
name: res.data.fileName,
key: val,
url: res.data.url
}
}
@@ -542,11 +578,13 @@ const getFileNamePath = async (val: any, pathName: any) => {
else if (pathName == 'otherReport' && proviteData.value.otherReport) {
proviteData.value.otherReport = {
name: res.data.fileName,
key: val,
url: res.data.url
}
} else if (pathName == 'netInReport') {
netInReportList.value.push({
name: res.data.fileName,
key: val,
url: res.data.url
})
}

View File

@@ -1,5 +1,4 @@
<template>
<!-- 上传 -->
<el-dialog draggable :title="title" v-model="uploadConclusions" width="1500px" :before-close="cancel">
<el-divider content-position="left">基本信息</el-divider>
@@ -9,7 +8,7 @@
:model="addForm"
label-width="auto"
:rules="rules"
:disabled="title == '未建档干扰源用户详情' || title == '入网评估报告审核'"
:disabled="title == '未建档干扰源用户详情' || title == '系统接入方案审核'"
>
<el-form-item label="所属单位:">
<Area v-model="addForm.orgNo" disabled />
@@ -33,7 +32,7 @@
</el-form-item>
<el-divider content-position="left" style="font-weight: bolder; font-size: 18px">
入网评估报告上传
系统接入方案上传
</el-divider>
<el-form label-width="120px">
<el-form-item class="item" label="上传文件:">
@@ -98,9 +97,9 @@
:model="addForm"
label-width="auto"
ref="form1Ref"
style="margin-left: 32px;"
style="margin-left: 32px"
:rules="rules"
v-if="title == '入网评估报告审核'"
v-if="title == '系统接入方案审核'"
>
<el-divider content-position="left" style="font-size: 18px; font-weight: bolder">审核意见</el-divider>
<el-form-item label="审核意见:" prop="checkComment">
@@ -116,14 +115,14 @@
</el-form>
<div
style="display: flex; justify-content: center; margin-top: 30px"
v-if="title != '未建档干扰源用户详情' && title != '入网评估报告审核'"
v-if="title != '未建档干扰源用户详情' && title != '系统接入方案审核'"
>
<el-button type="primary" class="ml20" @click="submit(1)">审核</el-button>
<el-button type="primary" class="ml20" @click="submit(2)">保存</el-button>
<el-button type="primary" class="ml20" @click="cancel">取消</el-button>
</div>
<div style="display: flex; justify-content: center; margin-top: 30px" v-if="title == '入网评估报告审核'">
<div style="display: flex; justify-content: center; margin-top: 30px" v-if="title == '系统接入方案审核'">
<el-button type="primary" class="ml20" @click="audit(1)">通过</el-button>
<el-button type="primary" class="ml20" @click="audit(0)">不通过</el-button>
<el-button type="primary" class="ml20" @click="cancel">取消</el-button>

View File

@@ -55,25 +55,31 @@
<el-descriptions-item label="预测评估结论" :span="2">
{{ detailData.evaluationConclusion }}
</el-descriptions-item>
<el-descriptions-item :label="detailData.userType == '4' || detailData.userType == '5' ? '非线性设备类型: ' : '非线性负荷类型:'
" v-if="
<el-descriptions-item
:label="
detailData.userType == '4' || detailData.userType == '5' ? '非线性设备类型: ' : '非线性负荷类型:'
"
v-if="
detailData.userType == '2' ||
detailData.userType == '3' ||
detailData.userType == '4' ||
detailData.userType == '5'
">
"
>
{{ proviteData?.nonlinearLoadType || '' }}
</el-descriptions-item>
<el-descriptions-item label="是否需要治理">
<span v-if="detailData.userType == 0 || detailData.userType == 1">
{{ proviteData?.needGovernance == 1 ? '是' : '否' }}
</span>
<span v-if="
detailData.userType == 2 ||
detailData.userType == 3 ||
detailData.userType == 4 ||
detailData.userType == 5
">
<span
v-if="
detailData.userType == 2 ||
detailData.userType == 3 ||
detailData.userType == 4 ||
detailData.userType == 5
"
>
{{ proviteData?.needGovernance == 1 ? '是' : '否' }}
</span>
<span v-if="detailData.userType == 6">{{ proviteData?.needGovernance == 1 ? '是' : '否' }}</span>
@@ -82,12 +88,14 @@
<span v-if="detailData.userType == 0 || detailData.userType == 1">
{{ proviteData?.backgroundTestPerformed == 1 ? '是' : '否' }}
</span>
<span v-if="
detailData.userType == 2 ||
detailData.userType == 3 ||
detailData.userType == 4 ||
detailData.userType == 5
">
<span
v-if="
detailData.userType == 2 ||
detailData.userType == 3 ||
detailData.userType == 4 ||
detailData.userType == 5
"
>
{{ proviteData?.backgroundTestPerformed == 1 ? '是' : '否' }}
</span>
<span v-if="detailData.userType == 6">
@@ -112,39 +120,54 @@
{{ proviteData.antiInterferenceTest == 1 ? '是' : '否' }}
</span>
</el-descriptions-item>
<el-descriptions-item label="用户协议容量MVA" v-if="detailData.userType == 0 || detailData.userType == 1">
<el-descriptions-item
label="用户协议容量MVA"
v-if="detailData.userType == 0 || detailData.userType == 1"
>
{{ proviteData?.agreementCapacity }}
</el-descriptions-item>
<el-descriptions-item label="PCC供电设备容量MVA" v-if="
detailData.userType == '2' ||
detailData.userType == '3' ||
detailData.userType == '4' ||
detailData.userType == '5'
">
<el-descriptions-item
label="PCC供电设备容量MVA"
v-if="
detailData.userType == '2' ||
detailData.userType == '3' ||
detailData.userType == '4' ||
detailData.userType == '5'
"
>
{{ proviteData?.pccEquipmentCapacity }}
</el-descriptions-item>
<el-descriptions-item label="基准短路容量MVA" v-if="
detailData.userType == '2' ||
detailData.userType == '3' ||
detailData.userType == '4' ||
detailData.userType == '5'
">
<el-descriptions-item
label="基准短路容量MVA"
v-if="
detailData.userType == '2' ||
detailData.userType == '3' ||
detailData.userType == '4' ||
detailData.userType == '5'
"
>
{{ proviteData?.baseShortCircuitCapacity }}
</el-descriptions-item>
<el-descriptions-item label="系统最小短路容量MVA" v-if="
detailData.userType == '2' ||
detailData.userType == '3' ||
detailData.userType == '4' ||
detailData.userType == '5'
">
<el-descriptions-item
label="系统最小短路容量MVA"
v-if="
detailData.userType == '2' ||
detailData.userType == '3' ||
detailData.userType == '4' ||
detailData.userType == '5'
"
>
{{ proviteData?.minShortCircuitCapacity }}
</el-descriptions-item>
<el-descriptions-item label="用户用电协议容量MVA" v-if="
detailData.userType == '2' ||
detailData.userType == '3' ||
detailData.userType == '4' ||
detailData.userType == '5'
">
<el-descriptions-item
label="用户用电协议容量MVA"
v-if="
detailData.userType == '2' ||
detailData.userType == '3' ||
detailData.userType == '4' ||
detailData.userType == '5'
"
>
{{ proviteData?.userAgreementCapacity }}
</el-descriptions-item>
<el-descriptions-item label="PCC点" v-if="detailData.userType != 0 && detailData.userType != 1">
@@ -191,17 +214,20 @@
}}
</el-descriptions-item>
<el-descriptions-item label="敏感电能质量指标" v-if="detailData.userType == 6">
<span v-if="proviteData.energyQualityIndex">
<span v-if="proviteData.energyQualityIndex">
{{
Array.isArray(proviteData.energyQualityIndex)
? proviteData.energyQualityIndex.map(id =>
energyQualityIndexList.find(item => item.id == id)?.name
).filter(name => name).join(', ')
: typeof proviteData.energyQualityIndex === 'string'
? proviteData.energyQualityIndex.split(', ').map(id =>
energyQualityIndexList.find(item => item.id == id)?.name
).filter(name => name).join(', ')
: energyQualityIndexList.find(item => item.id == proviteData.energyQualityIndex)?.name
Array.isArray(proviteData.energyQualityIndex)
? proviteData.energyQualityIndex
.map(id => energyQualityIndexList.find(item => item.id == id)?.name)
.filter(name => name)
.join(', ')
: typeof proviteData.energyQualityIndex === 'string'
? proviteData.energyQualityIndex
.split(', ')
.map(id => energyQualityIndexList.find(item => item.id == id)?.name)
.filter(name => name)
.join(', ')
: energyQualityIndexList.find(item => item.id == proviteData.energyQualityIndex)?.name
}}
</span>
<span v-else>-</span>
@@ -215,12 +241,14 @@
{{ proviteData?.feasibilityReport?.name }}
</a>
</span>
<span v-if="
detailData.userType == 2 ||
detailData.userType == 3 ||
detailData.userType == 4 ||
detailData.userType == 5
">
<span
v-if="
detailData.userType == 2 ||
detailData.userType == 3 ||
detailData.userType == 4 ||
detailData.userType == 5
"
>
<el-icon class="elView" v-if="proviteData?.feasibilityReport?.name">
<View @click="openFile(proviteData?.feasibilityReport?.name)" />
</el-icon>
@@ -262,7 +290,10 @@
{{ proviteData?.predictionEvaluationReviewOpinions?.name }}
</a>
</el-descriptions-item>
<el-descriptions-item label="用户接入变电站主接线示意图" v-if="detailData.userType != 0 && detailData.userType != 1">
<el-descriptions-item
label="用户接入变电站主接线示意图"
v-if="detailData.userType != 0 && detailData.userType != 1"
>
<el-icon class="elView" v-if="proviteData?.substationMainWiringDiagram?.name">
<View @click="openFile(proviteData?.substationMainWiringDiagram?.name)" />
</el-icon>
@@ -294,8 +325,10 @@
{{ proviteData?.powerQualityReport?.name }}
</a>
</el-descriptions-item>
<el-descriptions-item label="其他附件"
v-if="proviteData?.additionalAttachments && proviteData?.additionalAttachments?.url">
<el-descriptions-item
label="其他附件"
v-if="proviteData?.additionalAttachments && proviteData?.additionalAttachments?.url"
>
<el-icon class="elView" v-if="proviteData?.additionalAttachments?.name">
<View @click="openFile(proviteData?.additionalAttachments?.name)" />
</el-icon>
@@ -304,7 +337,7 @@
</a>
</el-descriptions-item>
<el-descriptions-item label="入网评估报告">
<el-descriptions-item label="系统接入方案">
<div v-for="item in netInReportList">
<el-icon class="elView" v-if="item.name">
<View @click="openFile(item.name)" />
@@ -448,7 +481,6 @@ const devIdList = ref([])
const queryId = query.id as unknown as string // 从 URL 传递过来的 id 编号
const openFile = (name: any) => {
window.open(window.location.origin + '/#/previewFile?/supervision/' + name)
}
const netInReportList: any = ref([])
const governReportList: any = ref([])
@@ -621,8 +653,7 @@ const queryFiles = () => {
}
//判断userType选择取用的对象
const getProviteData = async () => {
console.log('energyQualityIndexList',energyQualityIndexList)
console.log('energyQualityIndexList', energyQualityIndexList)
if (detailData.value.userType == '0' || detailData.value.userType == '1') {
proviteData.value = detailData.value.userReportProjectPO
//查询非线性终端类型
@@ -637,70 +668,84 @@ const getProviteData = async () => {
) {
proviteData.value = detailData.value.userReportSubstationPO
//查询非线性负荷类型
if (proviteData.value?.nonlinearLoadType != undefined) {
await getDictTreeById(proviteData.value.nonlinearLoadType).then(res => {
proviteData.value.nonlinearLoadType = res.data?.name
})
}
} else {
proviteData.value = detailData.value.userReportSensitivePO
console.log(proviteData.value.energyQualityIndex)
console.log('proviteData.value.nonlinearLoadType',energyQualityIndexList.find(item => {
return item.id == proviteData.value.energyQualityIndex
})?.name)
console.log(
'proviteData.value.nonlinearLoadType',
energyQualityIndexList.find(item => {
return item.id == proviteData.value.energyQualityIndex
})?.name
)
}
//可研报告
if (proviteData.value?.feasibilityReport != undefined && proviteData.value?.feasibilityReport.length>7) {
if (proviteData.value?.feasibilityReport != undefined && proviteData.value?.feasibilityReport.length > 7) {
await getFileNamePath(proviteData.value.feasibilityReport, 'feasibilityReport')
}
//项目初步设计说明书
if (proviteData.value?.preliminaryDesignDescription != undefined && proviteData.value?.preliminaryDesignDescription.length>7) {
if (
proviteData.value?.preliminaryDesignDescription != undefined &&
proviteData.value?.preliminaryDesignDescription.length > 7
) {
await getFileNamePath(proviteData.value.preliminaryDesignDescription, 'preliminaryDesignDescription')
}
//预测评估报告
if (proviteData.value?.predictionEvaluationReport != undefined && proviteData.value?.predictionEvaluationReport.length>7) {
if (
proviteData.value?.predictionEvaluationReport != undefined &&
proviteData.value?.predictionEvaluationReport.length > 7
) {
await getFileNamePath(proviteData.value.predictionEvaluationReport, 'predictionEvaluationReport')
}
//预测评估评审意见报告
if (proviteData.value?.predictionEvaluationReviewOpinions != undefined && proviteData.value?.predictionEvaluationReviewOpinions.length>7) {
if (
proviteData.value?.predictionEvaluationReviewOpinions != undefined &&
proviteData.value?.predictionEvaluationReviewOpinions.length > 7
) {
await getFileNamePath(
proviteData.value.predictionEvaluationReviewOpinions,
'predictionEvaluationReviewOpinions'
)
}
//用户接入变电站主接线示意图
if (proviteData.value?.substationMainWiringDiagram != undefined && proviteData.value?.substationMainWiringDiagram.length>7) {
if (
proviteData.value?.substationMainWiringDiagram != undefined &&
proviteData.value?.substationMainWiringDiagram.length > 7
) {
await getFileNamePath(proviteData.value.substationMainWiringDiagram, 'substationMainWiringDiagram')
}
//主要敏感终端清单
if (proviteData.value?.sensitiveDevices != undefined && proviteData.value?.sensitiveDevices.length>7) {
if (proviteData.value?.sensitiveDevices != undefined && proviteData.value?.sensitiveDevices.length > 7) {
await getFileNamePath(proviteData.value.sensitiveDevices, 'sensitiveDevices')
}
//抗扰度测试报告
if (proviteData.value?.antiInterferenceReport != undefined && proviteData.value?.antiInterferenceReport.length>7) {
if (
proviteData.value?.antiInterferenceReport != undefined &&
proviteData.value?.antiInterferenceReport.length > 7
) {
await getFileNamePath(proviteData.value.antiInterferenceReport, 'antiInterferenceReport')
}
//背景电能质量测试报告
if (proviteData.value?.powerQualityReport != undefined && proviteData.value?.powerQualityReport.length>7) {
if (proviteData.value?.powerQualityReport != undefined && proviteData.value?.powerQualityReport.length > 7) {
await getFileNamePath(proviteData.value.powerQualityReport, 'powerQualityReport')
}
//其他附件
if (proviteData.value?.additionalAttachments != undefined && proviteData.value?.additionalAttachments.length>7) {
if (proviteData.value?.additionalAttachments != undefined && proviteData.value?.additionalAttachments.length > 7) {
getFileNamePath(proviteData.value.additionalAttachments, 'additionalAttachments')
}
// 入网评估报告
if ( detailData.value.netInReport.length > 0 ) {
// 系统接入方案
if (detailData.value.netInReport.length > 0) {
netInReportList.value = []
detailData.value.netInReport.forEach((item: any) => {
if (item != null) {

View File

@@ -706,7 +706,7 @@ const getProviteData = async () => {
getFileNamePath(proviteData.value.additionalAttachments, 'additionalAttachments')
}
// 入网评估报告
// 系统接入方案
if (detailData.value.netInReport.length > 0) {
netInReportList.value = []
detailData.value.netInReport.forEach((item: any) => {

View File

@@ -1,8 +1,8 @@
<template>
<div>
<TableHeader area ref='TableHeaderRef' showExport>
<TableHeader area ref="TableHeaderRef" showExport>
<template #select>
<el-form-item label='运行状态'>
<el-form-item label="运行状态">
<el-select v-model="tableStore.table.params.runF" clearable placeholder="请选择运行状态">
<el-option
v-for="item in runFlagList"
@@ -12,20 +12,23 @@
></el-option>
</el-select>
</el-form-item>
<el-form-item label='信息查询'>
<el-input style="width:200px;" placeholder="电站名称,终端名称,型号" v-model='tableStore.table.params.searchValue' clearable></el-input>
<el-form-item label="数据筛选">
<el-input
style="width: 200px"
placeholder="电站名称,终端名称,型号"
v-model="tableStore.table.params.searchValue"
clearable
></el-input>
</el-form-item>
</template>
<template #operation>
<!-- <el-button icon='el-icon-Download' type='primary'>导出</el-button> -->
</template>
</TableHeader>
<Table ref='tableRef' />
<Table ref="tableRef" />
</div>
</template>
<script setup lang='ts'>
<script setup lang="ts">
import { ref, onMounted, provide, nextTick } from 'vue'
import TableStore from '@/utils/tableStore'
import Table from '@/components/table/index.vue'
@@ -44,11 +47,15 @@ const tableStore = new TableStore({
url: '/device-boot/runManage/getDeviceLedger',
publicHeight: 65,
method: 'POST',
filename:'终端台账',
filename: '终端台账',
column: [
{ title: '序号', width: 80,formatter: (row: any) => {
return (tableStore.table.params.pageNum - 1) * tableStore.table.params.pageSize + row.rowIndex + 1
} },
{
title: '序号',
width: 80,
formatter: (row: any) => {
return (tableStore.table.params.pageNum - 1) * tableStore.table.params.pageSize + row.rowIndex + 1
}
},
{
field: 'areaName',
title: '省公司',
@@ -69,7 +76,7 @@ const tableStore = new TableStore({
},
{ field: 'devType', title: '终端型号', minWidth: 100 },
{ field: 'ip', title: '终端网络参数' ,width:'120px'},
{ field: 'ip', title: '终端网络参数', width: '120px' },
{ field: 'port', title: '端口号', minWidth: 40 },
{
field: 'runFlag',
@@ -77,14 +84,13 @@ const tableStore = new TableStore({
minWidth: 80,
render: 'tag',
custom: {
'投运': 'success',
'停运': 'danger',
'检修': 'warning',
'调试': 'warning',
'退运': 'danger',
},
},
投运: 'success',
停运: 'danger',
检修: 'warning',
调试: 'warning',
退运: 'danger'
}
}
/* {
title: '操作',
@@ -112,30 +118,28 @@ const tableStore = new TableStore({
name: '电网拓扑',
code: 'Power_Network'
}
tableStore.table.params.runFlag = []
if(tableStore.table.params.runF!=null){
if (tableStore.table.params.runF != null) {
tableStore.table.params.runFlag = [tableStore.table.params.runF]
}
}
})
tableStore.table.params.runF=0
tableStore.table.params.runFlag=[]
tableStore.table.params.searchValue=''
const runFlagList = [{id:0,name:'投运'},{id:1,name:'检修'},{id:2,name:'停运'},{id:3,name:'调试'},{id:4,name:'退运'}]
tableStore.table.params.runF = 0
tableStore.table.params.runFlag = []
tableStore.table.params.searchValue = ''
const runFlagList = [
{ id: 0, name: '投运' },
{ id: 1, name: '检修' },
{ id: 2, name: '停运' },
{ id: 3, name: '调试' },
{ id: 4, name: '退运' }
]
provide('tableStore', tableStore)
onMounted(() => {
tableStore.index()
})
</script>

View File

@@ -12,7 +12,7 @@
></el-option>
</el-select>
</el-form-item>
<el-form-item label="信息查询">
<el-form-item label="数据筛选">
<el-input
style="width: 240px"
placeholder="电站名称,终端编号,监测点名称"
@@ -178,7 +178,7 @@ provide('tableStore', tableStore)
onMounted(() => {
tableStore.index()
})
const setSearchValue = (val:string) => {
const setSearchValue = (val: string) => {
tableStore.table.params.searchValue = val
tableStore.index()
}

View File

@@ -2,7 +2,7 @@
<div>
<TableHeader datePicker area nextFlag theCurrentTime ref="TableHeaderRef" showExport>
<template #select>
<el-form-item label="信息查询">
<el-form-item label="数据筛选">
<el-input
style="width: 200px"
placeholder="请输入变电站/监测点名称"
@@ -32,7 +32,7 @@ const tableStore = new TableStore({
method: 'POST',
isWebPaging: true,
paramsPOST: true,
filename:'变电站台账',
filename: '变电站台账',
column: [
{ field: 'deptName', title: '所在地市', minWidth: 100 },
{ field: 'substationName', title: '变电站名称', minWidth: 100 },
@@ -50,7 +50,7 @@ const tableStore = new TableStore({
title: '非电网侧监测点名称',
minWidth: 150,
formatter: (obj: any) => {
return obj.cellValue.length == 0 ? '/' : obj.cellValue.join('\n ')
return obj.cellValue.length == 0 ? '/' : obj.cellValue.join('\n ')
}
},
{ field: 'alarmFreq', title: '告警频次', minWidth: 80 },

View File

@@ -27,7 +27,7 @@
</el-descriptions-item>
<el-descriptions-item label="试运行报告">
<el-icon class="elView" v-if="detailData?.reportName">
<View @click="openFile(detailData?.reportName)" />
<View @click="openFile(detailData?.testRunReport)" />
</el-icon>
<a target="_blank" :href="detailData?.reportUrl">
{{ detailData?.reportName }}
@@ -73,7 +73,7 @@ const getInfo = async () => {
}
defineExpose({ open: getInfo }) // 提供 open 方法,用于打开弹窗
const openFile = (name: any) => {
window.open(window.location.origin + '/#/previewFile?/supervision/' + name)
window.open(window.location.origin + '/#/previewFile?' + name)
}
/** 初始化 **/
onMounted(() => {

View File

@@ -73,7 +73,7 @@ const tableStore = new TableStore({
icon: 'el-icon-Plus',
render: 'basicButton',
click: row => {
AuditRef.value.open('入网评估报告审核', row)
AuditRef.value.open('系统接入方案审核', row)
}
}
]

View File

@@ -50,25 +50,31 @@
<el-descriptions-item label="预测评估结论">
{{ detailData.evaluationConclusion }}
</el-descriptions-item>
<el-descriptions-item :label="detailData.userType == '4' || detailData.userType == '5' ? '非线性设备类型: ' : '非线性负荷类型:'
" v-if="
<el-descriptions-item
:label="
detailData.userType == '4' || detailData.userType == '5' ? '非线性设备类型: ' : '非线性负荷类型:'
"
v-if="
detailData.userType == '2' ||
detailData.userType == '3' ||
detailData.userType == '4' ||
detailData.userType == '5'
">
"
>
{{ proviteData.nonlinearLoadType }}
</el-descriptions-item>
<el-descriptions-item label="是否需要治理">
<span v-if="detailData.userType == 0 || detailData.userType == 1">
{{ proviteData.needGovernance == 0 ? '否' : '是' }}
</span>
<span v-if="
detailData.userType == 2 ||
detailData.userType == 3 ||
detailData.userType == 4 ||
detailData.userType == 5
">
<span
v-if="
detailData.userType == 2 ||
detailData.userType == 3 ||
detailData.userType == 4 ||
detailData.userType == 5
"
>
{{ proviteData.needGovernance == 0 ? '否' : '是' }}
</span>
<span v-if="detailData.userType == 6">{{ proviteData.needGovernance == 0 ? '否' : '是' }}</span>
@@ -77,12 +83,14 @@
<span v-if="detailData.userType == 0 || detailData.userType == 1">
{{ proviteData.backgroundTestPerformed == 0 ? '否' : '是' }}
</span>
<span v-if="
detailData.userType == 2 ||
detailData.userType == 3 ||
detailData.userType == 4 ||
detailData.userType == 5
">
<span
v-if="
detailData.userType == 2 ||
detailData.userType == 3 ||
detailData.userType == 4 ||
detailData.userType == 5
"
>
{{ proviteData.backgroundTestPerformed == 0 ? '否' : '是' }}
</span>
<span v-if="detailData.userType == 6">
@@ -95,20 +103,26 @@
<el-descriptions-item label="PCC点" v-if="detailData.userType != 0 && detailData.userType != 1">
{{ proviteData?.pccPoint }}
</el-descriptions-item>
<el-descriptions-item label="PCC供电设备容量" v-if="
detailData.userType == '2' ||
detailData.userType == '3' ||
detailData.userType == '4' ||
detailData.userType == '5'
">
<el-descriptions-item
label="PCC供电设备容量"
v-if="
detailData.userType == '2' ||
detailData.userType == '3' ||
detailData.userType == '4' ||
detailData.userType == '5'
"
>
{{ proviteData.pccEquipmentCapacity }}
</el-descriptions-item>
<el-descriptions-item label="基准短路容量" v-if="
detailData.userType == '2' ||
detailData.userType == '3' ||
detailData.userType == '4' ||
detailData.userType == '5'
">
<el-descriptions-item
label="基准短路容量"
v-if="
detailData.userType == '2' ||
detailData.userType == '3' ||
detailData.userType == '4' ||
detailData.userType == '5'
"
>
{{ proviteData.baseShortCircuitCapacity }}
</el-descriptions-item>
<el-descriptions-item label="评估类型" v-if="detailData.userType != 0 && detailData.userType != 1">
@@ -121,20 +135,26 @@
<el-descriptions-item label="预测评估评审单位" v-if="detailData.userType != 0 && detailData.userType != 1">
{{ proviteData?.evaluationChekDept }}
</el-descriptions-item>
<el-descriptions-item label="系统最小短路容量" v-if="
detailData.userType == '2' ||
detailData.userType == '3' ||
detailData.userType == '4' ||
detailData.userType == '5'
">
<el-descriptions-item
label="系统最小短路容量"
v-if="
detailData.userType == '2' ||
detailData.userType == '3' ||
detailData.userType == '4' ||
detailData.userType == '5'
"
>
{{ proviteData?.minShortCircuitCapacity }}
</el-descriptions-item>
<el-descriptions-item label="用户用电协议容量" v-if="
detailData.userType == '2' ||
detailData.userType == '3' ||
detailData.userType == '4' ||
detailData.userType == '5'
">
<el-descriptions-item
label="用户用电协议容量"
v-if="
detailData.userType == '2' ||
detailData.userType == '3' ||
detailData.userType == '4' ||
detailData.userType == '5'
"
>
{{ proviteData?.userAgreementCapacity }}
</el-descriptions-item>
<el-descriptions-item label="行业" v-if="detailData.userType == 6">
@@ -166,12 +186,14 @@
{{ proviteData.feasibilityReport.name }}
</a>
</span>
<span v-if="
detailData.userType == 2 ||
detailData.userType == 3 ||
detailData.userType == 4 ||
detailData.userType == 5
">
<span
v-if="
detailData.userType == 2 ||
detailData.userType == 3 ||
detailData.userType == 4 ||
detailData.userType == 5
"
>
<el-icon class="elView" v-if="proviteData?.feasibilityReport.name">
<View @click="openFile(proviteData.feasibilityReport.name)" />
</el-icon>
@@ -212,7 +234,10 @@
{{ proviteData?.predictionEvaluationReviewOpinions.name }}
</a>
</el-descriptions-item>
<el-descriptions-item label="用户接入变电站主接线示意图" v-if="detailData.userType != 0 && detailData.userType != 1">
<el-descriptions-item
label="用户接入变电站主接线示意图"
v-if="detailData.userType != 0 && detailData.userType != 1"
>
<el-icon class="elView" v-if="proviteData?.substationMainWiringDiagram.name">
<View @click="openFile(proviteData?.substationMainWiringDiagram.name)" />
</el-icon>
@@ -244,7 +269,7 @@
{{ proviteData?.powerQualityReport.name }}
</a>
</el-descriptions-item>
<el-descriptions-item label="入网评估报告" v-if="applyTitle == '干扰源用户治理工程验收'">
<el-descriptions-item label="系统接入方案" v-if="applyTitle == '干扰源用户治理工程验收'">
<div v-for="item in netInReportList">
<el-icon class="elView" v-if="item.name">
<View @click="openFile(item.name)" />
@@ -275,8 +300,10 @@
<el-descriptions-item label="填报部门">
{{ detailData.orgName }}
</el-descriptions-item>
<el-descriptions-item :label="applyTitle + '报告'"
v-if="proviteData?.otherReport && proviteData?.otherReport.url">
<el-descriptions-item
:label="applyTitle + '报告'"
v-if="proviteData?.otherReport && proviteData?.otherReport.url"
>
<el-icon class="elView" v-if="proviteData?.otherReport.name">
<View @click="openFile(proviteData?.otherReport.nam)" />
</el-icon>
@@ -459,7 +486,7 @@ const getProviteData = async () => {
await getFileNamePath(proviteData.value.otherReport, 'otherReport')
}
// 入网评估报告
// 系统接入方案
if (detailData.value.netInReport.length > 0 && detailData.value.netInReport[0] != null) {
netInReportList.value = []
detailData.value.netInReport.forEach((item: any) => {

View File

@@ -1,5 +1,4 @@
<template>
<!-- 上传 -->
<el-dialog draggable :title="title" v-model="uploadConclusions" width="1500px" :before-close="cancel">
<el-divider content-position="left">基本信息</el-divider>
@@ -9,7 +8,7 @@
:model="addForm"
label-width="auto"
:rules="rules"
:disabled="title == '未建档干扰源用户详情' || title == '入网评估报告审核'"
:disabled="title == '未建档干扰源用户详情' || title == '系统接入方案审核'"
>
<el-form-item label="所属单位:">
<Area v-model="addForm.orgNo" disabled />
@@ -33,7 +32,7 @@
</el-form-item>
<el-divider content-position="left" style="font-weight: bolder; font-size: 18px">
入网评估报告上传
系统接入方案上传
</el-divider>
<el-form label-width="120px">
<el-form-item class="item" label="上传文件:">
@@ -98,9 +97,9 @@
:model="addForm"
label-width="auto"
ref="form1Ref"
style="margin-left: 32px;"
style="margin-left: 32px"
:rules="rules"
v-if="title == '入网评估报告审核'"
v-if="title == '系统接入方案审核'"
>
<el-divider content-position="left" style="font-size: 18px; font-weight: bolder">审核意见</el-divider>
<el-form-item label="审核意见:" prop="checkComment">
@@ -116,14 +115,14 @@
</el-form>
<div
style="display: flex; justify-content: center; margin-top: 30px"
v-if="title != '未建档干扰源用户详情' && title != '入网评估报告审核'"
v-if="title != '未建档干扰源用户详情' && title != '系统接入方案审核'"
>
<el-button type="primary" class="ml20" @click="submit(1)">审核</el-button>
<el-button type="primary" class="ml20" @click="submit(2)">保存</el-button>
<el-button type="primary" class="ml20" @click="cancel">取消</el-button>
</div>
<div style="display: flex; justify-content: center; margin-top: 30px" v-if="title == '入网评估报告审核'">
<div style="display: flex; justify-content: center; margin-top: 30px" v-if="title == '系统接入方案审核'">
<el-button type="primary" class="ml20" @click="audit(1)">通过</el-button>
<el-button type="primary" class="ml20" @click="audit(0)">不通过</el-button>
<el-button type="primary" class="ml20" @click="cancel">取消</el-button>

View File

@@ -707,7 +707,7 @@ const getProviteData = async () => {
getFileNamePath(proviteData.value.additionalAttachments, 'additionalAttachments')
}
// 入网评估报告
// 系统接入方案
if (detailData.value.netInReport.length > 0) {
netInReportList.value = []
detailData.value.netInReport.forEach((item: any) => {

View File

@@ -706,7 +706,7 @@ const getProviteData = async () => {
getFileNamePath(proviteData.value.additionalAttachments, 'additionalAttachments')
}
// 入网评估报告
// 系统接入方案
if (detailData.value.netInReport.length > 0) {
netInReportList.value = []
detailData.value.netInReport.forEach((item: any) => {

View File

@@ -1,8 +1,8 @@
<template>
<div>
<TableHeader area ref='TableHeaderRef'>
<TableHeader area ref="TableHeaderRef">
<template #select>
<el-form-item label='运行状态'>
<el-form-item label="运行状态">
<el-select v-model="tableStore.table.params.runF" clearable placeholder="请选择运行状态">
<el-option
v-for="item in runFlagList"
@@ -12,20 +12,25 @@
></el-option>
</el-select>
</el-form-item>
<el-form-item label='信息查询'>
<el-input style="width:200px;" placeholder="电站名称,终端编号,型号" v-model='tableStore.table.params.searchValue' maxlength="32" show-word-limit clearable></el-input>
<el-form-item label="数据筛选">
<el-input
style="width: 200px"
placeholder="电站名称,终端编号,型号"
v-model="tableStore.table.params.searchValue"
maxlength="32"
show-word-limit
clearable
></el-input>
</el-form-item>
</template>
<template #operation>
<!-- <el-button icon='el-icon-Download' type='primary'>导出</el-button> -->
</template>
</TableHeader>
<Table ref='tableRef' />
<Table ref="tableRef" />
</div>
</template>
<script setup lang='ts'>
<script setup lang="ts">
import { ref, onMounted, provide, nextTick } from 'vue'
import TableStore from '@/utils/tableStore'
import Table from '@/components/table/index.vue'
@@ -45,8 +50,10 @@ const tableStore = new TableStore({
publicHeight: 65,
method: 'POST',
column: [
{
title: '序号', width: 80, formatter: (row: any) => {
{
title: '序号',
width: 80,
formatter: (row: any) => {
return (tableStore.table.params.pageNum - 1) * tableStore.table.params.pageSize + row.rowIndex + 1
}
},
@@ -78,14 +85,13 @@ const tableStore = new TableStore({
minWidth: 80,
render: 'tag',
custom: {
'投运': 'success',
'停运': 'danger',
'检修': 'warning',
'调试': 'warning',
'退运': 'danger',
},
},
投运: 'success',
停运: 'danger',
检修: 'warning',
调试: 'warning',
退运: 'danger'
}
}
/* {
title: '操作',
@@ -113,30 +119,28 @@ const tableStore = new TableStore({
name: '电网拓扑',
code: 'Power_Network'
}
tableStore.table.params.runFlag = []
if(tableStore.table.params.runF!=null){
if (tableStore.table.params.runF != null) {
tableStore.table.params.runFlag = [tableStore.table.params.runF]
}
}
})
tableStore.table.params.runF=0
tableStore.table.params.runFlag=[]
tableStore.table.params.searchValue=''
const runFlagList = [{id:0,name:'投运'},{id:1,name:'检修'},{id:2,name:'停运'},{id:3,name:'调试'},{id:4,name:'退运'}]
tableStore.table.params.runF = 0
tableStore.table.params.runFlag = []
tableStore.table.params.searchValue = ''
const runFlagList = [
{ id: 0, name: '投运' },
{ id: 1, name: '检修' },
{ id: 2, name: '停运' },
{ id: 3, name: '调试' },
{ id: 4, name: '退运' }
]
provide('tableStore', tableStore)
onMounted(() => {
tableStore.index()
})
</script>

View File

@@ -8,7 +8,7 @@
:value="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="信息查询">
<el-form-item label="数据筛选">
<el-input style="width:240px;" placeholder="电站名称,终端编号,监测点名称"
v-model="tableStore.table.params.searchValue" maxlength="32" show-word-limit
clearable></el-input>

View File

@@ -2,13 +2,14 @@
<div>
<TableHeader datePicker area nextFlag theCurrentTime ref="TableHeaderRef">
<template #select>
<el-form-item label="信息查询">
<el-form-item label="数据筛选">
<el-input
style="width: 200px"
placeholder="请输入变电站/监测点名称"
v-model="tableStore.table.params.searchValue"
clearable
maxlength="32" show-word-limit
maxlength="32"
show-word-limit
></el-input>
</el-form-item>
</template>
@@ -34,8 +35,10 @@ const tableStore = new TableStore({
isWebPaging: true,
paramsPOST: true,
column: [
{
title: '序号', width: 80, formatter: (row: any) => {
{
title: '序号',
width: 80,
formatter: (row: any) => {
return (tableStore.table.params.pageNum - 1) * tableStore.table.params.pageSize + row.rowIndex + 1
}
},