赫艾前端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

214 lines
4.9 KiB

<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>