bri-components 1.2.51 → 1.2.52

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 (46) hide show
  1. package/package.json +1 -1
  2. package/src/components/controls/base/BriUpload/BriUpload.vue +170 -0
  3. package/src/components/controls/base/BriUpload/BriUploadImage.vue +90 -0
  4. package/src/components/controls/base/BriUpload/uploadList.vue +166 -0
  5. package/src/components/controls/base/DshCascader/DshCascader.vue +51 -0
  6. package/src/components/controls/base/DshCascader/InfoCascader.vue +63 -1
  7. package/src/components/controls/base/DshCoordinates.vue +64 -4
  8. package/src/components/controls/base/DshDivider.vue +163 -36
  9. package/src/components/controls/base/DshInput/BriInputs.vue +59 -1
  10. package/src/components/controls/base/DshInput/DshInput.vue +16 -0
  11. package/src/components/controls/base/DshNumber/DshNumber.vue +1 -1
  12. package/src/components/controls/controlMap.js +13 -4
  13. package/src/components/controls/extra/themeColor.vue +115 -0
  14. package/src/components/controls/extra/themeIcon.vue +124 -0
  15. package/src/components/controls/senior/BriLabels.vue +63 -4
  16. package/src/components/controls/senior/DshPackage.vue +30 -32
  17. package/src/components/controls/senior/cascaderTable.vue +25 -4
  18. package/src/components/controls/senior/flatTable.vue +34 -12
  19. package/src/components/controls/senior/selectDepartments.vue +78 -4
  20. package/src/components/controls/senior/selectUsers/DepartmentMenu.vue +120 -29
  21. package/src/components/controls/senior/selectUsers/selectUsers.vue +179 -5
  22. package/src/components/form/DshForm.vue +1 -1
  23. package/src/index.js +6 -4
  24. package/src/styles/components/index.less +0 -14
  25. package/src/styles/reset-iview-controls.less +19 -0
  26. package/src/styles/components/controls/.DS_Store +0 -0
  27. package/src/styles/components/controls/base/BriInputs.less +0 -55
  28. package/src/styles/components/controls/base/BriUpload/BriUpload.less +0 -167
  29. package/src/styles/components/controls/base/BriUpload/BriUploadImage.less +0 -87
  30. package/src/styles/components/controls/base/BriUpload/index.less +0 -3
  31. package/src/styles/components/controls/base/BriUpload/uploadList.less +0 -164
  32. package/src/styles/components/controls/base/DshCascader/DshCascader.less +0 -67
  33. package/src/styles/components/controls/base/DshCascader/InfoCascader.less +0 -59
  34. package/src/styles/components/controls/base/DshCascader/index.less +0 -2
  35. package/src/styles/components/controls/base/DshCoordinates.less +0 -67
  36. package/src/styles/components/controls/base/DshDivider.less +0 -115
  37. package/src/styles/components/controls/base/DshInput.less +0 -13
  38. package/src/styles/components/controls/senior/.DS_Store +0 -0
  39. package/src/styles/components/controls/senior/BriLabels.less +0 -66
  40. package/src/styles/components/controls/senior/DshPackage.less +0 -25
  41. package/src/styles/components/controls/senior/cascaderTable.less +0 -19
  42. package/src/styles/components/controls/senior/flatTable.less +0 -20
  43. package/src/styles/components/controls/senior/selectDepartments.less +0 -73
  44. package/src/styles/components/controls/senior/selectUsers/DepartmentMenu.less +0 -37
  45. package/src/styles/components/controls/senior/selectUsers/index.less +0 -2
  46. package/src/styles/components/controls/senior/selectUsers/selectUsers.less +0 -180
@@ -1,40 +1,19 @@
1
1
  <!-- 动态表单 -->
2
2
  <template>
3
3
  <div class="DshPackage">
4
+ <dsh-form
5
+ v-if="curVal"
6
+ class="DshPackage-form"
7
+ :canEdit="finalCanEdit"
8
+ :formData="curVal.data || {}"
9
+ :formList="curVal.form || []"
10
+ @click.native="clickRow(val)"
11
+ ></dsh-form>
4
12
  <div
