Browse Source

修改所有页面预警

unknown 1 year ago
parent
commit
85c534bcef
6 changed files with 353 additions and 199 deletions
  1. 9 9
      manpower/index.html
  2. 31 4
      manpower/js/fjx.js
  3. 67 47
      manpower/js/index.js
  4. 94 51
      manpower/js/index2.js
  5. 74 44
      manpower/js/index3.js
  6. 78 44
      manpower/js/index4.js

+ 9 - 9
manpower/index.html

@@ -49,7 +49,7 @@
           <div class="my-panel">
           <div class="my-panel">
             <div class="panel-title flex-between">
             <div class="panel-title flex-between">
               <span class="text">定职数</span>
               <span class="text">定职数</span>
-              <span class="tip-window" @click="handleShowTip(0)">智能分析</span>
+              <span class="tip-window" @click="handleShowTip(1)">智能分析</span>
             </div>
             </div>
             <div class="content flex">
             <div class="content flex">
               <div ref="echartL3" style="flex: 1;height: 100%;"></div>
               <div ref="echartL3" style="flex: 1;height: 100%;"></div>
@@ -64,7 +64,7 @@
           <div class="my-panel">
           <div class="my-panel">
             <div class="panel-title flex-between">
             <div class="panel-title flex-between">
               <span class="text">定员额</span>
               <span class="text">定员额</span>
-              <span class="tip-window" @click="handleShowTip(1)">智能分析</span>
+              <span class="tip-window" @click="handleShowTip(2)">智能分析</span>
             </div>
             </div>
             <div class="content flex flex-wrap">
             <div class="content flex flex-wrap">
               <div ref="echartL5" style="flex: 0 0 49.9%;height: 50%;"></div>
               <div ref="echartL5" style="flex: 0 0 49.9%;height: 50%;"></div>
@@ -161,7 +161,7 @@
           <div class="my-panel">
           <div class="my-panel">
             <div class="panel-title flex-between">
             <div class="panel-title flex-between">
               <span class="text">核心指标监测</span>
               <span class="text">核心指标监测</span>
-              <span class="tip-window" @click="handleShowTip(2)">智能分析</span>
+              <span class="tip-window" @click="handleShowTip(3)">智能分析</span>
             </div>
             </div>
             <div class="content flex">
             <div class="content flex">
               <div style="flex: 1;height: 100%; position: relative;">
               <div style="flex: 1;height: 100%; position: relative;">
@@ -196,7 +196,7 @@
           <div class="my-panel">
           <div class="my-panel">
             <div class="panel-title flex-between">
             <div class="panel-title flex-between">
               <span class="text">定机制</span>
               <span class="text">定机制</span>
-              <span class="tip-window" @click="handleShowTip(0)">智能分析</span>
+              <span class="tip-window" @click="handleShowTip(4)">智能分析</span>
             </div>
             </div>
             <div class="content flex flex-wrap">
             <div class="content flex flex-wrap">
               <div ref="echartR1" style="flex: 0 0 49.9%;height: 50%;"></div>
               <div ref="echartR1" style="flex: 0 0 49.9%;height: 50%;"></div>
@@ -210,7 +210,7 @@
           <div class="my-panel">
           <div class="my-panel">
             <div class="panel-title flex-between">
             <div class="panel-title flex-between">
               <span class="text">定薪酬</span>
               <span class="text">定薪酬</span>
-              <span class="tip-window" @click="handleShowTip(3)">智能分析</span>
+              <span class="tip-window" @click="handleShowTip(5)">智能分析</span>
             </div>
             </div>
             <div class="content flex">
             <div class="content flex">
               <div ref="echartR5" style="flex: 1;height: 100%;"></div>
               <div ref="echartR5" style="flex: 1;height: 100%;"></div>
@@ -222,7 +222,7 @@
           <div class="my-panel">
           <div class="my-panel">
             <div class="panel-title flex-between">
             <div class="panel-title flex-between">
               <span class="text">定任期</span>
               <span class="text">定任期</span>
-              <span class="tip-window" @click="handleShowTip(0)">智能分析</span>
+              <span class="tip-window" @click="handleShowTip(6)">智能分析</span>
             </div>
             </div>
             <div class="content flex">
             <div class="content flex">
               <div ref="echartR7" style="flex: 1;height: 100%;"></div>
               <div ref="echartR7" style="flex: 1;height: 100%;"></div>
@@ -239,9 +239,9 @@
 
 
     <div class="tip" @click="showTip = false" v-if="showTip">
     <div class="tip" @click="showTip = false" v-if="showTip">
       <div class="tip-box">
       <div class="tip-box">
