修改文件夹位置 及 名称
This commit is contained in:
@@ -23,4 +23,20 @@ export function queryEventsAssPage(data: any) {
|
||||
method: 'post',
|
||||
data,
|
||||
})
|
||||
}
|
||||
// 启动关联分析
|
||||
export function processEvents(data: any) {
|
||||
return createAxios({
|
||||
url: '/advance-boot/process/processEvents',
|
||||
method: 'get',
|
||||
params:data,
|
||||
})
|
||||
}
|
||||
// 暂降源定位
|
||||
export function queryEventDetailByAssId(data: any) {
|
||||
return createAxios({
|
||||
url: '/advance-boot/process/queryEventDetailByAssId',
|
||||
method: 'get',
|
||||
params:data,
|
||||
})
|
||||
}
|
||||
@@ -6,7 +6,7 @@
|
||||
import { ref, nextTick } from 'vue'
|
||||
import Tree from './index.vue'
|
||||
|
||||
import { getTerminalTree } from '@/api/Business/index.ts'
|
||||
import { getTerminalTree } from '@/api/device-boot/Business.ts'
|
||||
import { useConfig } from '@/stores/config'
|
||||
defineOptions({
|
||||
name: 'govern/deviceTree'
|
||||
|
||||
@@ -18,7 +18,6 @@
|
||||
</template>
|
||||
</TableHeader>
|
||||
<Table ref="tableRef"></Table>
|
||||
|
||||
<el-dialog
|
||||
:title="dialogTitle"
|
||||
v-model="dialogFormVisible"
|
||||
@@ -72,7 +71,7 @@
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import { ref, onMounted, provide, reactive, nextTick } from 'vue'
|
||||
import { addNode, delNode, updateNode } from '@/api/Business'
|
||||
import { addNode, delNode, updateNode } from '@/api/device-boot/Business.ts'
|
||||
import TableStore from '@/utils/tableStore'
|
||||
import Table from '@/components/table/index.vue'
|
||||
import TableHeader from '@/components/table/header/index.vue'
|
||||
@@ -216,7 +216,7 @@ import TableStore from '@/utils/tableStore'
|
||||
import { defaultAttribute } from '@/components/table/defaultAttribute'
|
||||
import TableHeader from '@/components/table/header/index.vue'
|
||||
import { mainHeight } from '@/utils/layout'
|
||||
import { getTerminalUpLog } from '@/api/Business'
|
||||
import { getTerminalUpLog } from '@/api/device-boot/Business.ts'
|
||||
import XEUtils from 'xe-utils'
|
||||
import { debounce } from 'lodash-es'
|
||||
import { useDictData } from '@/stores/dictData'
|
||||
@@ -206,7 +206,7 @@ import TableStore from '@/utils/tableStore'
|
||||
import { defaultAttribute } from '@/components/table/defaultAttribute'
|
||||
import TableHeader from '@/components/table/header/index.vue'
|
||||
import { mainHeight } from '@/utils/layout'
|
||||
import { getTerminalUpLog } from '@/api/Business'
|
||||
import { getTerminalUpLog } from '@/api/device-boot/Business.ts'
|
||||
import XEUtils from 'xe-utils'
|
||||
import { debounce } from 'lodash-es'
|
||||
import { useDictData } from '@/stores/dictData'
|
||||
@@ -1433,7 +1433,7 @@ import { LocationInformation } from '@element-plus/icons-vue'
|
||||
import Terminal from '@/components/tree/pms/Terminal.vue'
|
||||
import { mainHeight } from '@/utils/layout'
|
||||
import { areaTree } from '@/api/system-boot/dicData'
|
||||
import { queryTerminal, nodeAllList, delTerminal, updateTerminal, addTerminal } from '@/api/Business'
|
||||
import { queryTerminal, nodeAllList, delTerminal, updateTerminal, addTerminal } from '@/api/device-boot/Business.ts'
|
||||
import { useDictData } from '@/stores/dictData'
|
||||
import { ref, reactive } from 'vue'
|
||||
import { ElMessage, ElMessageBox } from 'element-plus'
|
||||
@@ -2,15 +2,11 @@
|
||||
<div class="default-main">
|
||||
<TableHeader area ref="header">
|
||||
<template v-slot:select>
|
||||
<!-- <el-form-item label="区域">
|
||||
<Area ref="area" v-model="tableStore.table.params.deptIndex" />
|
||||
</el-form-item> -->
|
||||
<el-form-item label="统计类型">
|
||||
<el-select
|
||||
v-model="tableStore.table.params.statisticalType"
|
||||
value-key="id"
|
||||
placeholder="请选择统计类型"
|
||||
size="large"
|
||||
>
|
||||
<el-option v-for="item in options" :key="item.id" :label="item.name" :value="item" />
|
||||
</el-select>
|
||||
@@ -74,7 +70,7 @@ defineOptions({
|
||||
const EchartMap = ref()
|
||||
const dictData = useDictData()
|
||||
const options = dictData.getBasicData('Statistical_Type', ['Report_Type'])
|
||||
const echartMapList:any = ref({})
|
||||
const echartMapList: any = ref({})
|
||||
const echartList = ref({})
|
||||
const titleA = ref('')
|
||||
const header = ref()
|
||||
@@ -153,7 +149,7 @@ const map = (res: any) => {
|
||||
series: []
|
||||
}
|
||||
}
|
||||
let mapList:any = [[], [], []]
|
||||
let mapList: any = [[], [], []]
|
||||
if (res.substationDetailVOList != null) {
|
||||
res.substationDetailVOList.forEach((item: any) => {
|
||||
if (item.color == 'green') {
|
||||
@@ -163,7 +159,7 @@ const map = (res: any) => {
|
||||
}
|
||||
})
|
||||
}
|
||||
mapList.forEach((item:any, ind:number) => {
|
||||
mapList.forEach((item: any, ind: number) => {
|
||||
echartMapList.value.options.series.push({
|
||||
type: 'scatter',
|
||||
mapName: 'china',
|
||||
@@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<div class="default-main">
|
||||
<TableHeader date-picker area></TableHeader>
|
||||
<el-tabs v-model="activeName" type="border-card" v-loading="tableStore.table.loading">
|
||||
<el-tabs v-model="activeName" type="border-card" @tab-click="handleClick" v-loading="tableStore.table.loading">
|
||||
<el-tab-pane label="图形" name="1">
|
||||
<Echart ref="echarts" />
|
||||
</el-tab-pane>
|
||||
@@ -13,8 +13,8 @@
|
||||
<script setup lang="ts">
|
||||
import TableHeader from '@/components/table/header/index.vue'
|
||||
import { useDictData } from '@/stores/dictData'
|
||||
import Echart from './components/echart.vue'
|
||||
import Tableabove from './components/Tableabove.vue'
|
||||
import Echart from '../components/echart.vue'
|
||||
import Tableabove from '../components/Tableabove.vue'
|
||||
import TableStore from '@/utils/tableStore'
|
||||
import { onMounted, reactive, ref, provide } from 'vue'
|
||||
import { mainHeight } from '@/utils/layout'
|
||||
@@ -32,11 +32,14 @@ const tableStore = new TableStore({
|
||||
method: 'POST',
|
||||
column: [],
|
||||
loadCallback: () => {
|
||||
table.value.info(tableStore.table.data,tableStore.table.params.searchBeginTime,tableStore.table.params.searchEndTime)
|
||||
table.value.info(
|
||||
tableStore.table.data,
|
||||
tableStore.table.params.searchBeginTime,
|
||||
tableStore.table.params.searchEndTime
|
||||
)
|
||||
echarts.value.Processing(tableStore.table.data.areaStatistics)
|
||||
echarts.value.Grade(tableStore.table.data.voltageStatistics)
|
||||
echarts.value.Relation(JSON.parse(JSON.stringify(tableStore.table.data.monthlyStatistics)))
|
||||
|
||||
}
|
||||
})
|
||||
provide('tableStore', tableStore)
|
||||
@@ -48,6 +51,9 @@ tableStore.table.params.serverName = 'event-boot'
|
||||
onMounted(() => {
|
||||
tableStore.index()
|
||||
})
|
||||
const handleClick = () => {
|
||||
tableStore.index()
|
||||
}
|
||||
const layout = mainHeight(123) as any
|
||||
</script>
|
||||
|
||||
@@ -20,8 +20,8 @@ import TableHeader from '@/components/table/header/index.vue'
|
||||
import { useDictData } from '@/stores/dictData'
|
||||
import TableStore from '@/utils/tableStore'
|
||||
import { onMounted, reactive, ref, provide } from 'vue'
|
||||
import TypeStatistics from './components/TypeStatistics.vue'
|
||||
import Compatibility from './components/Compatibility.vue'
|
||||
import TypeStatistics from '../components/TypeStatistics.vue'
|
||||
import Compatibility from '../components/Compatibility.vue'
|
||||
import { mainHeight } from '@/utils/layout'
|
||||
defineOptions({
|
||||
name: 'Region/overview'
|
||||
@@ -1,34 +1,103 @@
|
||||
<template>
|
||||
<div class="default-main">
|
||||
<TableHeader datePicker>
|
||||
<template #select>
|
||||
<el-form-item label="筛选">
|
||||
<el-input v-model="tableStore.table.params.searchValue" clearable placeholder="输入关键字筛选" />
|
||||
</el-form-item>
|
||||
</template>
|
||||
<template #operation>
|
||||
<el-button icon="el-icon-Tickets" type="primary" @click="analysis">分析记录管理</el-button>
|
||||
<el-button icon="el-icon-SuccessFilled" type="primary" @click="firing">启动关联分析</el-button>
|
||||
</template>
|
||||
</TableHeader>
|
||||
<Table ref="tableRef" />
|
||||
<!-- 分析记录管理 -->
|
||||
<el-dialog v-model="dialogAnalysis" title="分析记录管理" width="60%">
|
||||
<vxe-table height="500" auto-resize :data="AnalysisData" v-bind="defaultAttribute">
|
||||
<vxe-column field="timeId" title="策略名称"></vxe-column>
|
||||
<vxe-column field="timeId" title="操作时间"></vxe-column>
|
||||
<vxe-column field="createName" title="操作人"></vxe-column>
|
||||
<vxe-column title="操作" width="100">
|
||||
<template #default="{ row }">
|
||||
<el-popconfirm title="是否确认删除策略!" @confirm="details(row)">
|
||||
<template #reference>
|
||||
<el-button type="danger" link>删除</el-button>
|
||||
</template>
|
||||
</el-popconfirm>
|
||||
</template>
|
||||
</vxe-column>
|
||||
</vxe-table>
|
||||
</el-dialog>
|
||||
<div v-show="view">
|
||||
<TableHeader datePicker>
|
||||
<template #select>
|
||||
<el-form-item label="筛选">
|
||||
<el-input
|
||||
v-model="tableStore.table.params.searchValue"
|
||||
clearable
|
||||
placeholder="输入关键字筛选"
|
||||
/>
|
||||
</el-form-item>
|
||||
</template>
|
||||
<template #operation>
|
||||
<el-button icon="el-icon-Tickets" type="primary" @click="analysis">分析记录管理</el-button>
|
||||
<el-button icon="el-icon-SuccessFilled" type="primary" @click="firing">启动关联分析</el-button>
|
||||
</template>
|
||||
</TableHeader>
|
||||
<Table ref="tableRef" />
|
||||
<!-- 分析记录管理 -->
|
||||
<el-dialog v-model="dialogAnalysis" title="分析记录管理" width="60%">
|
||||
<vxe-table height="500" auto-resize :data="AnalysisData" v-bind="defaultAttribute">
|
||||
<vxe-column field="timeId" title="策略名称"></vxe-column>
|
||||
<vxe-column field="timeId" title="操作时间"></vxe-column>
|
||||
<vxe-column field="createName" title="操作人"></vxe-column>
|
||||
<vxe-column title="操作" width="100">
|
||||
<template #default="{ row }">
|
||||
<el-popconfirm title="是否确认删除策略!" @confirm="details(row)">
|
||||
<template #reference>
|
||||
<el-button type="danger" link>删除</el-button>
|
||||
</template>
|
||||
</el-popconfirm>
|
||||
</template>
|
||||
</vxe-column>
|
||||
</vxe-table>
|
||||
</el-dialog>
|
||||
</div>
|
||||
<div :style="{ height: pageHeight.height }" style="padding: 10px; overflow: hidden" v-if="!view">
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<span v-if="view2" style="font-size: 14px; font-weight: ; line-height: 30px">值类型选择:</span>
|
||||
<el-select
|
||||
v-if="view2"
|
||||
style="min-width: 200px; width: 200px"
|
||||
@change="changeView"
|
||||
v-model="value"
|
||||
placeholder="请选择值类型"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in options"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-button
|
||||
v-if="view2"
|
||||
@click="backbxlb"
|
||||
type="primary"
|
||||
class="el-icon-refresh-right"
|
||||
icon="el-icon-CloseBold"
|
||||
style="float: right"
|
||||
>
|
||||
返回
|
||||
</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-tabs v-if="view2" class="default-main" v-model="bxactiveName" @tab-click="bxhandleClick">
|
||||
<el-tab-pane
|
||||
label="瞬时波形"
|
||||
name="ssbx"
|
||||
class="boxbx pt10 pb10"
|
||||
:style="'height:' + bxecharts + ';overflow-y: scroll;'"
|
||||
>
|
||||
<shushiboxi
|
||||
v-if="bxactiveName == 'ssbx' && showBoxi"
|
||||
:value="value"
|
||||
:boxoList="boxoList"
|
||||
:wp="wp"
|
||||
></shushiboxi>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane
|
||||
label="RMS波形"
|
||||
class="boxbx pt10 pb10"
|
||||
name="rmsbx"
|
||||
:style="'height:' + bxecharts + ';overflow-y: scroll;'"
|
||||
>
|
||||
<rmsboxi
|
||||
v-if="bxactiveName == 'rmsbx' && showBoxi"
|
||||
:value="value"
|
||||
:boxoList="boxoList"
|
||||
:wp="wp"
|
||||
></rmsboxi>
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
<!-- <xiebofenxi ref="child" :bxshuju="bxshuju" @backfh="back"></xiebofenxi> -->
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
@@ -37,13 +106,23 @@ import TableStore from '@/utils/tableStore'
|
||||
import Table from '@/components/table/index.vue'
|
||||
import { defaultAttribute } from '@/components/table/defaultAttribute'
|
||||
import TableHeader from '@/components/table/header/index.vue'
|
||||
import { queryRelevantLogPage, delRelevantLog } from '@/api/advance-boot/analyse.ts'
|
||||
import { queryRelevantLogPage, delRelevantLog, processEvents } from '@/api/advance-boot/analyse.ts'
|
||||
import { ElMessage, ElMessageBox } from 'element-plus'
|
||||
import { mainHeight } from '@/utils/layout'
|
||||
import shushiboxi from '@/components/echarts/shushiboxi.vue'
|
||||
import rmsboxi from '@/components/echarts/rmsboxi.vue'
|
||||
import { getMonitorEventAnalyseWave } from '@/api/event-boot/transient.ts'
|
||||
defineOptions({
|
||||
name: 'govern/log/operation'
|
||||
})
|
||||
const dialogAnalysis = ref(false)
|
||||
const AnalysisData = ref([])
|
||||
const pageHeight = mainHeight(20)
|
||||
const bxecharts = mainHeight(95).height as any
|
||||
const loading = ref(false)
|
||||
const view = ref(true)
|
||||
const view2 = ref(false)
|
||||
const showBoxi = ref(true)
|
||||
const tableStore = new TableStore({
|
||||
url: '/advance-boot/process/querySagEventsPage',
|
||||
method: 'POST',
|
||||
@@ -109,7 +188,22 @@ const tableStore = new TableStore({
|
||||
},
|
||||
icon: 'el-icon-Plus',
|
||||
render: 'basicButton',
|
||||
click: row => {}
|
||||
click: async row => {
|
||||
row.loading = true
|
||||
boxoList.value = row
|
||||
await getMonitorEventAnalyseWave({ id: row.eventId, systemType: 0 })
|
||||
.then(res => {
|
||||
row.loading = false
|
||||
if (res != undefined) {
|
||||
wp.value = res.data
|
||||
view.value = false
|
||||
view2.value = true
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
row.loading = false
|
||||
})
|
||||
}
|
||||
},
|
||||
{
|
||||
name: 'edit',
|
||||
@@ -133,6 +227,21 @@ const tableStore = new TableStore({
|
||||
})
|
||||
}
|
||||
})
|
||||
|
||||
const bxactiveName = ref('ssbx')
|
||||
const boxoList = ref({})
|
||||
const wp = ref({})
|
||||
const value = ref(1)
|
||||
const options = ref([
|
||||
{
|
||||
value: 1,
|
||||
label: '一次值'
|
||||
},
|
||||
{
|
||||
value: 2,
|
||||
label: '二次值'
|
||||
}
|
||||
])
|
||||
provide('tableStore', tableStore)
|
||||
onMounted(() => {
|
||||
tableStore.index()
|
||||
@@ -145,7 +254,18 @@ const analysis = () => {
|
||||
dialogAnalysis.value = true
|
||||
}
|
||||
// 启动关联分析
|
||||
const firing = () => {}
|
||||
const firing = () => {
|
||||
processEvents({
|
||||
startTime: tableStore.table.params.searchBeginTime,
|
||||
endTime: tableStore.table.params.searchEndTime
|
||||
}).then(res => {
|
||||
ElMessage({
|
||||
type: 'success',
|
||||
message: res.message
|
||||
})
|
||||
tableStore.index()
|
||||
})
|
||||
}
|
||||
// 删除策略
|
||||
const details = (row: any) => {
|
||||
delRelevantLog({ id: row.id }).then((res: any) => {
|
||||
@@ -158,4 +278,30 @@ const details = (row: any) => {
|
||||
})
|
||||
})
|
||||
}
|
||||
const nodeClick = async (e: anyObj) => {
|
||||
if (e.level == 2) {
|
||||
loading.value = false
|
||||
tableStore.table.params.deviceId = e.id
|
||||
tableStore.index()
|
||||
}
|
||||
}
|
||||
|
||||
const changeView = () => {
|
||||
showBoxi.value = false
|
||||
setTimeout(() => {
|
||||
showBoxi.value = true
|
||||
}, 0)
|
||||
}
|
||||
const bxhandleClick = (tab: any) => {
|
||||
if (tab.name == 'ssbx') {
|
||||
bxactiveName.value = 'ssbx'
|
||||
} else if (tab.name == 'rmsbx') {
|
||||
bxactiveName.value = 'rmsbx'
|
||||
}
|
||||
// console.log(tab, event);
|
||||
}
|
||||
const backbxlb = () => {
|
||||
view.value = true
|
||||
view2.value = false
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -11,23 +11,73 @@
|
||||
</template>
|
||||
</TableHeader>
|
||||
<Table ref="tableRef" />
|
||||
<!-- 分析记录管理 -->
|
||||
<el-dialog v-model="dialogAnalysis" title="分析记录管理" width="60%">
|
||||
<vxe-table height="500" auto-resize :data="AnalysisData" v-bind="defaultAttribute">
|
||||
<vxe-column field="timeId" title="策略名称"></vxe-column>
|
||||
<vxe-column field="timeId" title="操作时间"></vxe-column>
|
||||
<vxe-column field="createName" title="操作人"></vxe-column>
|
||||
<vxe-column title="操作" width="100">
|
||||
<template #default="{ row }">
|
||||
<el-popconfirm title="是否确认删除策略!" @confirm="details(row)">
|
||||
<template #reference>
|
||||
<el-button type="danger" link>删除</el-button>
|
||||
</template>
|
||||
</el-popconfirm>
|
||||
<!-- 暂降源定位 -->
|
||||
<el-dialog v-model="dialogAnalysis" title="暂降源定位" width="70%">
|
||||
<div class="mb10" style="display: flex; justify-content: space-between">
|
||||
<span>事件关联编号为:{{ AssociationNumber }}</span>
|
||||
<el-button icon="el-icon-Download" type="primary" @click="positioningexport">导出</el-button>
|
||||
</div>
|
||||
<vxe-table
|
||||
height="500"
|
||||
ref="positioningtableRef"
|
||||
auto-resize
|
||||
:data="AnalysisData"
|
||||
v-bind="defaultAttribute"
|
||||
>
|
||||
<vxe-table-column title="序号" width="70" type="seq" align="center">
|
||||
<template v-slot="row">
|
||||
<span>{{ (form.pageNum - 1) * form.pageSize + row.rowIndex + 1 }}</span>
|
||||
</template>
|
||||
</vxe-column>
|
||||
</vxe-table-column>
|
||||
<vxe-table-column
|
||||
field="startTime"
|
||||
title="发生时间"
|
||||
align="center"
|
||||
:show-overflow="true"
|
||||
></vxe-table-column>
|
||||
<vxe-table-column field="gdName" title="供电公司" align="center"></vxe-table-column>
|
||||
<vxe-table-column
|
||||
field="subName"
|
||||
:show-overflow="true"
|
||||
title="变电站"
|
||||
align="center"
|
||||
></vxe-table-column>
|
||||
<vxe-table-column field="lineName" title="监测点" align="center"></vxe-table-column>
|
||||
<vxe-table-column field="voltageId" title="电压等级(kV)" align="center"></vxe-table-column>
|
||||
<vxe-table-column field="featureAmplitude" title="暂降幅值(%)" align="center" width="140">
|
||||
<template #default="{ row }">
|
||||
<span>{{ (row.featureAmplitude * 100).toFixed(2) }}</span>
|
||||
</template>
|
||||
</vxe-table-column>
|
||||
<vxe-table-column field="duration" title="持续时间(s)" align="center" width="120"></vxe-table-column>
|
||||
<vxe-table-column
|
||||
field="advanceType"
|
||||
title="暂降类型"
|
||||
align="center"
|
||||
width="120"
|
||||
:formatter="formFilter"
|
||||
></vxe-table-column>
|
||||
<vxe-table-column
|
||||
field="advanceReason"
|
||||
title="暂降原因"
|
||||
align="center"
|
||||
width="120"
|
||||
:formatter="formFilter"
|
||||
></vxe-table-column>
|
||||
</vxe-table>
|
||||
<el-pagination
|
||||
class="mt10"
|
||||
:currentPage="form.pageNum"
|
||||
:page-size="form.pageSize"
|
||||
:page-sizes="[10, 20, 50, 100]"
|
||||
background
|
||||
:layout="'sizes,total, ->, prev, pager, next, jumper'"
|
||||
:total="total"
|
||||
@size-change="onTableSizeChange"
|
||||
@current-change="onTableCurrentChange"
|
||||
></el-pagination>
|
||||
</el-dialog>
|
||||
<!-- 暂降源定位 -->
|
||||
</div>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
@@ -36,16 +86,27 @@ import TableStore from '@/utils/tableStore'
|
||||
import Table from '@/components/table/index.vue'
|
||||
import { defaultAttribute } from '@/components/table/defaultAttribute'
|
||||
import TableHeader from '@/components/table/header/index.vue'
|
||||
import { queryRelevantLogPage, delRelevantLog } from '@/api/advance-boot/analyse.ts'
|
||||
import { ElMessage, ElMessageBox } from 'element-plus'
|
||||
import { queryEventDetailByAssId } from '@/api/advance-boot/analyse.ts'
|
||||
import { useDictData } from '@/stores/dictData'
|
||||
import { queryEventsAssPage } from '@/api/advance-boot/analyse.ts'
|
||||
defineOptions({
|
||||
name: 'govern/log/operation'
|
||||
})
|
||||
const dialogAnalysis = ref(false)
|
||||
const AnalysisData = ref([])
|
||||
const AssociationNumber = ref()
|
||||
const total = ref(0)
|
||||
const tableRef = ref()
|
||||
const TableHeaderRef = ref()
|
||||
const dictData = useDictData()
|
||||
const positioningtableRef = ref()
|
||||
const reason = dictData.getBasicData('Event_Reason')
|
||||
const type = dictData.getBasicData('Event_Type')
|
||||
const form = ref({
|
||||
pageSize: 20,
|
||||
pageNum: 1,
|
||||
id: ''
|
||||
})
|
||||
const tableStore = new TableStore({
|
||||
url: '/advance-boot/process/queryEventsAssPage',
|
||||
method: 'POST',
|
||||
@@ -64,7 +125,6 @@ const tableStore = new TableStore({
|
||||
field: 'contentDes',
|
||||
title: '事件关联分析描述'
|
||||
},
|
||||
|
||||
{
|
||||
title: '操作',
|
||||
width: '200',
|
||||
@@ -74,10 +134,13 @@ const tableStore = new TableStore({
|
||||
name: 'edit',
|
||||
title: '暂降源定位',
|
||||
type: 'primary',
|
||||
|
||||
icon: 'el-icon-Plus',
|
||||
render: 'basicButton',
|
||||
click: row => {}
|
||||
click: row => {
|
||||
AssociationNumber.value = row.timeId
|
||||
form.value.id = row.eventAssId
|
||||
source()
|
||||
}
|
||||
},
|
||||
{
|
||||
name: 'edit',
|
||||
@@ -109,31 +172,56 @@ onMounted(() => {
|
||||
{ label: '周', value: 4 }
|
||||
])
|
||||
})
|
||||
//分析记录管理
|
||||
const analysis = () => {
|
||||
queryRelevantLogPage({}).then((res: any) => {
|
||||
AnalysisData.value = res.data.records
|
||||
})
|
||||
dialogAnalysis.value = true
|
||||
}
|
||||
|
||||
// 启动关联分析
|
||||
const firing = () => {}
|
||||
// 删除策略
|
||||
const details = (row: any) => {
|
||||
delRelevantLog({ id: row.id }).then((res: any) => {
|
||||
ElMessage({
|
||||
type: 'success',
|
||||
message: res.message
|
||||
})
|
||||
queryRelevantLogPage({}).then((res: any) => {
|
||||
AnalysisData.value = res.data.records
|
||||
})
|
||||
// 暂降源定位
|
||||
const source = () => {
|
||||
queryEventDetailByAssId(form.value).then(res => {
|
||||
AnalysisData.value = res.data.records
|
||||
total.value = res.data.total
|
||||
dialogAnalysis.value = true
|
||||
})
|
||||
}
|
||||
|
||||
// 分页
|
||||
const onTableSizeChange = (val: number) => {
|
||||
form.value.pageSize = val
|
||||
source()
|
||||
}
|
||||
|
||||
const onTableCurrentChange = (val: number) => {
|
||||
form.value.pageNum = val
|
||||
source()
|
||||
}
|
||||
// 数据过滤
|
||||
const formFilter = (row: any) => {
|
||||
if (row.column.property == 'advanceType') {
|
||||
let title = ''
|
||||
type.forEach(item => {
|
||||
if (item.id == row.row.advanceType) {
|
||||
title = item.name
|
||||
} else if (row.row.advanceType == null || row.row.advanceType == '') {
|
||||
title = '/'
|
||||
}
|
||||
})
|
||||
return title
|
||||
} else if (row.column.property == 'advanceReason') {
|
||||
let title = ''
|
||||
reason.forEach(item => {
|
||||
if (item.id == row.row.advanceReason) {
|
||||
title = item.name
|
||||
} else if (row.row.advanceReason == null || row.row.advanceReason == '') {
|
||||
title = '/'
|
||||
}
|
||||
})
|
||||
return title
|
||||
} else {
|
||||
return row.row[row.column.property]
|
||||
}
|
||||
}
|
||||
// 导出
|
||||
const exportEvent = () => {
|
||||
console.log('🚀 ~ exportEvent ~ tableRef.value:', tableRef.value)
|
||||
|
||||
queryEventsAssPage({
|
||||
searchBeginTime: tableStore.table.params.searchBeginTime,
|
||||
searchEndTime: tableStore.table.params.searchEndTime,
|
||||
@@ -153,4 +241,24 @@ const exportEvent = () => {
|
||||
})
|
||||
})
|
||||
}
|
||||
// 导出暂降源定位
|
||||
const positioningexport = () => {
|
||||
positioningtableRef.value.exportData({
|
||||
filename: '暂降源定位', // 文件名字
|
||||
sheetName: 'Sheet1',
|
||||
type: 'xlsx', //导出文件类型 xlsx 和 csv
|
||||
useStyle: true,
|
||||
data: dialogAnalysis.value, // 数据源 // 过滤那个字段导出
|
||||
columnFilterMethod: function (column, $columnIndex) {
|
||||
return !(column.$columnIndex === 0)
|
||||
}
|
||||
})
|
||||
}
|
||||
</script>
|
||||
<style scoped lang="scss">
|
||||
::v-deep .el-pagination__sizes {
|
||||
.el-select {
|
||||
min-width: 128px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -19,5 +19,5 @@
|
||||
},
|
||||
"types": ["element-plus/global", "element-plus/lib/locale"]
|
||||
},
|
||||
"exclude": ["node_modules"]
|
||||
"exclude": ["node_modules"],
|
||||
}
|
||||
|
||||
@@ -1,39 +0,0 @@
|
||||
// vite.config.ts
|
||||
import { defineConfig } from "file:///Users/zhongchunyang/Documents/canneng/admin-sjzx/node_modules/.pnpm/vite@5.0.10_@types+node@20.10.5_sass@1.69.5/node_modules/vite/dist/node/index.js";
|
||||
import vue from "file:///Users/zhongchunyang/Documents/canneng/admin-sjzx/node_modules/.pnpm/@vitejs+plugin-vue@4.5.2_vite@5.0.10_vue@3.3.13/node_modules/@vitejs/plugin-vue/dist/index.mjs";
|
||||
import vueJsx from "file:///Users/zhongchunyang/Documents/canneng/admin-sjzx/node_modules/.pnpm/@vitejs+plugin-vue-jsx@3.1.0_vite@5.0.10_vue@3.3.13/node_modules/@vitejs/plugin-vue-jsx/dist/index.mjs";
|
||||
import path from "path";
|
||||
var __vite_injected_original_dirname = "/Users/zhongchunyang/Documents/canneng/admin-sjzx";
|
||||
var nodeResolve = (dir) => path.resolve(__vite_injected_original_dirname, ".", dir);
|
||||
var vite_config_default = defineConfig({
|
||||
plugins: [vue(), vueJsx()],
|
||||
server: {
|
||||
host: "0.0.0.0",
|
||||
proxy: {
|
||||
"/api": {
|
||||
target: "http://192.168.1.81:10215",
|
||||
//数据中心
|
||||
changeOrigin: true,
|
||||
rewrite: (path2) => path2.replace(/^\/api/, "")
|
||||
//路径重写,把'/api'替换为''
|
||||
},
|
||||
"/tilesApi": {
|
||||
target: "http://192.168.1.81:10215",
|
||||
//数据中心
|
||||
changeOrigin: true,
|
||||
rewrite: (path2) => path2.replace(/^\/tilesApi/, "")
|
||||
//路径重写,把'/api'替换为''
|
||||
}
|
||||
}
|
||||
},
|
||||
resolve: {
|
||||
alias: {
|
||||
"@": nodeResolve("src"),
|
||||
"~": nodeResolve("public")
|
||||
}
|
||||
}
|
||||
});
|
||||
export {
|
||||
vite_config_default as default
|
||||
};
|
||||
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsidml0ZS5jb25maWcudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCIvVXNlcnMvemhvbmdjaHVueWFuZy9Eb2N1bWVudHMvY2FubmVuZy9hZG1pbi1zanp4XCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ZpbGVuYW1lID0gXCIvVXNlcnMvemhvbmdjaHVueWFuZy9Eb2N1bWVudHMvY2FubmVuZy9hZG1pbi1zanp4L3ZpdGUuY29uZmlnLnRzXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ltcG9ydF9tZXRhX3VybCA9IFwiZmlsZTovLy9Vc2Vycy96aG9uZ2NodW55YW5nL0RvY3VtZW50cy9jYW5uZW5nL2FkbWluLXNqengvdml0ZS5jb25maWcudHNcIjtpbXBvcnQgeyBkZWZpbmVDb25maWcgfSBmcm9tICd2aXRlJ1xuaW1wb3J0IHZ1ZSBmcm9tICdAdml0ZWpzL3BsdWdpbi12dWUnXG5pbXBvcnQgdnVlSnN4IGZyb20gJ0B2aXRlanMvcGx1Z2luLXZ1ZS1qc3gnXG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJ1xuXG5jb25zdCBub2RlUmVzb2x2ZSA9IChkaXI6IHN0cmluZykgPT4gcGF0aC5yZXNvbHZlKF9fZGlybmFtZSwgJy4nLCBkaXIpXG4vLyBodHRwczovL3ZpdGVqcy5kZXYvY29uZmlnL1xuZXhwb3J0IGRlZmF1bHQgZGVmaW5lQ29uZmlnKHtcbiAgICBwbHVnaW5zOiBbdnVlKCksIHZ1ZUpzeCgpXSxcbiAgICBzZXJ2ZXI6IHtcbiAgICAgICAgaG9zdDogJzAuMC4wLjAnLFxuICAgICAgICBwcm94eToge1xuICAgICAgICAgICAgJy9hcGknOiB7XG4gICAgICAgICAgICAgICAgdGFyZ2V0OiAnaHR0cDovLzE5Mi4xNjguMS44MToxMDIxNScsIC8vXHU2NTcwXHU2MzZFXHU0RTJEXHU1RkMzXG4gICAgICAgICAgICAgICAgY2hhbmdlT3JpZ2luOiB0cnVlLFxuICAgICAgICAgICAgICAgIHJld3JpdGU6IHBhdGggPT4gcGF0aC5yZXBsYWNlKC9eXFwvYXBpLywgJycpIC8vXHU4REVGXHU1Rjg0XHU5MUNEXHU1MTk5XHVGRjBDXHU2MjhBJy9hcGknXHU2NkZGXHU2MzYyXHU0RTNBJydcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAnL3RpbGVzQXBpJzoge1xuICAgICAgICAgICAgICAgIHRhcmdldDogJ2h0dHA6Ly8xOTIuMTY4LjEuODE6MTAyMTUnLCAvL1x1NjU3MFx1NjM2RVx1NEUyRFx1NUZDM1xuICAgICAgICAgICAgICAgIGNoYW5nZU9yaWdpbjogdHJ1ZSxcbiAgICAgICAgICAgICAgICByZXdyaXRlOiBwYXRoID0+IHBhdGgucmVwbGFjZSgvXlxcL3RpbGVzQXBpLywgJycpIC8vXHU4REVGXHU1Rjg0XHU5MUNEXHU1MTk5XHVGRjBDXHU2MjhBJy9hcGknXHU2NkZGXHU2MzYyXHU0RTNBJydcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0sXG4gICAgcmVzb2x2ZToge1xuICAgICAgICBhbGlhczoge1xuICAgICAgICAgICAgJ0AnOiBub2RlUmVzb2x2ZSgnc3JjJyksXG4gICAgICAgICAgICAnfic6IG5vZGVSZXNvbHZlKCdwdWJsaWMnKVxuICAgICAgICB9XG4gICAgfVxufSlcbiJdLAogICJtYXBwaW5ncyI6ICI7QUFBcVUsU0FBUyxvQkFBb0I7QUFDbFcsT0FBTyxTQUFTO0FBQ2hCLE9BQU8sWUFBWTtBQUNuQixPQUFPLFVBQVU7QUFIakIsSUFBTSxtQ0FBbUM7QUFLekMsSUFBTSxjQUFjLENBQUMsUUFBZ0IsS0FBSyxRQUFRLGtDQUFXLEtBQUssR0FBRztBQUVyRSxJQUFPLHNCQUFRLGFBQWE7QUFBQSxFQUN4QixTQUFTLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQztBQUFBLEVBQ3pCLFFBQVE7QUFBQSxJQUNKLE1BQU07QUFBQSxJQUNOLE9BQU87QUFBQSxNQUNILFFBQVE7QUFBQSxRQUNKLFFBQVE7QUFBQTtBQUFBLFFBQ1IsY0FBYztBQUFBLFFBQ2QsU0FBUyxDQUFBQSxVQUFRQSxNQUFLLFFBQVEsVUFBVSxFQUFFO0FBQUE7QUFBQSxNQUM5QztBQUFBLE1BQ0EsYUFBYTtBQUFBLFFBQ1QsUUFBUTtBQUFBO0FBQUEsUUFDUixjQUFjO0FBQUEsUUFDZCxTQUFTLENBQUFBLFVBQVFBLE1BQUssUUFBUSxlQUFlLEVBQUU7QUFBQTtBQUFBLE1BQ25EO0FBQUEsSUFDSjtBQUFBLEVBQ0o7QUFBQSxFQUNBLFNBQVM7QUFBQSxJQUNMLE9BQU87QUFBQSxNQUNILEtBQUssWUFBWSxLQUFLO0FBQUEsTUFDdEIsS0FBSyxZQUFZLFFBQVE7QUFBQSxJQUM3QjtBQUFBLEVBQ0o7QUFDSixDQUFDOyIsCiAgIm5hbWVzIjogWyJwYXRoIl0KfQo=
|
||||
Reference in New Issue
Block a user