修改冀北问题

This commit is contained in:
GGJ
2025-12-16 13:38:12 +08:00
parent 7b9f5302d0
commit 264f33302f
54 changed files with 602 additions and 475 deletions

View File

@@ -68,6 +68,7 @@ export const useDictStore = defineStore('dict', {
}
},
getDictByType(type: string) {
console.log("🚀 ~ type:", type)
if (!this.isSetDict) {
this.setDictMap()
}

View File

@@ -40,6 +40,7 @@ export const getIntDictOptions = (dictType: string): NumberDictDataType[] => {
value: parseInt(dict.value + '')
})
})
console.log("🚀 ~ getIntDictOptions ~ dictOption:", dictOption)
return dictOption
}

View File

@@ -146,7 +146,7 @@ const tableStore: any = new TableStore({
{ field: 'describe', title: '事件描述' },
{ field: 'type', title: '事件类型', sortable: true },
{ field: 'result', title: '操作结果', sortable: true },
{ field: 'ip', title: '操作IP' },
{ field: 'ip', title: '操作IP' ,width:'120px'},
{ field: 'level', title: '事件等级', sortable: true }
],
loadCallback: () => {

View File

@@ -26,7 +26,7 @@ const tableStore: any = new TableStore({
method: 'POST',
column: [
{ field: 'userName', title: '登录用户' },
{ field: 'ip', title: '登录ip' },
{ field: 'ip', title: '登录ip' ,width:'120px'},
{ field: 'time', title: '登录时间' }
]
})

View File

@@ -270,7 +270,7 @@ const tableStore = new TableStore({
method: 'POST',
column: [
{ title: '名称', field: 'name' },
{ title: 'IP', field: 'ip' },
{ title: 'IP', field: 'ip' ,width:'120px' },
{
title: '等级',
field: 'nodeGrade',
@@ -332,29 +332,29 @@ const tableStore = new TableStore({
formData.value = JSON.parse(JSON.stringify(row))
}
},
{
name: 'edit',
title: '重启',
type: 'warning',
icon: 'el-icon-Delete',
render: 'confirmButton',
popconfirm: {
confirmButtonText: '确认',
cancelButtonText: '取消',
confirmButtonType: 'warning',
title: '确定重启吗?'
},
click: row => {
askRestartProcess({
deviceRebootType: null,
nodeId: row.id,
processNo: 1
}).then(res => {
ElMessage.success('重启成功')
tableStore.index()
})
}
},
// {
// name: 'edit',
// title: '重启',
// type: 'warning',
// icon: 'el-icon-Delete',
// render: 'confirmButton',
// popconfirm: {
// confirmButtonText: '确认',
// cancelButtonText: '取消',
// confirmButtonType: 'warning',
// title: '确定重启吗?'
// },
// click: row => {
// askRestartProcess({
// deviceRebootType: null,
// nodeId: row.id,
// processNo: 1
// }).then(res => {
// ElMessage.success('重启成功')
// tableStore.index()
// })
// }
// },
{
name: 'del',

View File

@@ -25,7 +25,7 @@
:checkbox-config="{ labelField: 'name' }"
>
<vxe-column field="name" align="left" title="电网拓扑" min-width="200" tree-node></vxe-column>
<vxe-column field="ip" title="网络参数"></vxe-column>
<vxe-column field="ip" title="网络参数" width="120px"></vxe-column>
<vxe-column field="runFlag" title="终端状态" v-if="key == 0">
<template #default="{ row }">
<el-tag v-if="row.runFlag === 0" type="success" size="small">投运</el-tag>

View File

@@ -88,7 +88,7 @@
</template>
</vxe-column>
<vxe-column field="version" title="版本信息"></vxe-column>
<vxe-column field="ip" title="网络参数"></vxe-column>
<vxe-column field="ip" title="网络参数" width="120px"></vxe-column>
<vxe-column field="runFlag" title="终端状态">
<template #default="{ row }">

View File

@@ -39,7 +39,7 @@ const tableStore = new TableStore({
{ title: '事件描述', field: 'describe', align: 'center', showOverflow: true,minWidth: 200 },
{ title: '事件类型', field: 'type', align: 'center', width: 160 },
{ title: '操作结果', field: 'type', align: 'center', width: 100 },
{ title: '操作IP', field: 'ip', align: 'center', width: 160 },
{ title: '操作IP', field: 'ip', align: 'center', width: 120 },
{ title: '事件等级', field: 'level', align: 'center', width: 100 }
]
})

View File

@@ -127,7 +127,7 @@ const tableStore = new TableStore({
{ field: 'lineName', title: '监测点名称', minWidth: '180' },
{ field: 'gdName', title: '供电公司', minWidth: '120' },
{ field: 'subName', title: '变电站', minWidth: '150' },
{ field: 'ip', title: '网络参数', minWidth: '110' },
{ field: 'ip', title: '网络参数' ,width:'120px' },
{ field: 'scale', title: '电压等级', minWidth: '110' },
// {
// field: 'advanceType',

View File

@@ -194,7 +194,7 @@ const tableStore = new TableStore({
{
title: '网络参数',
field: 'ip',
align: 'center',
align: 'center',width:'120px',
formatter: function (row) {
return row.cellValue ? row.cellValue : '/'
}

View File

@@ -199,7 +199,7 @@ const tableStore = new TableStore({
{
title: '网络参数',
field: 'ip',
align: 'center',
align: 'center' ,width:'120px',
formatter: function (row) {
return row.cellValue ? row.cellValue : '/'
}

View File

@@ -41,7 +41,7 @@ const tableStore = new TableStore({
{ title: '供电公司', field: 'gdName' },
{ title: '变电站', field: 'subName' },
{ title: '终端名称', field: 'devName' },
{ title: 'IP', field: 'ip' },
{ title: 'IP', field: 'ip' ,width:'120px' },
{ title: '监测点名称', field: 'lineName' },
{ title: '类型', field: 'dataType' },
{ title: '谐波次数', field: 'dataTimes' },

View File

@@ -123,7 +123,7 @@ const tableStore = new TableStore({
{ field: 'name', title: '电网拓扑', width: 350, type: 'radio', align: 'left', treeNode: true },
{
field: 'ip',
title: '网络参数',
title: '网络参数' ,width:'120px',
formatter: ({ row }: any) => {
return row.ip || '/'
}

View File

@@ -123,7 +123,7 @@ const tableStore = new TableStore({
{ field: 'name', title: '电网拓扑', width: 350, type: 'radio', align: 'left', treeNode: true },
{
field: 'ip',
title: '网络参数',
title: '网络参数' ,width:'120px',
formatter: ({ row }: any) => {
return row.ip || '/'
}

View File

@@ -163,7 +163,7 @@
<vxe-column field="subStation" title="变电站" minWidth="110px"></vxe-column>
<vxe-column field="manufacturer" title="终端厂家" minWidth="110px"></vxe-column>
<vxe-column field="deviceName" title="终端名称" minWidth="110px"></vxe-column>
<vxe-column field="ip" title="终端IP" :formatter="formatter" width="130px"></vxe-column>
<vxe-column field="ip" title="终端IP" :formatter="formatter" width="120px"></vxe-column>
<vxe-column
field="lineName"
title="监测点名称"

View File

@@ -65,7 +65,7 @@ const tableStore = new TableStore({
{ field: 'name', title: '电网拓扑', width: 350, align: 'left', treeNode: true },
{
field: 'ip',
title: '网络参数',
title: '网络参数' ,width:'120px',
formatter: ({ row }: any) => {
return row.ip || '/'
}

View File

@@ -161,7 +161,7 @@
<vxe-column field="subStation" title="变电站" minWidth="110px"></vxe-column>
<vxe-column field="manufacturer" title="终端厂家" minWidth="110px"></vxe-column>
<vxe-column field="deviceName" title="终端名称" minWidth="110px"></vxe-column>
<vxe-column field="ip" title="终端IP" :formatter="formatter" width="130px"></vxe-column>
<vxe-column field="ip" title="终端IP" :formatter="formatter" width="120px"></vxe-column>
<vxe-column field="runFlag" title="运行状态" width="90px">
<template #default="{ row }">
<el-tag

View File

@@ -41,9 +41,7 @@
<el-tab-pane label="监测点运行状态" name="6" lazy v-if="!isReload">
<Yunxingzhuangtai v-if="activeName == '6'" />
</el-tab-pane>
<el-tab-pane label="实时数据" name="7" lazy v-if="!isReload && !VITE_FLAG">
<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>

View File

@@ -113,7 +113,7 @@ const tableStore = new TableStore({
{ field: 'businessType', title: '行业类型' , minWidth: 100},
{ field: 'devName', title: '终端名称', minWidth: 80 },
{ field: 'ip', title: '网络参数' , minWidth: 100},
{ field: 'ip', title: '网络参数' ,width:'120px'},
// { field: 'comFlag', title: '通讯状态' , minWidth: 100},
{

View File

@@ -154,7 +154,7 @@ const tableStore = new TableStore({
{ field: 'manufacturer', title: '厂家', minWidth: 100 },
{ field: 'devName', title: '终端名称', minWidth: 80 },
{ field: 'ip', title: '网络参数', minWidth: 100 },
{ field: 'ip', title: '网络参数' ,width:'120px' },
{ field: 'loginTime', title: '投运时间', minWidth: 100 },
{ field: 'devType', title: '终端型号', minWidth: 100 },
{ field: 'port', title: '端口', minWidth: 100 },

View File

@@ -1,6 +1,7 @@
<!-- 暂态 -->
<template>
<el-dialog draggable title="暂态电能质量水平评估统计" v-model="dialogVisible" width="1400px">
<div v-loading="loading">
<div>
<vxe-table v-bind="defaultAttribute" ref="vxeRef" height="360px" :data="tableData">
<vxe-column field="name" title="区域" />
@@ -21,7 +22,10 @@
</vxe-column>
<vxe-column sortable field="interruptTimes" title="短时中断次数">
<template #default="{ row }">
<span class="text-style" @click="transientOpen(row.interruptTimesIds, row.name, '短时中断')">
<span
class="text-style"
@click="transientOpen(row.interruptTimesIds, row.name, '短时中断')"
>
{{ row.interruptTimes }}
</span>
</template>
@@ -55,6 +59,7 @@
</div>
</div>
</div>
</div>
</el-dialog>
<!-- 暂态详情 -->
<transientDetails ref="transientRef" />
@@ -73,11 +78,20 @@ const descentData = ref([])
const resembleData = ref([])
const picEChart = ref({})
const picEChart1 = ref({})
const loading = ref(false)
const open = async (row: any) => {
getEventDetailByList({ ...row, deviceInfoParam: row }).then((res: any) => {
const [year, , day] = row.startTime.split('-')
dialogVisible.value = true
loading.value = true
getEventDetailByList({
...row,
deviceInfoParam: row,
searchBeginTime: `${year}-01-${day}`,
startTime: `${year}-01-${day}`
}).then((res: any) => {
tableData.value = res.data
})
getEventReason(row).then(res => {
await getEventReason({ ...row, searchBeginTime: `${year}-01-${day}`, startTime: `${year}-01-${day}` }).then(res => {
descentData.value = res.data.reason
resembleData.value = res.data.type
picEChart.value = {
@@ -147,7 +161,7 @@ const open = async (row: any) => {
}
}
})
dialogVisible.value = true
loading.value = false
}
// 查看详情
const transientOpen = (row: any, name: string, type: string) => {

View File

@@ -438,7 +438,13 @@ const harmonicChange = () => {
})
}
const transientChange = () => {
getEventLevelEvaluation({ ...formRow.value, ids: [value.value] }).then(res => {
const [year, , day] = formRow.value.startTime.split('-') //`${year}-01-${day}`
getEventLevelEvaluation({
...formRow.value,
ids: [value.value],
searchBeginTime: `${year}-01-${day}`,
startTime: `${year}-01-${day}`
}).then(res => {
let data = []
transientNum.value = [0, 0]
if (formRow.value.isUpToGrid == 0) {

View File

@@ -167,7 +167,7 @@
<vxe-column field="monitorName" title="监测点名称"></vxe-column>
<vxe-column field="manufacturer" title="终端厂家"></vxe-column>
<vxe-column field="devName" title="所属终端名称"></vxe-column>
<vxe-column field="ip" title="IP">
<vxe-column field="ip" title="IP" width="120px">
<template #default="{ row }">
{{ decryptFromBase64(row.ip) }}
</template>
@@ -243,7 +243,7 @@ const tableStore = new TableStore({
method: 'POST',
showPage: false,
filename: '稳态告警统计',
publicHeight: 470,
publicHeight: 480,
column: [],
beforeSearchFun: () => {
loading.value = true

View File

@@ -186,7 +186,7 @@
<vxe-column field="monitorName" title="监测点名称" minWidth="110px"></vxe-column>
<vxe-column field="manufacturer" title="终端厂家" minWidth="110px"></vxe-column>
<vxe-column field="devName" title="所属终端名称" minWidth="110px"></vxe-column>
<vxe-column field="ip" title="IP">
<vxe-column field="ip" title="IP" width="120px">
<template #default="{ row }">
{{ decryptFromBase64(row.ip) }}
</template>
@@ -279,7 +279,7 @@ const tableStore = new TableStore({
method: 'POST',
showPage: false,
filename: '异常数据统计',
publicHeight: 470,
publicHeight: 480,
column: [],
beforeSearchFun: () => {
loading.value = true

View File

@@ -4,7 +4,7 @@
<vxe-column type="seq" width="70px" title="序号"></vxe-column>
<vxe-column field="name" title="终端名称" min-width="100"></vxe-column>
<vxe-column field="subName" title="所属电站" min-width="100"></vxe-column>
<vxe-column field="ip" title="网络参数" min-width="100"></vxe-column>
<vxe-column field="ip" title="网络参数" width="120px"></vxe-column>
<vxe-colgroup title="运行评价">
<vxe-column field="integrityRate" title="完整率(%)" min-width="90"></vxe-column>
<vxe-column field="onLineRate" title="在线率(%)" min-width="90"></vxe-column>

View File

@@ -143,7 +143,7 @@
<vxe-column field="subName" title="变电站" minWidth="110px"></vxe-column>
<vxe-column field="manufacturer" title="终端厂家" minWidth="110px"></vxe-column>
<vxe-column field="name" title="终端名称" minWidth="110px"></vxe-column>
<vxe-column field="ip" title="终端IP" :formatter="formatter" width="130px"></vxe-column>
<vxe-column field="ip" title="终端IP" :formatter="formatter" width="120px"></vxe-column>
<vxe-column field="runFlag" title="运行状态" width="100px">
<template #default="{ row }">
<el-tag

View File

@@ -42,7 +42,7 @@
</el-descriptions-item>
<el-descriptions-item :span="1" label="处理成效报告">
<el-icon class="elView " v-if="list?.reportName" >
<View @click="openFile(list?.reportName)" />
<View @click="openFile(list?.reportPath)" />
</el-icon>
<a :href="list.reportPath" target="_blank">{{ list.reportName }}</a>
</el-descriptions-item>
@@ -73,7 +73,7 @@ const open = (row: any) => {
})
}
const openFile = (name: any) => {
window.open(window.location.origin + '/#/previewFile?/supervision/' + name)
window.open(window.location.origin + '/#/previewFile?' + name)
}
defineExpose({ open })

View File

@@ -45,7 +45,7 @@
</el-descriptions-item>
<el-descriptions-item :span="2" label="处理成效报告">
<el-icon class="elView " v-if="list?.reportName">
<View @click="openFile(list?.reportName)" />
<View @click="openFile(list?.reportPath)" />
</el-icon>
<a :href="list.reportPath" target="_blank">{{ list.reportName }}</a>
</el-descriptions-item>

View File

@@ -36,7 +36,7 @@ const VITE_FLAG = import.meta.env.VITE_NAME == 'jibei'
import { mainHeight } from '@/utils/layout'
defineOptions({
name: 'supervision/electricitymanagement'
name: 'supervision/electricitymanagement1'
})
const tabList = ref(['1', '2', '3', '4'])
const activeName = ref('1')

View File

@@ -1,7 +1,14 @@
<template>
<el-dialog draggable :title="title" v-model="planAddition" width="500px" :before-close="cancelFn">
<el-form :model="form" ref="formRef" :rules="rules" label-width="auto" scroll-to-error
:validate-on-rule-change="false" class="form-one">
<el-form
:model="form"
ref="formRef"
:rules="rules"
label-width="auto"
scroll-to-error
:validate-on-rule-change="false"
class="form-one"
>
<el-form-item for="-" label="计划负责单位:">
<Area v-model="form.deptId" @change="changeArea" />
</el-form-item>
@@ -10,20 +17,34 @@
</el-form-item>
<el-form-item label="监督类型:" prop="supvType">
<el-select v-model="form.supvType" placeholder="请选择监督类型" style="width: 100%" @change="++key">
<el-option v-for="item in supvTypeOptionList" :key="item.id" :label="item.name"
:value="item.id"></el-option>
<el-option
v-for="item in supvTypeOptionList"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item for="-" label="监督对象名称:" prop="supvObjectName">
<el-input v-model="form.supvObjectName" placeholder="请输入监督对象名称"></el-input>
</el-form-item>
<el-form-item for="-" label="计划开始时间:" prop="planStartTime">
<el-date-picker v-model="form.planStartTime" type="date" placeholder="选择计划开始时间"
value-format="YYYY-MM-DD" :disabled-date="disableStartDate"></el-date-picker>
<el-date-picker
v-model="form.planStartTime"
type="date"
placeholder="选择计划开始时间"
value-format="YYYY-MM-DD"
:disabled-date="disableStartDate"
></el-date-picker>
</el-form-item>
<el-form-item for="-" label="计划结束时间:" prop="planEndTime">
<el-date-picker v-model="form.planEndTime" type="date" placeholder="选择计划结束时间"
:disabled-date="disableEndDate" value-format="YYYY-MM-DD"></el-date-picker>
<el-date-picker
v-model="form.planEndTime"
type="date"
placeholder="选择计划结束时间"
:disabled-date="disableEndDate"
value-format="YYYY-MM-DD"
></el-date-picker>
</el-form-item>
<!-- <el-form-item for="-" label="实际完成时间:" prop="planComplateTime">
<el-date-picker
@@ -43,10 +64,23 @@
<el-radio :value="1"></el-radio>
</el-radio-group>
</el-form-item>
<el-form-item :key="key" label="关联电站:" v-if="form.customSubstationFlag == 0" :prop="dynamicProp"
style="display: flex; align-items: center">
<el-cascader v-model="form.substation" :options="treeData" :props="defaultProps" clearable filterable
collapse-tags collapse-tags-tooltip placeholder="请选择关联电站" />
<el-form-item
:key="key"
label="关联电站:"
v-if="form.customSubstationFlag == 0"
:prop="dynamicProp"
style="display: flex; align-items: center"
>
<el-cascader
v-model="form.substation"
:options="treeData"
:props="defaultProps"
clearable
filterable
collapse-tags
collapse-tags-tooltip
placeholder="请选择关联电站"
/>
<!-- <el-tree-select
accordion
ref="treeRef"
@@ -63,7 +97,13 @@
/> -->
</el-form-item>
<el-form-item for="-" label="关联电站:" :key="key" v-if="form.customSubstationFlag == 1" :prop="dynamicProp">
<el-form-item
for="-"
label="关联电站:"
:key="key"
v-if="form.customSubstationFlag == 1"
:prop="dynamicProp"
>
<el-input v-model="form.substation" placeholder="名称格式220kV某某电站"></el-input>
</el-form-item>
<!-- <el-form :model="form" label-width="auto"> -->
@@ -124,7 +164,7 @@ import Area from '@/components/form/area/index.vue'
import { ElMessage, UploadProps } from 'element-plus'
import { useDictData } from '@/stores/dictData'
const VITE_FLAG = import.meta.env.VITE_NAME == 'jibei'
const emit = defineEmits(['onsubmit'])
const loading = ref(false)
const dictData = useDictData()
@@ -242,11 +282,15 @@ const submitFn = async (flag: boolean) => {
}
addForm.saveOrCheckflag = '1'
await addSurveyPlan(addForm).then(res => {
await addSurveyPlan(addForm)
.then(res => {
cancelFn()
ElMessage.success('保存成功!')
emit('onsubmit')
}).catch(() => { loading.value = false})
})
.catch(() => {
loading.value = false
})
} else {
formRef.value.validate(async (valid: any) => {
if (valid) {
@@ -257,17 +301,25 @@ const submitFn = async (flag: boolean) => {
}
addForm.saveOrCheckflag = '2'
if (title.value == '计划新增') {
await addSurveyPlan(addForm).then(res => {
await addSurveyPlan(addForm)
.then(res => {
cancelFn()
ElMessage.success('计划新增成功!')
emit('onsubmit')
}).catch(() => { loading.value = false})
})
.catch(() => {
loading.value = false
})
} else {
await updateSurveyPlan(addForm).then(res => {
await updateSurveyPlan(addForm)
.then(res => {
cancelFn()
ElMessage.success('重新发起成功!')
emit('onsubmit')
}).catch(() => { loading.value = false})
})
.catch(() => {
loading.value = false
})
}
}
})
@@ -283,7 +335,11 @@ const changeArea = () => {
treeList.value.forEach((item: any) => {
if (item.id == form.value.deptId) {
list.push(item)
if (item.id != treeListCgy.value[0].id && item.name != '冀北电力有限公司' && item.name != '超高压') {
if (
item.id != treeListCgy.value[0].id && VITE_FLAG
? item.name != '冀北电力有限公司' && item.name != '超高压'
: true
) {
list.push(...treeListCgy.value)
}
} else {
@@ -332,4 +388,5 @@ defineExpose({ open })
<style lang="scss" scoped>
// :deep(.el-upload-list__item-info) {
// width: 250px;
// }</style>
// }
</style>

View File

@@ -25,8 +25,8 @@
<template #operation>
<el-button icon="el-icon-Plus" type="primary" @click="add">新增计划</el-button>
<el-button icon="el-icon-Delete" type="primary" @click="deleteEven">删除</el-button>
<el-button icon="el-icon-Download" type="primary" @click="exportExcelTemplate" :loading="loading">模板下载</el-button>
<el-button icon="el-icon-Upload" type="primary" @click="importUserData">批量导入</el-button>
<!-- <el-button icon="el-icon-Download" type="primary" @click="exportExcelTemplate" :loading="loading">模板下载</el-button>
<el-button icon="el-icon-Upload" type="primary" @click="importUserData">批量导入</el-button> -->
</template>
</TableHeader>
<Table ref="tableRef" :checkbox-config="checkboxConfig" />

View File

@@ -314,7 +314,7 @@
</a>
</div>
</el-descriptions-item>
<el-descriptions-item label="治理评估报告">
<el-descriptions-item label="治理验收报告">
<div v-for="item in governReportList">
<el-icon class="elView" v-if="item.name">
<View @click="openFile(item.name)" />

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 == 0 ? '否' : '是' }}
</span>
<span v-if="
<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>
@@ -82,12 +88,14 @@
<span v-if="detailData.userType == 0 || detailData.userType == 1">
{{ proviteData.backgroundTestPerformed == 0 ? '否' : '是' }}
</span>
<span v-if="
<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">
@@ -112,39 +120,54 @@
{{ proviteData.antiInterferenceTest == 0 ? '否' : '是' }}
</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="
<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="
<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="
<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="
<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">
@@ -206,12 +229,14 @@
{{ proviteData.feasibilityReport?.name }}
</a>
</span>
<span v-if="
<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>
@@ -253,7 +278,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>
@@ -285,8 +313,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>
@@ -295,7 +325,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)" />
@@ -305,7 +335,7 @@
</a>
</div>
</el-descriptions-item>
<el-descriptions-item label="治理评估报告">
<el-descriptions-item label="治理验收报告">
<div v-for="item in governReportList">
<el-icon class="elView" v-if="item.name">
<View @click="openFile(item.name)" />

View File

@@ -69,7 +69,7 @@ const tableStore = new TableStore({
},
{ field: 'devType', title: '终端型号', minWidth: 100 },
{ field: 'ip', title: '终端网络参数', minWidth: 100 },
{ field: 'ip', title: '终端网络参数' ,width:'120px'},
{ field: 'port', title: '端口号', minWidth: 40 },
{
field: 'runFlag',

View File

@@ -1,8 +1,8 @@
<template>
<div>
<TableHeader area ref="TableHeaderRef" showExport>
<TableHeader ref="TableHeaderRef" showExport>
<template #select>
<el-form-item label="数据类型">
<!-- <el-form-item label="数据类型">
<el-select v-model="tableStore.table.params.dataType" clearable placeholder="请选择运行状态">
<el-option label="主网" value="0"></el-option>
<el-option label="配网" value="1"></el-option>
@@ -17,11 +17,11 @@
:value="item.id"
></el-option>
</el-select>
</el-form-item>
</el-form-item> -->
<el-form-item label="筛选数据">
<el-input
style="width: 240px"
placeholder=""
placeholder="请输入台区名称/组织机构名称/监测线路名称"
v-model="tableStore.table.params.searchValue"
clearable
></el-input>
@@ -47,13 +47,15 @@ import { addUse, updateUse, removeUse } from '@/api/advance-boot/bearingCapacity
const dictData = useDictData()
const lineList = dictData.getBasicData('Line_Type')
const AreaList = dictData.getBasicData('Area')
const UseNatureList = dictData.getBasicData('Device_UseNature')
const StateList = dictData.getBasicData('Line_State')
const tableStore = new TableStore({
url: '/device-boot/distributionArea/getPowerDistributionAreaList',
publicHeight: 65,
isWebPaging: true,
method: 'POST',
filename: '监测点台账',
filename: '分布式光伏台区台账',
column: [
{
title: '序号',
@@ -63,91 +65,53 @@ const tableStore = new TableStore({
}
},
{ field: 'id', title: '台区编号', minWidth: 150 },
{ field: 'name', title: '台区名称', minWidth: 180 },
{
field: 'areaName',
title: '省公司',
minWidth: 100
},
{ field: 'gdName', title: '市公司', minWidth: 150 },
{
field: 'bdName',
title: '所属变电站',
field: 'orgName',
title: '组织机构名称',
minWidth: 150
},
{ field: 'lineName', title: '监测点名称', minWidth: 130 },
{ field: 'scale', title: '监测点电压等级', minWidth: 120 },
{ field: 'loadType', title: '干扰源类型', minWidth: 120 },
{ field: 'operationName', title: '运维单位', minWidth: 150 },
{ field: 'powerrName', title: '变电站名称', minWidth: 150 },
{ field: 'lineName', title: '监测线路名称', minWidth: 190 },
{ field: 'pcapacity', title: '配变容量(KVA)', minWidth: 80 },
{
field: 'objName',
title: '监测对象名称',
minWidth: 180,
field: 'regionalism',
title: '地区特征',
minWidth: 80,
formatter: (row: any) => {
return row.cellValue ? row.cellValue : '/'
return AreaList.filter(item => item.id == row.cellValue)[0]?.name || '/'
}
},
{
field: 'shortCapacity',
title: '最小短路容量(MVA)',
minWidth: 150
field: 'ifRuralPowerGrid',
title: '是否农网',
minWidth: 80,
formatter: (row: any) => {
return row.row.ifRuralPowerGrid == 1 ? '是' : '否'
}
},
{
field: 'devCapacity',
title: '供电终端容量(MVA )',
minWidth: 160
field: 'natureOfUse',
title: '使用性质',
minWidth: 80,
formatter: (row: any) => {
return UseNatureList.filter(item => item.id == row.cellValue)[0]?.name || '/'
}
},
{ field: 'lineLength', title: '供电线路总长度(km)', minWidth: 100 },
{
field: 'dealCapacity',
title: '用户协议容量(MVA)',
minWidth: 150
},
/* { field: 'comFlag', title: '通讯状态 ', minWidth: 120 },*/
{ field: 'id', title: '监测点序号', minWidth: 90 },
{
field: 'runFlag',
field: 'state',
title: '运行状态',
minWidth: 80,
render: 'tag',
custom: {
投运: 'success',
停运: 'danger',
检修: 'warning',
调试: 'warning',
退运: 'danger'
formatter: (row: any) => {
return StateList.filter(item => item.id == row.cellValue)[0]?.name || '/'
}
},
{ field: 'devName', title: '监测终端编号 ', minWidth: 140 },
{ field: 'ptType', title: '监测终端接线方式', minWidth: 140 },
{
field: 'voltageDev',
title: '电压偏差上限(%)',
minWidth: 140
},
{
field: 'uvoltageDev',
title: '电压偏差下限(%)',
minWidth: 140
}
/* {
title: '操作',
minWidth: 150,
fixed: 'right',
render: 'buttons',
buttons: [
{
name: 'productSetting',
title: '流程详情',
type: 'primary',
icon: 'el-icon-EditPen',
render: 'basicButton',
click: row => {
}
}
]
}*/
{ field: 'distributedPhotovoltaicNum', title: '用户数', minWidth: 90 },
{ field: 'photovoltaicCapacity', title: '总装机容量(MW)', minWidth: 100 },
{ field: 'apLoadType', title: '接入负荷类型', minWidth: 130 }
],
beforeSearchFun: () => {
@@ -159,8 +123,6 @@ tableStore.table.params.searchValue = ''
tableStore.table.params.dataType = ''
tableStore.table.params.lineType = ''
provide('tableStore', tableStore)
onMounted(() => {
tableStore.index()

View File

@@ -5,7 +5,7 @@
<el-form-item label="筛选数据">
<el-input
style="width: 240px"
placeholder="请输入用户名称"
placeholder="请输入用户名称/组织机构名称"
v-model="tableStore.table.params.searchValue"
clearable
></el-input>
@@ -31,13 +31,18 @@ import { addUse, updateUse, removeUse } from '@/api/advance-boot/bearingCapacity
const dictData = useDictData()
const lineList = dictData.getBasicData('Line_Type')
const categoryList = dictData.getBasicData('Power_Category')
const stationTypeList = dictData.getBasicData('Power_Station_Type')
const generationList = dictData.getBasicData('Power_Generation')
const voltageList = dictData.getBasicData('Dev_Voltage')
const modeList = dictData.getBasicData('Connection_Mode')
const statList = dictData.getBasicData('Ecc_Stat')
const tableStore = new TableStore({
url: '/device-boot/generationUser/getPowerGenerationUserPageList',
publicHeight: 65,
isWebPaging: true,
method: 'POST',
filename: '监测点台账',
filename: '分布式光伏用户台账',
column: [
{
title: '序号',
@@ -47,91 +52,73 @@ const tableStore = new TableStore({
}
},
// {
// field: 'areaName',
// title: '省公司',
// minWidth: 100
// },
{ field: 'id', title: '用户编号', minWidth: 150 },
{ field: 'name', title: '用户名称', minWidth: 180 },
{ field: 'orgName', title: '组织机构名称', minWidth: 150 },
{ field: 'operationName', title: '运维单位名称', minWidth: 150 },
{
field: 'areaName',
title: '省公司',
minWidth: 100
},
{ field: 'gdName', title: '市公司', minWidth: 150 },
{
field: 'bdName',
title: '所属变电站',
minWidth: 150
},
{ field: 'lineName', title: '监测点名称', minWidth: 130 },
{ field: 'scale', title: '监测点电压等级', minWidth: 120 },
{ field: 'loadType', title: '干扰源类型', minWidth: 120 },
{
field: 'objName',
title: '监测对象名称',
minWidth: 180,
field: 'powerCategory',
title: '电源类别',
minWidth: 120,
formatter: (row: any) => {
return row.cellValue ? row.cellValue : '/'
return categoryList.filter(item => item.id == row.cellValue)[0]?.name || '/'
}
},
{
field: 'shortCapacity',
title: '最小短路容量(MVA)',
minWidth: 150
},
{
field: 'devCapacity',
title: '供电终端容量(MVA )',
minWidth: 160
},
{
field: 'dealCapacity',
title: '用户协议容量(MVA)',
minWidth: 150
},
/* { field: 'comFlag', title: '通讯状态 ', minWidth: 120 },*/
{ field: 'id', title: '监测点序号', minWidth: 90 },
{
field: 'runFlag',
title: '运行状态',
minWidth: 80,
render: 'tag',
custom: {
投运: 'success',
停运: 'danger',
检修: 'warning',
调试: 'warning',
退运: 'danger'
field: 'powerStationType',
title: '电站类型',
minWidth: 120,
formatter: (row: any) => {
return stationTypeList.filter(item => item.id == row.cellValue)[0]?.name || '/'
}
},
{ field: 'devName', title: '监测终端编号 ', minWidth: 140 },
{ field: 'ptType', title: '监测终端接线方式', minWidth: 140 },
{
field: 'voltageDev',
title: '电压偏差上限(%)',
minWidth: 140
field: 'powerGenerationMode',
title: '发电方式',
minWidth: 100,
formatter: (row: any) => {
return generationList.filter(item => item.id == row.cellValue)[0]?.name || '/'
}
},
{
field: 'uvoltageDev',
title: '电压偏差下限(%)',
minWidth: 140
field: 'voltageLevel',
title: '并网电压等级',
minWidth: 90,
formatter: (row: any) => {
return voltageList.filter(item => item.id == row.cellValue)[0]?.name || '/'
}
/* {
title: '操作',
minWidth: 150,
fixed: 'right',
render: 'buttons',
buttons: [
},
{ field: 'sourceCapacity', title: '总装机容量(KVA)', minWidth: 100 },
{ field: 'connectionDate', title: '并网日期', minWidth: 120 },
{
name: 'productSetting',
title: '流程详情',
type: 'primary',
icon: 'el-icon-EditPen',
render: 'basicButton',
click: row => {
field: 'connectionMode',
title: '能源消纳方式',
minWidth: 130,
formatter: (row: any) => {
return modeList.filter(item => item.id == row.cellValue)[0]?.name || '/'
}
},
{
field: 'gcStat',
title: '客户状态',
minWidth: 120,
formatter: (row: any) => {
return statList.filter(item => item.id == row.cellValue)[0]?.name || '/'
}
},
{
field: 'isUpToGrid',
title: '是否上送网公司监测点',
minWidth: 110,
formatter: (row: any) => {
return row.cellValue==1?'是':'否'
}
}
]
}*/
],
beforeSearchFun: () => {

View File

@@ -16,12 +16,12 @@
<el-tab-pane label="监测点台账" name="5" v-if="tabList.includes('5')">
<monitorLedgerTable ref="monitorLedgerRef" v-if="activeName == '5'" />
</el-tab-pane>
<!-- <el-tab-pane label="布式光伏台区台账" name="6" v-if="tabList.includes('6')">
<el-tab-pane label="布式光伏台区台账" name="6" v-if="tabList.includes('6') && VITE_FLAG">
<transformerStationLedger ref="monitorLedgerRef" v-if="activeName == '6'" />
</el-tab-pane>
<el-tab-pane label="布式光伏用户台账" name="7" v-if="tabList.includes('7')">
<el-tab-pane label="布式光伏用户台账" name="7" v-if="tabList.includes('7') && VITE_FLAG">
<userLedger ref="monitorLedgerRef" v-if="activeName == '7'" />
</el-tab-pane> -->
</el-tab-pane>
</el-tabs>
</div>
</template>
@@ -39,10 +39,10 @@ import { mainHeight } from '@/utils/layout'
import { useRoute } from 'vue-router'
const route = useRoute()
const id = ref('')
// defineOptions({
// name: 'Supervision/Terminaldetection'
// })
const VITE_FLAG = import.meta.env.VITE_NAME == 'jibei'
defineOptions({
name: 'Supervision/Terminaldetection'
})
const activeName = ref('1')
const tabList = ref(['1', '2', '3', '4', '5', '6', '7'])

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 == 0 ? '否' : '是' }}
</span>
<span v-if="
<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>
@@ -82,12 +88,14 @@
<span v-if="detailData.userType == 0 || detailData.userType == 1">
{{ proviteData.backgroundTestPerformed == 0 ? '否' : '是' }}
</span>
<span v-if="
<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">
@@ -112,39 +120,54 @@
{{ proviteData.antiInterferenceTest == 0 ? '否' : '是' }}
</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="
<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="
<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="
<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="
<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">
@@ -206,12 +229,14 @@
{{ proviteData.feasibilityReport?.name }}
</a>
</span>
<span v-if="
<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>
@@ -253,7 +278,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>
@@ -285,8 +313,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>
@@ -295,7 +325,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)" />
@@ -305,7 +335,7 @@
</a>
</div>
</el-descriptions-item>
<el-descriptions-item label="治理评估报告">
<el-descriptions-item label="治理验收报告">
<div v-for="item in governReportList">
<el-icon class="elView" v-if="item.name">
<View @click="openFile(item.name)" />

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 == 0 ? '否' : '是' }}
</span>
<span v-if="
<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>
@@ -82,12 +88,14 @@
<span v-if="detailData.userType == 0 || detailData.userType == 1">
{{ proviteData.backgroundTestPerformed == 0 ? '否' : '是' }}
</span>
<span v-if="
<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">
@@ -112,39 +120,54 @@
{{ proviteData.antiInterferenceTest == 0 ? '否' : '是' }}
</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="
<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="
<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="
<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="
<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">
@@ -206,12 +229,14 @@
{{ proviteData.feasibilityReport?.name }}
</a>
</span>
<span v-if="
<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>
@@ -253,7 +278,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>
@@ -285,8 +313,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>
@@ -295,7 +325,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)" />
@@ -305,7 +335,7 @@
</a>
</div>
</el-descriptions-item>
<el-descriptions-item label="治理评估报告">
<el-descriptions-item label="治理验收报告">
<div v-for="item in governReportList">
<el-icon class="elView" v-if="item.name">
<View @click="openFile(item.name)" />

View File

@@ -148,7 +148,7 @@ const tableStore = new TableStore({
{ field: 'startTime', title: '暂降发生时刻', minWidth: '200' },
{ field: 'gdName', title: '供电公司', minWidth: '100' },
{ field: 'subName', title: '变电站', minWidth: '200' },
{ field: 'ip', title: '网络参数', minWidth: '200' },
{ field: 'ip', title: '网络参数' ,width:'120px' },
{ field: 'lineName', title: '监测点', minWidth: '100' },
{ field: 'scale', title: '电压等级(kV)', minWidth: '120', },
// {

View File

@@ -326,6 +326,7 @@ function gongfunction(arr: any) {
}
onMounted(() => {
datePickerRef.value.setTheDate(1)
init()
})
</script>

View File

@@ -314,6 +314,7 @@ function gongfunction(arr: any) {
}
onMounted(() => {
datePickerRef.value.setTheDate(1)
init()
})
</script>

View File

@@ -165,6 +165,7 @@ const init = () => {
}
onMounted(() => {
datePickerRef.value.setTheDate(1)
init()
})
</script>

View File

@@ -247,6 +247,7 @@ const init = () => {
})
}
onMounted(() => {
datePickerRef.value.setTheDate(1)
init()
})
</script>

View File

@@ -311,6 +311,7 @@ const initThird = () => {
}
onMounted(() => {
datePickerRef.value.setTheDate(1)
init()
})

View File

@@ -166,6 +166,7 @@ const init = () => {
}
onMounted(() => {
datePickerRef.value.setTheDate(1)
init()
})
</script>

View File

@@ -57,7 +57,7 @@ const tableStore = new TableStore({
},
{ title: '变电站名称', field: 'subName', minWidth: '140' },
{ title: '监测点名称', field: 'lineName', minWidth: '130' },
{ title: '网络参数', field: 'ip', minWidth: '130' },
{ title: '网络参数', field: 'ip' ,width:'120px' },
{ title: '电压等级(kV)', field: 'voltageScale', width: '120' },
{ title: '暂降发生时刻', field: 'startTime', width: '200' },
// { title: '暂降类型', field: 'advanceType', minWidth: '130' },

View File

@@ -90,16 +90,16 @@ const handleCheckChange = (data: any, node: any) => {
const handleTabChange = () => {
monitoringPoint.setShowCheckBox(false)
}
watch(
() => router.currentRoute.value.query.lineId,
(newLineId, oldLineId) => {
if (!newLineId) return
// 在这里处理 lineId 的变化
monitoringPoint.setValue('lineId', router.currentRoute.value.query.lineId)
monitoringPoint.setValue('lineName', router.currentRoute.value.query.lineName)
},
{ immediate: true }
)
// watch(
// () => router.currentRoute.value.query.lineId,
// (newLineId, oldLineId) => {
// if (!newLineId) return
// // 在这里处理 lineId 的变化
// monitoringPoint.setValue('lineId', router.currentRoute.value.query.lineId)
// monitoringPoint.setValue('lineName', router.currentRoute.value.query.lineName)
// },
// { immediate: true }
// )
watch(
() => monitoringPoint.state.lineId,
() => {

View File

@@ -174,6 +174,7 @@ const tableStore = new TableStore({
})
provide('tableStore', tableStore)
onMounted(() => {
TableHeaderRef.value.setTheDate(1)
const dom = document.getElementById('navigation-splitpanes')
if (dom) {
size.value = Math.round((180 / dom.offsetHeight) * 120)
@@ -236,7 +237,6 @@ const preview = () => {
link.click() //执行下载
document.body.removeChild(link)
})
}
</script>
<style lang="scss">

View File

@@ -31,7 +31,7 @@
</div>
</template>
<script setup lang="ts">
import { ref, onMounted, provide } from 'vue'
import { ref, onMounted, provide, nextTick } from 'vue'
import TableStore from '@/utils/tableStore'
import Table from '@/components/table/index.vue'
import TableHeader from '@/components/table/header/index.vue'
@@ -45,6 +45,7 @@ const pageHeight = mainHeight(20)
defineOptions({
name: 'Descentsystem/transientList'
})
const TableHeaderRef = ref()
const { push } = useRouter()
const dictData = useDictData()
@@ -187,6 +188,10 @@ const backbxlb = () => {
view2.value = false
}
onMounted(() => {
tableStore.index()
// tableStore.index()
TableHeaderRef.value.setTheDate(1)
nextTick(() => {
TableHeaderRef.value.onComSearch()
})
})
</script>

View File

@@ -85,7 +85,7 @@ const tableStore = new TableStore({
{ title: '投运时间', field: 'loginTime', align: 'center', width: 200 },
{ title: '厂家', field: 'manufacturer', align: 'center', width: 160 },
{ title: '型号', field: 'devType', align: 'center', width: 200 },
{ title: '网络参数', field: 'ip', align: 'center', width: 200 },
{ title: '网络参数', field: 'ip', align: 'center' ,width:'120px'},
{ title: '端口', field: 'port', align: 'center', width: 100 },
{ title: '终端状态', field: 'runFlag', align: 'center', width: 100 },
{ title: '通讯状态', field: 'comFlag', align: 'center', width: 100 },

View File

@@ -11,7 +11,7 @@
<vxe-column field="subName" title="变电站(场站)"></vxe-column>
<vxe-column field="devName" title="终端名称"></vxe-column>
<!-- <vxe-column field="devType" title="终端型号"></vxe-column> -->
<vxe-column field="ip" title="网络参数"></vxe-column>
<vxe-column field="ip" title="网络参数" width="120px"></vxe-column>
</vxe-table>
</div>
</div>

View File

@@ -77,7 +77,7 @@ const tableStore = new TableStore({
},
{ field: 'gdName', title: '供电公司' },
{ field: 'subName', title: '变电站' },
{ field: 'ip', title: '网络参数' },
{ field: 'ip', title: '网络参数' ,width:'120px' },
{ field: 'lineName', title: '监测点' },
{
field: 'eventType',