5
- v-if="canEdit"
6
- class="DshPackage-edit"
13
+ v-else
14
+ class="DshPackage-nodata"
7
15
  >
8
- <dsh-form
9
- v-if="value[propsObj._key]"
10
- class="reference-single-content-form"
11
- :canEdit="finalCanEdit"
12
- :formData="value[propsObj._key].data || {}"
13
- :formList="value[propsObj._key].form || []"
14
- @click.native="clickRow(val)"
15
- ></dsh-form>
16
- <div
17
- v-else
18
- class="DshPackage-edit-nodata"
19
- ><span>暂无字段</span>
20
- </div>
21
- </div>
22
-
23
- <div v-else>
24
- <dsh-form
25
- v-if="value[propsObj._key]"
26
- class="reference-single-content-form"
27
- :canEdit="finalCanEdit"
28
- :formData="value[propsObj._key].data || {}"
29
- :formList="value[propsObj._key].form || []"
30
- @click.native="clickRow(val)"
31
- ></dsh-form>
32
- <div
33
- v-else
34
- class="DshPackage-nodata"
35
- >
36
- {{ emptyShowVal }}
37
- </div>
16
+ {{ emptyShowVal }}
38
17
  </div>
39
18
  </div>
40
19
  </template>
@@ -57,3 +36,22 @@
57
36
  methods: {}
58
37
  };
59
38
  </script>
39
+
40
+ <style lang="less">
41
+ .DshPackage {
42
+ width: 100%;
43
+
44
+ &-form {
45
+
46
+ }
47
+
48
+ &-nodata {
49
+ height: 100%;
50
+ padding: 0 10px;
51
+ border: 1px #eee solid;
52
+ border-radius: 4px;
53
+ background: #fff;
54
+ line-height: 32px;
55
+ }
56
+ }
57
+ </style>
@@ -5,7 +5,9 @@
5
5
  v-if="isUnitShow"
6
6
  class="cascaderTable-unit"
7
7
  >
8
- <dsh-icons :list="$getOperationList(['canLink'])"></dsh-icons>
8
+ <dsh-icons :list="[{
9
+ customIcon: 'bico-Cascadetable'
10
+ }]"></dsh-icons>
9
11
  <span class="cascaderTable-unit-text">
10
12
  {{ curVal && curVal.tree.length }}行
11
13
  </span>
@@ -84,6 +86,7 @@
84
86
  return {
85
87
  isEnlarge: false,
86
88
  timer: null,
89
+
87
90
  operationMap: {
88
91
  canExport: {
89
92
  name: "导出",
@@ -100,9 +103,6 @@
100
103
  size: "small",
101
104
  btnType: "text",
102
105
  event: "clickEnlarge"
103
- },
104
- canLink: {
105
- customIcon: "bico-Cascadetable"
106
106
  }
107
107
  }
108
108
  };
@@ -198,3 +198,24 @@
198
198
  }
199
199
  };
200
200
  </script>
201
+
202
+ <style lang="less">
203
+ .cascaderTable {
204
+ &-unit {
205
+ .bri-unit-show();
206
+
207
+ &-text {
208
+
209
+ }
210
+ }
211
+
212
+ &-btns {
213
+ text-align: right;
214
+ color: @textColor;
215
+
216
+ &-item {
217
+
218
+ }
219
+ }
220
+ }
221
+ </style>
@@ -1,23 +1,22 @@
1
1
  <template>
2
2
  <div class="flatTable">
3
3
  <!-- 多选模式 -->
4
- <template v-if="multipleMode">
5
- <!-- 暂时不写内容 -->
6
- </template>
4
+ <template v-if="multipleMode"></template>
7
5
 
8
6
  <!-- 单选模式 -->
9
7
  <template v-else>
10
8
  <!-- 查看 单元格内 -->
