From e051ca94fc5ab5f956e6bbf9ff7fa9d91cf47bb9 Mon Sep 17 00:00:00 2001
From: gaoshp <291585735@qq.com>
Date: 星期日, 10 十一月 2024 19:37:55 +0800
Subject: [PATCH] 添加饼图
---
src/views/mdc/processParam/index.vue | 68 +++++++++++++++++++++++++++++++---
1 files changed, 62 insertions(+), 6 deletions(-)
diff --git a/src/views/mdc/processParam/index.vue b/src/views/mdc/processParam/index.vue
index bdd3267..429f9b8 100644
--- a/src/views/mdc/processParam/index.vue
+++ b/src/views/mdc/processParam/index.vue
@@ -1,7 +1,7 @@
<!--
* @Date: 2024-04-09 22:11:21
* @LastEditors: gaoshp
- * @LastEditTime: 2024-11-05 22:55:01
+ * @LastEditTime: 2024-11-10 19:36:53
* @FilePath: /cps-web/src/views/mdc/processParam/index.vue
瀹炴椂鐪嬫澘
-->
@@ -43,8 +43,15 @@
v-if="(item.paramChartType == 'distribute' && item?.dayCharts?.series?.length > 1) || (item.paramChartType !== 'distribute' && item?.dayCharts?.series?.length > 0) && activeList.indexOf(index) > -1">
<div>
<el-button size="small" @click="viewData(item)">鏌ョ湅鏁版嵁</el-button>
+ <el-switch style="margin-left: 8px;" v-model="item.showPie"
+ v-show="item.paramChartType == 'distribute'" active-text="楗煎浘"
+ inactive-text="" />
</div>
- <scEcharts style="width:100%" :height="item.height" :option="item?.dayCharts">
+ <scEcharts v-if="!item.showPie" style="width:100%" :height="item.height"
+ :option="item?.dayCharts">
+ </scEcharts>
+ <scEcharts v-else style="width:100%" :height="item.height"
+ :option="item?.pieCharts">
</scEcharts>
</div>
<el-empty v-else description="鏆傛棤鏁版嵁" />
@@ -308,13 +315,15 @@
let index = this.list.findIndex(item => item.dpName === myname)
this.list[index] = Object.assign({
...this.list[index],
- dayCharts: {}
+ dayCharts: {},
+ showPie: false
})
} else {
let index = this.list.findIndex(item => item.dpName === myname)
this.list[index] = Object.assign({
...this.list[index],
- dayCharts
+ dayCharts,
+ showPie: false
})
}
@@ -415,11 +424,58 @@
},
}
let index = this.list.findIndex(item => item.dpName === myname)
+
this.list[index] = Object.assign({
...this.list[index],
- dayCharts
+ dayCharts,
+ pieCharts: this.getPieCharts(data.data),
+ showPie: false
})
- console.log(this.list, '>>>>>>>>>>>>>>>>>>>>>>111')
+ // console.log(this.list, '>>>>>>>>>>>>>>>>>>>>>>111')
+ },
+ getPieCharts(data) {
+ let start = this.timeRange.startTime
+ const obj = {
+ }
+ data.forEach(v => {
+ if (obj[v.value]) {
+ obj[v.value] += moment(v.time).valueOf() - moment(start).valueOf()
+ } else {
+ obj[v.value] = moment(v.time).valueOf() - moment(start).valueOf()
+ }
+ start = v.time
+
+ })
+ let result = Object.keys(obj).map(key => {
+ return {
+ value: obj[key] / 1000,
+ name: key,
+ }
+ })
+ let charts = {
+ tooltip: {
+ trigger: 'item',
+ formatter: function (params) {
+ console.log(params, '>>>>>.')
+ let d = moment.duration(params.value, 'seconds')
+ return `${params.name}: ${d.hours()}灏忔椂${d.minutes()}鍒�${d.seconds()}绉抈
+ }
+ },
+ legend: {
+ orient: 'vertical',
+ left: 'left'
+ },
+ series: [
+ {
+ name: '',
+ type: 'pie',
+ radius: '50%',
+ data: result
+ }
+ ],
+ }
+ console.log(obj, 'pie')
+ return charts
},
change(e) {
this.timeStart = e[0] || moment().format('YYYY-MM-DD')
--
Gitblit v1.9.3