修改测试问题
This commit is contained in:
@@ -1,7 +1,14 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<!--F47曲线 -->
|
<!--F47曲线 -->
|
||||||
<TableHeader ref="TableHeaderRef" :showReset="false" :timeKeyList="prop.timeKey" @selectChange="selectChange" datePicker v-if="fullscreen"></TableHeader>
|
<TableHeader
|
||||||
|
ref="TableHeaderRef"
|
||||||
|
:showReset="false"
|
||||||
|
:timeKeyList="prop.timeKey"
|
||||||
|
@selectChange="selectChange"
|
||||||
|
datePicker
|
||||||
|
v-if="fullscreen"
|
||||||
|
></TableHeader>
|
||||||
<el-descriptions class="mt2" direction="vertical" :column="4" border>
|
<el-descriptions class="mt2" direction="vertical" :column="4" border>
|
||||||
<el-descriptions-item align="center" label="名称">{{ data.name }}</el-descriptions-item>
|
<el-descriptions-item align="center" label="名称">{{ data.name }}</el-descriptions-item>
|
||||||
<el-descriptions-item align="center" label="事件总数">{{ data.gs }}</el-descriptions-item>
|
<el-descriptions-item align="center" label="事件总数">{{ data.gs }}</el-descriptions-item>
|
||||||
@@ -44,7 +51,7 @@ const prop = defineProps({
|
|||||||
h: { type: [String, Number] },
|
h: { type: [String, Number] },
|
||||||
width: { type: [String, Number] },
|
width: { type: [String, Number] },
|
||||||
height: { type: [String, Number] },
|
height: { type: [String, Number] },
|
||||||
timeKey: { type: Array as () => string[] },
|
timeKey: { type: Array as () => string[] },
|
||||||
timeValue: { type: Object },
|
timeValue: { type: Object },
|
||||||
interval: { type: Number }
|
interval: { type: Number }
|
||||||
})
|
})
|
||||||
@@ -162,11 +169,16 @@ const tableStore: any = new TableStore({
|
|||||||
yAxis: [
|
yAxis: [
|
||||||
{
|
{
|
||||||
type: 'value',
|
type: 'value',
|
||||||
max: function (value: any) {
|
// max: function (value: any) {
|
||||||
return value.max + 20
|
// return value.max + 20
|
||||||
|
// },
|
||||||
|
max: function (value) {
|
||||||
|
// 先取原始最大值+20,再向上取整到最近的10的倍数,确保刻度够用且规整
|
||||||
|
return Math.ceil((value.max + 20) / 10) * 10
|
||||||
},
|
},
|
||||||
splitNumber: 10,
|
// splitNumber: 10,
|
||||||
minInterval: 0.1,
|
// interval: 10,
|
||||||
|
// minInterval: 10,
|
||||||
name: '%'
|
name: '%'
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@@ -449,7 +461,7 @@ const handleTolerableEventClick = async (row: any) => {
|
|||||||
// waveFormAnalysisRef.value.setHeight(999, 130, 1.6666666)
|
// waveFormAnalysisRef.value.setHeight(999, 130, 1.6666666)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
const messageInstance = ElMessage.info(`正在加载,请稍等...`)
|
const messageInstance = ElMessage.info(`正在加载,请稍等...`)
|
||||||
await analyseWave(row.value[3]) //eventId
|
await analyseWave(row.value[3]) //eventId
|
||||||
.then(res => {
|
.then(res => {
|
||||||
row.loading1 = false
|
row.loading1 = false
|
||||||
@@ -474,7 +486,7 @@ const handleTolerableEventClick = async (row: any) => {
|
|||||||
})
|
})
|
||||||
|
|
||||||
nextTick(() => {
|
nextTick(() => {
|
||||||
waveFormAnalysisRef.value && waveFormAnalysisRef.value.setHeight(999, 130, 1.6666666)
|
waveFormAnalysisRef.value && waveFormAnalysisRef.value.setHeight(999, 130, 1.6666666)
|
||||||
waveFormAnalysisRef.value && waveFormAnalysisRef.value.getWpData(wp.value, boxoList.value, true)
|
waveFormAnalysisRef.value && waveFormAnalysisRef.value.getWpData(wp.value, boxoList.value, true)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -66,7 +66,7 @@
|
|||||||
<el-option
|
<el-option
|
||||||
v-for="vv in item.countOptions"
|
v-for="vv in item.countOptions"
|
||||||
:key="vv"
|
:key="vv"
|
||||||
:label="vv"
|
:label="item.name.includes('间谐波') ? vv - 0.5 : vv"
|
||||||
:value="vv"
|
:value="vv"
|
||||||
></el-option>
|
></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
|
|||||||
@@ -66,7 +66,7 @@
|
|||||||
<el-option
|
<el-option
|
||||||
v-for="vv in item.countOptions"
|
v-for="vv in item.countOptions"
|
||||||
:key="vv"
|
:key="vv"
|
||||||
:label="vv"
|
:label="item.name.includes('间谐波') ? vv - 0.5 : vv"
|
||||||
:value="vv"
|
:value="vv"
|
||||||
></el-option>
|
></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
|
|||||||
@@ -66,7 +66,7 @@
|
|||||||
<el-option
|
<el-option
|
||||||
v-for="vv in item.countOptions"
|
v-for="vv in item.countOptions"
|
||||||
:key="vv"
|
:key="vv"
|
||||||
:label="vv"
|
:label="item.name.includes('间谐波') ? vv - 0.5 : vv"
|
||||||
:value="vv"
|
:value="vv"
|
||||||
></el-option>
|
></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
|
|||||||
@@ -214,8 +214,8 @@ onMounted(() => {
|
|||||||
overflow-x: auto;
|
overflow-x: auto;
|
||||||
overflow-y: hidden;
|
overflow-y: hidden;
|
||||||
margin-right: var(--ba-main-space);
|
margin-right: var(--ba-main-space);
|
||||||
scrollbar-width: none;
|
// scrollbar-width: none;
|
||||||
|
// overflow-x: auto;
|
||||||
&::-webkit-scrollbar {
|
&::-webkit-scrollbar {
|
||||||
height: 5px;
|
height: 5px;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ router.beforeEach((to, from, next) => {
|
|||||||
const token = adminInfo.getToken()
|
const token = adminInfo.getToken()
|
||||||
// token 不存在
|
// token 不存在
|
||||||
if (token === null || token === '') {
|
if (token === null || token === '') {
|
||||||
ElMessage.error('您还没有登录,请先登录')
|
// ElMessage.error('您还没有登录,请先登录')
|
||||||
next('/login')
|
next('/login')
|
||||||
} else {
|
} else {
|
||||||
next()
|
next()
|
||||||
|
|||||||
@@ -44,7 +44,8 @@ const calculateValue = (o: number, value: number, num: number, isMin: boolean) =
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (base === 0.1) {
|
if (base === 0.1) {
|
||||||
return parseFloat(calculatedValue.toFixed(1))
|
// return parseFloat(calculatedValue.toFixed(1))
|
||||||
|
return Math.ceil(calculatedValue * 10) / 10
|
||||||
} else if (isMin) {
|
} else if (isMin) {
|
||||||
return Math.floor(calculatedValue / base) * base
|
return Math.floor(calculatedValue / base) * base
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<div ref="refheader" v-if="!isWaveCharts">
|
<div ref="refheader" v-show="!isWaveCharts" style="width: 100%;">
|
||||||
<TableHeader datePicker showExport>
|
<TableHeader datePicker showExport>
|
||||||
<template v-slot:select>
|
<template v-slot:select>
|
||||||
<el-form-item label="数据来源">
|
<el-form-item label="数据来源">
|
||||||
|
|||||||
@@ -7,15 +7,15 @@
|
|||||||
<el-tab-pane label="前置告警" name="2">
|
<el-tab-pane label="前置告警" name="2">
|
||||||
<Front v-if="activeName == '2'" :deviceTree="deviceTree" :key="key" />
|
<Front v-if="activeName == '2'" :deviceTree="deviceTree" :key="key" />
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
<el-tab-pane label="稳态越限告警" name="3">
|
<!-- <el-tab-pane label="稳态越限告警" name="3">
|
||||||
<Steady v-if="activeName == '3'" :deviceTree="deviceTree" :key="key" />
|
<Steady v-if="activeName == '3'" :deviceTree="deviceTree" :key="key" />
|
||||||
</el-tab-pane>
|
</el-tab-pane> -->
|
||||||
<el-tab-pane label="暂态事件" name="4">
|
<el-tab-pane label="暂态事件" name="4">
|
||||||
<Transient v-if="activeName == '4'" :deviceTree="deviceTree" :key="key" />
|
<Transient v-if="activeName == '4'" :deviceTree="deviceTree" :key="key" />
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
<el-tab-pane label="异常事件" name="5">
|
<!-- <el-tab-pane label="异常事件" name="5">
|
||||||
<Abnormal v-if="activeName == '5'" :deviceTree="deviceTree" :key="key" />
|
<Abnormal v-if="activeName == '5'" :deviceTree="deviceTree" :key="key" />
|
||||||
</el-tab-pane>
|
</el-tab-pane> -->
|
||||||
</el-tabs>
|
</el-tabs>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@@ -31,7 +31,7 @@ defineOptions({
|
|||||||
name: 'govern/alarm/index'
|
name: 'govern/alarm/index'
|
||||||
})
|
})
|
||||||
const deviceTree = ref([])
|
const deviceTree = ref([])
|
||||||
const activeName = ref('1')
|
const activeName = ref('0')
|
||||||
const key = ref(0)
|
const key = ref(0)
|
||||||
getDeviceTree().then(res => {
|
getDeviceTree().then(res => {
|
||||||
// res.data.forEach((item: any) => {
|
// res.data.forEach((item: any) => {
|
||||||
@@ -49,6 +49,7 @@ getDeviceTree().then(res => {
|
|||||||
// })
|
// })
|
||||||
deviceTree.value = res.data
|
deviceTree.value = res.data
|
||||||
key.value += 1
|
key.value += 1
|
||||||
|
activeName.value = '1'
|
||||||
})
|
})
|
||||||
onMounted(() => { })
|
onMounted(() => { })
|
||||||
|
|
||||||
|
|||||||
@@ -781,7 +781,7 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item
|
<el-form-item
|
||||||
class="form-item"
|
class="form-item"
|
||||||
label="设备容量(MW):"
|
label="设备容量(MVA):"
|
||||||
:prop="'lineInfoList[' + lIndex + '].devCapacity'"
|
:prop="'lineInfoList[' + lIndex + '].devCapacity'"
|
||||||
:rules="{ required: true, message: '请输入设备容量', trigger: 'blur' }"
|
:rules="{ required: true, message: '请输入设备容量', trigger: 'blur' }"
|
||||||
>
|
>
|
||||||
@@ -803,7 +803,7 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item
|
<el-form-item
|
||||||
class="form-item"
|
class="form-item"
|
||||||
label="协议容量(MW):"
|
label="协议容量(MVA):"
|
||||||
:prop="'lineInfoList[' + lIndex + '].protocolCapacity'"
|
:prop="'lineInfoList[' + lIndex + '].protocolCapacity'"
|
||||||
:rules="{ required: true, message: '请输入协议容量', trigger: 'blur' }"
|
:rules="{ required: true, message: '请输入协议容量', trigger: 'blur' }"
|
||||||
>
|
>
|
||||||
@@ -820,7 +820,7 @@
|
|||||||
pageStatus == 2)
|
pageStatus == 2)
|
||||||
)
|
)
|
||||||
"
|
"
|
||||||
placeholder="请输入协议容量(MW)"
|
placeholder="请输入协议容量(MVA)"
|
||||||
></el-input>
|
></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
|
|||||||
@@ -4,8 +4,8 @@
|
|||||||
<div class="harmonic_select" v-if="!loading">
|
<div class="harmonic_select" v-if="!loading">
|
||||||
<el-form :model="searchForm" id="history_select">
|
<el-form :model="searchForm" id="history_select">
|
||||||
<el-form-item label="稳态指标">
|
<el-form-item label="稳态指标">
|
||||||
<el-select multiple collapse-tags collapse-tags-tooltip v-model.trim="searchForm.index"
|
<el-select multiple collapse-tags collapse-tags-tooltip filterable v-model.trim="searchForm.index"
|
||||||
placeholder="请选择统计指标" :multiple-limit="3" value-key="id">
|
placeholder="请选择统计指标" :multiple-limit="3" value-key="id">
|
||||||
<el-option v-for="(item, index) in indexOptions" :label="item.name" :key="index"
|
<el-option v-for="(item, index) in indexOptions" :label="item.name" :key="index"
|
||||||
:value="item"></el-option>
|
:value="item"></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
@@ -347,7 +347,7 @@ const init = () => {
|
|||||||
// }
|
// }
|
||||||
// },
|
// },
|
||||||
boundaryGap: false,
|
boundaryGap: false,
|
||||||
data: xAixsTimeList.value
|
// data: xAixsTimeList.value
|
||||||
},
|
},
|
||||||
yAxis: {
|
yAxis: {
|
||||||
// type: 'value',
|
// type: 'value',
|
||||||
|
|||||||
@@ -1,7 +1,9 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="view">
|
<div class="view">
|
||||||
<TableHeader datePicker ref="headerRef" v-if="!isWaveCharts" :showReset="false"></TableHeader>
|
<div v-show="!isWaveCharts">
|
||||||
<Table ref="tableRef" v-if="!isWaveCharts" />
|
<TableHeader datePicker ref="headerRef" :showReset="false"></TableHeader>
|
||||||
|
<Table ref="tableRef" />
|
||||||
|
</div>
|
||||||
<waveFormAnalysis
|
<waveFormAnalysis
|
||||||
v-loading="loading"
|
v-loading="loading"
|
||||||
v-if="isWaveCharts"
|
v-if="isWaveCharts"
|
||||||
@@ -62,8 +64,7 @@ const tableStore: any = new TableStore({
|
|||||||
title: '相别',
|
title: '相别',
|
||||||
minWidth: 80,
|
minWidth: 80,
|
||||||
formatter: (row: any) => {
|
formatter: (row: any) => {
|
||||||
row.cellValue = row.cellValue ? row.cellValue : '/'
|
return row.cellValue || '/'
|
||||||
return row.cellValue
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -71,9 +72,9 @@ 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)
|
||||||
row.cellValue = row.cellValue ? row.cellValue.toFixed(2) : '/'
|
|
||||||
return row.cellValue
|
return row.cellValue ? (row.cellValue - 0).toFixed(2) : '/'
|
||||||
},
|
},
|
||||||
sortable: true
|
sortable: true
|
||||||
},
|
},
|
||||||
@@ -91,7 +92,8 @@ const tableStore: any = new TableStore({
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '操作', fixed: 'right',
|
title: '操作',
|
||||||
|
fixed: 'right',
|
||||||
width: 180,
|
width: 180,
|
||||||
render: 'buttons',
|
render: 'buttons',
|
||||||
|
|
||||||
@@ -196,7 +198,6 @@ const tableStore: any = new TableStore({
|
|||||||
tableStore.table.params.devId = tableParams.value.devId
|
tableStore.table.params.devId = tableParams.value.devId
|
||||||
tableStore.table.params.lineId = tableParams.value.lineId
|
tableStore.table.params.lineId = tableParams.value.lineId
|
||||||
tableStore.table.params.list = tableParams.value.list
|
tableStore.table.params.list = tableParams.value.list
|
||||||
console.log('🚀 ~ ableParams.value:', tableParams.value)
|
|
||||||
tableStore.table.params.type = 3
|
tableStore.table.params.type = 3
|
||||||
},
|
},
|
||||||
loadCallback: () => {}
|
loadCallback: () => {}
|
||||||
|
|||||||
@@ -69,8 +69,8 @@
|
|||||||
<br />
|
<br />
|
||||||
<vxe-table border height="" :data="realList" :column-config="{ resizable: true, tooltip: true }"
|
<vxe-table border height="" :data="realList" :column-config="{ resizable: true, tooltip: true }"
|
||||||
:tooltip-config="{ enterable: true }">
|
:tooltip-config="{ enterable: true }">
|
||||||
<vxe-column align="center" field="freqDev" width="140" title="频率(Hz)"></vxe-column>
|
<vxe-column align="center" field="freq" width="140" title="频率(Hz)"></vxe-column>
|
||||||
<vxe-column align="center" field="freq" width="120" title="频率偏差(Hz)"></vxe-column>
|
<vxe-column align="center" field="freqDev" width="120" title="频率偏差(Hz)"></vxe-column>
|
||||||
<vxe-column align="center" width="180" field="vUnbalance" title="电压不平衡度(%)"></vxe-column>
|
<vxe-column align="center" width="180" field="vUnbalance" title="电压不平衡度(%)"></vxe-column>
|
||||||
<vxe-column align="center" width="180" field="iUnbalance" title="电流不平衡度(%)"></vxe-column>
|
<vxe-column align="center" width="180" field="iUnbalance" title="电流不平衡度(%)"></vxe-column>
|
||||||
<vxe-colgroup align="center" :title="`基波电压幅值(${voltageUnit})`">
|
<vxe-colgroup align="center" :title="`基波电压幅值(${voltageUnit})`">
|
||||||
@@ -128,13 +128,13 @@
|
|||||||
<vxe-column align="center" field="sC" title="C相"></vxe-column>
|
<vxe-column align="center" field="sC" title="C相"></vxe-column>
|
||||||
<vxe-column align="center" field="sTot" title="总"></vxe-column>
|
<vxe-column align="center" field="sTot" title="总"></vxe-column>
|
||||||
</vxe-colgroup>
|
</vxe-colgroup>
|
||||||
<vxe-colgroup align="center" title="功率因数">
|
<vxe-colgroup align="center" title="视在功率因数">
|
||||||
<vxe-column align="center" field="pfA" title="A相"></vxe-column>
|
<vxe-column align="center" field="pfA" title="A相"></vxe-column>
|
||||||
<vxe-column align="center" field="pfB" title="B相"></vxe-column>
|
<vxe-column align="center" field="pfB" title="B相"></vxe-column>
|
||||||
<vxe-column align="center" field="pfC" title="C相"></vxe-column>
|
<vxe-column align="center" field="pfC" title="C相"></vxe-column>
|
||||||
<vxe-column align="center" field="pfTot" title="总"></vxe-column>
|
<vxe-column align="center" field="pfTot" title="总"></vxe-column>
|
||||||
</vxe-colgroup>
|
</vxe-colgroup>
|
||||||
<vxe-colgroup align="center" title="基波功率因数">
|
<vxe-colgroup align="center" title="位移功率因数">
|
||||||
<vxe-column align="center" field="dpfA" title="A相"></vxe-column>
|
<vxe-column align="center" field="dpfA" title="A相"></vxe-column>
|
||||||
<vxe-column align="center" field="dpfB" title="B相"></vxe-column>
|
<vxe-column align="center" field="dpfB" title="B相"></vxe-column>
|
||||||
<vxe-column align="center" field="dpfC" title="C相"></vxe-column>
|
<vxe-column align="center" field="dpfC" title="C相"></vxe-column>
|
||||||
|
|||||||
@@ -12,6 +12,7 @@
|
|||||||
multiple
|
multiple
|
||||||
:multiple-limit="3"
|
:multiple-limit="3"
|
||||||
collapse-tags
|
collapse-tags
|
||||||
|
filterable
|
||||||
collapse-tags-tooltip
|
collapse-tags-tooltip
|
||||||
v-model="searchForm.index"
|
v-model="searchForm.index"
|
||||||
placeholder="请选择统计指标"
|
placeholder="请选择统计指标"
|
||||||
@@ -67,7 +68,7 @@
|
|||||||
<el-option
|
<el-option
|
||||||
v-for="vv in item.countOptions"
|
v-for="vv in item.countOptions"
|
||||||
:key="vv"
|
:key="vv"
|
||||||
:label="vv"
|
:label="item.name.includes('间谐波') ? vv - 0.5 : vv"
|
||||||
:value="vv"
|
:value="vv"
|
||||||
></el-option>
|
></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
@@ -157,7 +158,13 @@ const countOptions: any = ref([])
|
|||||||
// Harmonic_Type
|
// Harmonic_Type
|
||||||
// portable-harmonic
|
// portable-harmonic
|
||||||
const legendDictList: any = ref([])
|
const legendDictList: any = ref([])
|
||||||
queryByCode(props?.TrendList?.lineType == 0 ? 'apf-harmonic' : 'portable-harmonic').then(res => {
|
queryByCode(
|
||||||
|
props?.TrendList?.lineType == 0
|
||||||
|
? 'apf-harmonic'
|
||||||
|
: props?.TrendList?.conType == 1
|
||||||
|
? 'portable-harmonic-jx'
|
||||||
|
: 'portable-harmonic'
|
||||||
|
).then(res => {
|
||||||
queryCsDictTree(res.data.id).then(item => {
|
queryCsDictTree(res.data.id).then(item => {
|
||||||
//排序
|
//排序
|
||||||
indexOptions.value = item.data.sort((a: any, b: any) => {
|
indexOptions.value = item.data.sort((a: any, b: any) => {
|
||||||
@@ -185,15 +192,15 @@ queryByCode(props?.TrendList?.lineType == 0 ? 'apf-harmonic' : 'portable-harmoni
|
|||||||
if (kk.harmStart && kk.harmEnd) {
|
if (kk.harmStart && kk.harmEnd) {
|
||||||
range(0, 0, 0)
|
range(0, 0, 0)
|
||||||
|
|
||||||
if (kk.showName == '间谐波电压含有率') {
|
// if (kk.showName == '间谐波电压含有率') {
|
||||||
countDataCopy.value[index].countOptions = range(kk.harmStart, kk.harmEnd, 1).map(
|
// countDataCopy.value[index].countOptions = range(kk.harmStart, kk.harmEnd, 1).map(
|
||||||
(item: any) => {
|
// (item: any) => {
|
||||||
return item - 0.5
|
// return item - 0.5
|
||||||
}
|
// }
|
||||||
)
|
// )
|
||||||
} else {
|
// } else {
|
||||||
countDataCopy.value[index].countOptions = range(kk.harmStart, kk.harmEnd, 1)
|
countDataCopy.value[index].countOptions = range(kk.harmStart, kk.harmEnd, 1)
|
||||||
}
|
// }
|
||||||
if (!countDataCopy.value[index].count || countDataCopy.value[index].count.length == 0) {
|
if (!countDataCopy.value[index].count || countDataCopy.value[index].count.length == 0) {
|
||||||
countDataCopy.value[index].count = countDataCopy.value[index].countOptions[0]
|
countDataCopy.value[index].count = countDataCopy.value[index].countOptions[0]
|
||||||
}
|
}
|
||||||
@@ -232,7 +239,7 @@ const init = async () => {
|
|||||||
loading.value = true
|
loading.value = true
|
||||||
// 选择指标的时候切换legend内容和data数据
|
// 选择指标的时候切换legend内容和data数据
|
||||||
let list: any = []
|
let list: any = []
|
||||||
echartsData.value={}
|
echartsData.value = {}
|
||||||
legendDictList.value?.selectedList?.map((item: any) => {
|
legendDictList.value?.selectedList?.map((item: any) => {
|
||||||
searchForm.value.index.map((vv: any) => {
|
searchForm.value.index.map((vv: any) => {
|
||||||
if (item.dataType == vv) {
|
if (item.dataType == vv) {
|
||||||
@@ -260,7 +267,7 @@ const init = async () => {
|
|||||||
let frequencys: any = null
|
let frequencys: any = null
|
||||||
countData.value.map((item: any, index: any) => {
|
countData.value.map((item: any, index: any) => {
|
||||||
if (item.name.includes('间谐波电压')) {
|
if (item.name.includes('间谐波电压')) {
|
||||||
frequencys = item.count + 0.5
|
frequencys = item.count //+ 0.5
|
||||||
} else {
|
} else {
|
||||||
frequencys = item.count
|
frequencys = item.count
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,50 +13,67 @@
|
|||||||
>
|
>
|
||||||
模版数据分组
|
模版数据分组
|
||||||
</el-button> -->
|
</el-button> -->
|
||||||
<el-button icon="el-icon-Refresh" v-if="showButtom" @click="handleRestartDevice" type="primary"
|
<el-button
|
||||||
:loading="deviceRestartLoading">
|
icon="el-icon-Refresh"
|
||||||
|
v-if="showButtom"
|
||||||
|
@click="handleRestartDevice"
|
||||||
|
type="primary"
|
||||||
|
:loading="deviceRestartLoading"
|
||||||
|
>
|
||||||
装置重启
|
装置重启
|
||||||
</el-button>
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
<el-descriptions-item label="名称">
|
<el-descriptions-item label="名称">
|
||||||
{{ deviceData.name }}
|
{{ deviceData.name || '/' }}
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="类型">
|
<el-descriptions-item label="类型">
|
||||||
{{ echoName(deviceData.devType, devTypeOptions) }}
|
{{ echoName(deviceData.devType, devTypeOptions) || '/' }}
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
|
|
||||||
<el-descriptions-item label="接入方式">
|
<el-descriptions-item label="接入方式">
|
||||||
{{ deviceData.devAccessMethod }}
|
{{ deviceData.devAccessMethod || '/' }}
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="网络设备ID">
|
<el-descriptions-item label="网络设备ID">
|
||||||
{{ deviceData.ndid }}
|
{{ deviceData.ndid || '/' }}
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="型号">
|
<el-descriptions-item label="型号">
|
||||||
{{ echoName(deviceData.devModel, devModelOptions) }}
|
{{ echoName(deviceData.devModel, devModelOptions) || '/' }}
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="首次接入日期">
|
<el-descriptions-item label="首次接入日期">
|
||||||
{{ deviceData.time }}
|
{{ deviceData.time || '/' }}
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="应用程序版本号">
|
<el-descriptions-item label="应用程序版本号">
|
||||||
{{ deviceData.appVersion }}
|
{{ deviceData.appVersion || '/' }}
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="应用程序发布日期">
|
<el-descriptions-item label="应用程序发布日期">
|
||||||
{{ deviceData.appDate }}
|
{{ deviceData.appDate || '/' }}
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="应用程序校验码">
|
<el-descriptions-item label="应用程序校验码">
|
||||||
{{ deviceData.appCheck }}
|
{{ deviceData.appCheck || '/' }}
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
</el-descriptions>
|
</el-descriptions>
|
||||||
<div style="position: relative">
|
<div style="position: relative">
|
||||||
|
<el-tabs
|
||||||
|
v-model.trim="dataSet"
|
||||||
<el-tabs v-model.trim="dataSet" type="border-card" class="device-manage-box-card"
|
type="border-card"
|
||||||
@tab-click="handleClick">
|
class="device-manage-box-card"
|
||||||
<el-tab-pane lazy :label="item.name" :name="item.id" v-for="(item, index) in deviceData.dataSetList"
|
@tab-click="handleClick"
|
||||||
:key="index"></el-tab-pane>
|
>
|
||||||
|
<el-tab-pane
|
||||||
|
lazy
|
||||||
|
:label="item.name"
|
||||||
|
:name="item.id"
|
||||||
|
v-for="(item, index) in deviceData.dataSetList"
|
||||||
|
:key="index"
|
||||||
|
></el-tab-pane>
|
||||||
<div :style="{ height: tableHeight }" v-loading="tableLoading">
|
<div :style="{ height: tableHeight }" v-loading="tableLoading">
|
||||||
<vxe-table v-bind="defaultAttribute" :data="tableData" height="auto" ref="xTableRef"
|
<vxe-table
|
||||||
style="width: 100%">
|
v-bind="defaultAttribute"
|
||||||
|
:data="tableData"
|
||||||
|
height="auto"
|
||||||
|
ref="xTableRef"
|
||||||
|
style="width: 100%"
|
||||||
|
>
|
||||||
<vxe-column type="seq" title="序号" width="80"></vxe-column>
|
<vxe-column type="seq" title="序号" width="80"></vxe-column>
|
||||||
<vxe-column field="name" title="数据名称"></vxe-column>
|
<vxe-column field="name" title="数据名称"></vxe-column>
|
||||||
<vxe-column field="phasic" title="相别"></vxe-column>
|
<vxe-column field="phasic" title="相别"></vxe-column>
|
||||||
@@ -65,11 +82,11 @@
|
|||||||
<vxe-column field="startTimes" title="开始次数"></vxe-column>
|
<vxe-column field="startTimes" title="开始次数"></vxe-column>
|
||||||
<vxe-column field="endTimes" title="结束次数"></vxe-column>
|
<vxe-column field="endTimes" title="结束次数"></vxe-column>
|
||||||
</vxe-table>
|
</vxe-table>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</el-tabs>
|
</el-tabs>
|
||||||
<el-button icon="el-icon-Download" type="primary" @click="exportData" class="export-btn">导出</el-button>
|
<el-button icon="el-icon-Download" type="primary" @click="exportData" class="export-btn">
|
||||||
|
导出
|
||||||
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<el-empty v-else description="请选择设备" class="device-manage-right" />
|
<el-empty v-else description="请选择设备" class="device-manage-right" />
|
||||||
@@ -93,12 +110,10 @@ import { ref } from 'vue'
|
|||||||
import { useAdminInfo } from '@/stores/adminInfo'
|
import { useAdminInfo } from '@/stores/adminInfo'
|
||||||
import { passwordConfirm } from '@/api/user-boot/user'
|
import { passwordConfirm } from '@/api/user-boot/user'
|
||||||
import { ElMessage, ElMessageBox } from 'element-plus'
|
import { ElMessage, ElMessageBox } from 'element-plus'
|
||||||
import {
|
import { reStartDevice } from '@/api/cs-device-boot/fileService'
|
||||||
reStartDevice,
|
|
||||||
} from '@/api/cs-device-boot/fileService'
|
|
||||||
import { defaultAttribute } from '@/components/table/defaultAttribute'
|
import { defaultAttribute } from '@/components/table/defaultAttribute'
|
||||||
const pageHeight = mainHeight(20)
|
const pageHeight = mainHeight(20)
|
||||||
const adminInfo = useAdminInfo()
|
const adminInfo = useAdminInfo()
|
||||||
const showButtom = ref(adminInfo.roleCode.includes('operation_manager') || adminInfo.roleCode.includes('root'))
|
const showButtom = ref(adminInfo.roleCode.includes('operation_manager') || adminInfo.roleCode.includes('root'))
|
||||||
|
|
||||||
const loading = ref(true)
|
const loading = ref(true)
|
||||||
@@ -107,7 +122,7 @@ const tableLoading = ref(false)
|
|||||||
const getGroupLoading = ref(false)
|
const getGroupLoading = ref(false)
|
||||||
const deviceData = ref<any>(null)
|
const deviceData = ref<any>(null)
|
||||||
const dataSet = ref('')
|
const dataSet = ref('')
|
||||||
const devTypeOptions = ref([])
|
const devTypeOptions: any = ref([])
|
||||||
const devModelOptions = ref([])
|
const devModelOptions = ref([])
|
||||||
const tableData = ref([])
|
const tableData = ref([])
|
||||||
const tableHeight = mainHeight(260).height
|
const tableHeight = mainHeight(260).height
|
||||||
@@ -119,7 +134,6 @@ const deviceType = ref('0')
|
|||||||
const deviceTypeChange = (val: any, obj: any) => {
|
const deviceTypeChange = (val: any, obj: any) => {
|
||||||
deviceType.value = val
|
deviceType.value = val
|
||||||
nodeClick(obj)
|
nodeClick(obj)
|
||||||
|
|
||||||
}
|
}
|
||||||
// 树节点点击
|
// 树节点点击
|
||||||
const nodeClick = (e: anyObj) => {
|
const nodeClick = (e: anyObj) => {
|
||||||
@@ -159,8 +173,8 @@ const handleClick = () => {
|
|||||||
})
|
})
|
||||||
}, 100)
|
}, 100)
|
||||||
}
|
}
|
||||||
queryByCode('Device_Type').then(res => {
|
queryByCode('Device_Type').then(async res => {
|
||||||
queryCsDictTree(res.data.id).then(res => {
|
await queryCsDictTree(res.data.id).then(res => {
|
||||||
devTypeOptions.value = res.data.map((item: any) => {
|
devTypeOptions.value = res.data.map((item: any) => {
|
||||||
return {
|
return {
|
||||||
value: item.id,
|
value: item.id,
|
||||||
@@ -169,7 +183,7 @@ queryByCode('Device_Type').then(res => {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
queryByid(res.data.id).then(res => {
|
await queryByid(res.data.id).then(res => {
|
||||||
devModelOptions.value = res.data.map((item: any) => {
|
devModelOptions.value = res.data.map((item: any) => {
|
||||||
return {
|
return {
|
||||||
value: item.id,
|
value: item.id,
|
||||||
@@ -178,9 +192,23 @@ queryByCode('Device_Type').then(res => {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
await queryByCode('DEV_CLD').then(k => {
|
||||||
|
devTypeOptions.value.push(k.data)
|
||||||
|
return queryCsDictTree(k.data.id).then(s => {
|
||||||
|
let list = s.data.map((item: any) => {
|
||||||
|
return {
|
||||||
|
value: item.id,
|
||||||
|
label: item.name,
|
||||||
|
...item
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
devModelOptions.value.push(...list)
|
||||||
|
})
|
||||||
|
})
|
||||||
})
|
})
|
||||||
const echoName = (value: any, arr: any[]) => {
|
const echoName = (value: any, arr: any[]) => {
|
||||||
return arr.find(item => item.value == value)?.label
|
return arr.find(item => item.id == value)?.name
|
||||||
}
|
}
|
||||||
const openGroup = () => {
|
const openGroup = () => {
|
||||||
if (!dataSet.value) {
|
if (!dataSet.value) {
|
||||||
@@ -217,18 +245,16 @@ const handleRestartDevice = () => {
|
|||||||
customClass: 'customInput',
|
customClass: 'customInput',
|
||||||
inputType: 'text',
|
inputType: 'text',
|
||||||
beforeClose: (action, instance, done) => {
|
beforeClose: (action, instance, done) => {
|
||||||
|
|
||||||
if (action === 'confirm') {
|
if (action === 'confirm') {
|
||||||
if (instance.inputValue == null) {
|
if (instance.inputValue == null) {
|
||||||
return ElMessage.warning('请输入密码')
|
return ElMessage.warning('请输入密码')
|
||||||
} else if (instance.inputValue?.length > 32) {
|
} else if (instance.inputValue?.length > 32) {
|
||||||
return ElMessage.warning('密码长度不能超过32位,当前密码长度为' + instance.inputValue.length)
|
return ElMessage.warning('密码长度不能超过32位,当前密码长度为' + instance.inputValue.length)
|
||||||
} else {
|
} else {
|
||||||
done();
|
done()
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
done();
|
done()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@@ -241,18 +267,17 @@ const handleRestartDevice = () => {
|
|||||||
passwordConfirm(value)
|
passwordConfirm(value)
|
||||||
.then((resp: any) => {
|
.then((resp: any) => {
|
||||||
if (resp.code == 'A0000') {
|
if (resp.code == 'A0000') {
|
||||||
reStartDevice({ nDid: nDid.value }).then((res: any) => {
|
reStartDevice({ nDid: nDid.value })
|
||||||
deviceRestartLoading.value = false
|
.then((res: any) => {
|
||||||
ElMessage({ message: res.message, type: 'success', duration: 3000 })
|
deviceRestartLoading.value = false
|
||||||
|
ElMessage({ message: res.message, type: 'success', duration: 3000 })
|
||||||
}).catch(e => {
|
})
|
||||||
|
.catch(e => {
|
||||||
deviceRestartLoading.value = false
|
deviceRestartLoading.value = false
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.catch(e => {
|
.catch(e => {
|
||||||
|
|
||||||
deviceRestartLoading.value = false
|
deviceRestartLoading.value = false
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@@ -262,8 +287,6 @@ const handleRestartDevice = () => {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
const exportData = () => {
|
const exportData = () => {
|
||||||
|
|
||||||
|
|
||||||
xTableRef.value.exportData({
|
xTableRef.value.exportData({
|
||||||
filename: deviceData.value.dataSetList.filter((item: any) => item.id == dataSet.value)[0]?.name, // 文件名字
|
filename: deviceData.value.dataSetList.filter((item: any) => item.id == dataSet.value)[0]?.name, // 文件名字
|
||||||
sheetName: 'Sheet1',
|
sheetName: 'Sheet1',
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<Table ref="tableRef" v-if="!isWaveCharts" />
|
<Table ref="tableRef" v-show="!isWaveCharts" />
|
||||||
<waveFormAnalysis v-loading="loading" v-if="isWaveCharts" ref="waveFormAnalysisRef"
|
<waveFormAnalysis v-loading="loading" v-if="isWaveCharts" ref="waveFormAnalysisRef"
|
||||||
@handleHideCharts="isWaveCharts = false" :wp="wp" />
|
@handleHideCharts="isWaveCharts = false" :wp="wp" />
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -83,12 +83,12 @@
|
|||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="起始时间" width="160">
|
<el-descriptions-item label="起始时间" width="160">
|
||||||
<span style="width: 140px; overflow: hidden; display: block">
|
<span style="width: 140px; overflow: hidden; display: block">
|
||||||
{{ item.startTime }}
|
{{ item.startTime ||'/' }}
|
||||||
</span>
|
</span>
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="结束时间" width="160">
|
<el-descriptions-item label="结束时间" width="160">
|
||||||
<span style="width: 140px; overflow: hidden; display: block">
|
<span style="width: 140px; overflow: hidden; display: block">
|
||||||
{{ item.endTime }}
|
{{ item.endTime||'/' }}
|
||||||
</span>
|
</span>
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="监测位置" width="160">
|
<el-descriptions-item label="监测位置" width="160">
|
||||||
@@ -121,6 +121,7 @@
|
|||||||
<el-form-item for="-" label="统计指标">
|
<el-form-item for="-" label="统计指标">
|
||||||
<el-select
|
<el-select
|
||||||
style="min-width: 200px"
|
style="min-width: 200px"
|
||||||
|
filterable
|
||||||
collapse-tags
|
collapse-tags
|
||||||
collapse-tags-tooltip
|
collapse-tags-tooltip
|
||||||
v-model.trim="searchForm.index"
|
v-model.trim="searchForm.index"
|
||||||
@@ -266,6 +267,11 @@ const dictData = useDictData()
|
|||||||
defineOptions({
|
defineOptions({
|
||||||
// name: 'govern/device/planData/index'
|
// name: 'govern/device/planData/index'
|
||||||
})
|
})
|
||||||
|
const props = defineProps({
|
||||||
|
TrendList: {
|
||||||
|
type: Array
|
||||||
|
}
|
||||||
|
})
|
||||||
const childTab = ref('0')
|
const childTab = ref('0')
|
||||||
const num = ref(0)
|
const num = ref(0)
|
||||||
const config = useConfig()
|
const config = useConfig()
|
||||||
@@ -313,53 +319,60 @@ const countOptions: any = ref([])
|
|||||||
// Harmonic_Type
|
// Harmonic_Type
|
||||||
// portable-harmonic
|
// portable-harmonic
|
||||||
const legendDictList: any = ref([])
|
const legendDictList: any = ref([])
|
||||||
queryByCode('portable-harmonic').then(res => {
|
// queryByCode('portable-harmonic').then(res => {
|
||||||
queryCsDictTree(res.data.id).then(item => {
|
const getCode = (conType: string) => {
|
||||||
indexOptions.value = item.data.sort((a: any, b: any) => {
|
let code = volConTypeList.find(vv => {
|
||||||
return a.sort - b.sort
|
return vv.id == conType
|
||||||
|
})?.code
|
||||||
|
queryByCode(code == 'Star_Triangle' ? 'portable-harmonic-jx' : 'portable-harmonic').then(res => {
|
||||||
|
queryCsDictTree(res.data.id).then(item => {
|
||||||
|
indexOptions.value = item.data.sort((a: any, b: any) => {
|
||||||
|
return a.sort - b.sort
|
||||||
|
})
|
||||||
|
searchForm.value.index[0] = indexOptions.value[0].id
|
||||||
|
// searchForm.value.index = indexOptions.value[0].id
|
||||||
})
|
})
|
||||||
searchForm.value.index[0] = indexOptions.value[0].id
|
queryStatistical(res.data.id).then(vv => {
|
||||||
// searchForm.value.index = indexOptions.value[0].id
|
legendDictList.value = vv.data
|
||||||
})
|
indexOptions.value.map((item: any, index: any) => {
|
||||||
queryStatistical(res.data.id).then(vv => {
|
if (!countDataCopy.value[index]) {
|
||||||
legendDictList.value = vv.data
|
countDataCopy.value[index] = {
|
||||||
indexOptions.value.map((item: any, index: any) => {
|
index: item.id,
|
||||||
if (!countDataCopy.value[index]) {
|
countOptions: [],
|
||||||
countDataCopy.value[index] = {
|
count: [],
|
||||||
index: item.id,
|
name: indexOptions.value.find((vv: any) => {
|
||||||
countOptions: [],
|
return vv.id == item.id
|
||||||
count: [],
|
})?.name
|
||||||
name: indexOptions.value.find((vv: any) => {
|
}
|
||||||
return vv.id == item.id
|
|
||||||
})?.name
|
|
||||||
}
|
}
|
||||||
}
|
legendDictList.value?.selectedList?.map((vv: any, vvs: any) => {
|
||||||
legendDictList.value?.selectedList?.map((vv: any, vvs: any) => {
|
//查找相等的指标
|
||||||
//查找相等的指标
|
if (item.id == vv.dataType) {
|
||||||
if (item.id == vv.dataType) {
|
vv.eleEpdPqdVOS.map((kk: any, kks: any) => {
|
||||||
vv.eleEpdPqdVOS.map((kk: any, kks: any) => {
|
if (kk.harmStart && kk.harmEnd) {
|
||||||
if (kk.harmStart && kk.harmEnd) {
|
range(0, 0, 0)
|
||||||
range(0, 0, 0)
|
|
||||||
|
|
||||||
if (kk.showName == '间谐波电压含有率') {
|
// if (kk.showName == '间谐波电压含有率') {
|
||||||
countDataCopy.value[index].countOptions = range(kk.harmStart, kk.harmEnd, 1).map(
|
// countDataCopy.value[index].countOptions = range(kk.harmStart, kk.harmEnd, 1).map(
|
||||||
(item: any) => {
|
// (item: any) => {
|
||||||
return item - 0.5
|
// return item - 0.5
|
||||||
}
|
// }
|
||||||
)
|
// )
|
||||||
} else {
|
// } else {
|
||||||
countDataCopy.value[index].countOptions = range(kk.harmStart, kk.harmEnd, 1)
|
countDataCopy.value[index].countOptions = range(kk.harmStart, kk.harmEnd, 1)
|
||||||
|
// }
|
||||||
|
if (!countDataCopy.value[index].count || countDataCopy.value[index].count.length == 0) {
|
||||||
|
countDataCopy.value[index].count = countDataCopy.value[index].countOptions[0]
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (!countDataCopy.value[index].count || countDataCopy.value[index].count.length == 0) {
|
})
|
||||||
countDataCopy.value[index].count = countDataCopy.value[index].countOptions[0]
|
}
|
||||||
}
|
})
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
})
|
}
|
||||||
|
// getCode(1)
|
||||||
const activeName: any = ref()
|
const activeName: any = ref()
|
||||||
const activeColName: any = ref('0')
|
const activeColName: any = ref('0')
|
||||||
const deviceData: any = ref([])
|
const deviceData: any = ref([])
|
||||||
@@ -368,11 +381,15 @@ const schemeTreeRef = ref()
|
|||||||
const historyDevId: any = ref('')
|
const historyDevId: any = ref('')
|
||||||
const chartTitle: any = ref('')
|
const chartTitle: any = ref('')
|
||||||
//点击测试项切换树节点
|
//点击测试项切换树节点
|
||||||
const handleClickTabs = () => {
|
const handleClickTabs = async () => {
|
||||||
searchForm.value.index = [indexOptions.value[0].id]
|
await getCode(deviceData.value.records.filter(item => item.id == activeName.value)[0].volConType)
|
||||||
historyDevId.value = activeName.value
|
await setTimeout(() => {
|
||||||
schemeTreeRef.value.setCheckedNode(activeName.value)
|
searchForm.value.index = [indexOptions.value[0].id]
|
||||||
setTimeout(() => {
|
historyDevId.value = activeName.value
|
||||||
|
schemeTreeRef.value.setCheckedNode(activeName.value)
|
||||||
|
}, 100)
|
||||||
|
|
||||||
|
await setTimeout(() => {
|
||||||
init(true)
|
init(true)
|
||||||
transientRef.value && transientRef.value.init()
|
transientRef.value && transientRef.value.init()
|
||||||
}, 100)
|
}, 100)
|
||||||
@@ -391,6 +408,7 @@ const nodeClick = async (e: anyObj) => {
|
|||||||
await getTestRecordInfo(id)
|
await getTestRecordInfo(id)
|
||||||
.then(async res => {
|
.then(async res => {
|
||||||
deviceData.value = res.data
|
deviceData.value = res.data
|
||||||
|
|
||||||
if (res.data.records.length == 1) {
|
if (res.data.records.length == 1) {
|
||||||
activeName.value = res.data.records[0].id
|
activeName.value = res.data.records[0].id
|
||||||
} else {
|
} else {
|
||||||
@@ -406,6 +424,7 @@ const nodeClick = async (e: anyObj) => {
|
|||||||
activeName.value = res.data.records[0].id
|
activeName.value = res.data.records[0].id
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
getCode(deviceData.value.records.filter(item => item.id == activeName.value)[0].volConType)
|
||||||
|
|
||||||
// if (searchForm.value.index.length == 0) {
|
// if (searchForm.value.index.length == 0) {
|
||||||
// searchForm.value.index = [indexOptions.value[0].id]
|
// searchForm.value.index = [indexOptions.value[0].id]
|
||||||
@@ -547,7 +566,7 @@ const init = (flag: boolean) => {
|
|||||||
let frequencys: any = null
|
let frequencys: any = null
|
||||||
countData.value.map((item: any, index: any) => {
|
countData.value.map((item: any, index: any) => {
|
||||||
if (item.name.includes('间谐波电压')) {
|
if (item.name.includes('间谐波电压')) {
|
||||||
frequencys = item.count + 0.5
|
frequencys = item.count //+ 0.5
|
||||||
} else {
|
} else {
|
||||||
frequencys = item.count
|
frequencys = item.count
|
||||||
}
|
}
|
||||||
@@ -574,8 +593,8 @@ const init = (flag: boolean) => {
|
|||||||
}).then(res => {
|
}).then(res => {
|
||||||
if (res.data.length == 0) {
|
if (res.data.length == 0) {
|
||||||
titleList.value = '(未绑定数据)'
|
titleList.value = '(未绑定数据)'
|
||||||
}else{
|
} else {
|
||||||
titleList.value = ''
|
titleList.value = ''
|
||||||
}
|
}
|
||||||
chartTitle.value = chartTitle.value + titleList.value
|
chartTitle.value = chartTitle.value + titleList.value
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -109,10 +109,10 @@
|
|||||||
:title="dialogTitle"
|
:title="dialogTitle"
|
||||||
v-model="dialogFormVisible"
|
v-model="dialogFormVisible"
|
||||||
:close-on-click-modal="false"
|
:close-on-click-modal="false"
|
||||||
width="700px"
|
width="500px"
|
||||||
:before-close="resetForm"
|
:before-close="resetForm"
|
||||||
>
|
>
|
||||||
<el-form :model="formData" label-width="120px" :rules="rules" ref="ruleFormRef">
|
<el-form :model="formData" label-width="120px" :rules="rules" ref="ruleFormRef" class="form-one">
|
||||||
<el-form-item label="名称:" prop="name">
|
<el-form-item label="名称:" prop="name">
|
||||||
<el-input
|
<el-input
|
||||||
v-model="formData.name"
|
v-model="formData.name"
|
||||||
@@ -178,8 +178,8 @@
|
|||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
|
||||||
<!-- 绑定进程号 -->
|
<!-- 绑定进程号 -->
|
||||||
<el-dialog draggable title="绑定进程号" v-model="popUps" :close-on-click-modal="false" width="400px">
|
<el-dialog draggable title="绑定进程号" v-model="popUps" :close-on-click-modal="false" width="400px" >
|
||||||
<el-form :model="bindProcessForm" ref="bindProcessFormRef" label-width="80px" :rules="rules2">
|
<el-form :model="bindProcessForm" ref="bindProcessFormRef" label-width="80px" :rules="rules2" class="form-one">
|
||||||
<el-form-item label="前置机" prop="nodeId">
|
<el-form-item label="前置机" prop="nodeId">
|
||||||
<el-select
|
<el-select
|
||||||
v-model="bindProcessForm.nodeId"
|
v-model="bindProcessForm.nodeId"
|
||||||
|
|||||||
@@ -44,7 +44,7 @@
|
|||||||
<div class="tableBox" v-if="show">
|
<div class="tableBox" v-if="show">
|
||||||
<vxe-table border auto-resize height="230px" :data="tableData" ref="tableRef">
|
<vxe-table border auto-resize height="230px" :data="tableData" ref="tableRef">
|
||||||
<vxe-column type="seq" title="序号" align="center" width="80px"></vxe-column>
|
<vxe-column type="seq" title="序号" align="center" width="80px"></vxe-column>
|
||||||
<vxe-column field="date" align="center" title="时间" width="200px"></vxe-column>
|
<vxe-column field="date" align="center" sortable title="时间" width="200px"></vxe-column>
|
||||||
<vxe-column field="name" align="center" title="监测点名" width="200px"></vxe-column>
|
<vxe-column field="name" align="center" title="监测点名" width="200px"></vxe-column>
|
||||||
<vxe-column field="address" align="center" title="事件描述"></vxe-column>
|
<vxe-column field="address" align="center" title="事件描述"></vxe-column>
|
||||||
</vxe-table>
|
</vxe-table>
|
||||||
|
|||||||
Reference in New Issue
Block a user