11
- <template v-if="isUnitShow">
12
- <span class="flatTable-unit">
13
- <dsh-icons :list="[{
14
- customIcon: 'bico-internaltable'
15
- }]"></dsh-icons>
16
- <span class="flatTable-unit-text">
17
- {{ curVal.list.length }}行
18
- </span>
9
+ <span
10
+ v-if="isUnitShow"
11
+ class="flatTable-unit"
12
+ >
13
+ <dsh-icons :list="[{
14
+ customIcon: 'bico-internaltable'
15
+ }]"></dsh-icons>
16
+ <span class="flatTable-unit-text">
17
+ {{ curVal.list.length }}行
19
18
  </span>
20
- </template>
19
+ </span>
21
20
 
22
21
  <!-- 编辑、查看(查看页内) -->
23
22
  <template v-else>
@@ -149,3 +148,26 @@
149
148
  }
150
149
  };
151
150
  </script>
151
+
152
+ <style lang="less">
153
+ .flatTable {
154
+ width: 100%;
155
+
156
+ &-unit {
157
+ .bri-unit-show();
158
+
159
+ &-text {
160
+
161
+ }
162
+ }
163
+
164
+ &-btns {
165
+ text-align: right;
166
+ color: @textColor;
167
+
168
+ &-item {
169
+
170
+ }
171
+ }
172
+ }
173
+ </style>
@@ -12,8 +12,7 @@
12
12
  <bri-control-input
13
13
  v-if="canEdit"
14
14
  :class="{
15
- ...commonClass,
16
- 'selectDepartments-edit': true
15
+ ...commonClass
17
16
  }"
18
17
  :canEdit="finalCanEdit"
19
18
  :value="curValList"
@@ -27,8 +26,7 @@
27
26
  <div
28
27
  v-else
29
28
  :class="{
30
- ...commonClass,
31
- 'selectDepartments-show': true
29
+ ...commonClass
32
30
  }"
33
31
  >
34
32
  <dsh-tags
@@ -318,3 +316,79 @@
318
316
  }
319
317
  };
320
318
  </script>
319
+
320
+ <style lang="less">
321
+ .selectDepartments {
322
+ width: 100%;
323
+
324
+ &-list {
325
+ height: 500px;
326
+ .dsh-flex-col-start-stretch();
327
+
328
+ .list {
329
+ &-selected {
330
+ padding: 0 15px;
331
+ line-height: 30px;
332
+ display: flex;
333
+ flex-wrap: wrap;
334
+ align-items: center;
335
+
336
+ &-label {}
337
+
338
+ .item {
339
+ max-width: 230px;
340
+ height: 24px;
341
+ padding: 2px 6px 2px 10px;
342
+ margin: 3px 5px;
343
+ border-radius: 20px;
344
+ background-color: @themeColor;
345
+ color: #ffffff;
346
+ font-size: 12px;
347
+ display: flex;
348
+ align-items: center;
349
+
350
+ &-name {
351
+ .dsh-ellipsis();
352
+ }
353
+
354
+ &-delete {
355
+ padding: 3px;
356
+ margin-left: 5px;
357
+ font-size: 14px;
358
+ cursor: pointer;
359
+ }
360
+ }
361
+ }
362
+
363
+ &-search {
364
+ padding: 10px 15px;
365
+ }
366
+
367
+ &-center {
368
+ flex: 1;
369
+ min-height: 100px;
370
+ padding: 5px 0 10px;
371
+ overflow: auto;
372
+
373
+ &-tree {
374
+ .tree {
375
+ &-nodata {
376
+ #dsh-nodata();
377
+ }
378
+ }
379
+ }
380
+
381
+ &-card {
382
+ .card {
383
+ &-high-title {
384
+ padding: 10px 0px;
385
+ clear: both;
386
+ text-align: left;
387
+ }
388
+ }
389
+ }
390
+ }
391
+ }
392
+ }
393
+ }
394
+ </style>
@@ -39,6 +39,7 @@
39
39
  :type="getIcon(depart)"
