zartui 1.0.2 → 2.0.2

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.
Files changed (191) hide show
  1. package/es/action-sheet/index.css +1 -1
  2. package/es/action-sheet/index.js +3 -3
  3. package/es/action-sheet/index.less +12 -8
  4. package/es/area/style/index.js +1 -0
  5. package/es/area/style/less.js +1 -0
  6. package/es/avatar/index.css +1 -1
  7. package/es/button/index.css +1 -1
  8. package/es/button/index.js +28 -13
  9. package/es/button/index.less +60 -27
  10. package/es/calendar/components/Header.js +1 -6
  11. package/es/calendar/index.css +1 -1
  12. package/es/calendar/index.js +31 -8
  13. package/es/calendar/index.less +16 -10
  14. package/es/cell/index.css +1 -1
  15. package/es/cell/index.js +62 -40
  16. package/es/cell/index.less +67 -12
  17. package/es/cell/shared.js +2 -0
  18. package/es/checkbox/index.css +1 -1
  19. package/es/checkbox/index.less +18 -15
  20. package/es/checkbox-group/index.js +1 -0
  21. package/es/datetime-picker/style/index.js +1 -0
  22. package/es/datetime-picker/style/less.js +1 -0
  23. package/es/field/index.css +1 -1
  24. package/es/field/index.js +94 -9
  25. package/es/field/index.less +81 -11
  26. package/es/hierarchy-select/hierarchySelect.js +1 -8
  27. package/es/hierarchy-select/index.css +1 -1
  28. package/es/hierarchy-select/index.js +6 -14
  29. package/es/hierarchy-select/index.less +4 -5
  30. package/es/hierarchy-select/markList.js +1 -16
  31. package/es/icon/index.css +1 -1
  32. package/es/image/index.css +1 -1
  33. package/es/image-preview/ImagePreview.js +1 -1
  34. package/es/image-preview/index.css +1 -1
  35. package/es/image-preview/index.less +4 -2
  36. package/es/index.js +3 -4
  37. package/es/loading/index.css +1 -1
  38. package/es/loading/index.js +3 -3
  39. package/es/loading/index.less +1 -1
  40. package/es/media-picker/image/PickFileIcon.js +2 -9
  41. package/es/media-picker/image/PickPhotoIcon.js +2 -9
  42. package/es/media-picker/image/TakeAudioIcon.js +2 -9
  43. package/es/media-picker/image/TakePhotoIcon.js +2 -9
  44. package/es/media-picker/image/TakeVideoIcon.js +2 -9
  45. package/es/media-picker/index.css +1 -1
  46. package/es/media-picker/index.js +22 -17
  47. package/es/media-picker/index.less +6 -4
  48. package/es/media-picker/style/index.js +4 -0
  49. package/es/media-picker/style/less.js +4 -0
  50. package/es/mixins/checkbox.js +12 -30
  51. package/es/multiple-picker/index.css +1 -1
  52. package/es/multiple-picker/index.js +18 -11
  53. package/es/multiple-picker/index.less +11 -7
  54. package/es/multiple-picker/style/index.js +1 -0
  55. package/es/multiple-picker/style/less.js +1 -0
  56. package/es/pdf-viewer/style/index.js +1 -0
  57. package/es/pdf-viewer/style/less.js +1 -0
  58. package/es/picker/index.css +1 -1
  59. package/es/picker/index.js +18 -9
  60. package/es/picker/index.less +18 -2
  61. package/es/picker/style/index.js +1 -0
  62. package/es/picker/style/less.js +1 -0
  63. package/es/popup/index.css +1 -1
  64. package/es/popup/index.js +120 -49
  65. package/es/popup/index.less +31 -2
  66. package/es/radio/index.css +1 -1
  67. package/es/radio/index.less +24 -29
  68. package/es/radio-group/index.js +1 -0
  69. package/es/search/index.css +1 -1
  70. package/es/search/index.js +1 -1
  71. package/es/search/index.less +31 -3
  72. package/es/signature/index.js +7 -6
  73. package/es/signature/index.less +1 -1
  74. package/es/step/index.css +1 -1
  75. package/es/step/index.js +3 -5
  76. package/es/step/index.less +3 -1
  77. package/es/stepper/index.css +1 -1
  78. package/es/steps/index.css +1 -1
  79. package/es/steps/index.less +3 -3
  80. package/es/style/reset.css +1 -1
  81. package/es/style/var.less +106 -62
  82. package/es/switch-cell/index.css +1 -1
  83. package/es/tabs/Title.js +6 -1
  84. package/es/tabs/index.css +1 -1
  85. package/es/tabs/index.js +2 -4
  86. package/es/tabs/index.less +18 -15
  87. package/es/toast/index.css +1 -1
  88. package/es/uploader/index.css +1 -1
  89. package/lib/action-sheet/index.css +1 -1
  90. package/lib/action-sheet/index.js +3 -3
  91. package/lib/action-sheet/index.less +12 -8
  92. package/lib/area/style/index.js +1 -0
  93. package/lib/area/style/less.js +1 -0
  94. package/lib/avatar/index.css +1 -1
  95. package/lib/button/index.css +1 -1
  96. package/lib/button/index.js +28 -13
  97. package/lib/button/index.less +60 -27
  98. package/lib/calendar/components/Header.js +1 -6
  99. package/lib/calendar/index.css +1 -1
  100. package/lib/calendar/index.js +31 -8
  101. package/lib/calendar/index.less +16 -10
  102. package/lib/cell/index.css +1 -1
  103. package/lib/cell/index.js +62 -40
  104. package/lib/cell/index.less +67 -12
  105. package/lib/cell/shared.js +2 -0
  106. package/lib/checkbox/index.css +1 -1
  107. package/lib/checkbox/index.less +18 -15
  108. package/lib/checkbox-group/index.js +1 -0
  109. package/lib/datetime-picker/style/index.js +1 -0
  110. package/lib/datetime-picker/style/less.js +1 -0
  111. package/lib/field/index.css +1 -1
  112. package/lib/field/index.js +94 -9
  113. package/lib/field/index.less +81 -11
  114. package/lib/hierarchy-select/hierarchySelect.js +1 -8
  115. package/lib/hierarchy-select/index.css +1 -1
  116. package/lib/hierarchy-select/index.js +6 -15
  117. package/lib/hierarchy-select/index.less +4 -5
  118. package/lib/hierarchy-select/markList.js +1 -16
  119. package/lib/icon/index.css +1 -1
  120. package/lib/image/index.css +1 -1
  121. package/lib/image-preview/ImagePreview.js +1 -1
  122. package/lib/image-preview/index.css +1 -1
  123. package/lib/image-preview/index.less +4 -2
  124. package/lib/index.css +1 -1
  125. package/lib/index.js +2 -6
  126. package/lib/index.less +3 -4
  127. package/lib/loading/index.css +1 -1
  128. package/lib/loading/index.js +3 -3
  129. package/lib/loading/index.less +1 -1
  130. package/lib/media-picker/image/PickFileIcon.js +2 -9
  131. package/lib/media-picker/image/PickPhotoIcon.js +2 -9
  132. package/lib/media-picker/image/TakeAudioIcon.js +2 -9
  133. package/lib/media-picker/image/TakePhotoIcon.js +2 -9
  134. package/lib/media-picker/image/TakeVideoIcon.js +2 -9
  135. package/lib/media-picker/index.css +1 -1
  136. package/lib/media-picker/index.js +22 -11
  137. package/lib/media-picker/index.less +6 -4
  138. package/lib/media-picker/style/index.js +4 -0
  139. package/lib/media-picker/style/less.js +4 -0
  140. package/lib/mixins/checkbox.js +12 -30
  141. package/lib/multiple-picker/index.css +1 -1
  142. package/lib/multiple-picker/index.js +19 -11
  143. package/lib/multiple-picker/index.less +11 -7
  144. package/lib/multiple-picker/style/index.js +1 -0
  145. package/lib/multiple-picker/style/less.js +1 -0
  146. package/lib/pdf-viewer/style/index.js +1 -0
  147. package/lib/pdf-viewer/style/less.js +1 -0
  148. package/lib/picker/index.css +1 -1
  149. package/lib/picker/index.js +19 -9
  150. package/lib/picker/index.less +18 -2
  151. package/lib/picker/style/index.js +1 -0
  152. package/lib/picker/style/less.js +1 -0
  153. package/lib/popup/index.css +1 -1
  154. package/lib/popup/index.js +120 -49
  155. package/lib/popup/index.less +31 -2
  156. package/lib/radio/index.css +1 -1
  157. package/lib/radio/index.less +24 -29
  158. package/lib/radio-group/index.js +1 -0
  159. package/lib/search/index.css +1 -1
  160. package/lib/search/index.js +1 -1
  161. package/lib/search/index.less +31 -3
  162. package/lib/signature/index.js +7 -6
  163. package/lib/signature/index.less +1 -1
  164. package/lib/step/index.css +1 -1
  165. package/lib/step/index.js +3 -5
  166. package/lib/step/index.less +3 -1
  167. package/lib/stepper/index.css +1 -1
  168. package/lib/steps/index.css +1 -1
  169. package/lib/steps/index.less +3 -3
  170. package/lib/style/reset.css +1 -1
  171. package/lib/style/var.less +106 -62
  172. package/lib/switch-cell/index.css +1 -1
  173. package/lib/tabs/Title.js +6 -1
  174. package/lib/tabs/index.css +1 -1
  175. package/lib/tabs/index.js +2 -4
  176. package/lib/tabs/index.less +18 -15
  177. package/lib/toast/index.css +1 -1
  178. package/lib/uploader/index.css +1 -1
  179. package/lib/zart.js +1199 -2181
  180. package/lib/zart.min.js +4 -4
  181. package/package.json +5 -6
  182. package/es/pdf-viewer-v2/index.css +0 -1
  183. package/es/pdf-viewer-v2/index.js +0 -231
  184. package/es/pdf-viewer-v2/index.less +0 -40
  185. package/es/pdf-viewer-v2/style/index.js +0 -8
  186. package/es/pdf-viewer-v2/style/less.js +0 -8
  187. package/lib/pdf-viewer-v2/index.css +0 -1
  188. package/lib/pdf-viewer-v2/index.js +0 -242
  189. package/lib/pdf-viewer-v2/index.less +0 -40
  190. package/lib/pdf-viewer-v2/style/index.js +0 -8
  191. package/lib/pdf-viewer-v2/style/less.js +0 -8
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zartui",
3
- "version": "1.0.2",
3
+ "version": "2.0.2",
4
4
  "description": "",