-        <div class="tip-content">{{tipData[tipNum]}}</div>
-        <!-- <div class="btm20">全员劳动生产率从去年前的人均XX万元提升到XX万元;在岗职工平均工资从去年前的人均XX万元提升到XX万元。</div>
-        <div>打破工资“大锅饭”,所有盈利企业工资增幅不高于利润增幅。实行薪酬“双挂钩”,省属企业负责人绩效年薪与经营业绩考核结果挂钩后,还要与企业经济效益挂钩。</div> -->
+        <div class="tip-content">
+          <div class="btm10" v-for="(item,index) in tipData[tipNum]" :key="index"> {{item}}</div>
+        </div>
       </div>
       </div>
     </div>
     </div>
   </div>
   </div>

+ 31 - 4
manpower/js/fjx.js

@@ -16,8 +16,35 @@ const fjxdataL1 = [
   ]
   ]
 
 
   const tipData = [
   const tipData = [
-    '全员劳动生产率从去年前的人均XX万元提升到XX万元;在岗职工平均工资从去年前的人均XX万元提升到XX万元。打破工资“大锅饭”,所有盈利企业工资增幅不高于利润增幅。实行薪酬“双挂钩”,省属企业负责人绩效年薪与经营业绩考核结果挂钩后,还要与企业经济效益挂钩。全员劳动生产率从去年前的人均XX万元提升到XX万元;在岗职工平均工资从去年前的人均XX万元提升到XX万元。打破工资“大锅饭”,所有盈利企业工资增幅不高于利润增幅。实行薪酬“双挂钩”,省属企业负责人绩效年薪与经营业绩考核结果挂钩后,还要与企业经济效益挂钩果挂钩后,还要与企业经济效益挂钩。',
-    '全员劳动生产率从去年前的人均XX万元提升到XX万元;在岗职工平均工资从去年前的人均XX万元提升到XX万元。打破工资“大锅饭”,所有盈利企业工资增幅不高于利润增幅。实行薪酬“双挂钩”,省属企业负责人绩效年薪与经营业绩考核结果挂钩后,还要与企业经济效益挂钩2。',
-    '全员劳动生产率从去年前的人均XX万元提升到XX万元;在岗职工平均工资从去年前的人均XX万元提升到XX万元。打破工资“大锅饭”,所有盈利企业工资增幅不高于利润增幅。实行薪酬“双挂钩”,省属企业负责人绩效年薪与经营业绩考核结果挂钩后,还要与企业经济效益挂钩3。',
-    '全员劳动生产率从去年前的人均XX万元提升到XX万元;在岗职工平均工资从去年前的人均XX万元提升到XX万元。打破工资“大锅饭”,所有盈利企业工资增幅不高于利润增幅。实行薪酬“双挂钩”,省属企业负责人绩效年薪与经营业绩考核结果挂钩后,还要与企业经济效益挂钩4。'
+    [
+      '华阳新材12月总部设立的共享服务中心及事业部数共12个,“六定”常态机制核定上限为6个,未严格执行机构配置限额有关规定'
+    ],
+    [
+      '云时代中层管理人员对比六定前有所增长,是因为在此期间发生了组织兼并。'
+    ],
+    [
+      '1.	华舰体育总人数比去年同期增长490%,主要原因是业务发展需要;',
+      '2.	华阳新材人数下降了24%,主要是自然减员结果;',
+      '3.	文旅集团全员劳动生产率同比下降33%,人工成本利润率同比下降470%,企业总人数增长2%;',
+      '4.	大地控股的全员劳动生产率同比下降7%,人工成本利润率同比下降4%,企业总人数增长14%;',
+      '5.	华舰体育全员劳动生产率同比增长56%,同时企业总人数增长490%,明显高于全员劳动率增长幅度,值得关注;',
+    ],
+    [
+      '1.	国际能源全员劳动生产率较高,因为扭亏减亏成效显著;',
+      '2.	汾酒集团全员劳动生产率较高,因为行业关系生产总值较高;',
+      '3.	文旅集团、航产集团人工成本利润率为负,且与去年同期比有所下降,需重点关注;',
+      '4.	国际能源、华舰体育人工成本利润率为负,但相比去年有所改善;',
+      '5.	山西焦煤、晋能控股、华阳新材、太重集团、国际能源、华远陆港、交控集团等8家企业人工成本利润率增长且总人数下降;',
+    ],
+    [
+      '1.	文旅集团2022年利润为负,同时累计招聘46人;',
+      '2.	航产集团2022年利润为负,同时累计招聘199人;',
+      '3.	国际能源2022年利润为负,同时累计招聘190人',
+      '4.	华舰体育2022年利润为负,同时累计招聘12人;',
+    ],
+    [
+      '1.	文旅集团2022年利润同比降低524%,同时薪酬总额增长5.27%;',
+      '2.	航产集团2022年利润同比降低160%,同时薪酬总额增长5.27%;',
+      '3.	华舰体育2022年利润同比降低20%,同时薪酬总额增长5.28%',
+    ]
   ]
   ]

