| | |
| | | <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> |
| | |
| | | <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> |
| | |
| | | <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> |
| | |
| | | <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="回车键查询" |
| | |
| | | </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> |
| | |
| | | // 主标题文本样式 |
| | | 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%', '50%'], |
| | | 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%', '50%'], |
| | | color: [ |
| | | '#00CED1', |
| | | '#B85B38', |
| | | '#A8985D' |
| | | '#24F2F5', |
| | | '#F56436', |
| | | '#FFFF40' |
| | | ], |
| | | 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: ['35%', '55%'], |
| | | center: ['50%', '50%'], |
| | | color: [ |
| | | '#686869', |
| | | '#AA6349', |
| | | '#968A5E', |
| | | '#5D975D' |
| | | '#8B8B8B', |
| | | '#F56436', |
| | | '#FFFF40', |
| | | '#0FC61A' |
| | | ], |
| | | label: { |
| | | position: 'outside', |
| | |
| | | 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 = [] |
| | |
| | | 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: { |
| | |
| | | itemGap: 10, |
| | | textStyle: { |
| | | fontSize: 14, |
| | | color: '#ccc' |
| | | color: '#fff' |
| | | } |
| | | }, |
| | | xAxis: { |
| | |
| | | interval: 0, |
| | | show: true, |
| | | fontSize: 12, |
| | | color: '#50729A' |
| | | color: '#fff' |
| | | // rotate: -30, |
| | | }, |
| | | axisLine: { |
| | | show: true, |
| | | lineStyle: { |
| | | color: '#50729A' |
| | | color: '#fff' |
| | | } |
| | | }, |
| | | axisTick: { |
| | |
| | | { |
| | | name: newData.yAxisName, |
| | | nameTextStyle: { |
| | | color: '#00A8AC', |
| | | color: '#1AD8DE', |
| | | fontSize: 18, |
| | | padding: [0, 0, 0, 80] |
| | | padding: [0, 0, 0, 110] |
| | | }, |
| | | nameGap: 30, |
| | | type: 'value', |
| | |
| | | axisLine: { |
| | | show: true, |
| | | lineStyle: { |
| | | color: '#50729A' |
| | | color: '#fff' |
| | | } |
| | | }, |
| | | axisTick: { |
| | |
| | | splitLine: { |
| | | show: false, |
| | | lineStyle: { |
| | | color: '#3E4A82' |
| | | color: '#fff' |
| | | } |
| | | } |
| | | }, |
| | |
| | | splitNumber: 5, |
| | | axisLabel: { |
| | | show: true, |
| | | color: '#50729A' |
| | | color: '#fff' |
| | | }, |
| | | axisLine: { |
| | | show: true, |
| | | lineStyle: { |
| | | color: '#50729A' |
| | | color: '#fff' |
| | | } |
| | | }, |
| | | axisTick: { |
| | |
| | | splitLine: { |
| | | show: false, |
| | | lineStyle: { |
| | | color: '#3E4A82' |
| | | color: '#fff' |
| | | } |
| | | } |
| | | } |
| | |
| | | // 主标题文本样式 |
| | | 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%', |
| | |
| | | }, |
| | | series: [ |
| | | { |
| | | name: '利用率', |
| | | name: '', |
| | | type: 'gauge', |
| | | radius: '80%', |
| | | center: ['50%', '60%'], // 默认全局居中 |
| | |
| | | axisLine: { |
| | | lineStyle: { // 属性lineStyle控制线条样式 |
| | | 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//表盘宽度 |
| | | } |
| | |
| | | } |
| | | } |
| | | }, |
| | | data: [{ value: 100 }] |
| | | data: [] |
| | | } |
| | | ] |
| | | } |
| | |
| | | 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) |
| | | }, |
| | | |
| | |
| | | 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) |
| | | }, |
| | | |
| | |
| | | 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) |
| | | }, |
| | | |
| | |
| | | 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) |
| | | }, |
| | | |
| | |
| | | // 主标题文本样式 |
| | | fontSize: 18, |
| | | fontWeight: 'normal', |
| | | color: '#00A8AC', |
| | | color: '#1AD8DE', |
| | | fontWeight: 'bold' |
| | | } |
| | | }, |
| | |
| | | data: xAisData, |
| | | axisLine: { |
| | | lineStyle: { |
| | | color: '#50729A' |
| | | color: '#fff' |
| | | } |
| | | }, |
| | | axisLabel: { |
| | |
| | | position: 'left', |
| | | axisLabel: { |
| | | formatter: '{value}', |
| | | color: '#50729A' |
| | | color: '#fff' |
| | | }, |
| | | axisTick: { |
| | | show: false |
| | | show: true |
| | | }, |
| | | axisLine: { |
| | | show: true, |
| | | lineStyle: { |
| | | color: '#50729A' |
| | | color: '#fff' |
| | | } |
| | | }, |
| | | splitLine: { |
| | |
| | | axisLine: { |
| | | show: true, |
| | | lineStyle: { |
| | | color: '#50729A' |
| | | color: '#fff' |
| | | } |
| | | } |
| | | } |
| | |
| | | data: this.barChartData, |
| | | barWidth: '25%', |
| | | itemStyle: { |
| | | color: '#129FC6', |
| | | color: '#17C1F0', |
| | | barBorderRadius: [10, 10, 10, 10] |
| | | }, |
| | | label: { |
| | |
| | | }, |
| | | position: 'inside', |
| | | textStyle: { |
| | | color: '#50729A', |
| | | color: '#fff', |
| | | fontSize: 18 |
| | | } |
| | | } |
| | |
| | | .back-nav { |
| | | width: 100px; |
| | | height: 30px; |
| | | color: #eee; |
| | | color: #fff; |
| | | position: absolute; |
| | | top: 50px; |
| | | left: 10px; |
| | |
| | | text-align: center; |
| | | font-weight: bold; |
| | | } |
| | | } |
| | | |
| | | .right-col { |
| | | .gauge-chart { |
| | | width: 50%; |
| | | height: 200px; |
| | | } |
| | | } |
| | | } |
| | | } |