5 changed files with 315 additions and 65 deletions
-
2src/api/production/generateReport.js
-
131src/views/modules/board/sopBoard.vue
-
214src/views/modules/board/sopBoard_old.vue
-
6src/views/modules/print/print_Abnormal_label.js
-
27src/views/modules/production/generateReport.vue
@ -0,0 +1,214 @@ |
|||||
|
<template> |
||||
|
<div class="mod-config container "> |
||||
|
<div class="pdfMenu" > |
||||
|
<h1 style="color: white">SOP指导书 当前派工单|{{seqNo}}</h1> |
||||
|
</div> |
||||
|
<div class="pdf-wrapper" ref="pdfWrapper"> |
||||
|
<pdf ref="pdfViewer" |
||||
|
:src="sopUrl" |
||||
|
:page="sopPage" |
||||
|
@num-pages="setSopPages" |
||||
|
@page-loaded="setPageLoaded" |
||||
|
class="pdf-document" |
||||
|
|
||||
|
></pdf> |
||||
|
</div> |
||||
|
<div class="pdfMenu" > |
||||
|
<h1 style="color: white">SQC指导书 当前操作员|{{operator}}</h1> |
||||
|
</div> |
||||
|
<div class="pdf-wrapper" ref="pdfWrapper"> |
||||
|
<pdf ref="pdfViewer" |
||||
|
:src="badUrl" |
||||
|
:page="badPage" |
||||
|
@num-pages="setBadPages" |
||||
|
@page-loaded="setPageLoaded" |
||||
|
class="pdf-document" |
||||
|
></pdf> |
||||
|
|
||||
|
</div> |
||||
|
|
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
let rollstop = '' |
||||
|
let rolltimer = ''// 自动滚动的定时任务 |
||||
|
let refresher = '' //数据刷新定时器 |
||||
|
import { |
||||
|
getSopAddress, |
||||
|
} from '@/api/board.js' |
||||
|
import pdf from 'vue-pdf' |
||||
|
export default { |
||||
|
name: 'sopBoard', |
||||
|
components: { |
||||
|
pdf |
||||
|
}, |
||||
|
data () { |
||||
|
|
||||
|
return { |
||||
|
tvId:this.$route.query.ip?this.$route.query.ip:'TV001', |
||||
|
operator:'', |
||||
|
seqNo:'', |
||||
|
sopMax: 1, |
||||
|
sopPage: 1, |
||||
|
badMax: 1, |
||||
|
badPage: 1, |
||||
|
height: 200, |
||||
|
tableData: [], |
||||
|
// 默认的刷新,滚动时间,滚动间距 |
||||
|
// refreshTime: 5, |
||||
|
// rollTime: 5, |
||||
|
// rollPx: 1, |
||||
|
sopUrl: '', |
||||
|
badUrl: '', |
||||
|
pageLoaded: false, |
||||
|
timeOut:30000, |
||||
|
// packageUrl:'http://192.168.1.130/upload/', |
||||
|
packageUrl:'http://192.168.2.172/sopFile/', |
||||
|
// packageUrl:'http://192.168.1.83:81/upload/', |
||||
|
} |
||||
|
}, |
||||
|
mounted () { |
||||
|
this.$nextTick(() => { |
||||
|
this.changePdf(); |
||||
|
this.changePage(); |
||||
|
this.getPDF(); |
||||
|
}); |
||||
|
}, |
||||
|
methods: { |
||||
|
|
||||
|
setSopPages(numPages) { |
||||
|
this.sopMax = numPages |
||||
|
}, |
||||
|
setBadPages(numPages) { |
||||
|
this.badMax = numPages |
||||
|
}, |
||||
|
setPageLoaded() { |
||||
|
this.pageLoaded = true |
||||
|
}, |
||||
|
changePage() { |
||||
|
refresher = setInterval(() => { |
||||
|
if(this.sopPage==this.sopMax){ |
||||
|
this.sopPage=1; |
||||
|
}else { |
||||
|
this.sopPage=Number(this.sopPage)+1 |
||||
|
} |
||||
|
if(this.badPage==this.badMax){ |
||||
|
this.badPage=1; |
||||
|
}else { |
||||
|
this.badPage=Number(this.badPage)+1 |
||||
|
} |
||||
|
}, this.timeOut) |
||||
|
}, |
||||
|
|
||||
|
changePdf() { |
||||
|
refresher = setInterval(() => { |
||||
|
this.getPDF(); |
||||
|
}, 30000) |
||||
|
}, |
||||
|
getPDF(){ |
||||
|
let data={ |
||||
|
tvId: this.tvId |
||||
|
} |
||||
|
getSopAddress(data).then(({data}) => { |
||||
|
if(data.code==0){ |
||||
|
if(this.sopUrl!=this.packageUrl+data.data.sopAddress){ |
||||
|
this.sopUrl=this.packageUrl+data.data.sopAddress; |
||||
|
this.sopPage=1; |
||||
|
} |
||||
|
if(this.badUrl!=this.packageUrl+data.data.badAddress){ |
||||
|
this.badUrl=this.packageUrl+data.data.badAddress; |
||||
|
this.badPage=1; |
||||
|
} |
||||
|
console.log(this.sopUrl) |
||||
|
this.operator=data.data.nowOperator; |
||||
|
this.seqNo=data.data.nowSeqNo; |
||||
|
}else { |
||||
|
this.sopUrl=''; |
||||
|
this.badUrl=''; |
||||
|
this.seqNo='无'; |
||||
|
this.operator='无'; |
||||
|
} |
||||
|
}) |
||||
|
} |
||||
|
}, |
||||
|
created () { |
||||
|
// this.search() |
||||
|
// this.refreshTable() |
||||
|
|
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style > |
||||
|
|
||||
|
|
||||
|
.board2 .el-table .cell { |
||||
|
line-height: 13px; |
||||
|
font-size: 12px; |
||||
|
height: 13px; |
||||
|
padding: 0px; |
||||
|
} |
||||
|
.board2 .el-table .green { |
||||
|
background: #8cee8c; |
||||
|
} |
||||
|
.board2 .el-table .success-row { |
||||
|
background: #1bb61b; |
||||
|
} |
||||
|
.board2 .el-table .false-row { |
||||
|
/*background: #cbcb14;*/ |
||||
|
background: #db1212; |
||||
|
} |
||||
|
.board2 .el-table .yellow-row{ |
||||
|
background: #ffff00; |
||||
|
} |
||||
|
.container { |
||||
|
font-size: 13px; |
||||
|
position: fixed; |
||||
|
top: 0; |
||||
|
left: 0; |
||||
|
z-index: -1; |
||||
|
width: 100%; |
||||
|
height: 100%; |
||||
|
content: ""; |
||||
|
background-image: url(~@/assets/img/factory.jpg); |
||||
|
background-size: cover; |
||||
|
} |
||||
|
.pdf-container { |
||||
|
position: relative; |
||||
|
width: 100%; |
||||
|
height: 100%; |
||||
|
} |
||||
|
|
||||
|
.pdf-wrapper { |
||||
|
position: relative; |
||||
|
width: 43%; |
||||
|
height: 100%; |
||||
|
float: left; |
||||
|
margin-top: 0%; |
||||
|
margin-left: 0%; |
||||
|
overflow: hidden; |
||||
|
display: flex; |
||||
|
align-items: center; /* 垂直居中 */ |
||||
|
justify-content: center; /* 水平居中 */ |
||||
|
} |
||||
|
.pdf-document { |
||||
|
transform-origin: center; |
||||
|
width: 100%; |
||||
|
height: 100%; |
||||
|
} |
||||
|
.pdfMenu { |
||||
|
width: 7%; |
||||
|
height: 100%; |
||||
|
float: left; |
||||
|
writing-mode: vertical-lr; /* 竖排显示,从左到右 */ |
||||
|
text-orientation: upright; /* 竖排文字方向为正常朝向 */ |
||||
|
display: flex; /* 使用 Flex 布局 */ |
||||
|
align-items: center; /* 垂直居中对齐 */ |
||||
|
} |
||||
|
.vertical-text { |
||||
|
writing-mode: vertical-lr; /* 竖排显示,从左到右 */ |
||||
|
text-orientation: upright; /* 竖排文字方向为正常朝向 */ |
||||
|
} |
||||
|
|
||||
|
</style> |
||||
Write
Preview
Loading…
Cancel
Save
Reference in new issue