40
40
  @click.stop="toggleChildren(depart)"
41
41
  />
42
+ <Icon custom="bico-font bri-qiye bico-qiye" />
42
43
  <span class="DepartmentMenu-item-name-text">
43
44
  {{ depart.name }}
44
45
  </span>
@@ -54,16 +55,19 @@
54
55
 
55
56
  <template v-if="depart.isShowChildren">
56
57
  <department-menu
58
+ style="margin-left: 15px"
59
+ :canEdit="canEdit"
57
60
  :list="depart.children"
58
- style="margin-left:15px"
59
61
  :parent="depart"
60
62
  :propSelect="departSelected"
61
- :canEdit="canEdit"
63
+ :propsDropdownList="propsDropdownList"
64
+ :company="company"
62
65
  @showAddModal="showAddModal"
63
66
  @showChange="showChilrenChange"
64
67
  @deleteDepart="deleteDepart"
65
68
  @departClick="departClick"
66
69
  @removeDepartment="removeDepartment"
70
+ @upDownDepartment="upDownDepartment"
67
71
  ></department-menu>
68
72
  </template>
69
73
  </div>
@@ -90,45 +94,29 @@
90
94
  default: () => {
91
95
  return {_key: "noDepart"};
92
96
  }
93
- }
97
+ },
98
+ company: {
99
+ type: Object,
100
+ default: () => {
101
+ return {};
102
+ }
103
+ },
104
+ propsDropdownList: Array
94
105
  },
