浏览代码

二级页完成

l1448442195@163.com 1 年之前
父节点
当前提交
b4264c4c89
共有 3 个文件被更改,包括 159 次插入97 次删除
  1. 6 8
      manpower/index2.html
  2. 68 23
      manpower/js/data2.js
  3. 85 66
      manpower/js/index2.js

+ 6 - 8
manpower/index2.html

@@ -11,22 +11,20 @@
   <link rel="stylesheet" href="./styles/index.css" />
   <!-- 引入js -->
   <script src="./libs/vue@2.7.10.js"></script>
+  <!-- <script src="https://unpkg.com/@jiaminghi/data-view/dist/datav.min.vue.js"></script> -->
   <script src="./libs/echarts.min.js"></script>
   <script src="./libs/datav.min.js"></script>
   <script src="./libs/element-ui@2.15.9.js"></script>
   <script src="./libs/axios.min.js"></script>
   <script src="./libs/lodash.min.js"></script>
   <script src="./js/request.js"></script>
-  <script src="./js/data.js"></script>
-  <script src="./js/zhb.js"></script>
-  <script src="./js/li.js"></script>
-  <script src="./js/fjx.js"></script>
+  <script src="./js/data2.js"></script>
 </head>
 
 <body>
   <div id="app">
     <header class="my-header">
-      <span>数智人力&nbsp;&nbsp;智慧山西</span>
+      <span>晋能控股</span>
       <span class="right">2023-1-16 10:23:00</span>
     </header>
     <div class="main">
@@ -34,7 +32,7 @@
         <dv-border-box-8 :dur="10" style="flex: 1;">
           <div class="my-panel">
             <div class="panel-title">
-              <span class="text">投资关键指标</span>
+              <span class="text">定机构</span>
             </div>
             <div class="content flex">
               <div ref="echartL1" style="flex: 1;height: 100%;"></div>
@@ -137,11 +135,11 @@
                 </div>
                 <div class="flex">
                   <div>
-                    <p>{{numFormat(centerData.changeInfo[2].value2)}}</p>
+                    <p style="color:#FBE139">{{numFormat(centerData.changeInfo[2].value2)}}</p>
                     <p>改革前在册职工数</p>
                   </div>
                   <div>
-                    <p>{{centerData.changeInfo[2].value3}}<span>万</span></p>
+                    <p style="color:#17AC76">{{centerData.changeInfo[2].value3}}<span>万</span></p>
                     <p>在册职工压缩数</p>
                   </div>
                 </div>

+ 68 - 23
manpower/js/data2.js

@@ -11,46 +11,91 @@ const companyList = [
 ]
 const data = {
   info: {
-    value1: '5808',
-    value2: '444094',
-    value3: '860527',
+    value1: '1708',
+    value2: '99386',
+    value3: '352494',
   },
   changeInfo: [
     {
-      value1: '50.30',
-      value2: '25',
-      value3: '15',
+      value1: '39',
+      value2: '34',
+      value3: '21',
     },
     {
-      value1: '31.00',
-      value2: '15695',
-      value3: '10756',
+      value1: '25',
+      value2: '6278',
+      value3: '4372',
     },
     {
-      value1: '11',
-      value2: '950527',
-      value3: '9',
+      value1: '352494',
+      value2: '42299',
+      value3: '12',
     },
   ],
 }
 const dataL1 = [
-  [18, 21, 14, 21, 13, 14, 6, 13, 13, 14, 14, 12, 15, 16, 12, 15, 10, 19],
-  [18, 21, 14, 21, 13, 14, 6, 13, 13, 14, 14, 12, 15, 16, 12, 15, 10, 19],
-  [21, 21, 21, 21, 13, 13, 6, 13, 13, 14, 14, 12, 15, 15, 12, 15, 12, 13],
+  [33, 29, 16, 14, 16, 12, 15, 12, 17]
 ]
 const dataL2 = [
-  [16, 8, 12, 10, 11, 1, 0, 8, 8, 0, 7, 0, 5, 10, 0, 0, 0, 6],
-  [11, 10, 6, 10, 12, 0, 0, 5, 0, 5, 7, 0, 4, 0, 0, 0, 0, 10],
+  [30, 52, 287, 12, 297, 9, 42, 57, 83]
 ]
 const dataL3 = [
-  [15732, 29724, 4936, 9821, 2116, 763, 218, 1472, 661, 400, 3497, 265, 3066, 1205, 155, 1311, 22, 93],
-  [9.5, 8.43, 9.13, 9.11, 8.96, 8.99, 8.97, 8.99, 9.0, 9.0, 9.1, 8.2, 8.8, 9.1, 8, 8.8, 7.3, 8.8],
+  [60, 104, 32, 28, 32, 24, 30, 24, 34]
 ]
 const dataL4 = [
-  [142, 189, 58, 59, 39, 32, 12, 36, 66, 36, 72, 41, 28, 161, 63, 10, 69, 28],
-  [109, 65, 42, 44, 36, 34, 8, 62, 45, 28, 51, 98, 40, 30, 20, 99, 51, 24],
+  [319, 1392, 1475, 44, 5180, 344, 740, 27, 10336],
+  [10.35, 12.13, 12.16, 8.91, 9.00, 9.01, 9.00, 9.96, 11.00]
 ]
 const dataL5 = [
-  [173826, 352494, 54039, 108985, 23512, 8484, 2430, 16357, 7351, 4452, 38863, 3242, 35183, 13285, 1937, 14733, 302, 1052],
-  [-1, -5, -24, 2, 5, -4, -13, -5, -3, 2, -2, -3, 5, 1, 14, -1, 490, 23],
+  [3081, 11480, 12134, 494, 57555, 3818, 8219, 271, 93960],
+  [9, 11, 0, 3, -4, -3, -2, 9, -9]
 ]
