|
@@ -1,16 +1,20 @@
|
|
<template>
|
|
<template>
|
|
<div class="container_all">
|
|
<div class="container_all">
|
|
- <div class="container_public" :style="{ transform: `scale(${scale})` }">
|
|
|
|
|
|
+ <!-- ///:style="{ transform: `scale(${scale})` }" @page-loaded="onPageLoaded" -->
|
|
|
|
+ <div class="container_public">
|
|
<div v-for="pageNumber in loadedPages" :key="pageNumber">
|
|
<div v-for="pageNumber in loadedPages" :key="pageNumber">
|
|
- <vue-pdf
|
|
|
|
|
|
+ <!-- <vue-pdf
|
|
v-if="pageNumber < 3"
|
|
v-if="pageNumber < 3"
|
|
class="container_pdf"
|
|
class="container_pdf"
|
|
- :src="fileUrl"
|
|
|
|
|
|
+ :src="{
|
|
|
|
+ url: fileUrl,
|
|
|
|
+ cMapUrl: 'https://cdn.jsdelivr.net/npm/pdfjs-dist@2.9.359/cmaps/',
|
|
|
|
+ cMapPacked: true,
|
|
|
|
+ }"
|
|
:page="pageNumber"
|
|
:page="pageNumber"
|
|
- @page-loaded="onPageLoaded"
|
|
|
|
- ></vue-pdf>
|
|
|
|
|
|
+
|
|
|
|
+ ></vue-pdf> -->
|
|
<vue-pdf
|
|
<vue-pdf
|
|
- v-else
|
|
|
|
class="container_pdf"
|
|
class="container_pdf"
|
|
:src="{
|
|
:src="{
|
|
url: fileUrl,
|
|
url: fileUrl,
|
|
@@ -69,6 +73,10 @@ export default {
|
|
onLoad(e) {
|
|
onLoad(e) {
|
|
var that = this;
|
|
var that = this;
|
|
that.id = e.id;
|
|
that.id = e.id;
|
|
|
|
+ uni.showLoading({
|
|
|
|
+ title: "加载中...",
|
|
|
|
+ mask: true,
|
|
|
|
+ });
|
|
that.getDetail();
|
|
that.getDetail();
|
|
},
|
|
},
|
|
|
|
|
|
@@ -97,24 +105,32 @@ export default {
|
|
detail(id).then((res) => {
|
|
detail(id).then((res) => {
|
|
if (res.code === 0) {
|
|
if (res.code === 0) {
|
|
that.name = res.data.name;
|
|
that.name = res.data.name;
|
|
- that.fileUrl = res.data.fileUrl;
|
|
|
|
- that.fileName = that.getFileExtension(that.fileUrl);
|
|
|
|
- that.getPdfPages();
|
|
|
|
|
|
+ var fileUrl = res.data.fileUrl;
|
|
|
|
+ that.getPdfPages(fileUrl);
|
|
}
|
|
}
|
|
});
|
|
});
|
|
},
|
|
},
|
|
|
|
|
|
- async getPdfPages() {
|
|
|
|
|
|
+ async getPdfPages(fileUrl) {
|
|
var that = this;
|
|
var that = this;
|
|
- const loadingTask = VuePdf.createLoadingTask(that.fileUrl);
|
|
|
|
|
|
+ const loadingTask = VuePdf.createLoadingTask(fileUrl);
|
|
const pdf = await loadingTask.promise;
|
|
const pdf = await loadingTask.promise;
|
|
- this.numPages = pdf.numPages;
|
|
|
|
- // this.loadedPages = this.numPages;
|
|
|
|
- if (this.numPages == 0) {
|
|
|
|
|
|
+ var numPages = pdf.numPages;
|
|
|
|
+ // that.loadedPages = that.numPages;
|
|
|
|
+ if (numPages == 0) {
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
- this.loadedPages = this.numPages;
|
|
|
|
- // this.loadedPages = this.numPages > 2 ? 2 : this.numPages;
|
|
|
|
|
|
+
|
|
|
|
+ // that.numPages = numPages;
|
|
|
|
+ // that.loadedPages = 1;
|
|
|
|
+ that.fileUrl = fileUrl;
|
|
|
|
+ await that.sleep(500);
|
|
|
|
+ that.loadAll = true;
|
|
|
|
+ that.loadedPages = numPages;
|
|
|
|
+ },
|
|
|
|
+
|
|
|
|
+ sleep(ms) {
|
|
|
|
+ return new Promise((resolve) => setTimeout(resolve, ms));
|
|
},
|
|
},
|
|
|
|
|
|
///截取文件
|
|
///截取文件
|
|
@@ -148,15 +164,23 @@ export default {
|
|
this.scale /= 1.1;
|
|
this.scale /= 1.1;
|
|
},
|
|
},
|
|
|
|
|
|
|
|
+ // onPageLoaded1(page) {
|
|
|
|
+ // console.log("gadfsadsfqwerqewrqr==11=" + page);
|
|
|
|
+ // // var that = this;
|
|
|
|
+ // // if (page == 2) {
|
|
|
|
+ // // that.loadedPages = that.numPages;
|
|
|
|
+ // // }
|
|
|
|
+ // },
|
|
|
|
+
|
|
|
|
+ // setNumPages1(numPagesData) {
|
|
|
|
+ // console.log("gadfsadsfqwerqewrqr==22=" + numPagesData);
|
|
|
|
+ // // this.numPages = numPagesData;
|
|
|
|
+ // },
|
|
|
|
+
|
|
onPageLoaded(page) {
|
|
onPageLoaded(page) {
|
|
- if (this.numPages > 0) {
|
|
|
|
- if (!this.loadAll) {
|
|
|
|
- this.loadAll = true;
|
|
|
|
- }
|
|
|
|
- var p = this.loadedPages;
|
|
|
|
- if (p < this.numPages) {
|
|
|
|
- this.loadedPages = p + 1;
|
|
|
|
- }
|
|
|
|
|
|
+ var that = this;
|
|
|
|
+ console.log("gadfqwerqwerqrq===" + page);
|
|
|
|
+ if (!that.loadAll && page >= that.numPages) {
|
|
}
|
|
}
|
|
},
|
|
},
|
|
|
|
|
|
@@ -164,7 +188,7 @@ export default {
|
|
var that = this;
|
|
var that = this;
|
|
var name = that.name;
|
|
var name = that.name;
|
|
var fileUrl = that.fileUrl;
|
|
var fileUrl = that.fileUrl;
|
|
- var fileName = that.fileName;
|
|
|
|
|
|
+ var fileName = that.getFileExtension(fileUrl);
|
|
|
|
|
|
var finalName = "";
|
|
var finalName = "";
|
|
if (name != null && name != "") {
|
|
if (name != null && name != "") {
|