You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							156 lines
						
					
					
						
							5.5 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							156 lines
						
					
					
						
							5.5 KiB
						
					
					
				
								import * as echarts from '../../../../ec-canvas/echarts';
							 | 
						|
								import {notSatisfactionTrend} from "../../../../utils/statisticsApi";
							 | 
						|
								
							 | 
						|
								var chart = null;
							 | 
						|
								
							 | 
						|
								function initChart(canvas, width, height, dpr) {
							 | 
						|
								    chart = echarts.init(canvas, null, {
							 | 
						|
								        width: width,
							 | 
						|
								        height: height,
							 | 
						|
								        devicePixelRatio: dpr // 像素比
							 | 
						|
								    });
							 | 
						|
								    canvas.setChart(chart);
							 | 
						|
								
							 | 
						|
								    return chart;
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								Component({
							 | 
						|
								    properties: {},
							 | 
						|
								    data: {
							 | 
						|
								        ec: {
							 | 
						|
								            lazyLoad: true
							 | 
						|
								            // onInit: initChart
							 | 
						|
								        }
							 | 
						|
								    },
							 | 
						|
								    lifetimes: {
							 | 
						|
								        ready() {
							 | 
						|
								                this.getData()
							 | 
						|
								        }
							 | 
						|
								    },
							 | 
						|
								    methods: {
							 | 
						|
								        getData() {
							 | 
						|
								            this.selectComponent('#Trend').init((canvas, width, height, dpr) => {
							 | 
						|
								                chart = echarts.init(canvas, null, {
							 | 
						|
								                    width: width,
							 | 
						|
								                    height: height,
							 | 
						|
								                    devicePixelRatio: dpr // 像素比
							 | 
						|
								                });
							 | 
						|
								                canvas.setChart(chart);
							 | 
						|
								                notSatisfactionTrend().then(({data}) => {
							 | 
						|
								                    let xData = data.monthTimes.map(item => (item.split('-')[1] - 0) + '月');
							 | 
						|
								                    let series = []
							 | 
						|
								                    let color = ['#3A80E7', '#EB8E16', '#10B2A5',]
							 | 
						|
								                    data.series.forEach((item, index) => {
							 | 
						|
								                        series.push({
							 | 
						|
								                            name: item.name,
							 | 
						|
								                            type: 'line',
							 | 
						|
								                            showAllSymbol: true,
							 | 
						|
								                            symbol: 'circle',
							 | 
						|
								                            symbolSize: 0,
							 | 
						|
								                            lineStyle: {
							 | 
						|
								                                normal: {
							 | 
						|
								                                    color: color[index],
							 | 
						|
								                                },
							 | 
						|
								                            },
							 | 
						|
								                            label: {
							 | 
						|
								                                show: false,
							 | 
						|
								                            },
							 | 
						|
								                            itemStyle: {
							 | 
						|
								                                show: false,
							 | 
						|
								                                color: '#FFF',
							 | 
						|
								                                borderColor: color[index],
							 | 
						|
								                                borderWidth: 1,
							 | 
						|
								                            },
							 | 
						|
								                            data: item.data,
							 | 
						|
								                        },)
							 | 
						|
								                    })
							 | 
						|
								                    var option = {
							 | 
						|
								                        title: {
							 | 
						|
								                            show: false,
							 | 
						|
								                            text: '',
							 | 
						|
								                            x: 'center',
							 | 
						|
								                            top: '15px',
							 | 
						|
								                            textStyle: {
							 | 
						|
								                                color: '#333333',
							 | 
						|
								                                fontWeight: 500,
							 | 
						|
								                                fontSize: 18,
							 | 
						|
								                            },
							 | 
						|
								                        },
							 | 
						|
								
							 | 
						|
								                        legend: {
							 | 
						|
								                            // icon: 'circle',
							 | 
						|
								                            data: data.series.map(item => item.name),
							 | 
						|
								                            itemGap: 12,
							 | 
						|
								                            itemWidth: 12,
							 | 
						|
								                            itemHeight: 5,
							 | 
						|
								                            x: 'left',
							 | 
						|
								                            top: '0%',
							 | 
						|
								                            textStyle: {
							 | 
						|
								                                color: '#999999',
							 | 
						|
								                                fontSize: 10,
							 | 
						|
								                                // padding:[0, 10, 0, 10],
							 | 
						|
								                            }
							 | 
						|
								                        },
							 | 
						|
								                        grid: {
							 | 
						|
								                            top: '18%',
							 | 
						|
								                            left: '2%',
							 | 
						|
								                            right: '4%',
							 | 
						|
								                            bottom: '8%',
							 | 
						|
								                            containLabel: true
							 | 
						|
								                        },
							 | 
						|
								                        xAxis: [
							 | 
						|
								                            {
							 | 
						|
								                                type: 'category',
							 | 
						|
								                                axisTick: {
							 | 
						|
								                                    show: false,
							 | 
						|
								                                },
							 | 
						|
								                                splitLine: {
							 | 
						|
								                                    show: false,
							 | 
						|
								                                },
							 | 
						|
								                                axisLine: {
							 | 
						|
								                                    lineStyle: {
							 | 
						|
								                                        color: '#323c41'
							 | 
						|
								                                    }
							 | 
						|
								                                },
							 | 
						|
								                                axisLabel: {
							 | 
						|
								                                    interval: 0,
							 | 
						|
								                                    align: 'center',
							 | 
						|
								                                    textStyle: {
							 | 
						|
								                                        fontSize: 11,
							 | 
						|
								                                        color: '#C1C1C1'
							 | 
						|
								                                    }
							 | 
						|
								                                },
							 | 
						|
								                                boundaryGap: true,
							 | 
						|
								                                data: xData,
							 | 
						|
								                            },
							 | 
						|
								                        ],
							 | 
						|
								
							 | 
						|
								                        yAxis: [
							 | 
						|
								                            {
							 | 
						|
								                                type: 'value',
							 | 
						|
								                                splitLine: {
							 | 
						|
								                                    show: false
							 | 
						|
								                                },
							 | 
						|
								                                axisLabel: {
							 | 
						|
								                                    show: true,
							 | 
						|
								                                    color: '#999999',
							 | 
						|
								                                    textStyle: {
							 | 
						|
								                                        fontSize: 11
							 | 
						|
								                                    }
							 | 
						|
								                                },
							 | 
						|
								                                axisTick: {
							 | 
						|
								                                    show: false
							 | 
						|
								                                }
							 | 
						|
								                            }
							 | 
						|
								
							 | 
						|
								                        ],
							 | 
						|
								                        series,
							 | 
						|
								                    };
							 | 
						|
								                    chart.setOption(option);
							 | 
						|
								
							 | 
						|
								                })
							 | 
						|
								                return chart
							 | 
						|
								            })
							 | 
						|
								        }
							 | 
						|
								    }
							 | 
						|
								});
							 | 
						|
								
							 |