1、首页优化各层级看板视图,使色彩更加鲜艳明亮
2、用户管理页面首页权限字段增加无权限选项值,且默认值为无权限进入首页后无法查看任何看板
| | |
| | | <!--<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> |
| | |
| | | |
| | | <!-- 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> |
| | | |
| | |
| | | <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: [{ |
| | | yAxis: [ |
| | | { |
| | | name: '%', |
| | | nameTextStyle: { |
| | | color: '#fff' |
| | | }, |
| | | type: 'value', |
| | | min: 0, |
| | | minInterval: 1, |
| | | splitArea: { |
| | | show: false |
| | | }, |
| | | axisLine: { |
| | | show: false |
| | | show: true |
| | | }, |
| | | axisTick: { |
| | | show: false |
| | | show: true |
| | | }, |
| | | splitLine: { |
| | | show: false, |
| | | lineStyle: { |
| | | color: 'rgba(255, 255, 255, 0.15)' |
| | | // type: 'dashed', // dotted 虚线 |
| | |
| | | }, |
| | | axisLabel: { |
| | | fontSize: 12, |
| | | color: '#6A93B9', |
| | | color: '#fff', |
| | | fontFamily: 'Bebas' |
| | | } |
| | | }, { |
| | | }, |
| | | { |
| | | type: 'value', |
| | | axisLine: { |
| | | show: false |
| | | show: true |
| | | }, |
| | | axisTick: { |
| | | show: false |
| | |
| | | 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; |
| | |
| | | </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> |
| | |
| | | }, |
| | | data() { |
| | | return { |
| | | equipmentId: '2140223', |
| | | equipmentList: [ |
| | | { |
| | | equipmentId: '2140223', |
| | |
| | | workshopSection: '407一工段', |
| | | operator: 'admin' |
| | | }, |
| | | buttonList: [ |
| | | { |
| | | label: '备件信息' |
| | | }, |
| | | { |
| | | label: '保养计划' |
| | | }, |
| | | { |
| | | label: '报修' |
| | | }, |
| | | { |
| | | label: '设备班次' |
| | | } |
| | | ], |
| | | lineChart: '', |
| | | lineChartData: [], |
| | | gaugeChart1: '', |
| | |
| | | gaugeChartData1: [], |
| | | gaugeChartData2: [], |
| | | gaugeChartData3: [], |
| | | gaugeChartData4: [], |
| | | equipmentId: '2140223' |
| | | gaugeChartData4: [] |
| | | } |
| | | }, |
| | | created() { |
| | |
| | | methods: { |
| | | selectEquipment(record) { |
| | | this.equipmentId = record.equipmentId |
| | | }, |
| | | |
| | | click(record) { |
| | | window.alert(record.label) |
| | | }, |
| | | |
| | | getChartDataByApi() { |
| | |
| | | // 主标题文本样式 |
| | | 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 = [56] |
| | | 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 = [23] |
| | | 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 = [44] |
| | | 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 = [78] |
| | | this.gaugeChart4.setOption(option, true) |
| | | }, |
| | | |
| | |
| | | value: [90, 70, 40, 70, 80, 60, 73, 60, 70, 90, 40, 65] |
| | | } |
| | | ], |
| | | yAxisName: '整年度利用率' |
| | | yAxisName: '整年度利用率(%)' |
| | | } |
| | | 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, 90] |
| | | padding: [0, 0, 0, 110] |
| | | }, |
| | | nameGap: 25, |
| | | 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' |
| | | } |
| | | } |
| | | } |
| | |
| | | .back-nav { |
| | | width: 100px; |
| | | height: 30px; |
| | | color: #eee; |
| | | color: #fff; |
| | | position: absolute; |
| | | top: 15px; |
| | | left: 15px; |
| | |
| | | } |
| | | |
| | | table { |
| | | color: #eee; |
| | | color: #fff; |
| | | width: 100%; |
| | | border-collapse: collapse; |
| | | border-spacing: 0; |
| | |
| | | |
| | | th { |
| | | font-weight: bold; |
| | | background-color: #10695D; |
| | | background-color: #1CB29D; |
| | | position: sticky; |
| | | z-index: 9999; |
| | | top: 0; |
| | |
| | | } |
| | | |
| | | .info-card-container { |
| | | background-color: #67C23A; |
| | | background-color: #0FC61A; |
| | | padding: 5px; |
| | | border-radius: 3px; |
| | | |
| | |
| | | } |
| | | |
| | | /deep/ .ant-descriptions-item-label, /deep/ .ant-descriptions-item-content { |
| | | color: #eee; |
| | | color: #fff; |
| | | font-size: 16px; |
| | | } |
| | | |
| | |
| | | <!--</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"--> |
| | |
| | | <!--<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> |
| | |
| | | <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> |
| | | <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> |
| | |
| | | |
| | | <script> |
| | | import signageApi from '@/api/signage' |
| | | import moment from 'moment' |
| | | |
| | | export default { |
| | | name: 'IndexSignage', |
| | |
| | | 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: { |
| | |
| | | radius: ['40%', '55%'], |
| | | center: ['50%', '60%'], |
| | | 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 |
| | | } |
| | | console.log('productionId', productionId) |
| | | this.$router.push({ |
| | | name: 'mdc-base-StatisticsChart', |
| | |
| | | // 主标题文本样式 |
| | | 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: { |
| | |
| | | { |
| | | type: 'pie', |
| | | // selectedMode: "single", |
| | | radius: ['33%', '45%'], |
| | | radius: ['40%', '55%'], |
| | | center: ['45%', '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: { |
| | |
| | | { |
| | | type: 'pie', |
| | | // selectedMode: "single", |
| | | radius: ['33%', '45%'], |
| | | radius: ['40%', '55%'], |
| | | center: ['45%', '60%'], |
| | | color: [ |
| | | '#00CED1', |
| | | '#B85B38', |
| | | '#A8985D' |
| | | '#24F2F5', |
| | | '#F56436', |
| | | '#FFFF40' |
| | | ], |
| | | label: { |
| | | position: 'outside', |
| | |
| | | this.maintenanceConfig = { |
| | | indexHeader: '序号', |
| | | header: ['车间', '日期', '内容'], |
| | | headerBGC: '#266C86', |
| | | headerBGC: '#2C8BB2', |
| | | oddRowBGC: '#244B58', |
| | | evenRowBGC: '#295562', |
| | | data: this.twoMaintenanceChartData, |
| | | index: true, |
| | | columnWidth: [100], |
| | |
| | | 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: { |
| | |
| | | left: '10%' |
| | | }, |
| | | xAxis: [{ |
| | | name: 'OEE车间', |
| | | name: '', |
| | | nameLocation: 'middle', |
| | | nameGap: 40, // x轴name与横坐标轴线的间距 |
| | | type: 'category', |
| | |
| | | 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: [{ |
| | |
| | | } |
| | | }, |
| | | splitLine: { |
| | | show: false, |
| | | lineStyle: { |
| | | color: 'rgba(255,255,255,0.12)' |
| | | } |
| | |
| | | series: [{ |
| | | type: 'bar', |
| | | data: this.barChartData, |
| | | barWidth: '50%', |
| | | 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 = { |
| | | height: 220, |
| | | 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: [{ |
| | | yAxis: [ |
| | | { |
| | | name: '%', |
| | | nameTextStyle: { |
| | | color: '#fff' |
| | | }, |
| | | type: 'value', |
| | | min: 0, |
| | | minInterval: 1, |
| | |
| | | show: false |
| | | }, |
| | | axisLine: { |
| | | show: false |
| | | show: true |
| | | }, |
| | | axisTick: { |
| | | show: false |
| | | show: true |
| | | }, |
| | | splitLine: { |
| | | show: false, |
| | | lineStyle: { |
| | | color: 'rgba(255, 255, 255, 0.15)' |
| | | // type: 'dashed', // dotted 虚线 |
| | |
| | | }, |
| | | axisLabel: { |
| | | fontSize: 12, |
| | | color: '#6A93B9', |
| | | color: '#fff', |
| | | fontFamily: 'Bebas' |
| | | } |
| | | }, { |
| | | }, |
| | | { |
| | | type: 'value', |
| | | axisLine: { |
| | | show: false |
| | | show: true |
| | | }, |
| | | axisTick: { |
| | | show: false |
| | |
| | | fontSize: 12, |
| | | formatter: '{value}%', // 右侧Y轴文字显示 |
| | | fontFamily: 'Bebas', |
| | | color: '#6A93B9' |
| | | color: '#fff' |
| | | }, |
| | | splitArea: { |
| | | show: false |
| | |
| | | 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号', '大家注意安全问题'] |
| | | // ], |
| | | data: [ |
| | | // ['-', '-'] |
| | | ], |
| | | index: true, |
| | | columnWidth: [100, 300, 300], |
| | |
| | | <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; |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | </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> |
| | | |
| | |
| | | this.refresh() |
| | | this.edit({ |
| | | activitiSync: '1', |
| | | userType: 1, |
| | | userType: 0, |
| | | userIdentity: 1, |
| | | selectedroles: '', |
| | | selecteddeparts: '', |