bri-components 1.4.42 → 1.4.44

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 (61) hide show
  1. package/lib/0.bri-components.min.js +1 -1
  2. package/lib/1.bri-components.min.js +1 -1
  3. package/lib/10.bri-components.min.js +1 -1
  4. package/lib/2.bri-components.min.js +1 -1
  5. package/lib/3.bri-components.min.js +1 -1
  6. package/lib/4.bri-components.min.js +1 -1
  7. package/lib/5.bri-components.min.js +1 -1
  8. package/lib/6.bri-components.min.js +1 -1
  9. package/lib/7.bri-components.min.js +1 -1
  10. package/lib/8.bri-components.min.js +1 -1
  11. package/lib/9.bri-components.min.js +1 -1
  12. package/lib/bri-components.min.js +4 -76
  13. package/package.json +1 -1
  14. package/src/components/controls/base/BriUpload/BriUpload.vue +6 -5
  15. package/src/components/controls/base/DshDate/DshDaterange.vue +57 -25
  16. package/src/components/controls/base/DshNumber/DshNumber.vue +4 -6
  17. package/src/components/controls/mixins/userAndDepartMixin.js +3 -3
  18. package/src/components/controls/senior/selectDepartments.vue +23 -19
  19. package/src/components/controls/senior/selectUsers/selectUsers.vue +8 -8
  20. package/src/components/list/BriCard.vue +43 -0
  21. package/src/components/list/BriTree.vue +59 -1
  22. package/src/components/list/BriTreeItem.vue +53 -0
  23. package/src/components/list/DshPage.vue +95 -0
  24. package/src/components/list/mixins/tableBaseMixin.js +1 -4
  25. package/src/components/other/BriAvatar.vue +77 -12
  26. package/src/components/other/BriCode.vue +9 -2
  27. package/src/components/other/BriCollapseTree.vue +95 -2
  28. package/src/components/other/BriGantt.vue +319 -6
  29. package/src/components/other/BriIframe.vue +20 -0
  30. package/src/components/other/BriLoading.vue +61 -2
  31. package/src/components/other/DshColorPanel.vue +43 -0
  32. package/src/components/other/DshMenuNav.vue +84 -0
  33. package/src/components/small/BriDrawer.vue +43 -8
  34. package/src/components/small/BriTooltip.vue +1 -1
  35. package/src/components/small/DshBtnModal.vue +6 -0
  36. package/src/components/small/DshButtons.vue +34 -0
  37. package/src/components/small/DshIcons.vue +10 -0
  38. package/src/components/small/DshSteps.vue +61 -0
  39. package/src/components/small/DshTitle.vue +14 -0
  40. package/src/styles/components/index.less +3 -29
  41. package/src/styles/components/list/BriCard.less +0 -40
  42. package/src/styles/components/list/BriTree.less +0 -56
  43. package/src/styles/components/list/BriTreeItem.less +0 -50
  44. package/src/styles/components/list/DshPage.less +0 -92
  45. package/src/styles/components/other/BriAvatar.less +0 -64
  46. package/src/styles/components/other/BriCode.less +0 -5
  47. package/src/styles/components/other/BriCollapseTree.less +0 -91
  48. package/src/styles/components/other/BriGantt.less +0 -313
  49. package/src/styles/components/other/BriIframe.less +0 -17
  50. package/src/styles/components/other/BriLoading.less +0 -57
  51. package/src/styles/components/other/DshColorPanel.less +0 -40
  52. package/src/styles/components/other/DshMenuNav.less +0 -82
  53. package/src/styles/components/small/BriDrawer.less +0 -34
  54. package/src/styles/components/small/DshBtnModal.less +0 -3
  55. package/src/styles/components/small/DshButtons.less +0 -31
  56. package/src/styles/components/small/DshIcons.less +0 -7
  57. package/src/styles/components/small/DshSteps.less +0 -58
  58. package/src/styles/components/small/DshTitle.less +0 -15
  59. /package/src/styles/components/{small/BriButton.less → BriButton.less} +0 -0
  60. /package/src/styles/components/{list/BriTable.less → BriTable.less} +0 -0
  61. /package/src/styles/components/{small/DshModal.less → DshModal.less} +0 -0
