/** * 顶部header */ Vue.component("time-study-chart", { template: `
`, props: { height:{ type:Number }, data:{ type:Object } }, data() { return { option:{} } }, mounted(){ this.init() }, methods: { init(){ this.getChartData() }, //分类及工时情况 getChartData(){ var chChartBar = echarts.init(this.$refs.chart); this.echartBar(chChartBar,this.data) }, echartBar(chChart,data){ let newPromise = new Promise((resolve) => { resolve() }) //然后异步执行echarts的初始化函数 newPromise.then(() => { this.option = { grid: { top:'10%', left: "2%", right: "0%", bottom: "0%", containLabel: true, }, tooltip: { trigger: "axis", formatter: function (params) { return (params[0].seriesName+"
" +params[0].name +":"+ params[0].data + "%") }, }, xAxis: { type: "category", data: data.xAxis, axisLine: { //坐标轴轴线相关设置。数学上的x轴 show: true, lineStyle: { color: "#25597e", type: "dashed", }, }, axisTick: { show: false }, axisLabel: { //坐标轴刻度标签的相关设置 textStyle: { color: "#c5d9fc", margin: 20, fontSize:12 }, }, }, yAxis: { type: "value", axisLine: { //坐标轴轴线相关设置。数学上的x轴 show: false, lineStyle: { color: "#c5d9fc", type: "dashed", }, }, axisTick: { show: false }, axisLabel: { show: true, //坐标轴刻度标签的相关设置 textStyle: { color: "#c5d9fc", margin: 20, fontSize:12 }, }, splitLine: { show: true, lineStyle: { color: "#25597e", type: "dashed", }, }, }, series: [ { name: data.seriesName, type: "pictorialBar", barCategoryGap: "0%", label: { normal: { show: true, position: "top", color:"#fff" }, }, //symbol: 'path://M0,10 L10,10 L5,0 L0,10 z', symbol: "path://M0,10 L10,10 C5.5,10 5.5,5 5,0 C4.5,5 4.5,10 0,10 z", itemStyle: { normal: { color: { type: "linear", x: 0, y: 0, x2: 0, y2: 1, colorStops: [ { offset: 0, color: "rgba(15,133,224,0.2)", // 0% 处的颜色 }, { offset: 0.9, color: "rgba(15,133,224,0.8)", // 100% 处的颜色 }, ], global: false, // 缺省为 false }, }, emphasis: { opacity: 1, }, }, data: data.data, z: 10, }, ], }; chChart.setOption(this.option); window.onresize = chChart.resize; }) }, }, watch:{ data: function (n,o) { this.init() } } })