| | |
| | | import * as echarts from 'echarts' |
| | | |
| | | /** 255 |
| | | /** |
| | | * 统一样式,加载 |
| | | * @param {*} id |
| | | * @param {*} option |
| | |
| | | const colorX = '#c7e7ff' |
| | | const colorY = '#7696c5' |
| | | |
| | | // 脉链看板 |
| | | export function mapArea() { |
| | | |
| | | } |
| | | |
| | | export function pie1(data) { |
| | | const titleArr = [] |
| | | const seriesArr = [] |
| | | const colors = [['#389af4', '#dfeaff'], ['#ff8c37', '#ffdcc3'], ['#ffc257', '#ffedcc'], ['#fd6f97', '#fed4e0'], ['#a181fc', '#e3d9fe']] |
| | | data.forEach(function(item, index) { |
| | | titleArr.push( |
| | | { |
| | | text: item.name, |
| | | left: index * 20 + 9.5 + '%', |
| | | top: '55%', |
| | | textAlign: 'center', |
| | | textStyle: { |
| | | fontWeight: 'normal', |
| | | fontSize: '16', |
| | | color: colors[index][0], |
| | | textAlign: 'center' |
| | | } |
| | | } |
| | | ) |
| | | seriesArr.push( |
| | | { |
| | | name: item.name, |
| | | type: 'pie', |
| | | clockWise: false, |
| | | radius: [50, 60], // 调整饼图大小 |
| | | itemStyle: { |
| | | normal: { |
| | | color: colors[index][0], |
| | | shadowColor: colors[index][0], |
| | | shadowBlur: 0, |
| | | label: { |
| | | show: false |
| | | }, |
| | | labelLine: { |
| | | show: false |
| | | } |
| | | } |
| | | }, |
| | | hoverAnimation: false, |
| | | center: [index * 20 + 10 + '%', '50%'], |
| | | data: [{ |
| | | value: item.value, |
| | | label: { |
| | | normal: { |
| | | formatter: function(params) { |
| | | return params.value + '%' |
| | | }, |
| | | position: 'center', |
| | | show: true, |
| | | textStyle: { |
| | | fontSize: '16', |
| | | fontWeight: 'normal', |
| | | // fontWeight: 'bold', |
| | | color: colors[index][0] |
| | | } |
| | | } |
| | | } |
| | | }, { |
| | | value: 100 - item.value, |
| | | name: 'invisible', |
| | | itemStyle: { |
| | | normal: { |
| | | color: colors[index][1] |
| | | }, |
| | | emphasis: { |
| | | color: colors[index][1] |
| | | } |
| | | } |
| | | }] |
| | | } |
| | | ) |
| | | }) |
| | | |
| | | // 系统首页图 |
| | | export function barTop(data, colorArr) { |
| | | var salvProName = ['x'] |
| | | var salvProValue = [data] |
| | | var Value = []// 背景按最大值 |
| | | for (let i = 0; i < salvProValue.length; i++) { |
| | | Value.push(salvProValue[0] + 20) |
| | | } |
| | | const color = colorArr |
| | | const option = { |
| | | backgroundColor: 'transparent', |
| | | title: titleArr, |
| | | series: seriesArr |
| | | grid: { |
| | | left: '0%', |
| | | right: '0%', |
| | | bottom: '2%', |
| | | top: '2%', |
| | | containLabel: true |
| | | }, |
| | | // tooltip: { |
| | | // trigger: 'axis', |
| | | // axisPointer: { |
| | | // type: 'none' |
| | | // }, |
| | | // formatter: function(params) { |
| | | // return params[0].name + ' : ' + params[0].value |
| | | // } |
| | | // }, |
| | | xAxis: { |
| | | show: false, |
| | | type: 'value' |
| | | }, |
| | | yAxis: [{ |
| | | type: 'category', |
| | | inverse: true, |
| | | axisLabel: { |
| | | show: false, |
| | | textStyle: { |
| | | color: '#000' |
| | | } |
| | | }, |
| | | splitLine: { |
| | | show: false |
| | | }, |
| | | axisTick: { |
| | | show: false |
| | | }, |
| | | axisLine: { |
| | | show: false |
| | | }, |
| | | data: salvProName |
| | | }], |
| | | series: [{ |
| | | name: '值', |
| | | type: 'bar', |
| | | zlevel: 1, |
| | | itemStyle: { |
| | | normal: { |
| | | // barBorderRadius: 30, |
| | | color: new echarts.graphic.LinearGradient(0, 0, 1, 0, [{ |
| | | offset: 0, |
| | | color: `rgba(${color[0]},1)` |
| | | }, { |
| | | offset: 1, |
| | | color: `rgba(${color[1]},1)` |
| | | }]) |
| | | } |
| | | }, |
| | | |
| | | barWidth: 15, |
| | | data: salvProValue |
| | | |
| | | }, |
| | | { |
| | | name: '背景', |
| | | type: 'bar', |
| | | barWidth: 15, |
| | | barGap: '-100%', |
| | | data: Value, |
| | | itemStyle: { |
| | | normal: { |
| | | color: `rgba(${color[1]},0.8)`, |
| | | barBorderRadius: 30 |
| | | } |
| | | } |
| | | } |
| | | ] |
| | | } |
| | | |
| | | return option |
| | | } |
| | | |
| | | export function bar1(data1, data2) { |
| | | const titleText = '工厂人员出勤率' |
| | | const path = 'path://M214,1079l8-6h16l8,6-8,6H222Z' |
| | | // const data1 = ['80', '90', '70', '30', '50'] |
| | | // const data2 = ['70', '60', '50', '40', '30'] |
| | | export function bar01(data) { |
| | | var dataX = data.map(r => r.key) |
| | | var dataY = data.map(r => r.value) |
| | | // var salvProMax = []// 背景按最大值 |
| | | // for (let i = 0; i < salvProValue.length; i++) { |
| | | // salvProMax.push(salvProValue[0]) |
| | | // } |
| | | |
| | | var option = { |
| | | backgroundColor: 'transparent', |
| | | grid: { |
| | | left: '2%', |
| | | right: '5%', |
| | | bottom: '0%', |
| | | top: '2%', |
| | | containLabel: true |
| | | }, |
| | | tooltip: { |
| | | trigger: 'axis', |
| | | axisPointer: { |
| | | type: 'none' |
| | | }, |
| | | formatter: function(params) { |
| | | return params[0].name + ' : ' + params[0].value |
| | | } |
| | | }, |
| | | xAxis: { |
| | | show: true, |
| | | type: 'value', |
| | | splitLine: { |
| | | show: false |
| | | }, |
| | | axisTick: { |
| | | show: false |
| | | }, |
| | | axisLine: { |
| | | show: true |
| | | }, |
| | | axisLabel: { |
| | | show: true, |
| | | textStyle: { |
| | | color: '#000' |
| | | } |
| | | } |
| | | }, |
| | | yAxis: [{ |
| | | type: 'category', |
| | | inverse: true, |
| | | axisLabel: { |
| | | show: true, |
| | | textStyle: { |
| | | color: '#000' |
| | | } |
| | | }, |
| | | splitLine: { |
| | | show: false |
| | | }, |
| | | axisTick: { |
| | | show: false |
| | | }, |
| | | axisLine: { |
| | | show: false |
| | | }, |
| | | data: dataX |
| | | }], |
| | | series: [{ |
| | | name: '值', |
| | | type: 'bar', |
| | | zlevel: 1, |
| | | // lineStyle:{ |
| | | // normal:{ |
| | | // |
| | | // } |
| | | // }, |
| | | itemStyle: { |
| | | normal: { |
| | | barBorderRadius: 30, |
| | | // color: new echarts.graphic.LinearGradient(0, 0, 1, 0, [{ |
| | | // offset: 0, |
| | | // color: 'rgb(42,197,137,1)' |
| | | // }, { |
| | | // offset: 1, |
| | | // color: 'rgb(187,236,218,1)' |
| | | // }]) |
| | | color: { |
| | | type: 'linear', |
| | | x: 0, |
| | | y: 0, |
| | | x2: 1, |
| | | y2: 0, |
| | | colorStops: [ |
| | | { |
| | | offset: 0, |
| | | color: `rgba(42, 197, 137, 1)`// 0% 处的颜色 |
| | | }, |
| | | { |
| | | offset: 1, |
| | | color: `rgba(187, 236, 218, 1)` // 100% 处的颜色 |
| | | } |
| | | ], |
| | | globalCoord: false // 缺省为 false |
| | | } // 渐变颜色 |
| | | } |
| | | }, |
| | | label: { |
| | | type: 'category', |
| | | inverse: true, |
| | | axisTick: 'none', |
| | | axisLine: 'none', |
| | | show: true, |
| | | // axisLabel: { |
| | | // textStyle: { |
| | | // color: '#000', |
| | | // fontSize: '12' |
| | | // }, |
| | | // }, |
| | | position: 'right', |
| | | data: dataY |
| | | }, |
| | | barWidth: 10, |
| | | data: dataY |
| | | } |
| | | // { |
| | | // name: '背景', |
| | | // type: 'bar', |
| | | // barWidth: 20, |
| | | // barGap: '-100%', |
| | | // data: salvProMax, |
| | | // itemStyle: { |
| | | // normal: { |
| | | // color: 'rgba(24,31,68,1)', |
| | | // barBorderRadius: 30, |
| | | // } |
| | | // }, |
| | | // }, |
| | | ] |
| | | } |
| | | return option |
| | | } |
| | | |
| | | export function line01(data) { |
| | | const dataX = data.map(r => r.key) |
| | | const dataY = data.map(r => r.value) |
| | | |
| | | const option = { |
| | | backgroundColor: 'transparent', |
| | | // tooltip: { |
| | | // show: false, |
| | | // trigger: 'axis', |
| | | // axisPointer: { // 坐标轴指示器,坐标轴触发有效 |
| | | // type: 'shadow' // 默认为直线,可选为:'line' | 'shadow' |
| | | // }, |
| | | // formatter: function(e) { |
| | | // if (e.length > 1) { |
| | | // var S = e[1].data - e[0].data |
| | | // return e[0].axisValue + ':<br>差额=当前-年初<br>=' + S |
| | | // } else if (e.length = 1) { |
| | | // return e[0].axisValue + ':<br>' + e[0].seriesName + '=' + e[0].data |
| | | // } |
| | | tooltip: { |
| | | trigger: 'axis', |
| | | axisPointer: { |
| | | // type: 'shadow', |
| | | label: { |
| | | show: true, |
| | | backgroundColor: '#000' |
| | | } |
| | | } |
| | | }, |
| | | grid: { |
| | | left: '2%', |
| | | right: '5%', |
| | | bottom: '0%', |
| | | top: '3%', |
| | | containLabel: true |
| | | }, |
| | | // legend: { |
| | | // data: ['line', 'bar'], |
| | | // textStyle: { |
| | | // color: '#ccc' |
| | | // } |
| | | // }, |
| | | xAxis: { |
| | | data: dataX, |
| | | splitLine: { |
| | | show: false |
| | | }, |
| | | axisTick: { |
| | | show: false |
| | | }, |
| | | axisLine: { |
| | | show: true |
| | | }, |
| | | axisLabel: { |
| | | show: true, |
| | | textStyle: { |
| | | color: '#000' |
| | | } |
| | | } |
| | | }, |
| | | yAxis: { |
| | | max: 14, |
| | | min: 0, |
| | | interval: 2, |
| | | splitLine: { |
| | | show: false |
| | | }, |
| | | axisTick: { |
| | | show: false |
| | | }, |
| | | axisLine: { |
| | | show: false |
| | | }, |
| | | axisLabel: { |
| | | show: true, |
| | | textStyle: { |
| | | color: '#000' |
| | | } |
| | | } |
| | | }, |
| | | series: [{ |
| | | name: '时间', |
| | | type: 'line', |
| | | smooth: false, |
| | | showAllSymbol: true, |
| | | symbol: 'emptyCircle', |
| | | symbolSize: 8, |
| | | itemStyle: { |
| | | normal: { |
| | | color: `rgba(42, 197, 137, 1)` |
| | | } |
| | | }, |
| | | lineStyle: { |
| | | normal: { |
| | | width: 2, |
| | | color: `rgba(42, 197, 137, 1)` |
| | | } |
| | | }, |
| | | data: dataY |
| | | }] |
| | | } |
| | | |
| | | return option |
| | | } |
| | | |
| | | // 综合看板图 |
| | | export function bar02(dataArr, titlenameArr) { |
| | | // const data = [70, 60, 50, 40, 30] |
| | | // const titlename = ['外观划伤', '表面油污', '尺寸', '颜色', '大小'] |
| | | // const data = val.map(i => i.cont) |
| | | // const titlename = val.map(i => i.name) |
| | | const data = dataArr.filter((item, index) => index < 10) |
| | | |
| | | const titlename = titlenameArr.filter((item, index) => index < 10) |
| | | |
| | | const length = titlename.length |
| | | if (titlename.length < 5) { |
| | | for (let i = 0; i < 5 - length; i++) { |
| | | titlename.push('0') |
| | | } |
| | | } |
| | | |
| | | const valdata = [683, 500, 400, 300, 200] |
| | | // const myColor = ['#FF0000', '#FF5511', '#FF8800', '#FFBB00', '#FFFF00'] |
| | | // const myColor = ['#0000FF'] |
| | | // const myColor = ['#7af5f5', '#00FFFF', '#00FFFF', '#00FFFF', '#00FFFF'] |
| | | const myColor = [ |
| | | 'rgba(122,245,245,1)', 'rgba(122,245,245,0.95)', 'rgba(122,245,245,0.9)', 'rgba(122,245,245,0.85)', 'rgba(122,245,245,0.8)', |
| | | 'rgba(122,245,245,0.75)', 'rgba(122,245,245,0.7)', 'rgba(122,245,245,0.65)', 'rgba(122,245,245,0.6)', 'rgba(122,245,245,0.55)' |
| | | ] |
| | | const option = { |
| | | animation: false, |
| | | backgroundColor: 'transparent', |
| | | title: { |
| | | show: false, |
| | | text: '一周内Top5不良:', |
| | | x: '2%', |
| | | y: '4%', |
| | | textStyle: { |
| | | color: '#d8d7d9', |
| | | fontSize: '18' |
| | | // fontWeight: 'lighter' |
| | | }, |
| | | subtextStyle: { |
| | | color: '#90979c', |
| | | fontSize: '16' |
| | | |
| | | } |
| | | }, |
| | | grid: { |
| | | left: '5%', |
| | | right: '10%', |
| | | bottom: '0%', |
| | | top: '10%', |
| | | containLabel: true |
| | | }, |
| | | // animation: false, // 取消动画 |
| | | xAxis: { |
| | | show: false |
| | | }, |
| | | yAxis: [ |
| | | { |
| | | show: true, |
| | | data: titlename, |
| | | inverse: true, |
| | | axisLine: { |
| | | show: false |
| | | }, |
| | | splitLine: { |
| | | show: false |
| | | }, |
| | | axisTick: { |
| | | show: false |
| | | }, |
| | | axisLabel: { |
| | | // color: '#fff', |
| | | color: function(value, index) { |
| | | return value === '0' ? 'transparent' : '#fff' |
| | | }, |
| | | fontSize: 20, |
| | | // formatter: function(value, index) { |
| | | // return [ |
| | | // '{lg|' + (index + 1) + '、 }' + '{title|' + value + '} ' |
| | | // ].join('\n') |
| | | // }, |
| | | formatter: function(params) { |
| | | var val = '' |
| | | if (params.length > 8) { |
| | | val = params.substr(0, 8) + '...' |
| | | return val |
| | | } else { |
| | | return params |
| | | } |
| | | }, |
| | | rich: { |
| | | lg: { |
| | | // backgroundColor: '#339911', |
| | | // color: '#d8d7d9', |
| | | color: '#fff', |
| | | borderRadius: 15, |
| | | // padding: 5, |
| | | align: 'center', |
| | | width: 15, |
| | | height: 15 |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | { |
| | | show: false, |
| | | inverse: true, |
| | | data: valdata, |
| | | axisLabel: { |
| | | textStyle: { |
| | | fontSize: 12, |
| | | color: '#fff' |
| | | } |
| | | }, |
| | | axisLine: { |
| | | show: false |
| | | }, |
| | | splitLine: { |
| | | show: false |
| | | }, |
| | | axisTick: { |
| | | show: false |
| | | } |
| | | |
| | | } |
| | | ], |
| | | series: [ |
| | | { |
| | | name: '条', |
| | | type: 'bar', |
| | | yAxisIndex: 0, |
| | | data: data, |
| | | barWidth: 22, |
| | | itemStyle: { |
| | | normal: { |
| | | barBorderRadius: 30, |
| | | color: function(params) { |
| | | // const num = myColor.length |
| | | // return myColor[params.dataIndex % num] |
| | | return myColor[params.dataIndex] |
| | | } |
| | | } |
| | | }, |
| | | label: { |
| | | normal: { |
| | | show: true, |
| | | position: 'right', |
| | | formatter: '{c}', |
| | | fontSize: 20, |
| | | color: '#fff' |
| | | // formatter: '{c}%', |
| | | } |
| | | } |
| | | } |
| | | ] |
| | | } |
| | | |
| | | return option |
| | | } |
| | | |
| | | // 仓库管理看板图 (弃用) |
| | | export function bar03(titleText) { |
| | | const path = 'path://M214,1079l8-6h16l8,6-8,6H222Z' |
| | | const zzx1 = ['800', '900', '700', '300', '500', '800', '700'] |
| | | const wgx1 = ['700', '600', '500', '400', '300', '333', '222'] |
| | | const option = { |
| | | backgroundColor: 'transparent', |
| | | tooltip: { |
| | | show: false, |
| | | trigger: 'axis', |
| | | axisPointer: { // 坐标轴指示器,坐标轴触发有效 |
| | | type: 'shadow' // 默认为直线,可选为:'line' | 'shadow' |
| | | }, |
| | | formatter: function(e) { |
| | | if (e.length > 1) { |
| | | var S = e[1].data - e[0].data |
| | | return e[0].axisValue + ':<br>差额=当前-年初<br>=' + S |
| | | } else if (e.length = 1) { |
| | | return e[0].axisValue + ':<br>' + e[0].seriesName + '=' + e[0].data |
| | | } |
| | | } |
| | | }, |
| | | title: { |
| | | text: titleText, |
| | | x: '40%', |
| | | y: '0%', |
| | | x: '66%', |
| | | y: '2%', |
| | | textStyle: { |
| | | // color: '#fff', |
| | | color: '#00ffff', |
| | | fontSize: '20', |
| | | fontWeight: 'bolder' |
| | | fontSize: '18', |
| | | fontWeight: 'lighter' |
| | | }, |
| | | subtextStyle: { |
| | | color: '#90979c', |
| | |
| | | containLabel: true |
| | | }, |
| | | legend: { |
| | | show: false, |
| | | // data: ['title1', 'title2'], |
| | | data: ['title1'], |
| | | data: ['title1', 'title2'], |
| | | left: 220, |
| | | top: 10, |
| | | textStyle: { |
| | |
| | | }, |
| | | xAxis: { |
| | | type: 'category', |
| | | // data: ['车间一', '车间二', '车间三', '车间四', '车间五'], |
| | | data: ['浙江皇冠', '永康皇冠', '北辰电机', '恒泰皇冠园林', '迈拓塑业'], |
| | | data: ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'], |
| | | axisLine: { |
| | | lineStyle: { |
| | | show: true, |
| | |
| | | // rotate: 40, |
| | | textStyle: { |
| | | fontFamily: 'Microsoft YaHei', |
| | | color: colorX, // x轴颜色 |
| | | color: '#fff', // x轴颜色 |
| | | fontWeight: 'normal', |
| | | fontSize: '12', |
| | | fontSize: '14', |
| | | lineHeight: 22 |
| | | } |
| | | } |
| | |
| | | // } |
| | | // }, |
| | | }, |
| | | yAxis: |
| | | { |
| | | name: '%', |
| | | nameTextStyle: { |
| | | color: colorY, |
| | | fontSize: 14, |
| | | lineHeight: 20 |
| | | }, |
| | | boundaryGap: false, |
| | | splitNumber: 4, |
| | | type: 'value', |
| | | axisLabel: { |
| | | textStyle: { |
| | | fontSize: 14, |
| | | color: '#7696c5' |
| | | // color: this.colorY |
| | | } |
| | | }, |
| | | splitLine: { |
| | | show: true, |
| | | lineStyle: { |
| | | color: '#032c58' |
| | | } |
| | | }, |
| | | axisLine: { |
| | | show: true, |
| | | lineStyle: { |
| | | color: '#032c58' |
| | | } |
| | | }, |
| | | axisTick: { |
| | | show: true |
| | | yAxis: { |
| | | type: 'value', |
| | | name: '数量(单位:个)', |
| | | nameTextStyle: { |
| | | color: '#ffffff' |
| | | }, |
| | | axisLine: { |
| | | show: false, |
| | | lineStyle: { |
| | | type: 'dashed', |
| | | color: 'rgba(135,140,147,0.8)' |
| | | } |
| | | }, |
| | | // { |
| | | // type: 'value', |
| | | // // name: '数量(单位:个)', |
| | | // name: '', |
| | | // nameTextStyle: { |
| | | // color: '#ffffff' |
| | | // }, |
| | | // axisLine: { |
| | | // show: false, |
| | | // lineStyle: { |
| | | // type: 'dashed', |
| | | // color: 'rgba(135,140,147,0.8)' |
| | | // } |
| | | // }, |
| | | // splitLine: { |
| | | // show: true, |
| | | // lineStyle: { |
| | | // color: 'rgba(135,140,147,1)' // 左侧显示线 |
| | | // } |
| | | // }, |
| | | // axisLabel: { |
| | | // formatter: '{value}', |
| | | // color: colorY, |
| | | // fontSize: 14 |
| | | // } |
| | | // }, |
| | | splitLine: { |
| | | show: true, |
| | | lineStyle: { |
| | | color: 'rgba(135,140,147,1)' // 左侧显示线 |
| | | } |
| | | }, |
| | | axisLabel: { |
| | | formatter: '{value}', |
| | | color: '#fff', |
| | | fontSize: 14 |
| | | } |
| | | }, |
| | | series: [ |
| | | { |
| | | type: 'pictorialBar', |
| | | symbol: path, |
| | | symbolSize: [30, 8], |
| | | // symbolOffset: [-18, -4], |
| | | symbolOffset: [0, -4], |
| | | symbolOffset: [-18, -4], |
| | | symbolPosition: 'end', |
| | | z: 12, |
| | | color: '#3440FF', |
| | | data: data1 |
| | | data: zzx1 |
| | | }, |
| | | // { |
| | | // type: 'pictorialBar', |
| | | // symbol: path, |
| | | // symbolSize: [30, 8], |
| | | // symbolOffset: [18, -4], |
| | | // // symbolOffset: [20, -5], |
| | | // symbolPosition: 'end', |
| | | // z: 12, |
| | | // color: '#FF1155', |
| | | // data: data2 |
| | | // }, |
| | | { |
| | | type: 'pictorialBar', |
| | | symbol: path, |
| | | symbolSize: [30, 8], |
| | | // symbolOffset: [-18, 4], |
| | | symbolOffset: [0, 4], |
| | | symbolOffset: [18, -4], |
| | | // symbolOffset: [20, -5], |
| | | symbolPosition: 'end', |
| | | z: 12, |
| | | color: '#FF1155', |
| | | data: wgx1 |
| | | }, |
| | | { |
| | | type: 'pictorialBar', |
| | | symbol: path, |
| | | symbolSize: [30, 8], |
| | | symbolOffset: [-18, 4], |
| | | z: 12, |
| | | color: 'rgba(126,192,238,0.6)', |
| | | data: data1 |
| | | data: zzx1 |
| | | }, |
| | | // { |
| | | // name: '', |
| | | // type: 'pictorialBar', |
| | | // symbol: path, |
| | | // symbolSize: [30, 8], |
| | | // // symbolOffset: [20, 4], |
| | | // symbolOffset: [18, 4], |
| | | // color: '#FFC0CB', |
| | | // z: 12, |
| | | // data: data2 |
| | | // }, |
| | | { |
| | | name: '', |
| | | type: 'pictorialBar', |
| | | symbol: path, |
| | | symbolSize: [30, 8], |
| | | // symbolOffset: [20, 4], |
| | | symbolOffset: [18, 4], |
| | | color: '#FFC0CB', |
| | | z: 12, |
| | | data: wgx1 |
| | | }, { |
| | | name: 'title1', |
| | | type: 'bar', |
| | | barWidth: '30', |
| | |
| | | color: '#00f8ff', |
| | | fontSize: 12 |
| | | }, |
| | | data: data1 |
| | | } |
| | | // { |
| | | // name: 'title2', |
| | | // type: 'bar', |
| | | // barWidth: '30', |
| | | // itemStyle: { |
| | | // normal: { |
| | | // opacity: 0.7, |
| | | // color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ |
| | | // offset: 0, |
| | | // color: '#FF2246' |
| | | // }, { |
| | | // offset: 1, |
| | | // color: '#FFC0CB' |
| | | // |
| | | // }]), |
| | | // barBorderRadius: 0 |
| | | // } |
| | | // |
| | | // }, |
| | | // label: { |
| | | // show: true, |
| | | // // position: ['18','-18'], |
| | | // position: 'top', |
| | | // color: '#00f8ff', |
| | | // fontSize: 12 |
| | | // }, |
| | | // data: data2 |
| | | // } |
| | | ] |
| | | } |
| | | |
| | | return option |
| | | } |
| | | |
| | | export function line1(dataY, dataY2, dataY3, dataY4, dataY5) { |
| | | const option = { |
| | | backgroundColor: 'transparent', |
| | | grid: { |
| | | left: '4%', |
| | | right: '4%', |
| | | bottom: '4%', |
| | | top: '15%', |
| | | containLabel: true |
| | | }, |
| | | title: { |
| | | // text: '销售额概览', |
| | | text: '各工厂能耗', |
| | | left: '50%', |
| | | top: '0%', |
| | | textAlign: 'center', |
| | | textStyle: { |
| | | // color: '#fff', |
| | | color: '#00ffff', |
| | | fontSize: '20', |
| | | fontWeight: 'bolder' |
| | | } |
| | | }, |
| | | tooltip: { |
| | | trigger: 'axis', |
| | | axisPointer: { |
| | | lineStyle: { |
| | | color: '#ddd' |
| | | } |
| | | data: zzx1 |
| | | }, |
| | | backgroundColor: 'rgba(255,255,255,1)', |
| | | padding: [5, 10], |
| | | textStyle: { |
| | | color: '#7588E4' |
| | | }, |
| | | extraCssText: 'box-shadow: 0 0 5px rgba(0,0,0,0.3)' |
| | | }, |
| | | legend: { |
| | | show: false, |
| | | right: 20, |
| | | orient: 'vertical', |
| | | data: ['浙江皇冠', '永康皇冠', '北辰电机', '恒泰皇冠园林', '迈拓塑业'] |
| | | }, |
| | | xAxis: { |
| | | |
| | | // data: ['00:00','2:00','4:00','6:00','8:00','10:00','12:00','14:00','16:00','18:00','20:00',"22:00"], |
| | | // 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月'], |
| | | // type: 'category', |
| | | // boundaryGap: true, |
| | | // axisLabel: { |
| | | // interval: 0, |
| | | // formatter: '{value}', |
| | | // fontSize: 14, |
| | | // margin: 20, |
| | | // textStyle: { |
| | | // // color: this.colorX |
| | | // color: '#c7e7ff' |
| | | // } |
| | | // }, |
| | | // axisLine: { |
| | | // lineStyle: { |
| | | // color: '#032c58' |
| | | // } |
| | | // }, |
| | | // splitLine: { |
| | | // show: false, |
| | | // lineStyle: { |
| | | // color: '#032c58' |
| | | // } |
| | | // }, |
| | | // axisTick: { |
| | | // show: false |
| | | // } |
| | | // name: '月', |
| | | // nameTextStyle: { |
| | | // color: colorX, |
| | | // fontSize: 14, |
| | | // lineHeight: 20 |
| | | // }, |
| | | boundaryGap: false, |
| | | // splitLine: { |
| | | // show: false, |
| | | // interval: 'auto', |
| | | // lineStyle: { |
| | | // color: ['#D4DFF5'] |
| | | // } |
| | | // }, |
| | | axisTick: { |
| | | show: false |
| | | }, |
| | | axisLine: { |
| | | lineStyle: { |
| | | show: true, |
| | | lineStyle: { |
| | | color: '#6A989E' |
| | | } |
| | | } |
| | | }, |
| | | axisLabel: { |
| | | margin: 10, |
| | | textStyle: { |
| | | color: colorX, |
| | | fontSize: 14 |
| | | } |
| | | } |
| | | }, |
| | | yAxis: |
| | | { |
| | | name: '', |
| | | nameTextStyle: { |
| | | color: colorY, |
| | | fontSize: 14, |
| | | lineHeight: 20 |
| | | }, |
| | | boundaryGap: false, |
| | | splitNumber: 5, |
| | | type: 'value', |
| | | // offset: -30, |
| | | axisLabel: { |
| | | textStyle: { |
| | | fontSize: 14, |
| | | color: '#7696c5' |
| | | // color: this.colorY |
| | | } |
| | | }, |
| | | splitLine: { |
| | | show: true, |
| | | lineStyle: { |
| | | color: '#032c58' |
| | | } |
| | | }, |
| | | axisLine: { |
| | | show: true, |
| | | lineStyle: { |
| | | color: '#032c58' |
| | | } |
| | | }, |
| | | axisTick: { |
| | | show: true |
| | | } |
| | | }, |
| | | series: [ |
| | | { |
| | | name: '浙江皇冠', |
| | | type: 'line', |
| | | smooth: true, |
| | | showSymbol: false, |
| | | symbol: 'circle', |
| | | symbolSize: 6, |
| | | // data: ['200', '400', '500', '300', '400', '500', '600', '800', '900', '1000', '1100', '1322'], |
| | | data: dataY, |
| | | areaStyle: { |
| | | normal: { |
| | | color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ |
| | | offset: 0, |
| | | color: 'rgba(0,215,236,0.5)' |
| | | }, { |
| | | offset: 1, |
| | | color: 'rgba(0,215,236,0.2)' |
| | | }], false) |
| | | } |
| | | }, |
| | | name: 'title2', |
| | | type: 'bar', |
| | | barWidth: '30', |
| | | itemStyle: { |
| | | normal: { |
| | | // color: '#f7b851' |
| | | // color: `rgb(73, 226, 196)` |
| | | color: `rgb(0, 215, 236)` |
| | | } |
| | | }, |
| | | lineStyle: { |
| | | normal: { |
| | | width: 3 |
| | | } |
| | | } |
| | | }, |
| | | { |
| | | name: '永康皇冠', |
| | | type: 'line', |
| | | smooth: true, |
| | | showSymbol: false, |
| | | symbol: 'circle', |
| | | symbolSize: 6, |
| | | // data: ['1200', '1400', '808', '811', '626', '488', '1600', '1100', '500', '300', '1998', '822'], |
| | | data: dataY2, |
| | | areaStyle: { |
| | | normal: { |
| | | opacity: 0.7, |
| | | color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ |
| | | offset: 0, |
| | | color: 'rgba(60,244,184,0.5)' |
| | | color: '#FF2246' |
| | | }, { |
| | | offset: 1, |
| | | color: 'rgba(60,244,184,0.2)' |
| | | }], false) |
| | | } |
| | | }, |
| | | itemStyle: { |
| | | normal: { |
| | | color: `rgb(60, 244, 184)` |
| | | } |
| | | }, |
| | | lineStyle: { |
| | | normal: { |
| | | width: 3 |
| | | } |
| | | } |
| | | }, |
| | | { |
| | | name: '北辰电机', |
| | | type: 'line', |
| | | smooth: true, |
| | | showSymbol: false, |
| | | symbol: 'circle', |
| | | symbolSize: 6, |
| | | // data: ['1200', '1400', '808', '811', '626', '488', '1600', '1100', '500', '300', '1998', '822'], |
| | | data: dataY3, |
| | | areaStyle: { |
| | | normal: { |
| | | color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ |
| | | offset: 0, |
| | | color: 'rgba(55,183,255,0.5)' |
| | | }, { |
| | | offset: 1, |
| | | color: 'rgba(55,183,255,0.2)' |
| | | }], false) |
| | | } |
| | | }, |
| | | itemStyle: { |
| | | normal: { |
| | | // color: '#58c8da' |
| | | color: `rgb(55, 183, 255)` |
| | | } |
| | | }, |
| | | lineStyle: { |
| | | normal: { |
| | | width: 3 |
| | | } |
| | | } |
| | | }, |
| | | { |
| | | name: '恒泰皇冠园林', |
| | | type: 'line', |
| | | smooth: true, |
| | | showSymbol: false, |
| | | symbol: 'circle', |
| | | symbolSize: 6, |
| | | // data: ['1200', '1400', '808', '811', '626', '488', '1600', '1100', '500', '300', '1998', '822'], |
| | | data: dataY4, |
| | | areaStyle: { |
| | | normal: { |
| | | color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ |
| | | offset: 0, |
| | | color: 'rgba(26,202,200,0.5)' |
| | | }, { |
| | | offset: 1, |
| | | color: 'rgba(26,202,200,0.2)' |
| | | }], false) |
| | | } |
| | | }, |
| | | itemStyle: { |
| | | normal: { |
| | | // color: '#58c8da' |
| | | color: `rgb(26, 202, 200)` |
| | | } |
| | | }, |
| | | lineStyle: { |
| | | normal: { |
| | | width: 3 |
| | | } |
| | | } |
| | | }, |
| | | { |
| | | name: '迈拓塑业', |
| | | type: 'line', |
| | | smooth: true, |
| | | showSymbol: false, |
| | | symbol: 'circle', |
| | | symbolSize: 6, |
| | | // data: ['1200', '1400', '808', '811', '626', '488', '1600', '1100', '500', '300', '1998', '822'], |
| | | data: dataY5, |
| | | areaStyle: { |
| | | normal: { |
| | | color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ |
| | | offset: 0, |
| | | color: 'rgba(243,94,94,0.5)' |
| | | }, { |
| | | offset: 1, |
| | | color: 'rgba(243,94,94,0.2)' |
| | | }], false) |
| | | } |
| | | }, |
| | | itemStyle: { |
| | | normal: { |
| | | // color: '#58c8da' |
| | | color: `rgb(243, 94, 94)` |
| | | } |
| | | }, |
| | | lineStyle: { |
| | | normal: { |
| | | width: 3 |
| | | } |
| | | } |
| | | } |
| | | ] |
| | | } |
| | | color: '#FFC0CB' |
| | | |
| | | return option |
| | | } |
| | | }]), |
| | | barBorderRadius: 0 |
| | | } |
| | | |
| | | export function pie2(title, scaleData) { |
| | | var rich = { |
| | | white: { |
| | | color: '#ddd', |
| | | align: 'center', |
| | | padding: [5, 0] |
| | | } |
| | | } |
| | | var placeHolderStyle = { |
| | | normal: { |
| | | label: { |
| | | show: false |
| | | }, |
| | | labelLine: { |
| | | show: false |
| | | }, |
| | | color: 'rgba(0, 0, 0, 0)', |
| | | borderColor: 'rgba(0, 0, 0, 0)', |
| | | borderWidth: 0 |
| | | } |
| | | } |
| | | var data = [] |
| | | for (var i = 0; i < scaleData.length; i++) { |
| | | data.push({ |
| | | value: scaleData[i].value, |
| | | name: scaleData[i].name, |
| | | itemStyle: { |
| | | normal: { |
| | | borderWidth: 5, |
| | | shadowBlur: 30, |
| | | borderColor: new echarts.graphic.LinearGradient(0, 0, 1, 1, [{ |
| | | offset: 0, |
| | | color: '#7777eb' |
| | | }, { |
| | | offset: 1, |
| | | color: '#70ffac' |
| | | }]), |
| | | shadowColor: 'rgba(142, 152, 241, 0.6)' |
| | | } |
| | | } |
| | | }, { |
| | | value: 4, |
| | | name: '', |
| | | itemStyle: placeHolderStyle |
| | | }) |
| | | } |
| | | var seriesObj = [{ |
| | | name: '', |
| | | type: 'pie', |
| | | clockWise: false, |
| | | radius: [60, 65], |
| | | top: '10%', |
| | | hoverAnimation: false, |
| | | itemStyle: { |
| | | normal: { |
| | | }, |
| | | label: { |
| | | show: true, |
| | | position: 'outside', |
| | | // color: '#ddd', |
| | | 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|' + '' + percent + '%}' |
| | | } else { |
| | | return '' |
| | | } |
| | | }, |
| | | rich: rich |
| | | // position: ['18','-18'], |
| | | position: 'top', |
| | | color: '#00f8ff', |
| | | fontSize: 12 |
| | | }, |
| | | labelLine: { |
| | | show: false |
| | | } |
| | | data: wgx1 |
| | | } |
| | | }, |
| | | data: data |
| | | }] |
| | | const option = { |
| | | backgroundColor: 'transparent', |
| | | tooltip: { |
| | | show: false |
| | | }, |
| | | top: 'middle', |
| | | title: { |
| | | text: title, |
| | | left: '50%', |
| | | top: '7%', |
| | | textAlign: 'center', |
| | | textStyle: { |
| | | color: '#00ffff', |
| | | fontSize: '20', |
| | | fontWeight: 'bolder' |
| | | } |
| | | }, |
| | | legend: { |
| | | show: false |
| | | }, |
| | | toolbox: { |
| | | show: false |
| | | }, |
| | | series: seriesObj |
| | | } |
| | | |
| | | return option |
| | | } |
| | | |
| | | export function bar2(list) { |
| | | // const list = [500, 400, 300, 200, 200] |
| | | const yName = ['浏览客户', '进店客户', '认购客户', '下单客户', '再次购买'] |
| | | const xData = [500, 400, 300, 200, 100] |
| | | // const color = ['#ff3259', '#ff6160', '#ffb065', '#fef568', '#1a6df1', '#15a0ff', '#11e2ff', '#58febe'] |
| | | const color = ['#ff3259', '#ff6160', '#ffb065', '#fef568', '#1a6df1'] |
| | | const barWidth = 15 |
| | | const option = { |
| | | backgroundColor: 'transparent', |
| | | title: { |
| | | text: '平台链接客户', |
| | | left: '50%', |
| | | top: '5%', |
| | | textAlign: 'center', |
| | | textStyle: { |
| | | // color: '#fff', |
| | | color: '#00ffff', |
| | | fontSize: '20', |
| | | fontWeight: 'bolder' |
| | | } |
| | | }, |
| | | xAxis: { |
| | | splitLine: { |
| | | show: false |
| | | }, |
| | | axisLabel: { |
| | | show: false |
| | | }, |
| | | axisTick: { |
| | | show: false |
| | | }, |
| | | axisLine: { |
| | | show: false |
| | | } |
| | | }, |
| | | grid: { |
| | | left: '4%', |
| | | right: '4%', |
| | | bottom: '4%', |
| | | top: '15%', |
| | | containLabel: true |
| | | }, |
| | | yAxis: [{ |
| | | inverse: true, |
| | | axisLine: { |
| | | show: false |
| | | }, |
| | | axisTick: { |
| | | show: false |
| | | }, |
| | | axisLabel: { |
| | | margin: 10, |
| | | textStyle: { |
| | | fontSize: 14, |
| | | color: colorX |
| | | } |
| | | }, |
| | | data: yName |
| | | }], |
| | | series: [{ // 内 |
| | | type: 'bar', |
| | | barWidth, |
| | | legendHoverLink: false, |
| | | symbolRepeat: true, |
| | | silent: true, |
| | | itemStyle: { |
| | | normal: { |
| | | // barBorderRadius: [4, 4, 4, 4], |
| | | color: function(params) { |
| | | var colorlist = color |
| | | return colorlist[params.dataIndex] |
| | | } |
| | | } |
| | | }, |
| | | data: list, |
| | | z: 1, |
| | | animationEasing: 'elasticOut' |
| | | }, |
| | | { // 背景 |
| | | type: 'pictorialBar', |
| | | animationDuration: 0, |
| | | symbolRepeat: 'fixed', |
| | | symbolMargin: '20%', |
| | | symbol: 'roundRect', |
| | | symbolSize: [6, barWidth], |
| | | itemStyle: { |
| | | normal: { |
| | | color: 'rgba(255,255,255,0.3)' |
| | | } |
| | | }, |
| | | |
| | | data: xData, |
| | | z: 0, |
| | | animationEasing: 'elasticOut' |
| | | }, |
| | | { // 分隔 |
| | | type: 'pictorialBar', |
| | | itemStyle: { |
| | | color: '#051e43' |
| | | }, |
| | | symbolRepeat: 'fixed', |
| | | symbolMargin: 4, |
| | | symbol: 'roundRect', |
| | | symbolClip: true, |
| | | symbolSize: [2, barWidth], |
| | | symbolPosition: 'start', |
| | | symbolOffset: [0, 0], |
| | | data: list, |
| | | z: 2, |
| | | animationEasing: 'elasticOut' |
| | | } |
| | | ] |
| | | } |
| | | |
| | | return option |
| | | } |
| | | |
| | | export function custom1() { |
| | | |
| | | } |
| | | |
| | | export function bar3() { |
| | | const a1 = 20 + Math.floor(Math.random() * 80) |
| | | const a2 = 20 + Math.floor(Math.random() * 80) |
| | | const a3 = 20 + Math.floor(Math.random() * 80) |
| | | const a4 = 20 + Math.floor(Math.random() * 80) |
| | | const a5 = 20 + Math.floor(Math.random() * 80) |
| | | const a6 = 20 + Math.floor(Math.random() * 80) |
| | | const a7 = 20 + Math.floor(Math.random() * 80) |
| | | const a8 = 20 + Math.floor(Math.random() * 80) |
| | | const a9 = 20 + Math.floor(Math.random() * 80) |
| | | const a10 = 20 + Math.floor(Math.random() * 80) |
| | | const a11 = 20 + Math.floor(Math.random() * 80) |
| | | const a12 = 20 + Math.floor(Math.random() * 80) |
| | | const list = [ |
| | | { |
| | | key: '进货数量', |
| | | value: [ |
| | | { value: a1 }, |
| | | { value: a2 }, |
| | | { value: a3 }, |
| | | { value: a4 }, |
| | | { value: a5 }, |
| | | { value: a6 }, |
| | | { value: a8 }, |
| | | { value: a9 }, |
| | | { value: a10 }, |
| | | { value: a11 }, |
| | | { value: a12 } |
| | | ] |
| | | }, { |
| | | key: '合格数量', |
| | | value: [ |
| | | { value: a1 - 2 }, |
| | | { value: a2 - 3 }, |
| | | { value: a3 - 5 }, |
| | | { value: a4 - 1 }, |
| | | { value: a5 - 2 }, |
| | | { value: a6 - 4 }, |
| | | { value: a7 - 5 }, |
| | | { value: a8 - 2 }, |
| | | { value: a9 - 2 }, |
| | | { value: a10 - 6 }, |
| | | { value: a11 - 1 }, |
| | | { value: a12 - 3 } |
| | | ] |
| | | }, { |
| | | key: '不合格数量', |
| | | value: [ |
| | | { value: 2 }, |
| | | { value: 3 }, |
| | | { value: 5 }, |
| | | { value: 1 }, |
| | | { value: 2 }, |
| | | { value: 4 }, |
| | | { value: 5 }, |
| | | { value: 2 }, |
| | | { value: 2 }, |
| | | { value: 6 }, |
| | | { value: 1 }, |
| | | { value: 3 } |
| | | ] |
| | | } |
| | | ] |
| | | const color = ['26,171,234', '73,226,196', '255,221,97'] |
| | | // const xList = ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'] |
| | | const xList = ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'] |
| | | const seriesData = [] |
| | | |
| | | list.forEach((r, i) => { |
| | | var o = { |
| | | name: r.key, |
| | | type: 'bar', |
| | | smooth: false, |
| | | yAxisIndex: 0, |
| | | showSymbol: true, |
| | | showAllSymbol: true, |
| | | barWidth: 8, |
| | | zlevel: 3, |
| | | lineStyle: { |
| | | normal: { |
| | | width: 2, |
| | | color: `rgba(${color[i]})` |
| | | } |
| | | }, |
| | | areaStyle: { |
| | | normal: { |
| | | color: { |
| | | type: 'linear', |
| | | x: 0, |
| | | y: 0, |
| | | x2: 0, |
| | | y2: 1, |
| | | colorStops: [ |
| | | { |
| | | offset: 0, |
| | | color: `rgba(${color[i]}, 0.0)`// 0% 处的颜色 |
| | | }, |
| | | { |
| | | offset: 1, |
| | | color: `rgba(${color[i]}, 0.0)` // 100% 处的颜色 |
| | | } |
| | | ], |
| | | globalCoord: false // 缺省为 false |
| | | } // 渐变颜色 |
| | | } |
| | | }, |
| | | itemStyle: { |
| | | normal: { |
| | | color: { |
| | | type: 'linear', |
| | | x: 0, |
| | | y: 0, |
| | | x2: 0, |
| | | y2: 1, |
| | | colorStops: [ |
| | | { |
| | | offset: 0, |
| | | color: `rgba(${color[i]}, 1)`// 0% 处的颜色 |
| | | }, |
| | | { |
| | | offset: 1, |
| | | color: `rgba(${color[i]}, 0.2)` // 100% 处的颜色 |
| | | } |
| | | ], |
| | | globalCoord: false // 缺省为 false |
| | | } // 渐变颜色 |
| | | } |
| | | }, |
| | | data: r.value.map(r => r.value) |
| | | } |
| | | // if (i === 0) { |
| | | // xList = r.value.map(r => r.key) |
| | | // } |
| | | // if (r.percent) { |
| | | // this.$set(o, 'symbolSize', 6) |
| | | // } else { |
| | | // this.$set(o, 'symbol', 'path://M0,10 L10,10 L5,0 L0,10 z') |
| | | // } |
| | | seriesData.push(o) |
| | | }) |
| | | // 采购订单图 |
| | | export function pie01() { |
| | | const option = { |
| | | backgroundColor: 'transparent', |
| | | legend: { |
| | | show: true, |
| | | data: list.map(r => r.key), |
| | | top: '2%', |
| | | itemHeight: 20, |
| | | itemWidth: 20, |
| | | textStyle: { |
| | | fontSize: 14, |
| | | color: 'F1F1F3' |
| | | // color: colorX |
| | | }, |
| | | right: '1%' |
| | | }, |
| | | title: { |
| | | text: '合格率分析', |
| | | left: '28%', |
| | | top: '2%', |
| | | textAlign: 'center', |
| | | text: '60.21%', |
| | | x: 'center', |
| | | y: 'center', |
| | | textStyle: { |
| | | // color: '#fff', |
| | | color: '#00ffff', |
| | | fontSize: '20', |
| | | fontWeight: 'bolder' |
| | | fontWeight: 'normal', |
| | | color: '#fff', |
| | | fontSize: 18 |
| | | } |
| | | }, |
| | | grid: { |
| | | left: '4%', |
| | | right: '4%', |
| | | bottom: '4%', |
| | | top: '15%', |
| | | containLabel: true |
| | | color: ['rgba(176, 212, 251, 1)'], |
| | | legend: { |
| | | show: false, |
| | | itemGap: 12, |
| | | data: ['01', '02'] |
| | | }, |
| | | tooltip: { |
| | | show: true, |
| | | trigger: 'axis', // axis , item |
| | | backgroundColor: 'RGBA(0, 0, 0, 0.3)', |
| | | borderColor: 'rgba(0, 151, 251, 0.6)', |
| | | borderWidth: 1, |
| | | borderRadius: 0, |
| | | textStyle: { |
| | | color: '#BCE9FC', |
| | | fontSize: 14, |
| | | align: 'left' |
| | | } |
| | | }, |
| | | xAxis: [{ |
| | | type: 'category', |
| | | boundaryGap: true, |
| | | axisLabel: { |
| | | interval: 0, |
| | | formatter: '{value}', |
| | | fontSize: 14, |
| | | margin: 20, |
| | | textStyle: { |
| | | // color: this.colorX |
| | | color: '#c7e7ff' |
| | | } |
| | | }, |
| | | axisLine: { |
| | | lineStyle: { |
| | | color: '#032c58' |
| | | } |
| | | }, |
| | | splitLine: { |
| | | show: false, |
| | | lineStyle: { |
| | | color: '#032c58' |
| | | } |
| | | }, |
| | | axisTick: { |
| | | show: false |
| | | }, |
| | | data: xList |
| | | }], |
| | | yAxis: [ |
| | | |
| | | series: [ |
| | | { |
| | | boundaryGap: false, |
| | | splitNumber: 4, |
| | | type: 'value', |
| | | name: '%', |
| | | nameTextStyle: { |
| | | color: colorY, |
| | | fontSize: 14, |
| | | lineHeight: 20 |
| | | }, |
| | | axisLabel: { |
| | | textStyle: { |
| | | fontSize: 14, |
| | | color: '#7696c5' |
| | | // color: this.colorY |
| | | name: 'Line 1', |
| | | type: 'pie', |
| | | clockWise: true, |
| | | radius: ['50%', '66%'], |
| | | itemStyle: { |
| | | normal: { |
| | | label: { |
| | | show: false |
| | | }, |
| | | labelLine: { |
| | | show: false |
| | | } |
| | | } |
| | | }, |
| | | splitLine: { |
| | | show: true, |
| | | lineStyle: { |
| | | color: '#032c58' |
| | | hoverAnimation: false, |
| | | data: [ |
| | | { |
| | | value: 80, |
| | | name: '01', |
| | | itemStyle: { |
| | | normal: { |
| | | color: { // 完成的圆环的颜色 |
| | | colorStops: [{ |
| | | offset: 0, |
| | | color: '#24d3ff' // 0% 处的颜色 |
| | | }, { |
| | | offset: 1, |
| | | color: '#5580fe' // 100% 处的颜色 |
| | | }] |
| | | }, |
| | | label: { |
| | | show: false |
| | | }, |
| | | labelLine: { |
| | | show: false |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | { |
| | | name: '02', |
| | | value: 20 |
| | | } |
| | | }, |
| | | axisLine: { |
| | | show: true, |
| | | lineStyle: { |
| | | color: '#032c58' |
| | | } |
| | | }, |
| | | axisTick: { |
| | | show: true |
| | | } |
| | | }, |
| | | { |
| | | boundaryGap: false, |
| | | splitNumber: 4, |
| | | type: 'value', |
| | | axisLabel: { |
| | | textStyle: { |
| | | fontSize: 14, |
| | | // color: this.colorY |
| | | color: '#7696c5' |
| | | } |
| | | }, |
| | | nameTextStyle: { |
| | | color: '#fff', |
| | | fontSize: 14, |
| | | lineHeight: 40 |
| | | }, |
| | | splitLine: { |
| | | lineStyle: { |
| | | color: '#032c58' |
| | | } |
| | | }, |
| | | axisLine: { |
| | | show: false |
| | | }, |
| | | axisTick: { |
| | | show: true |
| | | } |
| | | } |
| | | ], |
| | | series: seriesData |
| | | ] |
| | | }] |
| | | } |
| | | return option |
| | | } |
| | | |
| | | export function bar4() { |
| | | const data = [{ |
| | | name: '浙江皇冠', |
| | | value: Math.floor(Math.random() * 10 + 90) |
| | | }, |
| | | { |
| | | name: '永康皇冠', |
| | | value: Math.floor(Math.random() * 10 + 90) |
| | | }, |
| | | { |
| | | name: '北辰电机', |
| | | value: Math.floor(Math.random() * 10 + 90) |
| | | }, |
| | | { |
| | | name: '恒泰皇冠园林', |
| | | value: Math.floor(Math.random() * 10 + 90) |
| | | }, |
| | | { |
| | | name: '迈拓塑业', |
| | | value: Math.floor(Math.random() * 10 + 90) |
| | | } |
| | | // { |
| | | // name: '车间五', |
| | | // value: Math.floor(Math.random() * 10 + 90) |
| | | // } |
| | | ] |
| | | const getArrByKey = (data, k) => { |
| | | const key = k || 'value' |
| | | const res = [] |
| | | if (data) { |
| | | data.forEach(function(t) { |
| | | res.push(t[key]) |
| | | }) |
| | | } |
| | | return res |
| | | } |
| | | const getSymbolData = (data) => { |
| | | const arr = [] |
| | | for (var i = 0; i < data.length; i++) { |
| | | arr.push({ |
| | | value: data[i].value, |
| | | symbolPosition: 'end' |
| | | }) |
| | | } |
| | | return arr |
| | | } |
| | | // console.log(getSymbolData(data)); |
| | | // 看板头部背景条 |
| | | export function kbTop() { |
| | | var getXY = ['学前教育系'] // 数据点名称 |
| | | var getRS = [255] // 学生满意度 |
| | | |
| | | var max = Math.ceil(255 / 10) * 10 |
| | | |
| | | const option = { |
| | | animation: false, |
| | | backgroundColor: 'transparent', |
| | | grid: { |
| | | left: '0%', |
| | | right: '4%', |
| | | bottom: '4%', |
| | | top: '15%', |
| | | containLabel: true |
| | | right: '0%', |
| | | bottom: '0%', |
| | | top: '0%' |
| | | // containLabel: true |
| | | }, |
| | | title: { |
| | | text: '工厂达成率', |
| | | x: '46%', |
| | | y: '5%', |
| | | textStyle: { |
| | | // color: '#fff', |
| | | color: '#00ffff', |
| | | fontSize: '20', |
| | | fontWeight: 'bolder' |
| | | }, |
| | | subtextStyle: { |
| | | color: '#90979c', |
| | | fontSize: '16' |
| | | } |
| | | }, |
| | | xAxis: { |
| | | show: false |
| | | }, |
| | | yAxis: [{ |
| | | triggerEvent: true, |
| | | show: true, |
| | | inverse: true, |
| | | data: getArrByKey(data, 'name'), |
| | | axisLine: { |
| | | show: false |
| | | }, |
| | | splitLine: { |
| | | show: false |
| | | }, |
| | | axisTick: { |
| | | show: false |
| | | }, |
| | | |
| | | axisLabel: { |
| | | show: true, |
| | | interval: 0, |
| | | color: colorY, |
| | | align: 'left', |
| | | margin: 60, |
| | | formatter: function(value, index) { |
| | | return '{title|' + value + '}' |
| | | }, |
| | | rich: { |
| | | title: { |
| | | width: 50, |
| | | align: 'right', |
| | | fontSize: 18 |
| | | xAxis: [ |
| | | { |
| | | type: 'value', |
| | | show: false, |
| | | axisLabel: { |
| | | margin: 5, |
| | | color: '#666666', |
| | | textStyle: { |
| | | fontSize: '13' |
| | | } |
| | | }, |
| | | min: 0, |
| | | max: max, // 计算最大值 |
| | | interval: max / 5, // 平均分为5份 |
| | | splitNumber: 5, |
| | | splitLine: { |
| | | show: true, |
| | | lineStyle: { |
| | | color: '#D1D1D1' |
| | | } |
| | | }, |
| | | axisLine: { |
| | | lineStyle: { |
| | | color: '#333333' |
| | | } |
| | | }, |
| | | axisTick: { |
| | | show: false |
| | | } |
| | | } |
| | | }, { |
| | | triggerEvent: true, |
| | | show: true, |
| | | inverse: true, |
| | | data: getArrByKey(data, 'name'), |
| | | axisLine: { |
| | | show: false |
| | | }, |
| | | splitLine: { |
| | | show: false |
| | | }, |
| | | axisTick: { |
| | | show: false |
| | | }, |
| | | axisLabel: { |
| | | interval: 0, |
| | | shadowOffsetX: '-20px', |
| | | // color: ['#fff'], |
| | | color: colorX, |
| | | align: 'left', |
| | | verticalAlign: 'center', |
| | | lineHeight: 40, |
| | | fontSize: 18, |
| | | formatter: function(value, index) { |
| | | return data[index].value + '%' |
| | | } |
| | | |
| | | ], |
| | | yAxis: [ |
| | | { |
| | | type: 'category', |
| | | inverse: true, |
| | | show: false, |
| | | axisLabel: { |
| | | textStyle: { |
| | | color: '#6F84BD', |
| | | fontSize: '13' |
| | | } |
| | | }, |
| | | splitLine: { |
| | | show: false |
| | | }, |
| | | axisTick: { |
| | | show: false |
| | | }, |
| | | axisLine: { |
| | | show: false, |
| | | lineStyle: { |
| | | color: '#333333' |
| | | } |
| | | }, |
| | | data: getXY |
| | | } |
| | | }], |
| | | series: [{ |
| | | name: 'XXX', |
| | | type: 'pictorialBar', |
| | | symbol: 'image://data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADoAAAA6CAMAAADWZboaAAAAZlBMVEUAAABe3uVe3+Vf3uVf3+Zf3uVg3+Zg3+Zf3+Vi4OZh4OZg3+Z86/Bh3+Zi4Odj4Odi4OZ86/B76/B86/Bj4ed56+9x5+xn4umB7/N87PB36e+A7/N+7fF/7vJ/7vJ+7fGA7/OB7/PReX+lAAAAIXRSTlMABQkVDREmIhk3MR10LEFFPHh7cUprXE35h2XnqMLAp+mHAG9cAAAB5ElEQVRIx83WjU7CMBQFYIoiKMqU/XUboHv/l/Tce7t2XamDNSacETEmX86tlK2rx4py150o+MstMBLwWRfHKo6JCVxLnvmFGBjFQ58oF1//sUZhGy/ClSTWObgnL4O+bkeN4nY2okfNMbkRt9/vtxz8InoTsWplJSCzFxPmO8+GpSIByX3YQAuGDWtRKhKjCnxDXhF6Z4yxnZ20Wgko7BMRDmxtSGVaI4kdTIgb+zTYoJQlIMlDlmUFgrcDWWC201qSayqlTkiCddWWeV62VU0YlnpRi9VOKaSUsiyq/N0krwq2Ugt7lVpZl5BfHNiytjagMi+XYp0kCR45hMlivVQrE/uU5pXSrCB5bM6d1t2lOZItMqmliT3q5uVxqxzyW/ccfYLNKx7ZTeykMvNyac2yt2Fbc61MHLSC0rwoxbiNdlQ3GBm1NLHQsHUrtEXppR/ljNpW6DbSCoqlFiVoN6YdaFlgsSFVPs1BdT8OaB5QyQzVcaqWDows/zepxR8ObLglTrdtCRVuRNj4Rrxh+//0ke2f8KVL+Kon3GCSbmsJN9OUW3j6g0Ns+LgCij2u0h+Sghc8mlMPBMgdx5DFh59VmOVHrvmDnoNxCz3J7MFWsMuaLyR089xz/xhlfijvwutR8gv3zk6BLUUeCgAAAABJRU5ErkJggg==', |
| | | symbolSize: [50, 50], |
| | | symbolOffset: [20, 0], |
| | | z: 12, |
| | | itemStyle: { |
| | | normal: { |
| | | color: '#fff' |
| | | } |
| | | }, |
| | | data: getSymbolData(data) |
| | | }, { |
| | | name: '条', |
| | | type: 'bar', |
| | | showBackground: true, |
| | | // barBorderRadius: 30, |
| | | yAxisIndex: 0, |
| | | data: data, |
| | | barWidth: 10, |
| | | // align: left, |
| | | itemStyle: { |
| | | normal: { |
| | | color: 'rgba(41, 162, 245, 1)' |
| | | // barBorderRadius: 10 |
| | | } |
| | | // color: '#A71A2B', |
| | | // barBorderRadius: 4, |
| | | ], |
| | | series: [ |
| | | { |
| | | name: '值', |
| | | type: 'bar', |
| | | zlevel: 1, |
| | | xAxisIndex: 0, |
| | | label: { |
| | | show: false, |
| | | position: 'right', |
| | | color: '#6F84BD', |
| | | fontSize: 14, |
| | | offset: [10, 0] |
| | | }, |
| | | itemStyle: { |
| | | normal: { |
| | | barBorderRadius: [10, 10, 10, 10], |
| | | color: new echarts.graphic.LinearGradient(0, 0, 1, 0, [{ |
| | | offset: 0, |
| | | color: '#91ddec' // 0% 处的颜色 |
| | | }, { |
| | | offset: 1, |
| | | color: '#09d8f2' // 100% 处的颜色 |
| | | }], false) |
| | | } |
| | | }, |
| | | barWidth: 15, |
| | | data: getRS |
| | | } |
| | | // label: { |
| | | // normal: { |
| | | // color: '#fff', |
| | | // show: true, |
| | | // position: ["-80px", 0], |
| | | // textStyle: { |
| | | // fontSize: 16 |
| | | // }, |
| | | // formatter: function(a, b) { |
| | | // return a.name |
| | | // } |
| | | // } |
| | | // } |
| | | }] |
| | | ] |
| | | } |
| | | |
| | | return option |
| | | } |
| | | |
| | | export function barline1() { |
| | | // 车间质量左下周不良 |
| | | export function line02(dataX, dataY) { |
| | | return { |
| | | animation: false, |
| | | backgroundColor: 'transparent', |
| | | tooltip: {}, |
| | | title: { |
| | | text: '订单完成总数', |
| | | left: '50%', |
| | | top: '5%', |
| | | textAlign: 'center', |
| | | textStyle: { |
| | | // color: '#fff', |
| | | color: '#00ffff', |
| | | fontSize: '20', |
| | | fontWeight: 'bolder' |
| | | } |
| | | }, |
| | | // title: { |
| | | // show: false, |
| | | // text: '订单完成总数', |
| | | // left: '50%', |
| | | // top: '5%', |
| | | // textAlign: 'center', |
| | | // textStyle: { |
| | | // // color: '#fff', |
| | | // color: '#00ffff', |
| | | // fontSize: '20', |
| | | // fontWeight: 'bolder' |
| | | // } |
| | | // }, |
| | | grid: { |
| | | left: '4%', |
| | | right: '4%', |
| | | bottom: '4%', |
| | | top: '15%', |
| | | left: '0%', |
| | | right: '2%', |
| | | bottom: '5%', |
| | | top: '8%', |
| | | containLabel: true |
| | | }, |
| | | legend: { |
| | |
| | | borderColor: '#fff' |
| | | } |
| | | }, |
| | | xAxis: [{ |
| | | type: 'category', |
| | | boundaryGap: true, |
| | | axisLabel: { |
| | | interval: 0, |
| | | formatter: '{value}', |
| | | fontSize: 14, |
| | | margin: 20, |
| | | textStyle: { |
| | | color: colorX |
| | | } |
| | | }, |
| | | axisLine: { |
| | | lineStyle: { |
| | | color: '#032c58' |
| | | } |
| | | }, |
| | | splitLine: { |
| | | show: false, |
| | | lineStyle: { |
| | | color: '#032c58' |
| | | } |
| | | }, |
| | | axisTick: { |
| | | show: false |
| | | }, |
| | | data: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'] |
| | | }], |
| | | xAxis: [ |
| | | { |
| | | type: 'category', |
| | | boundaryGap: true, |
| | | axisLabel: { |
| | | interval: 0, |
| | | formatter: '{value}', |
| | | fontSize: 18, |
| | | margin: 20, |
| | | textStyle: { |
| | | color: colorX |
| | | } |
| | | }, |
| | | axisLine: { |
| | | lineStyle: { |
| | | color: '#032c58' |
| | | } |
| | | }, |
| | | splitLine: { |
| | | show: false, |
| | | lineStyle: { |
| | | color: '#032c58' |
| | | } |
| | | }, |
| | | axisTick: { |
| | | show: false |
| | | }, |
| | | data: dataX |
| | | }], |
| | | yAxis: [ |
| | | { |
| | | max: 800, |
| | | // max: 800, |
| | | boundaryGap: false, |
| | | splitNumber: 4, |
| | | type: 'value', |
| | | axisLabel: { |
| | | textStyle: { |
| | | fontSize: 14, |
| | | fontSize: 18, |
| | | color: colorY |
| | | } |
| | | }, |
| | | name: '单', |
| | | nameTextStyle: { |
| | | color: colorY, |
| | | fontSize: 14, |
| | | lineHeight: 20 |
| | | }, |
| | | // name: '单', |
| | | // nameTextStyle: { |
| | | // color: colorY, |
| | | // fontSize: 14, |
| | | // lineHeight: 20 |
| | | // }, |
| | | splitLine: { |
| | | show: true, |
| | | lineStyle: { |
| | |
| | | show: true, |
| | | position: 'top', |
| | | textStyle: { |
| | | color: '#fff' |
| | | color: '#fff', |
| | | fontSize: 16 |
| | | } |
| | | }, |
| | | itemStyle: { |
| | |
| | | shadowBlur: 20 // shadowBlur设图形阴影的模糊大小。配合shadowColor,shadowOffsetX/Y, 设置图形的阴影效果。 |
| | | } |
| | | }, |
| | | // data: [393, 438, 485, 631, 689, 824, 987] |
| | | data: [600 + Math.floor(Math.random() * 100), 600 + Math.floor(Math.random() * 100), 600 + Math.floor(Math.random() * 100), 600 + Math.floor(Math.random() * 100), 600 + Math.floor(Math.random() * 100), 600 + Math.floor(Math.random() * 100), 600 + Math.floor(Math.random() * 100), 600 + Math.floor(Math.random() * 100), 600 + Math.floor(Math.random() * 100), 600 + Math.floor(Math.random() * 100), 600 + Math.floor(Math.random() * 100), 600 + Math.floor(Math.random() * 100)] |
| | | data: dataY |
| | | // data: [600 + Math.floor(Math.random() * 100), 600 + Math.floor(Math.random() * 100), 600 + Math.floor(Math.random() * 100), 600 + Math.floor(Math.random() * 100), 600 + Math.floor(Math.random() * 100), 600 + Math.floor(Math.random() * 100), 600 + Math.floor(Math.random() * 100)] |
| | | } |
| | | // { |
| | | // name: '最新注册量', |
| | |
| | | } |
| | | } |
| | | |
| | | // 综合看板 |
| | | export function zhkb01() { |
| | | // const zhkb01name = ['计划完成进度(自产)', '计划完成进度(外购)'] // 名称 |
| | | const zhkb01name = ['', ''] // 名称 |
| | | const zhkb01Value = [Math.ceil(Math.random() * 10 + 90), Math.ceil(Math.random() * 10 + 90)] // 值 |
| | | const zhkb01Max = [] |
| | | // 车间质量右上 日不良 |
| | | export function bar04(resValueArr) { |
| | | // let data = resValueArr.map(({ eqp_name, cont }) => ({ name: eqp_name, value: cont }))//替换数组对象中的键名 |
| | | |
| | | const max = Math.ceil(Math.max(...zhkb01Value.map(r => r)) * 1.1) |
| | | for (let i = 0; i < zhkb01Value.length; i++) { |
| | | zhkb01Max.push(max * 4) |
| | | // zhkb01Max.push(100) |
| | | } |
| | | const option = { |
| | | backgroundColor: 'transparent', |
| | | grid: { |
| | | left: '4%', |
| | | right: '4%', |
| | | bottom: '4%', |
| | | top: '5%', |
| | | containLabel: true |
| | | }, |
| | | // tooltip: { |
| | | // formatter: (params) => { |
| | | // if (params.name !== '') { |
| | | // return params.name + ' : ' + zhkb01Value[params.dataIndex] |
| | | // } |
| | | // }, |
| | | // textStyle: { |
| | | // align: 'left' |
| | | // } |
| | | // }, |
| | | xAxis: [ |
| | | { |
| | | type: 'value', |
| | | axisLabel: { |
| | | show: false, |
| | | color: '#fff', |
| | | formatter: function(val) { |
| | | return val + '' |
| | | }, |
| | | textStyle: { |
| | | fontSize: '13' |
| | | } |
| | | }, |
| | | min: 0, |
| | | max: max, // 计算最大值 |
| | | interval: max / 5, // 平均分为5份 |
| | | splitNumber: 5, |
| | | splitLine: { |
| | | show: false, |
| | | lineStyle: { |
| | | color: '#fff' |
| | | } |
| | | }, |
| | | axisLine: { |
| | | show: false, |
| | | lineStyle: { |
| | | color: '#fff', |
| | | width: 1, |
| | | opacity: 0.3 |
| | | } |
| | | }, |
| | | axisTick: { |
| | | show: false |
| | | } |
| | | }, |
| | | { |
| | | type: 'value', |
| | | axisLabel: { |
| | | show: false |
| | | }, |
| | | min: 0, |
| | | max: max, // 计算最大值 |
| | | interval: max / 10, // 平均分为5份 |
| | | splitNumber: 10, |
| | | splitLine: { |
| | | show: false, |
| | | lineStyle: { |
| | | type: 'dashed', |
| | | color: '#D8D8D8' |
| | | } |
| | | }, |
| | | axisLine: { |
| | | show: false, |
| | | lineStyle: { |
| | | color: '#fff' |
| | | } |
| | | }, |
| | | axisTick: { |
| | | show: false |
| | | } |
| | | } |
| | | ], |
| | | yAxis: [ |
| | | { |
| | | // show: true,//暂时不显示 |
| | | show: false, |
| | | inverse: false, |
| | | data: zhkb01name, |
| | | axisLabel: { |
| | | padding: [30, 0, 0, -135], |
| | | // inside: true |
| | | textStyle: { |
| | | fontSize: 16, |
| | | fontFamily: 'PingFang SC', |
| | | // fontWeight: 400, |
| | | color: '#3dffef', |
| | | align: 'left' |
| | | } |
| | | // formatter: '{value}\n{a|占位}', |
| | | // rich: { |
| | | // a: { |
| | | // // color: 'transparent', |
| | | // color: 'red', |
| | | // lineHeight: 30, |
| | | // fontFamily: 'digital', |
| | | // fontSize: 20, |
| | | // // shadowColor: 'rgba(0, 0, 0, 1)', |
| | | // shadowColor: 'red', |
| | | // shadowBlur: 10 |
| | | // } |
| | | // } |
| | | }, |
| | | // scale: true, // 自适应 |
| | | // offset: 50, |
| | | splitLine: { |
| | | show: false |
| | | }, |
| | | axisTick: { |
| | | show: false |
| | | }, |
| | | axisLine: { |
| | | show: false |
| | | } |
| | | }, |
| | | { |
| | | // 左侧柱状图的Y轴 |
| | | gridIndex: 0, // y轴所在的 grid 的索引 |
| | | splitLine: 'none', |
| | | axisTick: 'none', |
| | | axisLine: 'none', |
| | | data: zhkb01Value, |
| | | // inverse: true,//是否是反向坐标轴。 |
| | | axisLabel: { |
| | | show: true, |
| | | verticalAlign: 'center', |
| | | align: 'left', |
| | | padding: [0, 0, 0, 0], |
| | | textStyle: { |
| | | color: '#fff', |
| | | fontSize: '20' |
| | | }, |
| | | formatter: function(value) { |
| | | return '{x| ' + value + '} {y|' + '%}' |
| | | }, |
| | | rich: { |
| | | y: { |
| | | color: '#3dffef', |
| | | fontFamily: 'Orbitron', |
| | | fontSize: 16 |
| | | }, |
| | | x: { |
| | | color: '#3dffef', |
| | | fontFamily: 'Orbitron', |
| | | fontSize: 16 |
| | | } |
| | | } |
| | | } |
| | | } |
| | | ], |
| | | series: [ |
| | | { |
| | | name: '值', |
| | | type: 'bar', |
| | | barGap: '-130%', |
| | | // zlevel: 1, |
| | | xAxisIndex: 0, |
| | | label: { |
| | | show: false, |
| | | position: 'right', |
| | | textStyle: { |
| | | color: '#fff', |
| | | fontSize: 20 |
| | | } |
| | | }, |
| | | itemStyle: { |
| | | normal: { |
| | | barBorderRadius: 4, |
| | | color: { |
| | | colorStops: [ |
| | | { |
| | | offset: 0, |
| | | color: '#46B7ED' // 0% 处的颜色 |
| | | }, |
| | | { |
| | | offset: 1, |
| | | color: '#48EDD3' // 100% 处的颜色 |
| | | } |
| | | ] |
| | | } |
| | | } |
| | | }, |
| | | barWidth: 12, |
| | | data: zhkb01Value, |
| | | z: 0 |
| | | }, |
| | | { |
| | | // 分隔 |
| | | type: 'pictorialBar', |
| | | symbolRotate: '-20', |
| | | itemStyle: { |
| | | normal: { |
| | | color: 'rgba(1, 12, 38, 0.4)' |
| | | } |
| | | }, |
| | | symbolRepeat: 'fixed', |
| | | symbolMargin: 10, |
| | | symbol: 'rect', |
| | | symbolClip: true, |
| | | symbolSize: [5, 28], |
| | | symbolPosition: 'start', |
| | | symbolOffset: [0, -1], |
| | | data: zhkb01Value, |
| | | z: 66, |
| | | animationEasing: 'elasticOut' |
| | | }, |
| | | { |
| | | name: '背景', |
| | | type: 'bar', |
| | | barWidth: 14, |
| | | barGap: '-110%', |
| | | data: zhkb01Max, |
| | | itemStyle: { |
| | | normal: { |
| | | color: 'rgba(5,59,113,.7)', |
| | | barBorderRadius: 6, |
| | | borderColor: 'rgba(0, 255, 236, 1)' |
| | | } |
| | | }, |
| | | z: -1 |
| | | } |
| | | ] |
| | | } |
| | | return option |
| | | } |
| | | |
| | | export function zhkb02() { |
| | | |
| | | } |
| | | |
| | | export function zhkb03(title) { |
| | | const labelData = [] |
| | | const labelData1 = [] |
| | | for (let i = 0; i < 80; ++i) { |
| | | labelData.push({ |
| | | value: 1, |
| | | name: i, |
| | | itemStyle: { |
| | | normal: { |
| | | color: 'rgba(0,209,228,0)' |
| | | } |
| | | } |
| | | }) |
| | | } |
| | | for (let i = 0; i < labelData.length; ++i) { |
| | | if (labelData[i].name < 15) { |
| | | labelData[i].itemStyle = { |
| | | normal: { |
| | | color: new echarts.graphic.LinearGradient( |
| | | 0, 1, 0, 0, |
| | | [{ |
| | | offset: 0, |
| | | color: '#6dfbff' |
| | | }, |
| | | { |
| | | offset: 1, |
| | | color: '#02aeff' |
| | | } |
| | | ] |
| | | ) |
| | | } |
| | | |
| | | } |
| | | } |
| | | } |
| | | for (let i = 0; i < 80; ++i) { |
| | | labelData1.push({ |
| | | value: 1, |
| | | name: i, |
| | | itemStyle: { |
| | | normal: { |
| | | color: 'rgba(0,209,228,0)' |
| | | } |
| | | } |
| | | }) |
| | | } |
| | | for (let i = 0; i < labelData1.length; ++i) { |
| | | if (labelData1[i].name < 80) { |
| | | labelData1[i].itemStyle = { |
| | | normal: { |
| | | color: '#464451' |
| | | } |
| | | |
| | | } |
| | | } |
| | | } |
| | | |
| | | function Pie() { |
| | | const dataArr = [] |
| | | for (var i = 0; i < 100; i++) { |
| | | if (i % 10 === 0) { |
| | | dataArr.push({ |
| | | name: (i + 1).toString(), |
| | | value: 30, |
| | | itemStyle: { |
| | | normal: { |
| | | color: 'rgba(0,255,255,1)', |
| | | borderWidth: 0, |
| | | borderColor: 'rgba(0,0,0,0)' |
| | | } |
| | | } |
| | | }) |
| | | } else { |
| | | dataArr.push({ |
| | | name: (i + 1).toString(), |
| | | value: 100, |
| | | itemStyle: { |
| | | normal: { |
| | | color: 'rgba(0,0,0,0)', |
| | | borderWidth: 0, |
| | | borderColor: 'rgba(0,0,0,0)' |
| | | } |
| | | } |
| | | }) |
| | | } |
| | | } |
| | | return dataArr |
| | | } |
| | | |
| | | function Pie1() { |
| | | const dataArr = [] |
| | | for (var i = 0; i < 100; i++) { |
| | | if (i % 5 === 0) { |
| | | dataArr.push({ |
| | | name: (i + 1).toString(), |
| | | value: 20, |
| | | itemStyle: { |
| | | normal: { |
| | | color: 'rgba(0,255,255,1)', |
| | | borderWidth: 0, |
| | | borderColor: 'rgba(0,0,0,0)' |
| | | } |
| | | } |
| | | }) |
| | | } else { |
| | | dataArr.push({ |
| | | name: (i + 1).toString(), |
| | | value: 100, |
| | | itemStyle: { |
| | | normal: { |
| | | color: 'rgba(0,0,0,0)', |
| | | borderWidth: 0, |
| | | borderColor: 'rgba(0,0,0,0)' |
| | | } |
| | | } |
| | | }) |
| | | } |
| | | } |
| | | return dataArr |
| | | } |
| | | |
| | | function Pie2() { |
| | | const dataArr = [] |
| | | for (var i = 0; i < 100; i++) { |
| | | if (i % 5 === 0) { |
| | | dataArr.push({ |
| | | name: (i + 1).toString(), |
| | | value: 20, |
| | | itemStyle: { |
| | | normal: { |
| | | color: 'rgba(0,255,255,.3)', |
| | | borderWidth: 0, |
| | | borderColor: 'rgba(0,0,0,0)' |
| | | } |
| | | } |
| | | }) |
| | | } else { |
| | | dataArr.push({ |
| | | name: (i + 1).toString(), |
| | | value: 100, |
| | | itemStyle: { |
| | | normal: { |
| | | color: 'rgba(0,0,0,0)', |
| | | borderWidth: 0, |
| | | borderColor: 'rgba(0,0,0,0)' |
| | | } |
| | | } |
| | | }) |
| | | } |
| | | } |
| | | return dataArr |
| | | } |
| | | |
| | | const option = { |
| | | grid: { |
| | | left: '0%', |
| | | right: '0%', |
| | | bottom: '0%', |
| | | top: '0%', |
| | | containLabel: true |
| | | }, |
| | | backgroundColor: 'transparent', |
| | | title: [ |
| | | { |
| | | text: title, |
| | | x: '46%', |
| | | y: '38%', |
| | | textAlign: 'center', |
| | | textStyle: { |
| | | fontSize: 12, |
| | | fontWeight: 'normal', |
| | | color: '#09d8f2' |
| | | } |
| | | }, |
| | | { |
| | | text: '99%', |
| | | x: '49%', |
| | | y: '53%', |
| | | textAlign: 'center', |
| | | textStyle: { |
| | | fontSize: 18, |
| | | fontWeight: 800, |
| | | color: '#09d8f2' |
| | | } |
| | | }], |
| | | polar: { |
| | | radius: ['90%', '85%'], |
| | | center: ['50%', '50%'] |
| | | }, |
| | | angleAxis: { |
| | | max: 100, |
| | | show: false, |
| | | startAngle: 0 |
| | | }, |
| | | radiusAxis: { |
| | | type: 'category', |
| | | show: true, |
| | | axisLabel: { |
| | | show: false |
| | | }, |
| | | axisLine: { |
| | | show: false |
| | | |
| | | }, |
| | | axisTick: { |
| | | show: false |
| | | } |
| | | }, |
| | | series: [ |
| | | // 最里圈 |
| | | { |
| | | type: 'pie', |
| | | radius: ['91%', '89%'], |
| | | center: ['50%', '50%'], |
| | | data: [{ |
| | | hoverOffset: 1, |
| | | value: 100, |
| | | name: '', |
| | | itemStyle: { |
| | | color: '#2f748b' |
| | | }, |
| | | label: { |
| | | show: false |
| | | }, |
| | | labelLine: { |
| | | normal: { |
| | | smooth: true, |
| | | lineStyle: { |
| | | width: 0 |
| | | } |
| | | } |
| | | }, |
| | | hoverAnimation: false |
| | | }] |
| | | }, |
| | | // 里第二圈 |
| | | { |
| | | name: '', |
| | | type: 'bar', |
| | | roundCap: true, // 圆角 |
| | | barWidth: 60, |
| | | showBackground: true, |
| | | backgroundStyle: { |
| | | color: '#3d4767' |
| | | }, |
| | | data: [75], |
| | | coordinateSystem: 'polar', |
| | | itemStyle: { |
| | | normal: { |
| | | color: new echarts.graphic.LinearGradient(1, 0, 0, 0, [{ |
| | | offset: 0, |
| | | color: '#0ff' |
| | | }, { |
| | | offset: 1, |
| | | color: '#02aeff' |
| | | }]) |
| | | } |
| | | } |
| | | }, |
| | | // 齿轮 |
| | | { |
| | | name: '大环', |
| | | type: 'gauge', |
| | | splitNumber: 100, |
| | | radius: '124%', |
| | | center: ['50%', '50%'], |
| | | startAngle: 90, |
| | | endAngle: -269.9999, |
| | | axisLine: { |
| | | show: false, |
| | | lineStyle: { |
| | | color: [[0.3, '#26a7d4'], [1, '#23395a']] |
| | | } |
| | | }, |
| | | axisTick: { |
| | | show: false |
| | | }, |
| | | splitLine: { |
| | | show: true, |
| | | length: 8, |
| | | lineStyle: { |
| | | color: 'auto', |
| | | width: 2.5 |
| | | } |
| | | }, |
| | | axisLabel: { |
| | | show: false |
| | | }, |
| | | detail: { |
| | | show: false |
| | | } |
| | | }, |
| | | // 外圈装饰 |
| | | { |
| | | type: 'pie', |
| | | zlevel: 0, |
| | | silent: true, |
| | | radius: ['110%', '108.5%'], |
| | | center: ['50%', '50%'], |
| | | z: 1, |
| | | label: { |
| | | normal: { |
| | | show: false |
| | | } |
| | | }, |
| | | labelLine: { |
| | | normal: { |
| | | show: false |
| | | } |
| | | }, |
| | | data: Pie() |
| | | }, |
| | | // { |
| | | // type: 'pie', |
| | | // zlevel: 0, |
| | | // silent: true, |
| | | // startAngle: -150, |
| | | // radius: ['58.5%', '57%'], |
| | | // center: ['50%', '50%'], |
| | | // z: 1, |
| | | // label: { |
| | | // normal: { |
| | | // show: false |
| | | // } |
| | | // }, |
| | | // labelLine: { |
| | | // normal: { |
| | | // show: false |
| | | // } |
| | | // }, |
| | | // data: Pie3() |
| | | // }, |
| | | { |
| | | type: 'pie', |
| | | zlevel: 0, |
| | | silent: true, |
| | | startAngle: -140, |
| | | radius: ['100%', '98.5%'], |
| | | center: ['50%', '50%'], |
| | | z: 1, |
| | | label: { |
| | | normal: { |
| | | show: false |
| | | } |
| | | }, |
| | | labelLine: { |
| | | normal: { |
| | | show: false |
| | | } |
| | | }, |
| | | data: Pie() |
| | | }, |
| | | { |
| | | type: 'pie', |
| | | zlevel: 0, |
| | | silent: true, |
| | | radius: ['98%', '96.5%'], |
| | | center: ['50%', '50%'], |
| | | z: 1, |
| | | label: { |
| | | normal: { |
| | | show: false |
| | | } |
| | | }, |
| | | labelLine: { |
| | | normal: { |
| | | show: false |
| | | } |
| | | }, |
| | | data: Pie1() |
| | | }, |
| | | { |
| | | type: 'pie', |
| | | zlevel: 0, |
| | | silent: true, |
| | | startAngle: -140, |
| | | radius: ['98%', '96.5%'], |
| | | center: ['50%', '50%'], |
| | | z: 1, |
| | | label: { |
| | | normal: { |
| | | show: false |
| | | } |
| | | }, |
| | | labelLine: { |
| | | normal: { |
| | | show: false |
| | | } |
| | | }, |
| | | data: Pie2() |
| | | }, |
| | | { |
| | | type: 'pie', |
| | | zlevel: 0, |
| | | silent: true, |
| | | startAngle: -147.5, |
| | | radius: ['98%', '96.5%'], |
| | | center: ['50%', '50%'], |
| | | z: 1, |
| | | label: { |
| | | normal: { |
| | | show: false |
| | | } |
| | | }, |
| | | labelLine: { |
| | | normal: { |
| | | show: false |
| | | } |
| | | }, |
| | | data: Pie2() |
| | | } |
| | | ] |
| | | } |
| | | |
| | | return option |
| | | } |
| | | |
| | | export function zhkb04() { |
| | | const myColor = ['#d0a00e', '#34da62', '#00e9db', '#00c0e9', '#0096f3'] |
| | | // const data = [330, 404, 780, 509, 150] |
| | | const data = [Math.ceil(Math.random() * 100 + 500), Math.ceil(Math.random() * 100 + 600), Math.ceil(Math.random() * 100 + 700), Math.ceil(Math.random() * 400 + 500), Math.ceil(Math.random() * 100 + 200)] |
| | | const option = { |
| | | backgroundColor: 'transparent', |
| | | grid: { |
| | | left: '10%', |
| | | right: '4%', |
| | | bottom: '0%', |
| | | top: '5%', |
| | | containLabel: true |
| | | }, |
| | | xAxis: [{ |
| | | show: false |
| | | }], |
| | | yAxis: [ |
| | | { |
| | | axisTick: 'none', |
| | | axisLine: 'none', |
| | | offset: '27', |
| | | axisLabel: { |
| | | textStyle: { |
| | | color: function(value, index) { |
| | | let temp = '' |
| | | myColor.forEach((it, ind) => { |
| | | if (index === ind) { |
| | | temp = it |
| | | } |
| | | }) |
| | | return temp |
| | | }, |
| | | fontSize: 16 |
| | | } |
| | | }, |
| | | data: ['第四季度订单数', '第三季度订单数', '第二季度订单数', '第一季度订单数', '在制订单数量'] |
| | | }, |
| | | { |
| | | axisTick: 'none', |
| | | axisLine: 'none', |
| | | axisLabel: { |
| | | textStyle: { |
| | | color: function(value, index) { |
| | | let temp = '' |
| | | myColor.forEach((it, ind) => { |
| | | if (index === ind) { |
| | | temp = it |
| | | } |
| | | }) |
| | | return temp |
| | | }, |
| | | fontSize: 16 |
| | | } |
| | | }, |
| | | |
| | | data: data |
| | | }, |
| | | { |
| | | show: false, |
| | | name: '单位:件', |
| | | nameGap: '50', |
| | | nameTextStyle: { |
| | | color: '#ffffff', |
| | | fontSize: '16' |
| | | }, |
| | | axisLine: { |
| | | lineStyle: { |
| | | color: 'rgba(0,0,0,0)' |
| | | } |
| | | }, |
| | | data: [] |
| | | } |
| | | ], |
| | | series: [ |
| | | { |
| | | name: '条', |
| | | type: 'bar', |
| | | yAxisIndex: 0, |
| | | data: data.map(r => r / 10), |
| | | label: { |
| | | normal: { |
| | | show: false, |
| | | position: 'right', |
| | | formatter: function(param) { |
| | | return param.value + '%' |
| | | }, |
| | | textStyle: { |
| | | color: '#ffffff', |
| | | fontSize: '16' |
| | | } |
| | | } |
| | | }, |
| | | barWidth: 12, |
| | | itemStyle: { |
| | | normal: { |
| | | color: function(params) { |
| | | var num = myColor.length |
| | | return myColor[params.dataIndex % num] |
| | | } |
| | | } |
| | | }, |
| | | z: 2 |
| | | }, |
| | | { |
| | | name: '白框', |
| | | type: 'bar', |
| | | yAxisIndex: 1, |
| | | barGap: '-100%', |
| | | data: [99.5, 99.5, 99.5, 99.5, 99.5], |
| | | barWidth: 20, |
| | | itemStyle: { |
| | | normal: { |
| | | color: '#0e2147', |
| | | barBorderRadius: 5 |
| | | } |
| | | }, |
| | | z: 1 |
| | | }, |
| | | { |
| | | name: '外框', |
| | | type: 'bar', |
| | | yAxisIndex: 2, |
| | | barGap: '-100%', |
| | | data: [100, 100, 100, 100, 100], |
| | | barWidth: 24, |
| | | itemStyle: { |
| | | normal: { |
| | | color: function(params) { |
| | | var num = myColor.length |
| | | return myColor[params.dataIndex % num] |
| | | }, |
| | | barBorderRadius: 5 |
| | | } |
| | | }, |
| | | z: 0 |
| | | }, |
| | | { |
| | | name: '外圆', |
| | | type: 'scatter', |
| | | hoverAnimation: false, |
| | | data: [0, 0, 0, 0, 0], |
| | | yAxisIndex: 2, |
| | | symbolSize: 30, |
| | | itemStyle: { |
| | | normal: { |
| | | color: function(params) { |
| | | var num = myColor.length |
| | | return myColor[params.dataIndex % num] |
| | | }, |
| | | opacity: 1 |
| | | } |
| | | }, |
| | | z: 2 |
| | | } |
| | | ] |
| | | } |
| | | |
| | | return option |
| | | } |
| | | |
| | | export function zhkb05() { |
| | | // 数据 |
| | | // var XName = ['周一', '周二', '周三', '周四', '周五', '周六', '周日'] |
| | | var XName = ['01月', '02月', '03月', '04月', '05月', '06月', '07月', '08月', '09月', '10月', '11月', '12月'] |
| | | var data1 = [ |
| | | // [123, 121, 123, 321, 222, 111, 234, 121, 123, 321, 222, 321] |
| | | [Math.ceil(Math.random() * 100 + 100), Math.ceil(Math.random() * 100 + 200), Math.ceil(Math.random() * 100 + 200), Math.ceil(Math.random() * 100 + 200), Math.ceil(Math.random() * 100 + 300), Math.ceil(Math.random() * 100 + 100), Math.ceil(Math.random() * 100 + 200), Math.ceil(Math.random() * 100 + 200), Math.ceil(Math.random() * 100 + 300), Math.ceil(Math.random() * 100 + 100), Math.ceil(Math.random() * 100 + 200), Math.ceil(Math.random() * 100 + 300)] |
| | | // [123, 154, 234, 321, 120, 390, 634], |
| | | // [63, 194, 234, 321, 278, 110, 534], |
| | | // [53, 254, 234, 321, 118, 240, 434], |
| | | // [23, 354, 334, 221, 178, 190, 234] |
| | | ] |
| | | var Line = ['云篆山水路线', '昕博朗学校路线', '新华小学路线', '云锦五路路线'] |
| | | var img = [ |
| | | 'image://data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABRCAYAAABFTSEIAAAACXBIWXMAAAsSAAALEgHS3X78AAAEp0lEQVR42u3cz4sjRRTA8W9Vd3Vn8mMmjj9WQWSRZQ+CsH+B7MnDIgiCd0E8CYJ/gOAIelo8ehUP/gF6WLw5/gMueFP2sIcF0dHd2Z1kknR11fOQZJJJMtlZd03H7HtQpNOTnpn+8Lrm1etmjIig8e/DKoECKqACKqCGAiqgAiqghgIqoAIqoIYCKqACKqCGAiqgAiqghgIqoAJudKTr+osZMNPvBUQBHwHsPF9fB9R0DeHMOQ6T6WOrhEzXBM4swDOL0M6CrArRVoq3t2dGUIb9fTvatg8ZZup1PDBgzPmy98mey6qfzjLz2WaWjEUZKEvGyi9nWyneMOvGIyFQo2Sbg4MUSChpU9IeTTUpJdsEajPZOJeJG5uBZj7rLLduWS5dGm6XNLEELOFUFj54ACJCaychkpDSASK3bwsXL0YgVpWJKwM0iy9Zy8HdGru7jvt3Pbu7w0wES7drTwAbjTHMGCsQcIAnYTC1/wRx0wEnl27JNgZI8HQ6Kc1mQq83RNzaMjPzXqDbjTQaJRFLxIyyMSxAXEkWrhrQzAAmo5HOjCQf7jflILxOkohL+aUPgV4vEGNJo+E5PAy02+UIMEwBxo0CPDP7Dg5SnEtpt1PA0e87XO25FOoh8IYIH2Y5b45RzGAQBiIltZoHxqMcjbksXAVgdc2EQMYzzzdotyeZWKuleULXJtwT4SODfC2QCWR+IF9KnjuX1Xbo99Op7LVE8iXlz0YBTk5SyLEEjo5OLuccEoFUvHfO+reuUPx4zftXAIcx1hdcF+/TvFab4A0Bs0VwqyhpVnkJT89/Q4DDQ0e77YCMwIUsFMeFZD856699URRvX4nxE4A/jbnxXp7v4Zw3ReGNSDHI8wFQjIafuoyn58L/fB6sth/Ybg9fez2TRC6QZcZYvgHsazF+MP7YCyLXcM7gvSXLDGBqYDg+NhwdmSpPoTrAkub0W+f4FSB1fDucIunMHSLpO8WAH0rSy8u+19MBCHB4OHzd2pI+CEUhpigEiN+l6WcdY252jLn5s7Wf472ImPcN8pUl/tEHoV4XWq1Ke4KrLmPsTA3oODpytFoOyJKSyzHyMSIxteWngMW5cSEdDJQUhTdZVgxOz3/+jFJm4+bA2e5JpNU6WZ4Fw99JwnWMKccwpeddP+B7GZTNUPKqybJy0O+Hs1YfMz9swwvpB8fbGDG0GuGkkK7V0hxSmZQpABI8l2z0v3sJf50qpAMJCd2qCulql3LD1lRGQjm7lEsDz0rkxTQOfiPPxUBcuJTbbhss/Y1eyi3NwsmKInmkZsKk5gtPUzNhvp11507CSy/X6XYStpvFudpZw1ZWIOF4Cq6SdtbKbioJyAhRTu3u9yMJXerN+ugvaQQsjcZ8Q3VnZwxlSDhe1lB9GjrSw5b+1avT8+Jw+979nNaOI6U3KpTrWAosxVQmygK4ld8X0ZtK/7eViExD7O1NQPb3T7fsl4/4sBpwYzPwjFbTo95Yl9l9Vd1YN1X/147HebSjary1AHyc5qc+XLQEQx9ve8Kg6xr6hKoCKqACKqCGAiqgAiqghgIqoAIqoIYCKqACKqCGAiqgAiqghgIq4JrHP8fEWV8FMTmOAAAAAElFTkSuQmCC', |
| | | 'image://data:image/png;base64,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', |
| | | 'image://data:image/png;base64,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', |
| | | 'image://data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAE8AAABPCAYAAACqNJiGAAAACXBIWXMAAAsSAAALEgHS3X78AAAHaUlEQVR42u3cv29jWRUH8O+5P96zX5x4Mk4yjCW0S5QqZil2aIEUUG5BEQr4B2joKBclrhAF1HR0gNYVK6BapDSIyhSLnAKNxBSrLJOJd+L413vv3nsOhfNjMhmx4sfaSXSP5ESOrt/1++jcn+8qJCKI8d+FigQRL+JFvIgXI+JFvIgX8WJEvIgX8SJexIsR8SJexIt4MSJexIt4ES9GxPvfw9zGL0Ugev1vgtv3gJluw0NvApH8R+VvB+ZC8a6jCdpo096/Kd8GsIc9mfEtHnGBzXYG18b+OVgb2+gRABzgBQE7r5Q9wA7WZfuScB9tAIJ9AYiwIECz2GzbpyuwFm1ilQBgA63X+rwdAEeyCeAAkB30ziH3gXPARWTh3EfbWbaBgH0CerSOFnWxqjYAVUeqnqGpB58M9AquXoNPBvoZmrqOVG0AqotVtY4WAT0C9qkNkNz/Pu9iFN0/v/EWHQIqQZ9UqCeauaLJcWqWilM/WQYANhg9RCaFH6eMRNjYiUdfSjRkG2CgJ0BLZhkIzLMJzxHvzXAZnqn+p4mqVauZ1srQkvWToQqaisumGySVbJm1jJ0p82I09Z4bj0ue4G1eJOBc8drnfdw6WrQBqAxQyrtseuqcXSOVn5XarCilR6QUJTSFoyqssJQSasL+jLmykgR3Ilx9YC0bO5kAfAzwC/TkEC3Zw77MC28uA8bFIDEbVXfRxUeUICXlV7KCnE7XSraoatJsFKrKaa8ZOYEsseQiMJLCBKvHnECRWpuGIkCnHllizsbLKGgHuwIcvlLfFw84lwFDzn920CPgkKpoUgVGjYwt7bB05VCbwdhbu1QznBeJKJeI0kkKvAsy74J4k/MisUs1Mxh7Ww61scPSjYwtKzCqiiYBhzS7vkDuV59Hl6NrF6uqjlRNnqcme1TTFcC4cWmD8lYTrTNQBeSbAH4kKnzHQgsLmKGCFngv7DUbZ5cSlwN+8nwUskeFH6DgJ3jJV33fPcm8q6lui6qHTTJoUOVhsmRwqvJRoQ15ratWS8kjVvISwDcAfCxOJYWjhAW/gPAPAnNLWb1myOt8VGiDUzW7ToOqh006uDE/vON4Nxb524DBgKC9n5yR0kSqJK91EbSqsNYgI+zfh1bvV6W1rRMygHwM4LtKcx8+PC7Ja02kJmekoL03GBC2P39z4Q42W6LzqTEBUE+f9vVgqaHrad94W7MV5S1rlQjkHQJ9PQT+ncVXvpzxO78GqAbwP4fqL99nnLxMrSmdSEkipQpc5myccSM3KBq+Pu6Hra1GAMC4XP9+sTc3t2bb6cyWYdgCmo8BPGxgGQCRJYInQI4F8kMiTRV5+70ZHACoL2Wy/R6RphJMhEAET0SWljG7TvPx7LrX6rlPy7Pd3dZlFpSuXAL6GAKYYHKRn6ei6NvGBgHx8HryhjNtQkosH4nQV3H+uVmhPgIH/aZ67gneVTJsoSGDs0GJz4Daci5VsSIwIoUXC2ER4dz0PhRM/yBwf2WMfztO/vyhCKoE/BLMIjBSFSu15VzwGXDSP8EWGvKm+u70JJku53nAAYANAA8bSTk+sYYHSoL2LCKsErPlmQpA/Vzk5PfDyp9+AhcIVguXgWHtsYL6jVHsnMyQ1SCVwFbW1p0/BHCMq42sV+u9s5n36kx/tpV0JB51ebDG7OvCQYSdlEFAnwLCAD4goq+ReEeE71HgP2ptfkYsmyLhcYAOTsoQRNjXhR+sMXvUZRtHsoOevKneO9/ntc9/d7uAR19yV2YhSFJZtmE1q3rPeEGgfzC5D1JSPybhUin6FZH/lgZ+KmAP4NSx+NWs6ivLNoQgSe7KzKMv3e71eu7ZCmO2o3IAqA1AVYJPEymS3Cy5CgamGGljlNeOEh2I1wzUIw/+ewojUzixooOVMng2Ia0Fn6PuK35sS0rLXJviGOAdgOe5szKXzKNre8I9mXaPZFObAsZPyhfHnKHubc24JNNOc+GY/fOE8besogrNXIJDqblwSaadrRmXoe7LF8cM4yeb2hTT7vUmS/cr827u512scSswSrypWUUhPyt5okjVVyqkUF4aMBIZnOWSsXBlJVFeBNB+msPzzTXt/Pbz5tbn0St9X6cDDNGUAQrOn3p2lOYlTzFxpdcr1k0xclOYV14jp1esm7jSlzyF10uT/OkMboimdDpXfR3dvz7vZvZ1Oj3a3QW6WFVVNClBnwwaRGGYgNN0YMsJAFhPlUysgioK0cvlxRb8FEfyBC+507mYGM9/G37OD4AubmxfDndbArTkCV7yNsADFDxBj9/Sy7mzw7MMhc9QeGvykbPDs7f0cj5BjwcoeBu4bKqHC4JbQOa9noHnWYge7WL2vHbnfJrbxdFlmSdoymySPXt+2wGwe62Pmz/cAvHedMRi/xKrg5uL+xnWZVm5voJZzE0s/KzKTcTZu3a7TdibjTB7e3vy+nBwG86r0G367xafd+DnthzwuZV4dy3i4caIF/EiXsSLEfEiXsSLeDEiXsSLeBEv4sWIeBEv4kW8GBEv4kW8iBcj4v0f4l+bPQ5YnMn04QAAAABJRU5ErkJggg==' |
| | | ] |
| | | // var color = ['#00f8ff', '#00f15a', '#0696f9', '#dcf776'] |
| | | var color = ['#00f8ff'] |
| | | |
| | | // 数据处理 |
| | | var datas = [] |
| | | Line.map((item, index) => { |
| | | datas.push( |
| | | { |
| | | symbolSize: 150, |
| | | symbol: img[index], |
| | | name: item, |
| | | type: 'line', |
| | | yAxisIndex: 1, |
| | | data: data1[index], |
| | | itemStyle: { |
| | | normal: { |
| | | borderWidth: 5, |
| | | color: color[index] |
| | | } |
| | | } |
| | | } |
| | | ) |
| | | }) |
| | | |
| | | const option = { |
| | | backgroundColor: 'transparent', |
| | | grid: { |
| | | left: '5%', |
| | | top: '20%', |
| | | bottom: '0%', |
| | | right: '5%', |
| | | containLabel: true |
| | | }, |
| | | title: { |
| | | text: '今年每月订单数量', |
| | | x: '50%', |
| | | y: '0%', |
| | | textAlign: 'center', |
| | | textStyle: { |
| | | fontSize: 16, |
| | | fontWeight: 'normal', |
| | | color: '#00FFFF' |
| | | } |
| | | }, |
| | | legend: { |
| | | show: false, |
| | | type: 'scroll', |
| | | data: Line, |
| | | itemWidth: 18, |
| | | itemHeight: 12, |
| | | textStyle: { |
| | | color: '#00ffff', |
| | | fontSize: 14 |
| | | } |
| | | }, |
| | | yAxis: [ |
| | | { |
| | | type: 'value', |
| | | position: 'right', |
| | | splitLine: { |
| | | show: false |
| | | }, |
| | | axisLine: { |
| | | show: false |
| | | }, |
| | | axisTick: { |
| | | show: false |
| | | }, |
| | | axisLabel: { |
| | | show: false |
| | | } |
| | | }, |
| | | { |
| | | // show: false, |
| | | type: 'value', |
| | | position: 'left', |
| | | // name: '今年每月订单数量', |
| | | nameTextStyle: { |
| | | color: '#00FFFF', |
| | | fontSize: 16 |
| | | }, |
| | | splitNumber: 3, |
| | | // nameLocation: 'center', |
| | | splitLine: { |
| | | lineStyle: { |
| | | type: 'dashed', |
| | | color: 'rgba(135,140,147,0.8)' |
| | | } |
| | | }, |
| | | axisLine: { |
| | | show: false |
| | | }, |
| | | axisTick: { |
| | | show: false |
| | | }, |
| | | axisLabel: { |
| | | formatter: '{value}', |
| | | color: '#00FFFF', |
| | | fontSize: 14 |
| | | } |
| | | } |
| | | ], |
| | | xAxis: [ |
| | | { |
| | | type: 'category', |
| | | axisTick: { |
| | | show: false |
| | | }, |
| | | axisLine: { |
| | | show: false, |
| | | lineStyle: { |
| | | color: '#6A989E' |
| | | } |
| | | }, |
| | | axisLabel: { |
| | | inside: false, |
| | | textStyle: { |
| | | color: colorX, // x轴颜色 |
| | | fontWeight: 'normal', |
| | | fontSize: 16, |
| | | lineHeight: 22 |
| | | } |
| | | |
| | | }, |
| | | data: XName |
| | | }, |
| | | { |
| | | type: 'category', |
| | | axisLine: { |
| | | show: false |
| | | }, |
| | | axisTick: { |
| | | show: false |
| | | }, |
| | | axisLabel: { |
| | | show: false |
| | | }, |
| | | splitArea: { |
| | | show: false |
| | | }, |
| | | splitLine: { |
| | | show: false |
| | | }, |
| | | // ----- |
| | | data: ['1月', '2月', '3月', '4月', '5月', '6月'] |
| | | } |
| | | ], |
| | | series: datas |
| | | } |
| | | // 当点击legend选项时折线上的小图片会消失,为避免这种情况,可以采取以下初始化方法 使用svg |
| | | // var myCharts = echarts.init(document.getElementById('AnalysisChartLine'), null, {renderer: 'svg'}); |
| | | // myCharts.clear(); |
| | | // myCharts.setOption(option) |
| | | |
| | | return option |
| | | } |
| | | |
| | | export function zhkb06(title) { |
| | | const option = { |
| | | backgroundColor: 'transparent', |
| | | title: [ |
| | | { |
| | | text: title, |
| | | x: 'center', |
| | | top: '55%', |
| | | textStyle: { |
| | | color: '#FFFFFF', |
| | | fontSize: 14, |
| | | fontWeight: 100 |
| | | } |
| | | }, |
| | | { |
| | | text: '95%', |
| | | x: 'center', |
| | | top: '38%', |
| | | textStyle: { |
| | | fontSize: 14, |
| | | color: '#FFFFFF', |
| | | fontFamily: 'DINAlternate-Bold, DINAlternate', |
| | | foontWeight: 100 |
| | | } |
| | | } |
| | | ], |
| | | grid: { |
| | | left: '0%', |
| | | top: '0%', |
| | | bottom: '0%', |
| | | right: '0%', |
| | | containLabel: true |
| | | }, |
| | | angleAxis: { |
| | | max: 100, |
| | | clockwise: false, // 逆时针 |
| | | // 隐藏刻度线 |
| | | show: false, |
| | | boundaryGap: ['40%', '40%'], |
| | | startAngle: 90 |
| | | }, |
| | | radiusAxis: { |
| | | type: 'category', |
| | | show: true, |
| | | axisLabel: { |
| | | show: false |
| | | }, |
| | | axisLine: { |
| | | show: false |
| | | }, |
| | | axisTick: { |
| | | show: false |
| | | } |
| | | }, |
| | | polar: [ |
| | | { |
| | | center: ['50%', '50%'], // 中心点位置 |
| | | radius: '165%' // 图形大小 |
| | | } |
| | | ], |
| | | series: [ |
| | | { |
| | | name: '齿轮', |
| | | type: 'gauge', |
| | | splitNumber: 60, |
| | | radius: '132%', |
| | | center: ['50%', '50%'], |
| | | startAngle: 90, |
| | | endAngle: -269.9999, |
| | | axisLine: { |
| | | show: false, |
| | | lineStyle: { |
| | | color: [[0.3, '#26a7d4'], [1, '#23395a']] |
| | | } |
| | | }, |
| | | axisTick: { |
| | | show: false |
| | | }, |
| | | splitLine: { |
| | | show: true, |
| | | length: 8, |
| | | lineStyle: { |
| | | color: 'auto', |
| | | width: 2.5 |
| | | } |
| | | }, |
| | | axisLabel: { |
| | | show: false |
| | | }, |
| | | detail: { |
| | | show: false |
| | | } |
| | | }, |
| | | { |
| | | type: 'bar', |
| | | z: 10, |
| | | data: [75], |
| | | showBackground: false, |
| | | backgroundStyle: { |
| | | color: 'blue', |
| | | borderWidth: 4, |
| | | width: 4 |
| | | }, |
| | | coordinateSystem: 'polar', |
| | | roundCap: true, |
| | | barWidth: 6, // 大的占比环 |
| | | itemStyle: { |
| | | normal: { |
| | | opacity: 1, |
| | | color: new echarts.graphic.LinearGradient(0, 0, 1, 1, [ |
| | | { |
| | | offset: 0, |
| | | color: '#00FFFF' |
| | | }, |
| | | { |
| | | offset: 1, |
| | | color: '#09d8f2' |
| | | } |
| | | ]) |
| | | } |
| | | } |
| | | }, |
| | | { |
| | | type: 'pie', |
| | | name: '内层细圆环', |
| | | radius: ['82%', '83%'], |
| | | startAngle: 110, |
| | | hoverAnimation: false, |
| | | clockWise: true, |
| | | itemStyle: { |
| | | normal: { |
| | | color: new echarts.graphic.LinearGradient(0, 0, 1, 1, [ |
| | | { |
| | | offset: 0, |
| | | color: 'rgba(151,179,166,0.74)' |
| | | }, |
| | | { |
| | | offset: 1, |
| | | color: 'rgba(151,179,166,0.74)' |
| | | } |
| | | ]), |
| | | shadowBlur: 20, |
| | | shadowColor: '#66666a' |
| | | } |
| | | }, |
| | | tooltip: { |
| | | show: false |
| | | }, |
| | | label: { |
| | | show: false |
| | | }, |
| | | data: [100] |
| | | } |
| | | ] |
| | | } |
| | | return option |
| | | } |
| | | |
| | | export function zhkb07(title, value) { |
| | | const dataArr = [ |
| | | { |
| | | value: value, |
| | | name: title |
| | | } |
| | | ] |
| | | const color = new echarts.graphic.LinearGradient(0, 0, 1, 0, [ |
| | | { |
| | | offset: 0, |
| | | color: '#1f79b6' // 0% 处的颜色 |
| | | }, |
| | | { |
| | | offset: 1, |
| | | color: '#0dd2db' // 100% 处的颜色 |
| | | } |
| | | ]) |
| | | const colorSet = [ |
| | | [value / 100, color], |
| | | [1, '#15337C'] |
| | | ] |
| | | const rich = { |
| | | white: { |
| | | fontSize: 14, |
| | | color: '#fff', |
| | | fontWeight: '500' |
| | | }, |
| | | bule: { |
| | | fontSize: 14, |
| | | fontFamily: 'DINBold', |
| | | color: '#fff', |
| | | fontWeight: 100 |
| | | }, |
| | | radius: { |
| | | width: 350, |
| | | height: 80, |
| | | // lineHeight:80, |
| | | borderWidth: 1, |
| | | borderColor: '#0092F2', |
| | | fontSize: 14, |
| | | color: '#fff', |
| | | backgroundColor: '#1B215B', |
| | | borderRadius: 20, |
| | | textAlign: 'center' |
| | | }, |
| | | size: { |
| | | height: 400, |
| | | padding: [100, 0, 0, 0] |
| | | } |
| | | } |
| | | const option = { |
| | | backgroundColor: 'transparent', |
| | | tooltip: { |
| | | formatter: '{a} <br/>{b} : {c}%' |
| | | }, |
| | | series: [ |
| | | { |
| | | type: 'gauge', |
| | | radius: '90%', |
| | | startAngle: '225', |
| | | endAngle: '-45', |
| | | pointer: { |
| | | show: false |
| | | }, |
| | | detail: { |
| | | formatter: function(value) { |
| | | var num = Math.round(value) |
| | | return '{bule|' + num + '}{white|%}' |
| | | }, |
| | | rich: rich, |
| | | offsetCenter: ['0%', '0%'] |
| | | }, |
| | | data: dataArr, |
| | | title: { |
| | | show: true, |
| | | color: '#fff', |
| | | offsetCenter: ['0', '75%'], |
| | | fontSize: 14 |
| | | }, |
| | | axisLine: { |
| | | show: true, |
| | | lineStyle: { |
| | | color: colorSet, |
| | | width: 12, |
| | | shadowOffsetX: 0, |
| | | shadowOffsetY: 0, |
| | | opacity: 1 |
| | | } |
| | | }, |
| | | axisTick: { |
| | | show: false |
| | | }, |
| | | splitLine: { |
| | | show: false, |
| | | length: 10, |
| | | lineStyle: { |
| | | color: '#00377a', |
| | | width: 2, |
| | | type: 'solid' |
| | | } |
| | | }, |
| | | axisLabel: { |
| | | show: false |
| | | } |
| | | } |
| | | ] |
| | | } |
| | | |
| | | return option |
| | | } |
| | | |
| | | export function zhkb08() { |
| | | const data = [ |
| | | { |
| | | name: '钢材改制车间', |
| | | value: Math.floor(Math.random() * 10 + 90) |
| | | name: '装配一线', |
| | | value: resValueArr.find(i => i.eqp_name === '装配一线') ? resValueArr.find(i => i.eqp_name === '装配一线').cont : 0 |
| | | }, |
| | | { |
| | | name: '冷墩车间', |
| | | value: Math.floor(Math.random() * 10 + 90) |
| | | name: '装配二线', |
| | | value: resValueArr.find(i => i.eqp_name === '装配二线') ? resValueArr.find(i => i.eqp_name === '装配二线').cont : 0 |
| | | }, |
| | | { |
| | | name: '热墩车间', |
| | | value: Math.floor(Math.random() * 10 + 90) |
| | | name: '装配三线', |
| | | value: resValueArr.find(i => i.eqp_name === '装配三线') ? resValueArr.find(i => i.eqp_name === '装配三线').cont : 0 |
| | | }, |
| | | { |
| | | name: '热处理车间', |
| | | value: Math.floor(Math.random() * 10 + 90) |
| | | }, |
| | | { |
| | | name: '达克罗车间', |
| | | value: Math.floor(Math.random() * 10 + 90) |
| | | }, |
| | | { |
| | | name: '镀锌车间', |
| | | value: Math.floor(Math.random() * 10 + 90) |
| | | name: '装配四线', |
| | | value: resValueArr.find(i => i.eqp_name === '装配四线') ? resValueArr.find(i => i.eqp_name === '装配四线').cont : 0 |
| | | } |
| | | ] |
| | | |
| | | const myColor = ['#d0a00e', '#34da62', '#00e9db', '#00c0e9', '#0096f3', '#ff00ff'] |
| | | |
| | | const getArrByKey = (data, k) => { |
| | | const key = k || 'value' |
| | | const res = [] |
| | | if (data) { |
| | | data.forEach(function(t) { |
| | | res.push(t[key]) |
| | | }) |
| | | } |
| | | return res |
| | | } |
| | | const getSymbolData = (data) => { |
| | | const arr = [] |
| | | for (var i = 0; i < data.length; i++) { |
| | |
| | | } |
| | | return arr |
| | | } |
| | | // console.log(getSymbolData(data)); |
| | | |
| | | const option = { |
| | | animation: false, |
| | | backgroundColor: 'transparent', |
| | | grid: { |
| | | left: '0%', |
| | | right: '0%', |
| | | bottom: '0%', |
| | | top: '15%', |
| | | top: '0%', |
| | | bottom: 0, |
| | | right: '4%', |
| | | left: -20, |
| | | containLabel: true |
| | | }, |
| | | title: { |
| | | text: '九月能耗用量', |
| | | x: '44%', |
| | | y: '0%', |
| | | textStyle: { |
| | | color: '#09d8f2', |
| | | fontSize: 16 |
| | | } |
| | | // subtextStyle: { |
| | | // color: '#90979c', |
| | | // fontSize: '16' |
| | | // } |
| | | }, |
| | | xAxis: { |
| | | show: false |
| | | }, |
| | | yAxis: [ |
| | | { |
| | | triggerEvent: true, |
| | | show: true, |
| | | inverse: true, |
| | | data: getArrByKey(data, 'name'), |
| | | axisLine: { |
| | | show: false |
| | | }, |
| | | splitLine: { |
| | | show: false |
| | | }, |
| | | axisTick: { |
| | | show: false |
| | | }, |
| | | axisLabel: { |
| | | show: true, |
| | | interval: 0, |
| | | // color: colorY, |
| | | align: 'left', |
| | | margin: 30, |
| | | textStyle: { |
| | | color: function(value, index) { |
| | | let temp = '' |
| | | myColor.forEach((it, ind) => { |
| | | if (index === ind) { |
| | | temp = it |
| | | } |
| | | }) |
| | | return temp |
| | | }, |
| | | fontSize: 16, |
| | | align: 'right' |
| | | // width: 36 |
| | | } |
| | | // formatter: function(value, index) { |
| | | // return '{title|' + value + '}' |
| | | // }, |
| | | // rich: { |
| | | // title: { |
| | | // width: 36, |
| | | // align: 'right', |
| | | // fontSize: 16 |
| | | // } |
| | | // } |
| | | } |
| | | yAxis: [{ |
| | | triggerEvent: true, |
| | | show: true, |
| | | inverse: true, |
| | | data: data.map(r => r.name), |
| | | axisLine: { |
| | | show: false |
| | | }, |
| | | { |
| | | triggerEvent: true, |
| | | show: true, |
| | | inverse: true, |
| | | data: getArrByKey(data, 'name'), |
| | | axisLine: { |
| | | show: false |
| | | }, |
| | | splitLine: { |
| | | show: false |
| | | }, |
| | | axisTick: { |
| | | show: false |
| | | }, |
| | | axisLabel: { |
| | | interval: 0, |
| | | shadowOffsetX: '-20px', |
| | | // color: colorX, |
| | | color: function(value, index) { |
| | | let temp = '' |
| | | myColor.forEach((it, ind) => { |
| | | if (index === ind) { |
| | | temp = it |
| | | } |
| | | }) |
| | | return temp |
| | | }, |
| | | align: 'left', |
| | | verticalAlign: 'center', |
| | | lineHeight: 40, |
| | | fontSize: 16, |
| | | margin: 20, |
| | | formatter: function(value, index) { |
| | | // return data[index].value + '%' |
| | | return data[index].value + '吨' |
| | | } |
| | | splitLine: { |
| | | show: false |
| | | }, |
| | | axisTick: { |
| | | show: false |
| | | }, |
| | | |
| | | axisLabel: { |
| | | show: true, |
| | | interval: 0, |
| | | color: '#fff', |
| | | align: 'left', |
| | | margin: 60, |
| | | formatter: function(value, index) { |
| | | return '{title|' + value + '}' |
| | | }, |
| | | rich: { |
| | | title: { |
| | | width: 50, |
| | | align: 'right', |
| | | fontSize: 20 |
| | | } |
| | | } |
| | | }], |
| | | } |
| | | }, { |
| | | triggerEvent: true, |
| | | show: true, |
| | | inverse: true, |
| | | data: data.map(r => r.name), |
| | | axisLine: { |
| | | show: false |
| | | }, |
| | | splitLine: { |
| | | show: false |
| | | }, |
| | | axisTick: { |
| | | show: false |
| | | }, |
| | | axisLabel: { |
| | | interval: 0, |
| | | shadowOffsetX: '-20px', |
| | | color: ['#fff'], |
| | | align: 'left', |
| | | verticalAlign: 'center', |
| | | lineHeight: 40, |
| | | fontSize: 20, |
| | | formatter: function(value, index) { |
| | | return data[index].value + '' |
| | | } |
| | | |
| | | } |
| | | }], |
| | | series: [ |
| | | { |
| | | name: 'XXX', |
| | | type: 'pictorialBar', |
| | | symbol: 'image://data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADoAAAA6CAMAAADWZboaAAAAZlBMVEUAAABe3uVe3+Vf3uVf3+Zf3uVg3+Zg3+Zf3+Vi4OZh4OZg3+Z86/Bh3+Zi4Odj4Odi4OZ86/B76/B86/Bj4ed56+9x5+xn4umB7/N87PB36e+A7/N+7fF/7vJ/7vJ+7fGA7/OB7/PReX+lAAAAIXRSTlMABQkVDREmIhk3MR10LEFFPHh7cUprXE35h2XnqMLAp+mHAG9cAAAB5ElEQVRIx83WjU7CMBQFYIoiKMqU/XUboHv/l/Tce7t2XamDNSacETEmX86tlK2rx4py150o+MstMBLwWRfHKo6JCVxLnvmFGBjFQ58oF1//sUZhGy/ClSTWObgnL4O+bkeN4nY2okfNMbkRt9/vtxz8InoTsWplJSCzFxPmO8+GpSIByX3YQAuGDWtRKhKjCnxDXhF6Z4yxnZ20Wgko7BMRDmxtSGVaI4kdTIgb+zTYoJQlIMlDlmUFgrcDWWC201qSayqlTkiCddWWeV62VU0YlnpRi9VOKaSUsiyq/N0krwq2Ugt7lVpZl5BfHNiytjagMi+XYp0kCR45hMlivVQrE/uU5pXSrCB5bM6d1t2lOZItMqmliT3q5uVxqxzyW/ccfYLNKx7ZTeykMvNyac2yt2Fbc61MHLSC0rwoxbiNdlQ3GBm1NLHQsHUrtEXppR/ljNpW6DbSCoqlFiVoN6YdaFlgsSFVPs1BdT8OaB5QyQzVcaqWDows/zepxR8ObLglTrdtCRVuRNj4Rrxh+//0ke2f8KVL+Kon3GCSbmsJN9OUW3j6g0Ns+LgCij2u0h+Sghc8mlMPBMgdx5DFh59VmOVHrvmDnoNxCz3J7MFWsMuaLyR089xz/xhlfijvwutR8gv3zk6BLUUeCgAAAABJRU5ErkJggg==', |
| | | symbolSize: [50, 50], |
| | | // symbolSize: [50, 50], |
| | | symbolSize: function(params) { |
| | | return params === 0 ? [0, 0] : [50, 50] |
| | | }, |
| | | symbolOffset: [20, 0], |
| | | z: 12, |
| | | itemStyle: { |
| | |
| | | name: '条', |
| | | type: 'bar', |
| | | showBackground: true, |
| | | // barBorderRadius: 30, |
| | | yAxisIndex: 0, |
| | | data: data, |
| | | barWidth: 10, |
| | | // align: left, |
| | | itemStyle: { |
| | | normal: { |
| | | color: function(params) { |
| | | return myColor[params.dataIndex] |
| | | }, |
| | | color: 'rgba(41, 162, 245, 1)', |
| | | barBorderRadius: 10 |
| | | } |
| | | // color: '#A71A2B', |
| | | // barBorderRadius: 4, |
| | | } |
| | | // label: { |
| | | // normal: { |
| | |
| | | return option |
| | | } |
| | | |
| | | // 暂时弃用 |
| | | export function zhkb092222() { |
| | | const data = [220, 182, 191, 234, 290, 330, 310, 182, 191, 234, 290, 330] |
| | | const sideData = data.map(item => item + 4.5) |
| | | // 车间质量右下 周不良 |
| | | export function pie02(resValueArr) { |
| | | const bgColor = 'transparent' |
| | | const title = '总不良数' |
| | | const color = ['#0E7CE2', '#FF8352', '#E271DE', '#F8456B', '#00FFFF', '#4AEAB0'] |
| | | const echartData = resValueArr.map(({ eqp_name, cont }) => ({ name: eqp_name, value: cont }))// 替换数组对象中的键名 |
| | | const formatNumber = function(num) { |
| | | const reg = /(?=(\B)(\d{3})+$)/g |
| | | return num.toString().replace(reg, ',') |
| | | } |
| | | const total = echartData.reduce((a, b) => { |
| | | return a + b.value * 1 |
| | | }, 0) |
| | | |
| | | const option = { |
| | | |
| | | backgroundColor: 'transparent', |
| | | animation: false, |
| | | backgroundColor: bgColor, |
| | | color: color, |
| | | // tooltip: { |
| | | // trigger: 'axis', |
| | | // formatter: '{b} : {c}', |
| | | // axisPointer: { // 坐标轴指示器,坐标轴触发有效 |
| | | // type: 'shadow' // 默认为直线,可选为:'line' | 'shadow' |
| | | // } |
| | | // trigger: 'item' |
| | | // }, |
| | | grid: { |
| | | left: '2%', |
| | | right: '2%', |
| | | bottom: '2%', |
| | | top: '15%', |
| | | containLabel: true |
| | | }, |
| | | title: { |
| | | text: '近一年每月能耗使用', |
| | | x: '40%', |
| | | y: '0%', |
| | | title: [{ |
| | | text: '{name|' + title + '}\n{val|' + formatNumber(total) + '}', |
| | | top: 'center', |
| | | left: 'center', |
| | | textStyle: { |
| | | color: '#09d8f2', |
| | | fontSize: 16 |
| | | rich: { |
| | | name: { |
| | | fontSize: 22, |
| | | fontWeight: 'normal', |
| | | color: '#fff', |
| | | padding: [10, 0] |
| | | }, |
| | | val: { |
| | | fontSize: 22, |
| | | fontWeight: 'bold', |
| | | color: '#fff' |
| | | } |
| | | } |
| | | } |
| | | // subtextStyle: { |
| | | // color: '#90979c', |
| | | // fontSize: '16' |
| | | } |
| | | // { |
| | | // text: '单位:个', |
| | | // top: 20, |
| | | // left: 20, |
| | | // textStyle: { |
| | | // fontSize: 14, |
| | | // color: '#666666', |
| | | // fontWeight: 400 |
| | | // } |
| | | // } |
| | | ], |
| | | // legend: { |
| | | // orient: 'vertical', |
| | | // icon: 'rect', |
| | | // x: '80%', |
| | | // y: 'center', |
| | | // itemWidth: 12, |
| | | // itemHeight: 12, |
| | | // align: 'left', |
| | | // textStyle: { |
| | | // rich: { |
| | | // name: { |
| | | // fontSize: 12 |
| | | // }, |
| | | // value: { |
| | | // fontSize: 16, |
| | | // padding: [0, 5, 0, 15] |
| | | // }, |
| | | // unit: { |
| | | // fontSize: 12 |
| | | // } |
| | | // } |
| | | // }, |
| | | // formatter: function(name) { |
| | | // let res = echartData.filter(v => v.name === name); |
| | | // res = res[0] || {}; |
| | | // let unit = res.unit || ''; |
| | | // return '{name|' + name + '} {value|' + res.value + '}{unit|' + unit + '}' |
| | | // } |
| | | // // data: legendName |
| | | // }, |
| | | series: [ |
| | | { |
| | | type: 'pie', |
| | | radius: ['35%', '50%'], |
| | | center: ['50%', '50%'], |
| | | data: echartData, |
| | | hoverAnimation: false, |
| | | itemStyle: { |
| | | normal: { |
| | | borderColor: bgColor, |
| | | borderWidth: 2 |
| | | } |
| | | }, |
| | | labelLine: { |
| | | normal: { |
| | | // showAbove: false, |
| | | length: 20, |
| | | length2: 35, |
| | | lineStyle: { |
| | | color: '#fff' |
| | | } |
| | | } |
| | | }, |
| | | label: { |
| | | normal: { |
| | | formatter: params => { |
| | | return ( |
| | | '{icon|●}{name|' + params.name + '}{value|' + |
| | | formatNumber(params.value) + '}' |
| | | ) |
| | | }, |
| | | padding: [0, -50, 25, -50], |
| | | rich: { |
| | | icon: { |
| | | fontSize: 18, |
| | | color: 'red' |
| | | }, |
| | | name: { |
| | | fontSize: 18, |
| | | padding: [0, 10, 0, 4], |
| | | color: '#fff' |
| | | }, |
| | | value: { |
| | | fontSize: 18, |
| | | fontWeight: 'bold', |
| | | color: '#fff' |
| | | } |
| | | } |
| | | } |
| | | } |
| | | }] |
| | | } |
| | | return option |
| | | } |
| | | |
| | | // 车间生产 生产信息 生产进度 进度条 |
| | | export function progress(param1, param2) { |
| | | // param1 报工数量 |
| | | // param2 任务数量 |
| | | |
| | | // 拿到数据之后需要计算出相对长度 param2的相对长度为100 |
| | | let relativeValue = ''// 相对值 绿色背景 |
| | | |
| | | relativeValue = (param1 / param2) * 100 |
| | | // 百分比数值的位置 |
| | | var position = 'right' |
| | | // if (param1 >= 50) { |
| | | // position = 'inside'; |
| | | // } else if (param1 < 50) { |
| | | // position = 'right'; |
| | | // } |
| | | |
| | | var option = { |
| | | animation: false, |
| | | // animation: false, // 取消动画 |
| | | // animationDuration: 5000, |
| | | grid: { |
| | | top: 'center', |
| | | left: '0%', |
| | | right: '0%', |
| | | // height: '%', |
| | | // containLabel: false |
| | | containLabel: true |
| | | |
| | | }, |
| | | xAxis: { |
| | | data: ['01月', '02月', '03月', '04月', '05月', '06月', '07月', '08月', '09月', '10月', '11月', '12月'], |
| | | // 坐标轴 |
| | | axisLine: { |
| | | lineStyle: { |
| | | color: '#3eb2e8' |
| | | } |
| | | }, |
| | | // 坐标值标注 |
| | | type: 'value', |
| | | axisLabel: { |
| | | show: true, |
| | | textStyle: { |
| | | color: colorX, |
| | | fontSize: 14 |
| | | } |
| | | } |
| | | }, |
| | | yAxis: { |
| | | // 坐标轴 |
| | | show: false |
| | | }, |
| | | max: 100, |
| | | axisTick: { |
| | | show: false |
| | | }, |
| | | axisLine: { |
| | | show: false |
| | | }, |
| | | // 坐标值标注 |
| | | axisLabel: { |
| | | show: true, |
| | | textStyle: { |
| | | color: '#09d8f2', |
| | | fontSize: 14 |
| | | } |
| | | }, |
| | | // 分格线 |
| | | splitLine: { |
| | | lineStyle: { |
| | | type: 'dashed', |
| | | color: 'rgba(135,140,147,0.8)' |
| | | show: false |
| | | } |
| | | }, |
| | | yAxis: [{ |
| | | type: 'category', |
| | | data: [], |
| | | axisLabel: { |
| | | show: false |
| | | }, |
| | | axisTick: { |
| | | show: false |
| | | }, |
| | | axisLine: { |
| | | show: false |
| | | }, |
| | | splitLine: { |
| | | show: false |
| | | }, |
| | | z: 10 |
| | | }, { |
| | | type: 'category', |
| | | axisLabel: { |
| | | show: false |
| | | }, |
| | | axisTick: { |
| | | show: false |
| | | }, |
| | | axisLine: { |
| | | show: false |
| | | }, |
| | | splitLine: { |
| | | show: false |
| | | }, |
| | | data: [] |
| | | }], |
| | | series: [{ |
| | | name: '', |
| | | type: 'bar', |
| | | barWidth: '100%', |
| | | // barMaxWidth: '100%', |
| | | label: { |
| | | normal: { |
| | | show: true, |
| | | // position: ['24', '38%'], |
| | | position: (param1.toString() + param2.toString()).length <= 6 ? ['24', '38%'] : 'insideLeft', |
| | | // formatter: '{c} %', |
| | | formatter: param1 + '/' + param2, |
| | | textStyle: { |
| | | color: '#FFFFFF', |
| | | fontWeight: 'bold', |
| | | fontFamily: 'Microsoft YaHei', |
| | | fontSize: 18 |
| | | } |
| | | } |
| | | }, |
| | | splitNumber: 3 |
| | | itemStyle: { |
| | | normal: { |
| | | barBorderRadius: 5, |
| | | shadowBlur: 10, |
| | | shadowColor: '#111', |
| | | color: '#2FD04F' |
| | | } |
| | | }, |
| | | // data: [param1], |
| | | data: [relativeValue], |
| | | z: 10 |
| | | }, { |
| | | type: 'bar', |
| | | barWidth: '100%', |
| | | yAxisIndex: 1, |
| | | silent: true, |
| | | // barMaxWidth: '100%', |
| | | itemStyle: { |
| | | normal: { |
| | | barBorderRadius: 5, |
| | | color: '#42475B' |
| | | } |
| | | }, |
| | | // data: [param2] |
| | | data: [100] |
| | | }] |
| | | } |
| | | |
| | | return option |
| | | } |
| | | |
| | | // 采购订单 |
| | | export function cgddchart(data1, data2, data3) { |
| | | // 得到最大值 5的倍数 |
| | | |
| | | let max = Math.max(Math.max(data1, data2), data3) + 5 |
| | | if (max % 5 !== 0) { |
| | | max = 5 - max % 5 + max |
| | | } |
| | | const option = { |
| | | backgroundColor: 'transparent', |
| | | tooltip: { |
| | | formatter: '{a} <br/>{c} {b}' |
| | | }, |
| | | series: [ |
| | | { |
| | | name: 'a', |
| | | show: false, |
| | | name: ' ', |
| | | type: 'gauge', |
| | | color: ['#f00'], |
| | | min: 0, |
| | | max: max, |
| | | splitNumber: 5, |
| | | radius: '70%', |
| | | center: ['17%', '48%'], |
| | | axisLine: { // 坐标轴线 |
| | | lineStyle: { // 属性lineStyle控制线条样式 |
| | | width: 10, |
| | | color: [ |
| | | [0.4, '#09d8f2'], |
| | | [1, '#00FFFFF'] |
| | | ] |
| | | }, |
| | | backgroundColor: 'none' |
| | | }, |
| | | tooltip: { |
| | | show: false |
| | | }, |
| | | type: 'bar', |
| | | barWidth: 18, |
| | | itemStyle: { |
| | | normal: { |
| | | color: new echarts.graphic.LinearGradient(0, 1, 0, 0, [{ |
| | | offset: 0, |
| | | color: '#0B4EC3' // 0% 处的颜色 |
| | | }, { |
| | | offset: 0.6, |
| | | color: '#138CEB' // 60% 处的颜色 |
| | | }, { |
| | | offset: 1, |
| | | color: '#17AAFE' // 100% 处的颜色 |
| | | }], false) |
| | | axisTick: { // 坐标轴小标记 |
| | | length: 10, // 属性length控制线长 |
| | | lineStyle: { // 属性lineStyle控制线条样式 |
| | | color: 'auto' |
| | | } |
| | | }, |
| | | data: data, |
| | | barGap: 0 |
| | | }, |
| | | { |
| | | type: 'bar', |
| | | barWidth: 8, |
| | | itemStyle: { |
| | | normal: { |
| | | color: new echarts.graphic.LinearGradient(0, 1, 0, 0, [{ |
| | | offset: 0, |
| | | color: '#09337C' // 0% 处的颜色 |
| | | }, { |
| | | offset: 0.6, |
| | | color: '#0761C0' // 60% 处的颜色 |
| | | }, { |
| | | offset: 1, |
| | | color: '#0575DE' // 100% 处的颜色 |
| | | }], false) |
| | | splitLine: { // 分隔线 |
| | | length: 10, // 属性length控制线长 |
| | | lineStyle: { // 属性lineStyle(详见lineStyle)控制线条样式 |
| | | color: colorY |
| | | } |
| | | }, |
| | | barGap: 0, |
| | | data: sideData |
| | | axisLabel: { |
| | | borderRadius: 1, |
| | | // color: 'rgba(255,255,255,0.7)', |
| | | color: '#00FFFF', |
| | | padding: 1, |
| | | fontSize: 18 |
| | | }, |
| | | title: { |
| | | // 其余属性默认使用全局文本样式,详见TEXTSTYLE |
| | | // fontWeight: 'bolder', |
| | | fontSize: 22, |
| | | fontFamily: 'Microsoft YaHei', |
| | | fontColor: '#FFF', |
| | | color: '#FFF', |
| | | paddingTop: 20, |
| | | offsetCenter: [0, '120%'] |
| | | // fontStyle: 'italic' |
| | | }, |
| | | itemStyle: { |
| | | // color: '#1092ff' |
| | | color: '#09d8f2' |
| | | }, |
| | | detail: { |
| | | shadowOffsetX: 0, |
| | | shadowOffsetY: 0, |
| | | fontFamily: 'digital', |
| | | fontSize: 26, |
| | | color: '#fff', |
| | | rich: {}, |
| | | offsetCenter: [0, '90%'], |
| | | |
| | | formatter: function(value) { |
| | | return value |
| | | } |
| | | }, |
| | | data: [{ |
| | | value: data1, |
| | | name: '本月采购订单数' |
| | | }] |
| | | }, |
| | | { |
| | | name: 'b', |
| | | name: '本月采购订单数', |
| | | type: 'gauge', |
| | | color: ['#f00'], |
| | | min: 0, |
| | | max: max, |
| | | splitNumber: 5, |
| | | radius: '70%', |
| | | center: ['17%', '48%'], |
| | | axisLine: { // 坐标轴线 |
| | | lineStyle: { // 属性lineStyle控制线条样式 |
| | | width: 10, |
| | | color: [ |
| | | [0.4, '#09d8f2'], |
| | | [1, '#00FFFFF'] |
| | | ] |
| | | }, |
| | | backgroundColor: 'none' |
| | | }, |
| | | tooltip: { |
| | | show: false |
| | | }, |
| | | type: 'pictorialBar', |
| | | itemStyle: { |
| | | borderWidth: 1, |
| | | borderColor: '#0571D5', |
| | | color: '#1779E0' |
| | | axisTick: { // 坐标轴小标记 |
| | | length: 10, // 属性length控制线长 |
| | | lineStyle: { // 属性lineStyle控制线条样式 |
| | | color: 'auto' |
| | | } |
| | | }, |
| | | symbol: 'path://M 0,0 l 120,0 l -30,60 l -120,0 z', |
| | | symbolSize: ['30', '6'], |
| | | symbolOffset: ['0', '-4'], |
| | | // symbolRotate: -5, |
| | | symbolPosition: 'end', |
| | | data: data, |
| | | z: 3 |
| | | splitLine: { // 分隔线 |
| | | length: 10, // 属性length控制线长 |
| | | lineStyle: { // 属性lineStyle(详见lineStyle)控制线条样式 |
| | | color: colorY |
| | | } |
| | | }, |
| | | axisLabel: { |
| | | borderRadius: 1, |
| | | // color: 'rgba(255,255,255,0.7)', |
| | | color: '#00FFFF', |
| | | padding: 1, |
| | | fontSize: 18 |
| | | }, |
| | | title: { |
| | | // 其余属性默认使用全局文本样式,详见TEXTSTYLE |
| | | // fontWeight: 'bolder', |
| | | fontSize: 22, |
| | | fontFamily: 'Microsoft YaHei', |
| | | fontColor: '#FFF', |
| | | color: '#FFF', |
| | | paddingTop: 20, |
| | | offsetCenter: [0, '120%'] |
| | | // fontStyle: 'italic' |
| | | }, |
| | | itemStyle: { |
| | | // color: '#1092ff' |
| | | color: '#09d8f2' |
| | | }, |
| | | detail: { |
| | | shadowOffsetX: 0, |
| | | shadowOffsetY: 0, |
| | | fontFamily: 'digital', |
| | | fontSize: 26, |
| | | color: '#fff', |
| | | rich: {}, |
| | | offsetCenter: [0, '90%'], |
| | | |
| | | formatter: function(value) { |
| | | return value |
| | | } |
| | | }, |
| | | data: [{ |
| | | value: data1, |
| | | name: '本月采购订单数' |
| | | }] |
| | | }, |
| | | { |
| | | name: '本月到货单数', |
| | | type: 'gauge', |
| | | color: ['#f00'], |
| | | min: 0, |
| | | max: max, |
| | | splitNumber: 5, |
| | | radius: '70%', |
| | | center: ['50%', '48%'], |
| | | axisLine: { // 坐标轴线 |
| | | lineStyle: { // 属性lineStyle控制线条样式 |
| | | width: 10, |
| | | color: [ |
| | | [0.4, '#09d8f2'], |
| | | [1, '#00FFFFF'] |
| | | ] |
| | | }, |
| | | backgroundColor: 'none' |
| | | }, |
| | | tooltip: { |
| | | show: false |
| | | }, |
| | | axisTick: { // 坐标轴小标记 |
| | | length: 10, // 属性length控制线长 |
| | | lineStyle: { // 属性lineStyle控制线条样式 |
| | | color: 'auto' |
| | | } |
| | | }, |
| | | splitLine: { // 分隔线 |
| | | length: 10, // 属性length控制线长 |
| | | lineStyle: { // 属性lineStyle(详见lineStyle)控制线条样式 |
| | | color: colorY |
| | | } |
| | | }, |
| | | axisLabel: { |
| | | borderRadius: 1, |
| | | // color: 'rgba(255,255,255,0.7)', |
| | | color: '#00FFFF', |
| | | padding: 1, |
| | | fontSize: 18 |
| | | }, |
| | | title: { |
| | | // 其余属性默认使用全局文本样式,详见TEXTSTYLE |
| | | // fontWeight: 'bolder', |
| | | fontSize: 22, |
| | | fontColor: '#FFF', |
| | | color: '#FFF', |
| | | fontFamily: 'Microsoft YaHei', |
| | | paddingTop: 20, |
| | | offsetCenter: [0, '120%'] |
| | | // fontStyle: 'italic' |
| | | }, |
| | | itemStyle: { |
| | | // color: '#1092ff' |
| | | color: '#09d8f2' |
| | | }, |
| | | detail: { |
| | | shadowOffsetX: 0, |
| | | shadowOffsetY: 0, |
| | | // borderWidth: 1, |
| | | textBorderColor: '#000', |
| | | textBorderWidth: 1, |
| | | textShadowBlur: 1, |
| | | textShadowColor: colorX, |
| | | textShadowOffsetX: 0, |
| | | textShadowOffsetY: 0, |
| | | paddingTop: 10, |
| | | fontFamily: 'digital', |
| | | fontSize: 20, |
| | | width: 30, |
| | | color: '#fff', |
| | | rich: {}, |
| | | offsetCenter: [0, '90%'], |
| | | formatter: function(value) { |
| | | // console.info(value) |
| | | // return (value * 10 + '%') |
| | | return value |
| | | } |
| | | }, |
| | | data: [{ |
| | | value: data2, |
| | | name: '本月到货单数' |
| | | }] |
| | | }, |
| | | { |
| | | name: '本月采购入库单数', |
| | | type: 'gauge', |
| | | color: ['#f00'], |
| | | min: 0, |
| | | max: max, |
| | | splitNumber: 5, |
| | | radius: '70%', |
| | | center: ['83%', '48%'], |
| | | axisLine: { // 坐标轴线 |
| | | lineStyle: { // 属性lineStyle控制线条样式 |
| | | width: 10, |
| | | color: [ |
| | | [0.4, '#09d8f2'], |
| | | [1, '#00FFFFF'] |
| | | ] |
| | | }, |
| | | backgroundColor: 'none' |
| | | }, |
| | | tooltip: { |
| | | show: false |
| | | }, |
| | | axisTick: { // 坐标轴小标记 |
| | | length: 10, // 属性length控制线长 |
| | | lineStyle: { // 属性lineStyle控制线条样式 |
| | | color: 'auto' |
| | | } |
| | | }, |
| | | splitLine: { // 分隔线 |
| | | length: 10, // 属性length控制线长 |
| | | lineStyle: { // 属性lineStyle(详见lineStyle)控制线条样式 |
| | | color: colorX |
| | | } |
| | | }, |
| | | axisLabel: { |
| | | borderRadius: 1, |
| | | // color: 'rgba(255,255,255,0.7)', |
| | | color: '#00FFFF', |
| | | padding: 1, |
| | | fontSize: 18 |
| | | }, |
| | | title: { |
| | | // 其余属性默认使用全局文本样式,详见TEXTSTYLE |
| | | // fontWeight: 'bolder', |
| | | fontSize: 22, |
| | | fontColor: '#FFF', |
| | | color: '#FFF', |
| | | fontFamily: 'Microsoft YaHei', |
| | | paddingTop: 20, |
| | | offsetCenter: [0, '120%'] |
| | | // fontStyle: 'italic' |
| | | }, |
| | | itemStyle: { |
| | | // color: '#1092ff' |
| | | color: '#09d8f2' |
| | | }, |
| | | detail: { |
| | | shadowOffsetX: 0, |
| | | shadowOffsetY: 0, |
| | | // borderWidth: 1, |
| | | textBorderColor: '#000', |
| | | textBorderWidth: 1, |
| | | textShadowBlur: 1, |
| | | textShadowColor: colorX, |
| | | textShadowOffsetX: 0, |
| | | textShadowOffsetY: 0, |
| | | paddingTop: 10, |
| | | fontFamily: 'digital', |
| | | fontSize: 20, |
| | | width: 30, |
| | | color: '#fff', |
| | | rich: {}, |
| | | offsetCenter: [0, '90%'], |
| | | formatter: function(value) { |
| | | return value |
| | | } |
| | | }, |
| | | data: [{ |
| | | value: data3, |
| | | name: `本月采购入库单数` |
| | | }] |
| | | } |
| | | |
| | | ] |
| | | } |
| | | return option |
| | | } |
| | | |
| | | export function zhkb09() { |
| | | // const dataY = [60, 70, 80, 90, 60, 70, 80, 90, 80, 90, 60, 70, 80, 90] |
| | | const dataY = [(80 + Math.random() * 10), (90 - Math.random() * 30), (60 + Math.random() * 30), (70 + Math.random() * 20), (80 + Math.random() * 10), (90 - Math.random() * 30), (80 - Math.random() * 30), (90 - Math.random() * 30), (60 + Math.random() * 30), (70 + Math.random() * 20), (80 - Math.random() * 10), (90 - Math.random() * 30)] |
| | | |
| | | // 车间质量 |
| | | 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: '2%', |
| | | bottom: '20%', |
| | | top: '15%', |
| | | containLabel: true |
| | | }, |
| | | title: { |
| | | text: '近一年每月能耗使用', |
| | | x: '40%', |
| | | y: '0%', |
| | | textStyle: { |
| | | color: '#09d8f2', |
| | | fontSize: 16 |
| | | } |
| | | legend: { |
| | | data: legendData, |
| | | textStyle: { fontSize: 16, color: '#fff' }, |
| | | itemWidth: 25, |
| | | itemHeight: 10, |
| | | itemGap: 15, |
| | | bottom: '5%', |
| | | selectedMode: false |
| | | }, |
| | | color: ['#3cefff'], |
| | | tooltip: {}, |
| | | xAxis: [ |
| | | { |
| | | type: 'category', |
| | | data: ['01月', '02月', '03月', '04月', '05月', '06月', '07月', '08月', '09月', '10月', '11月', '12月'], |
| | | axisTick: { |
| | | alignWithLabel: true |
| | | }, |
| | | nameTextStyle: { |
| | | color: '#82b0ec' |
| | | }, |
| | | axisLine: { |
| | | lineStyle: { |
| | | color: '#82b0ec' |
| | | } |
| | | }, |
| | | axisLabel: { |
| | | margin: 20, |
| | | textStyle: { |
| | | // color: '#82b0ec' |
| | | color: colorX, |
| | | fontSize: 14 |
| | | } |
| | | 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: { |
| | | color: '#09d8f2', |
| | | fontSize: 14 |
| | | } |
| | | // formatter: '{value}%' |
| | | }, |
| | | splitLine: { |
| | | lineStyle: { |
| | | type: 'dashed', |
| | | color: 'rgba(135,140,147,0.8)' |
| | | } |
| | | }, |
| | | axisLine: { |
| | | show: false |
| | | } |
| | | } |
| | | ], |
| | | series: [ |
| | | { |
| | | name: '', |
| | | type: 'pictorialBar', |
| | | symbolSize: [20, 10], |
| | | symbolOffset: [0, -5], |
| | | symbolPosition: 'end', |
| | | z: 12, |
| | | label: { |
| | | normal: { |
| | | show: false, |
| | | position: 'top', |
| | | formatter: '{c}%' |
| | | } |
| | | }, |
| | | data: dataY |
| | | }, |
| | | { |
| | | name: '', |
| | | type: 'pictorialBar', |
| | | symbolSize: [20, 10], |
| | | symbolOffset: [0, 5], |
| | | z: 12, |
| | | data: dataY |
| | | }, |
| | | { |
| | | type: 'bar', |
| | | itemStyle: { |
| | | normal: { |
| | | opacity: 0.7 |
| | | } |
| | | }, |
| | | barWidth: '20', |
| | | data: dataY |
| | | // markLine: { |
| | | // silent: true, |
| | | // label: { |
| | | // position: 'middle', |
| | | // formatter: '{b}', |
| | | // color: 'red' |
| | | // }, |
| | | // data: [ |
| | | // { |
| | | // name: '目标值', |
| | | // yAxis: 80, |
| | | // lineStyle: { |
| | | // color: 'red' |
| | | // }, |
| | | // itemStyle: { |
| | | // color: 'red' |
| | | // }, |
| | | // label: { |
| | | // position: 'end', |
| | | // formatter: '{b}\n {c}%' |
| | | // } |
| | | // } |
| | | // ] |
| | | // } |
| | | }, |
| | | { |
| | | type: 'effectScatter', |
| | | silent: true, |
| | | tooltip: { |
| | | show: false |
| | | }, |
| | | zlevel: 3, |
| | | symbolSize: 10, |
| | | showEffectOn: 'render', |
| | | rippleEffect: { |
| | | brushType: 'stroke', |
| | | color: '#3cefff', |
| | | scale: 5 |
| | | }, |
| | | itemStyle: { |
| | | color: '#3cefff' |
| | | }, |
| | | hoverAnimation: true, |
| | | data: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] |
| | | } |
| | | ] |
| | | } |
| | | |
| | | return option |
| | | } |
| | | |
| | | export function zhkb10() { |
| | | const _legendColor = '#8FD8FF' |
| | | const _fontSize = 16 |
| | | const _fontColor = '#8FD8FF' |
| | | // const data1 = [70, 90, 100, 70, 90, 100] |
| | | // const data2 = [80, 60, 80, 50, 90, 60] |
| | | const data1 = [70 + Math.random() * 20, 90 - Math.random() * 20, 100 - Math.random() * 20, 70 + Math.random() * 20, 90 - Math.random() * 20, 80 - Math.random() * 20] |
| | | const data2 = [80 + Math.random() * 20, 60 + Math.random() * 20, 80 - Math.random() * 20, 50 + Math.random() * 20, 90 - Math.random() * 20, 60 + Math.random() * 20] |
| | | const option = { |
| | | backgroundColor: 'transparent', |
| | | legend: { |
| | | x: 'right', |
| | | y: '2%', |
| | | itemWidth: 10, |
| | | itemHeight: 10, |
| | | textStyle: { |
| | | fontSize: 16, |
| | | color: 'rgba(255,255,255,.7)' |
| | | } |
| | | }, |
| | | grid: { |
| | | left: '2%', |
| | | top: '7%', |
| | | right: '2%', |
| | | bottom: '0%', |
| | | containLabel: true |
| | | }, |
| | | yAxis: { |
| | | // max: Math.ceil(Math.max(...data1) * 1.2), |
| | | max: 100, |
| | | type: 'value', |
| | | position: 'left', |
| | | axisLine: { |
| | | show: true, |
| | | lineStyle: { |
| | | color: '#4E84AC' |
| | | } |
| | | }, |
| | | axisTick: { |
| | | show: false |
| | | }, |
| | | axisLabel: { |
| | | formatter: '{value}', |
| | | color: '#00FFFF', |
| | | fontSize: 14 |
| | | }, |
| | | splitLine: { |
| | | show: false |
| | | } |
| | | }, |
| | | xAxis: { |
| | | type: 'category', |
| | | nameTextStyle: { |
| | | fontSize: 16, |
| | | color: '#7dd6ea' |
| | | }, |
| | | axisLabel: { |
| | | show: true, |
| | | interval: 0, |
| | | // margin: 20, |
| | | textStyle: { |
| | | color: colorX, |
| | | fontSize: 16 |
| | | } |
| | | }, |
| | | splitLine: { |
| | | show: false |
| | | }, |
| | | axisTick: { |
| | | show: false |
| | | }, |
| | | axisLine: { |
| | | show: true, |
| | | lineStyle: { |
| | | color: '#4E84AC' |
| | | // width: 3 |
| | | } |
| | | }, |
| | | data: ['钢材改制', '冷墩', '热墩', '热处理', '达克罗', '镀锌'] |
| | | }, |
| | | series: [ |
| | | { |
| | | name: '人员分析1', |
| | | type: 'bar', |
| | | barWidth: 15, |
| | | barGap: '30%', |
| | | itemStyle: { |
| | | normal: { |
| | | color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [ |
| | | { |
| | | offset: 0, |
| | | color: 'rgba(0,234,255, 1)' |
| | | }, |
| | | { |
| | | offset: 1, |
| | | color: 'rgba(0,234,255, .1)' |
| | | } |
| | | ]) |
| | | } |
| | | }, |
| | | // label: { |
| | | // show: true, |
| | | // position: 'top', |
| | | // textStyle: { |
| | | // fontSize: 36, |
| | | // color: '#00EAFF' |
| | | // }, |
| | | // formatter: function(params) { |
| | | // return params.value + '%' |
| | | // } |
| | | // }, |
| | | data: data1, |
| | | z: 10, |
| | | zlevel: 0 |
| | | }, |
| | | { |
| | | // 分隔 |
| | | type: 'pictorialBar', |
| | | itemStyle: { |
| | | normal: { |
| | | color: '#0F375F' |
| | | } |
| | | }, |
| | | symbolRepeat: 'fixed', |
| | | symbolMargin: 15, |
| | | symbol: 'rect', |
| | | symbolClip: true, |
| | | symbolSize: [15, 2], |
| | | symbolPosition: 'start', |
| | | symbolOffset: [-10, 0], |
| | | data: data1, |
| | | width: 2, |
| | | z: 0, |
| | | zlevel: 1 |
| | | }, |
| | | { |
| | | name: '人员分析2', |
| | | type: 'bar', |
| | | barWidth: 15, |
| | | itemStyle: { |
| | | normal: { |
| | | color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [ |
| | | { |
| | | offset: 0, |
| | | color: 'rgba(252,160,0, 1)' |
| | | }, |
| | | { |
| | | offset: 1, |
| | | color: 'rgba(252,160,0, .1)' |
| | | } |
| | | ]) |
| | | } |
| | | }, |
| | | // label: { |
| | | // show: true, |
| | | // position: 'top', |
| | | // textStyle: { |
| | | // fontSize: 16, |
| | | // color: '#FFA200' |
| | | // }, |
| | | // formatter: function(params) { |
| | | // return params.value + '%' |
| | | // } |
| | | // }, |
| | | data: data2, |
| | | z: 10, |
| | | zlevel: 0 |
| | | }, |
| | | { |
| | | // 分隔 |
| | | type: 'pictorialBar', |
| | | itemStyle: { |
| | | normal: { |
| | | color: '#0F375F' |
| | | } |
| | | }, |
| | | symbolRepeat: 'fixed', |
| | | symbolMargin: 15, |
| | | symbol: 'rect', |
| | | symbolClip: true, |
| | | symbolSize: [15, 2], |
| | | symbolPosition: 'start', |
| | | symbolOffset: [10, 0], |
| | | data: data2, |
| | | width: 2, |
| | | z: 0, |
| | | zlevel: 1 |
| | | } |
| | | ] |
| | | } |
| | | return option |
| | | } |
| | | |
| | | export function zhkb11() { |
| | | const option = { |
| | | backgroundColor: 'transparent', |
| | | // title: { |
| | | // text: '时段-进出港流量', |
| | | // left: '5%', |
| | | // top: '5%', |
| | | // textStyle: { |
| | | // color: '#fff', |
| | | // fontSize: '18px' |
| | | // } |
| | | // }, |
| | | tooltip: { |
| | | trigger: 'axis', |
| | | axisPointer: { |
| | | type: 'shadow' |
| | | } |
| | | }, |
| | | legend: [ |
| | | { |
| | | icon: 'react', |
| | | right: '0%', |
| | | top: '0%', |
| | | textStyle: { |
| | | color: '#fff', |
| | | fontSize: 14 |
| | | }, |
| | | itemGap: 30, |
| | | itemWidth: 30, |
| | | itemHeight: 4, |
| | | data: ['设备利用率', '设备开机率'] |
| | | } |
| | | ], |
| | | grid: { |
| | | top: '10%', |
| | | right: '5%', |
| | | left: '1%', |
| | | bottom: '0%', |
| | | containLabel: true |
| | | }, |
| | | yAxis: [ |
| | | { |
| | | type: 'category', |
| | | data: ['冷镦车间', '热墩车间', '达克罗车间', '磷化车间', '注塑车间'], |
| | | axisLine: { |
| | | lineStyle: { |
| | | color: '#4E84AC' |
| | | // width: 2 |
| | | } |
| | | }, |
| | | axisTick: { |
| | | show: false |
| | | }, |
| | | axisLabel: { |
| | | // margin: 10, |
| | | color: '#09d8f2', |
| | | textStyle: { |
| | | fontSize: 16 |
| | | } |
| | | } |
| | | } |
| | | ], |
| | | xAxis: [ |
| | | { |
| | | axisLabel: { |
| | | formatter: '{value}', |
| | | color: '#6895CA', |
| | | textStyle: { |
| | | fontSize: 16, |
| | | fontSize: 18, |
| | | color: colorX |
| | | } |
| | | }, |
| | | // name: '单', |
| | | // nameTextStyle: { |
| | | // color: colorY, |
| | | // fontSize: 14, |
| | | // lineHeight: 20 |
| | | // }, |
| | | splitLine: { |
| | | show: true, |
| | | lineStyle: { |
| | | color: '#032c58' |
| | | } |
| | | }, |
| | | axisLine: { |
| | | show: true, |
| | | lineStyle: { |
| | | width: 2, |
| | | color: '#4E84AC' |
| | | color: '#032c58' |
| | | } |
| | | }, |
| | | axisTick: { |
| | | show: false |
| | | }, |
| | | splitLine: { |
| | | lineStyle: { |
| | | type: 'dashed', |
| | | // 使用深浅的间隔色 |
| | | color: '#184D9A' |
| | | } |
| | | show: true |
| | | } |
| | | } |
| | | ], |
| | | series: [ |
| | | { |
| | | name: '设备利用率', |
| | | type: 'bar', |
| | | barGap: '70%', |
| | | data: [Math.ceil(30 + Math.random() * 20), Math.ceil(75 - Math.random() * 20), Math.ceil(77 - Math.random() * 20), Math.ceil(39 + Math.random() * 20), Math.ceil(85 - Math.random() * 20)], |
| | | barWidth: 12, |
| | | itemStyle: { |
| | | name: legendData[0], |
| | | type: 'line', |
| | | // smooth: true, //是否平滑曲线显示 |
| | | // symbol:'circle', // 默认是空心圆(中间是白色的),改成实心圆 |
| | | showAllSymbol: true, |
| | | symbol: 'emptyCircle', |
| | | symbolSize: 6, |
| | | lineStyle: { |
| | | normal: { |
| | | color: { |
| | | type: 'linear', |
| | | x: 0, |
| | | y: 0, |
| | | x2: 1, |
| | | y2: 0, |
| | | colorStops: [ |
| | | { |
| | | offset: 0, |
| | | color: '#00FFFF' // 0% 处的颜色 |
| | | }, |
| | | { |
| | | offset: 1, |
| | | color: '#00FF00' // 100% 处的颜色 |
| | | } |
| | | ], |
| | | global: false // 缺省为 false |
| | | }, |
| | | barBorderRadius: [30, 30, 30, 30], |
| | | shadowColor: 'rgba(0,160,221,1)', |
| | | shadowBlur: 4 |
| | | } |
| | | color: '#00ffff' // 线条颜色 |
| | | }, |
| | | borderColor: '#00ffff' |
| | | }, |
| | | label: { |
| | | normal: { |
| | | show: true, |
| | | // lineHeight: 20, |
| | | // width: 80, |
| | | // height: 20, |
| | | verticalAlign: 'center', |
| | | borderRadius: 200, |
| | | position: 'right', |
| | | color: '#00FF00', |
| | | fontSize: 16 |
| | | 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 |
| | | } |
| | | }, |
| | | { |
| | | name: '设备开机率', |
| | | 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', |
| | | data: [Math.ceil(90 - Math.random() * 20), 45 + Math.ceil(Math.random() * 20), Math.ceil(27 + Math.random() * 20), Math.ceil(20 + Math.random() * 60), Math.ceil(85 - Math.random() * 20)], |
| | | barWidth: 12, |
| | | 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: colorX, |
| | | 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: 1, |
| | | y2: 0, |
| | | x2: 0, |
| | | y2: 1, |
| | | colorStops: [ |
| | | { |
| | | offset: 0, |
| | | color: '#00FFFF' // 0% 处的颜色 |
| | | color: `rgb(108,237,100)`// 0% 处的颜色 |
| | | }, |
| | | { |
| | | offset: 1, |
| | | color: '#FFFF00' // 100% 处的颜色 |
| | | color: `rgb(108,237,100)` // 100% 处的颜色 |
| | | } |
| | | ], |
| | | global: false // 缺省为 false |
| | | }, |
| | | barBorderRadius: [30, 30, 30, 30], |
| | | shadowColor: 'rgba(0,160,221,1)', |
| | | shadowBlur: 4 |
| | | globalCoord: false // 缺省为 false |
| | | } // 渐变颜色 |
| | | } |
| | | }, |
| | | label: { |
| | | normal: { |
| | | show: true, |
| | | // lineHeight: 20, |
| | | // width: 80, |
| | | // height: 20, |
| | | borderRadius: 200, |
| | | verticalAlign: 'center', |
| | | // position: ['-0', '-20'], |
| | | position: 'right', |
| | | color: '#FFFF00', |
| | | fontSize: 16 |
| | | position: 'top', |
| | | fontSize: 14, |
| | | color: colorX, |
| | | formatter: params => { |
| | | return `${params.value}%` |
| | | } |
| | | // offset: [0, -5] |
| | | } |
| | | } |
| | | }, |
| | | data: data3 |
| | | } |
| | | ] |
| | | } |
| | | return option |
| | | } |
| | | |
| | | export function zhkb12() { |
| | | 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, title) { |
| | | return { |
| | | backgroundColor: 'transparent', |
| | | // tooltip: {}, |
| | | title: { |
| | | text: title, |
| | | 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) |
| | | } |
| | | ] |
| | | } |
| | | } |
| | | |
| | | export function all03(ydata, data) { |
| | | const option = { |
| | | backgroundColor: 'transparent', |
| | | // tooltip: { |
| | | // formatter: '{b} ({c})' |
| | | // }, |
| | | title: { |
| | | text: '各车间当月完工数量', |
| | | left: '50%', |
| | | top: '0%', |
| | | textAlign: 'center', |
| | | textStyle: { |
| | | // color: '#fff', |
| | | color: '#00ffff', |
| | | fontSize: '20', |
| | | fontWeight: 'bolder' |
| | | } |
| | | }, |
| | | grid: { |
| | | left: '8%', |
| | | right: '8%', |
| | | bottom: '10%', |
| | | top: '15%', |
| | | containLabel: true |
| | | }, |
| | | xAxis: [{ |
| | | // gridIndex: 0, |
| | | axisTick: { |
| | | show: false |
| | | }, |
| | | axisLabel: { |
| | | show: false |
| | | }, |
| | | splitLine: { |
| | | show: false |
| | | }, |
| | | axisLine: { |
| | | show: false |
| | | } |
| | | |
| | | }], |
| | | yAxis: [{ |
| | | gridIndex: 0, |
| | | interval: 0, |
| | | // data: yAxisData.reverse(), |
| | | data: ydata.reverse(), |
| | | axisTick: { |
| | | show: false |
| | | }, |
| | | axisLabel: { |
| | | show: true, |
| | | textStyle: { |
| | | fontSize: 18, |
| | | color: colorX |
| | | } |
| | | }, |
| | | splitLine: { |
| | | show: false |
| | | }, |
| | | axisLine: { |
| | | show: false |
| | | } |
| | | |
| | | }], |
| | | series: [ |
| | | { |
| | | type: 'bar', |
| | | xAxisIndex: 0, |
| | | yAxisIndex: 0, |
| | | barWidth: '45%', |
| | | itemStyle: { |
| | | normal: { |
| | | barBorderRadius: 15, |
| | | color: new echarts.graphic.LinearGradient(0, 0, 1, 0, [{ |
| | | offset: 0, |
| | | color: 'rgba(0,255,205,.6)' |
| | | }, { |
| | | offset: 0.8, |
| | | |
| | | color: 'rgba(41,134,207,1)' |
| | | }], false) |
| | | } |
| | | }, |
| | | label: { |
| | | normal: { |
| | | show: true, |
| | | position: 'right', |
| | | textStyle: { |
| | | color: colorX |
| | | }, |
| | | fontSize: 18 |
| | | } |
| | | }, |
| | | data: data.map(i => i.quantity).reverse() |
| | | } |
| | | |
| | | ] |
| | | } |
| | | return option |
| | | } |