@@ -97,3 +97,98 @@
97
97
  }
98
98
  };
99
99
  </script>
100
+
101
+ <style lang="less">
102
+ .DshPage {
103
+ width: 100%;
104
+ height: 24px;
105
+ line-height: 24px;
106
+ text-align: right;
107
+ font-size: 14px;
108
+
109
+ .ivu-page-total {
110
+ float: left;
111
+ }
112
+ .ivu-select-selection {
113
+ border: 0px!important;
114
+ }
115
+ .ivu-page-item-active {
116
+ a,
117
+ &:hover a {
118
+ color: @themeColor!important;
119
+ }
120
+ }
121
+ .ivu-select-single .ivu-select-selection .ivu-select-placeholder,
122
+ .ivu-select-single .ivu-select-selection,
123
+ .ivu-page-simple-pager input,
124
+ .ivu-page-options-elevator input,
125
+ .ivu-page-item-jump-next,
126
+ .ivu-page-item-jump-prev,
127
+ .ivu-page-next,
128
+ .ivu-page-prev,
129
+ .ivu-page-total,
130
+ .ivu-page-item {
131
+ height: 24px!important;
132
+ line-height: 24px!important;
133
+ background: transparent;
134
+ display: inline-block;
135
+ vertical-align: middle;
136
+ }
137
+ .ivu-select-single .ivu-select-selection .ivu-select-selected-value {
138
+ height: 24px!important;
139
+ line-height: 24px!important;
140
+ }
141
+ .ivu-page-next,
142
+ .ivu-page-prev {
143
+ background: @white;
144
+ min-width: 26px;
145
+ border: 1px solid #d9d9d9;
146
+ a {
147
+ color: #000;
148
+ font-weight: bold;
149
+ }
150
+ }
151
+ .ivu-page-item {
152
+ min-width: 24px;
153
+ &:hover {
154
+ color: @themeColor;
155
+ }
156
+ }
157
+ .ivu-page-options {
158
+ margin-left: 4px;
159
+ }
160
+ .ivu-select-visible .ivu-select-selection{
161
+ box-shadow: unset;
162
+ }
163
+ .ivu-select-item-selected,
164
+ .ivu-select-item-selected:hover {
165
+ color: @themeColor;
166
+ }
167
+ .ivu-icon {
168
+ vertical-align: baseline;
169
+ }
170
+
171
+ &-small,
172
+ &-simple.ivu-page-simple{
173
+ a {
174
+ &:hover {
175
+ color: @themeColor !important;
176
+ }
177
+ }
178
+ .ivu-page-next,
179
+ .ivu-page-prev {
180
+ background: transparent;
181
+ border-color: transparent;
182
+ &:hover {
183
+ border-color: transparent;
184
+ }
185
+ }
186
+ }
187
+
188
+ &-small {
189
+ .ivu-icon {
190
+ vertical-align: -.125em;
191
+ }
192
+ }
193
+ }
194
+ </style>
@@ -1,7 +1,6 @@
1
1
  import DshListUnit from "../../unit/DshListUnit.vue";
2
2
  import importModal from "../common/importModal.vue";
3
3
  import quoteListModal from "../common/quoteListModal.vue";
4
- import { mapGetters } from "vuex";
5
4
 
6
5
  export default {
7
6
  mixins: [],
@@ -195,13 +194,11 @@ export default {
195
194
  };
196
195
  },
