zydx-plus 1.35.463 → 1.35.465
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/components/biz_header/src/button_name.js +1 -2
- package/src/components/flip/src/flip.vue +21 -9
- package/src/components/read/src/read.vue +62 -12
- package/src/components/utils/index.js +13 -0
- package/src/components/variableBox/index.vue +2 -0
- package/src/index.js +1 -1
package/package.json
CHANGED
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
</div>
|
|
20
20
|
</div>
|
|
21
21
|
<div>
|
|
22
|
-
<div class="book">
|
|
22
|
+
<div class="book" ref="book">
|
|
23
23
|
<div class="pages">
|
|
24
24
|
<div class="wrap-box" ref="wrap-box" v-if="doublePage">
|
|
25
25
|
<div class="wrap wrap-block" :ref="`wrap-${item.id}`" v-for="(item,index) in pageInfoArr" :key="index">
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
<div class="wrap" ref="wrap" v-else>
|
|
49
49
|
<div class="wrap-can" v-show="!loading" ref="wrapCan">
|
|
50
50
|
<canvas @click.stop="turnText" class="wrap-can-one" @mousedown.stop="mouseDown"
|
|
51
|
-
@mousemove.stop="mouseMove" :id="id"></canvas>
|
|
51
|
+
@mousemove.stop="mouseMove" :id="`${id}`"></canvas>
|
|
52
52
|
<canvas :id="`${id}2`"></canvas>
|
|
53
53
|
<div
|
|
54
54
|
v-show="state === 'text'&&textY2>0&&textX2>0"
|
|
@@ -67,13 +67,13 @@
|
|
|
67
67
|
</div>
|
|
68
68
|
</div>
|
|
69
69
|
</div>
|
|
70
|
-
<div class="page-but-left" :style="{cursor: pageIndex === 1?'default':'pointer'}" v-if="!doublePage"
|
|
70
|
+
<div class="page-but-left" :style="{cursor: pageIndex === 1?'default':'pointer'}" v-if="!loading&&!doublePage"
|
|
71
71
|
@click.stop="flipRight(pageIndex-=1,false)">
|
|
72
72
|
<img v-if="pageIndex !== 1"
|
|
73
73
|
src="data:image/png;base64,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"
|
|
74
74
|
alt=""/>
|
|
75
75
|
</div>
|
|
76
|
-
<div class="page-but-right" :style="{cursor: pageIndex === pdfPages?'default':'pointer'}" v-if="!doublePage"
|
|
76
|
+
<div class="page-but-right" :style="{cursor: pageIndex === pdfPages?'default':'pointer'}" v-if="!loading&&!doublePage"
|
|
77
77
|
@click.stop="flipLeft(pageIndex+=1,false)">
|
|
78
78
|
<img v-if="pageIndex !== pdfPages"
|
|
79
79
|
src="data:image/png;base64,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"
|
|
@@ -182,7 +182,7 @@ export default {
|
|
|
182
182
|
},
|
|
183
183
|
butShow: {
|
|
184
184
|
type: Boolean,
|
|
185
|
-
default:
|
|
185
|
+
default: false
|
|
186
186
|
},
|
|
187
187
|
page: {
|
|
188
188
|
type: Number,
|
|
@@ -299,6 +299,17 @@ export default {
|
|
|
299
299
|
if (this.isDrawing || this.checkDrawing) this.mouseUp()
|
|
300
300
|
this.textMoveStart = false
|
|
301
301
|
}
|
|
302
|
+
setTimeout(()=>{
|
|
303
|
+
const el = this.$refs.book;
|
|
304
|
+
const resizeObserver = new ResizeObserver(() => {
|
|
305
|
+
if(this.doublePage){
|
|
306
|
+
this.readDoublePdf()
|
|
307
|
+
}else {
|
|
308
|
+
this.readPdf()
|
|
309
|
+
}
|
|
310
|
+
});
|
|
311
|
+
resizeObserver.observe(el);
|
|
312
|
+
},300)
|
|
302
313
|
},
|
|
303
314
|
beforeDestroy() {
|
|
304
315
|
window.removeEventListener('keydown', this.handleKeyEvent)
|
|
@@ -1345,7 +1356,7 @@ export default {
|
|
|
1345
1356
|
margin: 0 auto;
|
|
1346
1357
|
position: relative;
|
|
1347
1358
|
box-shadow: 0 0 10px rgba(0, 0, 0, 0.25);
|
|
1348
|
-
|
|
1359
|
+
/*cursor: none;*/
|
|
1349
1360
|
}
|
|
1350
1361
|
|
|
1351
1362
|
.wrap-can img {
|
|
@@ -1427,7 +1438,7 @@ export default {
|
|
|
1427
1438
|
|
|
1428
1439
|
.book {
|
|
1429
1440
|
width: 100%;
|
|
1430
|
-
min-height: 600px
|
|
1441
|
+
/*min-height: 600px;*/
|
|
1431
1442
|
max-height: 1200px;
|
|
1432
1443
|
overflow-y: auto;
|
|
1433
1444
|
}
|
|
@@ -1442,7 +1453,8 @@ export default {
|
|
|
1442
1453
|
}
|
|
1443
1454
|
|
|
1444
1455
|
.loading-back {
|
|
1445
|
-
|
|
1456
|
+
min-height: 600px;
|
|
1457
|
+
/*position: absolute;*/
|
|
1446
1458
|
top: 0;
|
|
1447
1459
|
left: 0;
|
|
1448
1460
|
right: 0;
|
|
@@ -1537,6 +1549,6 @@ div{
|
|
|
1537
1549
|
.full-screen-img>img{
|
|
1538
1550
|
width: 20px;
|
|
1539
1551
|
height: 20px;
|
|
1540
|
-
|
|
1552
|
+
/*margin-left: 5px;*/
|
|
1541
1553
|
}
|
|
1542
1554
|
</style>
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div class="read">
|
|
2
|
+
<div class="read" ref="read">
|
|
3
3
|
<vue-office-docx v-if="fileType === 'docx'" :src="url" style="height: 100%;" @rendered="renderedHandler" @error="errorHandler" />
|
|
4
4
|
<vue-office-excel v-if="fileType === 'xlsx' && xlsx" :src="url" style="height: 100%;" @rendered="renderedHandler" @error="errorHandler" />
|
|
5
|
-
<div class="view-pdf" @scroll="scroll" v-if="fileType === 'pdf'">
|
|
5
|
+
<div class="view-pdf" @scroll="scroll" ref="view-pdf" v-if="fileType === 'pdf'">
|
|
6
6
|
<div class="pageContainer" v-for="(item,index) in idArr">
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
<canvas :id="item"></canvas>
|
|
8
|
+
<div class="pdfPage">{{ index + 1 }}/{{ pdfPages }}</div>
|
|
9
9
|
</div>
|
|
10
10
|
</div>
|
|
11
11
|
<div class="mp4" v-if="fileType === 'mp4'">
|
|
@@ -35,6 +35,7 @@ import '@vue-office/docx/lib/index.css'
|
|
|
35
35
|
import '@vue-office/excel/lib/index.css'
|
|
36
36
|
|
|
37
37
|
import Mess from '../../tipBox/index'
|
|
38
|
+
import {debounce} from "../../utils";
|
|
38
39
|
let pdfs = null
|
|
39
40
|
export default {
|
|
40
41
|
name: "zydx-read",
|
|
@@ -127,7 +128,16 @@ export default {
|
|
|
127
128
|
this.loading = true
|
|
128
129
|
}
|
|
129
130
|
// if(this.fileType === 'mp4') this.videoFun()
|
|
130
|
-
if (this.fileType === 'pdf')
|
|
131
|
+
if (this.fileType === 'pdf') {
|
|
132
|
+
this.init()
|
|
133
|
+
setTimeout(()=>{
|
|
134
|
+
const el = this.$refs.read;
|
|
135
|
+
const resizeObserver = new ResizeObserver(() => {
|
|
136
|
+
this.refreshCanvas()
|
|
137
|
+
});
|
|
138
|
+
resizeObserver.observe(el);
|
|
139
|
+
},300)
|
|
140
|
+
}
|
|
131
141
|
setTimeout(() => {
|
|
132
142
|
this.repeat = false
|
|
133
143
|
}, 1000)
|
|
@@ -150,6 +160,7 @@ export default {
|
|
|
150
160
|
})
|
|
151
161
|
loadingTask.promise.then((pdf) => {
|
|
152
162
|
pdfs = pdf
|
|
163
|
+
console.log('pdfs',pdfs)
|
|
153
164
|
that.pdfPages = pdf.numPages // 获取pdf文件的总页数
|
|
154
165
|
that.page = pdf.numPages
|
|
155
166
|
that.pageIndex = that.page > 1? 2:1
|
|
@@ -170,7 +181,7 @@ export default {
|
|
|
170
181
|
let total = scrollTop + windowHeitht
|
|
171
182
|
if(total >= scrollHeight - 50){
|
|
172
183
|
if(this.pageIndex >= this.page) return
|
|
173
|
-
if((this.page - this.pageIndex)
|
|
184
|
+
if((this.page - this.pageIndex) >= 2) {
|
|
174
185
|
this.pageIndex += 2
|
|
175
186
|
this.getPDF(pdfs,2)
|
|
176
187
|
}else {
|
|
@@ -180,6 +191,7 @@ export default {
|
|
|
180
191
|
}
|
|
181
192
|
},
|
|
182
193
|
getPDF(pdf,page) {
|
|
194
|
+
console.log('getPDF=====page',page)
|
|
183
195
|
let that = this
|
|
184
196
|
for (let i = 0; i < page; i++) {
|
|
185
197
|
const id = 'canvas' + Math.random().toString(36).substr(2)
|
|
@@ -188,11 +200,22 @@ export default {
|
|
|
188
200
|
let canvas = document.getElementById(id)
|
|
189
201
|
that.canvasArr.push(canvas)
|
|
190
202
|
let ctx = canvas.getContext('2d');
|
|
191
|
-
let viewport = page.getViewport({scale: that.scales})
|
|
192
|
-
canvas.width = viewport.width * 2
|
|
193
|
-
canvas.height = viewport.height * 2
|
|
194
|
-
canvas.style.width = viewport.width + 'px'
|
|
195
|
-
canvas.style.height = viewport.height + 'px'
|
|
203
|
+
// let viewport = page.getViewport({scale: that.scales})
|
|
204
|
+
// canvas.width = viewport.width * 2
|
|
205
|
+
// canvas.height = viewport.height * 2
|
|
206
|
+
// canvas.style.width = viewport.width + 'px'
|
|
207
|
+
// canvas.style.height = viewport.height + 'px'
|
|
208
|
+
|
|
209
|
+
let boxWidth = that.$refs['view-pdf'].offsetWidth
|
|
210
|
+
let scales=(boxWidth/846)*(boxWidth/(boxWidth-(boxWidth*0.115*2)))
|
|
211
|
+
let viewport = page.getViewport({scale: scales})
|
|
212
|
+
const sc = viewport.width / viewport.height
|
|
213
|
+
const wid = boxWidth - 20
|
|
214
|
+
const hei = wid / sc
|
|
215
|
+
canvas.width = wid * 2
|
|
216
|
+
canvas.height = hei * 2
|
|
217
|
+
canvas.style.width = wid + 'px'
|
|
218
|
+
canvas.style.height = hei + 'px'
|
|
196
219
|
let renderContext = {
|
|
197
220
|
canvasContext: ctx,
|
|
198
221
|
viewport: viewport,
|
|
@@ -202,7 +225,33 @@ export default {
|
|
|
202
225
|
})
|
|
203
226
|
}
|
|
204
227
|
that.renderedHandler()
|
|
205
|
-
}
|
|
228
|
+
},
|
|
229
|
+
refreshCanvas:debounce(function (){
|
|
230
|
+
let that = this
|
|
231
|
+
that.idArr.forEach((item,index)=>{
|
|
232
|
+
pdfs.getPage( index + 1).then(function (page) {
|
|
233
|
+
let canvas = document.getElementById(item)
|
|
234
|
+
that.canvasArr.push(canvas)
|
|
235
|
+
let ctx = canvas.getContext('2d');
|
|
236
|
+
let boxWidth = that.$refs['view-pdf'].offsetWidth
|
|
237
|
+
let scales=(boxWidth/846)*(boxWidth/(boxWidth-(boxWidth*0.115*2)))
|
|
238
|
+
let viewport = page.getViewport({scale: scales})
|
|
239
|
+
const sc = viewport.width / viewport.height
|
|
240
|
+
const wid = boxWidth - 20
|
|
241
|
+
const hei = wid / sc
|
|
242
|
+
canvas.width = wid * 2
|
|
243
|
+
canvas.height = hei * 2
|
|
244
|
+
canvas.style.width = wid + 'px'
|
|
245
|
+
canvas.style.height = hei + 'px'
|
|
246
|
+
let renderContext = {
|
|
247
|
+
canvasContext: ctx,
|
|
248
|
+
viewport: viewport,
|
|
249
|
+
transform: [2, 0, 0, 2, 0, 0]
|
|
250
|
+
}
|
|
251
|
+
page.render(renderContext)
|
|
252
|
+
})
|
|
253
|
+
})
|
|
254
|
+
},50)
|
|
206
255
|
}
|
|
207
256
|
}
|
|
208
257
|
</script>
|
|
@@ -219,6 +268,7 @@ export default {
|
|
|
219
268
|
width: 100%;
|
|
220
269
|
}
|
|
221
270
|
.pageContainer{
|
|
271
|
+
width: 100%;
|
|
222
272
|
box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
|
|
223
273
|
margin-bottom: 10px;
|
|
224
274
|
display: inline-block;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export const debounceTimer = 500
|
|
2
|
+
// 防抖
|
|
3
|
+
export function debounce(fn, delay = debounceTimer) {
|
|
4
|
+
var timeoutID = null
|
|
5
|
+
return function () {
|
|
6
|
+
clearTimeout(timeoutID)
|
|
7
|
+
var args = arguments
|
|
8
|
+
var that = this
|
|
9
|
+
timeoutID = setTimeout(function () {
|
|
10
|
+
fn.apply(that, args)
|
|
11
|
+
}, delay)
|
|
12
|
+
}
|
|
13
|
+
}
|
|
@@ -107,6 +107,7 @@ export default {
|
|
|
107
107
|
width: calc(100% - 315px);
|
|
108
108
|
background-color: #f1eab3;
|
|
109
109
|
border-right: 2px solid #dcdfe6;
|
|
110
|
+
overflow: hidden;
|
|
110
111
|
}
|
|
111
112
|
.resize {
|
|
112
113
|
position: relative;
|
|
@@ -123,5 +124,6 @@ export default {
|
|
|
123
124
|
width: 310px;
|
|
124
125
|
background-color: #b5ef8f;
|
|
125
126
|
border-left: 2px solid #dcdfe6;
|
|
127
|
+
overflow: hidden;
|
|
126
128
|
}
|
|
127
129
|
</style>
|