@toolspack/ttd-pdfjs 0.1.3 → 0.1.4

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.
@@ -1,198 +1,198 @@
1
- <template lang="html">
2
- <div class="ttd-pdfjs-switch-page" ref=switchPageBox>
3
- <div class='switch-page-btn'>
4
- <el-button size="mini" @click="switchPage('prev')" icon=el-icon-arrow-up>上一页</el-button>
5
- <el-button size="mini" @click="switchPage('next')" icon=el-icon-arrow-down>下一页</el-button>
6
- <span style="margin-left: 6px">
7
- <el-input v-model.number="itemPage" style="width: 50px;margin: 0 4px; font-size:14px;" size="mini"
8
- @keyup.native.enter="goPage" @change="goPage"></el-input>/{{numPages}}
9
- </span>
10
- </div>
11
- <div class='switch-page-scale'>
12
- <el-button size="mini" :disabled="!zoomEnable" @click="zoomIn" icon=el-icon-minus></el-button>
13
- <el-button size="mini" :disabled="!zoomEnable" @click="zoomOut" icon=el-icon-plus></el-button>
14
- <el-select v-model="itemScale" :disabled="!zoomEnable" @change=onZoomChange size="mini" style="margin-left:10px" placeholder="请选择">
15
- <el-option
16
- v-for="item in EnumOptions"
17
- :key="item.value"
18
- :label="item.label"
19
- :value="item.value">
20
- </el-option>
21
- </el-select>
22
- </div>
23
- <div class='switch-page-rotate'>
24
- <el-button size="mini" @click="rotateRight" :disabled="!rotateEnable" icon=el-icon-refresh-right>
25
- <span class=hidden-text>顺时针旋转</span>
26
- </el-button>
27
- <el-button size="mini" @click="rotateLeft" :disabled="!rotateEnable" icon=el-icon-refresh-left>
28
- <span class=hidden-text>逆时针旋转</span>
29
- </el-button>
30
- </div>
31
- </div>
32
- </template>
33
-
34
- <script>
35
- import { maxscale, minscale } from './PdfView216.vue'
36
-
37
- export const EnumOptions = [
38
- // { label: '自动缩放', value: '' },
39
- // { label: '实际大小', value: '' },
40
- // { label: '适合页面', value: '' },
41
- // { label: '适合页宽', value: 'auto' },
42
- { label: '50%', value: '50%' },
43
- { label: '75%', value: '75%' },
44
- { label: '100%', value: '100%' },
45
- { label: '125%', value: '125%' },
46
- { label: '150%', value: '150%' },
47
- { label: '200%', value: '200%' },
48
- { label: '300%', value: '300%' },
49
- ]
50
- export default {
51
- name: 'switch-page',
52
- props: {
53
- numPages: {
54
- type: [Number, String],
55
- },
56
- page: {
57
- type: [Number, String],
58
- default: 1,
59
- },
60
- scale: {
61
- type: [Number],
62
- default: 1,
63
- },
64
- zoomEnable: {
65
- type: [String, Number, Boolean],
66
- default: false,
67
- },
68
- rotateEnable: {
69
- type: [String, Number, Boolean],
70
- default: false,
71
- },
72
- },
73
- data() {
74
- return {
75
- itemPage: '', // 内部保存的页码,
76
- EnumOptions,
77
- itemScale: 'auto',
78
- itemRotate: 0,
79
- }
80
- },
81
- watch: {
82
- page: {
83
- handler(value) {
84
- this.itemPage = value
85
- },
86
- immediate: true,
87
- },
88
- numPages: {
89
- handler(value) {
90
- this.itemPage = 1
91
- },
92
- },
93
- scale: {
94
- handler(value) {
95
- this.itemScale = `${Math.round(value * 100)}%`
96
- },
97
- immediate: true,
98
- },
99
- },
100
- methods: {
101
- mounted() {
102
-
103
- },
104
- switchPage(str) {
105
- if (str === 'prev') {
106
- if (this.itemPage === 1) {
107
- return
108
- }
109
- this.itemPage--
110
- }
111
- if (str === 'next') {
112
- if (this.itemPage === this.numPages) {
113
- this.$message({ message: '当前已是最后一页', type: 'warning' })
114
- return
115
- }
116
- this.itemPage++
117
- }
118
- this.$emit('page', this.itemPage)
119
- },
120
- setPage(page = 1) {
121
- this.itemPage = page
122
- },
123
- goPage() {
124
- if (this.itemPage > 0) {
125
- if (this.itemPage >= this.numPages) {
126
- this.itemPage = this.numPages
127
- }
128
- } else {
129
- this.itemPage = 1
130
- }
131
- this.$emit('page', this.itemPage)
132
- },
133
- zoomIn() {
134
- let numScale = window.parseInt(this.itemScale)
135
- if (Number.isNaN(numScale)) {
136
- numScale = 100
137
- this.itemScale = `${numScale}%`
138
- this.$emit('zoom', numScale / 100)
139
- }
140
- if (numScale > minscale * 100) {
141
- numScale -= 10
142
- this.itemScale = `${numScale}%`
143
- this.$emit('zoom', numScale / 100)
144
- }
145
- },
146
- zoomOut() {
147
- let numScale = window.parseInt(this.itemScale)
148
- if (Number.isNaN(numScale)) {
149
- numScale = 100
150
- this.itemScale = `${numScale}%`
151
- this.$emit('zoom', numScale / 100)
152
- }
153
- if (numScale < maxscale * 100) {
154
- numScale += 10
155
- this.itemScale = `${numScale}%`
156
- this.$emit('zoom', numScale / 100)
157
- }
158
- },
159
- onZoomChange() {
160
- const numScale = window.parseInt(this.itemScale)
161
- this.$emit('zoom', numScale / 100)
162
- },
163
- rotateRight() {
164
- this.$emit('rotate', this.itemRotate + 90)
165
- },
166
- rotateLeft() {
167
- this.$emit('rotate', this.itemRotate - 90)
168
- },
169
- },
170
- }
171
- </script>
172
-
173
- <style lang="less">
174
- .ttd-pdfjs-switch-page {
175
- margin: 0;
176
- padding: 0;
177
- display: flex;
178
- flex-direction: row;
179
- .switch-page-scale{
180
- flex: 1;
181
- text-align: center;
182
- white-space: nowrap;
183
- overflow: hidden;
184
- .el-select{
185
- width: 140px;
186
- }
187
- }
188
- button {
189
- font-size: 14px;
190
- padding: 6px !important;
191
- }
192
- @media (max-width: 731px) {
193
- .hidden-text {
194
- display: none;
195
- }
196
- }
197
- }
198
- </style>
1
+ <template lang="html">
2
+ <div class="ttd-pdfjs-switch-page" ref=switchPageBox>
3
+ <div class='switch-page-btn'>
4
+ <el-button size="mini" @click="switchPage('prev')" icon=el-icon-arrow-up>上一页</el-button>
5
+ <el-button size="mini" @click="switchPage('next')" icon=el-icon-arrow-down>下一页</el-button>
6
+ <span style="margin-left: 6px">
7
+ <el-input v-model.number="itemPage" style="width: 50px;margin: 0 4px; font-size:14px;" size="mini"
8
+ @keyup.native.enter="goPage" @change="goPage"></el-input>/{{numPages}}
9
+ </span>
10
+ </div>
11
+ <div class='switch-page-scale'>
12
+ <el-button size="mini" :disabled="!zoomEnable" @click="zoomIn" icon=el-icon-minus></el-button>
13
+ <el-button size="mini" :disabled="!zoomEnable" @click="zoomOut" icon=el-icon-plus></el-button>
14
+ <el-select v-model="itemScale" :disabled="!zoomEnable" @change=onZoomChange size="mini" style="margin-left:10px" placeholder="请选择">
15
+ <el-option
16
+ v-for="item in EnumOptions"
17
+ :key="item.value"
18
+ :label="item.label"
19
+ :value="item.value">
20
+ </el-option>
21
+ </el-select>
22
+ </div>
23
+ <div class='switch-page-rotate'>
24
+ <el-button size="mini" @click="rotateRight" :disabled="!rotateEnable" icon=el-icon-refresh-right>
25
+ <span class=hidden-text>顺时针旋转</span>
26
+ </el-button>
27
+ <el-button size="mini" @click="rotateLeft" :disabled="!rotateEnable" icon=el-icon-refresh-left>
28
+ <span class=hidden-text>逆时针旋转</span>
29
+ </el-button>
30
+ </div>
31
+ </div>
32
+ </template>
33
+
34
+ <script>
35
+ import { maxscale, minscale } from './PdfView216.vue'
36
+
37
+ export const EnumOptions = [
38
+ // { label: '自动缩放', value: '' },
39
+ // { label: '实际大小', value: '' },
40
+ // { label: '适合页面', value: '' },
41
+ // { label: '适合页宽', value: 'auto' },
42
+ { label: '50%', value: '50%' },
43
+ { label: '75%', value: '75%' },
44
+ { label: '100%', value: '100%' },
45
+ { label: '125%', value: '125%' },
46
+ { label: '150%', value: '150%' },
47
+ { label: '200%', value: '200%' },
48
+ { label: '300%', value: '300%' },
49
+ ]
50
+ export default {
51
+ name: 'switch-page',
52
+ props: {
53
+ numPages: {
54
+ type: [Number, String],
55
+ },
56
+ page: {
57
+ type: [Number, String],
58
+ default: 1,
59
+ },
60
+ scale: {
61
+ type: [Number],
62
+ default: 1,
63
+ },
64
+ zoomEnable: {
65
+ type: [String, Number, Boolean],
66
+ default: false,
67
+ },
68
+ rotateEnable: {
69
+ type: [String, Number, Boolean],
70
+ default: false,
71
+ },
72
+ },
73
+ data() {
74
+ return {
75
+ itemPage: '', // 内部保存的页码,
76
+ EnumOptions,
77
+ itemScale: 'auto',
78
+ itemRotate: 0,
79
+ }
80
+ },
81
+ watch: {
82
+ page: {
83
+ handler(value) {
84
+ this.itemPage = value
85
+ },
86
+ immediate: true,
87
+ },
88
+ numPages: {
89
+ handler(value) {
90
+ this.itemPage = 1
91
+ },
92
+ },
93
+ scale: {
94
+ handler(value) {
95
+ this.itemScale = `${Math.round(value * 100)}%`
96
+ },
97
+ immediate: true,
98
+ },
99
+ },
100
+ methods: {
101
+ mounted() {
102
+
103
+ },
104
+ switchPage(str) {
105
+ if (str === 'prev') {
106
+ if (this.itemPage === 1) {
107
+ return
108
+ }
109
+ this.itemPage--
110
+ }
111
+ if (str === 'next') {
112
+ if (this.itemPage === this.numPages) {
113
+ this.$message({ message: '当前已是最后一页', type: 'warning' })
114
+ return
115
+ }
116
+ this.itemPage++
117
+ }
118
+ this.$emit('page', this.itemPage)
119
+ },
120
+ setPage(page = 1) {
121
+ this.itemPage = page
122
+ },
123
+ goPage() {
124
+ if (this.itemPage > 0) {
125
+ if (this.itemPage >= this.numPages) {
126
+ this.itemPage = this.numPages
127
+ }
128
+ } else {
129
+ this.itemPage = 1
130
+ }
131
+ this.$emit('page', this.itemPage)
132
+ },
133
+ zoomIn() {
134
+ let numScale = window.parseInt(this.itemScale)
135
+ if (Number.isNaN(numScale)) {
136
+ numScale = 100
137
+ this.itemScale = `${numScale}%`
138
+ this.$emit('zoom', numScale / 100)
139
+ }
140
+ if (numScale > minscale * 100) {
141
+ numScale -= 10
142
+ this.itemScale = `${numScale}%`
143
+ this.$emit('zoom', numScale / 100)
144
+ }
145
+ },
146
+ zoomOut() {
147
+ let numScale = window.parseInt(this.itemScale)
148
+ if (Number.isNaN(numScale)) {
149
+ numScale = 100
150
+ this.itemScale = `${numScale}%`
151
+ this.$emit('zoom', numScale / 100)
152
+ }
153
+ if (numScale < maxscale * 100) {
154
+ numScale += 10
155
+ this.itemScale = `${numScale}%`
156
+ this.$emit('zoom', numScale / 100)
157
+ }
158
+ },
159
+ onZoomChange() {
160
+ const numScale = window.parseInt(this.itemScale)
161
+ this.$emit('zoom', numScale / 100)
162
+ },
163
+ rotateRight() {
164
+ this.$emit('rotate', this.itemRotate + 90)
165
+ },
166
+ rotateLeft() {
167
+ this.$emit('rotate', this.itemRotate - 90)
168
+ },
169
+ },
170
+ }
171
+ </script>
172
+
173
+ <style lang="less">
174
+ .ttd-pdfjs-switch-page {
175
+ margin: 0;
176
+ padding: 0;
177
+ display: flex;
178
+ flex-direction: row;
179
+ .switch-page-scale{
180
+ flex: 1;
181
+ text-align: center;
182
+ white-space: nowrap;
183
+ overflow: hidden;
184
+ .el-select{
185
+ width: 140px;
186
+ }
187
+ }
188
+ button {
189
+ font-size: 14px;
190
+ padding: 6px !important;
191
+ }
192
+ @media (max-width: 731px) {
193
+ .hidden-text {
194
+ display: none;
195
+ }
196
+ }
197
+ }
198
+ </style>
@@ -1,16 +1,16 @@
1
- export const getUrl = (str) => {
2
- let obj = {}
3
- if (str) {
4
- if (typeof str === 'string' && /^{/.test(str)) {
5
- obj = JSON.parse(str)
6
- } else {
7
- obj = str
8
- }
9
- }
10
- if (obj.url) {
11
- obj.url = decodeURI(obj.url)
12
- }
13
- return obj
14
- }
15
-
16
- export default { getUrl }
1
+ export const getUrl = (str) => {
2
+ let obj = {}
3
+ if (str) {
4
+ if (typeof str === 'string' && /^{/.test(str)) {
5
+ obj = JSON.parse(str)
6
+ } else {
7
+ obj = str
8
+ }
9
+ }
10
+ if (obj.url) {
11
+ obj.url = decodeURI(obj.url)
12
+ }
13
+ return obj
14
+ }
15
+
16
+ export default { getUrl }
@@ -1,3 +1,3 @@
1
- $click-color: #2E6BE6;
2
- $btn-color: #222222;
3
- $base-color2: #41C89D;
1
+ $click-color: #2E6BE6;
2
+ $btn-color: #222222;
3
+ $base-color2: #41C89D;
@@ -1,22 +1,22 @@
1
- @import '@/styles/components/reset.scss';
2
-
3
- @import '@/styles/base.scss';
4
-
5
- @import '@/styles/components/table.scss';
6
-
7
- @import '@/styles/components/input.scss';
8
-
9
- @import '@/styles/components/button.scss';
10
-
11
- @import '@/styles/components/el-pagination.scss';
12
-
13
- @import '@/styles/components/file-group.scss';
14
-
15
- @import '@/styles/components/message.scss';
16
-
17
-
18
-
19
- .wh-100 {
20
- width: 100%;
21
- height: 100%
22
- }
1
+ @import '@/styles/components/reset.scss';
2
+
3
+ @import '@/styles/base.scss';
4
+
5
+ @import '@/styles/components/table.scss';
6
+
7
+ @import '@/styles/components/input.scss';
8
+
9
+ @import '@/styles/components/button.scss';
10
+
11
+ @import '@/styles/components/el-pagination.scss';
12
+
13
+ @import '@/styles/components/file-group.scss';
14
+
15
+ @import '@/styles/components/message.scss';
16
+
17
+
18
+
19
+ .wh-100 {
20
+ width: 100%;
21
+ height: 100%
22
+ }
@@ -1,21 +1,21 @@
1
- .detail-pageination {
2
- padding: 18px 20px;
3
-
4
- .el-pagination .btn-next:disabled,
5
- .el-pagination .btn-prev:disabled {
6
- background: transparent;
7
- }
8
-
9
- .el-pager li,
10
- .btn-prev,
11
- .btn-next {
12
- background: transparent;
13
- }
14
-
15
- .el-pager li.active {
16
- display: inline-block;
17
- border: 1px solid #666;
18
- background: #fff;
19
- color: #666;
20
- }
21
- }
1
+ .detail-pageination {
2
+ padding: 18px 20px;
3
+
4
+ .el-pagination .btn-next:disabled,
5
+ .el-pagination .btn-prev:disabled {
6
+ background: transparent;
7
+ }
8
+
9
+ .el-pager li,
10
+ .btn-prev,
11
+ .btn-next {
12
+ background: transparent;
13
+ }
14
+
15
+ .el-pager li.active {
16
+ display: inline-block;
17
+ border: 1px solid #666;
18
+ background: #fff;
19
+ color: #666;
20
+ }
21
+ }
@@ -1,4 +1,4 @@
1
- .file-group-wrapper {
2
- margin-top: -8px;
3
- margin-bottom: -20px;
4
- }
1
+ .file-group-wrapper {
2
+ margin-top: -8px;
3
+ margin-bottom: -20px;
4
+ }
@@ -1,54 +1,54 @@
1
- .el-alert {
2
- padding: 10px 8px;
3
-
4
- .title-msg-header {
5
- margin-top: 8px;
6
-
7
- .icon-left {
8
- font-size: 21px;
9
- color: #1990fc;
10
- vertical-align: middle;
11
- }
12
-
13
- .title {
14
- margin-left: 8px;
15
- font-size: 16px;
16
- color: #222222;
17
- letter-spacing: 0;
18
- line-height: 24px;
19
- vertical-align: middle
20
- }
21
-
22
- overflow: hidden;
23
- }
24
-
25
- .title-msg-body {
26
- display: inline-block;
27
- padding: 0 30px;
28
- margin-bottom: 8px;
29
- }
30
- }
31
-
32
- .el-alert__title {
33
- font-size: 14px;
34
- line-height: 20px;
35
- }
36
-
37
- .el-alert__closebtn {
38
- font-size: 16px;
39
- }
40
-
41
- .el-alert .el-alert__description {
42
- font-size: 14px;
43
- letter-spacing: 0;
44
- line-height: 22px;
45
- margin: 8px 0 0 0;
46
- }
47
-
48
- .el-alert--info.is-light {
49
- background-color: rgba(51, 111, 255, 0.1);
50
- }
51
-
52
- .el-alert--info .el-alert__description {
53
- color: #4B5973;
1
+ .el-alert {
2
+ padding: 10px 8px;
3
+
4
+ .title-msg-header {
5
+ margin-top: 8px;
6
+
7
+ .icon-left {
8
+ font-size: 21px;
9
+ color: #1990fc;
10
+ vertical-align: middle;
11
+ }
12
+
13
+ .title {
14
+ margin-left: 8px;
15
+ font-size: 16px;
16
+ color: #222222;
17
+ letter-spacing: 0;
18
+ line-height: 24px;
19
+ vertical-align: middle
20
+ }
21
+
22
+ overflow: hidden;
23
+ }
24
+
25
+ .title-msg-body {
26
+ display: inline-block;
27
+ padding: 0 30px;
28
+ margin-bottom: 8px;
29
+ }
30
+ }
31
+
32
+ .el-alert__title {
33
+ font-size: 14px;
34
+ line-height: 20px;
35
+ }
36
+
37
+ .el-alert__closebtn {
38
+ font-size: 16px;
39
+ }
40
+
41
+ .el-alert .el-alert__description {
42
+ font-size: 14px;
43
+ letter-spacing: 0;
44
+ line-height: 22px;
45
+ margin: 8px 0 0 0;
46
+ }
47
+
48
+ .el-alert--info.is-light {
49
+ background-color: rgba(51, 111, 255, 0.1);
50
+ }
51
+
52
+ .el-alert--info .el-alert__description {
53
+ color: #4B5973;
54
54
  }
@@ -1,8 +1,8 @@
1
- body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, legend, input, textarea, button, p, blockquote, th, td {
2
- margin: 0;
3
- padding: 0
4
- }
5
-
6
- ul, li {
7
- list-style: none;
8
- }
1
+ body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, legend, input, textarea, button, p, blockquote, th, td {
2
+ margin: 0;
3
+ padding: 0
4
+ }
5
+
6
+ ul, li {
7
+ list-style: none;
8
+ }