From e7b175bc3aca09d9a00ce309f183358b4d5f5918 Mon Sep 17 00:00:00 2001
From: zhuzhuanzhuan
Date: 星期二, 02 四月 2024 16:17:40 +0800
Subject: [PATCH] 1、首页优化各层级看板视图,使色彩更加鲜艳明亮 2、用户管理页面首页权限字段增加无权限选项值,且默认值为无权限进入首页后无法查看任何看板

---
 src/views/dashboard/IndexSignage.vue |  286 +++++++++++++++++++++++++++++++--------------------------
 1 files changed, 155 insertions(+), 131 deletions(-)

diff --git a/src/views/dashboard/IndexSignage.vue b/src/views/dashboard/IndexSignage.vue
index aeb3245..2832ed4 100644
--- a/src/views/dashboard/IndexSignage.vue
+++ b/src/views/dashboard/IndexSignage.vue
@@ -8,20 +8,18 @@
     <!--</div>-->
     <div class="content-container">
       <div style="width: 25%" class="left-col">
-        <dv-border-box-9 style="padding: 30px 20px">
+        <dv-border-box-9 style="padding: 30px 20px 0">
           <!--<div class="first-title">M D C 鍏� 缃� 鎬� 鏁� : 6 0 3 鍙�</div>-->
-          <div id="running_state_chart" style="width:100%;height: 300px;margin-top: 10px"></div>
-          <!--<div class="second-title">璁惧鍒╃敤鐜�</div>-->
-          <!--<dv-capsule-chart :config="efficiencyChartConfig" style="width:100%;height:460px"/>-->
+          <div id="running_state_chart" style="width:100%;height: 300px"></div>
           <div id="efficiency_chart" style="width: 100%;height: 465px"></div>
         </dv-border-box-9>
       </div>
       <div style="width: 42%" class="middle-col">
-        <dv-border-box-9 style="padding: 30px 20px">
+        <dv-border-box-9 style="padding: 30px 20px 0">
           <!--<div class="first-title">璁� 澶� 鍙� 璐� 鎬� 鏁� : 1 0 2 2 鍙�</div>-->
           <div style="display: flex">
-            <div id="tech_condition_chart" style="width:50%;height: 330px;margin-top: 10px"></div>
-            <div id="warranty_malfunction_chart" style="width:50%;height: 330px;margin-top: 10px"></div>
+            <div id="tech_condition_chart" style="width:50%;height: 340px;"></div>
+            <div id="warranty_malfunction_chart" style="width:50%;height: 340px;"></div>
           </div>
           <div class="support-plan-container">
             <!--<div v-for="item in supportPlanList" class="support-plan-item"-->
@@ -32,7 +30,7 @@
             <!--<div>鍙�</div>-->
             <!--</div>-->
             <!--</div>-->
-            <div class="support-plan-item" style="background:#719D8E">
+            <div class="support-plan-item" style="background:#5FE0AF">
               <div>鏈湀涓変繚璁″垝</div>
               <div class="plan-value-container">
                 <div class="plan-value">{{thisMonthMaintenancePlanNum}}</div>
@@ -46,7 +44,7 @@
                 <div>鍙�</div>
               </div>
             </div>
-            <div class="support-plan-item" style="background:#A8985D">
+            <div class="support-plan-item" style="background:#D6BC52">
               <div>涓嬫湀涓変繚璁″垝</div>
               <div class="plan-value-container">
                 <div class="plan-value">{{nextMonthMaintenancePlanNum}}</div>
@@ -67,10 +65,10 @@
         </dv-border-box-9>
       </div>
       <div style="width: 32%">
