bri-components 1.2.48 → 1.2.50

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 (66) 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/2.bri-components.min.js +1 -1
  4. package/lib/3.bri-components.min.js +1 -1
  5. package/lib/4.bri-components.min.js +1 -1
  6. package/lib/5.bri-components.min.js +1 -1
  7. package/lib/6.bri-components.min.js +1 -1
  8. package/lib/bri-components.min.js +16 -16
  9. package/package.json +2 -2
  10. package/src/components/controls/BriControlInput.vue +4 -3
  11. package/src/components/controls/base/DshCascader/DshCascader.vue +40 -23
  12. package/src/components/controls/base/DshCascader/InfoCascader.vue +7 -15
  13. package/src/components/controls/base/DshDate/DshDate.vue +146 -0
  14. package/src/components/controls/base/{DshDaterange.vue → DshDate/DshDaterange.vue} +55 -1
  15. package/src/components/controls/base/DshEditor.vue +79 -1
  16. package/src/components/controls/base/{BriInputs.vue → DshInput/BriInputs.vue} +1 -1
  17. package/src/components/controls/base/{DshInput.vue → DshInput/DshInput.vue} +24 -5
  18. package/src/components/controls/base/DshNumber/DshNumber.vue +74 -2
  19. package/src/components/controls/base/{DshNumberange.vue → DshNumber/DshNumberange.vue} +37 -2
  20. package/src/components/controls/base/DshSelect/DshCheckbox.vue +280 -0
  21. package/src/components/controls/base/DshSelect/DshSelect.vue +319 -0
  22. package/src/components/controls/base/DshSelect/selectMixin.js +241 -0
  23. package/src/components/controls/base/DshSwitch/DshSwitch.vue +84 -0
  24. package/src/components/controls/base/DshSwitch/switchMixin.js +73 -0
  25. package/src/components/controls/controlMap.js +8 -11
  26. package/src/components/controls/controlMixin.js +41 -14
  27. package/src/components/controls/senior/BriLabels.vue +2 -2
  28. package/src/components/controls/senior/selectDepartments.vue +9 -13
  29. package/src/components/controls/senior/selectUsers/selectUsers.vue +23 -21
  30. package/src/components/controls/special/DshBack.vue +6 -0
  31. package/src/components/controls/special/DshUndeveloped.vue +6 -0
  32. package/src/components/form/DshAdvSearch.vue +155 -3
  33. package/src/components/form/DshDefaultSearch.vue +94 -12
  34. package/src/components/form/DshForm.vue +24 -0
  35. package/src/components/form/searchMixin.js +5 -18
  36. package/src/components/other/BriGantt.vue +2 -2
  37. package/src/components/unit/DshFormUnit.vue +108 -0
  38. package/src/components/unit/DshListUnit.vue +6 -0
  39. package/src/index.js +10 -10
  40. package/src/styles/components/index.less +0 -19
  41. package/src/styles/components/other/BriGantt.less +1 -12
  42. package/src/styles/{control.less → global/control.less} +3 -2
  43. package/src/styles/global/global.less +2 -0
  44. package/src/styles/index.less +0 -1
  45. package/src/styles/reset-iview.less +47 -1
  46. package/src/utils/table.js +1 -0
  47. package/src/components/controls/base/DshCheckbox.vue +0 -213
  48. package/src/components/controls/base/DshDate.vue +0 -122
  49. package/src/components/controls/base/DshSelect.vue +0 -242
  50. package/src/components/controls/base/DshSwitch.vue +0 -60
  51. package/src/components/controls/base/selectMixin.js +0 -110
  52. package/src/styles/components/controls/base/DshCheckbox.less +0 -115
  53. package/src/styles/components/controls/base/DshDate.less +0 -15
  54. package/src/styles/components/controls/base/DshDaterange.less +0 -49
  55. package/src/styles/components/controls/base/DshEditor.less +0 -75
  56. package/src/styles/components/controls/base/DshNumber.less +0 -55
  57. package/src/styles/components/controls/base/DshNumberange.less +0 -29
  58. package/src/styles/components/controls/base/DshSelect.less +0 -190
  59. package/src/styles/components/controls/base/DshSwitch.less +0 -7
  60. package/src/styles/components/controls/special/DshBack.less +0 -3
  61. package/src/styles/components/controls/special/DshUndeveloped.less +0 -3
  62. package/src/styles/components/form/DshAdvSearch.less +0 -149
  63. package/src/styles/components/form/DshDefaultSearch.less +0 -82
  64. package/src/styles/components/form/DshForm.less +0 -18
  65. package/src/styles/components/unit/DshFormUnit.less +0 -105
  66. package/src/styles/components/unit/DshListUnit.less +0 -3
