diff --git a/src/views/pqs/harmonicMonitoring/area/onlinerate/index.vue b/src/views/pqs/harmonicMonitoring/area/onlinerate/index.vue
index ff80618d..ec7c23ed 100644
--- a/src/views/pqs/harmonicMonitoring/area/onlinerate/index.vue
+++ b/src/views/pqs/harmonicMonitoring/area/onlinerate/index.vue
@@ -294,7 +294,7 @@ const tableStore = new TableStore({
// treeData = tree2List(tableStore.table.data)
// tableStore.table.data = JSON.parse(JSON.stringify(treeData))
tableStore.table.data = tree2List(tableStore.table.data, Math.random() * 1000)
- console.log('tableStore.table.params---2', tableStore.table.params)
+
chartsRef.value && chartsRef.value.getTableStoreParams(tableStore.table.params)
setTimeout(() => {
activeName.value == 0 && tableRef.value && tableRef.value.getRef().setAllTreeExpand(true)
diff --git a/src/views/pqs/harmonicMonitoring/detailed/pollutionReport/MonitoringPointTab.vue b/src/views/pqs/harmonicMonitoring/detailed/pollutionReport/MonitoringPointTab.vue
index ea92e34f..4fd3f68a 100644
--- a/src/views/pqs/harmonicMonitoring/detailed/pollutionReport/MonitoringPointTab.vue
+++ b/src/views/pqs/harmonicMonitoring/detailed/pollutionReport/MonitoringPointTab.vue
@@ -60,17 +60,17 @@
show-overflow
>
-
+
-
+
-
-
+
+
@@ -141,7 +141,7 @@ interface PollutionItem {
}
const formatMonitorId = (row: any) => {
- return row.row.monitorId || '/'
+ return row.cellValue || '/'
}
const handleSelectChange = (isExpanded: boolean) => {
@@ -302,7 +302,7 @@ const handleCurrentChange = (val: number) => {
const exportEvent = () => {
const allFilteredData = filteredData.value
tableRef.value.exportData({
- filename: '污染值报告',
+ filename: '监测点评估-污染值报告',
sheetName: 'Sheet1',
type: 'xlsx',
useStyle: true,
diff --git a/src/views/pqs/harmonicMonitoring/detailed/pollutionReport/SubstationTab.vue b/src/views/pqs/harmonicMonitoring/detailed/pollutionReport/SubstationTab.vue
index 304a980f..be437d39 100644
--- a/src/views/pqs/harmonicMonitoring/detailed/pollutionReport/SubstationTab.vue
+++ b/src/views/pqs/harmonicMonitoring/detailed/pollutionReport/SubstationTab.vue
@@ -35,7 +35,7 @@
-
-
-
-
-
-
-
-
+
+
+ 监测点详情
+
+
@@ -87,6 +84,33 @@
@current-change="handleCurrentChange"
class="custom-pagination"/>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -119,6 +143,53 @@ const areOptions: any = dictData.state.area
const allData = ref([])
const searchKeyword = ref('')
const harmonicValueTitle = ref('电站谐波电压污染值')
+const detailDialogVisible = ref(false)
+const detailDialogTitle = ref('')
+const detailLoading = ref(false)
+const detailData = ref([])
+const originalTableData = ref([])
+
+// 方法
+const showDetailDialog = (row) => {
+ detailDialogTitle.value = `${row.subStationName} - 监测点详情`
+ loadDetailData(row)
+ detailDialogVisible.value = true
+}
+
+
+const loadDetailData = async (row) => {
+ detailLoading.value = true
+ try {
+ // 从原始数据中查找该变电站的详细信息
+ const originalItem = originalTableData.value.find(
+ item => item.subStationName === row.subStationName
+ )
+
+ if (originalItem && originalItem.powerFlagPollutionList) {
+ const detailList: PollutionItem[] = []
+ originalItem.powerFlagPollutionList.forEach((point: any) => {
+ detailList.push({
+ lineName: processNullValue(point.lineName),
+ devName: processNullValue(point.devName),
+ devType: processNullValue(point.devType),
+ manufacturer: processNullValue(point.manufacturer),
+ loginTime: processNullValue(point.loginTime),
+ interval: processNullValue(point.interval),
+ powerFlag: processNullValue(point.powerFlag),
+ vharmonicValue: processNullValue(point.vharmonicValue)
+ })
+ })
+ detailData.value = detailList
+ } else {
+ detailData.value = []
+ }
+ } catch (error) {
+ console.error('加载详情数据失败:', error)
+ detailData.value = []
+ } finally {
+ detailLoading.value = false
+ }
+}
const cascaderProps = {
label: 'name',
@@ -142,8 +213,6 @@ interface PollutionItem {
vharmonicValue?: string
}
-
-
const handleSelectChange = (isExpanded: boolean) => {
if (isExpanded) {
tableHeight.value = tableHeight.value - 55
@@ -220,7 +289,6 @@ const updateTotal = computed(() => {
return filteredData.value.length
})
-
const processNullValue = (value: any) => {
return value === null || value === undefined || value === '' || value === 'null'? '/' : value
}
@@ -237,37 +305,19 @@ const tableStore = new TableStore({
delete tableStore.table.params.timeFlag
},
loadCallback: () => {
- // 展开数据
+ // 保存原始数据以便后续查询
+ originalTableData.value = [...(tableStore.table.data || [])]
+
const expandedData: PollutionItem[] = [];
(tableStore.table.data || []).forEach((item: any) => {
- if (item.powerFlagPollutionList && item.powerFlagPollutionList.length > 0) {
- // 为每个监测点创建一行数据
- item.powerFlagPollutionList.forEach((point: any) => {
- expandedData.push({
- gdName: processNullValue(item.gdName),
- subStationName: processNullValue(item.subStationName),
- subVStationValue: processNullValue(item.subVStationValue),
- subVoltage: processNullValue(item.subVoltage),
- devName: processNullValue(point.devName),
- lineName: processNullValue(point.lineName),
- powerFlag: processNullValue(point.powerFlag),
- devType: processNullValue(point.devType),
- manufacturer: processNullValue(point.manufacturer),
- loginTime: processNullValue(point.loginTime),
- interval: processNullValue(point.interval),
- vharmonicValue: processNullValue(point.vharmonicValue)
- });
- });
- } else {
- // 如果没有监测点数据,也保留变电站基本信息行
- expandedData.push({
- gdName: processNullValue(item.gdName),
- subStationName: processNullValue(item.subStationName),
- subVStationValue: processNullValue(item.subVStationValue),
- subVoltage: processNullValue(item.subVoltage)
- });
- }
+ expandedData.push({
+ gdName: processNullValue(item.gdName),
+ subStationName: processNullValue(item.subStationName),
+ subVStationValue: processNullValue(item.subVStationValue),
+ subVoltage: processNullValue(item.subVoltage)
+
+ });
});
allData.value = expandedData;
@@ -340,17 +390,21 @@ const handleCurrentChange = (val: number) => {
const exportEvent = () => {
const allFilteredData = filteredData.value
tableRef.value.exportData({
- filename: '污染值报告',
+ filename: '场战级评估-污染值报告',
sheetName: 'Sheet1',
type: 'xlsx',
useStyle: true,
data: allFilteredData,
- columnFilterMethod: function (column, $columnIndex) {
- return !(column.$columnIndex === 0)
- }
+ columnFilterMethod: function (column: any) {
+ return !(
+ column.column.title === '操作'
+ )
+ }
})
}
+
+
onMounted(() => {
if (props.active) {
tableStore.index()