+const dataL6 = [
+  [269, 697, 232, 139, 300, 100, 149, 60, 344]
+]
+const dataL7 = [
+  [9, 11, 0, 3, -4, -3, -2, 9, -9],
+  [61, -12, 54, 127, 24, 2, 27, -8, 7]
+]
+const dataL8 = [
+  [9, 11, 0, 3, -4, -3, -2, 9, -9],
+  [105, 323, 182, 1769.00, 43.00, -30, 686, -33, 78]
+]
+const dataC1 = [
+  [153.51, 37.99, 83.68, 46.72, 50.77, 332.56, 64.64, 413.42, 44.41],
+  [61, -12, 54, 127, 24, 2, 27, -8, 7]
+]
+const dataC2 = [
+  [305, 8, 120.00, 79, 72, 415, 15, 571, 40],
+  [105, 323, 182, 1769.00, 43.00, -30, 686, -33, 78]
+]
+const dataR1 = [
+  [1, 1, 1, 1, 1, 1, 1, 1, 1],
+  [0, 0, 0, 0, 0, 0, 0, 0, 0]
+]
+const dataR2 = [
+  [1, 1, 1, 1, 1, 1, 1, 1, 1],
+  [19, 62, 70, 3, 347, 23, 50, 2, 566]
+]
+const dataR3 = [
+  [258327, 4015, 1393496, 7404, 1330867, 621047, 20622, 31010, 926504],
+  [19, 62, 70, 3, 347, 23, 50, 2, 566]
+]
+const dataR4 = [
+  [69, 192, 210, 10, 1143, 76, 164, 5, 1865],
+  [19, 62, 70, 3, 347, 23, 50, 2, 566]
+]
+const dataR5 = [
+  [17831.10, 13336.00, 15555.43, 11688.30, 9896.79, 13159.86, 9287.77, 9850.18, 7685.91],
+  [17117.80, 12669.20, 14311.00, 11220.77, 9302.98, 12107.07, 8637.63, 9259.17, 7301.61]
+]
+const dataR6 = [
+  [183, 372, 221, 268, 51, -25, 676, -31, 62],
+  [4.00, 5.00, 5.26, 5.21, 4.98, 5.27, 5.28, 5.26, 5.25]
+]
+const dataR7 = [
+  [100, 100, 100, 100, 100, 100, 100, 100, 100]
+]
+const dataR8 = [
+  [100, 100, 100, 100, 100, 100, 100, 100, 100]
+]

+ 85 - 66
manpower/js/index2.js

