From 60076cbbe1da6cc8ed3a4ebb8f67e92ea9be9e4a Mon Sep 17 00:00:00 2001 From: zmc <zmc_li@foxmail.com> Date: 星期二, 15 八月 2023 16:02:58 +0800 Subject: [PATCH] 设置按钮的加载效果 --- src/views/analysis/graph/AllRate.vue | 60 ++++++++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 40 insertions(+), 20 deletions(-) diff --git a/src/views/analysis/graph/AllRate.vue b/src/views/analysis/graph/AllRate.vue index 7992bda..793398e 100644 --- a/src/views/analysis/graph/AllRate.vue +++ b/src/views/analysis/graph/AllRate.vue @@ -1,10 +1,6 @@ <template> <div> <el-container> - <!-- <el-header style="text-align:right; font-size:15px "> - <i class="el-icon-s-data" style="font-size: 15px;color:rgb(226,207,207);margin-right:10px;"></i> - <span style="color:rgb(226,207,207);">鐧惧垎姣旀暟鎹�</span> - </el-header> --> <el-main> <el-form :inline="true" class="demo-form-inline"> @@ -41,13 +37,15 @@ </el-form-item> <el-form-item> - <el-button type="primary" @click="fetchData">灞曠ず鍥�</el-button> + <el-button type="primary" :loading="button.showChartButton" @click="fetchData">灞曠ず鍥�</el-button> </el-form-item> </el-form> - <el-card> - <div class="chart-container" ref="chart"></div> + <el-card v-loading="loading"> + <div class="chart-container" ref="lineChart" v-show="!isNoData"></div> + <el-empty v-show="isNoData" :image-size="200" /> </el-card> + </el-main> </el-container> </div> @@ -56,10 +54,17 @@ <script> import * as echarts from 'echarts' -import axiosInstance from '../../../utils/request.js' +import axiosInstanceInstance from '../../../utils/request.js' export default { data() { return { + button:{ + // 灞曠ず鍥剧殑鎸夐挳 + showChartButton:false, + }, + isNoData:false, + chart:null, + loading:false, chartData: [], //淇濆瓨鏌ヨ鐨勭粨鏋� //devId:'', //璁惧缂栧彿 begin:'2023-05-01', //寮�濮嬫椂闂� @@ -192,6 +197,7 @@ mounted(){ // 榛樿鍔犺浇浠樺皬濮愬湪鎴愰兘 5鏈�1鍙峰埌15鍙风殑 this.fetchData() + window.addEventListener('resize',this.updateChart) }, methods: { @@ -215,10 +221,20 @@ if(this.end){ params['end'] = this.end } - - axiosInstance.get('/data/id',{params:params}) + this.loading = true + this.button.showChartButton = true + axiosInstanceInstance.get('/data/id',{params:params}) .then(response => { this.chartData = response.data.data + this.loading = false + this.button.showChartButton = false + if(response.data.data.length==0){ + alert('璇ユ椂娈垫棤鏁版嵁') + this.isNoData = true + return + } + // 绉婚櫎绌烘暟鎹姸鎬� + this.isNoData = false this.drawChart() }) }, @@ -271,8 +287,8 @@ keyExceeding.push(item.keyExceedingRate.slice(0,-1)) }) - let chart = echarts.init(this.$refs.chart) - chart.setOption({ + this.chart = echarts.init(this.$refs.lineChart) + this.chart.setOption({ title: { text: '姣旂巼', //left: 'center' @@ -394,12 +410,12 @@ type: 'line', data: keyExceeding }, - - - ] }) + }, + updateChart(){ + this.chart.resize() } } } @@ -407,17 +423,21 @@ <style scoped> .el-card { - margin-top: 40px; + margin-top: 50px; + width:90%; + border-radius: 9px; } .chart-container { - width: 100%; - height: 600px; - + width:100%; + height: 540px; } .el-header { background-color: #010408; color: #333; line-height: 60px; } - +:deep().el-form .el-form-item__label{ + color: #000000; + font-weight: bold; +} </style> \ No newline at end of file -- Gitblit v1.9.3