-        <dv-border-box-9>
-          <div id="bar_chart" style="width:100%;height: 290px;"></div>
-          <div id="double_bar_chart" style="width:100%;height: 285px;"></div>
-          <div style="padding: 0 20px;margin-top: 10px">
+        <dv-border-box-9 style="padding: 30px 0 20px">
+          <div id="bar_chart" style="width:100%;height: 280px"></div>
+          <div id="double_bar_chart" style="width:100%;height: 280px;"></div>
+          <div style="padding: 0 20px;">
             <dv-scroll-board :config="problemConfig" style="width:100%;height:220px"/>
           </div>
         </dv-border-box-9>
@@ -81,6 +79,7 @@
 
 <script>
   import signageApi from '@/api/signage'
+  import moment from 'moment'
 
   export default {
     name: 'IndexSignage',
@@ -94,7 +93,7 @@
           { value: '0', name: '杩愯' }
         ],
         efficiencyChart: '',
-        efficiencyData: [],
+        efficiencyData:[],
         techConditionChart: '',
         techConditionData: [
           { value: '0', name: '鍚堟牸' },
@@ -255,22 +254,21 @@
           height: 300,
           title: {
             show: true, // 鏄惁鏄剧ず鏍囬锛岄粯璁や负true
-            text: '璁惧杩愯鐘舵�佺粺璁�', // 涓绘爣棰樻枃鏈�
+            text: '璁惧鐘舵��', // 涓绘爣棰樻枃鏈�
             x: 'center', // 鏍囬姘村钩瀹夋斁浣嶇疆锛屽彲閫夊�间负'left'銆�'center'銆�'right'鎴栧叿浣撶殑姘村钩鍧愭爣鍊�
             y: 'top', // 鏍囬鍨傜洿瀹夋斁浣嶇疆锛屽彲閫夊�间负'top'銆�'bottom'銆�'center'鎴栧叿浣撶殑鍨傜洿鍧愭爣鍊�
             textStyle: {
               // 涓绘爣棰樻枃鏈牱寮�
               fontSize: 18,
               fontWeight: 'normal',
-              color: '#00A8AC'
+              color: '#1AD8DE'
             }
           },
           tooltip: {
             trigger: 'item',
             formatter: function(params) {
-              if (params.name !== '') {
-                return `${params.name}:${params.value}(${params.percent}%)`
-              }
+              return '<span style="font-weight:bolder;">' + params.name + '</span><br/>' +
+                '<span style="display:inline-block; width:10px; height:10px; border-radius:100px; margin-right:5px; background:' + params.color + '"></span>' + `${params.value}锛�${params.percent}%锛塦
             }
           },
           legend: {
@@ -301,10 +299,10 @@
               radius: ['40%', '55%'],
               center: ['50%', '60%'],
               color: [
-                '#686869',
-                '#AA6349',
-                '#968A5E',
-                '#5D975D'
+                '#8B8B8B',
+                '#F56436',
+                '#FFFF40',
+                '#0FC61A'
               ],
               label: {
                 position: 'outside',
@@ -344,44 +342,45 @@
         const data = this.efficiencyData
         const colorArray = [
           {
-            top: '#61927F',
-            bottom: '#61927F'
-          }, {
-            top: '#629480',
-            bottom: '#629480'
+            top: '#79CEAA',
+            bottom: '#79CEAA'
+          },
+          {
+            top: '#F589A2',
+            bottom: '#F589A2'
+          },
+          {
+            top: '#6FBF9D',
+            bottom: '#6FBF9D'
           },
           {
             top: '#66DFE2',
             bottom: '#66DFE2'
           }, {
-            top: '#9FE6B8',
-            bottom: '#9FE6B8'
+            top: '#A7F0C1',
+            bottom: '#A7F0C1'
           },
           {
-            top: '#FEDA5B',
-            bottom: '#FEDA5B'
+            top: '#FAE893',
+            bottom: '#FAE893'
           },
           {
-            top: '#FF9F7F',
-            bottom: '#FF9F7F'
-          },
-          {
-            top: '#F87091',
-            bottom: '#F87091'
+            top: '#F7B7A0',
+            bottom: '#F7B7A0'
           }
         ]
         const defaultData = [100, 100, 100, 100, 100, 100, 100, 100, 100, 100]
         const option = {
           title: {
             show: true, // 鏄惁鏄剧ず鏍囬锛岄粯璁や负true
-            text: '璁惧鍒╃敤鐜�', // 涓绘爣棰樻枃鏈�
+            text: '', // 涓绘爣棰樻枃鏈�
             x: 'left', // 鏍囬姘村钩瀹夋斁浣嶇疆锛屽彲閫夊�间负'left'銆�'center'銆�'right'鎴栧叿浣撶殑姘村钩鍧愭爣鍊�
             y: 'top', // 鏍囬鍨傜洿瀹夋斁浣嶇疆锛屽彲閫夊�间负'top'銆�'bottom'銆�'center'鎴栧叿浣撶殑鍨傜洿鍧愭爣鍊�
             textStyle: {
               // 涓绘爣棰樻枃鏈牱寮�
               fontSize: 18,
               fontWeight: 'normal',
-              color: '#fff'
+              color: '#1AD8DE'
             }
           },
           grid: {
@@ -428,7 +427,7 @@
             axisLabel: {
               show: true,
               textStyle: {
-                color: '#d9e7fa',
+                color: '#fff',
                 fontSize: '14',
                 fontWeight: 'bolder'
               },
@@ -526,6 +525,7 @@
             }
           ]
         }
+        option.title.text = `${moment().format('M鏈圖鏃�')}鍒╃敤鐜嘸
         this.efficiencyChart.setOption(option, true)
 
         this.efficiencyChart.on('click', params => {
@@ -533,8 +533,16 @@
           if (params.componentType === 'series') {
             // 鏌辩姸浣撹烦杞粺璁″垎鏋愰〉闈㈠睍绀哄搴斿眰绾ф暟鎹�
             console.log('seriesParams===========', params)
-            const productionId = this.efficiencyData.find(item => item.productionCode === params.name).productionId
-            const tierName = this.efficiencyData.find(item => item.productionCode === params.name).name
+            let productionId
+            let tierName
+            // 鐐瑰嚮鐨勬槸鏌变綋鐨勫�硷紝鍚﹀垯鐐瑰嚮鐨勪负鏌变綋鑳屾櫙闃村奖
+            if (params.seriesIndex === 0) {
+              productionId = params.data.productionId
+              tierName = params.data.name
+            } else {
+              productionId = this.efficiencyData.find(item => item.productionCode === params.name).productionId
+              tierName = this.efficiencyData.find(item => item.productionCode === params.name).name
+            }
             console.log('productionId', productionId)
             this.$router.push({
               name: 'mdc-base-StatisticsChart',
@@ -561,15 +569,14 @@
               // 涓绘爣棰樻枃鏈牱寮�
               fontSize: 18,
               fontWeight: 'normal',
-              color: '#00A8AC'
+              color: '#1AD8DE'
             }
           },
           tooltip: {
             trigger: 'item',
             formatter: function(params) {
-              if (params.name !== '') {
-                return `${params.name}:${params.value}(${params.percent}%)`
-              }
+              return '<span style="font-weight:bolder;">' + params.name + '</span><br/>' +
+                '<span style="display:inline-block; width:10px; height:10px; border-radius:100px; margin-right:5px; background:' + params.color + '"></span>' + `${params.value}锛�${params.percent}%锛塦
             }
           },
           legend: {
@@ -595,12 +602,12 @@
             {
               type: 'pie',
               // selectedMode: "single",
-              radius: ['33%', '45%'],
+              radius: ['40%', '55%'],
               center: ['45%', '60%'],
               color: [
-                '#0AA012',
-                '#237E48',
-                '#757160'
+                '#0FC61A',
+                '#0DAF15',
+                '#8B8B8B'
               ],
               label: {
                 position: 'outside',
@@ -641,15 +648,14 @@
               // 涓绘爣棰樻枃鏈牱寮�
               fontSize: 18,
               fontWeight: 'normal',
-              color: '#00A8AC'
+              color: '#1AD8DE'
             }
           },
           tooltip: {
             trigger: 'item',
             formatter: function(params) {
-              if (params.name !== '') {
-                return `${params.name}:${params.value}(${params.percent}%)`
-              }
+              return '<span style="font-weight:bolder;">' + params.name + '</span><br/>' +
+                '<span style="display:inline-block; width:10px; height:10px; border-radius:100px; margin-right:5px; background:' + params.color + '"></span>' + `${params.value}锛�${params.percent}%锛塦
             }
           },
           legend: {
@@ -675,12 +681,12 @@
             {
               type: 'pie',
               // selectedMode: "single",
-              radius: ['33%', '45%'],
+              radius: ['40%', '55%'],
               center: ['45%', '60%'],
               color: [
-                '#00CED1',
-                '#B85B38',
-                '#A8985D'
+                '#24F2F5',
+                '#F56436',
+                '#FFFF40'
               ],
               label: {
                 position: 'outside',
@@ -712,7 +718,9 @@
         this.maintenanceConfig = {
           indexHeader: '搴忓彿',
           header: ['杞﹂棿', '鏃ユ湡', '鍐呭'],
-          headerBGC: '#266C86',
+          headerBGC: '#2C8BB2',
+          oddRowBGC: '#244B58',
+          evenRowBGC: '#295562',
           data: this.twoMaintenanceChartData,
           index: true,
           columnWidth: [100],
@@ -724,7 +732,18 @@
       drawBarChart() {
         this.barChart = this.$echarts.init(document.getElementById('bar_chart'))
         const option = {
-          height: 190,
+          title: {
+            show: true, // 鏄惁鏄剧ず鏍囬锛岄粯璁や负true
+            text: 'OEE杞﹂棿', // 涓绘爣棰樻枃鏈�
+            x: 'center', // 鏍囬姘村钩瀹夋斁浣嶇疆锛屽彲閫夊�间负'left'銆�'center'銆�'right'鎴栧叿浣撶殑姘村钩鍧愭爣鍊�
+            y: 'top', // 鏍囬鍨傜洿瀹夋斁浣嶇疆锛屽彲閫夊�间负'top'銆�'bottom'銆�'center'鎴栧叿浣撶殑鍨傜洿鍧愭爣鍊�
+            textStyle: {
+              // 涓绘爣棰樻枃鏈牱寮�
+              fontSize: 18,
+              fontWeight: 'normal',
+              color: '#1AD8DE'
+            }
+          },
           tooltip: {
             trigger: 'axis',
             axisPointer: {
@@ -742,7 +761,7 @@
             left: '10%'
           },
           xAxis: [{
-            name: 'OEE杞﹂棿',
+            name: '',
             nameLocation: 'middle',
             nameGap: 40, // x杞磏ame涓庢í鍧愭爣杞寸嚎鐨勯棿璺�
             type: 'category',
@@ -755,12 +774,13 @@
             axisLabel: {
               show: true, // 鏄惁鏄剧ず鍒诲害鏍囩锛岄粯璁ゆ樉绀�
               interval: 0, // 鍧愭爣杞村埢搴︽爣绛剧殑鏄剧ず闂撮殧锛屽湪绫荤洰杞翠腑鏈夋晥锛涢粯璁や細閲囩敤鏍囩涓嶉噸鍙犵殑绛栫暐闂撮殧鏄剧ず鏍囩锛涘彲浠ヨ缃垚0寮哄埗鏄剧ず鎵�鏈夋爣绛撅紱濡傛灉璁剧疆涓�1锛岃〃绀恒�庨殧涓�涓爣绛炬樉绀轰竴涓爣绛俱�忥紝濡傛灉鍊间负2锛岃〃绀洪殧涓や釜鏍囩鏄剧ず涓�涓爣绛撅紝浠ユ绫绘帹銆�
-              rotate: this.barChartData.length >= 5 ? -30 : 0, // 鍒诲害鏍囩鏃嬭浆鐨勮搴︼紝鍦ㄧ被鐩酱鐨勭被鐩爣绛炬樉绀轰笉涓嬬殑鏃跺�欏彲浠ラ�氳繃鏃嬭浆闃叉鏍囩涔嬮棿閲嶅彔锛涙棆杞殑瑙掑害浠�-90搴﹀埌90搴�
+              rotate: this.barChartData.length >= 6 ? -30 : 0, // 鍒诲害鏍囩鏃嬭浆鐨勮搴︼紝鍦ㄧ被鐩酱鐨勭被鐩爣绛炬樉绀轰笉涓嬬殑鏃跺�欏彲浠ラ�氳繃鏃嬭浆闃叉鏍囩涔嬮棿閲嶅彔锛涙棆杞殑瑙掑害浠�-90搴﹀埌90搴�
               inside: false, // 鍒诲害鏍囩鏄惁鏈濆唴锛岄粯璁ゆ湞澶�
               margin: 6 // 鍒诲害鏍囩涓庤酱绾夸箣闂寸殑璺濈
             },
             axisTick: {
-              show: false
+              show: true,
+              alignWithLabel: true
             }
           }],
           yAxis: [{
@@ -781,6 +801,7 @@
               }
             },
             splitLine: {
+              show: false,
               lineStyle: {
                 color: 'rgba(255,255,255,0.12)'
               }
@@ -789,10 +810,11 @@
           series: [{
             type: 'bar',
             data: this.barChartData,
-            barWidth: '50%',
+            barWidth: '15%',
             itemStyle: {
-              color: '#7DB17F'
+              color: '#55D6A5'
             },
+            showBackground: true,
             label: {
               show: true,
               lineHeight: 10,
@@ -815,8 +837,7 @@
       drawDoubleBarChart() {
         this.doubleBarChart = this.$echarts.init(document.getElementById('double_bar_chart'))
         const option = {
-          height: 220,
-          color: ['#4992FF', '#4DC0B1'],
+          color: ['#409EFF', '#0FC61A'],
           tooltip: {
             confine: true,
             formatter: function(params) {
@@ -840,7 +861,7 @@
             formatter: ['{a|{name}}'].join('\n'),
             textStyle: {
               fontSize: 14,
-              color: '#6A93B9',
+              color: '#fff',
               height: 8,
               rich: {
                 a: {
@@ -860,58 +881,64 @@
             },
             axisLabel: {
               fontSize: 12,
-              color: '#6A93B9'
+              color: '#fff'
             },
             axisTick: {
-              show: false
+              show: true
             }
           },
-          yAxis: [{
-            name: '%',
-            type: 'value',
-            min: 0,
-            minInterval: 1,
-            splitArea: {
-              show: false
-            },
-            axisLine: {
-              show: false
-            },
-            axisTick: {
-              show: false
-            },
-            splitLine: {
-              lineStyle: {
-                color: 'rgba(255, 255, 255, 0.15)'
-                // type: 'dashed', // dotted 铏氱嚎
+          yAxis: [
+            {
+              name: '%',
+              nameTextStyle: {
+                color: '#fff'
+              },
+              type: 'value',
+              min: 0,
+              minInterval: 1,
+              splitArea: {
+                show: false
+              },
+              axisLine: {
+                show: true
+              },
+              axisTick: {
+                show: true
+              },
+              splitLine: {
+                show: false,
+                lineStyle: {
+                  color: 'rgba(255, 255, 255, 0.15)'
+                  // type: 'dashed', // dotted 铏氱嚎
+                }
+              },
+              axisLabel: {
+                fontSize: 12,
+                color: '#fff',
+                fontFamily: 'Bebas'
               }
             },
-            axisLabel: {
-              fontSize: 12,
-              color: '#6A93B9',
-              fontFamily: 'Bebas'
-            }
-          }, {
-            type: 'value',
-            axisLine: {
-              show: false
-            },
-            axisTick: {
-              show: false
-            },
-            splitLine: {
-              show: false
-            },
-            axisLabel: {
-              fontSize: 12,
-              formatter: '{value}%', // 鍙充晶Y杞存枃瀛楁樉绀�
-              fontFamily: 'Bebas',
-              color: '#6A93B9'
-            },
-            splitArea: {
-              show: false
-            }
-          }],
+            {
+              type: 'value',
+              axisLine: {
+                show: true
+              },
+              axisTick: {
+                show: false
+              },
+              splitLine: {
+                show: false
+              },
+              axisLabel: {
+                fontSize: 12,
+                formatter: '{value}%', // 鍙充晶Y杞存枃瀛楁樉绀�
+                fontFamily: 'Bebas',
+                color: '#fff'
+              },
+              splitArea: {
+                show: false
+              }
+            }],
           series: [{
             type: 'bar',
             barWidth: 15,
@@ -961,23 +988,20 @@
         this.problemConfig = {
           indexHeader: '搴忓彿',
           header: ['鏃堕棿', '闂鍐呭'],
-          headerBGC: '#83B883',
-          oddRowBGC: '#556955',
-          evenRowBGC: '#556955',
-          // data: [
-          //   ['2024骞�3鏈�23鍙�', '澶у娉ㄦ剰瀹夊叏闂'],
-          //   ['2024骞�3鏈�23鍙�', '澶у娉ㄦ剰瀹夊叏闂'],
-          //   ['2024骞�3鏈�23鍙�', '澶у娉ㄦ剰瀹夊叏闂'],
-          //   ['2024骞�3鏈�23鍙�', '澶у娉ㄦ剰瀹夊叏闂'],
-          //   ['2024骞�3鏈�23鍙�', '澶у娉ㄦ剰瀹夊叏闂'],
-          //   ['2024骞�3鏈�23鍙�', '澶у娉ㄦ剰瀹夊叏闂'],
-          //   ['2024骞�3鏈�23鍙�', '澶у娉ㄦ剰瀹夊叏闂'],
-          //   ['2024骞�3鏈�23鍙�', '澶у娉ㄦ剰瀹夊叏闂'],
-          //   ['2024骞�3鏈�23鍙�', '澶у娉ㄦ剰瀹夊叏闂'],
-          //   ['2024骞�3鏈�23鍙�', '澶у娉ㄦ剰瀹夊叏闂']
-          // ],
+          headerBGC: '#86D186',
+          oddRowBGC: '#7CBF7C',
+          evenRowBGC: '#7CBF7C',
           data: [
-            // ['-', '-']
+            // ['2024骞�3鏈�23鍙�', '澶у娉ㄦ剰瀹夊叏闂'],
+            // ['2024骞�3鏈�23鍙�', '澶у娉ㄦ剰瀹夊叏闂'],
+            // ['2024骞�3鏈�23鍙�', '澶у娉ㄦ剰瀹夊叏闂'],
+            // ['2024骞�3鏈�23鍙�', '澶у娉ㄦ剰瀹夊叏闂'],
+            // ['2024骞�3鏈�23鍙�', '澶у娉ㄦ剰瀹夊叏闂'],
+            // ['2024骞�3鏈�23鍙�', '澶у娉ㄦ剰瀹夊叏闂'],
+            // ['2024骞�3鏈�23鍙�', '澶у娉ㄦ剰瀹夊叏闂'],
+            // ['2024骞�3鏈�23鍙�', '澶у娉ㄦ剰瀹夊叏闂'],
+            // ['2024骞�3鏈�23鍙�', '澶у娉ㄦ剰瀹夊叏闂'],
+            // ['2024骞�3鏈�23鍙�', '澶у娉ㄦ剰瀹夊叏闂']
           ],
           index: true,
           columnWidth: [100, 300, 300],

--
Gitblit v1.9.3