周报 迁移 60%
This commit is contained in:
@@ -137,7 +137,7 @@ import TableStore from '@/utils/tableStore'
|
||||
import PointTree from '@/components/tree/pms/pointTree.vue'
|
||||
import TableHeader from '@/components/table/header/index.vue'
|
||||
import { mainHeight } from '@/utils/layout'
|
||||
import { getLineExport, getList, selectReleation } from '@/api/event-boot/report.ts'
|
||||
import { getLineExport, getList, selectReleation } from '@/api/event-boot/report'
|
||||
import { useMonitoringPoint } from '@/stores/monitoringPoint'
|
||||
import { ElMessage } from 'element-plus'
|
||||
const monitoringPoint = useMonitoringPoint()
|
||||
@@ -174,7 +174,7 @@ const formd: any = ref({
|
||||
const templatePolicy: any = ref([])
|
||||
const tableStore = new TableStore({
|
||||
url: '',
|
||||
method: '',
|
||||
method: 'post',
|
||||
column: []
|
||||
})
|
||||
provide('tableStore', tableStore)
|
||||
@@ -194,7 +194,7 @@ getList({
|
||||
const handleNodeClick = (data: any, node: any) => {
|
||||
dotList.value = data
|
||||
}
|
||||
const changeFn = val => {
|
||||
const changeFn = (val:any) => {
|
||||
formd.value = {
|
||||
xq: false,
|
||||
lb: false,
|
||||
@@ -217,7 +217,7 @@ const changeFn = val => {
|
||||
}
|
||||
|
||||
selectReleation(data).then(res => {
|
||||
res.data.forEach(item => {
|
||||
res.data.forEach((item:any) => {
|
||||
for (let k in formd.value) {
|
||||
if (item.name == k) {
|
||||
formd.value[k] = true
|
||||
@@ -242,7 +242,7 @@ const exportEvent = () => {
|
||||
formd.value.searchEndTime = tableStore.table.params.searchEndTime
|
||||
formd.value.flag = TableHeaderRef.value.datePickerRef.interval
|
||||
ElMessage('生成报告中,请稍等!')
|
||||
getLineExport(formd.value).then(res => {
|
||||
getLineExport(formd.value).then((res:any) => {
|
||||
let blob = new Blob([res], {
|
||||
type: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document;charset=UTF-8'
|
||||
})
|
||||
|
||||
@@ -141,7 +141,7 @@ import { ref, onMounted, provide, reactive } from 'vue'
|
||||
import TableStore from '@/utils/tableStore'
|
||||
import TableHeader from '@/components/table/header/index.vue'
|
||||
import { useDictData } from '@/stores/dictData'
|
||||
import { getAreaReport, getList, selectReleation } from '@/api/event-boot/report.ts'
|
||||
import { getAreaReport, getList, selectReleation } from '@/api/event-boot/report'
|
||||
import { ElMessage } from 'element-plus'
|
||||
defineOptions({
|
||||
name: 'TransientReport/regionalreports'
|
||||
@@ -161,7 +161,7 @@ const templatePolicy: any = ref([])
|
||||
const value = ref<string>('')
|
||||
const tableStore = new TableStore({
|
||||
url: '',
|
||||
method: '',
|
||||
method: 'post',
|
||||
column: []
|
||||
})
|
||||
const formInline: any = ref({
|
||||
@@ -195,7 +195,7 @@ getList({
|
||||
templatePolicy.value = res.data.records
|
||||
})
|
||||
// 模板策略变化
|
||||
const changeFn = val => {
|
||||
const changeFn = (val:any) => {
|
||||
formInline.value = {
|
||||
monitorDistributeChart: false,
|
||||
eventCountTable: false,
|
||||
@@ -218,7 +218,7 @@ const changeFn = val => {
|
||||
}
|
||||
|
||||
selectReleation(data).then(res => {
|
||||
res.data.forEach(item => {
|
||||
res.data.forEach((item:any) => {
|
||||
for (let k in formInline.value) {
|
||||
if (item.name == k) {
|
||||
formInline.value[k] = true
|
||||
@@ -245,7 +245,7 @@ const exportEvent = () => {
|
||||
formInline.value.waveType = tableStore.table.params.waveType
|
||||
formInline.value.interval = tableStore.table.params.timeFlag
|
||||
ElMessage('生成报告中,请稍等!')
|
||||
getAreaReport(formInline.value).then(res => {
|
||||
getAreaReport(formInline.value).then((res:any) => {
|
||||
let blob = new Blob([res], {
|
||||
type: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document;charset=UTF-8'
|
||||
})
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
<template>
|
||||
|
||||
<div>原因统计 </div>
|
||||
|
||||
</template>
|
||||
<script setup lang='ts'>
|
||||
import { ref, reactive } from 'vue'
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
|
||||
</style>
|
||||
@@ -0,0 +1,11 @@
|
||||
<template>
|
||||
|
||||
<div>概况 </div>
|
||||
|
||||
</template>
|
||||
<script setup lang='ts'>
|
||||
import { ref, reactive } from 'vue'
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
|
||||
</style>
|
||||
48
src/views/pqs/voltageSags/report/weekly/components/table.vue
Normal file
48
src/views/pqs/voltageSags/report/weekly/components/table.vue
Normal file
@@ -0,0 +1,48 @@
|
||||
<template>
|
||||
<div>
|
||||
<TableHeader date-picker>
|
||||
<template #operation>
|
||||
<el-button icon="el-icon-Download" type="primary" @click="exportEvent">导出</el-button>
|
||||
</template>
|
||||
</TableHeader>
|
||||
<Table :isGroup="props.info.isGroup" ref="tableRef" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import TableHeader from '@/components/table/header/index.vue'
|
||||
import TableStore from '@/utils/tableStore'
|
||||
import Table from '@/components/table/index.vue'
|
||||
import { ref, onMounted, provide ,nextTick} from 'vue'
|
||||
import { useDictData } from '@/stores/dictData'
|
||||
interface Props {
|
||||
info: any
|
||||
}
|
||||
const props = withDefaults(defineProps<Props>(), {})
|
||||
const dictData = useDictData()
|
||||
const tableStore = new TableStore({
|
||||
url: props.info.url,
|
||||
publicHeight: 60,
|
||||
method: 'POST',
|
||||
column: props.info.column,
|
||||
|
||||
loadCallback: () => {}
|
||||
})
|
||||
tableStore.table.params.statisticalType = dictData.getBasicData('Statistical_Type', [
|
||||
'Report_Type',
|
||||
'Manufacturer',
|
||||
'Voltage_Level',
|
||||
'Load_Type'
|
||||
])[0]
|
||||
tableStore.table.params.deptIndex = dictData.state.area[0].id
|
||||
tableStore.table.params.monitorFlag = 2
|
||||
tableStore.table.params.powerFlag = 2
|
||||
tableStore.table.params.serverName = 'event-boot'
|
||||
tableStore.table.params.type = 0
|
||||
provide('tableStore', tableStore)
|
||||
nextTick(() => {
|
||||
tableStore.index()
|
||||
})
|
||||
// 导出
|
||||
const exportEvent = () => {}
|
||||
</script>
|
||||
@@ -1,11 +1,193 @@
|
||||
<template>
|
||||
|
||||
<div>周报 </div>
|
||||
|
||||
<div class="default-main">
|
||||
<el-tabs v-model="activeName" type="border-card" @tab-click="handleClick">
|
||||
<el-tab-pane label="暂态总体概况" name="1"><Overview /></el-tab-pane>
|
||||
<el-tab-pane label="暂态原因统计" name="2"><CauseStatistics /></el-tab-pane>
|
||||
<el-tab-pane v-for="item in list" :label="item.name" :name="item.id" :key="item.id">
|
||||
<Table :info="item"></Table>
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
</div>
|
||||
</template>
|
||||
<script setup lang='ts'>
|
||||
import { ref, reactive } from 'vue'
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
<script setup lang="tsx">
|
||||
import { ref, onMounted, provide } from 'vue'
|
||||
import TableStore from '@/utils/tableStore'
|
||||
import Table from './components/table.vue'
|
||||
import Overview from './components/overview.vue'
|
||||
import CauseStatistics from './components/causeStatistics.vue'
|
||||
import { useDictData } from '@/stores/dictData'
|
||||
defineOptions({
|
||||
name: 'TransientReport/weekly'
|
||||
})
|
||||
const dictData = useDictData()
|
||||
const activeName = ref('1')
|
||||
const list = ref([
|
||||
{
|
||||
name: '暂态严重度统计',
|
||||
id: '3',
|
||||
isGroup: true,
|
||||
url: '/event-boot/report/getSeverity',
|
||||
column: [
|
||||
{
|
||||
title: '暂态事件严重度(前二十)',
|
||||
children: [
|
||||
{
|
||||
field: 'index',
|
||||
title: '序号',
|
||||
width: '60',
|
||||
formatter: (row: any) => {
|
||||
return (
|
||||
(tableStore.table.params.pageNum - 1) * tableStore.table.params.pageSize +
|
||||
row.rowIndex +
|
||||
1
|
||||
)
|
||||
}
|
||||
},
|
||||
{ field: 'startTime', title: '暂态事件发生时刻', width: '200' },
|
||||
{ field: 'gdName', title: '供电公司' },
|
||||
{ field: 'subName', title: '变电站' },
|
||||
{ field: 'lineName', title: '监测点' },
|
||||
{ field: 'voltageScale', title: '监测点电压等级' },
|
||||
{ field: 'loadType', title: '干扰源类型' },
|
||||
{
|
||||
field: 'featureAmplitude',
|
||||
title: '暂降(骤升)幅值(%)',
|
||||
formatter: ({ row }: any) => (row.featureAmplitude * 100).toFixed(2)
|
||||
},
|
||||
{ field: 'duration', title: '持续时间(s)' },
|
||||
{ field: 'severity', title: '暂态事件严重度' }
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: '详细事件列表',
|
||||
id: '4',
|
||||
|
||||
</style>
|
||||
url: '/event-boot/report/getContinueTime',
|
||||
column: [
|
||||
{
|
||||
field: 'index',
|
||||
title: '序号',
|
||||
width: '60',
|
||||
formatter: (row: any) => {
|
||||
return (tableStore.table.params.pageNum - 1) * tableStore.table.params.pageSize + row.rowIndex + 1
|
||||
}
|
||||
},
|
||||
{ field: 'startTime', title: '暂态事件发生时刻', width: '200' },
|
||||
{ field: 'gdName', title: '供电公司', width: '150' },
|
||||
{ field: 'subName', title: '变电站' },
|
||||
{ field: 'lineName', title: '监测点' },
|
||||
{
|
||||
field: 'objName',
|
||||
title: '监测点对象名称',
|
||||
formatter: ({ row }: any) => (row.objName ? row.objName : '/')
|
||||
},
|
||||
{ field: 'voltageScale', title: '电压等级', width: '150' },
|
||||
{ field: 'loadType', title: '干扰源类型', width: '150' },
|
||||
|
||||
{
|
||||
field: 'featureAmplitude',
|
||||
title: '暂降(骤升)幅值(%)',
|
||||
width: '150',
|
||||
formatter: ({ row }: any) => (row.featureAmplitude * 100).toFixed(2)
|
||||
},
|
||||
{ field: 'duration', title: '持续时间(s)', width: '120' },
|
||||
{ field: 'advanceType', title: '暂态类型(机器判断)', width: '150' }
|
||||
]
|
||||
},
|
||||
{
|
||||
name: '暂降次数统计',
|
||||
id: '5',
|
||||
url: '/event-boot/report/getSagTimes',
|
||||
column: [
|
||||
{
|
||||
field: 'index',
|
||||
title: '序号',
|
||||
width: '60',
|
||||
formatter: (row: any) => {
|
||||
return (tableStore.table.params.pageNum - 1) * tableStore.table.params.pageSize + row.rowIndex + 1
|
||||
}
|
||||
},
|
||||
{ field: 'lineName', title: '监测点' },
|
||||
{ field: 'loadType', title: '干扰源类型' },
|
||||
{
|
||||
field: 'objName',
|
||||
title: '监测点对象名称',
|
||||
formatter: ({ row }: any) => (row.objName ? row.objName : '/')
|
||||
},
|
||||
{ field: 'subName', title: '变电站' },
|
||||
{ field: 'gdName', title: '供电公司', width: '150' },
|
||||
{ field: 'times', title: '暂降次数', width: '150' }
|
||||
]
|
||||
},
|
||||
{
|
||||
name: '暂升次数统计',
|
||||
id: '6',
|
||||
url: '/event-boot/report/getUpTimes',
|
||||
column: [
|
||||
{
|
||||
field: 'index',
|
||||
title: '序号',
|
||||
width: '60',
|
||||
formatter: (row: any) => {
|
||||
return (tableStore.table.params.pageNum - 1) * tableStore.table.params.pageSize + row.rowIndex + 1
|
||||
}
|
||||
},
|
||||
{ field: 'lineName', title: '监测点' },
|
||||
{ field: 'loadType', title: '干扰源类型' },
|
||||
{
|
||||
field: 'objName',
|
||||
title: '监测点对象名称',
|
||||
formatter: ({ row }: any) => (row.objName ? row.objName : '/')
|
||||
},
|
||||
{ field: 'voltageScale', title: '监测点电压等级' },
|
||||
{ field: 'subName', title: '变电站' },
|
||||
{ field: 'subScale', title: '变电站电压等级' },
|
||||
{ field: 'gdName', title: '供电公司', width: '150' },
|
||||
{ field: 'times', title: '暂升次数', width: '150' }
|
||||
]
|
||||
},
|
||||
{
|
||||
name: '短时中断次数统计',
|
||||
id: '7',
|
||||
url: '/event-boot/report/getBreakTimes',
|
||||
column: [
|
||||
{
|
||||
field: 'index',
|
||||
title: '序号',
|
||||
width: '60',
|
||||
formatter: (row: any) => {
|
||||
return (tableStore.table.params.pageNum - 1) * tableStore.table.params.pageSize + row.rowIndex + 1
|
||||
}
|
||||
},
|
||||
{ field: 'lineName', title: '监测点' },
|
||||
{ field: 'loadType', title: '干扰源类型' },
|
||||
{
|
||||
field: 'objName',
|
||||
title: '监测点对象名称',
|
||||
formatter: ({ row }: any) => (row.objName ? row.objName : '/')
|
||||
},
|
||||
{ field: 'voltageScale', title: '监测点电压等级' },
|
||||
{ field: 'subName', title: '变电站' },
|
||||
{ field: 'subScale', title: '变电站电压等级' },
|
||||
{ field: 'gdName', title: '供电公司' },
|
||||
{ field: 'times', title: '短时中断次数' }
|
||||
]
|
||||
}
|
||||
])
|
||||
const tableStore = new TableStore({
|
||||
url: '',
|
||||
method: 'post',
|
||||
column: []
|
||||
})
|
||||
|
||||
tableStore.table.params.waveType = 0
|
||||
provide('tableStore', tableStore)
|
||||
|
||||
onMounted(() => {
|
||||
// tableStore.index()
|
||||
})
|
||||
|
||||
const handleClick = () => {}
|
||||
</script>
|
||||
|
||||
Reference in New Issue
Block a user