@@ -65,7 +65,7 @@ let app = new Vue({
           top: '22%',
           right: '5%',
           left: '8%',
-          bottom: '20%',
+          bottom: '25%',
         },
         legend: {
           data: '',
@@ -90,7 +90,7 @@ let app = new Vue({
           },
           axisLabel: {
             show: true,
-            rotate: 50,
+            rotate: 15,
             textStyle: {
               color: 'rgba(255,255,255,0.6)', //X轴文字颜色
               fontSize: 16,
@@ -202,7 +202,7 @@ let app = new Vue({
                 ]),
               },
             },
-            data: dataL1[1],
+            data: dataL1[0],
           },
         ],
       }
@@ -282,16 +282,17 @@ let app = new Vue({
               },
             },
             data: dataL3[0],
-          }
+          },
         ],
       }
       option.title.text = '各二级企业本部中层管理人数'
       option.legend.data = ['当前本部中层管理人数']
       option.yAxis.push({
-        splitLine: {
+        type: 'value',
+        axisLine: {
           show: false,
         },
-        axisLine: {
+        splitLine: {
           show: false,
         },
       })
@@ -323,7 +324,7 @@ let app = new Vue({
               color: '#B889EA',
               width: 2,
             },
-            data: c1[0],
+            data: dataL4[0],
             markLine: {
               data: [
                 {
@@ -362,12 +363,12 @@ let app = new Vue({
                 ]),
               },
             },
-            data: c1[1],
+            data: dataL4[1],
           },
         ],
       }
       option.title.text = '各二级企业管理人员数'
-      option.legend.data = ['管理人员数占总人数比值', '当前管理人员数']
+      option.legend.data = ['当前管理人员数', '管理人员数占总人数比值']
       option.legend.show = true
       option.yAxis.push({
         type: 'value',
@@ -441,12 +442,13 @@ let app = new Vue({
       option.legend.data = ['各二级企业总人数', '去年同期人数变化率']
       option.legend.show = true
       option.yAxis.push({
-        splitLine: {
-          show: false,
-        },
+        type: 'value',
         axisLine: {
           show: false,
         },
+        splitLine: {
+          show: false,
+        }
       })
       myChart.setOption(option)
     },
@@ -497,8 +499,8 @@ let app = new Vue({
         ..._.cloneDeep(this.commonOption),
         series: [
           {
-            name: '2022年利润(万)',
-            type: 'bar',
+            name: '人数变化',
+            type: 'line',
             barWidth: 15,
             itemStyle: {
               normal: {
@@ -509,21 +511,21 @@ let app = new Vue({
                   },
                   {
                     offset: 1,
-                    color: '#082550',
+                    color: '#43ede3',
                   },
                 ]),
               },
             },
-            markLine: {
-              data: [{ type: 'average', name: 'Avg' }],
-            },
+            // markLine: {
+            //   data: [{ type: 'average', name: 'Avg' }],
+            // },
             data: dataL7[0],
           },
           {
-            name: '2022年累计招聘数',
+            name: '全员劳动生产率',
             type: 'line',
             barWidth: 15,
-            yAxisIndex: 1, //使用的 y 轴的 index,在单个图表实例中存在多个 y轴的时候有用
+            yAxisIndex: 1,
             itemStyle: {
               normal: {
                 color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
@@ -533,7 +535,7 @@ let app = new Vue({
                   },
                   {
                     offset: 1,
-                    color: '#082550',
+                    color: '#b889ea',
                   },
                 ]),
               },
@@ -542,16 +544,24 @@ let app = new Vue({
           },
         ],
       }
-      option.title.text = '各二级企业年利润与招聘情况分析'
-      option.legend.data = ['2022年利润(万)', '2022年累计招聘数']
+      option.title.text = '人数变化和全员劳动生产率变化率分析'
+      option.legend.data = ['人数变化', '全员劳动生产率']
       option.legend.show = true
       option.yAxis.push({
-        splitLine: {
+        type: 'value',
+        axisLine: {
           show: false,
         },
-        axisLine: {
+        splitLine: {
           show: false,
         },
+        axisLabel: {
+          show: true,
+          formatter: '{value} %',
+          textStyle: {
+            color: 'rgba(250,250,250,0.6)',
+          },
+        },
       })
       myChart.setOption(option)
     },
@@ -561,39 +571,43 @@ let app = new Vue({
         ..._.cloneDeep(this.commonOption),
         series: [
           {
-            name: '2022年退出人数',
-            type: 'bar',
+            name: '人数变化',
+            type: 'line',
             barWidth: 15,
             itemStyle: {
               normal: {
                 color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
                   {
                     offset: 0,
-                    color: '#5e7ae9',
+                    color: '#43ede3',
                   },
                   {
                     offset: 1,
-                    color: '#082550',
+                    color: '#43ede3',
                   },
                 ]),
               },
             },
+            // markLine: {
+            //   data: [{ type: 'average', name: 'Avg' }],
+            // },
             data: dataL8[0],
           },
           {
-            name: '2022年累计招聘人数',
-            type: 'bar',
+            name: '人工成本利润率',
+            type: 'line',
             barWidth: 15,
+            yAxisIndex: 1,
             itemStyle: {
               normal: {
                 color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
                   {
                     offset: 0,
-                    color: '#43ede3',
+                    color: '#b889ea',
                   },
                   {
                     offset: 1,
-                    color: '#082550',
+                    color: '#b889ea',
                   },
                 ]),
               },
@@ -602,16 +616,24 @@ let app = new Vue({
           },
         ],
       }
-      option.title.text = '各二级企业退二进一完成情况'
-      option.legend.data = ['2022年退出人数', '2022年累计招聘人数']
+      option.title.text = '人数变化和人工利润率变化分析'
+      option.legend.data = ['人数变化', '人工成本利润率']
       option.legend.show = true
       option.yAxis.push({
-        splitLine: {
+        type: 'value',
+        axisLine: {
           show: false,
         },
-        axisLine: {
+        splitLine: {
           show: false,
         },
+        axisLabel: {
+          show: true,
+          formatter: '{value} %',
+          textStyle: {
+            color: 'rgba(250,250,250,0.6)',
+          },
+        },
       })
       myChart.setOption(option)
     },
@@ -644,7 +666,7 @@ let app = new Vue({
               width: 2,
             },
             // data: [60, 50, 80, 80, 90, 55, 40, 60, 50, 80, 90, 55, 40, 60, 50, 90, 55, 40],
-            data: c1[0],
+            data: dataC1[0],
             markLine: {
               data: [
                 {
@@ -676,7 +698,6 @@ let app = new Vue({
                 distance: [20, 8],
               },
             },
-
           },
           {
             name: '全员劳动生产率同比',
@@ -697,7 +718,7 @@ let app = new Vue({
               },
             },
             // data: [50, 40, 60, 20, 45, 30, 60, 100, 45, 40, 50, 20, 60, 80, 45, 70, 50, 40],
-            data: c1[1],
+            data: dataC1[1],
           },
         ],
       }
@@ -749,7 +770,7 @@ let app = new Vue({
               width: 2,
             },
             // data: [60, 50, 80, 80, 90, 55, 40, 60, 50, 80, 90, 55, 40, 60, 50, 90, 55, 40],
-            data: c2[0],
+            data: dataC2[0],
             markLine: {
               data: [
                 {
@@ -801,7 +822,7 @@ let app = new Vue({
               },
             },
             // data: [50, 40, 60, 20, 45, 30, 60, 100, 45, 40, 50, 20, 60, 80, 45, 70, 50, 40],
-            data: c2[1]
+            data: dataC2[1]
           },
         ],
       }
@@ -930,7 +951,6 @@ let app = new Vue({
             },
             data: dataR2[1],
           },
-
         ],
       }
       option.title.text = '各二级企业录用结果公示人次'
@@ -954,7 +974,7 @@ let app = new Vue({
         ..._.cloneDeep(commonOptions),
         series: [
           {
-            name: '在岗职工平均薪酬',
+            name: '2022年利润(万)',
             type: 'bar',
             barWidth: 15,
             itemStyle: {
@@ -974,7 +994,7 @@ let app = new Vue({
             data: dataR3[0],
           },
           {
-            name: '去年同期在岗职工平均薪酬',
+            name: '2022年累计招聘数',
             type: 'bar',
             barWidth: 15,
             itemStyle: {
@@ -995,8 +1015,8 @@ let app = new Vue({
           },
         ],
       }
-      option.title.text = '各二级企业在岗职工平均薪酬'
-      option.legend.data = ['在岗职工平均薪酬', '去年同期在岗职工平均薪酬']
+      option.title.text = '各二级企业年利润与招聘情况分析'
+      option.legend.data = ['2022年利润(万)', '2022年累计招聘数']
       option.legend.show = true
       option.yAxis.push({
         splitLine: {
@@ -1057,8 +1077,8 @@ let app = new Vue({
           },
         ],
       }
-      option.title.text = '各二级企业月利润与月薪酬变动情况'
-      option.legend.data = ['2022年利润累计涨幅率', '2022年薪酬累计涨幅率']
+      option.title.text = '各二级企业"退二进一"完成情况'
+      option.legend.data = ['2022年退出人数', '2022年累计招聘人数']
       option.legend.show = true
       option.yAxis.push({
         splitLine: {
@@ -1076,7 +1096,7 @@ let app = new Vue({
         ..._.cloneDeep(this.commonOption),
         series: [
           {
-            name: '去年同期在岗职工平均薪酬',
+            name: '在岗职工平均薪酬',
             type: 'bar',
             barWidth: 15,
             itemStyle: {
@@ -1084,7 +1104,7 @@ let app = new Vue({
                 color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
                   {
                     offset: 0,
-                    color: '#6682F5',
+                    color: '#69c0ff',
                   },
                   {
                     offset: 1,
@@ -1093,10 +1113,10 @@ let app = new Vue({
                 ]),
               },
             },
-            data: fjxdataL1[0],
+            data: dataR5[0],
           },
           {
-            name: '在岗职工平均薪酬',
+            name: '去年同期在岗职工平均薪酬',
             type: 'bar',
             barWidth: 15,
             itemStyle: {
@@ -1104,7 +1124,7 @@ let app = new Vue({
                 color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
                   {
                     offset: 0,
-                    color: '#69c0ff',
+                    color: '#6682F5',
                   },
                   {
                     offset: 1,
@@ -1113,12 +1133,12 @@ let app = new Vue({
                 ]),
               },
             },
-            data: fjxdataL1[1],
-          },
+            data: dataR5[1],
+          }
         ],
       }
-      option.title.text = '各省属企业在岗职工平均薪酬'
-      option.legend.data = ['去年同期在岗职工平均薪酬', '在岗职工平均薪酬']
+      option.title.text = '各二级企业在岗职工平均薪酬'
+      option.legend.data = ['在岗职工平均薪酬', '去年同期在岗职工平均薪酬']
       option.legend.show = true
       option.yAxis.push({
         splitLine: {
@@ -1155,9 +1175,8 @@ let app = new Vue({
               color: '#B889EA',
               width: 2,
             },
-            data: fjxdataL2[0],
+            data: dataR6[0],
           },
-
           {
             name: '2022年薪酬累计涨幅率',
             type: 'line',
@@ -1176,11 +1195,11 @@ let app = new Vue({
                 ]),
               },
             },
-            data: fjxdataL2[1],
+            data: dataR6[1],
           },
         ],
       }
-      option.title.text = '各省属企业月利润与月薪酬变动情况'
+      option.title.text = '各二级企业月利润与月薪酬变动情况'
       option.legend.data = ['2022年利润累计涨幅率', '2022年薪酬累计涨幅率']
       option.yAxis.push({
         splitLine: {
@@ -1215,11 +1234,11 @@ let app = new Vue({
                 ]),
               },
             },
-            data: fjxdataL3[0],
+            data: dataR7[0],
           },
         ],
       }
-      option.title.text = '各省属企业全员绩效考核'
+      option.title.text = '各二级企业全员绩效考核'
       // option.legend.data = ['劳动合同签约完成率', '目标值']
       option.yAxis.push({
         splitLine: {
@@ -1254,11 +1273,11 @@ let app = new Vue({
                 ]),
               },
             },
-            data: fjxdataL4[0],
+            data: dataR8[0],
           },
         ],
       }
-      option.title.text = '各省属企业任期制考核'
+      option.title.text = '各二级企业任期制考核'
       option.yAxis.push({
         splitLine: {
           show: false,