From ce784aa1f8dd3c14386aeb016f0d034fac18fd3e Mon Sep 17 00:00:00 2001
From: qushaowei <qushaowei@163.com>
Date: 星期日, 07 四月 2024 13:40:30 +0800
Subject: [PATCH] 设备管理 报表打印修改
---
src/views/dashboard/BranchFactorySignage.vue | 342 +++++++++++++++++++++++++++++++--------------------------
1 files changed, 186 insertions(+), 156 deletions(-)
diff --git a/src/views/dashboard/BranchFactorySignage.vue b/src/views/dashboard/BranchFactorySignage.vue
index 614b2e2..066d3f9 100644
--- a/src/views/dashboard/BranchFactorySignage.vue
+++ b/src/views/dashboard/BranchFactorySignage.vue
@@ -8,21 +8,24 @@
<!--</div>-->
<div class="content-container">
<div style="width: 25%" class="left-col">
- <dv-border-box-9 style="padding: 40px 20px 0">
+ <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: 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>
@@ -36,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>
@@ -57,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>
@@ -71,6 +74,7 @@
<script>
import signageApi from '@/api/signage'
+ import moment from 'moment'
export default {
name: 'BranchFactorySignage',
@@ -78,6 +82,9 @@
productionCode: {
type: String,
default: ''
+ },
+ userType: {
+ type: Number
}
},
data() {
@@ -112,28 +119,6 @@
barChartData: [],
doubleBarChart: '',
doubleBarChartData: {},
- supportPlanList: [
- {
- label: '鏈湀涓変繚璁″垝',
- value: 299,
- background: '#719D8E'
- },
- {
- label: '鏈湀瀹屾垚',
- value: 229,
- background: '#409EFF'
- },
- {
- label: '涓嬫湀涓変繚璁″垝',
- value: 319,
- background: '#A8985D'
- },
- {
- label: '涓嬩笅鏈堜笁淇濊鍒�',
- value: 329,
- background: '#58D9F9'
- }
- ],
maintenanceConfig: {},
problemConfig: {}
}
@@ -142,10 +127,6 @@
window.addEventListener('resize', this.handleWindowResize)
this.drawCharts()
this.getChartDataByApi()
- },
- activated() {
- console.log('瑙﹀彂activated')
- this.handleWindowResize()
},
beforeDestroy() {
window.removeEventListener('resize', this.handleWindowResize)
@@ -166,8 +147,8 @@
getRunningStateDataByApi() {
signageApi.getEquipmentStatusStatisticsApi(this.productionCode)
.then(res => {
- if (res.success) this.runningStateData = res.result
- this.drawRunningStateChart()
+ if (res.success) this.runningStateData = res.result.list
+ this.drawRunningStateChart(res.result.producitonId)
})
},
@@ -270,28 +251,26 @@
},
/* 缁樺埗璁惧杩愯鐘舵�佺帿鐟伴ゼ鍥� */
- drawRunningStateChart() {
+ drawRunningStateChart(productionId) {
this.runningStateChart = this.$echarts.init(document.getElementById('running_state_chart'))
const option = {
- 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: {
@@ -317,15 +296,15 @@
series: [
{
type: 'pie',
- roseType: 'area', // 鐜懓鍥�
+ roseType: 'angle', // 鐜懓鍥�
// selectedMode: "single",
- radius: ['60%', '80%'],
- center: ['55%', '60%'],
+ radius: ['40%', '60%'],
+ center: ['53%', '50%'],
color: [
- '#686869',
- '#AA6349',
- '#968A5E',
- '#5D975D'
+ '#8B8B8B',
+ '#F56436',
+ '#FFFF40',
+ '#0FC61A'
],
label: {
position: 'outside',
@@ -350,6 +329,14 @@
]
}
this.runningStateChart.setOption(option, true)
+
+ this.runningStateChart.on('click', params => {
+ console.log('params', params)
+ this.$router.push({
+ name: 'mdc-base-DeviceBaseInfo',
+ params: { signageData: params.data, productionId }
+ })
+ })
},
/* 缁樺埗璁惧鍒╃敤鐜囪兌鍥婂浘 */
@@ -358,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: {
@@ -442,7 +430,7 @@
axisLabel: {
show: true,
textStyle: {
- color: '#d9e7fa',
+ color: '#fff',
fontSize: '14',
fontWeight: 'bolder'
},
@@ -540,17 +528,30 @@
}
]
}
+ option.title.text = `${moment().format('M鏈圖鏃�')}鍒╃敤鐜嘸
this.efficiencyChart.setOption(option, true)
this.efficiencyChart.on('click', params => {
-
// 鐐瑰嚮瑙﹀彂鐨勪负鏌辩姸浣擄紝闄ゆ闄ゅ鏄爣棰�
if (params.componentType === 'series') {
console.log('seriesParams===========', params)
-
+ 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 }
+ })
} else {
console.log('yAxisParams===========', params)
- this.$emit('switchToBranchFactory', params.value)
+ this.$emit('switchToNextSignage', { signageName: 'WorkshopSection', productionCode: params.value })
}
})
},
@@ -569,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: {
@@ -606,9 +606,9 @@
radius: ['40%', '60%'],
center: ['50%', '60%'],
color: [
- '#0AA012',
- '#237E48',
- '#757160'
+ '#0FC61A',
+ '#0DAF15',
+ '#8B8B8B'
],
label: {
position: 'outside',
@@ -649,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: {
@@ -686,9 +685,9 @@
radius: ['40%', '60%'],
center: ['50%', '60%'],
color: [
- '#00CED1',
- '#B85B38',
- '#A8985D'
+ '#24F2F5',
+ '#F56436',
+ '#FFFF40'
],
label: {
position: 'outside',
@@ -720,7 +719,9 @@
this.maintenanceConfig = {
indexHeader: '搴忓彿',
header: ['杞﹂棿', '鏃ユ湡', '鍐呭'],
- headerBGC: '#266C86',
+ headerBGC: '#2C8BB2',
+ oddRowBGC: '#244B58',
+ evenRowBGC: '#295562',
rowNum: 1,
data: this.twoMaintenanceChartData,
index: true,
@@ -733,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: {
@@ -750,9 +763,9 @@
left: '10%'
},
xAxis: [{
- name: 'OEE杞﹂棿',
+ name: '',
nameLocation: 'middle',
- nameGap: 30, // x杞磏ame涓庢í鍧愭爣杞寸嚎鐨勯棿璺�
+ nameGap: 40, // x杞磏ame涓庢í鍧愭爣杞寸嚎鐨勯棿璺�
type: 'category',
data: this.barChartData.map(item => item.name),
axisLine: {
@@ -761,14 +774,15 @@
}
},
axisLabel: {
- margin: 10,
- color: '#e2e9ff',
- textStyle: {
- fontSize: 12
- }
+ show: true, // 鏄惁鏄剧ず鍒诲害鏍囩锛岄粯璁ゆ樉绀�
+ interval: 0, // 鍧愭爣杞村埢搴︽爣绛剧殑鏄剧ず闂撮殧锛屽湪绫荤洰杞翠腑鏈夋晥锛涢粯璁や細閲囩敤鏍囩涓嶉噸鍙犵殑绛栫暐闂撮殧鏄剧ず鏍囩锛涘彲浠ヨ缃垚0寮哄埗鏄剧ず鎵�鏈夋爣绛撅紱濡傛灉璁剧疆涓�1锛岃〃绀恒�庨殧涓�涓爣绛炬樉绀轰竴涓爣绛俱�忥紝濡傛灉鍊间负2锛岃〃绀洪殧涓や釜鏍囩鏄剧ず涓�涓爣绛撅紝浠ユ绫绘帹銆�
+ rotate: this.barChartData.length >= 5 ? -30 : 0, // 鍒诲害鏍囩鏃嬭浆鐨勮搴︼紝鍦ㄧ被鐩酱鐨勭被鐩爣绛炬樉绀轰笉涓嬬殑鏃跺�欏彲浠ラ�氳繃鏃嬭浆闃叉鏍囩涔嬮棿閲嶅彔锛涙棆杞殑瑙掑害浠�-90搴﹀埌90搴�
+ inside: false, // 鍒诲害鏍囩鏄惁鏈濆唴锛岄粯璁ゆ湞澶�
+ margin: 6 // 鍒诲害鏍囩涓庤酱绾夸箣闂寸殑璺濈
},
axisTick: {
- show: false
+ show: true,
+ alignWithLabel: true
}
}],
yAxis: [{
@@ -789,6 +803,7 @@
}
},
splitLine: {
+ show: false,
lineStyle: {
color: 'rgba(255,255,255,0.12)'
}
@@ -799,8 +814,9 @@
data: this.barChartData,
barWidth: '15%',
itemStyle: {
- color: '#7DB17F'
+ color: '#55D6A5'
},
+ showBackground: true,
label: {
show: true,
lineHeight: 10,
@@ -823,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) {
@@ -847,7 +863,7 @@
formatter: ['{a|{name}}'].join('\n'),
textStyle: {
fontSize: 14,
- color: '#6A93B9',
+ color: '#fff',
height: 8,
rich: {
a: {
@@ -867,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,
@@ -968,23 +987,23 @@
this.problemConfig = {
indexHeader: '搴忓彿',
header: ['鏃堕棿', '闂鍐呭'],
- headerBGC: '#83B883',
- oddRowBGC: '#556955',
- evenRowBGC: '#556955',
+ 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鍙�', '澶у娉ㄦ剰瀹夊叏闂']
+ // ['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],
+ columnWidth: [100, 300, 300],
align: ['center']
}
},
@@ -1028,6 +1047,17 @@
justify-content: space-between;
.left-col {
+ .back-nav {
+ width: 100px;
+ height: 30px;
+ color: #fff;
+ position: absolute;
+ top: 25px;
+ left: 25px;
+ cursor: pointer;
+ z-index: 9999
+ }
+
.first-title {
color: #00A8AC;
font-size: 20px;
--
Gitblit v1.9.3