@@ -1,5 +1,9 @@
1
1
  <template>
2
- <div class="DshNumber">
2
+ <!-- 单选模式 -->
3
+ <div
4
+ v-if="!multipleMode"
5
+ class="DshNumber"
6
+ >
3
7
  <!-- 编辑 -->
4
8
  <template v-if="canEdit">
5
9
  <BriInputNumber
@@ -46,11 +50,21 @@
46
50
  </template>
47
51
  </template>
48
52
  </div>
53
+
54
+ <!-- 多选模式 -->
55
+ <dsh-numberange
56
+ v-else
57
+ :canEdit="canEdit"
58
+ :value="value"
59
+ :propsObj="propsObj"
60
+ @change="change"
61
+ ></dsh-numberange>
49
62
  </template>
50
63
 
51
64
  <script>
52
65
  import controlMixin from "../../controlMixin.js";
53
66
  import BriInputNumber from "./BriInputNumber/BriInputNumber.vue";
67
+ import DshNumberange from "./DshNumberange.vue";
54
68
 
55
69
  export default {
56
70
  name: "DshNumber",
@@ -58,7 +72,8 @@
58
72
  controlMixin
59
73
  ],
60
74
  components: {
61
- BriInputNumber
75
+ BriInputNumber,
76
+ DshNumberange
62
77
  },
63
78
  props: {},
64
79
  data () {
@@ -133,3 +148,60 @@
133
148
  methods: {}
134
149
  };
135
150
  </script>
151
+
152
+ <style lang="less" scoped>
153
+ .DshNumber {
154
+ width: 100%;
155
+
156
+ &-edit {
157
+ &-suffix {
158
+ min-width: 32px;
159
+ border-left: 1px solid @borderColor;
160
+ background-color: #F0F0F0;
161
+ text-align: center;
162
+ color: @textColor;
163
+ }
164
+ }
165
+ }
166
+ </style>
167
+ <style lang="less">
168
+ .ivu-input-number {
169
+ width: 100%;
170
+
171
+ .ivu-input-number-input {
172
+ color: @textColor;
173
+ }
174
+
175
+ &-disabled {
176
+ .ivu-input-number-input {
177
+ opacity: 1;
178
+ background: @inputBg-disabled;
179
+ color: @textColor;
180
+ &::-webkit-input-placeholder {
181
+ color: @placeholder-disabled-color;
182
+ }
183
+ }
184
+ }
185
+
186
+ &-handler {
187
+ &-wrap {
188
+ border-left: none;
189
+ }
190
+ &-down {
191
+ border: none;
192
+ }
193
+ &:hover {
194
+ background-color: @hoverBg;
195
+
196
+ .ivu-input-number-handler-down-inner,
197
+ .ivu-input-number-handler-up-inner {
198
+ color: @textColor;
199
+ }
200
+ }
201
+ &-down-inner,
202
+ &-up-inner {
203
+ color: @contentColor;
204
+ }
205
+ }
206
+ }
207
+ </style>
@@ -52,8 +52,8 @@
52
52
  </template>
53
53
 
54
54
  <script>
55
- import controlMixin from "../controlMixin.js";
56
- import BriInputNumber from "./DshNumber/BriInputNumber/BriInputNumber.vue";
55
+ import controlMixin from "../../controlMixin.js";
56
+ import BriInputNumber from "./BriInputNumber/BriInputNumber.vue";
57
57
 
58
58
  export default {
59
59
  name: "DshNumberange",
@@ -125,3 +125,38 @@
125
125
  methods: {}
126
126
  };
127
127
  </script>
