From 6ef001c79a3d09b716a47e4be8c13f3753c311c1 Mon Sep 17 00:00:00 2001 From: 田源 <lastanimals@163.com> Date: 星期一, 25 十二月 2023 16:21:43 +0800 Subject: [PATCH] 柱状图切换展示形式 --- Source/UBCS-WEB/src/components/StatisticsComponent/ColumnarChart.vue | 108 ++++++++++++++++++++---------------------------------- 1 files changed, 40 insertions(+), 68 deletions(-) diff --git a/Source/UBCS-WEB/src/components/StatisticsComponent/ColumnarChart.vue b/Source/UBCS-WEB/src/components/StatisticsComponent/ColumnarChart.vue index 6762433..3e5c2de 100644 --- a/Source/UBCS-WEB/src/components/StatisticsComponent/ColumnarChart.vue +++ b/Source/UBCS-WEB/src/components/StatisticsComponent/ColumnarChart.vue @@ -12,94 +12,66 @@ import 'echarts/lib/component/tooltip' import 'echarts/lib/component/title' import 'echarts/lib/component/legend' -import {deleteChartId} from "@/api/statistic/chart" +import { deleteChartId } from "@/api/statistic/chart" export default { name: "ColumnarChart", - props:{ - columnarData:{ - type:Array, - default:[] + props: { + columnarData: { + type: Array, + default: [] }, - chartName:{ - type:String, + chartName: { + type: String, default: "" }, - btmname :{ + btmname: { type: String } }, - watch:{ - columnarData:{ - immediate:true, - handler(newval,oldval){ - if(newval && newval.length > 0){ - const minValues = newval[0].map(function (_, i) { - return Math.min.apply( - null, - newval.map(function (item) { - return item[i]; - }) - ); - }); - - let colors = ['#84C9E5', '#F68686']; - - const seriesData = []; - for (let i = 0; i < newval.length; i++) { - let curSeriesData = []; - for (let j = 0; j < newval[i].length; j++) { - let borderRadius = [0, 0, 0, 0]; - if (newval[i][j] === minValues[j]) { - borderRadius = [50, 50, 0, 0]; - } - curSeriesData.push({ - value: newval[i][j], - itemStyle: { - normal: { - // barBorderRadius: borderRadius, // 璁剧疆鍦嗚 - color: colors[i], - } - }, - }); - } - let seriesName = (i === 0 ? "鎬婚噺" : "鏂板") - seriesData.push({ - name: seriesName, - type: "bar", - stack: "鎬婚噺", - barWidth: 60, - data: curSeriesData, + watch: { + columnarData: { + immediate: true, + handler(newval, oldval) { + if (newval && newval.length > 0) { + let seriesData = newval.map((data, index) => { + let name = index === 0 ? "鎬婚噺" : "鏂板"; + return { + name: name, + type: 'bar', + data: data, + barWidth: '40%', label: { show: true, position: 'top', - formatter: function (params) { - return params.value === 0 ? '' : params.value; // 鍊间负 0 涓嶆樉绀猴紝鍏朵粬鎯呭喌鏄剧ず - } + // formatter: function (params) { + // if (params.value !== 0) { + // return params.value; + // } else { + // return ''; + // } + // } }, - emphasis: { - focus: "series", - }, - }); - this.chartOptions.series=seriesData - } + }; + }); + this.chartOptions.series = seriesData; } } }, - chartName:{ - handler(newval,oldval){ - if(newval){ + chartName: { + handler(newval, oldval) { + if (newval) { this.chartOptions.title.text = newval + "鏁版嵁缁熻" } }, - immediate:true, - deep:true + immediate: true, + deep: true } }, data() { return { chartOptions: { - color:['#84C9E5', '#F68686'], + color: ['#84C9E5', '#F68686'], title: { text: "", }, @@ -148,12 +120,12 @@ }, created() { }, - methods:{ - delHandler(){ - deleteChartId({btmname:this.btmname,chartId:'2'}).then(res=>{ + methods: { + delHandler() { + deleteChartId({ btmname: this.btmname, chartId: '2' }).then(res => { this.$message.success('鍒犻櫎鎴愬姛') this.$emit('refresh'); - }).catch(error=>{ + }).catch(error => { this.$message.error(error) }) } -- Gitblit v1.9.3