zydx-plus 1.35.538 → 1.35.540

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zydx-plus",
3
- "version": "1.35.538",
3
+ "version": "1.35.540",
4
4
  "description": "Vue.js",
5
5
  "main": "src/index.js",
6
6
  "files": [
@@ -2955,12 +2955,18 @@ let buttonNames = {
2955
2955
  resource_checktime: {
2956
2956
  actionName: '考勤资源',
2957
2957
  buttonList: {
2958
+ // 0: {
2959
+ // headLevel: {
2960
+ // default: "demand",
2961
+ // demand: '考勤要求',
2962
+ // actionAnalysis: '考勤评析',
2963
+ // // qualityAnalysis: '素养评析'
2964
+ // }
2965
+ // },
2958
2966
  0: {
2959
2967
  headLevel: {
2960
- default: "demand",
2961
- demand: '考勤要求',
2962
- actionAnalysis: '考勤评析',
2963
- // qualityAnalysis: '素养评析'
2968
+ default: "pipeGuideAnalysis",
2969
+ pipeGuideAnalysis: '管导评析'
2964
2970
  }
2965
2971
  }
2966
2972
  }
@@ -46,7 +46,7 @@ export default defineComponent({
46
46
  </td>
47
47
  )
48
48
  : (
49
- <td class="table_cell" style={`min-width:${width}px; max-width:${width}px;`} rowspan={rowSpan} colspan={colSpan} data-col-key={key}>
49
+ <td class="table_cell" style={`min-width:${width}px; max-width:${width}px;color: ${row[key]=='已使用'?'rgba(111, 61, 146, 1)':''}`} rowspan={rowSpan} colspan={colSpan} data-col-key={key}>
50
50
  {row[key]}
51
51
  </td>
52
52
  )
@@ -1,7 +1,11 @@
1
1
  <template>
2
2
  <div class="drag-pop" :class="{trans: transAll, 'drag-pop-shadow': !fixedStart}" :style="position" :id="id" @click.stop="dragTap">
3
3
  <div v-show="!fixedStart" class="drag-head" :style="{'background-color':titleColor}" @click="selectedDrag">
4
- <span :id="'draggable' + id" :style="{'text-align': title === ''? 'center':'left'}" v-html="title"></span>
4
+ <span class="title" :id="'draggable' + id">
5
+ <slot name="title">
6
+ <div v-html="title" style="width: 100%" :style="{'text-align': title === ''? 'center':'left'}"></div>
7
+ </slot>
8
+ </span>
5
9
  <div class="drag-i">
6
10
  <i class="share" v-if="share" @click.stop="shareTap"></i>
7
11
  <i class="minimize-cir" v-if="minimizeCir" @click.stop="minimizeTap"></i>
@@ -149,7 +153,7 @@ export default {
149
153
  handler: function (val) {
150
154
  this.footRightOffset = val
151
155
  if (this.isInitShowBottomRight) {
152
- this.x = window.innerWidth - val
156
+ this.x = window.innerWidth - val -3
153
157
  }
154
158
  },
155
159
  immediate: true
@@ -158,7 +162,7 @@ export default {
158
162
  handler: function (val) {
159
163
  this.footDownOffset = val
160
164
  if (this.isInitShowBottomRight) {
161
- this.y = window.innerHeight - val
165
+ this.y = window.innerHeight - val -3
162
166
  console.log('this.y', this.y)
163
167
  }
164
168
  },
@@ -306,15 +310,19 @@ export default {
306
310
  init() {
307
311
  const that = this
308
312
  if(this.fixedStart) {
309
- const wid = document.getElementById('app').offsetWidth
310
- this.x = this.left + (wid-this.initWidth)/2
311
- this.y = this.top - document.documentElement.scrollTop
313
+ if(!this.isInitShowBottomRight) {
314
+ const wid = document.getElementById('app').offsetWidth
315
+ this.x = this.left + (wid-this.initWidth)/2
316
+ this.y = this.top - document.documentElement.scrollTop
317
+ }
312
318
  } else {
313
319
  this.clientWidth = document.documentElement.clientWidth;
314
320
  this.clientHeight = document.documentElement.clientHeight;
315
- this.x = this.clientWidth / 2 - this.footRightOffset / 2;
316
- this.y = this.clientHeight / 2 - this.footDownOffset / 2;
317
- this.y=isNaN(this.y)?100:this.y
321
+ if(!this.isInitShowBottomRight) {
322
+ this.x = this.clientWidth / 2 - this.footRightOffset / 2;
323
+ this.y = this.clientHeight / 2 - this.footDownOffset / 2;
324
+ this.y=isNaN(this.y)?100:this.y
325
+ }
318
326
  }
319
327
  setTimeout(() => {
320
328
  this.draggableState = interact(`#draggable${that.id}`)
@@ -631,4 +639,14 @@ export default {
631
639
  z-index: 5;
632
640
  background-color: rgba(255,255,255,0);
633
641
  }
642
+ .drag-head > .title {
643
+ display: inline-block;
644
+ margin-right: 15px;
645
+ flex: 1;
646
+ cursor: move;
647
+ overflow: hidden;
648
+ text-overflow: ellipsis;
649
+ white-space: nowrap;
650
+ font-size: 16px;
651
+ }
634
652
  </style>
@@ -318,15 +318,19 @@ export default {
318
318
  init() {
319
319
  let that = this
320
320
  if(this.fixedStart) {
321
- const wid = document.getElementById('app').offsetWidth
322
- this.x = this.left + (wid-this.initWidth)/2
323
- this.y = this.top - document.documentElement.scrollTop
321
+ if(!this.isInitShowBottomRight) {
322
+ const wid = document.getElementById('app').offsetWidth
323
+ this.x = this.left + (wid-this.initWidth)/2
324
+ this.y = this.top - document.documentElement.scrollTop
325
+ }
324
326
  } else {
325
327
  this.clientWidth = document.documentElement.clientWidth;
326
328
  this.clientHeight = document.documentElement.clientHeight;
327
- this.x = this.clientWidth / 2 - this.footRightOffset / 2;
328
- this.y = this.clientHeight / 2 - this.footDownOffset / 2;
329
- this.y=isNaN(this.y)?100:this.y
329
+ if(!this.isInitShowBottomRight) {
330
+ this.x = this.clientWidth / 2 - this.footRightOffset / 2;
331
+ this.y = this.clientHeight / 2 - this.footDownOffset / 2;
332
+ this.y=isNaN(this.y)?100:this.y
333
+ }
330
334
  }
331
335
  setTimeout(() => {
332
336
  this.draggableState = interact(`#draggable${that.id}`)
@@ -24,7 +24,7 @@ const num = {
24
24
  export function butJson(editor, data) {
25
25
  return {
26
26
  switchingFormat: {
27
- name: '切换版式',
27
+ name: '选择版式',
28
28
  key: 'switchingFormat',
29
29
  menuKeys: [
30
30
  {
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <div ref="only" class="z-editor" :style="!readOnly&&showBorder?'border: 1px solid rgba(204, 204, 204, 1);':''">
2
+ <div ref="only" :class="`z-editor z-editor-${refSrc}`" :style="!readOnly&&showBorder?'border: 1px solid rgba(204, 204, 204, 1);':''">
3
3
  <div v-show="!readOnly" class="editor-header">
4
4
  <div v-for="(item,index) in butData" :key="index" class="editor-but">
5
5
  <div v-if="uploadTypeArr.indexOf(item.key) !== -1" class="editor-but-name">
@@ -73,7 +73,7 @@
73
73
  </div>-->
74
74
  </div>
75
75
  <zydx-chat v-model='isShowAi'></zydx-chat>
76
- <div :class="{'editor-content-show': !editableShow}" class="editor-content">
76
+ <div :class="[{'editor-content-show': !editableShow}, `editor-content-${refSrc}`]" class="editor-content">
77
77
  <div class="editing">
78
78
  <div v-if="signMenuShow" class="editing-header">
79
79
  <img :src="menusData('signMenu')?.ico" alt=""/>
@@ -828,7 +828,8 @@ export default {
828
828
  key: 'signMenu',
829
829
  text: '致用大学',
830
830
  ico: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABPCAYAAAB8kULjAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoyOThBN0E1NUNDM0QxMUU4QjNFQ0Y2RTQyQUQxOTZGQSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoyOThBN0E1NkNDM0QxMUU4QjNFQ0Y2RTQyQUQxOTZGQSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjI5OEE3QTUzQ0MzRDExRThCM0VDRjZFNDJBRDE5NkZBIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjI5OEE3QTU0Q0MzRDExRThCM0VDRjZFNDJBRDE5NkZBIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+WxRDagAAFoJJREFUeNrMnQl8VdXx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'
831
- }]
831
+ }],
832
+ refSrc: '',
832
833
  }
833
834
  },
834
835
  props: {
@@ -1027,6 +1028,7 @@ export default {
1027
1028
  },
1028
1029
  mounted() {
1029
1030
  const _this = this
1031
+ _this.refSrc = _this.randomId()
1030
1032
  _this.htmlJson = _this.html ? JSON.parse(JSON.stringify(_this.html)) : []
1031
1033
  // let dataHtml = json2html({node: "root", child: (_this.html === undefined || _this.html === null) ? [] : _this.html})
1032
1034
  this.interpositionData = _this.htmlJson.popupsData ? _this.htmlJson.popupsData.data : []
@@ -2136,7 +2138,7 @@ export default {
2136
2138
  readOnlyPage() { // 只读分页
2137
2139
  this.$nextTick(() => {
2138
2140
  this.htmlArr = []
2139
- const data = this.$refs['editing-cont'].$el.childNodes[0]?.childNodes//document.querySelectorAll('.editing-cont')[0]?.childNodes[0]?.childNodes
2141
+ const data = this.$refs['editing-cont']?.$el?.childNodes[0]?.childNodes//document.querySelectorAll('.editing-cont')[0]?.childNodes[0]?.childNodes
2140
2142
  this.wit = this.$refs['read-only'].offsetWidth//document.getElementsByClassName('read-only')[0]?.offsetWidth + 20
2141
2143
  if (this.wit > 900) {
2142
2144
  this.$refs['read-only'].style.width = '900px'
@@ -4350,11 +4352,11 @@ export default {
4350
4352
  const element = document.querySelector(`.${item.anchors}`)
4351
4353
  if (element) {
4352
4354
  if (this.readOnly) {
4353
- let bodys = document.querySelector(`.z-editor`)
4354
- bodys.scrollTop = element.offsetTop
4355
+ let body_s = document.querySelector(`.z-editor-${this.refSrc}`)
4356
+ body_s.scrollTop = element.offsetTop + 100
4355
4357
  } else {
4356
- let bodys = document.querySelector(`.editor-content`)
4357
- bodys.scrollTop = element.offsetTop + 70
4358
+ let body_s = document.querySelector(`.editor-content-${this.refSrc}`)
4359
+ body_s.scrollTop = element.offsetTop + 70
4358
4360
  }
4359
4361
 
4360
4362
  // element.scrollIntoView({behavior: 'smooth'});
@@ -308,6 +308,12 @@ export default {
308
308
  this.cancelResizeObserver()
309
309
  },
310
310
  methods: {
311
+ pointsAdd(v) {
312
+ this.points.push(v)
313
+ },
314
+ getPage() {
315
+ return this.pageIndex
316
+ },
311
317
  mouseUpTest(){
312
318
  if (this.isDrawing || this.checkDrawing) this.mouseUp()
313
319
  this.textMoveStart = false
@@ -1,24 +1,26 @@
1
1
  <template>
2
- <div class="read" :ref="refSrc">
3
- <vue-office-docx v-if="fileType === 'docx'" :src="url" style="height: 100%;" @rendered="renderedHandler" @error="errorHandler" />
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" ref="view-pdf" v-if="fileType === 'pdf'">
6
- <div class="pageContainer" v-for="(item,index) in idArr[`${refSrc}`]" :key="index">
7
- <canvas :id="item"></canvas>
8
- <div class="pdfPage">{{ index + 1 }}/{{ pdfPages }}</div>
9
- </div>
2
+ <div :ref="refSrc" class="read">
3
+ <vue-office-docx v-if="fileType === 'docx'" :src="url" style="height: 100%;" @error="errorHandler"
4
+ @rendered="renderedHandler"/>
5
+ <vue-office-excel v-if="fileType === 'xlsx' && xlsx" :src="url" style="height: 100%;" @error="errorHandler"
6
+ @rendered="renderedHandler"/>
7
+ <div v-if="fileType === 'pdf'" ref="view-pdf" class="view-pdf" @scroll="scroll">
8
+ <div v-for="(item,index) in idArr[`${refSrc}`]" :key="index" :ref="`pdfPage${index + 1}`" class="pageContainer">
9
+ <canvas :id="item"></canvas>
10
+ <div class="pdfPage">{{ index + 1 }}/{{ pdfPages }}</div>
10
11
  </div>
11
- <div class="mp4" v-if="fileType === 'mp4'">
12
- <video id="video" :src="url" controls></video>
13
- </div>
14
- <div class="mp3" v-if="fileType === 'mp3'">
15
- <audio :src="url" controls></audio>
16
- </div>
17
- <div v-if="loading" class="loading-back">
18
- <div class="loading-cont">
19
- <div class="loadings">Loading</div>
20
- </div>
12
+ </div>
13
+ <div v-if="fileType === 'mp4'" class="mp4">
14
+ <video id="video" :src="url" controls></video>
15
+ </div>
16
+ <div v-if="fileType === 'mp3'" class="mp3">
17
+ <audio :src="url" controls></audio>
18
+ </div>
19
+ <div v-if="loading" class="loading-back">
20
+ <div class="loading-cont">
21
+ <div class="loadings">Loading</div>
21
22
  </div>
23
+ </div>
22
24
  </div>
23
25
  </template>
24
26
 
@@ -36,336 +38,382 @@ import '@vue-office/excel/lib/index.css'
36
38
 
37
39
  import Mess from '../../tipBox/index'
38
40
  import {debounce} from "../../utils";
41
+
39
42
  let pdfs = {}
40
43
  export default {
41
- name: "zydx-read",
42
- components: {VueOfficeDocx,VueOfficeExcel},
43
- data() {
44
- return {
45
- fileType: null,
46
- PdfJs: null,
47
- svgArr: [],
48
- container: null,
49
- pdfPages: 0,
50
- loading: false,
51
- repeat: false,
52
- idArr: {},
53
- scales: 1.35,
54
- timer: null,
55
- pdf: null,
56
- page: 0,
57
- xlsx: true,
58
- canvasArr: {},
59
- pageIndex: 0,
60
- refSrc:'',
61
- resizeObserver:{},
62
- loadingTask:{},
63
- // pdfs:null
64
- }
44
+ name: "zydx-read",
45
+ components: {VueOfficeDocx, VueOfficeExcel},
46
+ data() {
47
+ return {
48
+ fileType: null,
49
+ PdfJs: null,
50
+ svgArr: [],
51
+ container: null,
52
+ pdfPages: 0,
53
+ loading: false,
54
+ repeat: false,
55
+ idArr: {},
56
+ scales: 1.35,
57
+ timer: null,
58
+ pdf: null,
59
+ page: 0,
60
+ xlsx: true,
61
+ canvasArr: {},
62
+ pageIndex: 0,
63
+ refSrc: '',
64
+ resizeObserver: {},
65
+ loadingTask: {},
66
+ // pdfs:null
67
+ }
68
+ },
69
+ props: {
70
+ url: {
71
+ type: String,
72
+ default: '',
65
73
  },
66
- props: {
67
- url: {
68
- type: String,
69
- default: '',
70
- },
71
- scale: {
72
- type: Number,
73
- default: 1.35
74
- },
75
- scaleStyle: {
76
- type: Object,
77
- default: () => {}
74
+ scale: {
75
+ type: Number,
76
+ default: 1.35
77
+ },
78
+ scaleStyle: {
79
+ type: Object,
80
+ default: () => {
81
+ }
82
+ },
83
+ },
84
+ watch: {
85
+ url: {
86
+ handler: function () {
87
+ this.refSrc = this.randomId()
88
+ this.idArr[`${this.refSrc}`] = []
89
+ this.repeatInit()
78
90
  },
91
+ deep: true,
92
+ immediate: true
79
93
  },
80
- watch: {
81
- url: {
82
- handler: function () {
83
- this.refSrc=this.randomId()
84
- this.idArr[`${this.refSrc}`] = []
85
- this.repeatInit()
86
- },
87
- deep: true,
88
- immediate: true
89
- },
90
- scaleStyle: {
91
- handler: function (val) {
92
- if(!val) return
93
- if (this.repeat) return
94
- if (this.timer) {
95
- clearTimeout(this.timer)
94
+ scaleStyle: {
95
+ handler: function (val) {
96
+ if (!val) return
97
+ if (this.repeat) return
98
+ if (this.timer) {
99
+ clearTimeout(this.timer)
100
+ }
101
+ this.timer = setTimeout(() => {
102
+ this.scales = val.width / 550
103
+ if (this.scales >= this.scale) {
104
+ this.scales = this.scale
96
105
  }
97
- this.timer = setTimeout(() => {
98
- this.scales = val.width / 550
99
- if(this.scales >= this.scale) {
100
- this.scales = this.scale
101
- }
102
- if(this.fileType === 'pdf') {
103
- if(val.width >= 800) return
104
- this.canvasArr[`${this.refSrc}`].map(item => {
105
- item.style.width = val.width + 'px'
106
- item.style.height = val.width*1.35 + 'px'
107
- })
108
- }
109
- if(this.fileType === 'xlsx') {
110
- this.xlsx = false
111
- setTimeout(() => {
112
- this.xlsx = true
113
- },0)
114
- }
115
- }, 200)
116
- },
117
- deep: true
106
+ if (this.fileType === 'pdf') {
107
+ if (val.width >= 800) return
108
+ this.canvasArr[`${this.refSrc}`].map(item => {
109
+ item.style.width = val.width + 'px'
110
+ item.style.height = val.width * 1.35 + 'px'
111
+ })
112
+ }
113
+ if (this.fileType === 'xlsx') {
114
+ this.xlsx = false
115
+ setTimeout(() => {
116
+ this.xlsx = true
117
+ }, 0)
118
+ }
119
+ }, 200)
120
+ },
121
+ deep: true
122
+ }
123
+ },
124
+ methods: {
125
+ errorHandler() {
126
+ Mess({
127
+ promptContent: '文件加载错误',
128
+ cancelShow: false
129
+ })
130
+ this.loading = false
131
+ },
132
+ repeatInit() {
133
+ if (this.repeat) return // 防止重复加载
134
+ this.repeat = true
135
+ this.fileType = this.url.split('.').pop()
136
+ if (this.fileType === 'pdf' || this.fileType === 'docx' || this.fileType === 'xlsx') {
137
+ this.loading = true
138
+ }
139
+ // if(this.fileType === 'mp4') this.videoFun()
140
+ if (this.fileType === 'pdf') {
141
+ this.init()
142
+ setTimeout(() => {
143
+ const el = this.$refs[`${this.refSrc}`];
144
+ this.resizeObserver[`${this.refSrc}`] = new ResizeObserver(() => {
145
+ this.refreshCanvas()
146
+ });
147
+ this.resizeObserver[`${this.refSrc}`].observe(el);
148
+ }, 300)
118
149
  }
150
+ setTimeout(() => {
151
+ this.repeat = false
152
+ }, 1000)
153
+ },
154
+ renderedHandler() {
155
+ this.loading = false
119
156
  },
120
- methods: {
121
- errorHandler() {
157
+ videoFun() {
158
+ const video = document.getElementById('video')
159
+ video.addEventListener('loadeddata', function () {
160
+ console.log(video);
161
+ });
162
+ },
163
+ init() {
164
+ let that = this
165
+ this.canvasArr[`${this.refSrc}`] = []
166
+ this.loadingTask[`${this.refSrc}`] = PdfJs.getDocument({
167
+ url: this.url,
168
+ cMapUrl: "/zydx/static/cmaps/",
169
+ cMapPacked: true
170
+ })
171
+ this.loadingTask[`${this.refSrc}`].promise.then((pdf) => {
172
+ pdfs[`${that.refSrc}`] = pdf
173
+ that.pdfPages = pdf.numPages // 获取pdf文件的总页数
174
+ that.page = pdf.numPages
175
+ that.pageIndex = that.page > 1 ? 2 : 1
176
+ that.getPDF(pdf, that.pageIndex)
177
+ }).catch(() => {
178
+ that.loading = false
122
179
  Mess({
123
180
  promptContent: '文件加载错误',
124
181
  cancelShow: false
125
182
  })
126
- this.loading = false
127
- },
128
- repeatInit() {
129
- if (this.repeat) return // 防止重复加载
130
- this.repeat = true
131
- this.fileType = this.url.split('.').pop()
132
- if(this.fileType === 'pdf' || this.fileType === 'docx' || this.fileType === 'xlsx') {
133
- this.loading = true
134
- }
135
- // if(this.fileType === 'mp4') this.videoFun()
136
- if (this.fileType === 'pdf') {
137
- this.init()
138
- setTimeout(()=>{
139
- const el = this.$refs[`${this.refSrc}`];
140
- this.resizeObserver[`${this.refSrc}`] = new ResizeObserver(() => {
141
- this.refreshCanvas()
142
- });
143
- this.resizeObserver[`${this.refSrc}`].observe(el);
144
- },300)
145
- }
146
- setTimeout(() => {
147
- this.repeat = false
148
- }, 1000)
149
- },
150
- renderedHandler() {
151
- this.loading = false
152
- },
153
- videoFun() {
154
- const video = document.getElementById('video')
155
- video.addEventListener('loadeddata', function() {
156
- console.log(video);
157
- });
158
- },
159
- init() {
160
- let that = this
161
- this.loadingTask[`${this.refSrc}`] = PdfJs.getDocument({
162
- url: this.url,
163
- cMapUrl: "/zydx/static/cmaps/",
164
- cMapPacked: true
165
- })
166
- this.loadingTask[`${this.refSrc}`].promise.then((pdf) => {
167
- pdfs[`${that.refSrc}`] = pdf
168
- that.pdfPages = pdf.numPages // 获取pdf文件的总页数
169
- that.page = pdf.numPages
170
- that.pageIndex = that.page > 1? 2:1
171
- that.getPDF(pdf,that.pageIndex)
172
- }).catch(() => {
173
- that.loading = false
174
- Mess({
175
- promptContent: '文件加载错误',
176
- cancelShow: false
177
- })
178
- })
179
- },
180
- scroll(e) {
181
- const dom = e.target
182
- var scrollTop = dom.scrollTop; //滑入屏幕上方的高度
183
- var windowHeitht = dom.clientHeight; //能看到的页面的高度
184
- var scrollHeight = dom.scrollHeight; //监控的整个div的高度(包括现在看到的和上下隐藏起来看不到的)
185
- let total = scrollTop + windowHeitht
186
- if(total >= scrollHeight - 50){
187
- if(this.pageIndex >= this.page) return
188
- if((this.page - this.pageIndex) >= 2) {
183
+ })
184
+ },
185
+ scroll(e) {
186
+ const dom = e.target
187
+ var scrollTop = dom.scrollTop; //滑入屏幕上方的高度
188
+ var windowHeitht = dom.clientHeight; //能看到的页面的高度
189
+ var scrollHeight = dom.scrollHeight; //监控的整个div的高度(包括现在看到的和上下隐藏起来看不到的)
190
+ let total = scrollTop + windowHeitht
191
+ if (total >= scrollHeight - 50) {
192
+ if (this.pageIndex >= this.page) return
193
+ if ((this.page - this.pageIndex) >= 2) {
194
+ this.pageIndex += 2
195
+ this.getPDF(pdfs[`${this.refSrc}`], 2)
196
+ } else {
197
+ this.pageIndex += 1
198
+ this.getPDF(pdfs[`${this.refSrc}`], 1)
199
+ }
200
+ }
201
+ },
202
+
203
+
204
+ async getPDF(pdf, page) {
205
+ let that = this
206
+ for (let i = 0; i < page; i++) {
207
+ const id = 'canvas' + Math.random().toString(36).substr(2)
208
+ that.idArr[`${that.refSrc}`].push(id)
209
+ await pdf.getPage(this.pageIndex === 1 ? 1 : this.pageIndex + i - 1).then(function (pdfPage) {
210
+ // let canvas = document.createElement('canvas')
211
+ let canvas = document.getElementById(id)
212
+ that.canvasArr[`${that.refSrc}`] = []
213
+ that.canvasArr[`${that.refSrc}`].push(canvas)
214
+ if (!canvas) return
215
+ let ctx = canvas.getContext('2d');
216
+ // let viewport = page.getViewport({scale: that.scales})
217
+ // canvas.width = viewport.width * 2
218
+ // canvas.height = viewport.height * 2
219
+ // canvas.style.width = viewport.width + 'px'
220
+ // canvas.style.height = viewport.height + 'px'
221
+
222
+ let boxWidth = that.$refs['view-pdf'].offsetWidth
223
+ let scales = (boxWidth / 846) * (boxWidth / (boxWidth - (boxWidth * 0.115 * 2)))
224
+ let viewport = pdfPage.getViewport({scale: scales})
225
+ const sc = viewport.width / viewport.height
226
+ const wid = boxWidth - 20
227
+ const hei = wid / sc
228
+ canvas.width = wid * 2
229
+ canvas.height = hei * 2
230
+ canvas.style.width = wid + 'px'
231
+ canvas.style.height = hei + 'px'
232
+ let renderContext = {
233
+ canvasContext: ctx,
234
+ viewport: viewport,
235
+ transform: [2, 0, 0, 2, 0, 0]
236
+ }
237
+ pdfPage.render(renderContext)
238
+ })
239
+ }
240
+ that.renderedHandler()
241
+ },
242
+ refreshCanvas: debounce(function () {
243
+ let that = this
244
+ that.idArr[`${that.refSrc}`].forEach((item, index) => {
245
+ pdfs[`${this.refSrc}`].getPage(index + 1).then(function (page) {
246
+ // let canvas = document.createElement('canvas')
247
+ let canvas = document.getElementById(item)
248
+ that.canvasArr[`${that.refSrc}`] = []
249
+ that.canvasArr[`${that.refSrc}`].push(canvas)
250
+ if (!canvas) return
251
+ let ctx = canvas.getContext('2d');
252
+ let boxWidth = that.$refs['view-pdf'].offsetWidth
253
+ let scales = (boxWidth / 846) * (boxWidth / (boxWidth - (boxWidth * 0.115 * 2)))
254
+ let viewport = page.getViewport({scale: scales})
255
+ const sc = viewport.width / viewport.height
256
+ const wid = boxWidth - 20
257
+ const hei = wid / sc
258
+ canvas.width = wid * 2
259
+ canvas.height = hei * 2
260
+ canvas.style.width = wid + 'px'
261
+ canvas.style.height = hei + 'px'
262
+ let renderContext = {
263
+ canvasContext: ctx,
264
+ viewport: viewport,
265
+ transform: [2, 0, 0, 2, 0, 0]
266
+ }
267
+ page.render(renderContext)
268
+ })
269
+ })
270
+ }, 50),
271
+ randomId() {
272
+ const id = Math.random().toString(36).substr(2)
273
+ return id.replace(/[0-9]/g, '')
274
+ },
275
+ async flipLeft(e) {
276
+ const element = this.$refs['view-pdf']
277
+ if (element) {
278
+ let cycleNum = 0
279
+ if (this.pageIndex < e) {
280
+ if ((e % 2) === 0) {
281
+ cycleNum = Math.floor((e / 2))
282
+ } else {
283
+ cycleNum = Math.floor((e / 2)) + 1
284
+ }
285
+ for (let i = 0; i < cycleNum; i++) {
286
+ if (this.pageIndex >= this.page) return
287
+ if ((this.page - this.pageIndex) >= 2) {
189
288
  this.pageIndex += 2
190
- this.getPDF(pdfs[`${this.refSrc}`],2)
191
- }else {
289
+ await this.getPDF(pdfs[`${this.refSrc}`], 2)
290
+ } else {
192
291
  this.pageIndex += 1
193
- this.getPDF(pdfs[`${this.refSrc}`],1)
292
+ await this.getPDF(pdfs[`${this.refSrc}`], 1)
194
293
  }
195
294
  }
196
- },
197
- getPDF(pdf,page) {
198
- let that = this
199
- for (let i = 0; i < page; i++) {
200
- const id = 'canvas' + Math.random().toString(36).substr(2)
201
- that.idArr[`${that.refSrc}`].push(id)
202
- pdf.getPage(this.pageIndex === 1? 1:this.pageIndex + i - 1).then(function (page) {
203
- // let canvas = document.createElement('canvas')
204
- let canvas = document.getElementById(id)
205
- that.canvasArr[`${that.refSrc}`]=[]
206
- that.canvasArr[`${that.refSrc}`].push(canvas)
207
- let ctx = canvas.getContext('2d');
208
- // let viewport = page.getViewport({scale: that.scales})
209
- // canvas.width = viewport.width * 2
210
- // canvas.height = viewport.height * 2
211
- // canvas.style.width = viewport.width + 'px'
212
- // canvas.style.height = viewport.height + 'px'
213
-
214
- let boxWidth = that.$refs['view-pdf'].offsetWidth
215
- let scales=(boxWidth/846)*(boxWidth/(boxWidth-(boxWidth*0.115*2)))
216
- let viewport = page.getViewport({scale: scales})
217
- const sc = viewport.width / viewport.height
218
- const wid = boxWidth - 20
219
- const hei = wid / sc
220
- canvas.width = wid * 2
221
- canvas.height = hei * 2
222
- canvas.style.width = wid + 'px'
223
- canvas.style.height = hei + 'px'
224
- let renderContext = {
225
- canvasContext: ctx,
226
- viewport: viewport,
227
- transform: [2, 0, 0, 2, 0, 0]
228
- }
229
- page.render(renderContext)
230
- })
231
- }
232
- that.renderedHandler()
233
- },
234
- refreshCanvas:debounce(function (){
235
- let that = this
236
- that.idArr[`${that.refSrc}`].forEach((item,index)=>{
237
- pdfs[`${this.refSrc}`].getPage( index + 1).then(function (page) {
238
- // let canvas = document.createElement('canvas')
239
- let canvas = document.getElementById(item)
240
- that.canvasArr[`${that.refSrc}`]=[]
241
- that.canvasArr[`${that.refSrc}`].push(canvas)
242
- let ctx = canvas.getContext('2d');
243
- let boxWidth = that.$refs['view-pdf'].offsetWidth
244
- let scales=(boxWidth/846)*(boxWidth/(boxWidth-(boxWidth*0.115*2)))
245
- let viewport = page.getViewport({scale: scales})
246
- const sc = viewport.width / viewport.height
247
- const wid = boxWidth - 20
248
- const hei = wid / sc
249
- canvas.width = wid * 2
250
- canvas.height = hei * 2
251
- canvas.style.width = wid + 'px'
252
- canvas.style.height = hei + 'px'
253
- let renderContext = {
254
- canvasContext: ctx,
255
- viewport: viewport,
256
- transform: [2, 0, 0, 2, 0, 0]
257
- }
258
- page.render(renderContext)
259
- })
260
- })
261
- },50),
262
- randomId() {
263
- const id = Math.random().toString(36).substr(2)
264
- return id.replace(/[0-9]/g, '')
265
295
  }
296
+ setTimeout(() => {
297
+ const body_s = this.$refs[`pdfPage${e}`][0]
298
+ element.scrollTop = body_s.offsetTop - 10
299
+ }, cycleNum * 60)
300
+ }
266
301
  }
302
+ }
267
303
  }
268
304
  </script>
269
305
 
270
306
  <style scoped>
271
- .pdfPage{
272
- position: absolute;
273
- bottom: 20px;
274
- left: 0;
275
- z-index: 1;
276
- text-align: center;
277
- font-size: 14px;
278
- color: #666;
279
- width: 100%;
307
+ .pdfPage {
308
+ position: absolute;
309
+ bottom: 20px;
310
+ left: 0;
311
+ z-index: 1;
312
+ text-align: center;
313
+ font-size: 14px;
314
+ color: #666;
315
+ width: 100%;
280
316
  }
281
- .pageContainer{
282
- width: 100%;
283
- /*box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);*/
284
- margin-bottom: 10px;
285
- display: inline-block;
286
- position: relative;
287
- box-sizing: border-box;
288
- overflow: hidden;
289
- border: 1px solid #cccccc;
317
+
318
+ .pageContainer {
319
+ width: 100%;
320
+ /*box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);*/
321
+ margin-bottom: 10px;
322
+ display: inline-block;
323
+ position: relative;
324
+ box-sizing: border-box;
325
+ overflow: hidden;
326
+ border: 1px solid #cccccc;
290
327
  }
291
- .mp4,.mp3{
292
- max-width: 100%;
293
- height: 100%;
294
- display: flex;
295
- align-items: center;
328
+
329
+ .mp4, .mp3 {
330
+ max-width: 100%;
331
+ height: 100%;
332
+ display: flex;
333
+ align-items: center;
296
334
  }
297
- .mp4 video,.mp3 audio{
298
- width: 100%;
299
- max-height: 100%;
335
+
336
+ .mp4 video, .mp3 audio {
337
+ width: 100%;
338
+ max-height: 100%;
300
339
  }
301
- .ppt{
302
- width: 100%;
303
- height: 100%;
340
+
341
+ .ppt {
342
+ width: 100%;
343
+ height: 100%;
304
344
  }
305
- .view-pdf{
306
- text-align: center;
307
- height: 100%;
308
- overflow: auto;
309
- padding: 10px;
345
+
346
+ .view-pdf {
347
+ text-align: center;
348
+ height: 100%;
349
+ overflow: auto;
350
+ padding: 10px;
310
351
  }
352
+
311
353
  .view-pdf::-webkit-scrollbar {
312
- width: 0
354
+ width: 0
313
355
  }
314
- .read{
315
- width: 100%;
316
- height: 100%;
317
- position: relative;
356
+
357
+ .read {
358
+ width: 100%;
359
+ height: 100%;
360
+ position: relative;
318
361
  }
362
+
319
363
  :deep(.vue-office-docx)::-webkit-scrollbar {
320
- width: 0
364
+ width: 0
321
365
  }
366
+
322
367
  :deep(.docx-wrapper) {
323
- background-color: #fff;
368
+ background-color: #fff;
324
369
  }
325
- .loading-back{
326
- position: absolute;
327
- top: 0;
328
- left: 0;
329
- right: 0;
330
- bottom: 0;
331
- z-index: 100;
332
- display: flex;
333
- align-items: center;
370
+
371
+ .loading-back {
372
+ position: absolute;
373
+ top: 0;
374
+ left: 0;
375
+ right: 0;
376
+ bottom: 0;
377
+ z-index: 100;
378
+ display: flex;
379
+ align-items: center;
334
380
  }
335
- .loading-cont{
336
- display: inline-block;
337
- margin: 0 auto;
381
+
382
+ .loading-cont {
383
+ display: inline-block;
384
+ margin: 0 auto;
338
385
  }
386
+
339
387
  .loadings {
340
- display: inline-block;
341
- font-size: 28px;
342
- font-family: Arial, Helvetica, sans-serif;
343
- font-weight: bold;
344
- color: #fff;
345
- text-shadow: 0 0 2px #ff3d00, 0 0 1px #ff3d00, 0 0 1px #ff3d00;
346
- letter-spacing: 2px;
347
- position: relative;
388
+ display: inline-block;
389
+ font-size: 28px;
390
+ font-family: Arial, Helvetica, sans-serif;
391
+ font-weight: bold;
392
+ color: #fff;
393
+ text-shadow: 0 0 2px #ff3d00, 0 0 1px #ff3d00, 0 0 1px #ff3d00;
394
+ letter-spacing: 2px;
395
+ position: relative;
348
396
  }
349
397
 
350
398
  .loadings::after {
351
- content: "Loading";
352
- position: absolute;
353
- left: 0;
354
- top: 0;
355
- color: #ff3d00;
356
- width: 0%;
357
- height: 100%;
358
- overflow: hidden;
359
- animation: loading-animation 6s linear infinite;
399
+ content: "Loading";
400
+ position: absolute;
401
+ left: 0;
402
+ top: 0;
403
+ color: #ff3d00;
404
+ width: 0%;
405
+ height: 100%;
406
+ overflow: hidden;
407
+ animation: loading-animation 6s linear infinite;
360
408
  }
361
409
 
362
410
  @keyframes loading-animation {
363
- 0% {
364
- width: 0%;
365
- }
411
+ 0% {
412
+ width: 0%;
413
+ }
366
414
 
367
- 100% {
368
- width: 100%;
369
- }
415
+ 100% {
416
+ width: 100%;
417
+ }
370
418
  }
371
419
  </style>
package/src/index.js CHANGED
@@ -89,7 +89,7 @@ function install(app) {
89
89
  }
90
90
 
91
91
  export default {
92
- version: '1.35.538',
92
+ version: '1.35.540',
93
93
  install,
94
94
  Calendar,
95
95
  Message,