coys 1 рік тому
батько
коміт
72d4935481

+ 7 - 7
src/views/menu/cockpit/components/overviewCom.vue

@@ -37,7 +37,7 @@
         <div class="moduleItem">
           <div>
             <div class="numCls wj-title-blue">{{ allData.ga38['GA382021'].currentCompletedCount }}</div>
-            <div class="fontCls">当季完成数</div>
+            <div class="fontCls">当月新增数</div>
           </div>
           <div>
             <div class="numCls wj-title-blue tal">
@@ -45,7 +45,7 @@
               <van-icon v-else name="play" class="wj-title-green rate" />
               <span>{{ Math.abs(parseInt(allData.ga38['GA382021'].compare * 100)) }}%</span>
             </div>
-            <div class="fontCls">较上</div>
+            <div class="fontCls">较上月增长率</div>
           </div>
         </div>
       </div>
@@ -58,7 +58,7 @@
         <div class="moduleItem">
           <div>
             <div class="numCls wj-title-blue">{{ allData.ga38['GA382015'].currentCompletedCount }}</div>
-            <div class="fontCls">当季完成数</div>
+            <div class="fontCls">当月新增数</div>
           </div>
           <div>
             <div class="numCls wj-title-blue tal">
@@ -67,7 +67,7 @@
 
               <span>{{ Math.abs(parseInt(allData.ga38['GA382015'].compare * 100)) }}%</span>
             </div>
-            <div class="fontCls">较上</div>
+            <div class="fontCls">较上月增长率</div>
           </div>
         </div>
       </div>
@@ -88,7 +88,7 @@
             <div class="numCls wj-title-blue">
               {{ allData.taskInfo[Object.keys(allData.taskInfo)[index]].currentCompletedCount }}
             </div>
-            <div class="fontCls">当完成数</div>
+            <div class="fontCls">当完成数</div>
           </div>
           <div>
             <div class="numCls wj-title-blue tal">
@@ -97,7 +97,7 @@
                 >{{ Math.abs(parseInt(allData.taskInfo[Object.keys(allData.taskInfo)[index]].compare * 100)) }}%</span
               >
             </div>
-            <div class="fontCls">较上季</div>
+            <div class="fontCls">完成率(较上月)</div>
           </div>
         </div>
       </div>