5
5
  "main": "lib/zart.js",
6
6
  "module": "es/index.js",
@@ -41,7 +41,7 @@
41
41
  "url-loader": "^4.1.1",
42
42
  "vue": "^2.6.11",
43
43
  "vue-template-compiler": "^2.6.11",
44
- "zart-cli": "^2.20.2"
44
+ "zart-cli": "^20.0.7"
45
45
  },
46
46
  "eslintConfig": {
47
47
  "root": true,
@@ -63,15 +63,14 @@
63
63
  ],
64
64
  "dependencies": {
65
65
  "@babel/runtime": "^7.15.4",
66
- "@egova/media": "^0.0.12",
67
- "@egova/util": "^0.0.6",
68
66
  "@vant/popperjs": "^1.1.0",
69
67
  "@vue/babel-helper-vue-jsx-merge-props": "^1.2.1",
70
68
  "egova-vue-pdf": "4.2.11",
71
69
  "lodash": "^4.17.21",
72
- "pdfjs-dist": "^2.16.105",
73
70
  "vue-i18n": "^8.25.0",
74
71
  "vue-lazyload": "^1.3.3",
75
- "zart-icons": "^1.5.7"
72
+ "zart-icons": "^2.0.4",
73
+ "@egova/util": "^0.0.6",
74
+ "@egova/media": "^0.0.12"
76
75
  }
