2024-11-20 16:20:15 +08:00
|
|
|
<template>
|
|
|
|
|
|
2024-11-28 14:01:27 +08:00
|
|
|
<div>
|
|
|
|
|
<vxe-table auto-resize :data="dataList" v-bind="defaultAttribute" :key="key" :mergeCells="mergeCells" v-if="flag">
|
|
|
|
|
<vxe-column v-for="item in column" :field="item.field" :title="item.title" :formatter="formatter"
|
|
|
|
|
:width="item.width"></vxe-column>
|
2024-11-26 16:47:03 +08:00
|
|
|
|
2024-11-20 16:20:15 +08:00
|
|
|
</vxe-table>
|
2024-11-28 14:01:27 +08:00
|
|
|
<vxe-table v-if="flag1" auto-resize :data="dataList1"
|
|
|
|
|
v-bind="defaultAttribute" :key="key" :mergeCells="mergeCells">
|
|
|
|
|
<vxe-column field="otherName" title="名称" width="350"></vxe-column>
|
2024-12-02 09:14:28 +08:00
|
|
|
<vxe-column field="valueM" title="数据"></vxe-column>
|
2024-11-28 14:01:27 +08:00
|
|
|
|
|
|
|
|
</vxe-table>
|
|
|
|
|
<el-empty :style="height" description="暂无数据"v-if="!flag && !flag1" ></el-empty>
|
2024-11-20 16:20:15 +08:00
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</template>
|
|
|
|
|
<script setup lang='ts'>
|
|
|
|
|
import { mainHeight } from '@/utils/layout'
|
|
|
|
|
import { ref, reactive } from 'vue'
|
|
|
|
|
import { defaultAttribute } from '@/components/table/defaultAttribute'
|
2024-11-28 14:01:27 +08:00
|
|
|
import type { VxeTablePropTypes } from 'vxe-table'
|
2024-11-20 16:20:15 +08:00
|
|
|
const props = defineProps(['tableData'])
|
2024-11-28 14:01:27 +08:00
|
|
|
const height = mainHeight(325)
|
|
|
|
|
const dataList: any = ref([])
|
2024-11-20 16:20:15 +08:00
|
|
|
const key: any = ref(0)
|
|
|
|
|
const column: any = ref([])
|
2024-11-28 14:01:27 +08:00
|
|
|
const dataList1: any = ref([])
|
|
|
|
|
const targetName: any = ref('')
|
|
|
|
|
const flag=ref(true)
|
|
|
|
|
const flag1=ref(true)
|
|
|
|
|
|
|
|
|
|
const mergeCells: any = ref<VxeTablePropTypes.MergeCells>([
|
|
|
|
|
// { row: 0, col: 1, rowspan: 1, colspan: 3 },
|
|
|
|
|
|
|
|
|
|
])
|
2024-11-20 16:20:15 +08:00
|
|
|
const setData = (data: any, targetType: any) => {
|
2024-11-28 14:01:27 +08:00
|
|
|
let list = JSON.parse(JSON.stringify(data))
|
|
|
|
|
dataList1.value = []
|
|
|
|
|
dataList.value = []
|
|
|
|
|
flag.value=true
|
|
|
|
|
flag1.value=true
|
|
|
|
|
targetName.value = targetType[0].name
|
|
|
|
|
if (targetType[0].name == '基本数据') {
|
|
|
|
|
flag.value=false
|
|
|
|
|
flag1.value=false
|
|
|
|
|
list.forEach((item: any, index: number) => {
|
|
|
|
|
if (item.valueA == null && item.valueB == null && item.valueC == null) {
|
|
|
|
|
// item.valueA = item.valueM
|
|
|
|
|
// mergeCells.value.push({ row: index, col: 1, rowspan: 1, colspan: 3 })
|
|
|
|
|
dataList1.value.push(item)
|
|
|
|
|
flag1.value=true
|
|
|
|
|
} else {
|
|
|
|
|
dataList.value.push(item)
|
|
|
|
|
flag.value=true
|
|
|
|
|
}
|
2024-11-20 16:20:15 +08:00
|
|
|
|
2024-11-28 14:01:27 +08:00
|
|
|
})
|
2024-11-27 16:32:13 +08:00
|
|
|
|
2024-11-20 16:20:15 +08:00
|
|
|
|
|
|
|
|
column.value = [
|
2024-11-28 14:01:27 +08:00
|
|
|
{ field: 'otherName', title: '名称', width: 350 },
|
2024-11-20 16:20:15 +08:00
|
|
|
{ field: 'valueA', title: 'A相', },
|
|
|
|
|
{ field: 'valueB', title: 'B相', },
|
|
|
|
|
{ field: 'valueC', title: 'C相', },
|
2024-11-28 14:01:27 +08:00
|
|
|
// { field: 'valueM', title: '', },
|
2024-11-20 16:20:15 +08:00
|
|
|
]
|
2024-11-28 14:01:27 +08:00
|
|
|
} else {
|
|
|
|
|
dataList.value = list
|
|
|
|
|
flag.value=true
|
|
|
|
|
|
|
|
|
|
flag1.value=false
|
2024-11-20 16:20:15 +08:00
|
|
|
column.value = [
|
|
|
|
|
{ field: 'otherName', title: '谐波次数', },
|
|
|
|
|
{ field: 'valueA', title: 'A相', },
|
|
|
|
|
{ field: 'valueB', title: 'B相', },
|
|
|
|
|
{ field: 'valueC', title: 'C相', },
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
key.value += 1
|
|
|
|
|
}
|
2024-11-26 16:47:03 +08:00
|
|
|
const formatter = (row: any) => {
|
2024-11-28 14:01:27 +08:00
|
|
|
return row.cellValue == null ? '/' : row.cellValue
|
2024-11-26 16:47:03 +08:00
|
|
|
}
|
2024-11-20 16:20:15 +08:00
|
|
|
|
|
|
|
|
defineExpose({ setData })
|
|
|
|
|
</script>
|
|
|
|
|
<style lang="scss" scoped></style>
|