222 lines
12 KiB
JavaScript
222 lines
12 KiB
JavaScript
/** 设备异常上报数据 **/
|
|
const PriorityComponent = {
|
|
name: 'PriorityComponent',
|
|
props: {
|
|
injectData: Object
|
|
},
|
|
computed: {
|
|
bgColor() {
|
|
const colors = [
|
|
'#9c4048',
|
|
'#ffbd43',
|
|
'#0b58ff',
|
|
'#90dd48',
|
|
'#449028',
|
|
'#091238'
|
|
]
|
|
return colors[this.injectData.priority - 1]
|
|
},
|
|
priorityText() {
|
|
return [
|
|
'一级',
|
|
'二级',
|
|
'三级',
|
|
'四级',
|
|
'五级'
|
|
][this.injectData.priority - 1]
|
|
}
|
|
},
|
|
methods: {},
|
|
render: function (h) {
|
|
return h('span', { style: { display: 'inline-block', borderRadius: '2px', padding: '2px 8px', color: '#fff', opacity: '0.6', backgroundColor: this.bgColor } }, this.priorityText)
|
|
}
|
|
}
|
|
|
|
export const equipmentExceptionProps = [
|
|
{ label: '设备名称', prop: 'eqName', align: 'center', 'min-width': 60 },
|
|
{ label: '所属产线', prop: 'pl', align: 'center', 'min-width': 60 },
|
|
{ label: '报修/异常内容', prop: 'content', align: 'center', 'min-width': 80 },
|
|
{ label: '报修/发现人', prop: 'creator', align: 'center', width: 110 },
|
|
{ label: '时间', prop: 'time', align: 'center', 'min-width': 80 },
|
|
{ label: '优先级', prop: 'priority', align: 'center', subcomponent: PriorityComponent, 'min-width': 60 }
|
|
]
|
|
|
|
export const equipmentExceptionDatalist = [
|
|
{ 'eqName': 'A1一次固化机', 'pl': 'E线', 'content': '开化是专品直', 'creator': '郭娜', 'time': '1997-06-08 06:14:37', 'priority': 1 },
|
|
{ 'eqName': 'B1一次冷却机', 'pl': 'B线', 'content': '书记因地观同展土军信', 'creator': '薛洋', 'time': '2006-03-15 10:39:30', 'priority': 2 },
|
|
{ 'eqName': 'A1预热机', 'pl': 'D线', 'content': '说资把话', 'creator': '曾刚', 'time': '1985-01-29 23:21:53', 'priority': 3 },
|
|
{ 'eqName': 'A钢化炉', 'content': '即压连识打', 'creator': '张杰', 'time': '1975-05-12 18:54:07', 'priority': 2 },
|
|
{ 'eqName': 'A2一次固化机', 'pl': 'C线', 'content': '向江比把设', 'creator': '夏敏', 'time': '1996-12-22 09:29:57', 'priority': 3 },
|
|
{ 'eqName': 'A2一次固化机', 'content': '统山数里们步在', 'creator': '龙洋', 'time': '1989-07-19 05:01:55', 'priority': 3 },
|
|
{ 'eqName': 'A钢化炉', 'content': '快制放产口快', 'creator': '金艳', 'time': '1987-02-25 18:45:17', 'priority': 4 },
|
|
{ 'eqName': 'A1预热机', 'pl': 'D线', 'content': '说资把话', 'creator': '曾刚', 'time': '1985-01-29 23:21:53', 'priority': 3 },
|
|
{ 'eqName': 'A钢化炉', 'content': '即压连识打', 'creator': '张杰', 'time': '1975-05-12 18:54:07', 'priority': 2 },
|
|
{ 'eqName': 'A2一次固化机', 'pl': 'C线', 'content': '向江比把设', 'creator': '夏敏', 'time': '1996-12-22 09:29:57', 'priority': 3 },
|
|
{ 'eqName': 'A2一次固化机', 'content': '统山数里们步在', 'creator': '龙洋', 'time': '1989-07-19 05:01:55', 'priority': 3 },
|
|
{ 'eqName': 'A钢化炉', 'content': '快制放产口快', 'creator': '金艳', 'time': '1987-02-25 18:45:17', 'priority': 4 },
|
|
{ 'eqName': 'A1一次固化机', 'content': '住指时化统高线', 'creator': '顾敏', 'time': '1982-05-09 15:28:29', 'priority': 1 },
|
|
{ 'eqName': 'B1二次镀膜机', 'pl': 'B线', 'content': '命些种保较会', 'creator': '罗秀英', 'time': '1986-04-02 07:40:03', 'priority': 2 },
|
|
{ 'pl': 'B线', 'content': '增元少号安场明去在亲', 'creator': '于丽', 'time': '2004-08-11 11:10:57', 'priority': 4 }]
|
|
|
|
/** 设备异常报警 */
|
|
const LifeRemainComponent = {
|
|
name: 'LifeRemainComponent',
|
|
props: {
|
|
injectData: Object
|
|
},
|
|
computed: {
|
|
statusColor() {
|
|
const colors = [
|
|
'rgba(255,84,76,0.6)', // red < 0
|
|
'#FFBD43', // yellow < 10
|
|
'rgba(142,254,83,0.6)' // green >= 10
|
|
]
|
|
return this.injectData.remain < 0 ? colors[0] : this.injectData.remain < 10 ? colors[1] : colors[2]
|
|
}
|
|
|
|
},
|
|
render: function (h) {
|
|
return h('span', {
|
|
style:
|
|
{ position: 'absolute', top: 0, left: 0, right: 0, bottom: 0, width: '100%', height: '100%', display: 'flex', justifyContent: 'center', alignItems: 'center', opacity: '0.8', backgroundColor: this.statusColor, color: '#fff' }
|
|
},
|
|
this.injectData.remain)
|
|
}
|
|
}
|
|
|
|
export const equipmentAlarmProps = [
|
|
{ label: '设备名称', prop: 'eqName', align: 'center', 'min-width': 100 },
|
|
{ label: '设备编码', prop: 'eqCode', align: 'center', 'min-width': 100 },
|
|
{ label: '所属产线', prop: 'pl', align: 'center' },
|
|
{ label: '报警级别', prop: 'priority', align: 'center', subcomponent: PriorityComponent, 'min-width': 85 },
|
|
{ label: '报警内容', prop: 'content', align: 'center' }
|
|
]
|
|
|
|
export const equipmentAlarmDatalist = [
|
|
{ 'eqName': 'A1预热机', 'eqCode': 'SB501464', 'pl': 'C线', 'content': '使决方不相动', 'priority': 3 },
|
|
{ 'eqName': 'A1一次固化机', 'eqCode': 'SB373383', 'pl': 'C线', 'content': '规问示况将料组美联', 'priority': 1 },
|
|
{ 'eqName': 'B1二次镀膜机', 'eqCode': 'SB788842', 'pl': 'D线', 'content': '了进改京人表无当市手', 'priority': 2 },
|
|
{ 'eqName': 'A1预热机', 'eqCode': 'SB743966', 'pl': 'D线', 'content': '经府极元算进', 'priority': 2 },
|
|
{ 'eqName': 'B1一次冷却机', 'eqCode': 'SB138810', 'pl': 'E线', 'content': '代利值才之', 'priority': 1 },
|
|
{ 'eqName': 'A2一次冷却机', 'eqCode': 'SB861428', 'pl': 'D线', 'content': '还总速活直', 'priority': 3 },
|
|
{ 'eqName': 'B1二次镀膜机', 'eqCode': 'SB788842', 'pl': 'D线', 'content': '了进改京人表无当市手', 'priority': 2 },
|
|
{ 'eqName': 'A1预热机', 'eqCode': 'SB743966', 'pl': 'D线', 'content': '经府极元算进', 'priority': 2 },
|
|
{ 'eqName': 'B1一次冷却机', 'eqCode': 'SB138810', 'pl': 'E线', 'content': '代利值才之', 'priority': 1 },
|
|
{ 'eqName': 'A2一次冷却机', 'eqCode': 'SB861428', 'pl': 'D线', 'content': '还总速活直', 'priority': 3 },
|
|
{
|
|
'eqName': 'B1一次冷却机', 'eqCode': 'SB88566', 'content': '么中相育成他', 'priority': 4
|
|
},
|
|
{ 'eqName': 'A2一次冷却机', 'eqCode': 'SB861428', 'pl': 'D线', 'content': '还总速活直', 'priority': 3 },
|
|
{
|
|
'eqName': 'B1一次冷却机', 'eqCode': 'SB88566', 'content': '么中相育成他', 'priority': 4
|
|
},
|
|
{ 'eqName': 'A2一次固化机', 'eqCode': 'SB955674', 'pl': 'E线', 'content': '并来水报克见克代', 'priority': 2 },
|
|
{ 'eqName': 'A1预热机', 'eqCode': 'SB415026', 'pl': 'C线', 'content': '元动增断量争', 'priority': 1 },
|
|
{ 'eqName': 'A钢化炉', 'eqCode': 'SB19064', 'pl': 'D线', 'content': '很这置合它里革民', 'priority': 4 }
|
|
]
|
|
|
|
/** 设备分析 */
|
|
// 各产线稼动率
|
|
export const OEE_PER_LINE = {
|
|
A: 275,
|
|
B: 210,
|
|
C: 225,
|
|
D: 150,
|
|
E: 125
|
|
}
|
|
|
|
export const equipmentAnalysisData = [
|
|
{ 'name': '冷端下片单元', 'oee': '0.14', 'mtbr': '0.60', 'mtbf': '0.32' },
|
|
{ 'name': '磨边单元', 'oee': '0.51', 'mtbr': '0.85', 'mtbf': '0.22' },
|
|
{ 'name': '丝印', 'oee': '0.75', 'mtbr': '0.92', 'mtbf': '0.93' },
|
|
{ 'name': '上片机器人', 'oee': '0.89', 'mtbr': '0.25', 'mtbf': '0.26' },
|
|
{ 'name': '激光打孔', 'oee': '0.05', 'mtbr': '0.59', 'mtbf': '0.15' },
|
|
{ 'name': '镀膜', 'oee': '0.55', 'mtbr': '0.85', 'mtbf': '0.65' }
|
|
]
|
|
|
|
export const sparepartsProps = [
|
|
{ prop: 'name', label: '部件名称', align: 'center' },
|
|
{ prop: 'eq', label: '所属设备', align: 'center' },
|
|
{ prop: 'pl', label: '所属产线', align: 'center' },
|
|
{ prop: 'update_time', label: '更换时间', align: 'center' },
|
|
{ prop: 'remain', label: '剩余寿命', align: 'center', subcomponent: LifeRemainComponent },
|
|
{ prop: 'stock', label: '备件库存量', align: 'center' },
|
|
{ prop: 'location', label: '库位', align: 'center' }
|
|
]
|
|
|
|
export const sparepartsDatalist = [
|
|
{ 'name': '激光打孔', 'eq': 'A2一次固化机', 'pl': 'C线', 'update_time': '2007-08-31 09:15:24', 'remain': -32, 'stock': 457, 'location': '库位74' },
|
|
{ 'name': '磨边单元', 'eq': 'B1一次冷却机', 'pl': 'C线', 'update_time': '2016-10-02 22:23:09', 'remain': -95, 'stock': 5600, 'location': '库位10' },
|
|
{ 'name': '激光打孔', 'eq': 'B1一次冷却机', 'pl': 'C线', 'update_time': '1996-09-17 08:57:52', 'remain': 46, 'stock': 6069, 'location': '库位87' },
|
|
{ 'name': '磨边单元', 'eq': 'A2一次固化机', 'pl': 'D线', 'update_time': '2018-07-18 13:15:01', 'remain': 86, 'stock': 2342, 'location': '库位83' },
|
|
{ 'name': '上片机器人', 'eq': 'A2一次固化机', 'pl': 'E线', 'update_time': '1998-06-11 09:01:10', 'remain': 84, 'stock': 4359, 'location': '库位12' },
|
|
{ 'name': '丝印', 'eq': 'A1一次固化机', 'pl': 'E线', 'update_time': '2016-02-13 16:20:01', 'remain': -23, 'stock': 888, 'location': '库位69' },
|
|
{ 'name': '激光打孔', 'eq': 'A1磨边清洗机', 'pl': 'B线', 'update_time': '2002-04-07 19:13:29', 'remain': 62, 'stock': 4366, 'location': '库位99' },
|
|
{ 'name': '丝印', 'eq': 'A1一次固化机', 'update_time': '1980-01-17 04:29:56', 'remain': 73, 'stock': 305, 'location': '库位68' },
|
|
{ 'name': '激光打孔', 'eq': 'A2一次冷却机', 'pl': 'B线', 'update_time': '2014-02-25 17:19:43', 'remain': 36, 'stock': 199, 'location': '库位86' },
|
|
{ 'name': '上片机器人', 'eq': 'A2一次冷却机', 'pl': 'C线', 'update_time': '2017-01-23 17:01:29', 'remain': -3, 'stock': 146, 'location': '库位79' },
|
|
{ 'name': '激光打孔', 'eq': 'A1磨边清洗机', 'pl': 'B线', 'update_time': '2002-04-07 19:13:29', 'remain': 62, 'stock': 4366, 'location': '库位99' },
|
|
{ 'name': '丝印', 'eq': 'A1一次固化机', 'update_time': '1980-01-17 04:29:56', 'remain': 73, 'stock': 305, 'location': '库位68' },
|
|
{ 'name': '激光打孔', 'eq': 'A2一次冷却机', 'pl': 'B线', 'update_time': '2014-02-25 17:19:43', 'remain': 36, 'stock': 199, 'location': '库位86' },
|
|
{ 'name': '上片机器人', 'eq': 'A2一次冷却机', 'pl': 'C线', 'update_time': '2017-01-23 17:01:29', 'remain': -3, 'stock': 146, 'location': '库位79' },
|
|
{ 'name': '镀膜', 'eq': 'A2一次固化机', 'pl': 'D线', 'update_time': '2013-02-19 01:29:19', 'remain': 37, 'stock': 6977, 'location': '库位85' },
|
|
{ 'name': '激光打孔', 'eq': 'A1预热机', 'pl': 'B线', 'update_time': '1972-04-26 06:54:43', 'remain': -82, 'stock': 5039, 'location': '库位38' }
|
|
]
|
|
|
|
import { default as blue } from './blue.png'
|
|
import { default as orange } from './orange.png'
|
|
import { default as green } from './green.png'
|
|
import { default as red } from './red.png'
|
|
|
|
console.log('blue', blue)
|
|
|
|
const StatusComponent = {
|
|
name: 'StatusComponent',
|
|
props: {
|
|
injectData: Object
|
|
},
|
|
computed: {
|
|
statusColor() {
|
|
const colors = [green, orange, blue, red
|
|
// '#67ff55',
|
|
// '#e0e0e0',
|
|
// '#ffb70c',
|
|
// '#0b58ff',
|
|
// '#ff0c0c'
|
|
]
|
|
return colors[this.injectData.status - 1]
|
|
},
|
|
statusText() {
|
|
return [
|
|
'已完成',
|
|
// '已下发',
|
|
'已暂定',
|
|
'进行中',
|
|
'已结束'
|
|
][this.injectData.status - 1]
|
|
}
|
|
},
|
|
render: function (h) {
|
|
return h('span', { style: { display: 'flex', /** justifyContent: 'center', */ alignItems: 'center', color: '#ffffffb3' } }, [
|
|
h('span', { style: { width: 'calc(16px * var(--beilv))', height: 'calc(16px * var(--beilv))', background: `url(${this.statusColor}) no-repeat`, backgroundPosition: '20%', backgroundSize: '100%', marginRight: 'calc(8px * var(--beilv))' } }, ''),
|
|
h('span', this.statusText)
|
|
])
|
|
}
|
|
}
|
|
|
|
export const rightSideProps = [
|
|
{ prop: 'orderId', label: '工单编号' },
|
|
{ prop: 'pl', label: '产线名称' },
|
|
{ prop: 'eq', label: '设备名称' },
|
|
{ prop: 'status', label: '完成情况', subcomponent: StatusComponent },
|
|
{ prop: 'charger', label: '执行人' },
|
|
{ prop: 'duration', label: '时长' }
|
|
]
|
|
|
|
export const rightSideDatalist = [
|
|
{ 'orderId': 'OD_3719', 'eq': 'A2一次固化机', 'pl': 'E线', 'status': 1, 'charger': '任洋', 'duration': 5 },
|
|
{ 'orderId': 'OD_6564', 'eq': 'B1二次镀膜机', 'pl': 'D线', 'status': 1, 'charger': '廖丽', 'duration': 6 },
|
|
{ 'orderId': 'OD_125', 'eq': 'A钢化炉', 'pl': 'E线', 'status': 3, 'charger': '赖秀兰', 'duration': 2 }
|
|
// { "orderId": "OD_7103", "pl": "C线", "status": 3, "charger": "邱伟", "duration": 7 },
|
|
]
|