| | |
| | | textBorderColor: '#000', |
| | | textBorderWidth: 1, |
| | | textShadowBlur: 1, |
| | | textShadowColor: colorY, |
| | | textShadowColor: colorX, |
| | | textShadowOffsetX: 0, |
| | | textShadowOffsetY: 0, |
| | | paddingTop: 10, |
| | |
| | | splitLine: { // 分隔线 |
| | | length: 10, // 属性length控制线长 |
| | | lineStyle: { // 属性lineStyle(详见lineStyle)控制线条样式 |
| | | color: colorY |
| | | color: colorX |
| | | } |
| | | }, |
| | | axisLabel: { |
| | |
| | | textBorderColor: '#000', |
| | | textBorderWidth: 1, |
| | | textShadowBlur: 1, |
| | | textShadowColor: colorY, |
| | | textShadowColor: colorX, |
| | | textShadowOffsetX: 0, |
| | | textShadowOffsetY: 0, |
| | | paddingTop: 10, |
| | |
| | | } |
| | | return option |
| | | } |
| | | |
| | | // 车间质量 |
| | | export function cjzl01(scaleData) { |
| | | var rich = { |
| | | white: { |
| | | color: colorX, |
| | | align: 'center', |
| | | padding: [3, 0], |
| | | fontSize: 20 |
| | | } |
| | | } |
| | | var data = [] |
| | | var color = ['#00ffff', '#ff5b00', '#006ced', '#ffe000', '#ffa800', '#ff3000'] |
| | | for (var i = 0; i < scaleData.length; i++) { |
| | | data.push({ |
| | | value: scaleData[i].value, |
| | | name: scaleData[i].name, |
| | | itemStyle: { |
| | | normal: { |
| | | borderWidth: 5, |
| | | shadowBlur: 20, |
| | | borderColor: color[i], |
| | | shadowColor: color[i] |
| | | } |
| | | } |
| | | } |
| | | ) |
| | | } |
| | | var seriesObj = [{ |
| | | name: '', |
| | | type: 'pie', |
| | | clockWise: false, |
| | | radius: [60, 65], |
| | | hoverAnimation: false, |
| | | top: '10%', |
| | | itemStyle: { |
| | | normal: { |
| | | label: { |
| | | show: true, |
| | | position: 'outside', |
| | | color: colorX, |
| | | fontSize: 20, |
| | | formatter: function(params) { |
| | | if (params.name !== '') { |
| | | return params.name + '\n{white|' + params.value + '}' |
| | | } else { |
| | | return '' |
| | | } |
| | | }, |
| | | rich: rich |
| | | }, |
| | | labelLine: { |
| | | length: 10, |
| | | length2: 10, |
| | | show: true, |
| | | color: '#00ffff' |
| | | } |
| | | } |
| | | }, |
| | | data: data |
| | | }] |
| | | const option = { |
| | | backgroundColor: 'transparent', |
| | | tooltip: { |
| | | show: false |
| | | }, |
| | | legend: { |
| | | show: false |
| | | }, |
| | | toolbox: { |
| | | show: false |
| | | }, |
| | | title: { |
| | | text: '总和', |
| | | left: '49%', |
| | | top: '45%', |
| | | textAlign: 'center', |
| | | textStyle: { |
| | | color: '#00ffff', |
| | | fontSize: '20', |
| | | fontWeight: 'bolder' |
| | | }, |
| | | subtext: scaleData.length > 0 ? scaleData.map(i => parseFloat(i.value)).reduce((pre, curr) => { |
| | | return pre + curr |
| | | }) : [0], |
| | | subtextStyle: { |
| | | color: '#00ffff', |
| | | fontSize: '20', |
| | | fontWeight: 'bolder' |
| | | } |
| | | }, |
| | | series: seriesObj |
| | | } |
| | | |
| | | return option |
| | | } |
| | | |
| | | export function cjzl02(title, scaleData) { |
| | | var rich = { |
| | | white: { |
| | | color: '#ddd', |
| | | align: 'center', |
| | | padding: [5, 0], |
| | | fontSize: 20 |
| | | } |
| | | } |
| | | |
| | | var data = [] |
| | | var color = ['#00ffff', '#ff3000', '#ffe000', '#ffa800', '#ff5b00'] |
| | | for (var i = 0; i < scaleData.length; i++) { |
| | | data.push({ |
| | | value: scaleData[i].value, |
| | | name: scaleData[i].name, |
| | | itemStyle: { |
| | | normal: { |
| | | borderWidth: 5, |
| | | shadowBlur: 20, |
| | | borderColor: color[i], |
| | | shadowColor: [i] |
| | | } |
| | | } |
| | | } |
| | | ) |
| | | } |
| | | var seriesObj = [{ |
| | | name: '', |
| | | type: 'pie', |
| | | clockWise: false, |
| | | radius: [60, 65], |
| | | top: '10%', |
| | | hoverAnimation: false, |
| | | itemStyle: { |
| | | normal: { |
| | | label: { |
| | | fontSize: 20, |
| | | show: true, |
| | | position: 'outside', |
| | | color: colorX, |
| | | formatter: function(params) { |
| | | // var percent = 0 |
| | | // var total = 0 |
| | | // for (var i = 0; i < scaleData.length; i++) { |
| | | // total += scaleData[i].value |
| | | // } |
| | | // percent = ((params.value / total) * 100).toFixed(0) |
| | | if (params.name !== '') { |
| | | return params.name + '\n{white|' + '' + params.value + '}' |
| | | } else { |
| | | return '' |
| | | } |
| | | }, |
| | | rich: rich |
| | | }, |
| | | labelLine: { |
| | | length: 10, |
| | | length2: 20, |
| | | show: true, |
| | | color: '#00ffff' |
| | | } |
| | | } |
| | | }, |
| | | data: data |
| | | }] |
| | | const option = { |
| | | backgroundColor: 'transparent', |
| | | tooltip: { |
| | | show: false |
| | | }, |
| | | top: 'middle', |
| | | title: { |
| | | text: title, |
| | | left: '49%', |
| | | top: '45%', |
| | | textAlign: 'center', |
| | | textStyle: { |
| | | // color: colorX, |
| | | color: '#00ffff', |
| | | fontSize: '20', |
| | | fontWeight: 'bolder' |
| | | }, |
| | | subtext: scaleData.length > 0 ? scaleData.map(i => parseFloat(i.value)).reduce((pre, curr) => { |
| | | return pre + curr |
| | | }) : [0], |
| | | subtextStyle: { |
| | | color: '#00ffff', |
| | | fontSize: '20', |
| | | fontWeight: 'bolder' |
| | | } |
| | | }, |
| | | legend: { |
| | | show: false |
| | | }, |
| | | toolbox: { |
| | | show: false |
| | | }, |
| | | series: seriesObj |
| | | } |
| | | |
| | | return option |
| | | } |
| | | |
| | | export function cjzl03(xData, legendData, yData, show) { // 左侧 |
| | | return { |
| | | backgroundColor: 'transparent', |
| | | // tooltip: {}, |
| | | title: { |
| | | show: show, |
| | | text: '各车间不良趋势', |
| | | left: '50%', |
| | | top: '3%', |
| | | textAlign: 'center', |
| | | textStyle: { |
| | | // color: '#fff', |
| | | color: '#00ffff', |
| | | fontSize: '20', |
| | | fontWeight: 'bolder' |
| | | } |
| | | }, |
| | | grid: { |
| | | left: '2%', |
| | | right: '2%', |
| | | bottom: '20%', |
| | | top: '15%', |
| | | containLabel: true |
| | | }, |
| | | legend: { |
| | | data: legendData, |
| | | textStyle: { fontSize: 16, color: '#fff' }, |
| | | itemWidth: 25, |
| | | itemHeight: 10, |
| | | itemGap: 15, |
| | | bottom: '5%', |
| | | selectedMode: false |
| | | }, |
| | | xAxis: [{ |
| | | type: 'category', |
| | | boundaryGap: true, |
| | | axisLabel: { |
| | | interval: 0, |
| | | formatter: '{value}', |
| | | fontSize: 16, |
| | | margin: 20, |
| | | textStyle: { |
| | | color: colorX |
| | | } |
| | | }, |
| | | axisLine: { |
| | | lineStyle: { |
| | | color: '#032c58' |
| | | } |
| | | }, |
| | | splitLine: { |
| | | show: false, |
| | | lineStyle: { |
| | | color: '#032c58' |
| | | } |
| | | }, |
| | | axisTick: { |
| | | show: false |
| | | }, |
| | | data: xData |
| | | }], |
| | | yAxis: [ |
| | | { |
| | | // max: 800, |
| | | boundaryGap: false, |
| | | splitNumber: 4, |
| | | type: 'value', |
| | | axisLabel: { |
| | | textStyle: { |
| | | fontSize: 18, |
| | | color: colorX |
| | | } |
| | | }, |
| | | // name: '单', |
| | | // nameTextStyle: { |
| | | // color: colorY, |
| | | // fontSize: 14, |
| | | // lineHeight: 20 |
| | | // }, |
| | | splitLine: { |
| | | show: true, |
| | | lineStyle: { |
| | | color: '#032c58' |
| | | } |
| | | }, |
| | | axisLine: { |
| | | show: true, |
| | | lineStyle: { |
| | | color: '#032c58' |
| | | } |
| | | }, |
| | | axisTick: { |
| | | show: true |
| | | } |
| | | } |
| | | ], |
| | | series: [ |
| | | { |
| | | name: legendData[0], |
| | | type: 'line', |
| | | // smooth: true, //是否平滑曲线显示 |
| | | // symbol:'circle', // 默认是空心圆(中间是白色的),改成实心圆 |
| | | showAllSymbol: true, |
| | | symbol: 'emptyCircle', |
| | | symbolSize: 6, |
| | | lineStyle: { |
| | | normal: { |
| | | color: '#00ffff' // 线条颜色 |
| | | }, |
| | | borderColor: '#00ffff' |
| | | }, |
| | | label: { |
| | | show: true, |
| | | position: 'top', |
| | | textStyle: { |
| | | fontSize: 16, |
| | | color: '#fff' |
| | | } |
| | | }, |
| | | itemStyle: { |
| | | normal: { |
| | | color: '#00ffff' |
| | | } |
| | | }, |
| | | tooltip: { |
| | | show: false |
| | | }, |
| | | // areaStyle: { // 区域填充样式 |
| | | // normal: { |
| | | // // 线性渐变,前4个参数分别是x0,y0,x2,y2(范围0~1);相当于图形包围盒中的百分比。如果最后一个参数是‘true’,则该四个值是绝对像素位置。 |
| | | // color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ |
| | | // offset: 0, |
| | | // color: 'rgba(0,154,120,1)' |
| | | // }, |
| | | // { |
| | | // offset: 1, |
| | | // color: 'rgba(0,0,0, 0)' |
| | | // } |
| | | // ], false), |
| | | // shadowColor: 'rgba(53,142,215, 0.9)', // 阴影颜色 |
| | | // shadowBlur: 20 // shadowBlur设图形阴影的模糊大小。配合shadowColor,shadowOffsetX/Y, 设置图形的阴影效果。 |
| | | // } |
| | | // }, |
| | | data: yData[0] |
| | | }, |
| | | { |
| | | name: legendData[1], |
| | | type: 'line', |
| | | // smooth: true, //是否平滑曲线显示 |
| | | // symbol:'circle', // 默认是空心圆(中间是白色的),改成实心圆 |
| | | showAllSymbol: true, |
| | | symbol: 'emptyCircle', |
| | | symbolSize: 6, |
| | | lineStyle: { |
| | | normal: { |
| | | color: '#ff3000' // 线条颜色 |
| | | }, |
| | | borderColor: '#ff3000' |
| | | }, |
| | | label: { |
| | | show: true, |
| | | position: 'top', |
| | | textStyle: { |
| | | fontSize: 16, |
| | | color: '#fff' |
| | | } |
| | | }, |
| | | itemStyle: { |
| | | normal: { |
| | | color: '#ff3000' |
| | | } |
| | | }, |
| | | tooltip: { |
| | | show: false |
| | | }, |
| | | // areaStyle: { // 区域填充样式 |
| | | // normal: { |
| | | // // 线性渐变,前4个参数分别是x0,y0,x2,y2(范围0~1);相当于图形包围盒中的百分比。如果最后一个参数是‘true’,则该四个值是绝对像素位置。 |
| | | // color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ |
| | | // offset: 0, |
| | | // color: 'rgba(0,154,120,1)' |
| | | // }, |
| | | // { |
| | | // offset: 1, |
| | | // color: 'rgba(0,0,0, 0)' |
| | | // } |
| | | // ], false), |
| | | // shadowColor: 'rgba(53,142,215, 0.9)', // 阴影颜色 |
| | | // shadowBlur: 20 // shadowBlur设图形阴影的模糊大小。配合shadowColor,shadowOffsetX/Y, 设置图形的阴影效果。 |
| | | // } |
| | | // }, |
| | | data: yData[1] |
| | | }, |
| | | { |
| | | name: legendData[2], |
| | | type: 'line', |
| | | // smooth: true, //是否平滑曲线显示 |
| | | // symbol:'circle', // 默认是空心圆(中间是白色的),改成实心圆 |
| | | showAllSymbol: true, |
| | | symbol: 'emptyCircle', |
| | | symbolSize: 6, |
| | | lineStyle: { |
| | | normal: { |
| | | color: '#ffe000' // 线条颜色 |
| | | }, |
| | | borderColor: '#ffe000' |
| | | }, |
| | | label: { |
| | | show: true, |
| | | position: 'top', |
| | | textStyle: { |
| | | fontSize: 16, |
| | | color: '#fff' |
| | | } |
| | | }, |
| | | itemStyle: { |
| | | normal: { |
| | | color: '#ffe000' |
| | | } |
| | | }, |
| | | tooltip: { |
| | | show: false |
| | | }, |
| | | // areaStyle: { // 区域填充样式 |
| | | // normal: { |
| | | // // 线性渐变,前4个参数分别是x0,y0,x2,y2(范围0~1);相当于图形包围盒中的百分比。如果最后一个参数是‘true’,则该四个值是绝对像素位置。 |
| | | // color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ |
| | | // offset: 0, |
| | | // color: 'rgba(0,154,120,1)' |
| | | // }, |
| | | // { |
| | | // offset: 1, |
| | | // color: 'rgba(0,0,0, 0)' |
| | | // } |
| | | // ], false), |
| | | // shadowColor: 'rgba(53,142,215, 0.9)', // 阴影颜色 |
| | | // shadowBlur: 20 // shadowBlur设图形阴影的模糊大小。配合shadowColor,shadowOffsetX/Y, 设置图形的阴影效果。 |
| | | // } |
| | | // }, |
| | | data: yData[2] |
| | | }, |
| | | { |
| | | name: legendData[3], |
| | | type: 'line', |
| | | // smooth: true, //是否平滑曲线显示 |
| | | // symbol:'circle', // 默认是空心圆(中间是白色的),改成实心圆 |
| | | showAllSymbol: true, |
| | | symbol: 'emptyCircle', |
| | | symbolSize: 6, |
| | | lineStyle: { |
| | | normal: { |
| | | color: '#ffa800' // 线条颜色 |
| | | }, |
| | | borderColor: '#ffa800' |
| | | }, |
| | | label: { |
| | | show: true, |
| | | position: 'top', |
| | | textStyle: { |
| | | fontSize: 16, |
| | | color: '#fff' |
| | | } |
| | | }, |
| | | itemStyle: { |
| | | normal: { |
| | | color: '#ffa800' |
| | | } |
| | | }, |
| | | tooltip: { |
| | | show: false |
| | | }, |
| | | // areaStyle: { // 区域填充样式 |
| | | // normal: { |
| | | // // 线性渐变,前4个参数分别是x0,y0,x2,y2(范围0~1);相当于图形包围盒中的百分比。如果最后一个参数是‘true’,则该四个值是绝对像素位置。 |
| | | // color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ |
| | | // offset: 0, |
| | | // color: 'rgba(0,154,120,1)' |
| | | // }, |
| | | // { |
| | | // offset: 1, |
| | | // color: 'rgba(0,0,0, 0)' |
| | | // } |
| | | // ], false), |
| | | // shadowColor: 'rgba(53,142,215, 0.9)', // 阴影颜色 |
| | | // shadowBlur: 20 // shadowBlur设图形阴影的模糊大小。配合shadowColor,shadowOffsetX/Y, 设置图形的阴影效果。 |
| | | // } |
| | | // }, |
| | | data: yData[3] |
| | | }, |
| | | { |
| | | name: legendData[4], |
| | | type: 'line', |
| | | // smooth: true, //是否平滑曲线显示 |
| | | // symbol:'circle', // 默认是空心圆(中间是白色的),改成实心圆 |
| | | showAllSymbol: true, |
| | | symbol: 'emptyCircle', |
| | | symbolSize: 6, |
| | | lineStyle: { |
| | | normal: { |
| | | color: '#ff5b00' // 线条颜色 |
| | | }, |
| | | borderColor: '#ff5b00' |
| | | }, |
| | | label: { |
| | | show: true, |
| | | position: 'top', |
| | | textStyle: { |
| | | fontSize: 16, |
| | | color: '#fff' |
| | | } |
| | | }, |
| | | itemStyle: { |
| | | normal: { |
| | | color: '#ff5b00' |
| | | } |
| | | }, |
| | | tooltip: { |
| | | show: false |
| | | }, |
| | | // areaStyle: { // 区域填充样式 |
| | | // normal: { |
| | | // // 线性渐变,前4个参数分别是x0,y0,x2,y2(范围0~1);相当于图形包围盒中的百分比。如果最后一个参数是‘true’,则该四个值是绝对像素位置。 |
| | | // color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ |
| | | // offset: 0, |
| | | // color: 'rgba(0,154,120,1)' |
| | | // }, |
| | | // { |
| | | // offset: 1, |
| | | // color: 'rgba(0,0,0, 0)' |
| | | // } |
| | | // ], false), |
| | | // shadowColor: 'rgba(53,142,215, 0.9)', // 阴影颜色 |
| | | // shadowBlur: 20 // shadowBlur设图形阴影的模糊大小。配合shadowColor,shadowOffsetX/Y, 设置图形的阴影效果。 |
| | | // } |
| | | // }, |
| | | data: yData[4] |
| | | } |
| | | ] |
| | | } |
| | | } |
| | | |
| | | export function cjzl04(xData, data1, data2, data3) { // 右侧 |
| | | const option = { |
| | | backgroundColor: 'transparent', |
| | | grid: { |
| | | left: '2%', |
| | | top: '12%', |
| | | right: '2%', |
| | | bottom: '20%', |
| | | containLabel: true |
| | | }, |
| | | legend: { |
| | | // show: true, |
| | | // itemGap: 20, |
| | | // data: ['注册总量', '最新注册量'], |
| | | // textStyle: { |
| | | // color: '#f9f9f9', |
| | | // borderColor: '#fff' |
| | | // } |
| | | data: ['完成数', '任务数', '完成率'], |
| | | textStyle: { fontSize: 16, color: '#fff' }, |
| | | itemWidth: 25, |
| | | itemHeight: 10, |
| | | itemGap: 15, |
| | | bottom: '5%', |
| | | selectedMode: false |
| | | }, |
| | | xAxis: { |
| | | type: 'category', |
| | | boundaryGap: true, |
| | | axisLabel: { |
| | | interval: 0, |
| | | formatter: '{value}', |
| | | fontSize: 16, |
| | | margin: 20, |
| | | textStyle: { |
| | | color: colorX |
| | | } |
| | | }, |
| | | axisLine: { |
| | | lineStyle: { |
| | | color: '#032c58' |
| | | } |
| | | }, |
| | | splitLine: { |
| | | show: false, |
| | | lineStyle: { |
| | | color: '#032c58' |
| | | } |
| | | }, |
| | | axisTick: { |
| | | show: false |
| | | }, |
| | | data: xData |
| | | }, |
| | | yAxis: [ |
| | | { |
| | | boundaryGap: false, |
| | | // splitNumber: 4, |
| | | type: 'value', |
| | | // max: 100, |
| | | axisLabel: { |
| | | textStyle: { |
| | | fontSize: 16, |
| | | color: colorX |
| | | } |
| | | }, |
| | | nameTextStyle: { |
| | | color: '#fff', |
| | | fontSize: 14, |
| | | lineHeight: 40 |
| | | }, |
| | | splitLine: { |
| | | show: true, |
| | | lineStyle: { |
| | | color: '#032c58' |
| | | } |
| | | }, |
| | | axisLine: { |
| | | show: true, |
| | | lineStyle: { |
| | | color: '#032c58' |
| | | } |
| | | }, |
| | | axisTick: { |
| | | show: false |
| | | } |
| | | }, |
| | | { |
| | | boundaryGap: false, |
| | | // splitNumber: 4, |
| | | max: 100, |
| | | type: 'value', |
| | | axisLabel: { |
| | | textStyle: { |
| | | fontSize: 16, |
| | | color: colorX |
| | | } |
| | | }, |
| | | nameTextStyle: { |
| | | color: '#fff', |
| | | fontSize: 16, |
| | | lineHeight: 40 |
| | | }, |
| | | splitLine: { |
| | | show: false, |
| | | lineStyle: { |
| | | color: '#032c58' |
| | | } |
| | | }, |
| | | axisLine: { |
| | | show: false, |
| | | lineStyle: { |
| | | color: '#032c58' |
| | | } |
| | | }, |
| | | axisTick: { |
| | | show: false |
| | | } |
| | | } |
| | | ], |
| | | series: [ |
| | | { // 三个最底下的圆片 |
| | | 'name': '完成数', |
| | | 'type': 'pictorialBar', |
| | | 'symbolSize': [45, 25], |
| | | 'symbolOffset': [0, 10], |
| | | 'z': 12, |
| | | color: `rgb(37,196,238)`, |
| | | itemStyle: { |
| | | opacity: 1, |
| | | color: function(params) { |
| | | return new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ |
| | | offset: 0, |
| | | color: `rgb(37,196,238)` // 0% 处的颜色 |
| | | }, { |
| | | offset: 1, |
| | | color: `rgb(37,196,238)`// 100% 处的颜色 |
| | | }], false) |
| | | } |
| | | }, |
| | | 'data': [1, 1, 1, 1, 1] |
| | | }, |
| | | |
| | | // 下半截柱状图 |
| | | { |
| | | name: '', |
| | | type: 'bar', |
| | | barWidth: 45, |
| | | barGap: '-100%', |
| | | itemStyle: { // lenged文本 |
| | | opacity: 1, |
| | | color: function(params) { |
| | | return new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ |
| | | offset: 0, |
| | | color: `rgb(35,131,180)` // 0% 处的颜色 |
| | | }, { |
| | | offset: 1, |
| | | color: `rgb(35,131,180)`// 100% 处的颜色 |
| | | }], false) |
| | | } |
| | | }, |
| | | data: data1 |
| | | }, |
| | | |
| | | { // 替代柱状图 默认不显示颜色,是最下方柱图(邮件营销)的value值 - 20 |
| | | type: 'bar', |
| | | barWidth: 45, |
| | | barGap: '-100%', |
| | | stack: '广告', |
| | | itemStyle: { |
| | | color: 'transparent' |
| | | }, |
| | | label: { |
| | | normal: { |
| | | show: true, |
| | | position: 'left', |
| | | fontSize: 16, |
| | | color: colorX, |
| | | zIndex: 10 |
| | | } |
| | | }, |
| | | data: data1 |
| | | }, |
| | | |
| | | { |
| | | 'name': '', // 头部 |
| | | 'type': 'pictorialBar', |
| | | 'symbolSize': [45, 25], |
| | | 'symbolOffset': [0, -10], |
| | | 'z': 12, |
| | | 'symbolPosition': 'end', |
| | | itemStyle: { |
| | | color: '#163F7A', |
| | | opacity: 1 |
| | | }, |
| | | 'data': data2 |
| | | }, |
| | | |
| | | { |
| | | 'name': '', |
| | | 'type': 'pictorialBar', |
| | | 'symbolSize': [45, 25], |
| | | 'symbolOffset': [0, -10], |
| | | 'z': 12, |
| | | itemStyle: { |
| | | opacity: 1, |
| | | color: function(params) { |
| | | return new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ |
| | | offset: 0, |
| | | color: `rgb(37,196,238)` // 0% 处的颜色 |
| | | }, { |
| | | offset: 1, |
| | | color: `rgb(37,196,238)`// 100% 处的颜色 |
| | | }], false) |
| | | } |
| | | }, |
| | | 'symbolPosition': 'end', |
| | | 'data': data1 |
| | | }, |
| | | |
| | | { |
| | | name: '任务数', |
| | | type: 'bar', |
| | | barWidth: 45, |
| | | barGap: '-100%', |
| | | z: 0, |
| | | itemStyle: { |
| | | color: '#163F7A', |
| | | opacity: 0.7 |
| | | }, |
| | | label: { |
| | | normal: { |
| | | show: true, |
| | | position: 'top', |
| | | fontSize: 16, |
| | | color: '#fff', |
| | | offset: [0, -5] |
| | | } |
| | | }, |
| | | data: data2 |
| | | }, |
| | | { |
| | | name: '完成率', |
| | | type: 'line', |
| | | yAxisIndex: 1, |
| | | showSymbol: true, |
| | | showAllSymbol: true, |
| | | symbolSize: 6, |
| | | barWidth: 14, |
| | | zlevel: 3, |
| | | lineStyle: { |
| | | normal: { |
| | | width: 2, |
| | | color: `rgb(108,237,100)` |
| | | } |
| | | }, |
| | | // areaStyle: { |
| | | // normal: { |
| | | // color: { |
| | | // type: 'linear', |
| | | // x: 0, |
| | | // y: 0, |
| | | // x2: 0, |
| | | // y2: 1, |
| | | // colorStops: [ |
| | | // { |
| | | // offset: 0, |
| | | // color: `rgba(72,226,198, 0.3)`// 0% 处的颜色 |
| | | // }, |
| | | // { |
| | | // offset: 1, |
| | | // color: `rgba(72,226,198, 0.2)` // 100% 处的颜色 |
| | | // } |
| | | // ], |
| | | // globalCoord: false // 缺省为 false |
| | | // } // 渐变颜色 |
| | | // } |
| | | // }, |
| | | itemStyle: { |
| | | normal: { |
| | | color: { |
| | | type: 'linear', |
| | | x: 0, |
| | | y: 0, |
| | | x2: 0, |
| | | y2: 1, |
| | | colorStops: [ |
| | | { |
| | | offset: 0, |
| | | color: `rgb(108,237,100)`// 0% 处的颜色 |
| | | }, |
| | | { |
| | | offset: 1, |
| | | color: `rgb(108,237,100)` // 100% 处的颜色 |
| | | } |
| | | ], |
| | | globalCoord: false // 缺省为 false |
| | | } // 渐变颜色 |
| | | } |
| | | }, |
| | | label: { |
| | | normal: { |
| | | show: true, |
| | | position: 'top', |
| | | fontSize: 14, |
| | | color: colorX, |
| | | formatter: params => { |
| | | return `${params.value}%` |
| | | } |
| | | // offset: [0, -5] |
| | | } |
| | | }, |
| | | data: data3 |
| | | } |
| | | ] |
| | | } |
| | | return option |
| | | } |
| | | |
| | | export function all01(xData2, yData) { |
| | | // var xData2 = ['123', '21', '32', '23', '1233'] |
| | | var data1 = yData.map(i => i.quantity) |
| | | var data2 = yData.map(i => i.plan_qty) |
| | | var barWidth = 30 |
| | | const option = { |
| | | backgroundColor: 'transparent', |
| | | // tooltip: { |
| | | // trigger: 'item' |
| | | // }, |
| | | grid: { |
| | | left: '2%', |
| | | top: '20%', |
| | | right: '2%', |
| | | bottom: '5%', |
| | | containLabel: true |
| | | }, |
| | | title: { |
| | | text: '各车间近一月订单数/入库数量', |
| | | left: '50%', |
| | | top: '0%', |
| | | textAlign: 'center', |
| | | textStyle: { |
| | | color: 'rgba(0,255,255,0.8)', |
| | | fontSize: '20', |
| | | fontWeight: 'bolder' |
| | | } |
| | | }, |
| | | xAxis: { |
| | | data: xData2, |
| | | type: 'category', |
| | | boundaryGap: true, |
| | | axisLabel: { |
| | | interval: 0, |
| | | formatter: '{value}', |
| | | fontSize: 16, |
| | | margin: 20, |
| | | textStyle: { |
| | | color: colorX |
| | | } |
| | | }, |
| | | axisLine: { |
| | | lineStyle: { |
| | | color: '#032c58' |
| | | } |
| | | }, |
| | | splitLine: { |
| | | show: false, |
| | | lineStyle: { |
| | | color: '#032c58' |
| | | } |
| | | }, |
| | | axisTick: { |
| | | show: false |
| | | } |
| | | }, |
| | | yAxis: { |
| | | boundaryGap: false, |
| | | // splitNumber: 4, |
| | | type: 'value', |
| | | // max: 100, |
| | | axisLabel: { |
| | | textStyle: { |
| | | fontSize: 16, |
| | | color: colorX |
| | | } |
| | | }, |
| | | nameTextStyle: { |
| | | color: '#fff', |
| | | fontSize: 16, |
| | | lineHeight: 40 |
| | | }, |
| | | splitLine: { |
| | | show: true, |
| | | lineStyle: { |
| | | color: '#032c58' |
| | | } |
| | | }, |
| | | axisLine: { |
| | | show: true, |
| | | lineStyle: { |
| | | color: '#032c58' |
| | | } |
| | | }, |
| | | axisTick: { |
| | | show: false |
| | | } |
| | | }, |
| | | series: [ |
| | | { // 上半截柱子 |
| | | name: '2019', |
| | | type: 'bar', |
| | | barWidth: barWidth, |
| | | barGap: '-100%', |
| | | z: 0, |
| | | itemStyle: { |
| | | color: '#163F7A', |
| | | opacity: 0.7 |
| | | }, |
| | | data: data2 |
| | | }, |
| | | { // 下半截柱子 |
| | | name: '2020', |
| | | type: 'bar', |
| | | barWidth: barWidth, |
| | | barGap: '-100%', |
| | | itemStyle: { // lenged文本 |
| | | opacity: 0.7, |
| | | color: function(params) { |
| | | return new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ |
| | | offset: 0, |
| | | color: '#12B9DB' // 0% 处的颜色 |
| | | }, { |
| | | offset: 1, |
| | | color: '#6F8EF2' // 100% 处的颜色 |
| | | }], false) |
| | | } |
| | | }, |
| | | data: data1 |
| | | }, |
| | | { // 替代柱状图 默认不显示颜色,是最下方柱图(邮件营销)的value值 - 20 |
| | | type: 'bar', |
| | | barWidth: barWidth, |
| | | barGap: '-100%', |
| | | stack: '广告', |
| | | itemStyle: { |
| | | color: 'transparent' |
| | | }, |
| | | label: { |
| | | normal: { |
| | | show: true, |
| | | position: 'left', |
| | | fontSize: 16, |
| | | color: colorX, |
| | | zIndex: 10 |
| | | } |
| | | }, |
| | | data: data1 |
| | | }, |
| | | { // 上半截柱子顶部圆片 |
| | | 'name': '', |
| | | 'type': 'pictorialBar', |
| | | 'symbolSize': [barWidth, 15], |
| | | 'symbolOffset': [0, -10], |
| | | 'z': 12, |
| | | 'symbolPosition': 'end', |
| | | itemStyle: { |
| | | color: '#163F7A', |
| | | opacity: 1 |
| | | }, |
| | | label: { |
| | | show: true, |
| | | position: 'top', |
| | | fontSize: 16, |
| | | color: '#fff' |
| | | }, |
| | | 'data': data2 |
| | | }, |
| | | { // 下半截柱子顶部圆片 |
| | | 'name': '', |
| | | 'type': 'pictorialBar', |
| | | 'symbolSize': [barWidth, 15], |
| | | 'symbolOffset': [0, -10], |
| | | 'z': 12, |
| | | itemStyle: { |
| | | opacity: 1, |
| | | color: function(params) { |
| | | return new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ |
| | | offset: 0, |
| | | color: '#12B9DB' // 0% 处的颜色 |
| | | }, { |
| | | offset: 1, |
| | | color: '#6F8EF2' // 100% 处的颜色 |
| | | }], false) |
| | | } |
| | | }, |
| | | // label: { |
| | | // show: true, |
| | | // position: 'top', |
| | | // fontSize: 16, |
| | | // color: '#fff' |
| | | // // formatter:(item)=>{ |
| | | // // console.log(item) |
| | | // // return 'ssss' |
| | | // // } |
| | | // }, |
| | | 'symbolPosition': 'end', |
| | | 'data': data1 |
| | | }, |
| | | { // 下半截柱子底部圆片 |
| | | 'name': '', |
| | | 'type': 'pictorialBar', |
| | | 'symbolSize': [barWidth, 15], |
| | | 'symbolOffset': [0, 5], |
| | | 'z': 12, |
| | | itemStyle: { |
| | | opacity: 1, |
| | | color: function(params) { |
| | | return new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ |
| | | offset: 0, |
| | | color: '#12B9DB' // 0% 处的颜色 |
| | | }, { |
| | | offset: 1, |
| | | color: '#6F8EF2' // 100% 处的颜色 |
| | | }], false) |
| | | } |
| | | }, |
| | | 'data': [1, 1, 1, 1, 1] |
| | | }, |
| | | { |
| | | name: '第一圈', |
| | | type: 'pictorialBar', |
| | | symbolSize: [47, 16], |
| | | symbolOffset: [0, 11], |
| | | z: 11, |
| | | itemStyle: { |
| | | normal: { |
| | | color: 'transparent', |
| | | borderColor: '#00ffff', |
| | | borderWidth: 2 |
| | | } |
| | | }, |
| | | data: [1, 1, 1, 1, 1] |
| | | }, |
| | | { |
| | | name: '第二圈', |
| | | type: 'pictorialBar', |
| | | symbolSize: [62, 22], |
| | | symbolOffset: [0, 17], |
| | | z: 10, |
| | | itemStyle: { |
| | | normal: { |
| | | color: 'transparent', |
| | | borderColor: '#00ffff', |
| | | borderWidth: 2 |
| | | } |
| | | }, |
| | | data: [1, 1, 1, 1, 1] |
| | | } |
| | | ] |
| | | } |
| | | |
| | | return option |
| | | } |
| | | |
| | | export function all02(data) { |
| | | return { |
| | | backgroundColor: 'transparent', |
| | | // tooltip: {}, |
| | | title: { |
| | | text: '每月订单数量/出库数量', |
| | | left: '50%', |
| | | top: '0%', |
| | | textAlign: 'center', |
| | | textStyle: { |
| | | // color: '#fff', |
| | | color: '#00ffff', |
| | | fontSize: '20', |
| | | fontWeight: 'bolder' |
| | | } |
| | | }, |
| | | grid: { |
| | | left: '4%', |
| | | right: '4%', |
| | | bottom: '4%', |
| | | top: '15%', |
| | | containLabel: true |
| | | }, |
| | | // legend: { |
| | | // show: false, |
| | | // itemGap: 50, |
| | | // data: ['注册总量', '最新注册量'], |
| | | // textStyle: { |
| | | // color: '#f9f9f9', |
| | | // borderColor: '#fff' |
| | | // } |
| | | // }, |
| | | xAxis: [{ |
| | | type: 'category', |
| | | boundaryGap: true, |
| | | axisLabel: { |
| | | interval: 0, |
| | | formatter: '{value}', |
| | | fontSize: 16, |
| | | margin: 20, |
| | | textStyle: { |
| | | color: colorX |
| | | } |
| | | }, |
| | | axisLine: { |
| | | lineStyle: { |
| | | color: '#032c58' |
| | | } |
| | | }, |
| | | splitLine: { |
| | | show: false, |
| | | lineStyle: { |
| | | color: '#032c58' |
| | | } |
| | | }, |
| | | axisTick: { |
| | | show: false |
| | | }, |
| | | data: data.map(i => i.Month) |
| | | }], |
| | | yAxis: [ |
| | | { |
| | | // max: 800, |
| | | boundaryGap: false, |
| | | splitNumber: 4, |
| | | type: 'value', |
| | | axisLabel: { |
| | | textStyle: { |
| | | fontSize: 16, |
| | | color: colorX |
| | | } |
| | | }, |
| | | // name: '单', |
| | | // nameTextStyle: { |
| | | // color: colorY, |
| | | // fontSize: 14, |
| | | // lineHeight: 20 |
| | | // }, |
| | | splitLine: { |
| | | show: true, |
| | | lineStyle: { |
| | | color: '#032c58' |
| | | } |
| | | }, |
| | | axisLine: { |
| | | show: true, |
| | | lineStyle: { |
| | | color: '#032c58' |
| | | } |
| | | }, |
| | | axisTick: { |
| | | show: true |
| | | } |
| | | } |
| | | ], |
| | | series: [ |
| | | { |
| | | name: '注册总量', |
| | | type: 'line', |
| | | // smooth: true, //是否平滑曲线显示 |
| | | // symbol:'circle', // 默认是空心圆(中间是白色的),改成实心圆 |
| | | showAllSymbol: true, |
| | | symbol: 'emptyCircle', |
| | | symbolSize: 6, |
| | | lineStyle: { |
| | | normal: { |
| | | color: '#28ffb3' // 线条颜色 |
| | | }, |
| | | borderColor: '#f0f' |
| | | }, |
| | | label: { |
| | | show: true, |
| | | position: 'top', |
| | | textStyle: { |
| | | fontSize: 16, |
| | | color: '#fff' |
| | | } |
| | | }, |
| | | itemStyle: { |
| | | normal: { |
| | | color: '#28ffb3' |
| | | |
| | | } |
| | | }, |
| | | tooltip: { |
| | | show: false |
| | | }, |
| | | areaStyle: { // 区域填充样式 |
| | | normal: { |
| | | // 线性渐变,前4个参数分别是x0,y0,x2,y2(范围0~1);相当于图形包围盒中的百分比。如果最后一个参数是‘true’,则该四个值是绝对像素位置。 |
| | | color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ |
| | | offset: 0, |
| | | color: 'rgba(0,154,120,1)' |
| | | }, |
| | | { |
| | | offset: 1, |
| | | color: 'rgba(0,0,0, 0)' |
| | | } |
| | | ], false), |
| | | shadowColor: 'rgba(53,142,215, 0.9)', // 阴影颜色 |
| | | shadowBlur: 20 // shadowBlur设图形阴影的模糊大小。配合shadowColor,shadowOffsetX/Y, 设置图形的阴影效果。 |
| | | } |
| | | }, |
| | | data: data.map(i => i.quantity) |
| | | }, |
| | | { |
| | | name: '最新注册量', |
| | | type: 'line', |
| | | barWidth: 20, |
| | | tooltip: { |
| | | show: false |
| | | }, |
| | | label: { |
| | | show: true, |
| | | position: 'top', |
| | | textStyle: { |
| | | fontSize: 16, |
| | | color: '#fff' |
| | | } |
| | | }, |
| | | areaStyle: { // 区域填充样式 |
| | | normal: { |
| | | // 线性渐变,前4个参数分别是x0,y0,x2,y2(范围0~1);相当于图形包围盒中的百分比。如果最后一个参数是‘true’,则该四个值是绝对像素位置。 |
| | | color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ |
| | | offset: 0, |
| | | color: 'rgba(0,154,120,1)' |
| | | }, |
| | | { |
| | | offset: 1, |
| | | color: 'rgba(0,0,0, 0)' |
| | | } |
| | | ], false), |
| | | shadowColor: 'rgba(53,142,215, 0.9)', // 阴影颜色 |
| | | shadowBlur: 20 // shadowBlur设图形阴影的模糊大小。配合shadowColor,shadowOffsetX/Y, 设置图形的阴影效果。 |
| | | } |
| | | }, |
| | | // itemStyle: { |
| | | // normal: { |
| | | // // barBorderRadius: 5, |
| | | // // color: new echarts.graphic.LinearGradient( |
| | | // // 0, 0, 0, 1, |
| | | // // [{ |
| | | // // offset: 0, |
| | | // // color: '#14c8d4' |
| | | // // }, |
| | | // // { |
| | | // // offset: 1, |
| | | // // color: '#43eec6' |
| | | // // } |
| | | // // ] |
| | | // // ) |
| | | // color: function(params) { |
| | | // var colorList = ['#0ec1ff', '#10cdff', '#12daff', '#15ebff', '#17f8ff', '#1cfffb', '#1dfff1'] |
| | | // return colorList[params.dataIndex] |
| | | // } |
| | | // } |
| | | // }, |
| | | data: data.map(i => i.ouquantity) |
| | | } |
| | | ] |
| | | } |
| | | } |