+ 67 - 47
manpower/js/index.js

@@ -917,29 +917,6 @@ let app = new Vue({
                 }
                 }
               },
               },
             },
             },
-            data: c1[0],
-          },
-          {
-            name: '全员劳动生产率同比',
-            type: 'line',
-            yAxisIndex: 1,
-            smooth: true, //平滑曲线显示
-            showAllSymbol: true, //显示所有图形。
-            symbol: 'circle', //标记的图形为实心圆
-            symbolSize: 8, //标记的大小
-            smooth: false,
-            itemStyle: {
-              //折线拐点标志的样式
-              color: '#B889EA',
-              borderColor: '#B889EA',
-              width: 2,
-              shadowColor: '#B889EA',
-              shadowBlur: 4,
-            },
-            lineStyle: {
-              color: '#B889EA',
-              width: 2,
-            },
             markLine: {
             markLine: {
               data: [
               data: [
                 {
                 {
@@ -955,19 +932,19 @@ let app = new Vue({
                     color: '#fff',
                     color: '#fff',
                   },
                   },
                 },
                 },
-                {
-                  name: '',
-                  yAxis: 0,
-                  lineStyle: {
-                    color: '#fff',
-                  },
-                  label: {
-                    formatter: '{b}',
-                    position: 'end',
-                    fontSize: 16,
-                    color: '#fff',
-                  },
-                },
+                // {
+                //   name: '',
+                //   yAxis: 0,
+                //   lineStyle: {
+                //     color: '#fff',
+                //   },
+                //   label: {
+                //     formatter: '{b}',
+                //     position: 'end',
+                //     fontSize: 16,
+                //     color: '#fff',
+                //   },
+                // },
                 {
                 {
                   name: '央企平均水平',
                   name: '央企平均水平',
                   yAxis: 69.4,
                   yAxis: 69.4,
@@ -986,6 +963,30 @@ let app = new Vue({
                 distance: [50, 0],
                 distance: [50, 0],
               },
               },
             },
             },
+            data: c1[0],
+          },
+          {
+            name: '全员劳动生产率同比',
+            type: 'line',
+            yAxisIndex: 1,
+            smooth: true, //平滑曲线显示
+            showAllSymbol: true, //显示所有图形。
+            symbol: 'circle', //标记的图形为实心圆
+            symbolSize: 8, //标记的大小
+            smooth: false,
+            itemStyle: {
+              //折线拐点标志的样式
+              color: '#B889EA',
+              borderColor: '#B889EA',
+              width: 2,
+              shadowColor: '#B889EA',
+              shadowBlur: 4,
+            },
+            lineStyle: {
+              color: '#B889EA',
+              width: 2,
+            },
+            
             // data: [50, 40, 60, 20, 45, 30, 60, 100, 45, 40, 50, 20, 60, 80, 45, 70, 50, 40],
             // data: [50, 40, 60, 20, 45, 30, 60, 100, 45, 40, 50, 20, 60, 80, 45, 70, 50, 40],
             data: c1[1],
             data: c1[1],
           },
           },
@@ -1342,6 +1343,7 @@ let app = new Vue({
       commonOptions.yAxis[0].splitNumber = 2
       commonOptions.yAxis[0].splitNumber = 2
       let option = {
       let option = {
         ..._.cloneDeep(commonOptions),
         ..._.cloneDeep(commonOptions),
+        color: ['#45DAD1'],
         series: [
         series: [
           {
           {
             name: '2022年利润(万)',
             name: '2022年利润(万)',
@@ -1369,19 +1371,37 @@ let app = new Vue({
             barWidth: 15,
             barWidth: 15,
             yAxisIndex: 1,
             yAxisIndex: 1,
             itemStyle: {
             itemStyle: {
-              normal: {
-                color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
-                  {
-                    offset: 0,
-                    color: '#45DAD1',
-                  },
-                  {
-                    offset: 1,
-                    color: '#082550',
-                  },
-                ]),
+              color: params => {
+                if (params.value > 0 && dataR3[0][params.dataIndex] < 0) {
+                  return 'red'
+                } else {
+                  return new echarts.graphic.LinearGradient(0, 0, 0, 1, [
+                    {
+                      offset: 0,
+                      color: '#45DAD1',
+                    },
+                    {
+                      offset: 1,
+                      color: '#082550',
+                    },
+                  ])
+                }
               },
               },
             },
             },
+            // itemStyle: {
+            //   normal: {
+            //     color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
+            //       {
+            //         offset: 0,
+            //         color: '#45DAD1',
+            //       },
+            //       {
+            //         offset: 1,
+            //         color: '#082550',
+            //       },
+            //     ]),
+            //   },
+            // },
             data: dataR3[1],
             data: dataR3[1],
           },
           },
         ],
         ],

+ 94 - 51
manpower/js/index2.js

@@ -535,11 +535,16 @@ let app = new Vue({
       let myChart = echarts.init(this.$refs['echartL7'])
       let myChart = echarts.init(this.$refs['echartL7'])
       let option = {
       let option = {
         ..._.cloneDeep(this.commonOption),
         ..._.cloneDeep(this.commonOption),
+        color: ['#b889ea'],
         series: [
         series: [
           {
           {
             name: '人数变化',
             name: '人数变化',
             type: 'line',
             type: 'line',
             barWidth: 15,
             barWidth: 15,
+            showAllSymbol: true, //显示所有图形。
+            symbol: 'circle', //标记的图形为实心圆
+            symbolSize: 15, //标记的大小
+            smooth: false,
             itemStyle: {
             itemStyle: {
               normal: {
               normal: {
                 color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
                 color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
@@ -564,20 +569,36 @@ let app = new Vue({
             type: 'line',
             type: 'line',
             barWidth: 15,
             barWidth: 15,
             // yAxisIndex: 1,
             // yAxisIndex: 1,
+            showAllSymbol: true, //显示所有图形。
+            symbol: 'circle', //标记的图形为实心圆
+            symbolSize: 15, //标记的大小
             itemStyle: {
             itemStyle: {
-              normal: {
-                color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
-                  {
-                    offset: 0,
-                    color: '#b889ea',
-                  },
-                  {
-                    offset: 1,
-                    color: '#b889ea',
-                  },
-                ]),
+              color: params => {
+                if (dataL7[0][params.dataIndex] > 0 && params.value < 0) {
+                  return 'red'
+                } else {
+                  return '#b889ea'
+                }
               },
               },
             },
             },
+            lineStyle: {
+              color: '#b889ea',
+              width: 2,
+            },
+            // itemStyle: {
+            //   normal: {
+            //     color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
+            //       {
+            //         offset: 0,
+            //         color: '#b889ea',
+            //       },
+            //       {
+            //         offset: 1,
+            //         color: '#b889ea',
+            //       },
+            //     ]),
+            //   },
+            // },
             data: dataL7[1],
             data: dataL7[1],
           },
           },
         ],
         ],
@@ -633,11 +654,16 @@ let app = new Vue({
       let myChart = echarts.init(this.$refs['echartL8'])
       let myChart = echarts.init(this.$refs['echartL8'])
       let option = {
       let option = {
         ..._.cloneDeep(this.commonOption),
         ..._.cloneDeep(this.commonOption),
+        color: ['#b889ea'],
         series: [
         series: [
           {
           {
             name: '人数变化',
             name: '人数变化',
             type: 'line',
             type: 'line',
             barWidth: 15,
             barWidth: 15,
+            showAllSymbol: true, //显示所有图形。
+            symbol: 'circle', //标记的图形为实心圆
+            symbolSize: 15, //标记的大小
+            smooth: false,
             itemStyle: {
             itemStyle: {
               normal: {
               normal: {
                 color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
                 color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
@@ -662,20 +688,23 @@ let app = new Vue({
             type: 'line',
             type: 'line',
             barWidth: 15,
             barWidth: 15,
             // yAxisIndex: 1,
             // yAxisIndex: 1,
+            showAllSymbol: true, //显示所有图形。
+            symbol: 'circle', //标记的图形为实心圆
+            symbolSize: 15, //标记的大小
+            smooth: false,
             itemStyle: {
             itemStyle: {
-              normal: {
-                color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
-                  {
-                    offset: 0,
-                    color: '#b889ea',
-                  },
-                  {
-                    offset: 1,
-                    color: '#b889ea',
-                  },
-                ]),
+              color: params => {
+                if (dataL8[0][params.dataIndex] > 0 && params.value < 0) {
+                  return 'red'
+                } else {
+                  return '#b889ea'
+                }
               },
               },
             },
             },
+            lineStyle: {
+              color: '#b889ea',
+              width: 2,
+            },
             data: dataL8[1],
             data: dataL8[1],
           },
           },
         ],
         ],
@@ -767,13 +796,6 @@ let app = new Vue({
               color: '#B889EA',
               color: '#B889EA',
               width: 2,
               width: 2,
             },
             },
-            data: dataC1[0],
-
-          },
-          {
-            name: '全员劳动生产率同比变化',
-            yAxisIndex: 1, //使用的 y 轴的 index,在单个图表实例中存在多个 y轴的时候有用
-            type: 'line',
             markLine: {
             markLine: {
               data: [
               data: [
                 {
                 {
@@ -805,6 +827,13 @@ let app = new Vue({
                 distance: [20, 8],
                 distance: [20, 8],
               },
               },
             },
             },
+            data: dataC1[0],
+
+          },
+          {
+            name: '全员劳动生产率同比变化',
+            yAxisIndex: 1, //使用的 y 轴的 index,在单个图表实例中存在多个 y轴的时候有用
+            type: 'line',
             itemStyle: {
             itemStyle: {
               normal: {
               normal: {
                 color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
                 color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
@@ -1124,6 +1153,7 @@ let app = new Vue({
       commonOptions.yAxis[0].splitNumber = 2
       commonOptions.yAxis[0].splitNumber = 2
       let option = {
       let option = {
         ..._.cloneDeep(commonOptions),
         ..._.cloneDeep(commonOptions),
+        color: ['#45DAD1'],
         series: [
         series: [
           {
           {
             name: '2022年利润(万)',
             name: '2022年利润(万)',
@@ -1151,17 +1181,21 @@ let app = new Vue({
             type: 'bar',
             type: 'bar',
             barWidth: 15,
             barWidth: 15,
             itemStyle: {
             itemStyle: {
-              normal: {
-                color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
-                  {
-                    offset: 0,
-                    color: '#45DAD1',
-                  },
-                  {
-                    offset: 1,
-                    color: '#082550',
-                  },
-                ]),
+              color: params => {
+                if (params.value > 0 && dataR3[0][params.dataIndex] < 0) {
+                  return 'red'
+                } else {
+                  return new echarts.graphic.LinearGradient(0, 0, 0, 1, [
+                    {
+                      offset: 0,
+                      color: '#45DAD1',
+                    },
+                    {
+                      offset: 1,
+                      color: '#082550',
+                    },
+                  ])
+                }
               },
               },
             },
             },
             data: dataR3[1],
             data: dataR3[1],
@@ -1317,6 +1351,7 @@ let app = new Vue({
       let myChart = echarts.init(this.$refs['echartR6'])
       let myChart = echarts.init(this.$refs['echartR6'])
       let option = {
       let option = {
         ..._.cloneDeep(this.commonOption),
         ..._.cloneDeep(this.commonOption),
+        color: ['#69c0ff'],
         series: [
         series: [
           {
           {
             name: '2022年利润累计涨幅率',
             name: '2022年利润累计涨幅率',
@@ -1345,18 +1380,26 @@ let app = new Vue({
             type: 'line',
             type: 'line',
             barWidth: 15,
             barWidth: 15,
             yAxisIndex: 1,
             yAxisIndex: 1,
+            showAllSymbol: true, //显示所有图形。
+            symbol: 'circle', //标记的图形为实心圆
+            symbolSize: 12, //标记的大小
+            smooth: false,
             itemStyle: {
             itemStyle: {
-              normal: {
-                color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
-                  {
-                    offset: 0,
-                    color: '#69C0FF',
-                  },
-                  {
-                    offset: 1,
-                    color: '#082550',
-                  },
-                ]),
+              color: params => {
+                if (params.value > 0 && dataR6[0][params.dataIndex] < 0) {
+                  return 'yellow'
+                } else {
+                  return new echarts.graphic.LinearGradient(0, 0, 0, 1, [
+                    {
+                      offset: 0,
+                      color: '#69c0ff',
+                    },
+                    {
+                      offset: 1,
+                      color: '#082550',
+                    },
+                  ])
+                }
               },
               },
             },
             },
             data: dataR6[1],
             data: dataR6[1],

+ 74 - 44
manpower/js/index3.js

@@ -536,11 +536,16 @@ let app = new Vue({
       let myChart = echarts.init(this.$refs['echartL7'])
       let myChart = echarts.init(this.$refs['echartL7'])
       let option = {
       let option = {
         ..._.cloneDeep(this.commonOption),
         ..._.cloneDeep(this.commonOption),
+        color: ['#b889ea'],
         series: [
         series: [
           {
           {
             name: '人数变化',
             name: '人数变化',
             type: 'line',
             type: 'line',
             barWidth: 15,
             barWidth: 15,
+            showAllSymbol: true, //显示所有图形。
+            symbol: 'circle', //标记的图形为实心圆
+            symbolSize: 15, //标记的大小
+            smooth: false,
             itemStyle: {
             itemStyle: {
               normal: {
               normal: {
                 color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
                 color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
@@ -565,20 +570,23 @@ let app = new Vue({
             type: 'line',
             type: 'line',
             barWidth: 15,
             barWidth: 15,
             // yAxisIndex: 1,
             // yAxisIndex: 1,
+            showAllSymbol: true, //显示所有图形。
+            symbol: 'circle', //标记的图形为实心圆
+            symbolSize: 15, //标记的大小
+            smooth: false,
             itemStyle: {
             itemStyle: {
-              normal: {
-                color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
-                  {
-                    offset: 0,
-                    color: '#b889ea',
-                  },
-                  {
-                    offset: 1,
-                    color: '#b889ea',
-                  },
-                ]),
+              color: params => {
+                if (dataL7[0][params.dataIndex] > 0 && params.value < 0) {
+                  return 'red'
+                } else {
+                  return '#b889ea'
+                }
               },
               },
             },
             },
+            lineStyle: {
+              color: '#b889ea',
+              width: 2,
+            },
             data: dataL7[1],
             data: dataL7[1],
           },
           },
         ],
         ],
@@ -634,11 +642,16 @@ let app = new Vue({
       let myChart = echarts.init(this.$refs['echartL8'])
       let myChart = echarts.init(this.$refs['echartL8'])
       let option = {
       let option = {
         ..._.cloneDeep(this.commonOption),
         ..._.cloneDeep(this.commonOption),
+        color: ['#b889ea'],
         series: [
         series: [
           {
           {
             name: '人数变化',
             name: '人数变化',
             type: 'line',
             type: 'line',
             barWidth: 15,
             barWidth: 15,
+            showAllSymbol: true, //显示所有图形。
+            symbol: 'circle', //标记的图形为实心圆
+            symbolSize: 15, //标记的大小
+            smooth: false,
             itemStyle: {
             itemStyle: {
               normal: {
               normal: {
                 color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
                 color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
@@ -663,20 +676,23 @@ let app = new Vue({
             type: 'line',
             type: 'line',
             barWidth: 15,
             barWidth: 15,
             // yAxisIndex: 1,
             // yAxisIndex: 1,
+            showAllSymbol: true, //显示所有图形。
+            symbol: 'circle', //标记的图形为实心圆
+            symbolSize: 15, //标记的大小
+            smooth: false,
             itemStyle: {
             itemStyle: {
-              normal: {
-                color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
-                  {
-                    offset: 0,
-                    color: '#b889ea',
-                  },
-                  {
-                    offset: 1,
-                    color: '#b889ea',
-                  },
-                ]),
+              color: params => {
+                if (dataL8[0][params.dataIndex] > 0 && params.value < 0) {
+                  return 'red'
+                } else {
+                  return '#b889ea'
+                }
               },
               },
             },
             },
+            lineStyle: {
+              color: '#b889ea',
+              width: 2,
+            },
             data: dataL8[1],
             data: dataL8[1],
           },
           },
         ],
         ],
@@ -1124,6 +1140,7 @@ let app = new Vue({
       commonOptions.yAxis[0].splitNumber = 2
       commonOptions.yAxis[0].splitNumber = 2
       let option = {
       let option = {
         ..._.cloneDeep(commonOptions),
         ..._.cloneDeep(commonOptions),
+        color: ['#45DAD1'],
         series: [
         series: [
           {
           {
             name: '2022年利润(万)',
             name: '2022年利润(万)',
@@ -1151,17 +1168,21 @@ let app = new Vue({
             type: 'bar',
             type: 'bar',
             barWidth: 15,
             barWidth: 15,
             itemStyle: {
             itemStyle: {
-              normal: {
-                color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
-                  {
-                    offset: 0,
-                    color: '#45DAD1',
-                  },
-                  {
-                    offset: 1,
-                    color: '#082550',
-                  },
-                ]),
+              color: params => {
+                if (params.value > 0 && dataR3[0][params.dataIndex] < 0) {
+                  return 'red'
+                } else {
+                  return new echarts.graphic.LinearGradient(0, 0, 0, 1, [
+                    {
+                      offset: 0,
+                      color: '#45DAD1',
+                    },
+                    {
+                      offset: 1,
+                      color: '#082550',
+                    },
+                  ])
+                }
               },
               },
             },
             },
             data: dataR3[1],
             data: dataR3[1],
@@ -1375,6 +1396,7 @@ let app = new Vue({
       let myChart = echarts.init(this.$refs['echartR6'])
       let myChart = echarts.init(this.$refs['echartR6'])
       let option = {
       let option = {
         ..._.cloneDeep(this.commonOption),
         ..._.cloneDeep(this.commonOption),
+        color: ['#69c0ff'],
         series: [
         series: [
           {
           {
             name: '2022年利润累计涨幅率',
             name: '2022年利润累计涨幅率',
@@ -1403,18 +1425,26 @@ let app = new Vue({
             type: 'line',
             type: 'line',
             barWidth: 15,
             barWidth: 15,
             yAxisIndex: 1,
             yAxisIndex: 1,
+            showAllSymbol: true, //显示所有图形。
+            symbol: 'circle', //标记的图形为实心圆
+            symbolSize: 12, //标记的大小
+            smooth: false,
             itemStyle: {
             itemStyle: {
-              normal: {
-                color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
-                  {
-                    offset: 0,
-                    color: '#69C0FF',
-                  },
-                  {
-                    offset: 1,
-                    color: '#082550',
-                  },
-                ]),
+              color: params => {
+                if (params.value > 0 && dataR6[0][params.dataIndex] < 0) {
+                  return 'yellow'
+                } else {
+                  return new echarts.graphic.LinearGradient(0, 0, 0, 1, [
+                    {
+                      offset: 0,
+                      color: '#69c0ff',
+                    },
+                    {
+                      offset: 1,
+                      color: '#082550',
+                    },
+                  ])
+                }
               },
               },
             },
             },
             data: dataR6[1],
             data: dataR6[1],

+ 78 - 44
manpower/js/index4.js

@@ -538,11 +538,16 @@ let app = new Vue({
       let myChart = echarts.init(this.$refs['echartL7'])
       let myChart = echarts.init(this.$refs['echartL7'])
       let option = {
       let option = {
         ..._.cloneDeep(this.commonOption),
         ..._.cloneDeep(this.commonOption),
+        color: ['#b889ea'],
         series: [
         series: [
           {
           {
             name: '人数变化',
             name: '人数变化',
             type: 'line',
             type: 'line',
             barWidth: 15,
             barWidth: 15,
+            showAllSymbol: true, //显示所有图形。
+            symbol: 'circle', //标记的图形为实心圆
+            symbolSize: 15, //标记的大小
+            smooth: false,
             itemStyle: {
             itemStyle: {
               normal: {
               normal: {
                 color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
                 color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
@@ -567,20 +572,23 @@ let app = new Vue({
             type: 'line',
             type: 'line',
             barWidth: 15,
             barWidth: 15,
             // yAxisIndex: 1,
             // yAxisIndex: 1,
+            showAllSymbol: true, //显示所有图形。
+            symbol: 'circle', //标记的图形为实心圆
+            symbolSize: 15, //标记的大小
+            smooth: false,
             itemStyle: {
             itemStyle: {
-              normal: {
-                color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
-                  {
-                    offset: 0,
-                    color: '#b889ea',
-                  },
-                  {
-                    offset: 1,
-                    color: '#b889ea',
-                  },
-                ]),
+              color: params => {
+                if (dataL7[0][params.dataIndex] > 0 && params.value < 0) {
+                  return 'red'
+                } else {
+                  return '#b889ea'
+                }
               },
               },
             },
             },
+            lineStyle: {
+              color: '#b889ea',
+              width: 2,
+            },
             data: dataL7[1],
             data: dataL7[1],
           },
           },
         ],
         ],
@@ -636,11 +644,16 @@ let app = new Vue({
       let myChart = echarts.init(this.$refs['echartL8'])
       let myChart = echarts.init(this.$refs['echartL8'])
       let option = {
       let option = {
         ..._.cloneDeep(this.commonOption),
         ..._.cloneDeep(this.commonOption),
+        color: ['#b889ea'],
         series: [
         series: [
           {
           {
             name: '人数变化',
             name: '人数变化',
             type: 'line',
             type: 'line',
             barWidth: 15,
             barWidth: 15,
+            showAllSymbol: true, //显示所有图形。
+            symbol: 'circle', //标记的图形为实心圆
+            symbolSize: 15, //标记的大小
+            smooth: false,
             itemStyle: {
             itemStyle: {
               normal: {
               normal: {
                 color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
                 color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
@@ -665,20 +678,23 @@ let app = new Vue({
             type: 'line',
             type: 'line',
             barWidth: 15,
             barWidth: 15,
             // yAxisIndex: 1,
             // yAxisIndex: 1,
+            showAllSymbol: true, //显示所有图形。
+            symbol: 'circle', //标记的图形为实心圆
+            symbolSize: 15, //标记的大小
+            smooth: false,
             itemStyle: {
             itemStyle: {
-              normal: {
-                color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
-                  {
-                    offset: 0,
-                    color: '#b889ea',
-                  },
-                  {
-                    offset: 1,
-                    color: '#b889ea',
-                  },
-                ]),
+              color: params => {
+                if (dataL8[0][params.dataIndex] > 0 && params.value < 0) {
+                  return 'red'
+                } else {
+                  return '#b889ea'
+                }
               },
               },
             },
             },
+            lineStyle: {
+              color: '#b889ea',
+              width: 2,
+            },
             data: dataL8[1],
             data: dataL8[1],
           },
           },
         ],
         ],
@@ -1126,6 +1142,7 @@ let app = new Vue({
       commonOptions.yAxis[0].splitNumber = 2
       commonOptions.yAxis[0].splitNumber = 2
       let option = {
       let option = {
         ..._.cloneDeep(commonOptions),
         ..._.cloneDeep(commonOptions),
+        color: ['#45DAD1'],
         series: [
         series: [
           {
           {
             name: '2022年利润(万)',
             name: '2022年利润(万)',
@@ -1153,17 +1170,21 @@ let app = new Vue({
             yAxisIndex: 1, //使用的 y 轴的 index,在单个图表实例中存在多个 y轴的时候有用
             yAxisIndex: 1, //使用的 y 轴的 index,在单个图表实例中存在多个 y轴的时候有用
             barWidth: 15,
             barWidth: 15,
             itemStyle: {
             itemStyle: {
-              normal: {
-                color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
-                  {
-                    offset: 0,
-                    color: '#45DAD1',
-                  },
-                  {
-                    offset: 1,
-                    color: '#082550',
-                  },
-                ]),
+              color: params => {
+                if (params.value > 0 && dataR3[0][params.dataIndex] < 0) {
+                  return 'red'
+                } else {
+                  return new echarts.graphic.LinearGradient(0, 0, 0, 1, [
+                    {
+                      offset: 0,
+                      color: '#45DAD1',
+                    },
+                    {
+                      offset: 1,
+                      color: '#082550',
+                    },
+                  ])
+                }
               },
               },
             },
             },
             data: dataR3[1],
             data: dataR3[1],
@@ -1345,6 +1366,7 @@ let app = new Vue({
       let myChart = echarts.init(this.$refs['echartR6'])
       let myChart = echarts.init(this.$refs['echartR6'])
       let option = {
       let option = {
         ..._.cloneDeep(this.commonOption),
         ..._.cloneDeep(this.commonOption),
+        color: ['#69c0ff'],
         series: [
         series: [
           {
           {
             name: '2022年利润累计涨幅率',
             name: '2022年利润累计涨幅率',
@@ -1373,20 +1395,32 @@ let app = new Vue({
             type: 'line',
             type: 'line',
             barWidth: 15,
             barWidth: 15,
             yAxisIndex: 1,
             yAxisIndex: 1,
+            showAllSymbol: true, //显示所有图形。
+            symbol: 'circle', //标记的图形为实心圆
+            symbolSize: 12, //标记的大小
+            smooth: false,
             itemStyle: {
             itemStyle: {
-              normal: {
-                color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
-                  {
-                    offset: 0,
-                    color: '#69C0FF',
-                  },
-                  {
-                    offset: 1,
-                    color: '#082550',
-                  },
-                ]),
+              color: params => {
+                if (params.value > 0 && dataR6[0][params.dataIndex] < 0) {
+                  return 'yellow'
+                } else {
+                  return new echarts.graphic.LinearGradient(0, 0, 0, 1, [
+                    {
+                      offset: 0,
+                      color: '#69c0ff',
+                    },
+                    {
+                      offset: 1,
+                      color: '#082550',
+                    },
+                  ])
+                }
               },
               },
             },
             },
+            lineStyle: {
+              color: '#69C0FF',
+              width: 2,
+            },
             data: dataR6[1],
             data: dataR6[1],
           },
           },
         ],
         ],