@@ -278,7 +278,7 @@ export default {
       text-align: right;
     }
     > div {
-      width: 40%;
+      width: 42%;
     }
     .fontCls {
       font-size: 20px;

+ 12 - 13
src/views/menu/cockpit/index.vue

@@ -76,12 +76,10 @@
               </van-col>
             </van-row>
             <van-row>
-              <van-col :span="11">
-                <chartsCom ref="chartsff" :chartsWidth="'180px'" :id="'lhszz'" :option="LHSdata"></chartsCom>
-              </van-col>
-              <van-col :span="11">
-                <chartsCom ref="chartsff" :chartsWidth="'180px'" :id="'zhszz'" :option="ZHSdata"></chartsCom>
+              <van-col :span="24">
+                <chartsCom ref="chartsff"  :id="'lhszz'" :option="ZHSdata"></chartsCom>
               </van-col>
+              
             </van-row>
           </div>
         </van-tab>
@@ -182,7 +180,7 @@ export default {
       dotPieData: dotData('网点业务库总览'),
       // 保安情况
       securityPieData: securityPrecautions(''),
-      LHSdata: ZHSData('离行式自助银行'),
+    
       ZHSdata: ZHSData('在行式自助银行'),
       //履职情况
       resumptionData: resumption()
@@ -271,20 +269,21 @@ export default {
 
       this.securityPieData = securityPrecautions(baList)
       this.ZHSdata = ZHSData('在行式自助银行', [
-        { value: onlineATMPropertyRight['穿墙式设备'], name: '穿墙式设备' },
-        { value: onlineATMPropertyRight['大堂式设备'], name: '大堂式设备' }
-      ])
-      this.LHSdata = LHSData('离行式自助银行', [
-        { value: offlineATMPropertyRight['穿墙式设备'], name: '穿墙式设备' },
-        { value: offlineATMPropertyRight['大堂式设备'], name: '大堂式设备' }
+        { value: onlineATMPropertyRight['穿墙式设备'], name: '在行式自助银行穿墙式设备' },
+        { value: onlineATMPropertyRight['大堂式设备'], name: '在行式自助银行大堂式设备' },
+        { value: offlineATMPropertyRight['穿墙式设备'], name: '离行式自助银行穿墙式设备' },
+        { value: offlineATMPropertyRight['大堂式设备'], name: '离行式自助银行大堂式设备' }
       ])
+      
       let list = []
       Object.keys(businessStoreInfo).map(item => {
         // if (businessStoreInfo[item]) {
         list.push({ value: businessStoreInfo[item], name: item })
         // }
       })
-      this.dotPieData = dotData('网点业务库总览', list)
+      let num=list.map(item=>item.value).reduce((a,b)=>a+b)
+      
+      this.dotPieData = dotData('网点业务库总览', list,num)
     },
     //履职情况
     resumptionInit() {

+ 73 - 157
src/views/menu/cockpit/indexEcharts.js

@@ -139,9 +139,9 @@ let ddsecurity = () => {
       type: 'value',
       axisLine: {
         lineStyle: {
-            color: "#51688a"
+          color: '#51688a'
         }
-    },
+      }
     },
     yAxis: {
       type: 'category',
@@ -165,7 +165,7 @@ let ddsecurity = () => {
         name: '离行式自助银行',
         type: 'bar',
         stack: 'total',
-        
+
         color: '#92cd76',
         label: {
           show: true
@@ -194,7 +194,7 @@ let ddsecurity = () => {
 }
 
 let securityPrecautions = (data = []) => {
-  var colors = ['#ee6666','#5370c7' ]
+  var colors = ['#ee6666', '#5370c7']
   let option = {
     title: {
       text: '',
@@ -204,6 +204,7 @@ let securityPrecautions = (data = []) => {
     tooltip: {
       trigger: 'item'
     },
+
     legend: {
       orient: 'vertical',
       top: 'center',
@@ -227,14 +228,13 @@ let securityPrecautions = (data = []) => {
     series: [
       {
         center: ['30%', '50%'],
-        
+
         type: 'pie',
         radius: '70%',
         data: data,
 
         itemStyle: {
           normal: {
-          
             shadowBlur: 1,
             color: function (param) {
               // console.log(param.dataIndex)
@@ -258,13 +258,11 @@ let securityPrecautions = (data = []) => {
         emphasis: {
           itemStyle: {
             shadowBlur: 10,
-            shadowOffsetX: 0,
-           
+            shadowOffsetX: 0
           }
         }
       }
-    ],
-    
+    ]
   }
   return option
 }
@@ -281,105 +279,70 @@ let securityPrecautions = (data = []) => {
 let dotData = (
   title = '',
 
-  data = []
+  data = [],
+  num = 0
 ) => {
   var colors = ['#146de0', '#27ef5e', '#ffc140', '#d151d8', 'red']
   let option = {
     xAxis: {
-        type: 'category',
-        data: ['一类库', '二类库', '三类库', '四类库',],
-    },
-   
-    yAxis: {
-        type: 'value',
+      type: 'category',
+      data: ['一类库', '二类库', '三类库', '四类库']
     },
-    series: [
-      
-        {
-            data: data,
-            type: 'bar',
-            barWidth: 40,
-            color: '#5370c7',
-            backgroundStyle: {
-              color: 'rgba(220, 220, 220, 0.8)',
-          },
-        },
-    ],
-};
-  return option
-}
-
 
-//离行式自助银行
-let LHSData = (
-  title = '',
-
-  data = [
-    // { value: 666, name: '已配备' },
-    // { value: 193, name: '未配备' }
-  ]
-) => {
-  let color = ['#146de0', '#27ef5e', '#ffc140', '#d151d8', 'red']
-  const handleData = {}
-  let sum = 0
-  // 求和
-  data.map(item => {
-    sum += item.value
-  })
-  // 数据处理
-  data.map(item => {
-    handleData[item.name] = item
-    handleData[item.name].percentage = ((item.value / sum) * 100).toFixed(1) + '%'
-  })
-
-  let option = {
-    title: {
-      text: title,
-      left: 'center',
-      bottom: '0%'
+    yAxis: {
+      type: 'value'
     },
-
     series: [
       {
-        type: 'pie',
-        color: ['#4D88FE', '#50CCCB', '#FFBF3C'],
-        radius: '130%',
-        left: 'center',
-        label: {
-          normal: {
-            position: 'inside', // 在内部显示,outseide 是在外部显示
-            show: true,
-            formatter: '{c}'
-          }
-        },
         data: data,
-        emphasis: {
-          itemStyle: {
-            shadowBlur: 10,
-            shadowOffsetX: 0,
-            shadowColor: 'rgba(0, 0, 0, 0.5)'
-          }
-        },
-        labelLine: {
-          normal: {
-            show: false
+        type: 'bar',
+        label: {
+          position: 'top', // 顶部显示
+          formatter: function (params) {
+            // dataIndex是当前柱状图的索引
+            let num = (dataList1[params.dataIndex] + dataList2[params.dataIndex]) / dataList2[params.dataIndex]
+            num = Math.round(num * 100) / 100 // 保留两位小数,不四舍五入
+            return num + '%'
           }
         },
-        itemStyle: {
-          normal: {
-            shadowColor: 'rgba(0, 0, 0, 0.8)',
-            shadowBlur: 5,
-            borderColor: '#fff'
-          }
+
+        barWidth: 40,
+        color: '#5370c7',
+        backgroundStyle: {
+          color: 'rgba(220, 220, 220, 0.8)'
         }
-        // itemStyle: {
-        //   borderColor: '#fff'
-        // }
       }
     ]
   }
   return option
 }
+var get = function (e) {
+  var newStr = ' '
+  var start, end
+  var name_len = e.name.length //每个内容名称的长度
+  var max_name = 5 //每行最多显示的字数
+  var new_row = Math.ceil(name_len / max_name) // 最多能显示几行,向上取整比如2.1就是3行
+  if (name_len > max_name) {
+    //如果长度大于每行最多显示的字数
+    for (var i = 0; i < new_row; i++) {
+      //循环次数就是行数
+      var old = '' //每次截取的字符
+      start = i * max_name //截取的起点
+      end = start + max_name //截取的终点
+      if (i == new_row - 1) {
+        //最后一行就不换行了
+        old = e.name.substring(start)
+      } else {
+        old = e.name.substring(start, end) + '\n'
+      }
+      newStr += old //拼接字符串
+    }
+  } else {
+    //如果小于每行最多显示的字数就返回原来的字符串
+    newStr = e.name
+  }
+  return newStr + `(${e.value})`
+}
 //在行式自助银行
 let ZHSData = (
   title = '在行式自助银行',
@@ -388,88 +351,41 @@ let ZHSData = (
     // { value: 193, name: '大堂式设备' }
   ]
 ) => {
-  let color = ['#146de0', '#27ef5e', '#ffc140', '#d151d8', 'red']
-  const handleData = {}
-  let sum = 0
-  // 求和
-  data.map(item => {
-    sum += item.value
-  })
-  // 数据处理
-  data.map(item => {
-    handleData[item.name] = item
-    handleData[item.name].percentage = ((item.value / sum) * 100).toFixed(1) + '%'
-  })
-
   let option = {
-    title: {
-      text: title,
-      left: 'center',
-      bottom: '0%'
-    },
-    legend: {
-      show: true,
-      icon: 'circle',
-
-      itemWidth: 10,
-      itemStyle: {
-        borderColor: 'none'
-      },
-      textStyle: {
-        rich: {
-          name: {
-            color: '#606266',
-            fontSize: 14
-          },
-          percentage: {
-            color: '#606266',
-            fontSize: 16,
-            padding: [0, 0, 0, 30],
-            align: 'right'
-          }
-        }
-      }
-    },
-
     series: [
       {
+        color: ['#5470c6', '#91cc75', '#ee6666', '#73c0de'],
+        name: '',
         type: 'pie',
-        color: ['#4D88FE', '#50CCCB', '#FFBF3C'],
-        radius: '130%',
-        left: 'center',
+        radius: '50%',
+        center: ['50%', '50%'],
+        data: data,
         label: {
           normal: {
-            position: 'inside', // 在内部显示,outseide 是在外部显示
-            show: true,
-            formatter: '{c}'
-          }
+            formatter: get,
+            rich: {
+              b: {
+                width: 20,
+                fontSize: 12
+              }
+            },
+            textStyle: {
+              color: '#656565' // 改变标示文字的颜色
+            }
+          },
+          
         },
-        data: data,
         emphasis: {
           itemStyle: {
             shadowBlur: 10,
             shadowOffsetX: 0,
             shadowColor: 'rgba(0, 0, 0, 0.5)'
           }
-        },
-        labelLine: {
-          normal: {
-            show: false
-          }
-        },
-        itemStyle: {
-          normal: {
-            shadowColor: 'rgba(0, 0, 0, 0.8)',
-            shadowBlur: 5,
-            borderColor: '#fff'
-          }
         }
-        // itemStyle: {
-        //   borderColor: '#fff'
-        // }
       }
     ]
   }
+
   return option
 }
 //日常履职完成率
@@ -605,4 +521,4 @@ let resumption = (data, type = 0) => {
   return option
 }
 
-export { securityPrecautions, resumption, dotData, ZHSData, LHSData, aqsecurity, ddsecurity }
+export { securityPrecautions, resumption, dotData, ZHSData, aqsecurity, ddsecurity }