vue2-client 1.14.40 → 1.14.42

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": "vue2-client",
3
- "version": "1.14.40",
3
+ "version": "1.14.42",
4
4
  "private": false,
5
5
  "scripts": {
6
6
  "serve": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint",
@@ -67,6 +67,7 @@
67
67
  :customDelete="customDelete"
68
68
  :extraHeight="extraHeight"
69
69
  :serviceName="serviceName"
70
+ :pageMaxSize="realQueryConfig.queryPagesSize"
70
71
  @add="add"
71
72
  @move="move"
72
73
  @edit="edit"
@@ -1,186 +1,186 @@
1
- // print.js
2
-
3
- export function printElement (elementToPrint) {
4
- // 创建一个新的浏览器窗口
5
- const printWindow = window.open('', '_blank', 'height=1024,width=768')
6
- // 设置新窗口的文档内容
7
- printWindow.document.write(`
8
- <html>
9
- <head>
10
- <title>Print</title>
11
- <style>
12
- @page {
13
- size: auto;
14
- margin: 0mm;
15
- }
16
- html, body {
17
- margin: 0;
18
- padding: 0;
19
- width: 100%;
20
- height: 100%;
21
- }
22
- #print-container {
23
- display: none
24
- }
25
- .img{
26
- width: 95%;
27
- height: 180px;
28
- object-fit: cover;
29
- }
30
- .reportMain {
31
- text-align: center;
32
- margin: 0 auto;
33
- font-size: 16px;
34
- color: #000;
35
- background-color: #fff;
36
- padding: 15px;
37
- border-radius: 8px;
38
-
39
- .reportTitle {
40
- font-weight: bold;
41
- }
42
-
43
- .subTitle {
44
- display: flex;
45
- justify-content: space-between;
46
- margin-bottom: 1%;
47
-
48
- .subTitleItems {
49
- max-width: 30%;
50
- }
51
- }
52
-
53
- .inputsDiv {
54
- display: flex;
55
- justify-content: space-between;
56
- .inputsDivItem {
57
- display: flex;
58
- align-items: center;
59
- padding: 0 4px;
60
- white-space: nowrap;
61
- .inputsDivItemLabel {
62
- padding: 0 4px;
63
- }
64
- }
65
- }
66
-
67
- .reportTable {
68
- width: 100%;
69
- border-collapse: collapse;
70
- table-layout:fixed;
71
- word-break:break-all;
72
- text-align: center;
73
- }
74
- }
75
- .reportMainForDisplay {
76
- text-align: center;
77
- margin: 10% auto;
78
- font-size: 16px;
79
- color: #000;
80
- background-color: #fff;
81
- padding: 15px;
82
- border-radius: 8px;
83
-
84
- .reportTitle {
85
- font-weight: bold;
86
- }
87
-
88
- .subTitle {
89
- display: flex;
90
- justify-content: space-between;
91
-
92
- .subTitleItems {
93
- max-width: 30%;
94
- }
95
- }
96
-
97
- .inputsDiv {
98
- display: flex;
99
- justify-content: space-around;
100
- .inputsDivItem {
101
- display: flex;
102
- align-items: center;
103
- padding: 0 4px;
104
- white-space: nowrap;
105
- .inputsDivItemLabel {
106
- padding: 0 4px;
107
- }
108
- }
109
- }
110
-
111
- .reportTable {
112
- width: 100%;
113
- border-collapse: collapse;
114
- table-layout:fixed;
115
- word-break:break-all;
116
- }
117
- }
118
- .reportMainNoPadding {
119
- text-align: center;
120
- margin: 0 auto;
121
- font-size: 16px;
122
- color: #000;
123
- background-color: #fff;
124
- border-radius: 8px;
125
-
126
- .reportTitle {
127
- font-weight: bold;
128
- }
129
-
130
- .subTitle {
131
- display: flex;
132
- justify-content: space-between;
133
-
134
- .subTitleItems {
135
- max-width: 30%;
136
- }
137
- }
138
-
139
- .inputsDiv {
140
- display: flex;
141
- justify-content: space-between;
142
- .inputsDivItem {
143
- display: flex;
144
- align-items: center;
145
- padding: 0 4px;
146
- white-space: nowrap;
147
- .inputsDivItemLabel {
148
- padding: 0 4px;
149
- }
150
- }
151
- }
152
-
153
- .reportTable {
154
- width: 100%;
155
- border-collapse: collapse;
156
- table-layout:fixed;
157
- word-break:break-all;
158
- }
159
- }
160
- .tools{
161
- position: fixed;
162
- right: 2%;
163
- text-align: right;
164
- width: 60%;
165
- cursor: pointer;
166
- .toolsItem{
167
- width: 15%;
168
- margin-right: 3%;
169
- display: inline-block;
170
- }
171
- }
172
- </style>
173
- </head>
174
- <body>
175
- <!-- 将需要打印的元素内容复制到新窗口中 -->
176
- ${elementToPrint.innerHTML}
177
- </body>
178
- </html>
179
- `)
180
- // 延迟执行打印,以确保新窗口的内容已加载完成
181
- printWindow.document.close() // 关闭文档流,确保内容完全加载
182
- setTimeout(() => {
183
- printWindow.print() // 调用打印方法
184
- printWindow.close()
185
- }, 500) // 延迟500毫秒后执行打印
186
- }
1
+ // print.js
2
+
3
+ export function printElement (elementToPrint) {
4
+ // 创建一个新的浏览器窗口
5
+ const printWindow = window.open('', '_blank', 'height=1024,width=768')
6
+ // 设置新窗口的文档内容
7
+ printWindow.document.write(`
8
+ <html>
9
+ <head>
10
+ <title>Print</title>
11
+ <style>
12
+ @page {
13
+ size: auto;
14
+ margin: 0mm;
15
+ }
16
+ html, body {
17
+ margin: 0;
18
+ padding: 0;
19
+ width: 100%;
20
+ height: 100%;
21
+ }
22
+ #print-container {
23
+ display: none
24
+ }
25
+ .img{
26
+ width: 95%;
27
+ height: 180px;
28
+ object-fit: cover;
29
+ }
30
+ .reportMain {
31
+ text-align: center;
32
+ margin: 0 auto;
33
+ font-size: 16px;
34
+ color: #000;
35
+ background-color: #fff;
36
+ padding: 15px;
37
+ border-radius: 8px;
38
+
39
+ .reportTitle {
40
+ font-weight: bold;
41
+ }
42
+
43
+ .subTitle {
44
+ display: flex;
45
+ justify-content: space-between;
46
+ margin-bottom: 1%;
47
+
48
+ .subTitleItems {
49
+ max-width: 30%;
50
+ }
51
+ }
52
+
53
+ .inputsDiv {
54
+ display: flex;
55
+ justify-content: space-between;
56
+ .inputsDivItem {
57
+ display: flex;
58
+ align-items: center;
59
+ padding: 0 4px;
60
+ white-space: nowrap;
61
+ .inputsDivItemLabel {
62
+ padding: 0 4px;
63
+ }
64
+ }
65
+ }
66
+
67
+ .reportTable {
68
+ width: 100%;
69
+ border-collapse: collapse;
70
+ table-layout:fixed;
71
+ word-break:break-all;
72
+ text-align: center;
73
+ }
74
+ }
75
+ .reportMainForDisplay {
76
+ text-align: center;
77
+ margin: 10% auto;
78
+ font-size: 16px;
79
+ color: #000;
80
+ background-color: #fff;
81
+ padding: 15px;
82
+ border-radius: 8px;
83
+
84
+ .reportTitle {
85
+ font-weight: bold;
86
+ }
87
+
88
+ .subTitle {
89
+ display: flex;
90
+ justify-content: space-between;
91
+
92
+ .subTitleItems {
93
+ max-width: 30%;
94
+ }
95
+ }
96
+
97
+ .inputsDiv {
98
+ display: flex;
99
+ justify-content: space-around;
100
+ .inputsDivItem {
101
+ display: flex;
102
+ align-items: center;
103
+ padding: 0 4px;
104
+ white-space: nowrap;
105
+ .inputsDivItemLabel {
106
+ padding: 0 4px;
107
+ }
108
+ }
109
+ }
110
+
111
+ .reportTable {
112
+ width: 100%;
113
+ border-collapse: collapse;
114
+ table-layout:fixed;
115
+ word-break:break-all;
116
+ }
117
+ }
118
+ .reportMainNoPadding {
119
+ text-align: center;
120
+ margin: 0 auto;
121
+ font-size: 16px;
122
+ color: #000;
123
+ background-color: #fff;
124
+ border-radius: 8px;
125
+
126
+ .reportTitle {
127
+ font-weight: bold;
128
+ }
129
+
130
+ .subTitle {
131
+ display: flex;
132
+ justify-content: space-between;
133
+
134
+ .subTitleItems {
135
+ max-width: 30%;
136
+ }
137
+ }
138
+
139
+ .inputsDiv {
140
+ display: flex;
141
+ justify-content: space-between;
142
+ .inputsDivItem {
143
+ display: flex;
144
+ align-items: center;
145
+ padding: 0 4px;
146
+ white-space: nowrap;
147
+ .inputsDivItemLabel {
148
+ padding: 0 4px;
149
+ }
150
+ }
151
+ }
152
+
153
+ .reportTable {
154
+ width: 100%;
155
+ border-collapse: collapse;
156
+ table-layout:fixed;
157
+ word-break:break-all;
158
+ }
159
+ }
160
+ .tools{
161
+ position: fixed;
162
+ right: 2%;
163
+ text-align: right;
164
+ width: 60%;
165
+ cursor: pointer;
166
+ .toolsItem{
167
+ width: 15%;
168
+ margin-right: 3%;
169
+ display: inline-block;
170
+ }
171
+ }
172
+ </style>
173
+ </head>
174
+ <body>
175
+ <!-- 将需要打印的元素内容复制到新窗口中 -->
176
+ ${elementToPrint.innerHTML}
177
+ </body>
178
+ </html>
179
+ `)
180
+ // 延迟执行打印,以确保新窗口的内容已加载完成
181
+ printWindow.document.close() // 关闭文档流,确保内容完全加载
182
+ setTimeout(() => {
183
+ printWindow.print() // 调用打印方法
184
+ printWindow.close()
185
+ }, 500) // 延迟500毫秒后执行打印
186
+ }
@@ -502,6 +502,10 @@ export default {
502
502
  extraHeight: {
503
503
  type: Number,
504
504
  default: 80
505
+ },
506
+ pageMaxSize: {
507
+ type: Number,
508
+ default: null
505
509
  }
506
510
  },
507
511
  computed: {
@@ -523,6 +527,14 @@ export default {
523
527
  ...mapState('account', { currUser: 'user' }),
524
528
  ...mapState('setting', ['compatible'])
525
529
  },
530
+ watch: {
531
+ pageMaxSize: {
532
+ handler (val) {
533
+ this.tableContext.pageMaxSize = val
534
+ },
535
+ immediate: true
536
+ }
537
+ },
526
538
  mounted () {
527
539
  window.addEventListener('resize', this.handleResize)
528
540
  },
@@ -15,6 +15,7 @@
15
15
  :hidePagination="tableContext.simpleMode"
16
16
  :showSelected="!tableContext.simpleMode"
17
17
  :pageSize="tableContext.simpleMode ? 1000 : undefined"
18
+ :pageMaxSize="tableContext.pageMaxSize"
18
19
  :setScrollYHeight="tableContext.setScrollYHeight"
19
20
  :selectRowMode="tableContext.selectRowMode"
20
21
  :size="tableContext.tableSize"
@@ -149,6 +150,7 @@
149
150
  :hidePagination="tableContext.simpleMode"
150
151
  :showSelected="!tableContext.simpleMode"
151
152
  :pageSize="tableContext.simpleMode ? 1000 : undefined"
153
+ :pageMaxSize="tableContext.pageMaxSize"
152
154
  :setScrollYHeight="tableContext.setScrollYHeight"
153
155
  :selectRowMode="tableContext.selectRowMode"
154
156
  :size="tableContext.tableSize"
@@ -70,7 +70,7 @@ export default {
70
70
  default: false
71
71
  },
72
72
  showPagination: {
73
- type: String | Boolean,
73
+ type: [String, Boolean],
74
74
  default: 'auto'
75
75
  },
76
76
  // 是否隐藏翻页,如果隐藏,彻底不显示翻译
@@ -95,6 +95,11 @@ export default {
95
95
  pageURI: {
96
96
  type: Boolean,
97
97
  default: false
98
+ },
99
+ // 最大分页大小,如果设置则使用该值作为分页大小并隐藏分页组件
100
+ pageMaxSize: {
101
+ type: Number,
102
+ default: null
98
103
  }
99
104
  }),
100
105
  computed: {
@@ -136,11 +141,33 @@ export default {
136
141
  Object.assign(this.localPagination, {
137
142
  showSizeChanger: val
138
143
  })
144
+ },
145
+ pageMaxSize: {
146
+ handler (val) {
147
+ if (val) {
148
+ this.pageSize = val
149
+ this.hidePagination = true
150
+ // 更新 localPagination
151
+ if (this.localPagination) {
152
+ Object.assign(this.localPagination, {
153
+ pageSize: val
154
+ })
155
+ }
156
+ }
157
+ },
158
+ immediate: true
139
159
  }
140
160
  },
141
161
  created () {
142
162
  const { pageNo } = this.$route.params
143
163
  const localPageNum = this.pageURI && (pageNo && parseInt(pageNo)) || this.pageNum
164
+
165
+ // 如果设置了 pageMaxSize,则使用该值作为分页大小并隐藏分页
166
+ if (this.pageMaxSize) {
167
+ this.pageSize = this.pageMaxSize
168
+ this.hidePagination = true
169
+ }
170
+
144
171
  this.localPagination = ['auto', true].includes(this.showPagination) && Object.assign({}, this.localPagination, {
145
172
  current: localPageNum,
146
173
  pageSize: this.pageSize,
@@ -176,12 +203,23 @@ export default {
176
203
  if (sorter && sorter.order) {
177
204
  this.sortOrder = sorter.order
178
205
  }
206
+
207
+ // 确定 pageSize
208
+ let finalPageSize = this.pageSize
209
+ if (this.showPagination === false) {
210
+ // 当 showPagination 为 false 时,优先使用传入的 pageSize
211
+ finalPageSize = pagination?.pageSize || this.pageSize
212
+ } else if (pagination && pagination.pageSize) {
213
+ finalPageSize = pagination.pageSize
214
+ } else if (this.localPagination && this.localPagination.pageSize) {
215
+ finalPageSize = this.localPagination.pageSize
216
+ }
217
+
179
218
  const parameter = Object.assign({
180
219
  querySummary: !pagination && this.showSummary, // 分页查询的情况不重新获取汇总数据
181
220
  pageNo: (pagination && pagination.current) ||
182
221
  this.showPagination && this.localPagination.current || this.pageNum,
183
- pageSize: (pagination && pagination.pageSize) ||
184
- this.showPagination && this.localPagination.pageSize || this.pageSize
222
+ pageSize: finalPageSize
185
223
  },
186
224
  (this.sortField && { sortField: this.sortField }) || {},
187
225
  (this.sortOrder && { sortOrder: this.sortOrder }) || {},
@@ -208,7 +246,7 @@ export default {
208
246
  current: r.pageNo, // 返回结果中的当前分页数
209
247
  total: r.totalCount, // 返回结果中的总记录数
210
248
  showSizeChanger: this.showSizeChanger,
211
- pageSize: (pagination && pagination.pageSize) || this.localPagination.pageSize
249
+ pageSize: finalPageSize
212
250
  }) || false
213
251
  // 为防止删除数据后导致页面当前页面数据长度为 0 ,自动翻页到上一页
214
252
  if (r.data.length === 0 && this.showPagination && this.localPagination.current > 1) {
@@ -437,7 +475,6 @@ export default {
437
475
  {Object.keys(this.$slots).map(name => (<template slot={name}>{this.$slots[name]}</template>))}
438
476
  </a-table>
439
477
  )
440
-
441
478
  return (
442
479
  <div class="table-wrapper">
443
480
  {showAlert && this.showSelected && this.selectRowMode === 'default' ? this.renderAlert() : null}
@@ -947,14 +947,14 @@ export default {
947
947
  filteredUsers = allUser.filter(user =>
948
948
  user.rolestr && user.rolestr.includes(personItem.name)
949
949
  ).map(user => {
950
- return { label: user.label, value: user.id }
950
+ return { label: user.label, value: user.value }
951
951
  })
952
952
  } else if (personItem.type === 'department') {
953
953
  // 根据部门获取人员
954
954
  filteredUsers = allUser.filter(user =>
955
955
  user.depname === personItem.name
956
956
  ).map(user => {
957
- return { label: user.label, value: user.id }
957
+ return { label: user.label, value: user.value }
958
958
  })
959
959
  }
960
960
 
@@ -1,47 +1,47 @@
1
- import AMapLoader from '@amap/amap-jsapi-loader'
2
- let Amap
3
- async function GetGDMap (secretKey, key) {
4
- if (!Amap) {
5
- window._AMapSecurityConfig = {
6
- securityJsCode: secretKey
7
- }
8
- // 解决高德地图加载报错 ---> 禁止多种API加载方式混用
9
- AMapLoader.reset()
10
- Amap = await AMapLoader.load({
11
- key: key, // 申请好的Web端开发者Key,首次调用 load 时必填
12
- version: '2.0', // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15
13
- plugins: ['AMap.IndexCluster', 'AMP.MarkerCluster', 'AMap.InfoWindow', 'AMap.HeatMap', 'AMap.HawkEye', 'AMap.DistrictSearch',
14
- 'AMap.ToolBar', 'AMap.Geolocation', 'AMap.MouseTool',
15
- 'AMap.Geocoder', 'AMap.MarkerClusterer', 'AMap.AutoComplete', 'AMap.Scale'], // 需要使用的的插件列表,如比例尺'AMap.Scale'等
16
- AMapUI: {
17
- version: '1.1', // AMapUI 缺省 1.1
18
- plugins: ['misc/PositionPicker'] // 需要加载的 AMapUI ui插件
19
- }
20
- })
21
- }
22
- return Amap
23
- }
24
-
25
- async function getGDMap (address) {
26
- new (await GetGDMap()).Geocoder({
27
- radius: 500 // 范围,默认:500
28
- }).getLocation(address, function (status, result) {
29
- if (status === 'complete' && result.geocodes.length) {
30
- return ({ lng: result.geocodes[0].location.lng, lat: result.geocodes[0].location.lat })
31
- } else {
32
- // eslint-disable-next-line prefer-promise-reject-errors
33
- throw new Error('根据经纬度查询地址失败')
34
- }
35
- })
36
- }
37
-
38
- async function GetLocation (address) {
39
- return new Promise((resolve, reject) => {
40
- try {
41
- resolve(getGDMap(address))
42
- } catch (e) {
43
- reject(e)
44
- }
45
- })
46
- }
47
- export { GetGDMap, GetLocation }
1
+ import AMapLoader from '@amap/amap-jsapi-loader'
2
+ let Amap
3
+ async function GetGDMap (secretKey, key) {
4
+ if (!Amap) {
5
+ window._AMapSecurityConfig = {
6
+ securityJsCode: secretKey
7
+ }
8
+ // 解决高德地图加载报错 ---> 禁止多种API加载方式混用
9
+ AMapLoader.reset()
10
+ Amap = await AMapLoader.load({
11
+ key: key, // 申请好的Web端开发者Key,首次调用 load 时必填
12
+ version: '2.0', // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15
13
+ plugins: ['AMap.IndexCluster', 'AMP.MarkerCluster', 'AMap.InfoWindow', 'AMap.HeatMap', 'AMap.HawkEye', 'AMap.DistrictSearch',
14
+ 'AMap.ToolBar', 'AMap.Geolocation', 'AMap.MouseTool',
15
+ 'AMap.Geocoder', 'AMap.MarkerClusterer', 'AMap.AutoComplete', 'AMap.Scale'], // 需要使用的的插件列表,如比例尺'AMap.Scale'等
16
+ AMapUI: {
17
+ version: '1.1', // AMapUI 缺省 1.1
18
+ plugins: ['misc/PositionPicker'] // 需要加载的 AMapUI ui插件
19
+ }
20
+ })
21
+ }
22
+ return Amap
23
+ }
24
+
25
+ async function getGDMap (address) {
26
+ new (await GetGDMap()).Geocoder({
27
+ radius: 500 // 范围,默认:500
28
+ }).getLocation(address, function (status, result) {
29
+ if (status === 'complete' && result.geocodes.length) {
30
+ return ({ lng: result.geocodes[0].location.lng, lat: result.geocodes[0].location.lat })
31
+ } else {
32
+ // eslint-disable-next-line prefer-promise-reject-errors
33
+ throw new Error('根据经纬度查询地址失败')
34
+ }
35
+ })
36
+ }
37
+
38
+ async function GetLocation (address) {
39
+ return new Promise((resolve, reject) => {
40
+ try {
41
+ resolve(getGDMap(address))
42
+ } catch (e) {
43
+ reject(e)
44
+ }
45
+ })
46
+ }
47
+ export { GetGDMap, GetLocation }