77
76
  }
@@ -1 +0,0 @@
1
- .zt-pdf-viewer-v2{width:100%;height:100%;position:relative}.zt-pdf-viewer-v2::-webkit-scrollbar{width:0;height:0}.zt-pdf-viewer-v2__page-box{width:100%;height:44px;background-color:#fff;position:fixed;bottom:0;left:0;text-align:center;font-size:16px;line-height:44px}.zt-pdf-viewer-v2__page-box .zt-pdf-viewer-v2__next,.zt-pdf-viewer-v2__page-box .zt-pdf-viewer-v2__pre{cursor:pointer;color:#3a90f6}.zt-pdf-viewer-v2__page-box .zt-pdf-viewer-v2__page{margin:0 10px}.zt-pdf-viewer-v2 .zt-loading{position:absolute;top:50%;left:50%;margin-left:-18px;margin-top:-18px}
@@ -1,231 +0,0 @@
1
- import { createNamespace } from '../utils';
2
-
3
- var _createNamespace = createNamespace('pdf-viewer-v2'),
4
- createComponent = _createNamespace[0],
5
- bem = _createNamespace[1];
6
-
7
- import Toast from '../toast';
8
- import Loading from '../loading';
9
- import { resetObject } from "../utils/index";
10
-
11
- var defaultData = function defaultData() {
12
- return {
13
- pdfDocRef: null,
14
- totalPage: 0,
15
- currentPage: 1,
16
- loading: false,
17
- PDFJS: null
18
- };
19
- };
20
-
21
- export default createComponent({
22
- props: {
23
- /**
24
- * pdf地址
25
- */
26
- pdfUrl: {
27
- type: String,
28
- default: ""
29
- },
30
-
31
- /**
32
- * cMap的url地址(用于解决中文乱码或中文显示为空白的问题). 该资源的物理路径在: node_modules/pdfjs-dist/cmaps
33
- */
34
- cMapUrl: {
35
- type: String,
36
- default: ""
37
- },
38
-
39
- /**
40
- * 携带的特定http请求头
41
- */
42
- httpHeaders: {
43
- type: Object,
44
- default: function _default() {
45
- return {};
46
- }
47
- }
48
- },
49
- data: function data() {
50
- return defaultData();
51
- },
52
- mounted: function mounted() {
53
- this.reset();
54
- this.renderPdf();
55
- },
56
- deactivated: function deactivated() {
57
- this.pdfDocRef.destroy();
58
- },
59
- computed: {
60
- urlObj: function urlObj() {
61
- return {
62
- pdfUrl: this.pdfUrl,
63
- cMapUrl: this.cMapUrl
64
- };
65
- }
66
- },
67
- watch: {
68
- urlObj: function urlObj() {
69
- this.reset();
70
- this.renderPdf();
71
- }
72
- },
73
- methods: {
74
- reset: function reset() {
75
- resetObject(this, defaultData());
76
- },
77
-
78
- /**
79
- * 渲染pdf文件的指定页到画板
80
- * @param pdfViewerDom 承载pdf画板的dom容器
81
- * @param pdfDoc pdf文件
82
- * @param pageNum 需要渲染的页码
83
- */
84
- renderPdfOnePage: function renderPdfOnePage(pdfViewerDom, pdfDoc, pageNum) {
85
- var _this = this;
86
-
87
- // 创建画布
88
- var canvas = document.createElement("canvas");
89
- canvas.id = "pdfCanvas" + pageNum;
90
- pdfViewerDom.appendChild(canvas); // 获取2d上下文
91
-
92
- var context = canvas.getContext("2d");
93
- pdfDoc.getPage(pageNum).then(function (page) {
94
- // 获取当前pdf页内容, 并设置缩放
95
- var viewport = page.getViewport({
96
- scale: 1
97
- });
98
- var width = viewport.width;
99
-
100
- _this.$nextTick(function () {
101
- var containerWidth = _this.$refs.pdfContainer.offsetWidth;
102
- var ratio = containerWidth / width;
103
- viewport = page.getViewport({
104
- scale: ratio
105
- }); // @ts-ignore
106
-
107
- var realCanvas = context.canvas;
108
- realCanvas.width = viewport.width;
109
- realCanvas.height = viewport.height; // 将pdf当前页内容画到2d画板中
110
- // @ts-ignore
111
-
112
- page.render({
113
- canvasContext: context,
114
- viewport: viewport
115
- });
116
- });
117
- });
118
- },
119
-
120
- /**
121
- * 渲染pdf的画布
122
- * @param pdfViewerDom 承载pdf画布的dom容器
123
- * @param pdfDoc pdf文档
124
- */
125
- renderPdfCanvas: function renderPdfCanvas(pdfViewerDom, pdfDoc) {
126
- // 清除原来的pdf画布
127
- pdfViewerDom.innerHTML = ""; // 获取总页数
128
-
129
- this.totalPage = pdfDoc.numPages;
130
- this.loading = false; // 获取显示容器
131
-
132
- for (var i = 1; i <= this.totalPage; i++) {
133
- // 循环处理pdf的每页
134
- this.renderPdfOnePage(pdfViewerDom, pdfDoc, i);
135
- }
136
- },
137
- renderPdf: function renderPdf() {
138
- var _this2 = this;
139
-
140
- if (!this.PDFJS) {
141
- this.PDFJS = window['pdfjs-dist/build/pdf'];
142
- console.log("window['pdfjs-dist/build/pdf']", window['pdfjs-dist/build/pdf']);
143
-
144
- if (this.PDFJS && this.PDFJS.GlobalWorkerOptions) {
145
- this.PDFJS.GlobalWorkerOptions.workerSrc = require("pdfjs-dist/build/pdf.worker.entry");
146
- }
147
- }
148
-
149
- this.loading = true;
150
- var pdfViewerDom = this.$refs.pdfViewerContainer;
151
-
152
- if (this.pdfUrl) {
153
- // 获取pdf文件
154
- var pdfLoadingTask = this.PDFJS.getDocument({
155
- url: this.pdfUrl,
156
- withCredentials: true,
157
- // 携带凭证
158
- httpHeaders: this.httpHeaders,
159
- cMapUrl: this.cMapUrl,
160
- cMapPacked: true
161
- });
162
- pdfLoadingTask.promise.then(function (pdfDoc) {
163
- if (pdfDoc && pdfViewerDom) {
164
- // 缓存pdf内容
165
- _this2.pdfDocRef = pdfDoc;
166
-
167
- _this2.renderPdfCanvas(pdfViewerDom, pdfDoc);
168
- }
169
- });
170
- }
171
- },
172
- changePage: function changePage(count) {
173
- var page = this.currentPage + count;
174
-
175
- if (page < 1) {
176
- Toast("已经是首页");
177
- return;
178
- }
179
-
180
- if (page > this.totalPage) {
181
- Toast("已经是最后一页");
182
- return;
183
- }
184
-
185
- if (document.getElementById("pdfCanvas" + page)) {
186
- document.getElementById("pdfCanvas" + page).scrollIntoView(false);
187
- }
188
-
189
- this.currentPage = page;
190
- },
191
- clickPre: function clickPre() {
192
- this.changePage(-1);
193
- },
194
- clickNext: function clickNext() {
195
- this.changePage(1);
196
- }
197
- },
198
- render: function render(h) {
199
- return h("div", {
200
- "class": bem(),
201
- "ref": "pdfContainer"
202
- }, [h(Loading, {
203
- "directives": [{
204
- name: "show",
205
- value: this.loading
206
- }],
207
- "class": bem('loading-icon')
208
- }), h("div", {
209
- "directives": [{
210
- name: "show",
211
- value: !this.loading
212
- }],
213
- "ref": "pdfViewerContainer",
214
- "class": bem("container")
215
- }), this.totalPage ? h("div", {
216
- "class": bem("page-box")
217
- }, [h("span", {
218
- "class": bem("pre"),
219
- "on": {
220
- "click": this.clickPre
221
- }
222
- }, ["<"]), h("span", {
223
- "class": bem("page")
224
- }, [this.currentPage, "/", this.totalPage]), h("span", {
225
- "class": bem("next"),
226
- "on": {
227
- "click": this.clickNext
228
- }
229
- }, [">"])]) : h()]);
230
- }
231
- });
@@ -1,40 +0,0 @@
1
- @import '../style/var';
2
- .zt-pdf-viewer-v2 {
3
- width: 100%;
4
- height: 100%;
5
- position: relative;
6
-
7
- &::-webkit-scrollbar {
8
- width: 0;
9
- height: 0;
10
- }
11
-
12
- &__page-box {
13
- width: 100%;
14
- height: 44px;
15
- background-color: #fff;
16
- position: fixed;
17
- bottom: 0;
18
- left: 0;
19
- text-align: center;
20
- font-size: 16px;
21
- line-height: 44px;
22
-
23
- .zt-pdf-viewer-v2__pre, .zt-pdf-viewer-v2__next {
24
- cursor: pointer;
25
- color: #3a90f6;
26
- }
27
-
28
- .zt-pdf-viewer-v2__page {
29
- margin: 0 10px;
30
- }
31
- }
32
-
33
- .zt-loading {
34
- position: absolute;
35
- top: 50%;
36
- left: 50%;
37
- margin-left: -18px;
38
- margin-top: -18px;
39
- }
40
- }
@@ -1,8 +0,0 @@
1
- import '../../style/base.css';
2
- import '../../overlay/index.css';
3
- import '../../info/index.css';
4
- import '../../icon/index.css';
5
- import '../../popup/index.css';
6
- import '../../loading/index.css';
7
- import '../../toast/index.css';
8
- import '../index.css';
@@ -1,8 +0,0 @@
1
- import '../../style/base.less';
2
- import '../../overlay/index.less';
3
- import '../../info/index.less';
4
- import '../../icon/index.less';
5
- import '../../popup/index.less';
6
- import '../../loading/index.less';
7
- import '../../toast/index.less';
8
- import '../index.less';
@@ -1 +0,0 @@
1
- .zt-pdf-viewer-v2{width:100%;height:100%;position:relative}.zt-pdf-viewer-v2::-webkit-scrollbar{width:0;height:0}.zt-pdf-viewer-v2__page-box{width:100%;height:44px;background-color:#fff;position:fixed;bottom:0;left:0;text-align:center;font-size:16px;line-height:44px}.zt-pdf-viewer-v2__page-box .zt-pdf-viewer-v2__next,.zt-pdf-viewer-v2__page-box .zt-pdf-viewer-v2__pre{cursor:pointer;color:#3a90f6}.zt-pdf-viewer-v2__page-box .zt-pdf-viewer-v2__page{margin:0 10px}.zt-pdf-viewer-v2 .zt-loading{position:absolute;top:50%;left:50%;margin-left:-18px;margin-top:-18px}
@@ -1,242 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- exports.__esModule = true;
6
- exports.default = void 0;
7
-
8
- var _utils = require("../utils");
9
-
10
- var _toast = _interopRequireDefault(require("../toast"));
11
-
12
- var _loading = _interopRequireDefault(require("../loading"));
13
-
14
- var _index = require("../utils/index");
15
-
16
- var _createNamespace = (0, _utils.createNamespace)('pdf-viewer-v2'),
17
- createComponent = _createNamespace[0],
18
- bem = _createNamespace[1];
19
-
20
- var defaultData = function defaultData() {
21
- return {
22
- pdfDocRef: null,
23
- totalPage: 0,
24
- currentPage: 1,
25
- loading: false,
26
- PDFJS: null
27
- };
28
- };
29
-
30
- var _default2 = createComponent({
31
- props: {
32
- /**
33
- * pdf地址
34
- */
35
- pdfUrl: {
36
- type: String,
37
- default: ""
38
- },
39
-
40
- /**
41
- * cMap的url地址(用于解决中文乱码或中文显示为空白的问题). 该资源的物理路径在: node_modules/pdfjs-dist/cmaps
42
- */
43
- cMapUrl: {
44
- type: String,
45
- default: ""
46
- },
47
-
48
- /**
49
- * 携带的特定http请求头
50
- */
51
- httpHeaders: {
52
- type: Object,
53
- default: function _default() {
54
- return {};
55
- }
56
- }
57
- },
58
- data: function data() {
59
- return defaultData();
60
- },
61
- mounted: function mounted() {
62
- this.reset();
63
- this.renderPdf();
64
- },
65
- deactivated: function deactivated() {
66
- this.pdfDocRef.destroy();
67
- },
68
- computed: {
69
- urlObj: function urlObj() {
70
- return {
71
- pdfUrl: this.pdfUrl,
72
- cMapUrl: this.cMapUrl
73
- };
74
- }
75
- },
76
- watch: {
77
- urlObj: function urlObj() {
78
- this.reset();
79
- this.renderPdf();
80
- }
81
- },
82
- methods: {
83
- reset: function reset() {
84
- (0, _index.resetObject)(this, defaultData());
85
- },
86
-
87
- /**
88
- * 渲染pdf文件的指定页到画板
89
- * @param pdfViewerDom 承载pdf画板的dom容器
90
- * @param pdfDoc pdf文件
91
- * @param pageNum 需要渲染的页码
92
- */
93
- renderPdfOnePage: function renderPdfOnePage(pdfViewerDom, pdfDoc, pageNum) {
94
- var _this = this;
95
-
96
- // 创建画布
97
- var canvas = document.createElement("canvas");
98
- canvas.id = "pdfCanvas" + pageNum;
99
- pdfViewerDom.appendChild(canvas); // 获取2d上下文
100
-
101
- var context = canvas.getContext("2d");
102
- pdfDoc.getPage(pageNum).then(function (page) {
103
- // 获取当前pdf页内容, 并设置缩放
104
- var viewport = page.getViewport({
105
- scale: 1
106
- });
107
- var width = viewport.width;
108
-
109
- _this.$nextTick(function () {
110
- var containerWidth = _this.$refs.pdfContainer.offsetWidth;
111
- var ratio = containerWidth / width;
112
- viewport = page.getViewport({
113
- scale: ratio
114
- }); // @ts-ignore
115
-
116
- var realCanvas = context.canvas;
117
- realCanvas.width = viewport.width;
118
- realCanvas.height = viewport.height; // 将pdf当前页内容画到2d画板中
119
- // @ts-ignore
120
-
121
- page.render({
122
- canvasContext: context,
123
- viewport: viewport
124
- });
125
- });
126
- });
127
- },
128
-
129
- /**
130
- * 渲染pdf的画布
131
- * @param pdfViewerDom 承载pdf画布的dom容器
132
- * @param pdfDoc pdf文档
133
- */
134
- renderPdfCanvas: function renderPdfCanvas(pdfViewerDom, pdfDoc) {
135
- // 清除原来的pdf画布
136
- pdfViewerDom.innerHTML = ""; // 获取总页数
137
-
138
- this.totalPage = pdfDoc.numPages;
139
- this.loading = false; // 获取显示容器
140
-
141
- for (var i = 1; i <= this.totalPage; i++) {
142
- // 循环处理pdf的每页
143
- this.renderPdfOnePage(pdfViewerDom, pdfDoc, i);
144
- }
145
- },
146
- renderPdf: function renderPdf() {
147
- var _this2 = this;
148
-
149
- if (!this.PDFJS) {
150
- this.PDFJS = window['pdfjs-dist/build/pdf'];
151
- console.log("window['pdfjs-dist/build/pdf']", window['pdfjs-dist/build/pdf']);
152
-
153
- if (this.PDFJS && this.PDFJS.GlobalWorkerOptions) {
154
- this.PDFJS.GlobalWorkerOptions.workerSrc = require("pdfjs-dist/build/pdf.worker.entry");
155
- }
156
- }
157
-
158
- this.loading = true;
159
- var pdfViewerDom = this.$refs.pdfViewerContainer;
160
-
161
- if (this.pdfUrl) {
162
- // 获取pdf文件
163
- var pdfLoadingTask = this.PDFJS.getDocument({
164
- url: this.pdfUrl,
165
- withCredentials: true,
166
- // 携带凭证
167
- httpHeaders: this.httpHeaders,
168
- cMapUrl: this.cMapUrl,
169
- cMapPacked: true
170
- });
171
- pdfLoadingTask.promise.then(function (pdfDoc) {
172
- if (pdfDoc && pdfViewerDom) {
173
- // 缓存pdf内容
174
- _this2.pdfDocRef = pdfDoc;
175
-
176
- _this2.renderPdfCanvas(pdfViewerDom, pdfDoc);
177
- }
178
- });
179
- }
180
- },
181
- changePage: function changePage(count) {
182
- var page = this.currentPage + count;
183
-
184
- if (page < 1) {
185
- (0, _toast.default)("已经是首页");
186
- return;
187
- }
188
-
189
- if (page > this.totalPage) {
190
- (0, _toast.default)("已经是最后一页");
191
- return;
192
- }
193
-
194
- if (document.getElementById("pdfCanvas" + page)) {
195
- document.getElementById("pdfCanvas" + page).scrollIntoView(false);
196
- }
197
-
198
- this.currentPage = page;
199
- },
200
- clickPre: function clickPre() {
201
- this.changePage(-1);
202
- },
203
- clickNext: function clickNext() {
204
- this.changePage(1);
205
- }
206
- },
207
- render: function render(h) {
208
- return h("div", {
209
- "class": bem(),
210
- "ref": "pdfContainer"
211
- }, [h(_loading.default, {
212
- "directives": [{
213
- name: "show",
214
- value: this.loading
215
- }],
216
- "class": bem('loading-icon')
217
- }), h("div", {
218
- "directives": [{
219
- name: "show",
220
- value: !this.loading
221
- }],
222
- "ref": "pdfViewerContainer",
223
- "class": bem("container")
224
- }), this.totalPage ? h("div", {
225
- "class": bem("page-box")
226
- }, [h("span", {
227
- "class": bem("pre"),
228
- "on": {
229
- "click": this.clickPre
230
- }
231
- }, ["<"]), h("span", {
232
- "class": bem("page")
233
- }, [this.currentPage, "/", this.totalPage]), h("span", {
234
- "class": bem("next"),
235
- "on": {
236
- "click": this.clickNext
237
- }
238
- }, [">"])]) : h()]);
239
- }
240
- });
241
-
242
- exports.default = _default2;
@@ -1,40 +0,0 @@
1
- @import '../style/var';
2
- .zt-pdf-viewer-v2 {
3
- width: 100%;
4
- height: 100%;
5
- position: relative;
6
-
7
- &::-webkit-scrollbar {
8
- width: 0;
9
- height: 0;
10
- }
11
-
12
- &__page-box {
13
- width: 100%;
14
- height: 44px;
15
- background-color: #fff;
16
- position: fixed;
17
- bottom: 0;
18
- left: 0;
19
- text-align: center;
20
- font-size: 16px;
21
- line-height: 44px;
22
-
23
- .zt-pdf-viewer-v2__pre, .zt-pdf-viewer-v2__next {
24
- cursor: pointer;
25
- color: #3a90f6;
26
- }
27
-
28
- .zt-pdf-viewer-v2__page {
29
- margin: 0 10px;
30
- }
31
- }
32
-
33
- .zt-loading {
34
- position: absolute;
35
- top: 50%;
36
- left: 50%;
37
- margin-left: -18px;
38
- margin-top: -18px;
39
- }
40
- }
@@ -1,8 +0,0 @@
1
- require('../../style/base.css');
2
- require('../../overlay/index.css');
3
- require('../../info/index.css');
4
- require('../../icon/index.css');
5
- require('../../popup/index.css');
6
- require('../../loading/index.css');
7
- require('../../toast/index.css');
8
- require('../index.css');
@@ -1,8 +0,0 @@
1
- require('../../style/base.less');
2
- require('../../overlay/index.less');
3
- require('../../info/index.less');
4
- require('../../icon/index.less');
5
- require('../../popup/index.less');
6
- require('../../loading/index.less');
7
- require('../../toast/index.less');
8
- require('../index.less');