Commit c21d6d89 authored by zhangderong's avatar zhangderong

地址方式展示PDF

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