197
196
  computed: {
198
- ...mapGetters(["appObj"]),
199
197
  appObj () {
200
198
  return this.$store.getters.appObj || {};
201
199
  },
202
200
  appColor () {
203
- const themeColorMap = this.$appData.themeColors || {};
204
- return (themeColorMap[this.appObj.colorType] || { color: "#3DB8C5" }).color;
201
+ return ((this.$appData.themeColors || {})[this.appObj.colorType] || {}).color || "#3DB8C5";
205
202
  },
206
203
 
207
204
  dshRender () {
@@ -1,9 +1,7 @@
1
1
  <template>
2
2
  <div class="BriAvatar">
3
3
  <!-- 无显示 -->
4
- <template v-if="users.length == 0">
5
-
6
- </template>
4
+ <template v-if="users.length == 0"></template>
7
5
 
8
6
  <!-- 图片堆叠显示 -->
9
7
  <div
@@ -35,7 +33,7 @@
35
33
  <img :src="user && user.avatarurl || avatarSrc">
36
34
  </div>
37
35
  <span>
38
- {{user && user.realname || user && user.name || ""}}
36
+ {{ user ? user.realname || user.name : "" }}
39
37
  </span>
40
38
  </div>
41
39
  </div>
@@ -77,6 +75,14 @@
77
75
  return this.users.slice(0, 4);
78
76
  }
79
77
  },
78
+ watch: {
79
+ rowData: {
80
+ handler (newVal, oldVal) {
81
+ this.init();
82
+ },
83
+ immediate: true
84
+ }
85
+ },
80
86
  created () {
81
87
  this.init();
82
88
  },
@@ -88,14 +94,73 @@
88
94
  ? this.rowData[this.field]
89
95
  : []);
90
96
  }
91
- },
92
- watch: {
93
- rowData: {
94
- handler (newVal, oldVal) {
95
- this.init();
96
- },
97
- immediate: true
98
- }
99
97
  }
100
98
  };
101
99
  </script>
100
+
101
+ <style lang="less" scoped>
102
+ .BriAvatar {
103
+ position: relative;
104
+
105
+ span {
106
+ display: inline-block;
107
+ margin-left: 20px;
108
+ line-height: 22px;
109
+ }
110
+
111
+ &-img {
112
+ width: 22px;
113
+ height: 22px;
114
+ padding: 1px;
115
+ display: inline-block;
116
+ line-height: 20px;
117
+ background: #fff;
118
+ border-radius: 50%;
119
+ img {
120
+ width: 20px;
121
+ height: 20px;
122
+ display: inline-block;
123
+ border-radius: 50%;
124
+ }
125
+ &:nth-child(1) {
126
+ position: absolute;
127
+ left: 0px;
128
+ top: 50%;
129
+ margin-top: -10px;
130
+ }
131
+ &:nth-child(2) {
132
+ position: absolute;
133
+ left: 12px;
134
+ top: 50%;
135
+ margin-top: -10px;
136
+ }
137
+ &:nth-child(3) {
138
+ position: absolute;
139
+ left: 24px;
140
+ top: 50%;
141
+ margin-top: -10px;
142
+ }
143
+ &:nth-child(4) {
144
+ position: absolute;
145
+ left: 36px;
146
+ top: 50%;
147
+ margin-top: -10px;
148
+ }
149
+ }
150
+
151
+ &-round {
152
+ display: inline-block;
153
+ margin-right: 8px;
154
+ }
155
+
156
+ &-box {
157
+ position: relative;
158
+ img {
159
+ width: 20px;
160
+ height: 20px;
161
+ display: inline-block;
162
+ border-radius: 50%;
163
+ }
164
+ }
165
+ }
166
+ </style>
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <div class="BriCode">
2
+ <div class="BriCode">
3
3
  <codemirror
4
4
  style="height:100%"
5
5
  v-model="computedVal"
@@ -8,7 +8,7 @@
8
8
  @input="input"
9
9
  @changes="changes"
10
10
  ></codemirror>
11
- </div>
11
+ </div>
12
12
  </template>
13
13
 
14
14
  <script>
@@ -116,3 +116,10 @@
116
116
  }
117
117
  };
118
118
  </script>
119
+
120
+ <style lang="less" scoped>
121
+ .BriCode {
122
+ width: 100%;
123
+ height: 100%;
124
+ }
125
+ </style>
@@ -77,9 +77,7 @@
77
77
  </div>