95
106
  data () {
96
107
  return {
97
108
  deleteModal: true,
98
- dropdownList: [
99
- {
100
- name: "添加下级部门",
101
- type: "addSub",
102
- event: "addSubDepartment",
103
- icon: "ios-add-circle-outline"
104
- },
109
+ initDropdownList: [
105
110
  {
106
111
  name: "修改部门信息",
107
112
  type: "change",
108
113
  event: "showChange",
109
114
  icon: "ios-create-outline"
110
- },
111
- {
112
- name: "删除部门",
113
- type: "delete",
114
- event: "tipDelete",
115
- icon: "ios-trash-outline"
116
- },
117
- {
118
- name: "移动部门",
119
- type: "remove",
120
- event: "removeDepartment",
121
- icon: "ios-move"
122
115
  }
123
116
  ]
124
117
  };
125
118
  },
126
119
  computed: {
127
- getIcon () {
128
- return function (depart) {
129
- return depart.isShowChildren ? "ios-arrow-down" : "ios-arrow-forward";
130
- };
131
- },
132
120
  departSelected: {
133
121
  get () {
134
122
  return this.propSelect;
@@ -136,10 +124,51 @@
136
124
  set (val) {
137
125
  this.propSelect._key = val._key;
138
126
  }
127
+ },
128
+
129
+ dropdownList () {
130
+ if (this.propsDropdownList) {
131
+ return this.propsDropdownList;
132
+ } else {
133
+ return this.company.allowAddDepartment
134
+ ? [
135
+ {
136
+ name: "添加下级部门",
137
+ type: "addSub",
138
+ event: "addSubDepartment",
139
+ icon: "ios-add-circle-outline"
140
+ },
141
+ ...this.initDropdownList,
142
+ {
143
+ name: "删除部门",
144
+ type: "delete",
145
+ event: "tipDelete",
146
+ icon: "ios-trash-outline"
147
+ },
148
+ {
149
+ name: "移动部门",
150
+ type: "remove",
151
+ event: "removeDepartment",
152
+ icon: "ios-move"
153
+ },
154
+ {
155
+ name: "向上移动",
156
+ type: "up",
157
+ event: "upDownDepartment",
158
+ icon: "md-arrow-up"
159
+ },
160
+ {
161
+ name: "向下移动",
162
+ type: "down",
163
+ event: "upDownDepartment",
164
+ icon: "md-arrow-down"
165
+ }
166
+ ]
167
+ : this.initDropdownList;
168
+ }
139
169
  }
140
170
  },
141
- created () {
142
- },
171
+ created () {},
143
172
  methods: {
144
173
  addSubDepartment (dropdownItem, dropdownIndex, current, currentUserIndex, parent) {
145
174
  this.$emit("showAddModal", current);
@@ -185,7 +214,69 @@
185
214
  // 移动部门
186
215
  removeDepartment (dropdownItem, dropdownIndex, current, currentUserIndex, parent) {
187
216
  this.$emit("removeDepartment", dropdownItem, dropdownIndex, current, currentUserIndex, parent);
217
+ },
218
+ // 向上移动部门
219
+ upDownDepartment (dropdownItem, dropdownIndex, current, currentUserIndex, parent) {
220
+ this.$emit("upDownDepartment", dropdownItem, dropdownIndex, current, currentUserIndex, parent);
221
+ },
222
+
223
+ getIcon (depart) {
224
+ return depart.isShowChildren ? "ios-arrow-down" : "ios-arrow-forward";
188
225
  }
189
226
  }
190
227
  };
191
228
  </script>
229
+
230
+ <style lang="less">
231
+ .DepartmentMenu {
232
+ font-size: 14px;
233
+
234
+ &-item {
235
+ width: 100%;
236
+ line-height: 38px;
237
+ text-align: left;
238
+ cursor: pointer;
239
+ overflow: hidden;
240
+ border-radius: 6px;
241
+
242
+ .ivu-icon {
243
+ color: @textColor;
244
+ }
245
+
246
+ &-name {
247
+ display: flex;
248
+ justify-content: space-between;
249
+ align-items: flex-start;
250
+ padding: 8px 5px 8px 20px;
251
+ line-height: 24px;
252
+ font-weight: 400;
253
+ font-size: 16px;
254
+ color: @textColor;
255
+
256
+ &:hover {
257
+ background-color: rgba(36, 36, 63, 0.03);
258
+ }
259
+
260
+ &-select {
261
+ background-color: rgba(36, 36, 63, 0.03);
262
+ font-weight: 500;
263
+ color: @themeColor;
264
+ position: relative;
265
+
266
+ &::before {
267
+ position: absolute;
268
+ left: 0px;
269
+ top: 5px;
270
+ bottom: 5px;
271
+
272
+ content: "";
273
+ display: block;
274
+ width: 4px;
275
+ border-radius: 2px 0px 0px 2px;
276
+ background-color: @themeColor;
277
+ }
278
+ }
279
+ }
280
+ }
281
+ }
282
+ </style>
@@ -12,8 +12,7 @@
12
12
  <bri-control-input
13
13
  v-if="canEdit"
14
14
  :class="{
15
- ...commonClass,
16
- 'selectUsers-edit': true
15
+ ...commonClass
17
16
  }"
18
17
  :canEdit="finalCanEdit"
19
18
  :value="curValList"
@@ -55,8 +54,7 @@
55
54
  <div
56
55
  v-else
57
56
  :class="{
58
- ...commonClass,
59
- 'selectUsers-show': true
57
+ ...commonClass
60
58
  }"
61
59
  >
62
60
  <dsh-tags
@@ -111,7 +109,6 @@
111
109
  <!-- 右 部门对应的成员 -->
112
110
  <div class="content-users">
113
111
  <bri-loading v-if="loading" />
114
-
115
112
  <template v-else>
116
113
  <!-- 有数据 -->
117
114
  <div
@@ -470,3 +467,180 @@
470
467
  }
471
468
  };
472
469
  </script>