128
+
129
+ <style lang="less" scoped>
130
+ .DshNumberange {
131
+ width: 100%;
132
+ display: flex;
133
+ align-items: center;
134
+
135
+ &-left,
136
+ &-right {
137
+ flex: 1;
138
+ }
139
+
140
+ &-center {
141
+ width: 30px;
142
+ text-align: center;
143
+ color: @textColor;
144
+ }
145
+
146
+ &-suffix {
147
+ padding-right: 24px;
148
+ padding-left: 8px;
149
+ line-height: 30px;
150
+ white-space: nowrap;
151
+ }
152
+ }
153
+ </style>
154
+ <style lang="less">
155
+ .DshNumberange {
156
+ input {
157
+ text-overflow: ellipsis;
158
+ overflow: hidden;
159
+ white-space: nowrap;
160
+ }
161
+ }
162
+ </style>
@@ -0,0 +1,280 @@
1
+ <template>
2
+ <div class="DshCheckbox">
3
+ <!-- 编辑 -->
4
+ <template v-if="canEdit">
5
+ <!-- 有选项 -->
6
+ <template v-if="listData.length">
7
+ <!-- flat方式 -->
8
+ <template v-if="showType === 'flat'">
9
+ <CheckboxGroup
10
+ :class="{
11
+ 'DshCheckbox-flat': true,
12
+ 'DshCheckbox-flat-color': useColor,
13
+ 'DshCheckbox-flat-disabled': !canEdit,
14
+ 'DshCheckbox-flat-scroll': selfPropsObj._span < 24 && !selfPropsObj._br,
15
+ }"
16
+ v-model="curValList"
17
+ >
18
+ <Checkbox
19
+ v-for="(item, index) in listData"
20
+ :key="index"
21
+ :class="[
22
+ 'DshCheckbox-item',
23
+ getItemColorClass(item),
24
+ selfPropsObj.class,
25
+ item.class
26
+ ]"
27
+ :style="getItemStyle(item)"
28
+ :label="item._key"
29
+ :disabled="getItemDisabled(item)"
30
+ :border="useColor"
31
+ @click.native="clickOpenTip(item)"
32
+ >
33
+ <slot :item="item"></slot>
34
+
35
+ <span>{{ item.name || item._name }}</span>
36
+ </Checkbox>
37
+
38
+ <!-- tip项弹框提示 -->
39
+ <dsh-render :render="tipModalRender"></dsh-render>
40
+ </CheckboxGroup>
41
+ </template>
42
+
43
+ <!-- dropdown模式 -->
44
+ <template v-else>
45
+ <Select
46
+ v-model="value[controlKey]"
47
+ :multiple="true"
48
+ :placeholder="selfPropsObj._placeholder"
49
+ :disabled="!finalCanEdit"
50
+ :filterable="selfPropsObj._filterable"
51
+ :transfer="selfPropsObj._transfer"
52
+ :transfer-class-name="selfPropsObj._transferClassName"
53
+ :max-tag-count="selfPropsObj._maxTagCount"
54
+ @on-select="changeSelect"
55
+ >
56
+ <Option
57
+ v-for="(item, index) in listData"
58
+ :key="index"
59
+ :value="item._key"
60
+ :label="item.name || item._name"
61
+ :disabled="getItemDisabled(item)"
62
+ >
63
+ <Checkbox :value="getItemSelectStatus(item)"></Checkbox>
64
+
65
+ <slot :item="item"></slot>
66
+
67
+ <span>{{ item.name || item._name }}</span>
68
+ <span style="float:right; padding-right:20px">
69
+ {{ item.rightName }}
70
+ </span>
71
+ </Option>
72
+ </Select>
73
+ </template>
74
+ </template>
75
+
76
+ <!-- 无选项 -->
77
+ <div
78
+ v-else
79
+ class="dsh-subtip"
80
+ >-- 无选择项 --</div>
81
+ </template>
82
+
83
+ <!-- 查看 -->
84
+ <template v-else>
85
+ <bri-tooltip
86
+ :content="showMulVal"
87
+ placement="top"
88
+ maxWidth="200"
89
+ :transfer="true"
90
+ >
91
+ <div :class="{
92
+ ...commonClass,
93
+ 'DshCheckbox-show': true
94
+ }">
95
+ <!-- 有值 -->
96
+ <dsh-tags
97
+ v-if="!$isEmptyData(curValList)"
98
+ class="text"
99
+ :list="curValObjList"
100
+ ></dsh-tags>
101
+
102
+ <!-- 无值 -->
103
+ <template v-else>
104
+ {{ emptyShowVal }}
105
+ </template>
106
+ </div>
107
+ </bri-tooltip>
108
+ </template>
109
+ </div>
110
+ </template>
111
+
112
+ <script>
113
+ import selectMixin from "./selectMixin.js";
114
+
115
+ export default {
116
+ name: "DshCheckbox",
117
+ mixins: [
118
+ selectMixin
119
+ ],
120
+ components: {},
121
+ props: {},
122
+ data () {
123
+ return {};
124
+ },
125
+ computed: {
126
+ selfPropsObj () {
127
+ return {
128
+ _transfer: true,
129
+ ...this.selectPropsObj
130
+ };
131
+ }
132
+ },
133
+ created () {},
134
+ methods: {
135
+ // 下拉框的change (下拉方式时用v-model触发change有问题,组件进来如果值不为空的,就会v-model返值一次)
136
+ changeSelect (item) {
137
+ if (this.curValList.includes(item.value)) {
138
+ let itemIndex = this.curValList.findIndex(valItem => valItem === item.value);
139
+ this.curValList.splice(itemIndex, 1);
140
+ } else {
141
+ this.curValList.push(item.value);
142
+ }
143
+
144
+ this.curValList = [...this.curValList];
145
+ },
146
+
147
+ getItemColorClass (item) {
148
+ return this.colorMap[item.color] ? item.color : "color-1";
149
+ },
150
+ getItemStyle (item) {
151
+ const color = this.colorMap[item.color] || this.colorMap["color-1"];
152
+ return {
153
+ background: this.useColor ? this.$getColor(color, 0.1) : undefined,
154
+ color: this.useColor ? color : undefined
155
+ };
156
+ },
157
+ // 获取某项的置灰状态
158
+ getItemDisabled (item) {
159
+ return !!(
160
+ !this.finalCanEdit ||
161
+ item._disabled ||
162
+ this.curValList.length >= this.selfPropsObj._max && !this.getItemSelectStatus(item)
163
+ );
164
+ },
165
+ // 获取某项的选中状态
166
+ getItemSelectStatus (item) {
167
+ return this.curValList.includes(item._key);
168
+ }
169
+ }
170
+ };
171
+ </script>
172
+
173
+ <style lang="less">
174
+ .DshCheckbox {
175
+ width: 100%;
176
+
177
+ &-flat {
178
+ width: 100%;
179
+
180
+ // 选中时背景为白色
181
+ .ivu-checkbox-checked .ivu-checkbox-inner {
182
+ background-color: @themeColor;
183
+ }
184
+
185
+ &-item {}
186
+
187
+ &-color {
188
+ .ivu-checkbox-border {
189
+ margin-right: 16px;
190
+ height: 32px;
191
+ border: none;
192
+ border-radius: 4px;
193
+ line-height: 32px;
194
+ color: #FFF;
195
+ }
196
+
197
+ .ivu-checkbox {
198
+ .ivu-checkbox-inner {
199
+ border: 2px solid @themeColor;
200
+ background-color: transparent;
201
+ }
202
+
203
+ .ivu-checkbox-focus {
204
+ box-shadow: 0 0 0 0;
205
+ }
206
+ }
207
+
208
+ .ivu-checkbox-disabled+span {
209
+ color: inherit;
210
+ }
211
+
212
+ each(@resourceColor, {
213
+ .color-@{index} {
214
+ .ivu-checkbox {
215
+ .ivu-checkbox-inner {
216
+ border-color: @value;
217
+ }
218
+ }
219
+
220
+ .ivu-checkbox-checked {
221
+ .ivu-checkbox-inner {
222
+ background-color: @value;
223
+ }
224
+ }
225
+ }
226
+ });
227
+ }
228
+
229
+ &-disabled {
230
+ .ivu-checkbox-disabled+span {
231
+ color: #515a6e;
232
+ }
233
+ }
234
+
235
+ &-scroll {
236
+ overflow: auto;
237
+ white-space: nowrap;
238
+
239
+ .bri-scrollbar3();
240
+ }
241
+ }
242
+
243
+ &-show {}
244
+
245
+ .ivu-select-multiple {
246
+ .ivu-select-selection {
247
+ height: 32px;
248
+ .dsh-flex-row-between-center();
249
+
250
+ & > div {
251
+ width: 100%;
252
+ height: 100%;
253
+ word-break: keep-all;
254
+ white-space: nowrap;
255
+ overflow: auto;
256
+ .bri-scrollbar3();
257
+
258
+ .ivu-tag {
259
+ margin: 2px 4px 0px 0px;
260
+ background-color: @borderColor;
261
+ }
262
+ }
263
+ }
264
+
265
+ &.ivu-select-disabled {
266
+ .ivu-select-selection {
267
+ & > div {
268
+ .ivu-tag {
269
+ background-color: @border-disabled;
270
+ }
271
+ }
272
+ }
273
+ }
274
+
275
+ .ivu-select-item-selected:after {
276
+ content: none;
277
+ }
278
+ }
279
+ }
280
+ </style>