| | |
| | | <script> |
| | | import 'echarts' |
| | | import 'echarts/lib/chart/line' |
| | | import 'echarts/lib/chart/pie' |
| | | import 'echarts/lib/chart/bar' |
| | | import 'echarts/lib/component/tooltip' |
| | | import 'echarts/lib/component/title' |
| | | import 'echarts/lib/component/legend' |
| | | |
| | | export default { |
| | | name: "lineChart", |
| | | props: { |
| | | lineData: { |
| | | type: Array, |
| | | default: [] |
| | | }, |
| | | chartName: { |
| | | type: String, |
| | | default: "" |
| | | } |
| | | }, |
| | | watch: { |
| | | lineData: { |
| | | immediate: true, |
| | | handler(newval, oldval) { |
| | | if (newval) { |
| | | const series = newval.map((data, index) => ({ |
| | | name: index === 0 ? "总量" : "新增", |
| | | type: "line", |
| | | smooth: true, |
| | | stack: "Total", |
| | | label: { |
| | | show: true, |
| | | position: "top", |
| | | textStyle: { |
| | | fontSize: 14 // 调整字体大小 |
| | | } |
| | | }, |
| | | data: data.map(value => ({value})) |
| | | })); |
| | | |
| | | this.chartOptions.series = series; |
| | | } |
| | | } |
| | | }, |
| | | chartName:{ |
| | | handler(newval,oldval){ |
| | | if(newval){ |
| | | this.chartOptions.title.text = newval + "数据统计" |
| | | } |
| | | }, |
| | | immediate:true, |
| | | deep:true |
| | | } |
| | | }, |
| | | data() { |
| | | return { |
| | | chartOptions: { |
| | | color:['#2eadd6 ','#FFA500 '], |
| | | color: ['#2eadd6', '#FFA500'], |
| | | title: { |
| | | text: '物品主数据统计' |
| | | text: '' |
| | | }, |
| | | tooltip: { |
| | | trigger: 'axis' |
| | | }, |
| | | legend: { |
| | | data: ['总量', '新增'] |
| | | data: ['总量', '新增'], |
| | | textStyle: { |
| | | fontSize: 14 // 调整字体大小 |
| | | } |
| | | }, |
| | | xAxis: { |
| | | boundaryGap: true, // 控制坐标轴两侧留白 |
| | | boundaryGap: true, |
| | | type: 'category', |
| | | data: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'] |
| | | data: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'], |
| | | }, |
| | | yAxis: { |
| | | type: 'value' |
| | | type: 'value', |
| | | }, |
| | | series: [ |
| | | { |
| | | name: '总量', |
| | | type: 'line', |
| | | smooth: true, |
| | | stack: 'Total', |
| | | label: { |
| | | show: true, |
| | | position: 'top' |
| | | }, |
| | | data: [5000, 2000, 3600, 1000, 1000, 2000, 500, 2000, 500, 2000, 500, 2000] |
| | | }, |
| | | { |
| | | name: '新增', |
| | | type: 'line', |
| | | smooth: true, |
| | | stack: 'Total', |
| | | label: { |
| | | show: true, |
| | | position: 'top' |
| | | }, |
| | | data: [1510, 1010, 2610, 2010, 3010, 1010, 1510, 3010, 1010, 1510, 3010, 2000] |
| | | } |
| | | ] |
| | | }, |
| | | series: [] |
| | | } |
| | | }; |
| | | }, |
| | | mounted() { |
| | | }, |
| | | } |
| | | created() { |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | #chart { |
| | | width: 1280px; |
| | | width: 100%; |
| | | height: 400px; |
| | | } |
| | | |
| | | </style> |