From e897fc3d35f8e5dfa56d5f0c80a655ccf99202cf Mon Sep 17 00:00:00 2001 From: surprise <15810472099@163.com> Date: 星期四, 09 五月 2024 11:06:43 +0800 Subject: [PATCH] 代码更新 --- src/components/chart/BaseLineChart.vue | 117 +++++++++++++++++++++++++++++++++++----------------------- 1 files changed, 70 insertions(+), 47 deletions(-) diff --git a/src/components/chart/BaseLineChart.vue b/src/components/chart/BaseLineChart.vue index fb37072..de73b0b 100644 --- a/src/components/chart/BaseLineChart.vue +++ b/src/components/chart/BaseLineChart.vue @@ -1,5 +1,6 @@ <template> - <div class="linechar" ref="chart"></div> + <div class="linechar" + ref="chart"></div> </template> <script> @@ -11,7 +12,9 @@ countZhPipeMapLength, countLargeCategories, countProjectType, - countProjectDown + countProjectDown, + countProjectTypeNumber, + countStorageByProject, } from "@/api/screen.js" export default { props: { @@ -52,21 +55,31 @@ default: "", }, }, - data() { + data () { return { chart: null, dataList: [], } }, computed: { - option() { - let xAxis = [] - let yAxis = [] - - this.dataList.forEach(item => { - xAxis.push(item.type) - yAxis.push(item.count) - }) + option () { + let xAxis=[] + let yAxis=[] + const proObj=this.dataList.find(item => item.椤圭洰鍚嶇О==this.project) + if(proObj) { + Object.keys(proObj).forEach(item => { + if(item.toString()!='椤圭洰鍚嶇О') { + xAxis.push(item) + yAxis.push(proObj[item]) + } + }) + } else { + this.dataList.forEach(item => { + let type=item.type||item.projtype + xAxis.push(type) + yAxis.push(item.count) + }) + } // let data = [220, 182, 191, 234, 290, 330, 310] // const sideData = data.map(item => { @@ -76,7 +89,17 @@ // } // }) - let option = { + var obj=[]; + for(var i in xAxis) { + if(xAxis[i]) { + obj.push(xAxis[i]) + } else { + obj.push("鍏朵粬") + } + } + + xAxis=obj + let option={ tooltip: { trigger: "axis", }, @@ -153,88 +176,88 @@ watch: { option: { deep: true, - handler(newVal) { + handler (newVal) { this.setOptions(newVal) }, }, project: { deep: true, immediate: true, - handler(newVal) { - let requsetFn = null - switch (newVal) { + handler (newVal) { + let requsetFn=null + switch(newVal) { case "鍏ㄧ悆椤圭洰": - requsetFn = countLargeCategories + requsetFn=countProjectTypeNumber break case "鍏ㄥ浗椤圭洰": - requsetFn = countLargeCategories + requsetFn=countProjectTypeNumber break case "鍏ㄧ悆绠$綉鍥�": - requsetFn = countZhPipeMapLength + requsetFn=countZhPipeMapLength break case "鍏ㄥ浗绠$綉鍥�": - requsetFn = countZhPipeMapLength + requsetFn=countZhPipeMapLength break default: - requsetFn = GetServicesVisitsCount + requsetFn=countStorageByProject break } - requsetFn && this.initData(requsetFn) + requsetFn&&this.initData(requsetFn) this.setOptions(this.option) }, }, }, - mounted() { + mounted () { // this.initData() this.initChart() - if (this.autoResize) { - window.addEventListener("resize", this.resizeHandler) + if(this.autoResize) { + window.addEventListener("resize",this.resizeHandler) } }, - beforeDestroy() { - if (!this.chart) { + beforeDestroy () { + if(!this.chart) { return } - if (this.autoResize) { - window.removeEventListener("resize", this.resizeHandler) + if(this.autoResize) { + window.removeEventListener("resize",this.resizeHandler) } this.chart.dispose() - this.chart = null + this.chart=null }, methods: { - resizeHandler() { - this.chart && this.chart.resize() + resizeHandler () { + this.chart&&this.chart.resize() }, - initChart() { - this.chart = echarts.init(this.$refs.chart, "", { + initChart () { + this.chart=echarts.init(this.$refs.chart,"",{ renderer: this.type, }) this.chart.setOption(this.option) - this.chart.on("click", this.handleClick) + this.chart.on("click",this.handleClick) }, - handleClick(params) { - this.$emit("click", params) + handleClick (params) { + this.$emit("click",params) }, - setOptions(option) { + setOptions (option) { this.clearChart() this.resizeHandler() - if (this.chart) { + if(this.chart) { this.chart.setOption(option) } }, - refresh() { + refresh () { this.setOptions(this.option) }, - clearChart() { - this.chart && this.chart.clear() + clearChart () { + this.chart&&this.chart.clear() }, - async initData(requsetFn = GetServicesVisitsCount) { - const res = await requsetFn(this.params) - if (res.code == 200) { - this.dataList = res.result - console.log("requsetFn", res) + async initData (requsetFn=GetServicesVisitsCount) { + const res=await requsetFn(this.params) + if(res.code==200) { + this.dataList=res.result + console.log("requsetFn",res) } }, }, -- Gitblit v1.9.3