vsyswin-ui 0.2.58 → 0.2.61

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": "vsyswin-ui",
3
- "version": "0.2.58",
3
+ "version": "0.2.61",
4
4
  "main": "lib/vsyswin-ui.umd.min.js",
5
5
  "private": false,
6
6
  "description": "Vue2.x的应用组件库.",
package/packages/index.js CHANGED
@@ -1,3 +1,4 @@
1
+ import './styles/common-old.scss'
1
2
  import './styles/common.scss'
2
3
  import './styles/iconfont/iconfont.css'
3
4
 
@@ -7,6 +7,7 @@
7
7
  prev-text="上一页"
8
8
  next-text="下一页"
9
9
  size="small"
10
+ :pager-count="pagerCount"
10
11
  @size-change="handleSizeChange"
11
12
  @current-change="handlePageChange"
12
13
  :current-page="pagination.currentPage"
@@ -53,6 +54,10 @@ export default {
53
54
  default() {
54
55
  return [10, 20, 50, 100, 200]
55
56
  }
57
+ },
58
+ pagerCount: {
59
+ type: Number,
60
+ default: 7
56
61
  }
57
62
  },
58
63
  computed: {
@@ -493,6 +493,18 @@ export default {
493
493
  })
494
494
  return list
495
495
  },
496
+ // 设置底部标签,比如日期重新设置了值,但是底部没有标签,使用该方法来生成
497
+ /*
498
+ this.$set(this.searchList[10].itemList[0], 'value', [1649865600000, 1657727999000])
499
+ this.$set(this.searchList[10].itemList[0], 'isActive', true)
500
+ this.$nextTick(() => {
501
+ this.$refs.searchbarRef.setTagList()
502
+ })
503
+ */
504
+ setTagList() {
505
+ const filterList = this.createTagList()
506
+ this.tagList = filterList
507
+ },
496
508
  // 搜索按钮
497
509
  handleSearch(skipShrink) {
498
510
  if (this.$slots.default) {
@@ -10,6 +10,7 @@
10
10
  v-model.trim="keyword"
11
11
  @input="auto && search"
12
12
  @clear="search"
13
+ @blur="blur"
13
14
  clearable
14
15
  >
15
16
  <el-button type="primary" slot="append" icon="el-icon-search" @click="search()"></el-button>
@@ -58,7 +59,13 @@ export default {
58
59
  // 执行搜索事件
59
60
  this.$emit('input', this.keyword)
60
61
  this.$emit('search', this.keyword)
61
- })
62
+ }),
63
+ blur() {
64
+ if (!this.auto) {
65
+ this.$emit('input', this.keyword)
66
+ this.$emit('search', this.keyword)
67
+ }
68
+ }
62
69
  }
63
70
  }
64
71
  </script>
