<!-- 机床报警 -->
|
<template>
|
<el-dialog
|
title=""
|
:close-on-click-modal="false"
|
width="80%"
|
class="alarmmodal"
|
:show-close="false"
|
:visible.sync="visible">
|
<el-row>
|
<el-col :span="12">
|
<ul class="alarmtype">
|
<li v-for="(item, index) in alarmtypelist" :key="index" @click="alarmtype(item.icolor,item.spanname)">
|
<div v-if="item.divcolor == 'aa'">
|
<i class="clamping" v-if="item.icolor == 'one'">{{ item.iname }}</i>
|
<i class="orange" v-if="item.icolor == 'two'">{{ item.iname }}</i>
|
<i class="cyan" v-if="item.icolor == 'three'">{{ item.iname }}</i>
|
<i class="meired" v-if="item.icolor == 'four'">{{ item.iname }}</i>
|
<i class="red" v-if="item.icolor == 'five'">{{ item.iname }}</i>
|
<i class="orangeyellow" v-if="item.icolor == 'six'">{{ item.iname }}</i>
|
<i class="gray" v-if="item.icolor == 'seven'">{{ item.iname }}</i>
|
<span>{{ item.spanname }}</span>
|
</div>
|
<div class="clamping" v-if="item.divcolor == 'one'">
|
<i class="clamping" v-if="item.icolor == 'one'">{{ item.iname }}</i>
|
<i class="orange" v-if="item.icolor == 'two'">{{ item.iname }}</i>
|
<i class="cyan" v-if="item.icolor == 'three'">{{ item.iname }}</i>
|
<i class="meired" v-if="item.icolor == 'four'">{{ item.iname }}</i>
|
<i class="red" v-if="item.icolor == 'five'">{{ item.iname }}</i>
|
<i class="orangeyellow" v-if="item.icolor == 'six'">{{ item.iname }}</i>
|
<i class="gray" v-if="item.icolor == 'seven'">{{ item.iname }}</i>
|
<span>{{ item.spanname }}</span>
|
</div>
|
<div class="orange" v-if="item.divcolor == 'two'">
|
<i class="clamping" v-if="item.icolor == 'one'">{{ item.iname }}</i>
|
<i class="orange" v-if="item.icolor == 'two'">{{ item.iname }}</i>
|
<i class="cyan" v-if="item.icolor == 'three'">{{ item.iname }}</i>
|
<i class="meired" v-if="item.icolor == 'four'">{{ item.iname }}</i>
|
<i class="red" v-if="item.icolor == 'five'">{{ item.iname }}</i>
|
<i class="orangeyellow" v-if="item.icolor == 'six'">{{ item.iname }}</i>
|
<i class="gray" v-if="item.icolor == 'seven'">{{ item.iname }}</i>
|
<span>{{ item.spanname }}</span>
|
</div>
|
<div class="cyan" v-if="item.divcolor == 'three'">
|
<i class="clamping" v-if="item.icolor == 'one'">{{ item.iname }}</i>
|
<i class="orange" v-if="item.icolor == 'two'">{{ item.iname }}</i>
|
<i class="cyan" v-if="item.icolor == 'three'">{{ item.iname }}</i>
|
<i class="meired" v-if="item.icolor == 'four'">{{ item.iname }}</i>
|
<i class="red" v-if="item.icolor == 'five'">{{ item.iname }}</i>
|
<i class="orangeyellow" v-if="item.icolor == 'six'">{{ item.iname }}</i>
|
<i class="gray" v-if="item.icolor == 'seven'">{{ item.iname }}</i>
|
<span>{{ item.spanname }}</span>
|
</div>
|
<div class="meired" v-if="item.divcolor == 'four'">
|
<i class="clamping" v-if="item.icolor == 'one'">{{ item.iname }}</i>
|
<i class="orange" v-if="item.icolor == 'two'">{{ item.iname }}</i>
|
<i class="cyan" v-if="item.icolor == 'three'">{{ item.iname }}</i>
|
<i class="meired" v-if="item.icolor == 'four'">{{ item.iname }}</i>
|
<i class="red" v-if="item.icolor == 'five'">{{ item.iname }}</i>
|
<i class="orangeyellow" v-if="item.icolor == 'six'">{{ item.iname }}</i>
|
<i class="gray" v-if="item.icolor == 'seven'">{{ item.iname }}</i>
|
<span>{{ item.spanname }}</span>
|
</div>
|
<div class="red" v-if="item.divcolor == 'five'">
|
<i class="clamping" v-if="item.icolor == 'one'">{{ item.iname }}</i>
|
<i class="orange" v-if="item.icolor == 'two'">{{ item.iname }}</i>
|
<i class="cyan" v-if="item.icolor == 'three'">{{ item.iname }}</i>
|
<i class="meired" v-if="item.icolor == 'four'">{{ item.iname }}</i>
|
<i class="red" v-if="item.icolor == 'five'">{{ item.iname }}</i>
|
<i class="orangeyellow" v-if="item.icolor == 'six'">{{ item.iname }}</i>
|
<i class="gray" v-if="item.icolor == 'seven'">{{ item.iname }}</i>
|
<span>{{ item.spanname }}</span>
|
</div>
|
<div class="orangeyellow" v-if="item.divcolor == 'six'">
|
<i class="clamping" v-if="item.icolor == 'one'">{{ item.iname }}</i>
|
<i class="orange" v-if="item.icolor == 'two'">{{ item.iname }}</i>
|
<i class="cyan" v-if="item.icolor == 'three'">{{ item.iname }}</i>
|
<i class="meired" v-if="item.icolor == 'four'">{{ item.iname }}</i>
|
<i class="red" v-if="item.icolor == 'five'">{{ item.iname }}</i>
|
<i class="orangeyellow" v-if="item.icolor == 'six'">{{ item.iname }}</i>
|
<i class="gray" v-if="item.icolor == 'seven'">{{ item.iname }}</i>
|
<span>{{ item.spanname }}</span>
|
</div>
|
<div class="gray" v-if="item.divcolor == 'seven'">
|
<i class="clamping" v-if="item.icolor == 'one'">{{ item.iname }}</i>
|
<i class="orange" v-if="item.icolor == 'two'">{{ item.iname }}</i>
|
<i class="cyan" v-if="item.icolor == 'three'">{{ item.iname }}</i>
|
<i class="meired" v-if="item.icolor == 'four'">{{ item.iname }}</i>
|
<i class="red" v-if="item.icolor == 'five'">{{ item.iname }}</i>
|
<i class="orangeyellow" v-if="item.icolor == 'six'">{{ item.iname }}</i>
|
<i class="gray" v-if="item.icolor == 'seven'">{{ item.iname }}</i>
|
<span>{{ item.spanname }}</span>
|
</div>
|
</li>
|
</ul>
|
</el-col>
|
<el-col :span="12">
|
<ul class="alarminformation">
|
<li class="margintop5"><p>机床名称:</p><span>{{ machineName }}</span></li>
|
<li><p>刀具:</p><span>{{ toolName }}</span></li>
|
<li><p>程序运行时间:</p><span>{{ var2 }}</span></li>
|
<li><p>完工检数:</p><span>{{ cycleCount }}</span></li>
|
<li><p>日利用率:</p><span>{{ utilizationDaily }}%</span></li>
|
<li class="textarearemark margintop5">
|
<el-input type="textarea" v-model="alarmHandleResult" class="textareas" placeholder="请输入处理结果"></el-input>
|
</li>
|
</ul>
|
</el-col>
|
</el-row>
|
|
<span slot="footer" class="dialog-footer">
|
<el-button @click="visible = false">关闭</el-button>
|
<el-button type="primary" @click="confirm()">确认</el-button>
|
</span>
|
</el-dialog>
|
</template>
|
|
<script>
|
import { getMachineList, alarmProcessing } from '@/api/MdcApi'
|
export default {
|
data() {
|
return {
|
visible: false,
|
machineName: '',
|
machineId: '',
|
toolName: '',
|
var2: '',
|
cycleCount: '',
|
utilizationDaily: '',
|
alarmType: '',
|
alarmHandleResult: '',
|
currentPage: 1,
|
alarmtypelist: [
|
{
|
iname: '1',
|
spanname: '装夹',
|
icolor: 'one',
|
divcolor: 'aa'
|
},
|
{
|
iname: '1',
|
spanname: '检测',
|
icolor: 'two',
|
divcolor: 'aa'
|
},
|
{
|
iname: '1',
|
spanname: '刀具',
|
icolor: 'three',
|
divcolor: 'aa'
|
},
|
{
|
iname: '1',
|
spanname: '机床',
|
icolor: 'four',
|
divcolor: 'aa'
|
},
|
{
|
iname: '1',
|
spanname: '故障',
|
icolor: 'five',
|
divcolor: 'aa'
|
},
|
{
|
iname: '1',
|
spanname: '物料',
|
icolor: 'six',
|
divcolor: 'aa'
|
},
|
{
|
iname: '1',
|
spanname: '等待',
|
icolor: 'seven',
|
divcolor: 'aa'
|
}
|
]
|
}
|
},
|
mounted() {},
|
methods: {
|
init(row) {
|
this.machineName = row.name
|
this.machineId = row.id
|
this.alarmHandleResult = ''
|
this.alarmtypelist.map(item => {
|
item.divcolor = 'aa'
|
})
|
this.getMachineDetail()
|
},
|
getMachineDetail() {
|
getMachineList(this.currentPage, this.machineId, 0).then(res => {
|
this.toolName = res.status.toolName
|
this.var2 = res.status.var2
|
this.cycleCount = res.status.cycleCount
|
this.utilizationDaily = res.status.utilizationDaily
|
this.visible = true
|
})
|
},
|
/* 选择类型*/
|
alarmtype(color, name) {
|
this.alarmtypelist.map(item => {
|
if (item.spanname === name) {
|
item.divcolor = color
|
} else {
|
item.divcolor = 'aa'
|
}
|
})
|
},
|
/* 确认按钮 */
|
confirm() {
|
var booln = false
|
this.alarmtypelist.map(item => {
|
if (item.divcolor !== 'aa') {
|
booln = true
|
this.alarmType = item.spanname
|
}
|
})
|
if (!booln) {
|
this.$message({
|
message: '请选择一项报警类型!',
|
type: 'warning'
|
})
|
} else {
|
this.$confirm(`确认提交`, '提示', {
|
confirmButtonText: '确定',
|
cancelButtonText: '取消',
|
type: 'warning'
|
}).then(() => {
|
alarmProcessing(this.machineId, this.alarmType, this.alarmHandleResult).then(res => {
|
if (res.result === 'SUCCESS') {
|
this.$message({
|
message: '处理成功!',
|
type: 'warning'
|
})
|
this.visible = false
|
this.$emit('refreshDataList')
|
}
|
})
|
}).catch(() => {})
|
}
|
}
|
}
|
}
|
</script>
|
<style>
|
.alarmtype>li{cursor: pointer;list-style: none;margin-top: 5px;background-color: gainsboro;border-radius: 4px;height: 65px;line-height: 65px;}
|
.alarmtype i{width: 10px;height: 100%;display: inline-block;color: transparent;margin-right: 10px;}
|
.clamping{background-color: #409EFF;}
|
.orange{background-color: coral;}
|
.cyan{background-color: #1AE6E6;}
|
.meired{background-color: #ff0099;}
|
.red{background-color: red;}
|
.orangeyellow{background-color: #E6BD1A;}
|
.gray{background-color: #858585;}
|
|
.alarminformation{margin-left: 10px;}
|
.alarminformation>li{list-style: none;margin-top: 2px;padding-left: 10px;padding-right: 10px;background-color: #858585;height: 53.5px;border-radius: 4px;}
|
.alarminformation>li>span{margin-top: -60px;}
|
.textarearemark{height: 205px !important;outline: none;padding-top: 10px;background-color: gainsboro !important;}
|
|
.alarmmodal .el-dialog__body{padding: 10px;height: 500px;}
|
.alarmmodal .el-textarea__inner{height: 185px !important;resize:none;}
|
.alarmmodal .el-dialog__header{padding: 10px;}
|
.alarmmodal .el-dialog__footer{text-align: center !important;}
|
</style>
|