From a79582f0c67ddc681d2804669455ae13c64de8f9 Mon Sep 17 00:00:00 2001 From: ludc Date: 星期二, 26 十二月 2023 20:20:22 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- Source/UBCS-WEB/src/components/StatisticsComponent/ColumnarChart.vue | 113 +++++++++++++++++++++++++------------------------------- 1 files changed, 51 insertions(+), 62 deletions(-) diff --git a/Source/UBCS-WEB/src/components/StatisticsComponent/ColumnarChart.vue b/Source/UBCS-WEB/src/components/StatisticsComponent/ColumnarChart.vue index 3824b23..bf10bb2 100644 --- a/Source/UBCS-WEB/src/components/StatisticsComponent/ColumnarChart.vue +++ b/Source/UBCS-WEB/src/components/StatisticsComponent/ColumnarChart.vue @@ -1,6 +1,9 @@ <template> <basic-container> <v-chart id="chart" :auto-resize="true" :options="chartOptions"></v-chart> + <div style="display: inline-block;float: right;margin-bottom: 10px;margin-right: 60px"> + <el-button size="small" type="danger" plain @click="delHandler">鍒犻櫎</el-button> + </div> </basic-container> </template> @@ -9,90 +12,66 @@ import 'echarts/lib/component/tooltip' import 'echarts/lib/component/title' import 'echarts/lib/component/legend' +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: { + 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: "", }, @@ -141,6 +120,16 @@ }, created() { }, + methods: { + delHandler() { + deleteChartId({ btmname: this.btmname, chartId: '2' }).then(res => { + this.$message.success(this.chartName+'鏌辩姸鍥撅紝鍒犻櫎鎴愬姛锛�') + this.$emit('refresh'); + }).catch(error => { + this.$message.error(error) + }) + } + } }; </script> -- Gitblit v1.9.3