@@ -0,0 +1,506 @@
1
+ @import './variables.scss';
2
+ // 重置样式
3
+ * {
4
+ margin: 0;
5
+ padding: 0;
6
+ }
7
+
8
+ html,
9
+ body,
10
+ #app {
11
+ height: 100%;
12
+ }
13
+
14
+ body {
15
+ color: #000;
16
+ background: #fff;
17
+ font-family: 'Helvetica Neue', Helvetica, 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', 微软雅黑, Arial, sans-serif;
18
+ -webkit-font-smoothing: antialiased;
19
+ -webkit-text-size-adjust: none;
20
+ font-size: 14px;
21
+ }
22
+
23
+ ol,
24
+ ul,
25
+ li {
26
+ list-style: none;
27
+ }
28
+
29
+ /* 滑动条 */
30
+
31
+ ::-webkit-scrollbar {
32
+ width: 8px;
33
+ height: 8px;
34
+ }
35
+
36
+ ::-webkit-scrollbar-thumb {
37
+ background-color: #cccccc;
38
+ border-radius: 8px;
39
+ }
40
+
41
+ ::-webkit-scrollbar-track-piece {
42
+ background-color: transparent;
43
+ border-radius: 8px;
44
+ }
45
+
46
+ a:focus,
47
+ input:focus {
48
+ outline: none;
49
+ }
50
+
51
+ /* 一些共用的样式 */
52
+
53
+ .main-container {
54
+ height: 100%;
55
+ overflow: hidden;
56
+ background: #f2f5f9;
57
+ padding: 0 24px;
58
+ box-sizing: border-box;
59
+ &.no-head {
60
+ .bd {
61
+ height: calc(100% - 20px);
62
+ }
63
+ }
64
+ .hd {
65
+ height: 44px;
66
+ display: flex;
67
+ padding: 0 20px;
68
+ align-items: center;
69
+ justify-content: space-between;
70
+ > h2 {
71
+ font-size: 14px;
72
+ margin: 0;
73
+ color: $header-color;
74
+ font-weight: 700;
75
+ }
76
+ > .hd-right {
77
+ color: $header-color;
78
+ display: flex;
79
+ align-items: center;
80
+ }
81
+ }
82
+ .bd {
83
+ /* 本来想使用flex布局,但是vxe-table支持不友好,还是需要改成 calc计算的方式 */
84
+ height: calc(100% - 64px);
85
+ padding: 4px 20px 10px;
86
+ box-sizing: border-box;
87
+ background-color: #fff;
88
+ &.west-east-wrap {
89
+ // 左右结构的布局,去掉padding,使用flex布局
90
+ padding: 0;
91
+ display: flex;
92
+ }
93
+ .con-main {
94
+ height: calc(100% - 46px);
95
+ .con-scroll-wrapper {
96
+ height: 100%;
97
+ overflow: hidden;
98
+ }
99
+ }
100
+ .west-tree-box {
101
+ /* 左侧树盒子 */
102
+ width: 260px;
103
+ height: 100%;
104
+ background: #fff;
105
+ border-right: 1px solid #e3e3e3;
106
+ // overflow-x: scroll;
107
+ position: relative;
108
+ transition: all 0.5s;
109
+ .west-tree-content {
110
+ position: absolute;
111
+ width: 100%;
112
+ height: 100%;
113
+ padding: 0;
114
+ overflow-x: hidden;
115
+ overflow-y: auto;
116
+ box-sizing: border-box;
117
+ }
118
+ .pick-left {
119
+ position: absolute;
120
+ width: 21px;
121
+ height: 54px;
122
+ right: 0;
123
+ top: 50%;
124
+ margin-top: -27px;
125
+ cursor: pointer;
126
+ }
127
+ }
128
+ .east-content {
129
+ /* 右侧表格内容区域盒子 */
130
+ &.no-padding {
131
+ padding: 0;
132
+ }
133
+ height: 100%;
134
+ padding: 4px 20px 10px;
135
+ box-sizing: border-box;
136
+ transition: all 0.5s;
137
+ position: relative;
138
+ .pick-right {
139
+ position: absolute;
140
+ width: 21px;
141
+ height: 54px;
142
+ left: 0;
143
+ top: 50%;
144
+ margin-top: -27px;
145
+ cursor: pointer;
146
+ }
147
+ }
148
+ }
149
+ .tab-content-container {
150
+ // tab的内容区域
151
+ height: calc(100% - 64px);
152
+ overflow: hidden;
153
+ background: #fff;
154
+ display: flex;
155
+ &.no-left {
156
+ display: block;
157
+ }
158
+ .west-tree-box {
159
+ /* 左侧树盒子 */
160
+ width: 260px;
161
+ height: 100%;
162
+ background: #fff;
163
+ border-right: 1px solid #e3e3e3;
164
+ // overflow-x: scroll;
165
+ position: relative;
166
+ transition: all 0.5s;
167
+ .pick-left {
168
+ position: absolute;
169
+ width: 21px;
170
+ height: 54px;
171
+ right: 0;
172
+ top: 50%;
173
+ margin-top: -27px;
174
+ cursor: pointer;
175
+ }
176
+ }
177
+ .east-content {
178
+ /* 右侧表格内容区域盒子 */
179
+ height: 100%;
180
+ transition: all 0.5s;
181
+ position: relative;
182
+ .pick-right {
183
+ position: absolute;
184
+ width: 21px;
185
+ height: 54px;
186
+ left: 0;
187
+ top: 50%;
188
+ margin-top: -27px;
189
+ cursor: pointer;
190
+ }
191
+ }
192
+ .tab-bd {
193
+ /* 还是需要改成 calc计算的方式 vxe-table的max-height才会生效有滚动条*/
194
+ height: calc(100% - 0px);
195
+ padding: 4px 20px 10px;
196
+ box-sizing: border-box;
197
+ background-color: #fff;
198
+ .tab-search {
199
+ height: 46px;
200
+ display: flex;
201
+ justify-content: space-between;
202
+ }
203
+ .tab-main {
204
+ height: calc(100% - 46px);
205
+ &.footer-btns {
206
+ height: calc(100% - 96px);
207
+ }
208
+ .tab-scroll-wrapper {
209
+ height: 100%;
210
+ overflow: hidden;
211
+ }
212
+ }
213
+ .tab-footer-btns {
214
+ padding-top: 16px;
215
+ text-align: center;
216
+ }
217
+ }
218
+ }
219
+ .subpage-container {
220
+ // 子页面布局
221
+ height: 100%;
222
+ &.no-head {
223
+ .sub-bd {
224
+ height: 100%;
225
+ }
226
+ }
227
+ .sub-hd {
228
+ height: 44px;
229
+ display: flex;
230
+ padding: 0 20px;
231
+ align-items: center;
232
+ justify-content: space-between;
233
+ background-color: var(--page-bg);
234
+ > h2 {
235
+ font-size: 14px;
236
+ margin: 0;
237
+ color: $header-color;
238
+ font-weight: 700;
239
+ }
240
+ }
241
+ .sub-bd {
242
+ height: calc(100% - 44px);
243
+ box-sizing: border-box;
244
+ background-color: #fff;
245
+ .sub-main {
246
+ height: calc(100% - 0px);
247
+ .sub-scroll-wrapper {
248
+ height: 100%;
249
+ overflow: hidden;
250
+ }
251
+ }
252
+ }
253
+ }
254
+ .el-textarea {
255
+ position: relative;
256
+ .txtCount {
257
+ position: absolute;
258
+ right: 10px;
259
+ bottom: 5px;
260
+ color: #afbacb;
261
+ }
262
+ }
263
+ }
264
+
265
+ .title-tabs {
266
+ // 自定义的tabs
267
+ &.el-tabs {
268
+ height: 44px !important;
269
+ .el-tabs__header {
270
+ padding-bottom: 0px !important;
271
+ // padding-left: 20px;
272
+ padding-right: 20px;
273
+ .el-tabs__active-bar {
274
+ background-color: $primary-color;
275
+ }
276
+ .el-tabs__item {
277
+ height: 44px;
278
+ line-height: 44px;
279
+ font-weight: 600;
280
+ &.is-active,
281
+ &:hover {
282
+ color: $primary-color;
283
+ }
284
+ }
285
+ .el-tabs__nav-wrap::after {
286
+ background-color: transparent;
287
+ }
288
+ }
289
+ .el-tab-pane {
290
+ height: 0 !important;
291
+ }
292
+ }
293
+ }
294
+
295
+ // 简单搜栏样式
296
+ .header-filter {
297
+ display: flex;
298
+ align-items: center;
299
+ justify-content: space-between;
300
+ // padding-top: 6px;
301
+ margin-bottom: 16px;
302
+ .el-input-group__append {
303
+ background-color: $primary-color !important;
304
+ border: 1px solid $primary-color !important;
305
+ .el-button {
306
+ padding-left: 12px;
307
+ padding-right: 10px;
308
+ color: #fff;
309
+ }
310
+ }
311
+ .el-input__icon {
312
+ line-height: 32px;
313
+ }
314
+ .header-filter-btns {
315
+ min-height: 40px;
316
+ .el-button--text {
317
+ color: $primary-color;
318
+ }
319
+ }
320
+ .el-input__inner {
321
+ height: 32px !important;
322
+ line-height: 32px !important;
323
+ border-radius: 0px !important;
324
+ }
325
+ }
326
+
327
+ .dialog-inner-content {
328
+ border: 1px solid rgba(0, 0, 0, 0.08);
329
+ padding: 40px 20px 10px;
330
+ position: relative;
331
+ box-sizing: border-box;
332
+ > h3 {
333
+ position: absolute;
334
+ left: 0;
335
+ top: 0;
336
+ right: 0;
337
+ height: 40px;
338
+ line-height: 40px;
339
+ background-color: rgba(0, 0, 0, 0.08);
340
+ padding-left: 20px;
341
+ color: $primary-color;
342
+ font-weight: 600;
343
+ }
344
+ }
345
+
346
+ .vxe-modal--wrapper.type--modal.no-body-scroll .vxe-modal--body .vxe-modal--content {
347
+ overflow: hidden;
348
+ }
349
+
350
+ .dialog-footer-btns {
351
+ text-align: center;
352
+ }
353
+
354
+ .accessory {
355
+ // 上传附件的样式
356
+ .title {
357
+ height: 40px;
358
+ line-height: 40px;
359
+ .label {
360
+ float: left;
361
+ font-size: 14px;
362
+ color: #777e8c;
363
+ }
364
+ .upload {
365
+ float: right;
366
+ }
367
+ }
368
+ }
369
+
370
+ // 弹出选择窗口
371
+ .el-input-group__append.select-append {
372
+ padding: 0 8px;
373
+ .el-button {
374
+ margin-left: -8px;
375
+ margin-right: -8px;
376
+ padding-left: 5px;
377
+ padding-right: 5px;
378
+ }
379
+ }
380
+
381
+ /* 自定义分页样式 */
382
+
383
+ .el-pagination.cus-pagination .el-input__inner {
384
+ padding-left: 0px !important;
385
+ }
386
+
387
+ .cus-pagination.el-pagination span:not([class*='suffix']),
388
+ .el-pagination button {
389
+ padding: 0 6px;
390
+ }
391
+
392
+ .cus-pagination.el-pagination.is-background .btn-prev:disabled,
393
+ .el-pagination.is-background .btn-next:disabled {
394
+ background-color: transparent !important;
395
+ border: 1px solid #eaedf1;
396
+ }
397
+
398
+ .el-pagination.is-background .btn-prev,
399
+ .el-pagination.is-background .btn-next,
400
+ .el-pagination.is-background .el-pager li {
401
+ margin: 0 2px;
402
+ }
403
+
404
+ .el-pagination.is-background.cus-pagination .btn-prev,
405
+ .el-pagination.is-background.cus-pagination .btn-next {
406
+ background-color: transparent !important;
407
+ border: 1px solid #eaedf1;
408
+ }
409
+
410
+ .el-pagination.is-background.cus-pagination .btn-prev,
411
+ .el-pagination.is-background.cus-pagination .btn-next,
412
+ .el-pagination.is-background.cus-pagination .el-pager li {
413
+ background-color: transparent;
414
+ border: 1px solid #eaedf1;
415
+ border-radius: 2px;
416
+ }
417
+
418
+ .el-pagination.is-background.cus-pagination .el-pager li:not(.disabled).active {
419
+ border-radius: 2px;
420
+ border-color: transparent;
421
+ }
422
+
423
+ .cus-pagination .el-pagination__jump {
424
+ margin-left: 0;
425
+ }
426
+
427
+ .cus-pagination .el-input__inner {
428
+ height: 28px !important;
429
+ line-height: 28px !important;
430
+ }
431
+
432
+ // 使表格树的单元格radio不显示
433
+ .vxe-table .select-disable .vxe-cell--radio {
434
+ &.is--disabled {
435
+ color: #666;
436
+ }
437
+ padding-left: 0;
438
+ .vxe-radio--icon {
439
+ display: none;
440
+ }
441
+ }
442
+
443
+ /* 对 element-ui 样式的一些扩展 及自定义样式*/
444
+
445
+ .el-button {
446
+ .iconfont {
447
+ // .el-button下使用iconfont图标
448
+ font-size: 14px;
449
+ + span {
450
+ margin-left: 5px;
451
+ }
452
+ }
453
+ + .el-dropdown {
454
+ // 此样式主要是searchbar 右侧的下拉按钮
455
+ margin-left: 10px;
456
+ }
457
+ }
458
+
459
+ // 表格的操作按钮样式
460
+ .operation-a {
461
+ color: $primary-color;
462
+ cursor: pointer;
463
+ }
464
+
465
+ .operation-a + .operation-a {
466
+ margin-left: 10px;
467
+ }
468
+
469
+ .search-condition-list {
470
+ // 搜索条件的标签列表
471
+ .el-tag {
472
+ margin-bottom: 10px;
473
+ }
474
+
475
+ .tags:not(:first-child) {
476
+ margin-left: 6px;
477
+ }
478
+ .tags.clearall {
479
+ cursor: pointer;
480
+ }
481
+ }
482
+
483
+ // 右上角的选择年份
484
+ .drop-select-year {
485
+ position: relative;
486
+ .el-input--prefix .el-input__inner {
487
+ font-family: 'Helvetica Neue', Helvetica, 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', 微软雅黑, Arial, sans-serif;
488
+ padding-left: 10px;
489
+ padding-right: 10px;
490
+ border: none;
491
+ background: none;
492
+ cursor: pointer;
493
+ color: #000;
494
+ font-weight: 600;
495
+ }
496
+ .el-input__icon {
497
+ width: 0;
498
+ display: none;
499
+ }
500
+ .right-p {
501
+ position: absolute;
502
+ top: 9px;
503
+ right: -2px;
504
+ color: #000;
505
+ }
506
+ }