From 67d3b57765b0ba66ae25a9da84a16e44a4ef2937 Mon Sep 17 00:00:00 2001
From: peng <peng.com>
Date: 星期三, 25 三月 2026 09:13:59 +0800
Subject: [PATCH] 调整
---
src/views/dataAnalysis/components/DataReGasStation.vue | 146 ++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 144 insertions(+), 2 deletions(-)
diff --git a/src/views/dataAnalysis/components/DataReGasStation.vue b/src/views/dataAnalysis/components/DataReGasStation.vue
index 4056c6a..1748d1a 100644
--- a/src/views/dataAnalysis/components/DataReGasStation.vue
+++ b/src/views/dataAnalysis/components/DataReGasStation.vue
@@ -1,5 +1,5 @@
<template>
- <div style="margin-right: 30px" class="data-reMechanism">
+ <div style="margin-right: 30px" class="data-reMechanism" :class="{ 'trend-detail-open': trendDetailVisible }">
<div style="display: flex; align-items: center">
<div style="margin-right:12px;font-size:16px;font-weight:bold">瓒嬪娍鍒嗘瀽</div>
<a-radio-group v-model="trendAnalysisType" @change="trendAnalysisTypeChange">
@@ -12,7 +12,7 @@
</a-radio-group>
</div>
<div>
- <div style="display: flex; align-items: flex-end; flex-direction: column">
+ <div class="trend-analysis-chart" :class="{ 'is-modal-open': trendDetailVisible }" style="display: flex; align-items: flex-end; flex-direction: column">
<a-radio-group
style="margin: 20px 0"
size="small"
@@ -31,6 +31,8 @@
:chartData="trendAnalysisData"
style="width: 100%"
:showpercent="trendAnalysisChartShowPercent"
+ :enablePointClick="true"
+ @chart-click="handleTrendChartClick"
></DataReLineChart>
</div>
<div id="trendAnalysisChartID"></div>
@@ -210,6 +212,33 @@
:typeOneTotal="customerOneTotal"
:typeTwoTotal="customerTwoTotal"
></TopTenCustomers>
+ <a-modal
+ centered
+ width="70%"
+ :footer="null"
+ v-model="trendDetailVisible"
+ :title="trendDetailTitle"
+ :zIndex="5000"
+ :getContainer="getModalContainer"
+ wrapClassName="trend-detail-modal-wrap"
+ @cancel="closeTrendDetail"
+ >
+ <a-table
+ size="middle"
+ bordered
+ :columns="trendDetailColumns"
+ :dataSource="trendDetailData"
+ :loading="trendDetailLoading"
+ :scroll="{ y: 420 }"
+ :pagination="{ pageSize: 10, showSizeChanger: true, pageSizeOptions: ['10', '20', '50'] }"
+ :rowKey="
+ (record, index) => {
+ return record.id || record.licenseNum || record.captureTime || record.startTime || index
+ }
+ "
+ >
+ </a-table>
+ </a-modal>
</div>
</template>
@@ -264,6 +293,11 @@
trendAnalysisUnit: 'DAYS', //瓒嬪娍鍒嗘瀽閫夋嫨鏃堕棿
trendAnalysisData: {}, //瓒嬪娍鍒嗘瀽鏁版嵁
trendAnalysisChart: null, //瓒嬪娍鍒嗘瀽鍥捐〃
+ trendDetailVisible: false,
+ trendDetailTitle: '瓒嬪娍鍒嗘瀽鏄庣粏',
+ trendDetailLoading: false,
+ trendDetailData: [],
+ trendDetailColumns: [],
beforeStartTime: '',
beforeEndTime: '',
afterStartTime: '',
@@ -310,6 +344,80 @@
methods: {
moment,
+ getModalContainer() {
+ return document.body
+ },
+ getTrendDetailColumnsByType() {
+ let commonIndexColumn = {
+ title: '搴忓彿',
+ dataIndex: '',
+ key: 'rowIndex',
+ width: 80,
+ align: 'center',
+ customRender: function (t, r, index) {
+ return parseInt(index) + 1
+ },
+ }
+ if (this.trendAnalysisType == 0) {
+ return [
+ commonIndexColumn,
+ { title: '鎶撴媿鏃堕棿', align: 'center', dataIndex: 'captureTime' },
+ { title: '杞︽祦閲�', align: 'center', dataIndex: 'carCount' },
+ { title: '杞﹀瀷缂栫爜', align: 'center', dataIndex: 'modelCode' },
+ { title: '璁惧缂栫爜', align: 'center', dataIndex: 'cameraCode' },
+ ]
+ }
+ if (this.trendAnalysisType == 4 || this.trendAnalysisType == 5) {
+ return [
+ commonIndexColumn,
+ { title: '鏇存柊鏃堕棿', align: 'center', dataIndex: 'updateTimeSelf' },
+ { title: '杞︾墝鍙�', align: 'center', dataIndex: 'licenseNum' },
+ { title: '瀹㈡埛绫诲瀷', align: 'center', dataIndex: 'clientName' },
+ { title: '绱鍔犳补娆℃暟', align: 'center', dataIndex: 'oilCount' },
+ { title: '绱娌瑰搧閿�閲�', align: 'center', dataIndex: 'oilSum' },
+ ]
+ }
+ return [
+ commonIndexColumn,
+ { title: '杩涚珯鏃堕棿', align: 'center', dataIndex: 'startTime' },
+ { title: '杞︾墝鍙�', align: 'center', dataIndex: 'licenseNum' },
+ { title: '琛屼负绫诲瀷', align: 'center', dataIndex: 'behaviorText' },
+ { title: '鍔犳补浣�', align: 'center', dataIndex: 'oilPosition' },
+ { title: '娌瑰搧閿�閲�', align: 'center', dataIndex: 'oilVolume' },
+ { title: '閫氳繃鐜�(鍒�)', align: 'center', dataIndex: 'spandTime' },
+ ]
+ },
+ handleTrendChartClick(params) {
+ if (!params || !params.name) {
+ return
+ }
+ if (this.$refs.trendAnalysisLineRef && this.$refs.trendAnalysisLineRef.hideTooltip) {
+ this.$refs.trendAnalysisLineRef.hideTooltip()
+ }
+ this.trendDetailVisible = true
+ this.trendDetailTitle = '瓒嬪娍鍒嗘瀽鏄庣粏 - ' + params.name
+ this.trendDetailColumns = this.getTrendDetailColumnsByType()
+ this.trendDetailLoading = true
+ postAction('/jyz/dataTable/statTrendDetail', {
+ orgCode: this.selectTreeObj.orgCode,
+ startTime: this.startTime,
+ endTime: this.endTime,
+ trendType: this.trendAnalysisType,
+ timeUnit: this.trendAnalysisUnit,
+ statTime: params.name,
+ seriesName: params.seriesName,
+ })
+ .then((res) => {
+ this.trendDetailData = res.result || []
+ })
+ .finally(() => {
+ this.trendDetailLoading = false
+ })
+ },
+ closeTrendDetail() {
+ this.trendDetailVisible = false
+ this.trendDetailData = []
+ },
//鑾峰彇杞﹀瀷/鍔犳补浣嶆姌绾垮浘鏁版嵁
getVehicleTypeLineData() {
postAction('/jyz/dataTable/statisMidTable', {
@@ -554,7 +662,29 @@
background: #fff;
}
.data-reMechanism {
+ position: relative;
+ isolation: isolate;
+ > div {
+ position: relative;
+ z-index: 2;
+ }
+ > div:nth-child(2) {
+ z-index: 1;
+ }
+ &.trend-detail-open {
+ pointer-events: none;
+ }
+ .trend-analysis-chart {
+ position: relative;
+ z-index: 1;
+ overflow: hidden;
+ }
+ .trend-analysis-chart.is-modal-open {
+ pointer-events: none;
+ }
.table-operator {
+ position: relative;
+ z-index: 2;
margin: 24px 0 0 0;
}
.block-title {
@@ -562,6 +692,8 @@
font-size: 16px;
}
.fueling-overview-ct {
+ position: relative;
+ z-index: 2;
// margin: 0 12px;
.fueling-overview-block {
display: flex;
@@ -578,6 +710,8 @@
}
}
.oil-freq-compare-ct {
+ position: relative;
+ z-index: 2;
margin: 8px 12px 24px 12px;
.oil-freq-compare-operator {
display: flex;
@@ -597,3 +731,11 @@
}
}
</style>
+<style lang="less">
+.trend-detail-modal-wrap {
+ z-index: 5000 !important;
+}
+.trend-detail-modal-wrap + .ant-modal-mask {
+ z-index: 4999 !important;
+}
+</style>
--
Gitblit v1.8.0