78
78
  </div>
79
79
  </li>
80
-
81
80
  </ul>
82
-
83
81
  </div>
84
82
  </template>
85
83
 
@@ -110,3 +108,98 @@
110
108
  }
111
109
  };
112
110
  </script>
111
+
112
+ <style lang="less" scoped>
113
+ .BriCollapseTree {
114
+ &-listItem {
115
+ display: flex;
116
+ justify-content: space-between;
117
+ padding: 6px 12px;
118
+ line-height: 20px;
119
+ cursor: pointer;
120
+
121
+ &-text {
122
+ word-break: break-word;
123
+ flex: 1;
124
+ min-width: 120px;
125
+ }
126
+
127
+ &-grey {
128
+ text-align: right;
129
+ color: @textColor;
130
+ margin-left: 0px;
131
+ }
132
+
133
+ &-rightText {
134
+ min-width: 50px;
135
+ .dsh-ellipsis2();
136
+ -webkit-line-clamp: 3;
137
+ word-break: break-word;
138
+ color: @contentColor;
139
+ }
140
+
141
+ &:hover {
142
+ background: @bgColor;
143
+ }
144
+
145
+ &-current {
146
+ font-weight: normal;
147
+ color: @themeColor;
148
+ }
149
+
150
+ &-disabled {
151
+ cursor: not-allowed;
152
+ }
153
+ }
154
+
155
+ &-collapseItem {
156
+ padding: 4px 0px;
157
+ flex: 1;
158
+ display: flex;
159
+ justify-content: space-between;
160
+ cursor: pointer;
161
+
162
+ &:hover {
163
+ background: @bgColor;
164
+ }
165
+ }
166
+ }
167
+ </style>
168
+ <style lang="less">
169
+ .BriCollapseTree {
170
+ &-collapse {
171
+ border: none;
172
+
173
+ .ivu-collapse-item>.ivu-collapse-header {
174
+ padding: 0px;
175
+ height: auto;
176
+ min-height: 32px;
177
+ line-height: 18px;
178
+ display: flex;
179
+ align-items: center;
180
+
181
+ i {
182
+ margin-right: 0px;
183
+ display: flex;
184
+ align-items: center;
185
+ justify-content: center;
186
+ width: 30px;
187
+ height: 30px;
188
+ }
189
+
190
+ &:hover {
191
+ background: @bgColor;
192
+ }
193
+ }
194
+
195
+ .ivu-collapse-content {
196
+ padding: 0px;
197
+ }
198
+
199
+ .ivu-collapse-content>.ivu-collapse-content-box {
200
+ padding: 0px;
201
+ padding-left: 18px;
202
+ }
203
+ }
204
+ }
205
+ </style>
@@ -663,6 +663,9 @@
663
663
  // 宽度调整
664
664
  window.onresize = this.refreshWidth;
665
665
  },
666
+ destroyed () {
667
+ window.onresize = null;
668
+ },
666
669
  methods: {
667
670
  init () {
668
671
  // 赋初值
@@ -782,12 +785,322 @@
782
785
  clickRow (col) {
783
786
  this.canClick && this.$emit("clickRow", col.task, col);
784
787
  }
785
- },
786
- filters: {
787
-
788
- },
789
- destroyed () {
790
- window.onresize = null;
791
788
  }
792
789
  };
793
790
  </script>
