|
|
@@ -4,6 +4,14 @@ let app = new Vue({
|
|
|
el: '#app',
|
|
|
data () {
|
|
|
return {
|
|
|
+ echartC1:{
|
|
|
+ national:'',
|
|
|
+ province:''
|
|
|
+ },
|
|
|
+ echartC2:{
|
|
|
+ national:'',
|
|
|
+ province:''
|
|
|
+ },
|
|
|
titleName: '',
|
|
|
access_token: '',
|
|
|
orgNumber: '', // 上级的id
|
|
|
@@ -143,28 +151,28 @@ let app = new Vue({
|
|
|
}
|
|
|
},
|
|
|
beforeMount () {
|
|
|
- dataL7[0].forEach((item, index) => {
|
|
|
- if (dataL7[1][index] < 0 && dataL7[0][index] > 0) {
|
|
|
- let obj = { value: [companyList[index].name, dataL7[0][index]], symbolSize: 15 }
|
|
|
- this.twinkle7.push(obj)
|
|
|
- }
|
|
|
- })
|
|
|
- // if (dataL8[1][params.dataIndex] < 0 && params.value > 0) {
|
|
|
- dataL8[0].forEach((item, index) => {
|
|
|
- if (dataL8[1][index] < 0 && dataL8[0][index] > 0) {
|
|
|
- let obj = { value: [companyList[index].name, dataL8[0][index]], symbolSize: 15 }
|
|
|
- this.twinkle8.push(obj)
|
|
|
- }
|
|
|
- })
|
|
|
- // params.value > 0 && fjxdataL2[0][params.dataIndex] < 0
|
|
|
- dataR6[0].forEach((item, index) => {
|
|
|
- if (dataR6[1][index] > 0 && dataR6[0][index] < 0) {
|
|
|
- let obj = { value: [companyList[index].name, dataR6[1][index]], symbolSize: 15 }
|
|
|
- this.twinkleR6.push(obj)
|
|
|
- }
|
|
|
- })
|
|
|
+ // dataL7[0].forEach((item, index) => {
|
|
|
+ // if (dataL7[1][index] < 0 && dataL7[0][index] > 0) {
|
|
|
+ // let obj = { value: [companyList[index].name, dataL7[0][index]], symbolSize: 15 }
|
|
|
+ // this.twinkle7.push(obj)
|
|
|
+ // }
|
|
|
+ // })
|
|
|
+ // // if (dataL8[1][params.dataIndex] < 0 && params.value > 0) {
|
|
|
+ // dataL8[0].forEach((item, index) => {
|
|
|
+ // if (dataL8[1][index] < 0 && dataL8[0][index] > 0) {
|
|
|
+ // let obj = { value: [companyList[index].name, dataL8[0][index]], symbolSize: 15 }
|
|
|
+ // this.twinkle8.push(obj)
|
|
|
+ // }
|
|
|
+ // })
|
|
|
+ // // params.value > 0 && fjxdataL2[0][params.dataIndex] < 0
|
|
|
+ // dataR6[0].forEach((item, index) => {
|
|
|
+ // if (dataR6[1][index] > 0 && dataR6[0][index] < 0) {
|
|
|
+ // let obj = { value: [companyList[index].name, dataR6[1][index]], symbolSize: 15 }
|
|
|
+ // this.twinkleR6.push(obj)
|
|
|
+ // }
|
|
|
+ // })
|
|
|
|
|
|
- console.log(this.twinkleR6)
|
|
|
+ // console.log(this.twinkleR6)
|
|
|
},
|
|
|
mounted () {
|
|
|
this.getUrlParams()
|
|
|
@@ -173,27 +181,6 @@ let app = new Vue({
|
|
|
this.time = formatDate()
|
|
|
}, 1000)
|
|
|
this.centerData = data
|
|
|
- // 左侧图表
|
|
|
- // this.initChartL1()
|
|
|
- // this.initChartL2()
|
|
|
- // this.initChartL3()
|
|
|
- // this.initChartL4()
|
|
|
- // this.initChartL5()
|
|
|
- // this.initChartL6()
|
|
|
- // this.initChartL7()
|
|
|
- // this.initChartL8()
|
|
|
- // // 中间图表
|
|
|
- // this.initChartC1()
|
|
|
- // this.initChartC2()
|
|
|
- // // 右侧图表
|
|
|
- // this.initChartR1()
|
|
|
- // this.initChartR2()
|
|
|
- // this.initChartR3()
|
|
|
- // this.initChartR4()
|
|
|
- // this.initChartR5()
|
|
|
- // this.initChartR6()
|
|
|
- // this.initChartR7()
|
|
|
- // this.initChartR8()
|
|
|
},
|
|
|
beforeDestroy () {
|
|
|
if (this.timer) {
|
|
|
@@ -410,12 +397,12 @@ let app = new Vue({
|
|
|
}
|
|
|
})
|
|
|
// params.value > 0 && fjxdataL2[0][params.dataIndex] < 0
|
|
|
- fjxdataL2[0].forEach((item, index) => {
|
|
|
- if (fjxdataL2[1][index] > 0 && fjxdataL2[0][index] < 0) {
|
|
|
- let obj = { value: [companyList[index].name, fjxdataL2[1][index]], symbolSize: 15 }
|
|
|
- this.twinkleR6.push(obj)
|
|
|
- }
|
|
|
- })
|
|
|
+ // fjxdataL2[0].forEach((item, index) => {
|
|
|
+ // if (fjxdataL2[1][index] > 0 && fjxdataL2[0][index] < 0) {
|
|
|
+ // let obj = { value: [companyList[index].name, fjxdataL2[1][index]], symbolSize: 15 }
|
|
|
+ // this.twinkleR6.push(obj)
|
|
|
+ // }
|
|
|
+ // })
|
|
|
this.generateEcharts()
|
|
|
resolve(1)
|
|
|
})
|
|
|
@@ -506,7 +493,30 @@ let app = new Vue({
|
|
|
..._.cloneDeep(this.commonOption),
|
|
|
series: [
|
|
|
{
|
|
|
- name: '当前各二级企业本部机构数',
|
|
|
+ name: '六个二级企业本部机构数核定上限',
|
|
|
+ type: 'line',
|
|
|
+ // yAxisIndex: 1, //使用的 y 轴的 index,在单个图表实例中存在多个 y轴的时候有用
|
|
|
+ smooth: true, //平滑曲线显示
|
|
|
+ showAllSymbol: true, //显示所有图形。
|
|
|
+ symbol: 'circle', //标记的图形为实心圆
|
|
|
+ symbolSize: 8, //标记的大小
|
|
|
+ smooth: false,
|
|
|
+ itemStyle: {
|
|
|
+ //折线拐点标志的样式
|
|
|
+ color: '#fbe138',
|
|
|
+ borderColor: '#fbe138',
|
|
|
+ width: 2,
|
|
|
+ shadowColor: '#fbe138',
|
|
|
+ shadowBlur: 4,
|
|
|
+ },
|
|
|
+ lineStyle: {
|
|
|
+ color: '#fbe138',
|
|
|
+ width: 2,
|
|
|
+ },
|
|
|
+ data: dataL1[2],
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: '六定改革前各二级企业本部机构数',
|
|
|
type: 'bar',
|
|
|
barWidth: 15,
|
|
|
itemStyle: {
|
|
|
@@ -514,7 +524,7 @@ let app = new Vue({
|
|
|
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
|
|
|
{
|
|
|
offset: 0,
|
|
|
- color: '#69c0ff',
|
|
|
+ color: '#43ede3',
|
|
|
},
|
|
|
{
|
|
|
offset: 1,
|
|
|
@@ -525,10 +535,39 @@ let app = new Vue({
|
|
|
},
|
|
|
data: dataL1[0],
|
|
|
},
|
|
|
+ {
|
|
|
+ name: '当前各二级企业本部机构数',
|
|
|
+ type: 'bar',
|
|
|
+ barWidth: 15,
|
|
|
+ itemStyle: {
|
|
|
+ color: params => {
|
|
|
+ if (params.value > 0 && dataL1[2][params.dataIndex]) {
|
|
|
+ return 'red'
|
|
|
+ } else {
|
|
|
+ return new echarts.graphic.LinearGradient(0, 0, 0, 1, [
|
|
|
+ {
|
|
|
+ offset: 0,
|
|
|
+ color: '#69c0ff',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ offset: 1,
|
|
|
+ color: '#082550',
|
|
|
+ },
|
|
|
+ ])
|
|
|
+ }
|
|
|
+ },
|
|
|
+ },
|
|
|
+ data: dataL1[1],
|
|
|
+ },
|
|
|
],
|
|
|
+ // tooltip: {
|
|
|
+ // trigger: 'item',
|
|
|
+ // position: 'top'
|
|
|
+ // },
|
|
|
}
|
|
|
- option.title.text = '各二级企业本部机构数'
|
|
|
- option.legend.data = ['当前各二级企业本部机构数']
|
|
|
+
|
|
|
+ option.title.text = '本部机构数'
|
|
|
+ option.legend.data = ['六定改革前各二级企业本部机构数', '当前各二级企业本部机构数', '六个二级企业本部机构数核定上限']
|
|
|
option.yAxis.push({
|
|
|
splitLine: {
|
|
|
show: false,
|
|
|
@@ -584,7 +623,7 @@ let app = new Vue({
|
|
|
..._.cloneDeep(this.commonOption),
|
|
|
series: [
|
|
|
{
|
|
|
- name: '当前本部中层管理人数',
|
|
|
+ name: '当前各二级管理人员数',
|
|
|
type: 'bar',
|
|
|
barWidth: 15,
|
|
|
itemStyle: {
|
|
|
@@ -603,30 +642,10 @@ let app = new Vue({
|
|
|
},
|
|
|
data: dataL3[0],
|
|
|
},
|
|
|
- ],
|
|
|
- }
|
|
|
- option.title.text = '各二级企业本部中层管理人数'
|
|
|
- option.legend.data = ['当前本部中层管理人数']
|
|
|
- option.yAxis.push({
|
|
|
- type: 'value',
|
|
|
- axisLine: {
|
|
|
- show: false,
|
|
|
- },
|
|
|
- splitLine: {
|
|
|
- show: false,
|
|
|
- },
|
|
|
- })
|
|
|
- myChart.setOption(option)
|
|
|
- },
|
|
|
- initChartL4 () {
|
|
|
- let myChart = echarts.init(this.$refs['echartL4'])
|
|
|
- let option = {
|
|
|
- ..._.cloneDeep(this.commonOption),
|
|
|
- series: [
|
|
|
{
|
|
|
- name: '当前管理人员数',
|
|
|
- type: 'bar',
|
|
|
- barWidth: 12,
|
|
|
+ name: '各二级管理人员数占总人数比值',
|
|
|
+ type: 'line',
|
|
|
+ yAxisIndex: 1,
|
|
|
smooth: true, //平滑曲线显示
|
|
|
showAllSymbol: true, //显示所有图形。
|
|
|
symbol: 'circle', //标记的图形为实心圆
|
|
|
@@ -634,41 +653,20 @@ let app = new Vue({
|
|
|
smooth: false,
|
|
|
itemStyle: {
|
|
|
//折线拐点标志的样式
|
|
|
- color: '#B889EA',
|
|
|
- borderColor: '#B889EA',
|
|
|
+ color: '#fbe138',
|
|
|
+ borderColor: '#fbe138',
|
|
|
width: 2,
|
|
|
- shadowColor: '#B889EA',
|
|
|
+ shadowColor: '#fbe138',
|
|
|
shadowBlur: 4,
|
|
|
},
|
|
|
lineStyle: {
|
|
|
- color: '#B889EA',
|
|
|
+ color: '#fbe138',
|
|
|
width: 2,
|
|
|
},
|
|
|
- data: dataL4[0]
|
|
|
- },
|
|
|
- {
|
|
|
- name: '管理人员数占总人数比值',
|
|
|
- yAxisIndex: 1, //使用的 y 轴的 index,在单个图表实例中存在多个 y轴的时候有用
|
|
|
- type: 'line',
|
|
|
- itemStyle: {
|
|
|
- normal: {
|
|
|
- color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
|
|
|
- {
|
|
|
- offset: 0,
|
|
|
- color: '#69c0ff',
|
|
|
- },
|
|
|
- {
|
|
|
- offset: 1,
|
|
|
- color: '#082550',
|
|
|
- },
|
|
|
- ]),
|
|
|
- },
|
|
|
- },
|
|
|
- data: dataL4[1],
|
|
|
markLine: {
|
|
|
data: [
|
|
|
{
|
|
|
- name: '管理人员比值核定上限',
|
|
|
+ name: '管理人员数占总人数的合理比值线',
|
|
|
yAxis: 15,
|
|
|
lineStyle: {
|
|
|
color: '#fff',
|
|
|
@@ -677,26 +675,47 @@ let app = new Vue({
|
|
|
formatter: '{b}',
|
|
|
position: 'middle',
|
|
|
color: '#fff',
|
|
|
+ fontSize: 16,
|
|
|
},
|
|
|
- }
|
|
|
+ },
|
|
|
],
|
|
|
label: {
|
|
|
distance: [20, 8],
|
|
|
},
|
|
|
},
|
|
|
+ data: dataL3[1],
|
|
|
},
|
|
|
],
|
|
|
}
|
|
|
option.title.text = '各二级企业管理人员数'
|
|
|
- option.legend.data = ['当前管理人员数', '管理人员数占总人数比值']
|
|
|
- option.legend.show = true
|
|
|
- option.tooltip = {
|
|
|
- trigger: 'axis',
|
|
|
- formatter: '{a0}:{c0}' + '<br/>' + '{a1}:{c1}' + '%'
|
|
|
+ option.legend.data = ['当前各二级管理人员数', '各二级管理人员数占总人数比值']
|
|
|
+ option.yAxis[0] = {
|
|
|
+ type: 'log',
|
|
|
+ min: 1,
|
|
|
+ logBase: 10,
|
|
|
+ axisLine: {
|
|
|
+ show: false,
|
|
|
+ },
|
|
|
+ splitLine: {
|
|
|
+ show: true,
|
|
|
+ lineStyle: {
|
|
|
+ color: '#68b4dd66',
|
|
|
+ type: 'dashed',
|
|
|
+ },
|
|
|
+ },
|
|
|
+ axisLabel: {
|
|
|
+ show: true,
|
|
|
+ formatter: function (value) {
|
|
|
+ return value === 1 ? 0 : value
|
|
|
+ },
|
|
|
+ textStyle: {
|
|
|
+ color: 'rgba(250,250,250,0.6)',
|
|
|
+ },
|
|
|
+ },
|
|
|
}
|
|
|
option.yAxis.push({
|
|
|
type: 'value',
|
|
|
- max: 20,
|
|
|
+ max: 15,
|
|
|
axisLine: {
|
|
|
show: false,
|
|
|
},
|
|
|
@@ -711,23 +730,88 @@ let app = new Vue({
|
|
|
},
|
|
|
},
|
|
|
})
|
|
|
+ option.tooltip.formatter = '{a0}:{c0}' + '<br/>' + '{a1}:{c1}' + '%'
|
|
|
myChart.setOption(option)
|
|
|
},
|
|
|
- initChartL5 () {
|
|
|
- let myChart = echarts.init(this.$refs['echartL5'])
|
|
|
+ initChartL4 () {
|
|
|
+ let myChart = echarts.init(this.$refs['echartL4'])
|
|
|
let option = {
|
|
|
..._.cloneDeep(this.commonOption),
|
|
|
series: [
|
|
|
{
|
|
|
- name: '各二级企业总人数',
|
|
|
+ name: '六定改革前各二级中层管理人数',
|
|
|
type: 'bar',
|
|
|
barWidth: 15,
|
|
|
+ label: {
|
|
|
+ normal: {
|
|
|
+ show: true,
|
|
|
+ position: 'top',
|
|
|
+ textStyle: {
|
|
|
+ color: '#69c0ff',
|
|
|
+ fontStyle: 'normal',
|
|
|
+ textAlign: 'left',
|
|
|
+ fontSize: 16,
|
|
|
+ },
|
|
|
+ formatter: function (data) {
|
|
|
+ if (data.name == '云时代') {
|
|
|
+ return data.value
|
|
|
+ } else {
|
|
|
+ return ''
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ itemStyle: {
|
|
|
+ normal: {
|
|
|
+ color: params => {
|
|
|
+ if (params.value > 0 && dataL4[2][params.dataIndex] || params.value > 0 && dataL4[0][params.dataIndex]) {
|
|
|
+ return 'red'
|
|
|
+ } else {
|
|
|
+ return new echarts.graphic.LinearGradient(0, 0, 0, 1, [
|
|
|
+ {
|
|
|
+ offset: 0,
|
|
|
+ color: '#6480f3',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ offset: 1,
|
|
|
+ color: '#082550',
|
|
|
+ },
|
|
|
+ ])
|
|
|
+ }
|
|
|
+ },
|
|
|
+ },
|
|
|
+ },
|
|
|
+ data: dataL4[0],
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: '当前各二级中层管理人数',
|
|
|
+ type: 'bar',
|
|
|
+ barWidth: 15,
|
|
|
+ label: {
|
|
|
+ normal: {
|
|
|
+ show: true,
|
|
|
+ position: 'top',
|
|
|
+ textStyle: {
|
|
|
+ color: '#6480f3',
|
|
|
+ fontStyle: 'normal',
|
|
|
+ textAlign: 'left',
|
|
|
+ fontSize: 16,
|
|
|
+ },
|
|
|
+ formatter: function (data) {
|
|
|
+ if (data.name == '云时代') {
|
|
|
+ return data.value
|
|
|
+ } else {
|
|
|
+ return ''
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
itemStyle: {
|
|
|
normal: {
|
|
|
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
|
|
|
{
|
|
|
offset: 0,
|
|
|
- color: '#69c0ff',
|
|
|
+ color: '#6480f3',
|
|
|
},
|
|
|
{
|
|
|
offset: 1,
|
|
|
@@ -736,6 +820,94 @@ let app = new Vue({
|
|
|
]),
|
|
|
},
|
|
|
},
|
|
|
+ data: dataL4[1],
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: '各二级中层管理人数核定上限',
|
|
|
+ type: 'line',
|
|
|
+ yAxisIndex: 1,
|
|
|
+ smooth: true, //平滑曲线显示
|
|
|
+ showAllSymbol: true, //显示所有图形。
|
|
|
+ symbol: 'circle', //标记的图形为实心圆
|
|
|
+ symbolSize: 8, //标记的大小
|
|
|
+ smooth: false,
|
|
|
+ label: {
|
|
|
+ normal: {
|
|
|
+ show: true,
|
|
|
+ position: 'top',
|
|
|
+ textStyle: {
|
|
|
+ color: '#fbe138',
|
|
|
+ fontStyle: 'normal',
|
|
|
+ textAlign: 'left',
|
|
|
+ fontSize: 16,
|
|
|
+ },
|
|
|
+ formatter: function (data) {
|
|
|
+ if (data.name == '云时代') {
|
|
|
+ return data.value
|
|
|
+ } else {
|
|
|
+ return ''
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ itemStyle: {
|
|
|
+ //折线拐点标志的样式
|
|
|
+ color: '#fbe138',
|
|
|
+ borderColor: '#fbe138',
|
|
|
+ width: 2,
|
|
|
+ shadowColor: '#fbe138',
|
|
|
+ shadowBlur: 4,
|
|
|
+ },
|
|
|
+ lineStyle: {
|
|
|
+ color: '#fbe138',
|
|
|
+ width: 2,
|
|
|
+ },
|
|
|
+ data: dataL4[2],
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ }
|
|
|
+ option.title.text = '各二级企业本部中层管理人数'
|
|
|
+ option.legend.data = ['六定改革前各二级中层管理人数', '当前各二级中层管理人数', '各二级中层管理人数核定上限']
|
|
|
+ option.legend.show = true
|
|
|
+ option.yAxis.push({
|
|
|
+ splitLine: {
|
|
|
+ show: false,
|
|
|
+ },
|
|
|
+ axisLine: {
|
|
|
+ show: false,
|
|
|
+ },
|
|
|
+ })
|
|
|
+ myChart.setOption(option)
|
|
|
+ },
|
|
|
+ initChartL5 () {
|
|
|
+ let myChart = echarts.init(this.$refs['echartL5'])
|
|
|
+ let option = {
|
|
|
+ ..._.cloneDeep(this.commonOption),
|
|
|
+ series: [
|
|
|
+ {
|
|
|
+ name: '各二级企业总人数',
|
|
|
+ type: 'bar',
|
|
|
+ barWidth: 15,
|
|
|
+ itemStyle: {
|
|
|
+ normal: {
|
|
|
+ color: params => {
|
|
|
+ if (params.dataIndex > 0 && Math.abs(params.value - dataL5[0][params.dataIndex - 1]) > 0.1) {
|
|
|
+ return 'yellow'
|
|
|
+ } else {
|
|
|
+ return new echarts.graphic.LinearGradient(0, 0, 0, 1, [
|
|
|
+ {
|
|
|
+ offset: 0,
|
|
|
+ color: '#69c0ff',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ offset: 1,
|
|
|
+ color: '#082550',
|
|
|
+ },
|
|
|
+ ])
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ },
|
|
|
data: dataL5[0],
|
|
|
},
|
|
|
{
|
|
|
@@ -794,7 +966,7 @@ let app = new Vue({
|
|
|
..._.cloneDeep(this.commonOption),
|
|
|
series: [
|
|
|
{
|
|
|
- name: '本部员额数',
|
|
|
+ name: '各二级员额数',
|
|
|
type: 'bar',
|
|
|
barWidth: 15,
|
|
|
itemStyle: {
|
|
|
@@ -814,17 +986,60 @@ let app = new Vue({
|
|
|
},
|
|
|
data: dataL6[0],
|
|
|
},
|
|
|
+ {
|
|
|
+ name: '六定改革前各二级员额数',
|
|
|
+ type: 'bar',
|
|
|
+ barWidth: 15,
|
|
|
+ itemStyle: {
|
|
|
+ normal: {
|
|
|
+ barBorderRadius: [10, 10, 0, 0],
|
|
|
+ color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
|
|
|
+ {
|
|
|
+ offset: 0,
|
|
|
+ color: '#43ede3',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ offset: 1,
|
|
|
+ color: '#082550',
|
|
|
+ },
|
|
|
+ ]),
|
|
|
+ },
|
|
|
+ },
|
|
|
+ data: dataL6[2],
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: '各二级员额数核定上限',
|
|
|
+ type: 'line',
|
|
|
+ yAxisIndex: 1, //使用的 y 轴的 index,在单个图表实例中存在多个 y轴的时候有用
|
|
|
+ smooth: true, //平滑曲线显示
|
|
|
+ showAllSymbol: true, //显示所有图形。
|
|
|
+ symbol: 'circle', //标记的图形为实心圆
|
|
|
+ symbolSize: 8, //标记的大小
|
|
|
+ smooth: false,
|
|
|
+ itemStyle: {
|
|
|
+ //折线拐点标志的样式
|
|
|
+ color: '#fbe138',
|
|
|
+ borderColor: '#fbe138',
|
|
|
+ width: 2,
|
|
|
+ shadowColor: '#fbe138',
|
|
|
+ shadowBlur: 4,
|
|
|
+ },
|
|
|
+ lineStyle: {
|
|
|
+ color: '#fbe138',
|
|
|
+ width: 2,
|
|
|
+ },
|
|
|
+ data: dataL6[1],
|
|
|
+ },
|
|
|
],
|
|
|
}
|
|
|
option.title.text = '各二级企业本部员额数'
|
|
|
- option.legend.data = ['本部员额数']
|
|
|
+ option.legend.data = ['各二级员额数', '六定改革前各二级员额数','各二级员额数核定上限']
|
|
|
option.legend.show = true
|
|
|
option.yAxis.push({
|
|
|
- type: 'value',
|
|
|
- axisLine: {
|
|
|
+ splitLine: {
|
|
|
show: false,
|
|
|
},
|
|
|
- splitLine: {
|
|
|
+ axisLine: {
|
|
|
show: false,
|
|
|
},
|
|
|
})
|
|
|
@@ -848,7 +1063,10 @@ let app = new Vue({
|
|
|
color: params => {
|
|
|
if (dataL7[1][params.dataIndex] < 0 && params.value > 0) {
|
|
|
return 'red'
|
|
|
- } else {
|
|
|
+ } else if (params.value < 0 && dataL7[1][params.dataIndex] > 0) {
|
|
|
+ return 'green'
|
|
|
+ }
|
|
|
+ else {
|
|
|
return '#43ede3'
|
|
|
}
|
|
|
},
|
|
|
@@ -863,7 +1081,7 @@ let app = new Vue({
|
|
|
data: dataL7[0],
|
|
|
},
|
|
|
{
|
|
|
- name: '全员劳动生产率同比变化',
|
|
|
+ name: '劳动生产率同比变化',
|
|
|
type: 'line',
|
|
|
barWidth: 15,
|
|
|
// yAxisIndex: 1,
|
|
|
@@ -917,8 +1135,8 @@ let app = new Vue({
|
|
|
},
|
|
|
],
|
|
|
}
|
|
|
- option.title.text = '人数变化和全员劳动生产率变化率分析'
|
|
|
- option.legend.data = ['人数变化', '全员劳动生产率同比变化']
|
|
|
+ option.title.text = '人数变化和全员劳动生产率变化分析'
|
|
|
+ option.legend.data = ['人数变化', '劳动生产率同比变化']
|
|
|
option.legend.show = true
|
|
|
option.tooltip = {
|
|
|
trigger: 'axis',
|
|
|
@@ -982,7 +1200,10 @@ let app = new Vue({
|
|
|
color: params => {
|
|
|
if (dataL8[1][params.dataIndex] < 0 && params.value > 0) {
|
|
|
return 'red'
|
|
|
- } else {
|
|
|
+ } else if (params.value < 0 && dataL8[1][params.dataIndex] > 0) {
|
|
|
+ return 'green'
|
|
|
+ }
|
|
|
+ else {
|
|
|
return '#43ede3'
|
|
|
}
|
|
|
},
|
|
|
@@ -1037,7 +1258,7 @@ let app = new Vue({
|
|
|
},
|
|
|
],
|
|
|
}
|
|
|
- option.title.text = '人数变化和人工利润率变化分析'
|
|
|
+ option.title.text = '人数变化和人工成本利润率变化分析'
|
|
|
option.legend.data = ['人数变化', '人工成本利润率同比变化']
|
|
|
option.legend.show = true
|
|
|
option.tooltip = {
|
|
|
@@ -1104,8 +1325,8 @@ let app = new Vue({
|
|
|
color: params => {
|
|
|
if (params.value < 0 && dataC1[1][params.dataIndex] < 0) {
|
|
|
return 'red'
|
|
|
- } else if (params.value < 0) {
|
|
|
- return 'yellow'
|
|
|
+ } else if (params.value > this.echartC1.province) {
|
|
|
+ return 'green'
|
|
|
} else {
|
|
|
return new echarts.graphic.LinearGradient(0, 0, 0, 1, [
|
|
|
{
|
|
|
@@ -1128,7 +1349,7 @@ let app = new Vue({
|
|
|
data: [
|
|
|
{
|
|
|
name: '省属企业平均水平',
|
|
|
- yAxis: 50.13,
|
|
|
+ yAxis: this.echartC1.national,
|
|
|
lineStyle: {
|
|
|
color: '#fff',
|
|
|
},
|
|
|
@@ -1141,7 +1362,7 @@ let app = new Vue({
|
|
|
},
|
|
|
{
|
|
|
name: '央企平均水平',
|
|
|
- yAxis: 69.4,
|
|
|
+ yAxis: this.echartC1.province,
|
|
|
lineStyle: {
|
|
|
color: '#fff',
|
|
|
},
|
|
|
@@ -1250,8 +1471,8 @@ let app = new Vue({
|
|
|
color: params => {
|
|
|
if (params.value < 0 && dataC2[1][params.dataIndex] < 0) {
|
|
|
return 'red'
|
|
|
- } else if (params.value < 0) {
|
|
|
- return 'yellow'
|
|
|
+ } else if (params.value > this.echartC2.province) {
|
|
|
+ return 'green'
|
|
|
} else {
|
|
|
return new echarts.graphic.LinearGradient(0, 0, 0, 1, [
|
|
|
{
|
|
|
@@ -1271,7 +1492,7 @@ let app = new Vue({
|
|
|
data: [
|
|
|
{
|
|
|
name: '省属企业平均水平',
|
|
|
- yAxis: 67.09,
|
|
|
+ yAxis: this.echartC2.province,
|
|
|
lineStyle: {
|
|
|
color: '#fff',
|
|
|
},
|
|
|
@@ -1284,7 +1505,7 @@ let app = new Vue({
|
|
|
},
|
|
|
{
|
|
|
name: '央企平均水平',
|
|
|
- yAxis: 81,
|
|
|
+ yAxis: this.echartC2.national,
|
|
|
lineStyle: {
|
|
|
color: '#fff',
|
|
|
},
|
|
|
@@ -1403,7 +1624,7 @@ let app = new Vue({
|
|
|
},
|
|
|
],
|
|
|
}
|
|
|
- option.title.text = '各二级企业招聘需求公告人次情况'
|
|
|
+ option.title.text = '各二级企业招聘需求公示人次'
|
|
|
option.legend.data = ['招聘需求公告次数', '招聘需求公告累计招聘人次']
|
|
|
option.legend.show = true
|
|
|
option.yAxis.push({
|
|
|
@@ -1509,7 +1730,7 @@ let app = new Vue({
|
|
|
data: dataR3[0],
|
|
|
},
|
|
|
{
|
|
|
- name: '2022年累计招聘数',
|
|
|
+ name: '2022年招聘人数和2023年当前累计招聘人数之和',
|
|
|
yAxisIndex: 1, //使用的 y 轴的 index,在单个图表实例中存在多个 y轴的时候有用
|
|
|
type: 'bar',
|
|
|
barWidth: 15,
|
|
|
@@ -1535,8 +1756,8 @@ let app = new Vue({
|
|
|
},
|
|
|
],
|
|
|
}
|
|
|
- option.title.text = '各二级企业年利润与招聘情况分析'
|
|
|
- option.legend.data = ['2022年利润(万)', '2022年累计招聘数']
|
|
|
+ option.title.text = '各二级企业年利润与当年累计招聘人数'
|
|
|
+ option.legend.data = ['2022年利润(万)', '2022年招聘人数和2023年当前累计招聘人数之和']
|
|
|
option.legend.show = true
|
|
|
option.yAxis.push({
|
|
|
type: 'value',
|
|
|
@@ -1564,7 +1785,7 @@ let app = new Vue({
|
|
|
..._.cloneDeep(commonOptions),
|
|
|
series: [
|
|
|
{
|
|
|
- name: '2022年退出人数',
|
|
|
+ name: '2022年退出人数和2023年当前累计退出人数之和',
|
|
|
type: 'bar',
|
|
|
barWidth: 15,
|
|
|
itemStyle: {
|
|
|
@@ -1584,21 +1805,30 @@ let app = new Vue({
|
|
|
data: dataR4[0],
|
|
|
},
|
|
|
{
|
|
|
- name: '2022年累计招聘人数',
|
|
|
+ name: '2022年招聘人数和2023年当前累计招聘人数之和',
|
|
|
type: 'bar',
|
|
|
barWidth: 15,
|
|
|
itemStyle: {
|
|
|
normal: {
|
|
|
- color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
|
|
|
- {
|
|
|
- offset: 0,
|
|
|
- color: '#45DAD1',
|
|
|
- },
|
|
|
- {
|
|
|
- offset: 1,
|
|
|
- color: '#082550',
|
|
|
- },
|
|
|
- ]),
|
|
|
+ color: params => {
|
|
|
+ if (params.value / dataR4[0][params.dataIndex] > 3) {
|
|
|
+ return 'green'
|
|
|
+ } else if (params.value / 2 < dataR4[0][params.dataIndex]) {
|
|
|
+ return 'yellow'
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ return new echarts.graphic.LinearGradient(0, 0, 0, 1, [
|
|
|
+ {
|
|
|
+ offset: 0,
|
|
|
+ color: '#6480f3',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ offset: 1,
|
|
|
+ color: '#082550',
|
|
|
+ },
|
|
|
+ ])
|
|
|
+ }
|
|
|
+ },
|
|
|
},
|
|
|
},
|
|
|
data: dataR4[1],
|
|
|
@@ -1606,7 +1836,7 @@ let app = new Vue({
|
|
|
],
|
|
|
}
|
|
|
option.title.text = '各二级企业"退二进一"完成情况'
|
|
|
- option.legend.data = ['2022年退出人数', '2022年累计招聘人数']
|
|
|
+ option.legend.data = ['2022年退出人数和2023年当前累计退出人数之和', '2022年招聘人数和2023年当前累计招聘人数之和']
|
|
|
option.legend.show = true
|
|
|
option.yAxis.push({
|
|
|
type: 'value',
|
|
|
@@ -1687,13 +1917,33 @@ let app = new Vue({
|
|
|
color: ['#69c0ff'],
|
|
|
series: [
|
|
|
{
|
|
|
- name: '2022年利润累计涨幅率',
|
|
|
+ name: '各二级月利润总额同期变化率',
|
|
|
type: 'line',
|
|
|
smooth: true, //平滑曲线显示
|
|
|
showAllSymbol: true, //显示所有图形。
|
|
|
symbol: 'circle', //标记的图形为实心圆
|
|
|
symbolSize: 8, //标记的大小
|
|
|
smooth: false,
|
|
|
+ label: {
|
|
|
+ normal: {
|
|
|
+ show: true,
|
|
|
+ lineHeight: '20',
|
|
|
+ position: 'top',
|
|
|
+ textStyle: {
|
|
|
+ color: '#B889EA',
|
|
|
+ fontStyle: 'normal',
|
|
|
+ textAlign: 'left',
|
|
|
+ fontSize: 16,
|
|
|
+ },
|
|
|
+ formatter: function (data) {
|
|
|
+ if (data.name == '文旅集团') {
|
|
|
+ return data.value
|
|
|
+ } else {
|
|
|
+ return ''
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
itemStyle: {
|
|
|
//折线拐点标志的样式
|
|
|
color: '#B889EA',
|
|
|
@@ -1706,16 +1956,40 @@ let app = new Vue({
|
|
|
color: '#B889EA',
|
|
|
width: 2,
|
|
|
},
|
|
|
- data: dataR6[0],
|
|
|
+ data: fjxdataL2[0],
|
|
|
},
|
|
|
+
|
|
|
{
|
|
|
- name: '2022年薪酬累计涨幅率',
|
|
|
+ name: '各二级月薪酬总额同期变化率',
|
|
|
type: 'line',
|
|
|
- barWidth: 15,
|
|
|
- yAxisIndex: 1,
|
|
|
+ smooth: true, //平滑曲线显示
|
|
|
+ showAllSymbol: true, //显示所有图形。
|
|
|
+ symbol: 'circle', //标记的图形为实心圆
|
|
|
+ symbolSize: 12, //标记的大小
|
|
|
+ smooth: false,
|
|
|
+ label: {
|
|
|
+ normal: {
|
|
|
+ show: true,
|
|
|
+ position: 'top',
|
|
|
+ lineHeight: '35',
|
|
|
+ textStyle: {
|
|
|
+ color: '#69c0ff',
|
|
|
+ fontStyle: 'normal',
|
|
|
+ textAlign: 'left',
|
|
|
+ fontSize: 16,
|
|
|
+ },
|
|
|
+ formatter: function (data) {
|
|
|
+ if (data.name == '文旅集团') {
|
|
|
+ return data.value
|
|
|
+ } else {
|
|
|
+ return ''
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
itemStyle: {
|
|
|
color: params => {
|
|
|
- if (params.value > 0 && dataR6[0][params.dataIndex] < 0) {
|
|
|
+ if (params.value > 0 && fjxdataL2[0][params.dataIndex] < 0) {
|
|
|
return 'yellow'
|
|
|
} else {
|
|
|
return new echarts.graphic.LinearGradient(0, 0, 0, 1, [
|
|
|
@@ -1731,7 +2005,11 @@ let app = new Vue({
|
|
|
}
|
|
|
},
|
|
|
},
|
|
|
- data: dataR6[1],
|
|
|
+ lineStyle: {
|
|
|
+ color: '#69C0FF',
|
|
|
+ width: 2,
|
|
|
+ },
|
|
|
+ data: fjxdataL2[1],
|
|
|
},
|
|
|
{
|
|
|
type: 'effectScatter',
|
|
|
@@ -1744,7 +2022,7 @@ let app = new Vue({
|
|
|
},
|
|
|
hoverAnimation: true,
|
|
|
itemStyle: {
|
|
|
- color: 'red'
|
|
|
+ color: 'yellow'
|
|
|
},
|
|
|
lineStyle: {
|
|
|
color: '#43ede3',
|
|
|
@@ -1756,77 +2034,9 @@ let app = new Vue({
|
|
|
],
|
|
|
}
|
|
|
option.title.text = '各二级企业利润与薪酬变动情况'
|
|
|
- option.legend.data = ['2022年利润累计涨幅率', '2022年薪酬累计涨幅率']
|
|
|
- option.tooltip = {
|
|
|
- trigger: 'axis',
|
|
|
- formatter: '{a0}:{c0}' + '%' + '<br/>' + '{a1}:{c1}' + '%'
|
|
|
- }
|
|
|
- option.yAxis = [
|
|
|
- {
|
|
|
- max: function (value) {
|
|
|
- if (Math.abs(value.max) > Math.abs(value.min)) {
|
|
|
- return (Math.abs(value.max) * 1.2).toFixed(2);
|
|
|
- } else {
|
|
|
- return (Math.abs(value.min) * 1.2).toFixed(2);
|
|
|
- }
|
|
|
- },
|
|
|
- min: function (value) {
|
|
|
- if (Math.abs(value.max) > Math.abs(value.min)) {
|
|
|
- return (-Math.abs(value.max) * 1.2).toFixed(2);
|
|
|
- } else {
|
|
|
- return (-Math.abs(value.min) * 1.2).toFixed(2);
|
|
|
- }
|
|
|
- },
|
|
|
- type: 'value',
|
|
|
- axisLine: {
|
|
|
- show: false,
|
|
|
- },
|
|
|
- splitLine: {
|
|
|
- show: true,
|
|
|
- lineStyle: {
|
|
|
- color: '#68b4dd66',
|
|
|
- type: 'dashed',
|
|
|
- },
|
|
|
- },
|
|
|
- axisLabel: {
|
|
|
- show: true,
|
|
|
- formatter: '{value} %',
|
|
|
- textStyle: {
|
|
|
- color: 'rgba(250,250,250,0.6)',
|
|
|
- },
|
|
|
- },
|
|
|
- },
|
|
|
- {
|
|
|
- max: function (value) {
|
|
|
- if (Math.abs(value.max) > Math.abs(value.min)) {
|
|
|
- return (Math.abs(value.max) * 1.2).toFixed(2);
|
|
|
- } else {
|
|
|
- return (Math.abs(value.min) * 1.2).toFixed(2);
|
|
|
- }
|
|
|
- },
|
|
|
- min: function (value) {
|
|
|
- if (Math.abs(value.max) > Math.abs(value.min)) {
|
|
|
- return (-Math.abs(value.max) * 1.2).toFixed(2);
|
|
|
- } else {
|
|
|
- return (-Math.abs(value.min) * 1.2).toFixed(2);
|
|
|
- }
|
|
|
- },
|
|
|
- type: 'value',
|
|
|
- splitLine: {
|
|
|
- show: false,
|
|
|
- },
|
|
|
- axisLine: {
|
|
|
- show: false,
|
|
|
- },
|
|
|
- axisLabel: {
|
|
|
- show: true,
|
|
|
- formatter: '{value} %',
|
|
|
- textStyle: {
|
|
|
- color: 'rgba(250,250,250,0.6)',
|
|
|
- },
|
|
|
- },
|
|
|
- }
|
|
|
- ]
|
|
|
+ option.legend.data = ['各二级月利润总额同期变化率', '各二级月薪酬总额同期变化率']
|
|
|
+ option.tooltip.formatter = '{a0}:{c0}' + '%' + '<br/>' + '{a1}:{c1}' + '%'
|
|
|
+ option.yAxis[0].axisLabel.formatter = '{value} %'
|
|
|
myChart.setOption(option)
|
|
|
},
|
|
|
initChartR7 () {
|
|
|
@@ -1877,7 +2087,7 @@ let app = new Vue({
|
|
|
..._.cloneDeep(this.commonOption),
|
|
|
series: [
|
|
|
{
|
|
|
- name: '任期制考核完成率',
|
|
|
+ name: '任期制考核管理',
|
|
|
type: 'bar',
|
|
|
barWidth: 15,
|
|
|
itemStyle: {
|
|
|
@@ -1898,7 +2108,7 @@ let app = new Vue({
|
|
|
},
|
|
|
],
|
|
|
}
|
|
|
- option.title.text = '各二级企业任期制契约化完成率'
|
|
|
+ option.title.text = '各二级企业任期制契约化管理'
|
|
|
option.tooltip = {
|
|
|
trigger: 'axis',
|
|
|
formatter: '{a0}:{c0}' + '%'
|