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/EquipmentSignage.vue | 97 ++++-- src/views/dashboard/BranchFactorySignage.vue | 253 ++++++++++------- src/views/dashboard/IndexSignage.vue | 286 +++++++++++--------- src/components/page/GlobalFooter.vue | 2 src/views/system/modules/UserModal.vue | 5 src/components/page/GlobalLayout.vue | 2 src/views/dashboard/WorkshopSectionSignage.vue | 146 ++++++---- 7 files changed, 459 insertions(+), 332 deletions(-) diff --git a/src/components/page/GlobalFooter.vue b/src/components/page/GlobalFooter.vue index 3a448f3..dcdba6c 100644 --- a/src/components/page/GlobalFooter.vue +++ b/src/components/page/GlobalFooter.vue @@ -9,7 +9,7 @@ <!--<a href="https://vuecomponent.github.io/ant-design-vue/docs/vue/introduce-cn/">Vue Antd</a>--> <!--</div>--> <div class="copyright" - :style="{background:$route.meta.title==='棣栭〉'?'#0F103A':'',color:$route.meta.title==='棣栭〉'?'#fff':''}"> + :style="{background:$route.meta.title==='棣栭〉'?'#151548':'',color:$route.meta.title==='棣栭〉'?'#fff':''}"> Copyright <a-icon type="copyright"/> 2024 <span>2015-2025 鐏电鏅鸿兘</span> diff --git a/src/components/page/GlobalLayout.vue b/src/components/page/GlobalLayout.vue index 587f63d..f4cc4cc 100644 --- a/src/components/page/GlobalLayout.vue +++ b/src/components/page/GlobalLayout.vue @@ -70,7 +70,7 @@ <!-- layout content --> <a-layout-content - :style="{ height: '100%', paddingTop: fixedHeader ? '59px' : '0' ,background: $route.meta.title=='棣栭〉'?'#0F103A':''}"> + :style="{ height: '100%', paddingTop: fixedHeader ? '59px' : '0' ,background: $route.meta.title=='棣栭〉'?'#151548':''}"> <slot></slot> </a-layout-content> diff --git a/src/views/dashboard/BranchFactorySignage.vue b/src/views/dashboard/BranchFactorySignage.vue index 997f634..066d3f9 100644 --- a/src/views/dashboard/BranchFactorySignage.vue +++ b/src/views/dashboard/BranchFactorySignage.vue @@ -11,21 +11,21 @@ <div class="back-nav" @click="$emit('backToLastSignage','Index')" v-if="userType===4"> <dv-decoration-7>涓婁竴绾�</dv-decoration-7> </div> - <dv-border-box-9 style="padding: 40px 20px 0"> + <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: 400px;"></div> <div id="efficiency_chart" style="width: 100%;height: 350px"></div> </dv-border-box-9> </div> <div style="width: 42%" class="middle-col"> - <dv-border-box-9 style="padding: 40px 20px 0"> + <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: 420px;"></div> <div id="warranty_malfunction_chart" style="width:50%;height: 420px;"></div> </div> <div class="support-plan-container"> - <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> @@ -39,7 +39,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> @@ -60,9 +60,9 @@ </dv-border-box-9> </div> <div style="width: 32%"> - <dv-border-box-9 style="padding: 30px 0"> - <div id="bar_chart" style="width:100%;height: 250px;"></div> - <div id="double_bar_chart" style="width:100%;height: 300px;"></div> + <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> @@ -74,6 +74,7 @@ <script> import signageApi from '@/api/signage' + import moment from 'moment' export default { name: 'BranchFactorySignage', @@ -255,22 +256,21 @@ const option = { 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 +301,10 @@ radius: ['40%', '60%'], center: ['53%', '50%'], color: [ - '#686869', - '#AA6349', - '#968A5E', - '#5D975D' + '#8B8B8B', + '#F56436', + '#FFFF40', + '#0FC61A' ], label: { position: 'outside', @@ -345,44 +345,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: { @@ -429,7 +430,7 @@ axisLabel: { show: true, textStyle: { - color: '#d9e7fa', + color: '#fff', fontSize: '14', fontWeight: 'bolder' }, @@ -527,14 +528,23 @@ } ] } + option.title.text = `${moment().format('M鏈圖鏃�')}鍒╃敤鐜嘸 this.efficiencyChart.setOption(option, true) this.efficiencyChart.on('click', params => { // 鐐瑰嚮瑙﹀彂鐨勪负鏌辩姸浣擄紝闄ゆ闄ゅ鏄爣棰� 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 + } this.$router.push({ name: 'mdc-base-StatisticsChart', params: { isEquipment: false, productionId, tierName } @@ -560,15 +570,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: { @@ -597,9 +606,9 @@ radius: ['40%', '60%'], center: ['50%', '60%'], color: [ - '#0AA012', - '#237E48', - '#757160' + '#0FC61A', + '#0DAF15', + '#8B8B8B' ], label: { position: 'outside', @@ -640,15 +649,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: { @@ -677,9 +685,9 @@ radius: ['40%', '60%'], center: ['50%', '60%'], color: [ - '#00CED1', - '#B85B38', - '#A8985D' + '#24F2F5', + '#F56436', + '#FFFF40' ], label: { position: 'outside', @@ -711,7 +719,9 @@ this.maintenanceConfig = { indexHeader: '搴忓彿', header: ['杞﹂棿', '鏃ユ湡', '鍐呭'], - headerBGC: '#266C86', + headerBGC: '#2C8BB2', + oddRowBGC: '#244B58', + evenRowBGC: '#295562', rowNum: 1, data: this.twoMaintenanceChartData, index: true, @@ -724,6 +734,18 @@ drawBarChart() { this.barChart = this.$echarts.init(document.getElementById('bar_chart')) const option = { + 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: { @@ -741,7 +763,7 @@ left: '10%' }, xAxis: [{ - name: 'OEE杞﹂棿', + name: '', nameLocation: 'middle', nameGap: 40, // x杞磏ame涓庢í鍧愭爣杞寸嚎鐨勯棿璺� type: 'category', @@ -759,7 +781,8 @@ margin: 6 // 鍒诲害鏍囩涓庤酱绾夸箣闂寸殑璺濈 }, axisTick: { - show: false + show: true, + alignWithLabel: true } }], yAxis: [{ @@ -780,6 +803,7 @@ } }, splitLine: { + show: false, lineStyle: { color: 'rgba(255,255,255,0.12)' } @@ -790,8 +814,9 @@ data: this.barChartData, barWidth: '15%', itemStyle: { - color: '#7DB17F' + color: '#55D6A5' }, + showBackground: true, label: { show: true, lineHeight: 10, @@ -814,7 +839,7 @@ drawDoubleBarChart() { this.doubleBarChart = this.$echarts.init(document.getElementById('double_bar_chart')) const option = { - color: ['#4992FF', '#4DC0B1'], + color: ['#409EFF', '#0FC61A'], tooltip: { confine: true, formatter: function(params) { @@ -838,7 +863,7 @@ formatter: ['{a|{name}}'].join('\n'), textStyle: { fontSize: 14, - color: '#6A93B9', + color: '#fff', height: 8, rich: { a: { @@ -858,58 +883,61 @@ }, 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, + 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: '#6A93B9' + }, + splitArea: { + show: false + } + }], series: [{ type: 'bar', barWidth: 15, @@ -959,10 +987,21 @@ this.problemConfig = { indexHeader: '搴忓彿', header: ['鏃堕棿', '闂鍐呭'], - headerBGC: '#83B883', - oddRowBGC: '#556955', - evenRowBGC: '#556955', - data: [], + 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], align: ['center'] @@ -1011,7 +1050,7 @@ .back-nav { width: 100px; height: 30px; - color: #eee; + color: #fff; position: absolute; top: 25px; left: 25px; diff --git a/src/views/dashboard/EquipmentSignage.vue b/src/views/dashboard/EquipmentSignage.vue index 615b2f6..0938c54 100644 --- a/src/views/dashboard/EquipmentSignage.vue +++ b/src/views/dashboard/EquipmentSignage.vue @@ -119,10 +119,10 @@ </div> <div style="display: flex;justify-content: space-evenly;font-size: 20px;padding: 0 50px"> - <dv-decoration-11 style="width: 200px;height: 70px;margin: 0 10px">澶囦欢淇℃伅</dv-decoration-11> - <dv-decoration-11 style="width: 200px;height: 70px;margin: 0 10px">淇濆吇璁″垝</dv-decoration-11> - <dv-decoration-11 style="width: 200px;height: 70px;margin: 0 10px">鎶ヤ慨</dv-decoration-11> - <dv-decoration-11 style="width: 200px;height: 70px;margin: 0 10px">璁惧鐝</dv-decoration-11> + <div v-for="(item,index) in buttonList" :key="index" @click="click(item)" + style="width: 200px;height: 70px;margin: 0 10px;cursor: pointer"> + <dv-decoration-11>{{item.label}}</dv-decoration-11> + </div> </div> </div> </dv-border-box-12> @@ -189,6 +189,7 @@ }, data() { return { + equipmentId: '2140223', equipmentList: [ { equipmentId: '2140223', @@ -252,6 +253,20 @@ workshopSection: '407涓�宸ユ', operator: 'admin' }, + buttonList: [ + { + label: '澶囦欢淇℃伅' + }, + { + label: '淇濆吇璁″垝' + }, + { + label: '鎶ヤ慨' + }, + { + label: '璁惧鐝' + } + ], lineChart: '', lineChartData: [], gaugeChart1: '', @@ -261,8 +276,7 @@ gaugeChartData1: [], gaugeChartData2: [], gaugeChartData3: [], - gaugeChartData4: [], - equipmentId: '2140223' + gaugeChartData4: [] } }, created() { @@ -280,6 +294,10 @@ methods: { selectEquipment(record) { this.equipmentId = record.equipmentId + }, + + click(record) { + window.alert(record.label) }, getChartDataByApi() { @@ -304,12 +322,14 @@ // 涓绘爣棰樻枃鏈牱寮� fontSize: 18, fontWeight: 'normal', - color: '#00A8AC', + color: '#1AD8DE', fontWeight: 'bold' } }, tooltip: { - formatter: '{a} <br/>{b} : {c}%' + formatter: params => { + return params.seriesName + '锛�' + params.value + '%' + } }, grid: { left: '1%', @@ -319,7 +339,7 @@ }, series: [ { - name: '鍒╃敤鐜�', + name: '', type: 'gauge', radius: '80%', center: ['50%', '60%'], // 榛樿鍏ㄥ眬灞呬腑 @@ -355,9 +375,9 @@ axisLine: { lineStyle: { // 灞炴�ineStyle鎺у埗绾挎潯鏍峰紡 color: [ //琛ㄧ洏棰滆壊 - [0.3, '#E7781E'],//0-30%澶勭殑棰滆壊 - [0.7, '#C5C039'],//30%-60%澶勭殑棰滆壊 - [1, '#21C77F']//90%-100%澶勭殑棰滆壊 + [0.3, '#F56436'],//0-30%澶勭殑棰滆壊 + [0.7, '#FFFF40'],//30%-60%澶勭殑棰滆壊 + [1, '#0FC61A']//90%-100%澶勭殑棰滆壊 ], width: 15//琛ㄧ洏瀹藉害 } @@ -372,7 +392,7 @@ } } }, - data: [{ value: 100 }] + data: [] } ] } @@ -387,6 +407,8 @@ this.gaugeChart1 = this.$echarts.init(document.getElementById('gauge_chart1')) const option = Object.assign({}, opt) option.title.text = '鍒╃敤鐜�' + option.series[0].name = '鍒╃敤鐜�' + option.series[0].data = [56] this.gaugeChart1.setOption(option, true) }, @@ -395,6 +417,8 @@ this.gaugeChart2 = this.$echarts.init(document.getElementById('gauge_chart2')) const option = Object.assign({}, opt) option.title.text = '寮�鍔ㄧ巼' + option.series[0].name = '寮�鍔ㄧ巼' + option.series[0].data = [23] this.gaugeChart2.setOption(option, true) }, @@ -403,6 +427,8 @@ this.gaugeChart3 = this.$echarts.init(document.getElementById('gauge_chart3')) const option = Object.assign({}, opt) option.title.text = '寮�鏈虹巼' + option.series[0].name = '寮�鏈虹巼' + option.series[0].data = [44] this.gaugeChart3.setOption(option, true) }, @@ -411,6 +437,8 @@ this.gaugeChart4 = this.$echarts.init(document.getElementById('gauge_chart4')) const option = Object.assign({}, opt) option.title.text = 'OEE' + option.series[0].name = 'OEE' + option.series[0].data = [78] this.gaugeChart4.setOption(option, true) }, @@ -433,7 +461,7 @@ value: [90, 70, 40, 70, 80, 60, 73, 60, 70, 90, 40, 65] } ], - yAxisName: '鏁村勾搴﹀埄鐢ㄧ巼' + yAxisName: '鏁村勾搴﹀埄鐢ㄧ巼(%)' } let legendData = [] let seriesData = [] @@ -467,6 +495,17 @@ trigger: 'axis', axisPointer: { type: 'shadow' + }, + formatter: function(params) { + let result = '' + params.forEach((item, index) => { + let dom = `<span style="display:inline-block;width:10px;height:10px;border-radius:100px;margin-right:5px;background:${item.color}"></span>${item.seriesName}锛�${item.value}%` + if (index === 0) { + result = `<span style="font-weight:bolder;">${item.name}</span>` + } + result += '<br />' + dom + }) + return result } }, legend: { @@ -476,7 +515,7 @@ itemGap: 10, textStyle: { fontSize: 14, - color: '#ccc' + color: '#fff' } }, xAxis: { @@ -486,13 +525,13 @@ interval: 0, show: true, fontSize: 12, - color: '#50729A' + color: '#fff' // rotate: -30, }, axisLine: { show: true, lineStyle: { - color: '#50729A' + color: '#fff' } }, axisTick: { @@ -504,9 +543,9 @@ { name: newData.yAxisName, nameTextStyle: { - color: '#00A8AC', + color: '#1AD8DE', fontSize: 18, - padding: [0, 0, 0, 90] + padding: [0, 0, 0, 110] }, nameGap: 25, type: 'value', @@ -514,7 +553,7 @@ axisLine: { show: true, lineStyle: { - color: '#50729A' + color: '#fff' } }, axisTick: { @@ -523,7 +562,7 @@ splitLine: { show: false, lineStyle: { - color: '#3E4A82' + color: '#fff' } } }, @@ -533,12 +572,12 @@ splitNumber: 5, axisLabel: { show: true, - color: '#50729A' + color: '#fff' }, axisLine: { show: true, lineStyle: { - color: '#50729A' + color: '#fff' } }, axisTick: { @@ -547,7 +586,7 @@ splitLine: { show: false, lineStyle: { - color: '#3E4A82' + color: '#fff' } } } @@ -585,7 +624,7 @@ .back-nav { width: 100px; height: 30px; - color: #eee; + color: #fff; position: absolute; top: 15px; left: 15px; @@ -603,7 +642,7 @@ } table { - color: #eee; + color: #fff; width: 100%; border-collapse: collapse; border-spacing: 0; @@ -621,7 +660,7 @@ th { font-weight: bold; - background-color: #10695D; + background-color: #1CB29D; position: sticky; z-index: 9999; top: 0; @@ -644,7 +683,7 @@ } .info-card-container { - background-color: #67C23A; + background-color: #0FC61A; padding: 5px; border-radius: 3px; @@ -688,7 +727,7 @@ } /deep/ .ant-descriptions-item-label, /deep/ .ant-descriptions-item-content { - color: #eee; + color: #fff; font-size: 16px; } 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], diff --git a/src/views/dashboard/WorkshopSectionSignage.vue b/src/views/dashboard/WorkshopSectionSignage.vue index a925756..e010ce2 100644 --- a/src/views/dashboard/WorkshopSectionSignage.vue +++ b/src/views/dashboard/WorkshopSectionSignage.vue @@ -13,7 +13,7 @@ <div style="flex:0.5;display: flex;flex-direction:column;align-items: center"> <dv-decoration-11 style="width:90%;height:60px;color: #ccc;font-size: 20px">涓変繚璁″垝</dv-decoration-11> <div class="support-plan-container"> - <div class="support-plan-item" style="background:#67C23A"> + <div class="support-plan-item" style="background:#5FE0AF"> <div>涓変繚鏈湀璁″垝</div> <div class="plan-value-container"> <div class="plan-value">{{thisMonthMaintenancePlanNum}}</div> @@ -27,7 +27,7 @@ <div>鍙�</div> </div> </div> - <div class="support-plan-item" style="background:#E6A23C"> + <div class="support-plan-item" style="background:#FCAA29"> <div>寤舵湡</div> <div class="plan-value-container"> <div class="plan-value">{{nextMonthMaintenancePlanNum}}</div> @@ -41,7 +41,7 @@ <div>鍙�</div> </div> </div> - <div class="support-plan-item" style="background:#719D8E"> + <div class="support-plan-item" style="background:#D6BC52"> <div>涓嬫湀璁″垝</div> <div class="plan-value-container"> <div class="plan-value">{{nextNextMonthMaintenancePlanNum}}</div> @@ -71,12 +71,12 @@ <div id="line_chart" style="width:100%;height: 400px;"></div> </dv-border-box-9> </div> - <div style="width: 30%"> + + <div style="width: 30%" class="right-col"> <dv-border-box-9 style="padding: 15px"> <a-form layout="inline" @keyup.enter.native="$emit('switchToNextSignage', { signageName: 'Equipment', productionCode: equipmentId })"> <a-form-item label="璁惧缂栧彿"> - <!--<a-input v-model="equipmentId" size="large"></a-input>--> <a-auto-complete v-model="equipmentId" placeholder="鍥炶溅閿煡璇�" @@ -86,10 +86,10 @@ </a-form-item> </a-form> <div style="display: flex;flex-wrap: wrap"> - <div id="gauge_chart1" style="width:50%;height: 200px;"></div> - <div id="gauge_chart2" style="width:50%;height: 200px;"></div> - <div id="gauge_chart3" style="width:50%;height: 200px;"></div> - <div id="gauge_chart4" style="width:50%;height: 200px;"></div> + <div id="gauge_chart1" class="gauge-chart"></div> + <div id="gauge_chart2" class="gauge-chart"></div> + <div id="gauge_chart3" class="gauge-chart"></div> + <div id="gauge_chart4" class="gauge-chart"></div> </div> <div id="bar_chart" style="width:100%;height: 330px;"></div> </dv-border-box-9> @@ -293,15 +293,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: { @@ -330,9 +329,9 @@ radius: ['40%', '60%'], center: ['50%', '50%'], color: [ - '#0AA012', - '#237E48', - '#757160' + '#0FC61A', + '#0DAF15', + '#8B8B8B' ], label: { position: 'outside', @@ -372,15 +371,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: { @@ -409,9 +407,9 @@ radius: ['40%', '60%'], center: ['50%', '50%'], color: [ - '#00CED1', - '#B85B38', - '#A8985D' + '#24F2F5', + '#F56436', + '#FFFF40' ], label: { position: 'outside', @@ -451,15 +449,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: { @@ -489,10 +486,10 @@ radius: ['35%', '55%'], center: ['50%', '50%'], color: [ - '#686869', - '#AA6349', - '#968A5E', - '#5D975D' + '#8B8B8B', + '#F56436', + '#FFFF40', + '#0FC61A' ], label: { position: 'outside', @@ -534,18 +531,18 @@ yAxis: [ { name: '鍒╃敤鐜�', - value: [200, 600, 550, 360, 520, 520, 630, 780, 230, 420, 650, 700] + value: [200, 600, 550, 360, 520, 520, 630] }, { name: '寮�鍔ㄧ巼', - value: [230, 630, 440, 400, 740, 800, 600, 900, 700, 400, 700, 400] + value: [230, 630, 440, 400, 740, 800, 600] }, { name: '寮�鏈虹巼', - value: [900, 700, 400, 700, 800, 605, 730, 600, 700, 900, 400, 605] + value: [900, 700, 400, 700, 800, 605, 730] } ], - yAxisName: '鍓�7澶╁埄鐢ㄧ巼' + yAxisName: '鍓�7澶╁埄鐢ㄧ巼(%)' } let legendData = [] let seriesData = [] @@ -579,6 +576,17 @@ trigger: 'axis', axisPointer: { type: 'shadow' + }, + formatter: function(params) { + let result = '' + params.forEach((item, index) => { + let dom = `<span style="display:inline-block;width:10px;height:10px;border-radius:100px;margin-right:5px;background:${item.color}"></span>${item.seriesName}锛�${item.value}%` + if (index === 0) { + result = `<span style="font-weight:bolder;">${item.name}</span>` + } + result += '<br />' + dom + }) + return result } }, legend: { @@ -588,7 +596,7 @@ itemGap: 10, textStyle: { fontSize: 14, - color: '#ccc' + color: '#fff' } }, xAxis: { @@ -598,13 +606,13 @@ interval: 0, show: true, fontSize: 12, - color: '#50729A' + color: '#fff' // rotate: -30, }, axisLine: { show: true, lineStyle: { - color: '#50729A' + color: '#fff' } }, axisTick: { @@ -616,9 +624,9 @@ { name: newData.yAxisName, nameTextStyle: { - color: '#00A8AC', + color: '#1AD8DE', fontSize: 18, - padding: [0, 0, 0, 80] + padding: [0, 0, 0, 110] }, nameGap: 30, type: 'value', @@ -626,7 +634,7 @@ axisLine: { show: true, lineStyle: { - color: '#50729A' + color: '#fff' } }, axisTick: { @@ -635,7 +643,7 @@ splitLine: { show: false, lineStyle: { - color: '#3E4A82' + color: '#fff' } } }, @@ -645,12 +653,12 @@ splitNumber: 5, axisLabel: { show: true, - color: '#50729A' + color: '#fff' }, axisLine: { show: true, lineStyle: { - color: '#50729A' + color: '#fff' } }, axisTick: { @@ -659,7 +667,7 @@ splitLine: { show: false, lineStyle: { - color: '#3E4A82' + color: '#fff' } } } @@ -695,12 +703,14 @@ // 涓绘爣棰樻枃鏈牱寮� fontSize: 18, fontWeight: 'normal', - color: '#00A8AC', + color: '#1AD8DE', fontWeight: 'bold' } }, tooltip: { - formatter: '{a} <br/>{b} : {c}%' + formatter: params => { + return params.seriesName + '锛�' + params.value + '%' + } }, grid: { left: '1%', @@ -710,7 +720,7 @@ }, series: [ { - name: '鍒╃敤鐜�', + name: '', type: 'gauge', radius: '80%', center: ['50%', '60%'], // 榛樿鍏ㄥ眬灞呬腑 @@ -746,9 +756,9 @@ axisLine: { lineStyle: { // 灞炴�ineStyle鎺у埗绾挎潯鏍峰紡 color: [ //琛ㄧ洏棰滆壊 - [0.3, '#E7781E'],//0-30%澶勭殑棰滆壊 - [0.7, '#C5C039'],//30%-60%澶勭殑棰滆壊 - [1, '#21C77F']//90%-100%澶勭殑棰滆壊 + [0.3, '#F56436'],//0-30%澶勭殑棰滆壊 + [0.7, '#FFFF40'],//30%-60%澶勭殑棰滆壊 + [1, '#0FC61A']//90%-100%澶勭殑棰滆壊 ], width: 15//琛ㄧ洏瀹藉害 } @@ -763,7 +773,7 @@ } } }, - data: [{ value: 100 }] + data: [] } ] } @@ -778,6 +788,8 @@ this.gaugeChart1 = this.$echarts.init(document.getElementById('gauge_chart1')) const option = Object.assign({}, opt) option.title.text = '鍒╃敤鐜�' + option.series[0].name = '鍒╃敤鐜�' + option.series[0].data = [52] this.gaugeChart1.setOption(option, true) }, @@ -786,6 +798,8 @@ this.gaugeChart2 = this.$echarts.init(document.getElementById('gauge_chart2')) const option = Object.assign({}, opt) option.title.text = '寮�鍔ㄧ巼' + option.series[0].name = '寮�鍔ㄧ巼' + option.series[0].data = [21] this.gaugeChart2.setOption(option, true) }, @@ -794,6 +808,8 @@ this.gaugeChart3 = this.$echarts.init(document.getElementById('gauge_chart3')) const option = Object.assign({}, opt) option.title.text = '寮�鏈虹巼' + option.series[0].name = '寮�鏈虹巼' + option.series[0].data = [74] this.gaugeChart3.setOption(option, true) }, @@ -802,6 +818,8 @@ this.gaugeChart4 = this.$echarts.init(document.getElementById('gauge_chart4')) const option = Object.assign({}, opt) option.title.text = 'OEE' + option.series[0].name = 'OEE' + option.series[0].data = [88] this.gaugeChart4.setOption(option, true) }, @@ -820,7 +838,7 @@ // 涓绘爣棰樻枃鏈牱寮� fontSize: 18, fontWeight: 'normal', - color: '#00A8AC', + color: '#1AD8DE', fontWeight: 'bold' } }, @@ -850,7 +868,7 @@ data: xAisData, axisLine: { lineStyle: { - color: '#50729A' + color: '#fff' } }, axisLabel: { @@ -873,15 +891,15 @@ position: 'left', axisLabel: { formatter: '{value}', - color: '#50729A' + color: '#fff' }, axisTick: { - show: false + show: true }, axisLine: { show: true, lineStyle: { - color: '#50729A' + color: '#fff' } }, splitLine: { @@ -896,7 +914,7 @@ axisLine: { show: true, lineStyle: { - color: '#50729A' + color: '#fff' } } } @@ -906,7 +924,7 @@ data: this.barChartData, barWidth: '25%', itemStyle: { - color: '#129FC6', + color: '#17C1F0', barBorderRadius: [10, 10, 10, 10] }, label: { @@ -918,7 +936,7 @@ }, position: 'inside', textStyle: { - color: '#50729A', + color: '#fff', fontSize: 18 } } @@ -986,7 +1004,7 @@ .back-nav { width: 100px; height: 30px; - color: #eee; + color: #fff; position: absolute; top: 50px; left: 10px; @@ -1030,7 +1048,13 @@ text-align: center; font-weight: bold; } + } + .right-col { + .gauge-chart { + width: 50%; + height: 200px; + } } } } diff --git a/src/views/system/modules/UserModal.vue b/src/views/system/modules/UserModal.vue index dc6a2a4..cc451b0 100644 --- a/src/views/system/modules/UserModal.vue +++ b/src/views/system/modules/UserModal.vue @@ -161,11 +161,12 @@ </a-form-model-item> <a-form-model-item label="棣栭〉鏉冮檺" :labelCol="labelCol" :wrapperCol="wrapperCol"> - <a-radio-group v-model="model.userType" :defaultValue="1"> + <a-radio-group v-model="model.userType" :defaultValue="0"> <a-radio :value="4">鍏徃绾�</a-radio> <a-radio :value="3">杞﹂棿绾�</a-radio> <a-radio :value="2">宸ユ绾�</a-radio> <a-radio :value="1">鎿嶄綔宸�</a-radio> + <a-radio :value="0">鏃�</a-radio> </a-radio-group> </a-form-model-item> @@ -452,7 +453,7 @@ this.refresh() this.edit({ activitiSync: '1', - userType: 1, + userType: 0, userIdentity: 1, selectedroles: '', selecteddeparts: '', -- Gitblit v1.9.3