470
+
471
+ <style lang="less">
472
+ .selectUsers {
473
+ width: 100%;
474
+
475
+ &-unit {
476
+ .dsh-ellipsis();
477
+ padding-left: 5px;
478
+
479
+ &-img {
480
+ width: 18px;
481
+ height: 18px;
482
+ vertical-align: middle;
483
+ margin-left: -5px;
484
+ border-radius: 50%;
485
+ }
486
+
487
+ &-text {
488
+ vertical-align: middle;
489
+ }
490
+ }
491
+
492
+ // 弹框部分
493
+ &-modal {
494
+ &-wrap {
495
+ display: flex;
496
+ height: 500px;
497
+
498
+ &-left {
499
+ width: 520px;
500
+ overflow-y: auto;
501
+ background: @white;
502
+ border: 1px solid #E5E5E5;
503
+
504
+ .search {
505
+ padding: 10px 20px;
506
+ }
507
+
508
+ .content {
509
+ display: flex;
510
+ height: calc(100% - 52px);
511
+ border-top: 1px solid #E5E5E5;
512
+
513
+ &-menu {
514
+ flex: 3;
515
+ height: 100%;
516
+ overflow: auto;
517
+ }
518
+
519
+ &-users {
520
+ flex: 2;
521
+ border-left: 1px solid #E5E5E5;
522
+ position: relative;
523
+
524
+ .ivu-checkbox-checked .ivu-checkbox-inner {
525
+ border-color: @themeColor;
526
+ background-color: @themeColor;
527
+ }
528
+
529
+ &-list {
530
+ height: 100%;
531
+ display: flex;
532
+ flex-direction: column;
533
+
534
+ &-checkAll {
535
+ height: 40px;
536
+ line-height: 40px;
537
+ border-bottom: 1px solid #E5E5E5;
538
+ padding-left: 15px;
539
+ }
540
+
541
+ &-selects {
542
+ flex: 1;
543
+ overflow: auto;
544
+ padding: 15px;
545
+
546
+ &-item {
547
+ margin-bottom: 5px;
548
+ }
549
+ }
550
+ }
551
+
552
+ &-nodata {
553
+ position: absolute;
554
+ top: 50%;
555
+ width: 100%;
556
+ text-align: center;
557
+ transform: translateY(-50%);
558
+ }
559
+
560
+ }
561
+ }
562
+ }
563
+
564
+ &-center {
565
+ width: 100px;
566
+ display: flex;
567
+ justify-content: center;
568
+ align-items: center;
569
+
570
+ .icon {
571
+ width: 24px;
572
+ height: 24px;
573
+ line-height: 24px;
574
+ font-size: 18px;
575
+ background-color: @themeColor;
576
+ border-radius: 50%;
577
+ color: #fff;
578
+ text-align: center;
579
+ }
580
+ }
581
+
582
+ &-right {
583
+ flex: 1;
584
+ width: 0px;
585
+ height: 100%;
586
+ padding: 20px;
587
+ margin-left: 10px;
588
+ border: 1px solid #E5E5E5;
589
+ background: @white;
590
+ overflow: auto;
591
+ display: flex;
592
+ flex-direction: column;
593
+
594
+ .list {
595
+ display: flex;
596
+ flex-wrap: wrap;
597
+ align-items: center;
598
+
599
+ &-item {
600
+ max-width: 150px;
601
+ height: 24px;
602
+ padding: 2px 6px 2px 10px;
603
+ margin: 3px 5px;
604
+ border-radius: 20px;
605
+ background-color: @themeColor;
606
+ color: #ffffff;
607
+ font-size: 12px;
608
+ display: flex;
609
+ align-items: center;
610
+
611
+ &-name {
612
+ .dsh-ellipsis();
613
+ }
614
+
615
+ &-delete {
616
+ padding: 3px;
617
+ margin-left: 5px;
618
+ font-size: 14px;
619
+ cursor: pointer;
620
+ }
621
+ }
622
+ }
623
+ }
624
+
625
+ &-footer {
626
+ padding-bottom: 10px;
627
+
628
+ .DshButtons {
629
+ text-align: right;
630
+ padding-right: 24px;
631
+
632
+ .ivu-btn {
633
+ width: 70px;
634
+ height: 32px;
635
+ margin-right: 13px;
636
+ }
637
+ }
638
+ }
639
+ }
640
+
641
+ .ivu-modal {
642
+ width: 900px !important;
643
+ }
644
+ }
645
+ }
646
+ </style>