Commit c21d6d89 authored by zhangderong's avatar zhangderong

地址方式展示PDF

parent d9d2233a
......@@ -145,4 +145,9 @@ export function isShowPDF(parmars) {
'Content-Type':'application/json'
}})
}
export function getpdfUrl(parmars) {
return axios.get(`${sapi}/api/resume/getResumePdfUrl/${parmars.uid}`, {headers: {
'Content-Type':'application/json'
}})
}
......@@ -15,8 +15,8 @@
</template>
</Menu>
</Col>
<Col span="21" class="content" style="width:83%;height:100%">
<Row class="header" style="height:50px">
<Col span="21" class="content" style="width:83%;height:100%;">
<Row class="header" style="height:50px;">
<Col span="20">
<Menu mode="horizontal" :active-name="levelOneName" @on-select="selectMenu">
<MenuItem v-for="menu in menuList" :name="menu.name" :key="menu.name" >
......@@ -27,8 +27,8 @@
<Col span="2" class="account" style="text-align:right;">
<span style="display:inline-block;line-height:6%;margin-left:30%;">{{massage}}</span>
</Col>
<Col span="1" class="sign-out" >
<a @click="loginOut" style="margin-left:38%">退出</a>
<Col span="1" class="sign-out">
<a @click="loginOut" style="float:right">退出</a>
</Col>
</Row>
<Row style="height:94%">
......
<template>
<div class="resumeDetail">
<!-- <a href="http://172.21.10.43/group1/M00/00/08/oYYBAF1M9B6ACO58AADoAJ5PfGw173.doc">dsds</a> -->
<div class="pdfShow" v-show="isShowPdf==true">
<div id="container" style="width:100%;height:100%;" v-if="isShowPdf==true"></div>
<!-- <div id="container" style="width:100%;height:100%;" v-if="isShowPdf==true"></div> -->
<embed :src="pdfUrl" type="application/pdf" width="900px" :height="px" v-if="isShowPdf==true">
</div>
<div class="resumeDetail-left" v-if="isShowPdf==false">
<div class="personalInformation" v-show="JSON.stringify(resume)!=='{}'">
......@@ -11,7 +11,6 @@
<img src="https://o7oe0d6qz.qnssl.com/image/icon_%E5%9F%BA%E6%9C%AC%E4%BF%A1%E6%81%AF_23_16px.png" style="height:16px;width:23px; vertical-align: middle;margin-top:-4px">
</span>
<span style="margin-left:7px;font-size:16px;color:#0092FF" >基本信息</span>
<!-- <span style="float:right;width:50px;height:24px;margin-right:5px"><Button type="primary" size='small' style="width:50px;height:24px" @click="downloadONE(detialID)" v-show="this.showBtn!=1">下载</Button></span> -->
</p>
<div class="massageTitle">
<p>
......@@ -321,10 +320,11 @@
</template>
<script>
import moment from 'moment'
import pdf from 'vue-pdf'
// import moment from '../../../static/1.pdf'
require('../../../static/pdf/pdf.js')
let mammoth = require("mammoth");
import {seedetail,updatastatus,TODORes,sendEmail,getEmailMoo,getEmailContent,uploadimage, findCompanyEmailByKey,forwardResume,getPdf,isShowPDF} from '../../api/resume.server'
import {seedetail,updatastatus,TODORes,sendEmail,getEmailMoo,getEmailContent,uploadimage, findCompanyEmailByKey,forwardResume,getPdf,isShowPDF,getpdfUrl} from '../../api/resume.server'
import localStorage from '../../service/localstorage.service.js'
import {
sapi
......@@ -341,6 +341,7 @@ export default {
reList:[],
name:'',
detailSta:'',
pdfUrl:'',
emailMOdal:false,
tip: false,
loading1: false,
......@@ -352,6 +353,8 @@ export default {
boxIsShow:false,
resumeBTn:false,
isShowPdf:true,
px:1200,
// src:'/api/http://172.21.10.43/group1/M00/00/58/oYYBAF2nzwqAY4fcAAHyoHPb1Ic418.pdf',
showOriginalDisabled:true,
OriginalContent:'',
StandardContent:'',
......@@ -433,7 +436,8 @@ export default {
}
},
components:{
ckeditor
ckeditor,
pdf
},
methods: {
getDETAIL(){
......@@ -455,73 +459,73 @@ export default {
this.name=res.data.body.resume.ownerName
})
},
clearPDF: function (OriginalContent) {
if(this.OriginalContent!==''){
document.getElementById("container").innerHTML = "";
}
},
// 渲染合同
renderPDF: function (pdf, pageNumber,OriginalContent) {
if(this.OriginalContent!==''){}
pdf.getPage(pageNumber).then(function (page) {
var scale = 1.5; //随意设置的
var viewport = page.getViewport(scale);
// Prepare canvas using PDF page dimensions
// var canvas = document.getElementById('the-canvas');
var canvas = document.createElement('canvas');
canvas.setAttribute("id", "the-canvas-" + pageNumber);
var element = document.getElementById("container");
element.appendChild(canvas);
var context = canvas.getContext('2d');
canvas.height = viewport.height;
canvas.width = viewport.width;
// Render PDF page into canvas context
var renderContext = {
canvasContext: context,
viewport: viewport
};
var renderTask = page.render(renderContext);
renderTask.then(function () {
});
});
},
// 展示合同
showPDF : function ( OriginalContent) {
let vm = this
if ( this.OriginalContent) {
var obj = {
// url: '../../static/test.pdf', // 得到的是数据时使用data属性
data: this.OriginalContent,
cMapUrl: 'https://cdn.jsdelivr.net/npm/pdfjs-dist@2.0.943/cmaps/',
cMapPacked: true
};
PDFJS.workerSrc = '../../static/pdf/pdf.worker.js'
var loadingTask = PDFJS.getDocument(obj);
loadingTask.promise.then(function(pdf) {
var total = pdf.numPages;
for (var i = 0; i < total; i++) {
var pageNumber = i + 1;
// 如果你有node(vue ag...)环境,那么请用async/await替换掉
setTimeout(vm.renderPDF(pdf, pageNumber), 10);
}
}, function (reason) {
// PDF loading error
console.error(reason);
});
}
},
getData(){
let params = {
uid:this.$route.query.id
}
getPdf(params).then(data => { // 调接口获取数据(二进制流数据)
this.clearPDF();
let vm =this
var array = new Uint8Array(data.data);// 将二进制流数据转换成 Uint8Array (pdf支持的数据格式)
this.OriginalContent=new Uint8Array(data.data);
vm.showPDF(this.OriginalContent)
})
},
// clearPDF: function (OriginalContent) {
// if(this.OriginalContent!==''){
// document.getElementById("container").innerHTML = "";
// }
// },
// // 渲染合同
// renderPDF: function (pdf, pageNumber,OriginalContent) {
// if(this.OriginalContent!==''){}
// pdf.getPage(pageNumber).then(function (page) {
// var scale = 1.5; //随意设置的
// var viewport = page.getViewport(scale);
// // Prepare canvas using PDF page dimensions
// // var canvas = document.getElementById('the-canvas');
// var canvas = document.createElement('canvas');
// canvas.setAttribute("id", "the-canvas-" + pageNumber);
// var element = document.getElementById("container");
// element.appendChild(canvas);
// var context = canvas.getContext('2d');
// canvas.height = viewport.height;
// canvas.width = viewport.width;
// // Render PDF page into canvas context
// var renderContext = {
// canvasContext: context,
// viewport: viewport
// };
// var renderTask = page.render(renderContext);
// renderTask.then(function () {
// });
// });
// },
// // 展示合同
// showPDF : function ( OriginalContent) {
// let vm = this
// if ( this.OriginalContent) {
// var obj = {
// // url: '../../static/test.pdf', // 得到的是数据时使用data属性
// data: this.OriginalContent,
// cMapUrl: 'https://cdn.jsdelivr.net/npm/pdfjs-dist@2.0.943/cmaps/',
// cMapPacked: true
// };
// PDFJS.workerSrc = '../../static/pdf/pdf.worker.js'
// var loadingTask = PDFJS.getDocument(obj);
// loadingTask.promise.then(function(pdf) {
// var total = pdf.numPages;
// for (var i = 0; i < total; i++) {
// var pageNumber = i + 1;
// // 如果你有node(vue ag...)环境,那么请用async/await替换掉
// setTimeout(vm.renderPDF(pdf, pageNumber), 10);
// }
// }, function (reason) {
// // PDF loading error
// console.error(reason);
// });
// }
// },
// getData(){
// let params = {
// uid:this.$route.query.id
// }
// getPdf(params).then(data => { // 调接口获取数据(二进制流数据)
// this.clearPDF();
// let vm =this
// var array = new Uint8Array(data.data);// 将二进制流数据转换成 Uint8Array (pdf支持的数据格式)
// this.OriginalContent=new Uint8Array(data.data);
// vm.showPDF(this.OriginalContent)
// })
// },
// 下载简历
downloadONE(doid){
window.location.href=`${sapi}/api/resume/download/formatted/one?resumeId=${doid}`
......@@ -679,8 +683,6 @@ export default {
this.isShowTwo=false
this.isLimitSize=false
this.uploadFileList=[]
// this.clearInterviewee()
// this.SouSuo(this.pageT,'init')
},
submit() {
let flag = false
......@@ -755,19 +757,14 @@ export default {
this.contentName=''
},
showOriginal(){
// this.addCss()
// this.remove()
// document.querySelector('#app').style['overflow-x']='hidden'
this.showPDF()
// this.showPDF()
this.isShowPdf=true
this.showOriginalDisabled=true
this.showStandardDisabled=false
},
showStandard(){
this.isShowPdf=false
// this.addCss()
// document.querySelector('#app').style['overflow-x']='hidden'
this.clearPDF()
// this.clearPDF()
this.showStandardDisabled=true
this.showOriginalDisabled=false
},
......@@ -785,6 +782,14 @@ export default {
}
})
},
getPdfUrl(){
let parmars={
uid:this.$route.query.id
}
getpdfUrl(parmars).then(res=>{
this.pdfUrl=res.data
})
},
// 确认发送邮件
confireSendEmail: _debounce(function(){
this.sad = this.getEditorValue()
......@@ -983,13 +988,17 @@ export default {
document.querySelector('#app').style.removeProperty('overflow-x')
},
},
// created(){
//     this.src = pdf.createLoadingTask(this.src)
//    },
async mounted(){
this.getPdfUrl()
this.getDETAIL()
this.boxIsShow=true
this.judeBtn()
this.addCss()
await this.getData()
this.clearPDF()
// await this.getData()
// this.clearPDF()
await this.judeShowPdf()
},
beforeDestroy(){
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment