修改冀北现场问题

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' method: 'get'
}) })
} }
//获取入网评估报告审核数据 //获取系统接入方案审核数据
export function getReportreviewData() { export function getReportreviewData() {
return createAxios({ return createAxios({
url: '/Process-supervision/Reportreview/getReportreview', url: '/Process-supervision/Reportreview/getReportreview',

View File

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

View File

@@ -444,7 +444,7 @@ const clearQueryParams = () => {
defineExpose({ defineExpose({
refresh: (statisticalType?: string) => { 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() clearQueryParams()
tableHeaderRef.value.setTheDate(3) tableHeaderRef.value.setTheDate(3)

View File

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

View File

@@ -41,7 +41,9 @@
<el-tab-pane label="监测点运行状态" name="6" lazy v-if="!isReload"> <el-tab-pane label="监测点运行状态" name="6" lazy v-if="!isReload">
<Yunxingzhuangtai v-if="activeName == '6'" /> <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"> <el-tab-pane label="统计报表" name="8" lazy v-if="!isReload && VITE_FLAG">
<StatisticalReport v-if="activeName == '8'" /> <StatisticalReport v-if="activeName == '8'" />
</el-tab-pane> </el-tab-pane>

View File

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

View File

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

View File

@@ -107,7 +107,8 @@
<vxe-column field="xz" title="最大限值"></vxe-column> <vxe-column field="xz" title="最大限值"></vxe-column>
</vxe-table> --> </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="targetName" align="center" label="指标名称" />
<el-table-column prop="avg" align="center" label="最大越限幅值"> <el-table-column prop="avg" align="center" label="最大越限幅值">
<template #default="{ row }"> <template #default="{ row }">

View File

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

View File

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

View File

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

View File

@@ -55,25 +55,31 @@
<el-descriptions-item label="预测评估结论" :span="2"> <el-descriptions-item label="预测评估结论" :span="2">
{{ detailData.evaluationConclusion }} {{ detailData.evaluationConclusion }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item :label="detailData.userType == '4' || detailData.userType == '5' ? '非线性设备类型: ' : '非线性负荷类型:' <el-descriptions-item
" v-if=" :label="
detailData.userType == '4' || detailData.userType == '5' ? '非线性设备类型: ' : '非线性负荷类型:'
"
v-if="
detailData.userType == '2' || detailData.userType == '2' ||
detailData.userType == '3' || detailData.userType == '3' ||
detailData.userType == '4' || detailData.userType == '4' ||
detailData.userType == '5' detailData.userType == '5'
"> "
>
{{ proviteData?.nonlinearLoadType || '' }} {{ proviteData?.nonlinearLoadType || '' }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="是否需要治理"> <el-descriptions-item label="是否需要治理">
<span v-if="detailData.userType == 0 || detailData.userType == 1"> <span v-if="detailData.userType == 0 || detailData.userType == 1">
{{ proviteData?.needGovernance == 1 ? '是' : '否' }} {{ proviteData?.needGovernance == 1 ? '是' : '否' }}
</span> </span>
<span v-if=" <span
v-if="
detailData.userType == 2 || detailData.userType == 2 ||
detailData.userType == 3 || detailData.userType == 3 ||
detailData.userType == 4 || detailData.userType == 4 ||
detailData.userType == 5 detailData.userType == 5
"> "
>
{{ proviteData?.needGovernance == 1 ? '是' : '否' }} {{ proviteData?.needGovernance == 1 ? '是' : '否' }}
</span> </span>
<span v-if="detailData.userType == 6">{{ 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"> <span v-if="detailData.userType == 0 || detailData.userType == 1">
{{ proviteData?.backgroundTestPerformed == 1 ? '是' : '否' }} {{ proviteData?.backgroundTestPerformed == 1 ? '是' : '否' }}
</span> </span>
<span v-if=" <span
v-if="
detailData.userType == 2 || detailData.userType == 2 ||
detailData.userType == 3 || detailData.userType == 3 ||
detailData.userType == 4 || detailData.userType == 4 ||
detailData.userType == 5 detailData.userType == 5
"> "
>
{{ proviteData?.backgroundTestPerformed == 1 ? '是' : '否' }} {{ proviteData?.backgroundTestPerformed == 1 ? '是' : '否' }}
</span> </span>
<span v-if="detailData.userType == 6"> <span v-if="detailData.userType == 6">
@@ -112,39 +120,54 @@
{{ proviteData.antiInterferenceTest == 1 ? '是' : '否' }} {{ proviteData.antiInterferenceTest == 1 ? '是' : '否' }}
</span> </span>
</el-descriptions-item> </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 }} {{ proviteData?.agreementCapacity }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="PCC供电设备容量MVA" v-if=" <el-descriptions-item
label="PCC供电设备容量MVA"
v-if="
detailData.userType == '2' || detailData.userType == '2' ||
detailData.userType == '3' || detailData.userType == '3' ||
detailData.userType == '4' || detailData.userType == '4' ||
detailData.userType == '5' detailData.userType == '5'
"> "
>
{{ proviteData?.pccEquipmentCapacity }} {{ proviteData?.pccEquipmentCapacity }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="基准短路容量MVA" v-if=" <el-descriptions-item
label="基准短路容量MVA"
v-if="
detailData.userType == '2' || detailData.userType == '2' ||
detailData.userType == '3' || detailData.userType == '3' ||
detailData.userType == '4' || detailData.userType == '4' ||
detailData.userType == '5' detailData.userType == '5'
"> "
>
{{ proviteData?.baseShortCircuitCapacity }} {{ proviteData?.baseShortCircuitCapacity }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="系统最小短路容量MVA" v-if=" <el-descriptions-item
label="系统最小短路容量MVA"
v-if="
detailData.userType == '2' || detailData.userType == '2' ||
detailData.userType == '3' || detailData.userType == '3' ||
detailData.userType == '4' || detailData.userType == '4' ||
detailData.userType == '5' detailData.userType == '5'
"> "
>
{{ proviteData?.minShortCircuitCapacity }} {{ proviteData?.minShortCircuitCapacity }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="用户用电协议容量MVA" v-if=" <el-descriptions-item
label="用户用电协议容量MVA"
v-if="
detailData.userType == '2' || detailData.userType == '2' ||
detailData.userType == '3' || detailData.userType == '3' ||
detailData.userType == '4' || detailData.userType == '4' ||
detailData.userType == '5' detailData.userType == '5'
"> "
>
{{ proviteData?.userAgreementCapacity }} {{ proviteData?.userAgreementCapacity }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="PCC点" v-if="detailData.userType != 0 && detailData.userType != 1"> <el-descriptions-item label="PCC点" v-if="detailData.userType != 0 && detailData.userType != 1">
@@ -194,13 +217,16 @@
<span v-if="proviteData.energyQualityIndex"> <span v-if="proviteData.energyQualityIndex">
{{ {{
Array.isArray(proviteData.energyQualityIndex) Array.isArray(proviteData.energyQualityIndex)
? proviteData.energyQualityIndex.map(id => ? proviteData.energyQualityIndex
energyQualityIndexList.find(item => item.id == id)?.name .map(id => energyQualityIndexList.find(item => item.id == id)?.name)
).filter(name => name).join(', ') .filter(name => name)
.join(', ')
: typeof proviteData.energyQualityIndex === 'string' : typeof proviteData.energyQualityIndex === 'string'
? proviteData.energyQualityIndex.split(', ').map(id => ? proviteData.energyQualityIndex
energyQualityIndexList.find(item => item.id == id)?.name .split(', ')
).filter(name => name).join(', ') .map(id => energyQualityIndexList.find(item => item.id == id)?.name)
.filter(name => name)
.join(', ')
: energyQualityIndexList.find(item => item.id == proviteData.energyQualityIndex)?.name : energyQualityIndexList.find(item => item.id == proviteData.energyQualityIndex)?.name
}} }}
</span> </span>
@@ -215,12 +241,14 @@
{{ proviteData?.feasibilityReport?.name }} {{ proviteData?.feasibilityReport?.name }}
</a> </a>
</span> </span>
<span v-if=" <span
v-if="
detailData.userType == 2 || detailData.userType == 2 ||
detailData.userType == 3 || detailData.userType == 3 ||
detailData.userType == 4 || detailData.userType == 4 ||
detailData.userType == 5 detailData.userType == 5
"> "
>
<el-icon class="elView" v-if="proviteData?.feasibilityReport?.name"> <el-icon class="elView" v-if="proviteData?.feasibilityReport?.name">
<View @click="openFile(proviteData?.feasibilityReport?.name)" /> <View @click="openFile(proviteData?.feasibilityReport?.name)" />
</el-icon> </el-icon>
@@ -262,7 +290,10 @@
{{ proviteData?.predictionEvaluationReviewOpinions?.name }} {{ proviteData?.predictionEvaluationReviewOpinions?.name }}
</a> </a>
</el-descriptions-item> </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"> <el-icon class="elView" v-if="proviteData?.substationMainWiringDiagram?.name">
<View @click="openFile(proviteData?.substationMainWiringDiagram?.name)" /> <View @click="openFile(proviteData?.substationMainWiringDiagram?.name)" />
</el-icon> </el-icon>
@@ -294,8 +325,10 @@
{{ proviteData?.powerQualityReport?.name }} {{ proviteData?.powerQualityReport?.name }}
</a> </a>
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="其他附件" <el-descriptions-item
v-if="proviteData?.additionalAttachments && proviteData?.additionalAttachments?.url"> label="其他附件"
v-if="proviteData?.additionalAttachments && proviteData?.additionalAttachments?.url"
>
<el-icon class="elView" v-if="proviteData?.additionalAttachments?.name"> <el-icon class="elView" v-if="proviteData?.additionalAttachments?.name">
<View @click="openFile(proviteData?.additionalAttachments?.name)" /> <View @click="openFile(proviteData?.additionalAttachments?.name)" />
</el-icon> </el-icon>
@@ -304,7 +337,7 @@
</a> </a>
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="入网评估报告"> <el-descriptions-item label="系统接入方案">
<div v-for="item in netInReportList"> <div v-for="item in netInReportList">
<el-icon class="elView" v-if="item.name"> <el-icon class="elView" v-if="item.name">
<View @click="openFile(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 queryId = query.id as unknown as string // 从 URL 传递过来的 id 编号
const openFile = (name: any) => { const openFile = (name: any) => {
window.open(window.location.origin + '/#/previewFile?/supervision/' + name) window.open(window.location.origin + '/#/previewFile?/supervision/' + name)
} }
const netInReportList: any = ref([]) const netInReportList: any = ref([])
const governReportList: any = ref([]) const governReportList: any = ref([])
@@ -621,8 +653,7 @@ const queryFiles = () => {
} }
//判断userType选择取用的对象 //判断userType选择取用的对象
const getProviteData = async () => { const getProviteData = async () => {
console.log('energyQualityIndexList', energyQualityIndexList)
console.log('energyQualityIndexList',energyQualityIndexList)
if (detailData.value.userType == '0' || detailData.value.userType == '1') { if (detailData.value.userType == '0' || detailData.value.userType == '1') {
proviteData.value = detailData.value.userReportProjectPO proviteData.value = detailData.value.userReportProjectPO
//查询非线性终端类型 //查询非线性终端类型
@@ -643,64 +674,78 @@ const getProviteData = async () => {
proviteData.value.nonlinearLoadType = res.data?.name proviteData.value.nonlinearLoadType = res.data?.name
}) })
} }
} else { } else {
proviteData.value = detailData.value.userReportSensitivePO proviteData.value = detailData.value.userReportSensitivePO
console.log(proviteData.value.energyQualityIndex) console.log(proviteData.value.energyQualityIndex)
console.log('proviteData.value.nonlinearLoadType',energyQualityIndexList.find(item => { console.log(
'proviteData.value.nonlinearLoadType',
energyQualityIndexList.find(item => {
return item.id == proviteData.value.energyQualityIndex return item.id == proviteData.value.energyQualityIndex
})?.name) })?.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') 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') 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') 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( await getFileNamePath(
proviteData.value.predictionEvaluationReviewOpinions, proviteData.value.predictionEvaluationReviewOpinions,
'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') 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') 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') 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') 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') getFileNamePath(proviteData.value.additionalAttachments, 'additionalAttachments')
} }
// 入网评估报告 // 系统接入方案
if ( detailData.value.netInReport.length > 0 ) { if (detailData.value.netInReport.length > 0) {
netInReportList.value = [] netInReportList.value = []
detailData.value.netInReport.forEach((item: any) => { detailData.value.netInReport.forEach((item: any) => {
if (item != null) { if (item != null) {

View File

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

View File

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

View File

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

View File

@@ -2,7 +2,7 @@
<div> <div>
<TableHeader datePicker area nextFlag theCurrentTime ref="TableHeaderRef" showExport> <TableHeader datePicker area nextFlag theCurrentTime ref="TableHeaderRef" showExport>
<template #select> <template #select>
<el-form-item label="信息查询"> <el-form-item label="数据筛选">
<el-input <el-input
style="width: 200px" style="width: 200px"
placeholder="请输入变电站/监测点名称" placeholder="请输入变电站/监测点名称"
@@ -32,7 +32,7 @@ const tableStore = new TableStore({
method: 'POST', method: 'POST',
isWebPaging: true, isWebPaging: true,
paramsPOST: true, paramsPOST: true,
filename:'变电站台账', filename: '变电站台账',
column: [ column: [
{ field: 'deptName', title: '所在地市', minWidth: 100 }, { field: 'deptName', title: '所在地市', minWidth: 100 },
{ field: 'substationName', title: '变电站名称', minWidth: 100 }, { field: 'substationName', title: '变电站名称', minWidth: 100 },

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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