修改测试问题

This commit is contained in:
guanj
2026-01-16 15:54:16 +08:00
parent 5ceb9be9e2
commit c09e6f54dd
15 changed files with 111 additions and 50 deletions

View File

@@ -172,7 +172,7 @@ const setEchart = () => {
tooltip: { tooltip: {
trigger: 'axis', trigger: 'axis',
formatter: function (params: any) { formatter: function (params: any) {
let result = params[0].name let result = params[0].axisValueLabel
params.forEach((item: any) => { params.forEach((item: any) => {
if (item.seriesName === indicatorName) { if (item.seriesName === indicatorName) {
// 对于电能质量指标格式化Y轴值显示 // 对于电能质量指标格式化Y轴值显示

View File

@@ -156,17 +156,21 @@ const tableStore: any = new TableStore({
停运: 'danger', 停运: 'danger',
退运: 'danger', 退运: 'danger',
运行: 'success', 运行: 'success',
在线: 'success',
中断: 'warning', 中断: 'warning',
离线: 'danger',
检修: 'warning', 检修: 'warning',
调试: 'warning', 调试: 'warning',
null: 'info' null: 'info'
}, },
replaceValue: { replaceValue: {
运行: '运行', 运行: '运行',
在线: '在线',
退运: '退运', 退运: '退运',
停运: '停运', 停运: '停运',
中断: '中断', 中断: '中断',
检修: '检修', 检修: '检修',
离线: '离线',
调试: '调试', 调试: '调试',
null: '/' null: '/'
} }
@@ -183,7 +187,10 @@ const tableStore: any = new TableStore({
{ {
title: '电压等级', title: '电压等级',
field: 'volGrade', field: 'volGrade',
minWidth: '80' minWidth: '80',
formatter: (row: any) => {
return row.cellValue==0?'/': row.cellValue+'kV' || '/'
}
}, },
{ {
title: '是否治理', title: '是否治理',

View File

@@ -1,8 +1,8 @@
<template> <template>
<div v-loading="loading" style="position: relative; height: 100%"> <div v-loading="loading" style="position: relative; height: 100%">
<div id="boxr"> <div id="boxr">
<div id="rmsp" :style="`height:${vh};overflow: hidden;`"> <div id="rmsp" :style="`height:${vh};overflow: hidden;min-height: 200px;`">
<div class="bx" id="rms"></div> <div class="bx" id="rms" style="min-height: 200px;"></div>
</div> </div>
</div> </div>
</div> </div>
@@ -594,10 +594,10 @@ const initWave = (
for (let step = waveDatas.length - 1; step > 0 && step < waveDatas.length; step--) { for (let step = waveDatas.length - 1; step > 0 && step < waveDatas.length; step--) {
const rmsId = 'rms' + step const rmsId = 'rms' + step
const newDivRms = $( const newDivRms = $(
`<div style="height:${vh.value};overflow: hidden;"><div class='bx' id='${rmsId}'></div></div>` `<div style="height:${vh.value};overflow: hidden;min-height: 200px;"><div class='bx' id='${rmsId}'></div></div>`
) )
newDivRms.insertAfter($('#rmsp')) newDivRms.insertAfter($('#rmsp'))
$(`#${rmsId}`).css('height', picHeight).css('width', vw.value) $(`#${rmsId}`).css('height', picHeight).css('width', vw.value).css('min-height', '200px')
} }
} else { } else {
titleText = `变电站名称:${subName.value} 监测点名称:${lineName.value} 发生时刻:${time} 暂降(骤升)幅值:${( titleText = `变电站名称:${subName.value} 监测点名称:${lineName.value} 发生时刻:${time} 暂降(骤升)幅值:${(

View File

@@ -1,8 +1,8 @@
<template> <template>
<div v-loading="loading" class="boxbx" style="position: relative; height: 100%"> <div v-loading="loading" class="boxbx" style="position: relative; height: 100%">
<div id="boxsj"> <div id="boxsj">
<div id="shushi" :style="`height:${vh};overflow: hidden;`"> <div id="shushi" :style="`height:${vh};overflow: hidden;min-height: 200px;`">
<div class="bx" id="wave"></div> <div class="bx" id="wave" style="min-height: 200px;"></div>
</div> </div>
</div> </div>
</div> </div>
@@ -327,11 +327,11 @@ const initWave = (
for (let step = waveDatas.length - 1; step > 0 && step < waveDatas.length; step--) { for (let step = waveDatas.length - 1; step > 0 && step < waveDatas.length; step--) {
const waveId = 'wave' + step const waveId = 'wave' + step
const newDivShunshi = $(`<div style="height:${vh.value};overflow: hidden;"> const newDivShunshi = $(`<div style="height:${vh.value};overflow: hidden;min-height: 200px;">
<div class='bx1' id='${waveId}'></div> <div class='bx1' id='${waveId}'></div>
</div>`) </div>`)
newDivShunshi.insertAfter($('#shushi')) newDivShunshi.insertAfter($('#shushi'))
$(`#${waveId}`).css('height', picHeight).css('width', vw.value) $(`#${waveId}`).css('height', picHeight).css('width', vw.value).css('min-height', '200px')
} }
} else { } else {
titleText = `变电站名称:${subName.value} 监测点名称:${lineName.value} 发生时刻:${time} 暂降(骤升)幅值:${( titleText = `变电站名称:${subName.value} 监测点名称:${lineName.value} 发生时刻:${time} 暂降(骤升)幅值:${(
@@ -591,7 +591,7 @@ const initWave = (
const drawPics = ( const drawPics = (
waveDataTemp: WaveData, waveDataTemp: WaveData,
picHeight: string, picHeight: any,
step: number, step: number,
show: boolean, show: boolean,
myChartes1: echarts.ECharts, myChartes1: echarts.ECharts,

View File

@@ -91,6 +91,7 @@
:name="item.id" :name="item.id"
v-for="(item, index) in deviceData.dataSetList" v-for="(item, index) in deviceData.dataSetList"
:key="index" :key="index"
:disabled="tableLoading"
> >
<template #label> <template #label>
<span class="custom-tabs-label"> <span class="custom-tabs-label">

View File

@@ -380,7 +380,7 @@ const changeDataType = () => {
let data2 = dataType.value.includes(1) let data2 = dataType.value.includes(1)
? list.value[activeTab.value]?.modOutList.map(k => (k.data == 3.14159 ? 0 : k.data)) ? list.value[activeTab.value]?.modOutList.map(k => (k.data == 3.14159 ? 0 : k.data))
: [0] : [0]
let [modOuMin, modOuMax] = yMethod([...data1, ...data2]) let [modOuMin, modOuMax] = yMethod([...data1||[0], ...data2||[0]])
console.log("🚀 ~ changeDataType ~ modOuMin:", modOuMin,modOuMax) console.log("🚀 ~ changeDataType ~ modOuMin:", modOuMin,modOuMax)
echartsData.value.yAxis[0] = { echartsData.value.yAxis[0] = {

View File

@@ -20,12 +20,13 @@
<el-button @click="handleBack" :icon="Back">返回</el-button> <el-button @click="handleBack" :icon="Back">返回</el-button>
</div> </div>
<!-- v-loading="loading" -->
<el-tabs <el-tabs
class="home_body" class="home_body"
type="border-card" type="border-card"
v-model.trim="activeName1" v-model.trim="activeName1"
@tab-click="handleClick" @tab-click="handleClick"
v-loading="loading"
> >
<el-tab-pane label="瞬时波形" name="ssbx" :style="'height:' + bxecharts + ';overflow-y: auto;'"> <el-tab-pane label="瞬时波形" name="ssbx" :style="'height:' + bxecharts + ';overflow-y: auto;'">
<shushiboxi <shushiboxi
@@ -122,7 +123,7 @@ const changeView = () => {
}, 500) }, 500)
setTimeout(() => { setTimeout(() => {
loading.value = false loading.value = false
}, 1500) }, 1000)
} }
const bxecharts: any = ref(mainHeight(190).height as any) const bxecharts: any = ref(mainHeight(190).height as any)
@@ -133,7 +134,7 @@ const handleClick = (tab: any, event: any) => {
}, 500) }, 500)
setTimeout(() => { setTimeout(() => {
loading.value = false loading.value = false
}, 1500) }, 1000)
} }
const handleBack = () => { const handleBack = () => {
emit('handleHideCharts') emit('handleHideCharts')

View File

@@ -72,7 +72,7 @@ const tableStore: any = new TableStore({
title: '持续时间(s)', title: '持续时间(s)',
minWidth: 110, minWidth: 110,
formatter: (row: any) => { formatter: (row: any) => {
console.log('🚀 ~ row.cellValue:', row.cellValue) // console.log('🚀 ~ row.cellValue:', row.cellValue)
return row.cellValue ? (row.cellValue - 0).toFixed(2) : '/' return row.cellValue ? (row.cellValue - 0).toFixed(2) : '/'
}, },
@@ -136,7 +136,8 @@ const tableStore: any = new TableStore({
nextTick(() => { nextTick(() => {
waveFormAnalysisRef.value && waveFormAnalysisRef.value.getWpData(wp.value, boxoList.value) waveFormAnalysisRef.value && waveFormAnalysisRef.value.getWpData(wp.value, boxoList.value)
waveFormAnalysisRef.value && waveFormAnalysisRef.value.setHeight(200, 345) // waveFormAnalysisRef.value && waveFormAnalysisRef.value.setHeight(200, 345)
waveFormAnalysisRef.value && waveFormAnalysisRef.value.setHeight(350, 345)
}) })
} }
}, },

View File

@@ -1,10 +1,14 @@
<template> <template>
<div class="default-main"> <div class="default-main">
<TableHeader datePicker> <TableHeader datePicker showExport>
<template v-slot:select> <template v-slot:select>
<el-form-item label="设备名称"> <el-form-item label="设备名称">
<el-input maxlength="32" show-word-limit v-model.trim="tableStore.table.params.searchValue" <el-input
placeholder="请输入设备名称" /> maxlength="32"
show-word-limit
v-model.trim="tableStore.table.params.searchValue"
placeholder="请输入设备名称"
/>
</el-form-item> </el-form-item>
</template> </template>
</TableHeader> </TableHeader>
@@ -25,7 +29,7 @@ const tableStore = new TableStore({
url: '/cs-device-boot/process/queryPage', url: '/cs-device-boot/process/queryPage',
method: 'POST', method: 'POST',
column: [ column: [
{ {
field: 'index', field: 'index',
title: '序号', title: '序号',
width: '80', width: '80',
@@ -36,22 +40,41 @@ const tableStore = new TableStore({
{ title: '设备名称', field: 'devName', align: 'center' }, { title: '设备名称', field: 'devName', align: 'center' },
{ title: '操作用户', field: 'operatorName', align: 'center' }, { title: '操作用户', field: 'operatorName', align: 'center' },
{ {
title: '操作内容', field: 'process', align: 'center', formatter: (row: any) => { title: '操作内容',
return row.cellValue == 1 ? '设备登记' : row.cellValue == 2 ? '功能调试' : row.cellValue == 3 ? '出厂调试' : row.cellValue == 4 ? '设备投运' : '' field: 'process',
align: 'center',
formatter: (row: any) => {
return row.cellValue == 1
? '设备登记'
: row.cellValue == 2
? '功能调试'
: row.cellValue == 3
? '出厂调试'
: row.cellValue == 4
? '设备投运'
: ''
} }
}, },
{ title: '开始时间', field: 'startTime', align: 'center', sortable: true }, { title: '开始时间', field: 'startTime', align: 'center', sortable: true },
{ title: '结束时间', field: 'endTime', align: 'center', sortable: true } {
title: '结束时间',
field: 'endTime',
align: 'center',
sortable: true,
formatter: (row: any) => {
return row.cellValue || '/'
}
}
], ],
loadCallback: () => { loadCallback: () => {
tableStore.table.data.forEach((item: any) => { tableStore.table.data.forEach((item: any) => {
item.result = item.result === 1 ? '成功' : '失败' item.result = item.result === 1 ? '成功' : '失败'
for (let key in item) { // for (let key in item) {
if (typeof item[key] !== 'number') { // if (typeof item[key] !== 'number') {
item[key] = item[key] || '/' // item[key] = item[key] || '/'
} // }
} // }
}) })
} }
}) })
@@ -65,5 +88,5 @@ onMounted(() => {
tableStore.index() tableStore.index()
}) })
const addMenu = () => { } const addMenu = () => {}
</script> </script>

View File

@@ -1,6 +1,6 @@
<template> <template>
<div class="default-main"> <div class="default-main">
<TableHeader datePicker></TableHeader> <TableHeader datePicker showExport></TableHeader>
<Table ref="tableRef" :isGroup="true" /> <Table ref="tableRef" :isGroup="true" />
</div> </div>
</template> </template>
@@ -17,7 +17,8 @@ defineOptions({
const tableStore = new TableStore({ const tableStore = new TableStore({
url: '/cs-device-boot/cslog/queryLog', url: '/cs-device-boot/cslog/queryLog',
method: 'POST', method: 'POST',
column: [ { column: [
{
field: 'index', field: 'index',
title: '序号', title: '序号',
width: '80', width: '80',
@@ -29,17 +30,41 @@ const tableStore = new TableStore({
{ title: '操作描述', field: 'operate', align: 'center', minWidth: '300' }, { title: '操作描述', field: 'operate', align: 'center', minWidth: '300' },
{ title: '用户名称', field: 'userName', align: 'center', minWidth: '130' }, { title: '用户名称', field: 'userName', align: 'center', minWidth: '130' },
{ title: '更新时间', field: 'updateTime', align: 'center', sortable: true, minWidth: '150' }, { title: '更新时间', field: 'updateTime', align: 'center', sortable: true, minWidth: '150' },
{ title: '失败原因', field: 'failReason', align: 'center', minWidth: '200' }, {
{ title: '状态', field: 'result', align: 'center', minWidth: '100' }, title: '失败原因',
{ title: '登录名', field: 'loginName', align: 'center', minWidth: '120' } field: 'failReason',
align: 'center',
minWidth: '200',
formatter: (row: any) => {
return row.cellValue || '/'
}
},
{
title: '状态',
field: 'result',
align: 'center',
minWidth: '100',
formatter: (row: any) => {
return row.cellValue == 1 ? '成功' : '失败'
}
},
{
title: '登录名',
field: 'loginName',
align: 'center',
minWidth: '120',
formatter: (row: any) => {
return row.cellValue || '/'
}
}
], ],
loadCallback: () => { loadCallback: () => {
tableStore.table.data.forEach((item: any) => { // tableStore.table.data.forEach((item: any) => {
item.failReason = item.failReason || '/' // item.failReason = item.failReason || '/'
item.result = item.result === 1 ? '成功' : '失败' // item.result = item.result === 1 ? '成功' : '失败'
item.loginName = item.loginName || '/' // item.loginName = item.loginName || '/'
}) // })
} }
}) })

View File

@@ -1,6 +1,6 @@
<template> <template>
<div class="default-main"> <div class="default-main">
<TableHeader ref="tableHeaderRef"> <TableHeader ref="tableHeaderRef" :showReset="false" showExport>
<template #select> <template #select>
<el-form-item label="装置型号:"> <el-form-item label="装置型号:">
<el-select v-model.trim="tableStore.table.params.devType" placeholder="请选择装置型号" clearable> <el-select v-model.trim="tableStore.table.params.devType" placeholder="请选择装置型号" clearable>

View File

@@ -1,7 +1,7 @@
<template> <template>
<el-dialog class="cn-operate-dialog" v-model.trim="dialogVisible" title="编辑拓扑图信息"> <el-dialog class="cn-operate-dialog" v-model.trim="dialogVisible" title="编辑拓扑图信息">
<el-form :label-width="140"> <el-form :label-width="140">
<el-form-item label="拓扑图:" style="height: auto !important"> <el-form-item label="拓扑图:" style="height: auto !important" class="form-one">
<div class="gplot-content"> <div class="gplot-content">
<VueDraggableResizable class-name-draggable="gplot-content-item" <VueDraggableResizable class-name-draggable="gplot-content-item"
class-name-active="gplot-content-item-active" :active="editorIndex == index" :resizable="false" class-name-active="gplot-content-item-active" :active="editorIndex == index" :resizable="false"

View File

@@ -1,6 +1,6 @@
<template> <template>
<div class="view" style="height: 100%"> <div class="view">
<TableHeader datePicker ref="TableHeaderRef" :showReset="false"> <TableHeader datePicker ref="TableHeaderRef" :showReset="false" showExport>
<template #operation> <template #operation>
<el-button type="primary" :icon="Setting" @click="recall1">事件补召</el-button> <el-button type="primary" :icon="Setting" @click="recall1">事件补召</el-button>
<el-button type="primary" :icon="Setting" @click="recall2">波形补召</el-button> <el-button type="primary" :icon="Setting" @click="recall2">波形补召</el-button>
@@ -29,8 +29,9 @@ const props = defineProps({
const tableStore: any = new TableStore({ const tableStore: any = new TableStore({
url: '/cs-device-boot/csTerminalReply/bzLogs', url: '/cs-device-boot/csTerminalReply/bzLogs',
publicHeight: 10, publicHeight: 80,
method: 'POST', method: 'POST',
exportName: '暂态补召',
column: [ column: [
{ {
title: '序号', title: '序号',

View File

@@ -1,6 +1,6 @@
<template> <template>
<div class="view" style="height: 100%"> <div class="view">
<TableHeader datePicker ref="headerRef"> <TableHeader datePicker ref="headerRef" :showReset="false" showExport>
<template v-slot:operation> <template v-slot:operation>
<el-button type="primary" :icon="Setting" @click="exportTab">补召</el-button> <el-button type="primary" :icon="Setting" @click="exportTab">补召</el-button>
</template> </template>
@@ -29,8 +29,9 @@ const headerRef = ref()
const tableStore: any = new TableStore({ const tableStore: any = new TableStore({
url: '/cs-device-boot/portableOfflLog/queryMainLogPage', url: '/cs-device-boot/portableOfflLog/queryMainLogPage',
publicHeight: 0, publicHeight: 80,
method: 'POST', method: 'POST',
exportName: '稳态补召',
column: [ column: [
{ {
title: '序号', title: '序号',
@@ -69,7 +70,8 @@ const tableStore: any = new TableStore({
} }
}, },
{ {
title: '操作', fixed: 'right', title: '操作',
fixed: 'right',
width: '100', width: '100',
render: 'buttons', render: 'buttons',
buttons: [ buttons: [

View File

@@ -1,6 +1,6 @@
<template> <template>
<div class="default-main"> <div class="default-main">
<TableHeader :showReset="false"> <TableHeader :showReset="false" showExport>
<template #operation> <template #operation>
<el-button :icon="Plus" type="primary" @click="addMenu" class="ml10">新增</el-button> <el-button :icon="Plus" type="primary" @click="addMenu" class="ml10">新增</el-button>
</template> </template>