技术监督台账管理功能
This commit is contained in:
@@ -0,0 +1,100 @@
|
||||
<template>
|
||||
<div>
|
||||
<TableHeader area ref='TableHeaderRef'>
|
||||
<template #select>
|
||||
<el-form-item label='信息查询'>
|
||||
<el-input v-model='tableStore.table.params.searchValue' clearable></el-input>
|
||||
</el-form-item>
|
||||
</template>
|
||||
<template #operation>
|
||||
<el-button icon='el-icon-Download' type='primary'>导出</el-button>
|
||||
</template>
|
||||
</TableHeader>
|
||||
<Table ref='tableRef' />
|
||||
</div>
|
||||
|
||||
</template>
|
||||
<script setup lang='ts'>
|
||||
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'
|
||||
import { ElMessage, ElMessageBox } from 'element-plus'
|
||||
import { mainHeight } from '@/utils/layout'
|
||||
import { useDictData } from '@/stores/dictData'
|
||||
import { addUse, updateUse, removeUse } from '@/api/advance-boot/bearingCapacity'
|
||||
|
||||
const dictData = useDictData()
|
||||
const interferenceType = dictData.getBasicData('Interference_Source')
|
||||
const istatusList = dictData.getBasicData('On-network_Status')
|
||||
const TableHeaderRef = ref()
|
||||
const areaOptionList = dictData.getBasicData('jibei_area')
|
||||
const tableStore = new TableStore({
|
||||
url: '/device-boot/runManage/getDeviceLedger',
|
||||
publicHeight: 65,
|
||||
method: 'POST',
|
||||
column: [
|
||||
/* { title: '序号', type: 'seq', width: 80 },*/
|
||||
{
|
||||
field: 'areaName',
|
||||
title: '省公司',
|
||||
minWidth: 100
|
||||
},
|
||||
{
|
||||
field: 'gdName',
|
||||
title: '市公司',
|
||||
minWidth: 150
|
||||
},
|
||||
{ field: 'bdName', title: '所属变电站', minWidth: 80 },
|
||||
{ field: 'devName', title: '终端编号', minWidth: 170 },
|
||||
{ field: 'loginTime', title: '投运时间', minWidth: 130 },
|
||||
{
|
||||
field: 'manufacturer',
|
||||
title: '厂家',
|
||||
minWidth: 100
|
||||
},
|
||||
{ field: 'devType', title: '装作型号', minWidth: 100 },
|
||||
|
||||
{ field: 'ip', title: '装置网络参数', minWidth: 100 },
|
||||
{ field: 'port', title: '端口号', minWidth: 100 }
|
||||
|
||||
|
||||
/* {
|
||||
title: '操作',
|
||||
minWidth: 150,
|
||||
fixed: 'right',
|
||||
render: 'buttons',
|
||||
buttons: [
|
||||
{
|
||||
name: 'productSetting',
|
||||
title: '流程详情',
|
||||
type: 'primary',
|
||||
icon: 'el-icon-EditPen',
|
||||
render: 'basicButton',
|
||||
click: row => {
|
||||
|
||||
}
|
||||
}
|
||||
]
|
||||
}*/
|
||||
],
|
||||
|
||||
beforeSearchFun: () => {
|
||||
tableStore.table.params.serverName = 'harmonic-boot'
|
||||
tableStore.table.params.statisticalType = {
|
||||
name: '电网拓扑',
|
||||
code: 'Power_Network'
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
provide('tableStore', tableStore)
|
||||
onMounted(() => {
|
||||
tableStore.index()
|
||||
})
|
||||
|
||||
|
||||
</script>
|
||||
@@ -0,0 +1,142 @@
|
||||
<template>
|
||||
<div>
|
||||
<TableHeader ref="TableHeaderRef">
|
||||
<template #select>
|
||||
<el-form-item label="工程名称">
|
||||
<el-input v-model="tableStore.table.params.searchValue" clearable></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="所属地市">
|
||||
<el-select v-model="tableStore.table.params.loadType" clearable placeholder="请选择所属地市">
|
||||
<el-option
|
||||
v-for="item in areaOptionList"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</template>
|
||||
<template #operation>
|
||||
<el-button icon="el-icon-Download" type="primary">导出</el-button>
|
||||
</template>
|
||||
</TableHeader>
|
||||
<Table ref="tableRef" />
|
||||
</div>
|
||||
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
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'
|
||||
import { ElMessage, ElMessageBox } from 'element-plus'
|
||||
import { mainHeight } from '@/utils/layout'
|
||||
import { useDictData } from '@/stores/dictData'
|
||||
import { addUse, updateUse, removeUse } from '@/api/advance-boot/bearingCapacity'
|
||||
|
||||
const dictData = useDictData()
|
||||
const interferenceType = dictData.getBasicData('Interference_Source')
|
||||
const istatusList = dictData.getBasicData('On-network_Status')
|
||||
const TableHeaderRef = ref()
|
||||
const areaOptionList = dictData.getBasicData('jibei_area')
|
||||
const tableStore = new TableStore({
|
||||
url: '/supervision-boot/userReport/getInterferenceUserPage',
|
||||
publicHeight: 65,
|
||||
method: 'POST',
|
||||
column: [
|
||||
{ title: '序号', type: 'seq', width: 80 },
|
||||
{ field: 'projectName', title: '工程名称', minWidth: 170 },
|
||||
{
|
||||
field: 'userType',
|
||||
title: '用户性质',
|
||||
minWidth: 150,
|
||||
formatter: (obj: any) => {
|
||||
const userType = obj.row.userType
|
||||
return getUserTypeName(userType)
|
||||
}
|
||||
},
|
||||
{ field: 'city', title: '所属地市', minWidth: 80 },
|
||||
{ field: 'responsibleDepartment', title: '归口管理部门', minWidth: 130 },
|
||||
{
|
||||
field: 'userStatus',
|
||||
title: '用户状态',
|
||||
minWidth: 100,
|
||||
render: 'tag',
|
||||
custom: {
|
||||
0: 'primary',
|
||||
1: 'primary',
|
||||
2: 'success',
|
||||
3: 'warning'
|
||||
},
|
||||
replaceValue: {
|
||||
0: '可研',
|
||||
1: '建设',
|
||||
2: '运行',
|
||||
3: '退运'
|
||||
}
|
||||
},
|
||||
{ field: 'substation', title: '变电站', minWidth: 100 },
|
||||
|
||||
|
||||
/* {
|
||||
title: '操作',
|
||||
minWidth: 150,
|
||||
fixed: 'right',
|
||||
render: 'buttons',
|
||||
buttons: [
|
||||
{
|
||||
name: 'productSetting',
|
||||
title: '流程详情',
|
||||
type: 'primary',
|
||||
icon: 'el-icon-EditPen',
|
||||
render: 'basicButton',
|
||||
click: row => {
|
||||
|
||||
}
|
||||
}
|
||||
]
|
||||
}*/
|
||||
],
|
||||
|
||||
beforeSearchFun: () => {
|
||||
tableStore.table.params.city = tableStore.table.params.deptIndex
|
||||
}
|
||||
})
|
||||
|
||||
tableStore.table.params.loadType = ''
|
||||
tableStore.table.params.userName = ''
|
||||
tableStore.table.params.relationUserName = ''
|
||||
tableStore.table.params.aisFileUpload = ''
|
||||
|
||||
provide('tableStore', tableStore)
|
||||
onMounted(() => {
|
||||
tableStore.index()
|
||||
})
|
||||
|
||||
|
||||
/**获取用户性质*/
|
||||
const getUserTypeName = (userType: any) => {
|
||||
if (userType === 0) {
|
||||
return '新建电网工程'
|
||||
}
|
||||
if (userType === 1) {
|
||||
return '扩建电网工程'
|
||||
}
|
||||
if (userType === 2) {
|
||||
return '新建非线性负荷用户'
|
||||
}
|
||||
if (userType === 3) {
|
||||
return '扩建非线性负荷用户'
|
||||
}
|
||||
if (userType === 4) {
|
||||
return '新建新能源发电站'
|
||||
}
|
||||
if (userType === 5) {
|
||||
return '扩建新能源发电站'
|
||||
}
|
||||
if (userType === 6) {
|
||||
return '敏感及重要用户'
|
||||
}
|
||||
return '新建电网工程'
|
||||
}
|
||||
</script>
|
||||
@@ -0,0 +1,126 @@
|
||||
<template>
|
||||
<div>
|
||||
<TableHeader area ref='TableHeaderRef'>
|
||||
<template #select>
|
||||
<el-form-item label='信息查询'>
|
||||
<el-input v-model='tableStore.table.params.searchValue' clearable></el-input>
|
||||
</el-form-item>
|
||||
</template>
|
||||
<template #operation>
|
||||
<el-button icon='el-icon-Download' type='primary'>导出</el-button>
|
||||
</template>
|
||||
</TableHeader>
|
||||
<Table ref='tableRef' />
|
||||
</div>
|
||||
|
||||
</template>
|
||||
<script setup lang='ts'>
|
||||
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'
|
||||
import { ElMessage, ElMessageBox } from 'element-plus'
|
||||
import { mainHeight } from '@/utils/layout'
|
||||
import { useDictData } from '@/stores/dictData'
|
||||
import { addUse, updateUse, removeUse } from '@/api/advance-boot/bearingCapacity'
|
||||
|
||||
const dictData = useDictData()
|
||||
const interferenceType = dictData.getBasicData('Interference_Source')
|
||||
const istatusList = dictData.getBasicData('On-network_Status')
|
||||
const TableHeaderRef = ref()
|
||||
const areaOptionList = dictData.getBasicData('jibei_area')
|
||||
const tableStore = new TableStore({
|
||||
url: '/device-boot/runManage/getLineLedger',
|
||||
publicHeight: 65,
|
||||
method: 'POST',
|
||||
column: [
|
||||
/* { title: '序号', type: 'seq', width: 80 },*/
|
||||
|
||||
{
|
||||
field: 'areaName',
|
||||
title: '省公司',
|
||||
minWidth: 100
|
||||
},
|
||||
{ field: 'gdName', title: '市公司', minWidth: 150 },
|
||||
{ field: 'lineName', title: '监测点名称', minWidth: 130 },
|
||||
{ field: 'scale', title: '监测点电压等级', minWidth: 120 },
|
||||
|
||||
{
|
||||
field: 'bdName',
|
||||
title: '所属变电站',
|
||||
minWidth: 150
|
||||
},
|
||||
{ field: 'loadType', title: '干扰源类型', minWidth: 120 },
|
||||
{ field: 'objName', title: '监测对象名称', minWidth: 180 },
|
||||
{
|
||||
field: 'shortCapacity',
|
||||
title: '最小短路容量(MVA)',
|
||||
minWidth: 150,
|
||||
},
|
||||
{
|
||||
field: 'devCapacity',
|
||||
title: '供电设备容量(MVA )',
|
||||
minWidth: 150,
|
||||
},
|
||||
{
|
||||
field: 'dealCapacity',
|
||||
title: '用户协议容量(MVA)',
|
||||
minWidth: 150,
|
||||
},
|
||||
/* { field: 'comFlag', title: '通讯状态 ', minWidth: 120 },*/
|
||||
{ field: 'id', title: '监测点序号', minWidth: 90 },
|
||||
{ field: 'devName', title: '监测终端编号 ', minWidth: 140 },
|
||||
{ field: 'ptType', title: '监测终端接线方式', minWidth: 140 },
|
||||
{
|
||||
field: 'voltageDev',
|
||||
title: '电压偏差上限(%)',
|
||||
minWidth: 120,
|
||||
},
|
||||
{
|
||||
field: 'uvoltageDev',
|
||||
title: '电压偏差下限(%)',
|
||||
minWidth: 120,
|
||||
},
|
||||
|
||||
|
||||
/* {
|
||||
title: '操作',
|
||||
minWidth: 150,
|
||||
fixed: 'right',
|
||||
render: 'buttons',
|
||||
buttons: [
|
||||
{
|
||||
name: 'productSetting',
|
||||
title: '流程详情',
|
||||
type: 'primary',
|
||||
icon: 'el-icon-EditPen',
|
||||
render: 'basicButton',
|
||||
click: row => {
|
||||
|
||||
}
|
||||
}
|
||||
]
|
||||
}*/
|
||||
],
|
||||
|
||||
beforeSearchFun: () => {
|
||||
tableStore.table.params.serverName = 'harmonic-boot'
|
||||
tableStore.table.params.runFlag=[0,1,2]
|
||||
tableStore.table.params.comFlag=[0,1]
|
||||
tableStore.table.params.statisticalType = {
|
||||
name: '电网拓扑',
|
||||
code: 'Power_Network'
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
provide('tableStore', tableStore)
|
||||
onMounted(() => {
|
||||
tableStore.index()
|
||||
})
|
||||
|
||||
|
||||
</script>
|
||||
@@ -1,38 +1,27 @@
|
||||
<template>
|
||||
<div class="default-main">
|
||||
<el-tabs v-model="activeName" type="border-card">
|
||||
<el-tab-pane label="终端入网检测" name="1">
|
||||
<div class='default-main'>
|
||||
<el-tabs v-model='activeName' type='border-card'>
|
||||
<el-tab-pane label='干扰源用户台账' name='1' >
|
||||
<!-- <network v-if="activeName == '1'" /> -->
|
||||
<el-tabs v-model="network" type="border-card" style="height: 100%" tab-position="left">
|
||||
<el-tab-pane label="列表" name="1">
|
||||
<networkTab />
|
||||
<interferenceUserTable v-if="activeName == '1'" />
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="图表" name="2">
|
||||
<networkEch />
|
||||
<el-tab-pane label='终端台账' name='2'>
|
||||
<deviceLedgerTable v-if="activeName == '2'" />
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="终端周期检测" name="2">
|
||||
<el-tabs v-model="cycle" type="border-card" style="height: 100%" tab-position="left">
|
||||
<el-tab-pane label="列表" name="1">
|
||||
<cycleTab />
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="图表" name="2">
|
||||
<cycleEch />
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
<el-tab-pane label='监测点台账' name='3'>
|
||||
<monitorLedgerTable v-if="activeName == '3'" />
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
<script setup lang='ts'>
|
||||
import { onMounted, reactive, ref, provide } from 'vue'
|
||||
import networkTab from './components/networkTab.vue'
|
||||
import networkEch from './components/networkEch.vue'
|
||||
import cycleTab from './components/cycleTab.vue'
|
||||
import cycleEch from './components/cycleEch.vue'
|
||||
import interferenceUserTable from './components/interferenceUserTable.vue'
|
||||
import deviceLedgerTable from './components/deviceLedgerTable.vue'
|
||||
import monitorLedgerTable from './components/monitorLedgerTable.vue'
|
||||
import { mainHeight } from '@/utils/layout'
|
||||
|
||||
defineOptions({
|
||||
name: 'Processsupervision/Terminaldetection'
|
||||
})
|
||||
@@ -45,11 +34,12 @@ const compatibility = ref()
|
||||
const layout = mainHeight(63) as any
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
<style lang='scss' scoped>
|
||||
.bars_w {
|
||||
width: 100%;
|
||||
height: 500px;
|
||||
}
|
||||
|
||||
:deep(.el-tabs__content) {
|
||||
height: v-bind('layout.height');
|
||||
overflow-y: auto;
|
||||
|
||||
Reference in New Issue
Block a user