791
+
792
+ <style lang="less">
793
+ .briGantt {
794
+ width: 100%;
795
+ height: 100%;
796
+ color: #656565;
797
+ font-size: @smallSize;
798
+ line-height: 28px;
799
+ position: relative;
800
+ display: flex;
801
+ overflow: auto;
802
+ flex-direction: column;
803
+
804
+ &-top {
805
+ display: flex;
806
+ height: 100%;
807
+ width: 100%;
808
+ justify-content: space-between;
809
+ position: absolute;
810
+ }
811
+
812
+ &-bottom {
813
+ width: 100%;
814
+ overflow: auto;
815
+ display: flex;
816
+ flex-direction: column;
817
+ margin-top: 38px;
818
+ background: @white;
819
+
820
+ &-title {
821
+ text-align: center;
822
+ border: 1px solid #EDEDED;
823
+ border-bottom: none;
824
+ line-height: 27px;
825
+ // margin: 10px 14px 0 14px;
826
+ }
827
+
828
+ &-content {
829
+ flex: 1;
830
+ display: flex;
831
+ overflow: auto;
832
+ }
833
+ }
834
+
835
+ // 表格渲染
836
+ &-tableBox {
837
+ width: 100%;
838
+ text-align: center;
839
+ border-collapse: collapse;
840
+ border-spacing: 0;
841
+
842
+ td,
843
+ th {
844
+ word-break: break-all;
845
+ word-wrap: break-word;
846
+ min-width: 50px;
847
+ height: 29px;
848
+ text-align: center;
849
+ // overflow: hidden;
850
+ white-space: nowrap;
851
+ text-overflow: ellipsis;
852
+ max-width: 200px;
853
+ }
854
+
855
+ .briGantt-chart-td {
856
+ height: 40px;
857
+ }
858
+
859
+ .briGantt-table-th-now {
860
+ color: @themeColor;
861
+ }
862
+ }
863
+
864
+ &-table {
865
+ &-tr {
866
+ border: 1px solid #EDEDED;
867
+ }
868
+
869
+ &-tr:nth-child(2n) {
870
+ background: rgba(244, 246, 249, 0.5119);
871
+ }
872
+
873
+ &-th {
874
+ background: #F4F8FF;
875
+ font-weight: 400;
876
+ color: rgba(101, 101, 101, 1);
877
+ }
878
+
879
+ &-td {
880
+ border-right: 1px solid #EDEDED;
881
+ font-weight: 400;
882
+ color: rgba(111, 111, 111, 1);
883
+
884
+ &-main {
885
+ height: 28px;
886
+ background: rgba(238, 238, 238, 0.5);
887
+ border: 1px solid #f6f6f6;
888
+ }
889
+ }
890
+
891
+ &-td:last-of-type {
892
+ border: none;
893
+ }
894
+ }
895
+
896
+ &-chart {
897
+ &-td {
898
+ overflow: visible;
899
+
900
+ &-greyLine {
901
+ border-top: 1px dashed #D5D5D5;
902
+ }
903
+
904
+ &-main {
905
+ display: flex;
906
+ width: 100%;
907
+ height: 100%;
908
+ align-items: center;
909
+ justify-content: center;
910
+
911
+ &-left,
912
+ &-right {
913
+ height: 100%;
914
+ overflow: hidden;
915
+ }
916
+
917
+ &-right-auto {
918
+ height: 100%;
919
+ overflow: hidden;
920
+ flex: 1;
921
+ }
922
+
923
+ &-center {
924
+ height: 30px;
925
+ border-radius: 4px;
926
+ background: #f6f6f6;
927
+ z-index: 1;
928
+ min-width: 2px;
929
+
930
+ .ms-ellipsis {
931
+ border-radius: 4px;
932
+ height: 100%;
933
+ color: @white;
934
+ text-align: left;
935
+ padding-left: 10px;
936
+ white-space: nowrap;
937
+ text-overflow: ellipsis;
938
+ overflow: hidden;
939
+ }
940
+
941
+ &-tooltip {
942
+ white-space: normal;
943
+
944
+ &-select {
945
+ height: 5px;
946
+ display: inline-block;
947
+ vertical-align: middle;
948
+ width: 5px;
949
+ border-radius: 50%;
950
+ }
951
+ }
952
+ }
953
+
954
+ &-line {
955
+ width: 100%;
956
+ border-bottom: 1px solid #D5D5D5;
957
+ font-weight: 400;
958
+ color: rgba(74, 74, 74, 1);
959
+ padding: 0 10px;
960
+ transform: translateY(15px);
961
+ text-align: left;
962
+ height: 29px;
963
+ font-size: @smallSize;
964
+ white-space: nowrap;
965
+ text-overflow: ellipsis;
966
+ overflow: hidden;
967
+
968
+ &-circle {
969
+ display: block;
970
+ width: 10px;
971
+ height: 100%;
972
+ min-width: 10px;
973
+
974
+ .circle {
975
+ display: block;
976
+ width: 10px;
977
+ height: 10px;
978
+ border-radius: 50%;
979
+ min-width: 10px;
980
+ margin-top: 38px;
981
+ background: #D5D5D5;
982
+ }
983
+ }
984
+ }
985
+
986
+ ;
987
+ }
988
+ }
989
+ }
990
+
991
+ // 蓝色虚线
992
+ &-line-now {
993
+ z-index: 9;
994
+ text-align: center;
995
+ background: transparent;
996
+
997
+ &::before {
998
+ content: "";
999
+ border-left: 1px dashed @themeColor;
1000
+ position: absolute;
1001
+ top: 25px;
1002
+ bottom: 0px;
1003
+ z-index: 9;
1004
+ }
1005
+
1006
+ &::after {
1007
+ content: "";
1008
+ width: 6px;
1009
+ height: 6px;
1010
+ border-radius: 6px;
1011
+ background: @themeColor;
1012
+ position: absolute;
1013
+ top: 25px;
1014
+ margin-left: -3px;
1015
+ }
1016
+ }
1017
+
1018
+ // 时间轴
1019
+ &-timer {
1020
+ align-items: center;
1021
+ position: relative;
1022
+ float: right;
1023
+ overflow: hidden;
1024
+
1025
+ &-main {
1026
+ overflow: auto;
1027
+ flex: 1;
1028
+ height: 100%;
1029
+ position: relative;
1030
+ }
1031
+
1032
+ &-bg {
1033
+ position: absolute;
1034
+ background: #F4F8FF;
1035
+ left: 0px;
1036
+ right: 0px;
1037
+ height: 28px;
1038
+ border-radius: 28px;
1039
+ }
1040
+
1041
+ &-icon {
1042
+ background: #F4F8FF;
1043
+ color: #fff;
1044
+ width: 28px;
1045
+ height: 28px;
1046
+ min-width: 28px;
1047
+ display: flex;
1048
+ align-items: center;
1049
+ justify-content: center;
1050
+ position: absolute;
1051
+ z-index: 2;
1052
+ top: 0px;
1053
+ background: #F2F8FF;
1054
+
1055
+ &:hover {
1056
+ color: #fff;
1057
+ }
1058
+
1059
+ i {
1060
+ display: block;
1061
+ width: 16px;
1062
+ height: 16px;
1063
+ border-radius: 16px;
1064
+ font-size: 13px;
1065
+ background: @themeColor;
1066
+ display: flex;
1067
+ align-items: center;
1068
+ justify-content: center;
1069
+ }
1070
+
1071
+ &-left {
1072
+ left: -1px;
1073
+ border-top-left-radius: 28px;
1074
+ border-bottom-left-radius: 28px;
1075
+ }
1076
+
1077
+ &-right {
1078
+ right: -1px;
1079
+ border-top-right-radius: 28px;
1080
+ border-bottom-right-radius: 28px;
1081
+ }
1082
+ }
1083
+ }
1084
+
1085
+ // 区域映射
1086
+ &-data {
1087
+ flex: 1;
1088
+ overflow: auto;
1089
+ position: relative;
1090
+
1091
+ &-table {}
1092
+
1093
+ &-chart {}
1094
+
1095
+ &::-webkit-scrollbar {
1096
+ height: 0px;
1097
+ }
1098
+ }
1099
+
1100
+ // table 列表映射
1101
+ &-tabledata {
1102
+ overflow-y: auto;
1103
+ border-right: none;
1104
+ }
1105
+ }
1106
+ </style>