| | |
| | | <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> |
| | |
| | | <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> |
| | |
| | | </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> |
| | |
| | | |
| | | <script> |
| | | import signageApi from '@/api/signage' |
| | | import moment from 'moment' |
| | | |
| | | export default { |
| | | name: 'BranchFactorySignage', |
| | |
| | | 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: { |
| | |
| | | radius: ['40%', '60%'], |
| | | center: ['53%', '50%'], |
| | | color: [ |
| | | '#686869', |
| | | '#AA6349', |
| | | '#968A5E', |
| | | '#5D975D' |
| | | '#8B8B8B', |
| | | '#F56436', |
| | | '#FFFF40', |
| | | '#0FC61A' |
| | | ], |
| | | label: { |
| | | position: 'outside', |
| | |
| | | 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: { |
| | |
| | | axisLabel: { |
| | | show: true, |
| | | textStyle: { |
| | | color: '#d9e7fa', |
| | | color: '#fff', |
| | | fontSize: '14', |
| | | fontWeight: 'bolder' |
| | | }, |
| | |
| | | } |
| | | ] |
| | | } |
| | | option.title.text = `${moment().format('M月D日')}利用率` |
| | | 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 } |
| | |
| | | // 主标题文本样式 |
| | | 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: { |
| | |
| | | radius: ['40%', '60%'], |
| | | center: ['50%', '60%'], |
| | | color: [ |
| | | '#0AA012', |
| | | '#237E48', |
| | | '#757160' |
| | | '#0FC61A', |
| | | '#0DAF15', |
| | | '#8B8B8B' |
| | | ], |
| | | label: { |
| | | position: 'outside', |
| | |
| | | // 主标题文本样式 |
| | | 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: { |
| | |
| | | radius: ['40%', '60%'], |
| | | center: ['50%', '60%'], |
| | | color: [ |
| | | '#00CED1', |
| | | '#B85B38', |
| | | '#A8985D' |
| | | '#24F2F5', |
| | | '#F56436', |
| | | '#FFFF40' |
| | | ], |
| | | label: { |
| | | position: 'outside', |
| | |
| | | this.maintenanceConfig = { |
| | | indexHeader: '序号', |
| | | header: ['车间', '日期', '内容'], |
| | | headerBGC: '#266C86', |
| | | headerBGC: '#2C8BB2', |
| | | oddRowBGC: '#244B58', |
| | | evenRowBGC: '#295562', |
| | | rowNum: 1, |
| | | data: this.twoMaintenanceChartData, |
| | | index: true, |
| | |
| | | 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: { |
| | |
| | | left: '10%' |
| | | }, |
| | | xAxis: [{ |
| | | name: 'OEE车间', |
| | | name: '', |
| | | nameLocation: 'middle', |
| | | nameGap: 40, // x轴name与横坐标轴线的间距 |
| | | type: 'category', |
| | |
| | | margin: 6 // 刻度标签与轴线之间的距离 |
| | | }, |
| | | axisTick: { |
| | | show: false |
| | | show: true, |
| | | alignWithLabel: true |
| | | } |
| | | }], |
| | | yAxis: [{ |
| | |
| | | } |
| | | }, |
| | | splitLine: { |
| | | show: false, |
| | | lineStyle: { |
| | | color: 'rgba(255,255,255,0.12)' |
| | | } |
| | |
| | | data: this.barChartData, |
| | | barWidth: '15%', |
| | | itemStyle: { |
| | | color: '#7DB17F' |
| | | color: '#55D6A5' |
| | | }, |
| | | showBackground: true, |
| | | label: { |
| | | show: true, |
| | | lineHeight: 10, |
| | |
| | | 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) { |
| | |
| | | formatter: ['{a|{name}}'].join('\n'), |
| | | textStyle: { |
| | | fontSize: 14, |
| | | color: '#6A93B9', |
| | | color: '#fff', |
| | | height: 8, |
| | | rich: { |
| | | a: { |
| | |
| | | }, |
| | | 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, |
| | |
| | | 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'] |
| | |
| | | .back-nav { |
| | | width: 100px; |
| | | height: 30px; |
| | | color: #eee; |
| | | color: #fff; |
| | | position: absolute; |
| | | top: 25px; |
| | | left: 25px; |