551 lines
17 KiB
Vue
551 lines
17 KiB
Vue
<template>
|
||
<div>
|
||
<div class="hxjx_root">
|
||
<!--产品信息-->
|
||
<div>
|
||
<div style="width:60%;">
|
||
<span>产品信息:</span>
|
||
<table class="table table-hover table-bordered table-striped table-condensed text-nowrap">
|
||
<thead class="hxjx_table_th">
|
||
<tr>
|
||
<th class="hxjx_table_th_width">序号</th>
|
||
<th class="hxjx_table_th_width">钽靶批号</th>
|
||
<th class="hxjx_table_th_width">规格</th>
|
||
<th class="hxjx_table_th_width">工艺</th>
|
||
<th class="hxjx_table_th_width">直径</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr v-if="dataList.length > 0" v-for="(item, index) in dataList" @click="getTechnologyInfo(index)">
|
||
<td class="hxjx_table_btnColumn" :class="{ table_td_select: index === indexSelect && item.id != null }">
|
||
{{ index + 1 }}
|
||
</td>
|
||
<td class="hxjx_table_btnColumn" :class="{ table_td_select: index === indexSelect && item.id != null }">
|
||
{{
|
||
item.id }}
|
||
</td>
|
||
<td class="hxjx_table_btnColumn" :class="{ table_td_select: index === indexSelect && item.id != null }">
|
||
{{
|
||
item.specification }}
|
||
</td>
|
||
<td class="hxjx_table_btnColumn" :class="{ table_td_select: index === indexSelect && item.id != null }">
|
||
{{
|
||
item.technology }}
|
||
</td>
|
||
<td class="hxjx_table_btnColumn" :class="{ table_td_select: index === indexSelect && item.id != null }">
|
||
{{
|
||
item.diameter }}
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<!--粗轧道次表-->
|
||
<div style="width:60%;margin-left:1%;" id="rollingpass">
|
||
<span>粗轧道次表:</span>
|
||
<!-- 表1 -->
|
||
<table class="table table-hover table-bordered table-striped table-condensed text-nowrap"
|
||
style="vertical-align: middle;">
|
||
<thead>
|
||
<tr>
|
||
<th class="hxjx_table_th_width table_tdth" colspan="5" rowspan="2">
|
||
<span id="hxjx-table-title"></span>
|
||
{{ technologyId }}轧制工艺单
|
||
</th>
|
||
<th class="hxjx_table_th_width table_tdth" colspan="4"></th>
|
||
</tr>
|
||
<tr>
|
||
<th class="hxjx_table_th_width table_tdth">制作人:</th>
|
||
<th class="hxjx_table_th_width table_tdth"></th>
|
||
<th class="hxjx_table_th_width table_tdth">审核人:</th>
|
||
<th class="hxjx_table_th_width table_tdth"></th>
|
||
</tr>
|
||
<tr>
|
||
<th class="hxjx_table_th_width table_tdth" rowspan="2" style="vertical-align: middle;">道次</th>
|
||
<th class="hxjx_table_th_width table_tdth" colspan="3">粗轧工艺设计</th>
|
||
<th class="hxjx_table_th_width table_tdth" colspan="3">检移票号码:</th>
|
||
<th class="hxjx_table_th_width table_tdth" colspan="2">粗轧操作记录</th>
|
||
</tr>
|
||
<tr>
|
||
<th class="hxjx_table_th_width table_tdth">压下量</th>
|
||
<th class="hxjx_table_th_width table_tdth">轧前厚度</th>
|
||
<th class="hxjx_table_th_width table_tdth">轧后厚度</th>
|
||
<th class="hxjx_table_th_width table_tdth">喂料角度</th>
|
||
<th class="hxjx_table_th_width table_tdth">设定值</th>
|
||
<th class="hxjx_table_th_width table_tdth">判定确认</th>
|
||
<th class="hxjx_table_th_width table_tdth">程序设定员</th>
|
||
<th class="hxjx_table_th_width table_tdth">备注</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody id="hxjx-tbody-one">
|
||
<tr v-for="(item, index) in technologyInfoList">
|
||
<td class="hxjx_table_btnColumn table_tdth">{{ item.step }}</td>
|
||
<td class="hxjx_table_btnColumn table_tdth">{{ item.reduction }}</td>
|
||
<td class="hxjx_table_btnColumn table_tdth">{{ item.thicknessFront }}</td>
|
||
<td class="hxjx_table_btnColumn table_tdth">{{ item.thicknessBehind }}</td>
|
||
<td class="hxjx_table_btnColumn table_tdth">{{ item.angle }}</td>
|
||
<td class="hxjx_table_btnColumn table_tdth">{{ item.setValue }}</td>
|
||
<td class="hxjx_table_btnColumn table_tdth"></td>
|
||
<td class="hxjx_table_btnColumn table_tdth"></td>
|
||
<td class="hxjx_table_btnColumn table_tdth"></td>
|
||
</tr>
|
||
|
||
|
||
</tbody>
|
||
<thead>
|
||
<tr>
|
||
<th class="hxjx_table_th_width table_tdth" colspan="2">粗轧后厚度:</th>
|
||
<th class="hxjx_table_th_width table_tdth" colspan="2"></th>
|
||
<th class="hxjx_table_th_width table_tdth"></th>
|
||
<th class="hxjx_table_th_width table_tdth">轧制员:</th>
|
||
<th class="hxjx_table_th_width table_tdth" colspan="3"></th>
|
||
</tr>
|
||
</thead>
|
||
</table>
|
||
<!-- 表2 -->
|
||
<table class="table table-hover table-bordered table-striped table-condensed text-nowrap"
|
||
style="vertical-align: middle;">
|
||
<thead>
|
||
<tr>
|
||
<th class="hxjx_table_th_width table_tdth" rowspan="2" style="vertical-align: middle;">道次</th>
|
||
<th class="hxjx_table_th_width table_tdth" colspan="5">四辊精轧记录</th>
|
||
<th class="hxjx_table_th_width table_tdth" colspan="3" rowspan="2" style="vertical-align: middle;">
|
||
程序设定员
|
||
</th>
|
||
<th class="hxjx_table_th_width table_tdth" rowspan="2" style="vertical-align: middle;">备注</th>
|
||
</tr>
|
||
<tr>
|
||
<th class="hxjx_table_th_width table_tdth" colspan="2">设定值范围(±0.2)</th>
|
||
<th class="hxjx_table_th_width table_tdth" colspan="2">辊缝设定</th>
|
||
<th class="hxjx_table_th_width table_tdth">判定</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody id="hxjx-tbody-two">
|
||
<tr v-for="(item, index) in technologyInfoListByFour">
|
||
<td class="hxjx_table_btnColumn table_tdth">{{ item.step }}</td>
|
||
<td class="hxjx_table_btnColumn table_tdth" colspan="2">{{ item.setValue }}</td>
|
||
<td class="hxjx_table_btnColumn table_tdth" colspan="2"></td>
|
||
<td class="hxjx_table_btnColumn table_tdth"></td>
|
||
<td class="hxjx_table_btnColumn table_tdth" colspan="2"></td>
|
||
<td class="hxjx_table_btnColumn table_tdth"></td>
|
||
<td class="hxjx_table_btnColumn table_tdth"></td>
|
||
</tr>
|
||
|
||
</tbody>
|
||
<thead>
|
||
<tr>
|
||
<th class="hxjx_table_th_width table_tdth" colspan="3">
|
||
厚度标准值:
|
||
<span id="hxjx-table-thickness"></span>
|
||
</th>
|
||
<th class="hxjx_table_th_width table_tdth" colspan="2">精轧后厚度值:</th>
|
||
<th class="hxjx_table_th_width table_tdth"></th>
|
||
<th class="hxjx_table_th_width table_tdth" colspan="2">OK □ NG □</th>
|
||
<th class="hxjx_table_th_width table_tdth"></th>
|
||
</tr>
|
||
<tr>
|
||
<th class="hxjx_table_th_width table_tdth" colspan="3">轧制日期:</th>
|
||
<th class="hxjx_table_th_width table_tdth" colspan="2">轧制人员签字确认:</th>
|
||
<th class="hxjx_table_th_width table_tdth" colspan="5"></th>
|
||
</tr>
|
||
</thead>
|
||
</table>
|
||
<!-- 表3 -->
|
||
<table class="table table-hover table-bordered table-striped table-condensed text-nowrap"
|
||
style="vertical-align: middle;">
|
||
<thead>
|
||
<tr>
|
||
<th class="hxjx_table_th_width table_tdth" colspan="9">
|
||
精轧参数参考设定值,实际压下量根据产品厚度及厚度均匀性进行设定(精轧实际设定值在设定值范围内即可)
|
||
</th>
|
||
</tr>
|
||
</thead>
|
||
</table>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- 按钮操作 -->
|
||
<div style="display: flex;justify-content: center;">
|
||
|
||
<el-button style="margin-right: 0;" @click="success">确定
|
||
</el-button>
|
||
|
||
<el-button style="margin-left: 20px;" @click="clear">初始化
|
||
</el-button>
|
||
|
||
<el-button style="margin-left: 20px;" type="danger" @click="removeMaterial" :disabled="indexSelect === 0">删除物料
|
||
</el-button>
|
||
</div>
|
||
|
||
<div id="hxjx_popup" class="hxjx_popup" v-if="showFault">
|
||
<!-- 表头-->
|
||
<div class="hxjx_popup_header_danger">
|
||
<span style="float:left">故障</span>
|
||
<!-- <span id="hxjx_popup_header_close" style="float:right"><i class='fa fa-times' style="font-size: 20px;cursor: pointer;"></i></span> -->
|
||
</div>
|
||
<!-- body-->
|
||
<div class="hxjx_popup_body_danger">
|
||
<div style="width:100%;height:227px;">
|
||
<table class="table table-borderless hxjx_table_text_left">
|
||
<tbody>
|
||
<tr>
|
||
<td class="hxjx_table_label_format hxjx_table_label" style="padding:0.25rem;">时间:</td>
|
||
<td class="hxjx_table_label_format hxjx_table_text" style="padding:0.25rem;">{{ messageData.createTime
|
||
}}
|
||
</td>
|
||
<td class="hxjx_table_label_format hxjx_table_text_rule"
|
||
style="padding:0.25rem;vertical-align: middle;"></td>
|
||
</tr>
|
||
<tr>
|
||
<td class="hxjx_table_label_format hxjx_table_label" style="padding:0.25rem;">故障名称:</td>
|
||
<td class="hxjx_table_label_format hxjx_table_text" style="padding:0.25rem;">{{ messageData.faultName }}
|
||
</td>
|
||
<td class="hxjx_table_label_format hxjx_table_text_rule"
|
||
style="padding:0.25rem;vertical-align: middle;"></td>
|
||
</tr>
|
||
<tr>
|
||
<td class="hxjx_table_label_format hxjx_table_label" style="padding:0.25rem;">故障信息:</td>
|
||
<td class="hxjx_table_label_format hxjx_table_text" style="padding:0.25rem;">
|
||
{{ messageData.faultMessage }}
|
||
</td>
|
||
<td class="hxjx_table_label_format hxjx_table_text_rule"
|
||
style="padding:0.25rem;vertical-align: middle;"></td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
<!-- 按钮操作 -->
|
||
<table class="table">
|
||
<tr>
|
||
<td style="padding: 20px 0 0 0;text-align: right; border-top:0px solid #dc3545">
|
||
<div class="btn-group btn-group-sm">
|
||
<a href="#" class="hxjx-button-ensure btn btn-danger btn-sm custom hxjx_foot_btn_custom"
|
||
style="margin-right: 0;" @click="ensure">确定</a>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</template>
|
||
|
||
<script>
|
||
import {
|
||
listMaterial1,
|
||
listTechnology,
|
||
materialClear,
|
||
messageData,
|
||
messageUpdate,
|
||
updateResource
|
||
} from '@/api/system/resource'
|
||
import { getFaultMessage, newIP } from '@/api/system/common'
|
||
import { deleteMaterial } from "@/api/system/material";
|
||
|
||
export default {
|
||
name: 'index',
|
||
data() {
|
||
return {
|
||
MessageParams: {
|
||
state: 0
|
||
},
|
||
showFault: false,
|
||
dataList: [],
|
||
indexSelect: 0,
|
||
technologyId: '',
|
||
selectMaterial: [],
|
||
// 粗轧请求参数
|
||
params: {
|
||
state: 0,
|
||
pageSize: 999
|
||
},
|
||
// 精轧请求参数
|
||
params2: {
|
||
state: 1,
|
||
pageSize: 999
|
||
},
|
||
technologyInfoList: [],
|
||
technologyInfoListByFour: [],
|
||
messageData: {}
|
||
}
|
||
},
|
||
methods: {
|
||
success() {
|
||
if (this.dataList.length === 0) {
|
||
alert('钽靶原料列表为空,不可提交')
|
||
return
|
||
}
|
||
let data = {
|
||
batchId: this.dataList[0].batchId,
|
||
state: 0
|
||
}
|
||
updateResource(data).then(res => {
|
||
if (res.data === 1) {
|
||
// 提交成功 给个提醒
|
||
// 列表制空
|
||
alert('钽靶原料成功提交至轧制')
|
||
this.dataList = []
|
||
|
||
} else if (res.data === 0) {
|
||
alert('提交失败,检查是否存在物料')
|
||
} else if (res.data === 2) {
|
||
alert('提交成功,但工艺出现差异,已将差异物料提交异常')
|
||
}
|
||
})
|
||
|
||
},
|
||
|
||
removeMaterial() {
|
||
let materialId = this.dataList[this.indexSelect].id
|
||
if (this.indexSelect === 0) {
|
||
return
|
||
} else {
|
||
this.$modal.confirm('是否确认删除钽靶编号为"' + materialId + '"的数据项?').then(function () {
|
||
return deleteMaterial(materialId)
|
||
}).then(() => {
|
||
this.getDataList()
|
||
this.$modal.msgSuccess("删除成功");
|
||
})
|
||
}
|
||
},
|
||
|
||
// 选择材料
|
||
getTechnologyInfo(index) {
|
||
this.indexSelect = index
|
||
|
||
let params = this.params
|
||
params.technologyId = this.dataList[index].technology
|
||
this.technologyId = params.technologyId
|
||
|
||
if (params.technologyId == null) {
|
||
return
|
||
}
|
||
listTechnology(params).then(res => {
|
||
this.technologyInfoList = res.rows
|
||
})
|
||
|
||
let params2 = this.params2
|
||
params2.technologyId = this.dataList[index].technology
|
||
listTechnology(params2).then(res => {
|
||
this.technologyInfoListByFour = res.rows
|
||
})
|
||
},
|
||
|
||
getDataList() {
|
||
//state==0表示并未送进轧制页面的新进材料
|
||
let params = {
|
||
state: 0
|
||
}
|
||
listMaterial1(params).then(res => {
|
||
this.dataList = res.rows
|
||
console.log(res.rows)
|
||
if (res.rows[0].id != null && this.indexSelect === 0) {
|
||
this.getTechnologyInfo(0)
|
||
}
|
||
})
|
||
},
|
||
getFault() {
|
||
|
||
getFaultMessage().then(res => {
|
||
if (res.data !== 0) {
|
||
this.showFault = true
|
||
messageData(this.MessageParams).then(res => {
|
||
this.messageData = res.data
|
||
})
|
||
}
|
||
})
|
||
},
|
||
ensure() {
|
||
let data = {
|
||
state: 1
|
||
}
|
||
messageUpdate(data).then(res => {
|
||
this.showFault = false
|
||
})
|
||
},
|
||
|
||
clear() {
|
||
materialClear().then(res => {
|
||
alert('初始化成功')
|
||
})
|
||
}
|
||
},
|
||
|
||
mounted() {
|
||
clearInterval(this.intervalTime)
|
||
this.getDataList() // 接口方法
|
||
this.intervalTime = setInterval(() => {
|
||
newIP()
|
||
this.getFault()
|
||
this.getDataList() // 接口方法
|
||
}, 3000)
|
||
},
|
||
created() {
|
||
|
||
}
|
||
}
|
||
</script>
|
||
|
||
<style scoped>
|
||
.hxjx_root {
|
||
padding: 20px;
|
||
display: flex;
|
||
flex-wrap: wrap;
|
||
width: 100%;
|
||
font-size: 0.875rem;
|
||
}
|
||
|
||
.hxjx_navigator_info {
|
||
height: 40px;
|
||
border-radius: 5px;
|
||
position: relative;
|
||
font-size: 1rem;
|
||
font-weight: 700;
|
||
}
|
||
|
||
.hxjx_table_label_format {
|
||
word-break: keep-all;
|
||
white-space: nowrap;
|
||
}
|
||
|
||
.hxjx_table_text_rule {
|
||
color: red;
|
||
}
|
||
|
||
.hxjx_table_text {
|
||
width: 300px !important;
|
||
text-align: left;
|
||
padding: 6px;
|
||
}
|
||
|
||
.hxjx_table_label {
|
||
padding: 0px !important;
|
||
vertical-align: middle !important;
|
||
width: 100px;
|
||
}
|
||
|
||
.hxjx_table_text_left {
|
||
text-align: left;
|
||
}
|
||
|
||
.hxjx_btn_margin_right5 {
|
||
margin-right: 5px;
|
||
}
|
||
|
||
.hxjx_footer_main {
|
||
background-color: white;
|
||
border: solid 1px transparent !important;
|
||
}
|
||
|
||
.hxjx_table_btnColumn {
|
||
word-break: keep-all !important;
|
||
white-space: nowrap !important;
|
||
}
|
||
|
||
.hxjx_foot_btn_custom {
|
||
width: 90px !important;
|
||
margin-right: 5px;
|
||
}
|
||
|
||
/* 后添加的样式 */
|
||
.hxjx_footer_main {
|
||
text-align: center !important;
|
||
}
|
||
|
||
.hxjx_table_btnColumn {
|
||
border-top: 0 !important;
|
||
}
|
||
|
||
.hxjx_table_btn {
|
||
width: 50px !important;
|
||
margin: 2px;
|
||
}
|
||
|
||
.hxix_table_border {
|
||
border: 1px solid #CCC;
|
||
}
|
||
|
||
#product .table td,
|
||
#product .table th {
|
||
padding: 0.5rem;
|
||
}
|
||
|
||
.hxjx_table_th {
|
||
background-color: rgb(91, 155, 213);
|
||
color: #fff;
|
||
}
|
||
|
||
#rollingpass .table td,
|
||
#rollingpass .table th {
|
||
padding: 0;
|
||
}
|
||
|
||
.table_td_select {
|
||
background-color: yellow;
|
||
}
|
||
|
||
.table_tdth {
|
||
vertical-align: middle;
|
||
text-align: center;
|
||
}
|
||
|
||
|
||
.hxjx_table_label_format {
|
||
word-break: keep-all;
|
||
white-space: nowrap;
|
||
}
|
||
|
||
.hxjx_table_text_rule {
|
||
color: red;
|
||
}
|
||
|
||
.hxjx_table_text {
|
||
width: 300px !important;
|
||
text-align: left;
|
||
padding: 6px;
|
||
}
|
||
|
||
.hxjx_table_label {
|
||
padding: 0px !important;
|
||
vertical-align: middle !important;
|
||
width: 100px;
|
||
}
|
||
|
||
.hxjx_table_text_left {
|
||
text-align: left;
|
||
}
|
||
|
||
.table td,
|
||
.table th {
|
||
padding: 0.5rem;
|
||
}
|
||
|
||
.hxjx_popup {
|
||
position: fixed;
|
||
left: 400px;
|
||
top: 200px;
|
||
width: 640px;
|
||
height: 360px;
|
||
font-size: 14px;
|
||
}
|
||
|
||
.hxjx_popup_header_danger {
|
||
width: 100%;
|
||
height: 40px;
|
||
padding: 9px;
|
||
background-color: #dc3545;
|
||
color: #fff;
|
||
}
|
||
|
||
.hxjx_popup_body_danger {
|
||
width: 100%;
|
||
height: 320px;
|
||
padding: 20px;
|
||
background-color: #fff;
|
||
border: 1px solid #dc3545;
|
||
}
|
||
</style>
|