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
@@ -0,0 +1,73 @@
1
+ import controlMixin from "../../controlMixin.js";
2
+ import DshCheckbox from "../DshSelect/DshCheckbox.vue";
3
+
4
+ export default {
5
+ mixins: [
6
+ controlMixin
7
+ ],
8
+ components: {
9
+ DshCheckbox
10
+ },
11
+ props: {},
12
+ data () {
13
+ return {};
14
+ },
15
+ computed: {
16
+ switchPropsObj () {
17
+ return {
18
+ loading: false, // 是否为加载状态
19
+ _openColor: this.$appData.themeColor, // 打开时的背景色
20
+ _closeColor: "#ccc", // 关闭时的背景色
21
+ _openValue: true, // 打开时对应的值
22
+ _closeValue: false, // 关闭时对应的值
23
+
24
+ ...this.propsObj,
25
+ ...this.commonDealPropsObj,
26
+
27
+ _openText: this.propsObj._openText || "是", // 此行放在 ...this.propsObj的下面目的是,处理_openText为空字符串的情况
28
+ _closeText: this.propsObj._closeText || "否",
29
+ _disabled: this.propsObj._disabled || !this.finalCanEdit
30
+ };
31
+ },
32
+ mulPropsObj () {
33
+ return {
34
+ ...this.propsObj,
35
+ _optionKind: "flat",
36
+ _data: [
37
+ {
38
+ _key: "true",
39
+ name: this.selfPropsObj._openText,
40
+ color: this.selfPropsObj._openColor
41
+ },
42
+ {
43
+ _key: "false",
44
+ name: this.selfPropsObj._closeText,
45
+ color: this.selfPropsObj._closeColor
46
+ }
47
+ ]
48
+ };
49
+ },
50
+ showStyle () {
51
+ return !this.$isEmptyData(this.curVal)
52
+ ? {
53
+ backgroundColor: this.curVal === true ? "#d3f3dc" : "#FDEDED",
54
+ color: this.curVal === true ? "#37C45E" : "#E83636",
55
+ display: "inline-block",
56
+ "max-width": "100%",
57
+ padding: "0px 6px",
58
+ "border-radius": "4px"
59
+ }
60
+ : {};
61
+ },
62
+
63
+ showVal () {
64
+ return this.$isEmptyData(this.curVal)
65
+ ? this.emptyShowVal
66
+ : this.curVal === true
67
+ ? this.selfPropsObj._openText
68
+ : this.selfPropsObj._closeText;
69
+ }
70
+ },
71
+ created () { },
72
+ methods: {}
73
+ };
@@ -17,11 +17,11 @@ const componentNameMap = {
17
17
  url: "DshInput",
18
18
  password: "DshInput",
19
19
  serialNumber: "DshInput",
20
- texts: "BriInputs",
20
+ texts: "DshInput",
21
21
  number: "DshNumber",
22
- numberange: "DshNumberange",
22
+ numberange: "DshNumber",
23
23
  date: "DshDate",
24
- daterange: "DshDaterange",
24
+ daterange: "DshDate",
25
25
  switch: "DshSwitch",
26
26
  select: "DshSelect",
27
27
  checkbox: "DshCheckbox",
@@ -50,15 +50,12 @@ const componentNameMap = {
50
50
  // 组件相对路径映射图
51
51
  const pathMap = {
52
52
  base: {
53
- // DshInput: "./base/DshInput.vue", // 全局已注册
54
- BriInputs: "./base/BriInputs.vue",
53
+ // DshInput: "./base/DshInput/DshInput.vue", // 全局已注册
55
54
  // DshNumber: "./base/DshNumber/DshNumber.vue", // 全局已注册
56
- DshNumberange: "./base/DshNumberange.vue",
57
- DshDate: "./base/DshDate.vue",
58
- DshDaterange: "./base/DshDaterange.vue",
59
- DshSwitch: "./base/DshSwitch.vue",
60
- // DshSelect: "./base/DshSelect.vue", // 全局已注册
61
- // DshCheckbox: "./base/DshCheckbox.vue", // 全局已注册
55
+ DshDate: "./base/DshDate/DshDate.vue",
56
+ DshSwitch: "./base/DshSwitch/DshSwitch.vue",
57
+ // DshSelect: "./base/DshSelect/DshSelect.vue", // 全局已注册
58
+ // DshCheckbox: "./base/DshSelect/DshCheckbox.vue", // 全局已注册
62
59
  // DshCascader: "./base/DshCascader/DshCascader.vue", // 全局已注册
63
60
  BriUpload: "./base/BriUpload/BriUpload.vue",
64
61
  DshCoordinates: "./base/DshCoordinates.vue",
@@ -35,7 +35,9 @@ export default {
35
35
  }
36
36
  },
37
37
  data () {
38
- return {};
38
+ return {
39
+ showModal: false
40
+ };
39
41
  },
40
42
  computed: {
41
43
  // 值为不是[]类型用的
@@ -45,6 +47,7 @@ export default {
45
47
  },
46
48
  set (val) {
47
49
  this.value[this.controlKey] = val;
50
+ // this.change();
48
51
  }
49
52
  },
50
53
  // 值为[]类型用的
@@ -52,8 +55,8 @@ export default {
52
55
  get () {
53
56
  return this.value[this.controlKey] || [];
54
57
  },
55
- set (val) {
56
- this.$set(this.value, this.controlKey, val);
58
+ set (valList) {
59
+ this.$set(this.value, this.controlKey, valList);
57
60
  this.change();
58
61
  }
59
62
  },
@@ -65,7 +68,9 @@ export default {
65
68
  : "暂无内容";
66
69
  },
67
70
  showVal () {
68
- return this.$isEmptyData(this.curVal) ? this.emptyShowVal : this.curVal;
71
+ return this.$isEmptyData(this.curVal)
72
+ ? this.emptyShowVal
73
+ : this.curVal;
69
74
  },
70
75
 
71
76
  controlKey () {
@@ -83,8 +88,9 @@ export default {
83
88
  finalCanEdit () {
84
89
  return this.canEdit && (this.propsObj.canEdit == undefined ? true : this.propsObj.canEdit);
85
90
  },
91
+ // 是否为多选模式
86
92
  multipleMode () {
87
- return this.selfPropsObj ? !!this.selfPropsObj._multiple : !!this.propsObj._multiple;
93
+ return ["numberange", "daterange", "checkbox", "regions", "cascaders"].includes(this.controlType) || !!this.propsObj._multiple;
88
94
  },
89
95
  commonDealPropsObj () {
90
96
  const selectControlTypes = ["date", "switch", "select", "checkbox", "file", "region", "regions", "cascader", "cascaders", "coordinates", "users", "departments"];
@@ -103,7 +109,7 @@ export default {
103
109
  "bri-control-unit": !this.canEdit && this.isInTable,
104
110
  "bri-control-show": !this.canEdit && !this.isInTable,
105
111
 
106
- "dsh-ellipsis": !(this.isUnitShow && !!this.propsObj._unitWrap),
112
+ "dsh-ellipsis": this.isUnitShow,
107
113
  "bri-control-nodata": this.$isEmptyData(this.curVal)
108
114
  };
109
115
  },
@@ -121,21 +127,22 @@ export default {
121
127
  // },
122
128
 
123
129
  /* 部分条件下 才使用的属性 */
124
- isCore () {
125
- return !!this.propsObj.isCore;
126
- },
127
130
  isInTable () {
128
131
  return !!this.propsObj.isInTable;
129
132
  },
133
+ isOnSearch () {
134
+ return !!this.propsObj.onSearch;
135
+ },
130
136
  isUnitUpdate () {
131
- return !!this.canEdit && this.isInTable;
137
+ return this.isInTable && !!this.canEdit;
132
138
  },
133
139
  isUnitShow () {
134
- return !this.canEdit && this.isInTable;
135
- },
136
- isShare () {
137
- return !!this.propsObj.isShare;
140
+ return this.isInTable && !this.canEdit;
138
141
  },
142
+ // isShare () {
143
+ // return !!this.propsObj.isShare;
144
+ // },
145
+
139
146
  /* 部分控件下 才使用的属性 */
140
147
  compKey () {
141
148
  return this.propsObj.compKey;
@@ -148,6 +155,12 @@ export default {
148
155
  },
149
156
  modKey () {
150
157
  return this.propsObj.modKey;
158
+ },
159
+ // 移动端在用 --只做校验的field框所用的propsObj
160
+ ruleFieldPropsObj () {
161
+ return {
162
+ _rules: this.propsObj._rules
163
+ };
151
164
  }
152
165
  },
153
166
  methods: {
@@ -156,6 +169,20 @@ export default {
156
169
  },
157
170
  refChange (...params) {
158
171
  this.$emit("refChange", this.value[this.controlKey]);
172
+ },
173
+
174
+ /* ----- 工具方法 ------- */
175
+ // 切换弹框
176
+ toggleModal (bool) {
177
+ this.showModal = bool;
178
+ },
179
+ // 打开弹框
180
+ openModal () {
181
+ this.showModal = true;
182
+ },
183
+ // 关闭弹框
184
+ closeModal () {
185
+ this.showModal = false;
159
186
  }
160
187
  }
161
188
  };
@@ -151,7 +151,7 @@
151
151
  return this.selfPropsObj._labelType;
152
152
  },
153
153
  onlySelect () {
154
- return this.selfPropsObj._onlySelect;
154
+ return this.isOnSearch ? true : this.selfPropsObj._onlySelect;
155
155
  },
156
156
  originLabels () {
157
157
  return this.selfPropsObj._originLabels;
@@ -171,7 +171,7 @@
171
171
  clickInput () {
172
172
  if (this.finalCanEdit) {
173
173
  if (!this.renderList) {
174
- if (this.isCore) {
174
+ if (this.controlKey === "_default") {
175
175
  this.listData = this.originLabels.map(item => {
176
176
  return {
177
177
  ...item,
@@ -57,7 +57,7 @@
57
57
  <!-- 上 已选择项 -->
58
58
  <div class="list-selected">
59
59
  <span class="list-selected-label">
60
- 已选择{{ multiple ? `(${newValList.length}个)` : "" }}:
60
+ 已选择{{ multipleMode ? `(${newValList.length}个)` : "" }}:
61
61
  </span>
62
62
 
63
63
  <span
@@ -95,16 +95,14 @@
95
95
 
96
96
  <template v-else>
97
97
  <!-- 树形形式 -->
98
- <div
99
- class="list-center-tree"
100
- >
98
+ <div class="list-center-tree">
101
99
  <template v-if="allDepartmentList.length">
102
100
  <bri-tree-item
103
101
  v-for="item in allDepartmentList"
104
102
  :key="item._key"
105
103
  :value="item"
106
104
  :changeOnSelect="changeOnSelect"
107
- :multiple="multiple"
105
+ :multiple="multipleMode"
108
106
  @on-change="changeSelect"
109
107
  ></bri-tree-item>
110
108
  </template>
@@ -179,18 +177,13 @@
179
177
  _highSearch: false,
180
178
  _changeOnSelect: true,
181
179
  _searchString: "",
180
+
182
181
  ...this.propsObj,
183
182
  ...this.commonDealPropsObj
184
183
  };
185
184
  },
186
- multiple () {
187
- return this.selfPropsObj._multiple;
188
- },
189
185
  highSearch () {
190
- return this.selfPropsObj._highSearch;
191
- },
192
- inputIcon () {
193
- return this.multiple ? "ios-people" : "ios-person";
186
+ return this.isOnSearch ? true : this.selfPropsObj._highSearch;
194
187
  },
195
188
  changeOnSelect () {
196
189
  return this.selfPropsObj._changeOnSelect;
@@ -198,6 +191,9 @@
198
191
  searchString () {
199
192
  return this.selfPropsObj._searchString;
200
193
  },
194
+ inputIcon () {
195
+ return this.multipleMode ? "ios-people" : "ios-person";
196
+ },
201
197
 
202
198
  modalPropsObj () {
203
199
  return {
@@ -259,7 +255,7 @@
259
255
  /* ---------- 弹框里 --------- */
260
256
  // 弹窗 -选项变化
261
257
  changeSelect (selectItem) {
262
- this.newValList = this.multiple
258
+ this.newValList = this.multipleMode
263
259
  ? this.selectKeys.includes(selectItem._key)
264
260
  ? this.newValList.filter(item => item._key !== selectItem._key)
265
261
  : [...this.newValList, selectItem]
@@ -120,7 +120,7 @@
120
120
  >
121
121
  <!-- 上 全选 -->
122
122
  <div
123
- v-if="multiple"
123
+ v-if="multipleMode"
124
124
  class="content-users-list-checkAll"
125
125
  >
126
126
  <Checkbox
@@ -292,15 +292,11 @@
292
292
  ...this.commonDealPropsObj
293
293
  };
294
294
  },
295
-
296
- multiple () {
297
- return this.selfPropsObj._multiple;
298
- },
299
295
  highSearch () {
300
- return this.selfPropsObj._highSearch;
296
+ return this.isOnSearch ? true : this.selfPropsObj._highSearch;
301
297
  },
302
298
  inputIcon () {
303
- return this.multiple ? "ios-people" : "ios-person";
299
+ return this.multipleMode ? "ios-people" : "ios-person";
304
300
  },
305
301
 
306
302
  curCheckAll () {
@@ -379,7 +375,7 @@
379
375
  }
380
376
  },
381
377
  clickSelectUserItem (curUserItem, bool) {
382
- if (this.multiple) {
378
+ if (this.multipleMode) {
383
379
  if (this.newValList.some(newItem => newItem._key === curUserItem._key)) {
384
380
  this.newValList = this.newValList.filter(newItem => newItem._key !== curUserItem._key);
385
381
  } else {
@@ -442,21 +438,27 @@
442
438
  searchString: this.propsObj.searchString
443
439
  },
444
440
  callback: data => {
445
- let depart = [{
446
- is_leaf: true,
447
- level: 1,
448
- name: "全部",
449
- _key: ""
450
- }];
451
- if (this.highSearch) {
452
- depart.unshift({
441
+ this.departmentList = [
442
+ ...(
443
+ this.highSearch
444
+ ? [
445
+ {
446
+ is_leaf: true,
447
+ level: 1,
448
+ name: "高级选项",
449
+ _key: "_highSearch"
450
+ }
451
+ ]
452
+ : []
453
+ ),
454
+ {
453
455
  is_leaf: true,
454
456
  level: 1,
455
- name: "高级选项",
456
- _key: "_highSearch"
457
- });
458
- }
459
- this.departmentList = depart.concat(data.list);
457
+ name: "全部",
458
+ _key: ""
459
+ },
460
+ ...data.list
461
+ ];
460
462
  }
461
463
  });
462
464
  }
@@ -34,3 +34,9 @@
34
34
  }
35
35
  };
36
36
  </script>
37
+
38
+ <style lang="less" scoped>
39
+ .DshBack {
40
+
41
+ }
42
+ </style>
@@ -33,3 +33,9 @@
33
33
  methods: {}
34
34
  };
35
35
  </script>
36
+
37
+ <style lang="less" scoped>
38
+ .DshUndeveloped {
39
+
40
+ }
41
+ </style>
@@ -71,18 +71,17 @@
71
71
  </template>
72
72
 
73
73
  <!-- 动态筛选字段,出现是有条件的 -->
74
- <dsh-select
74
+ <dsh-checkbox
75
75
  v-else-if="conditionItem.parameterType === 'dynamicText'"
76
76
  class="DshAdvSearch-conditions-item-control"
77
77
  :value="conditionItem"
78
78
  :propsObj="{
79
79
  _name: `${conditionItem.formItem._name}的动态参数`,
80
80
  _key: 'fieldParams',
81
- _multiple: true,
82
81
  _data: conditionItem.dynamicList
83
82
  }"
84
83
  @change="change(conditionItem, arguments)"
85
- ></dsh-select>
84
+ ></dsh-checkbox>
86
85
 
87
86
  <!-- 为空和不为空时 啥不显示 -->
88
87
  <div
@@ -350,3 +349,156 @@
350
349
  }
351
350
  };
352
351
  </script>
352
+
353
+ <style lang="less" scoped>
354
+ .DshAdvSearch {
355
+ #title {
356
+ font-weight: 400;
357
+ color: #999999;
358
+ font-size: 14px;
359
+ }
360
+
361
+ &-title {
362
+ #title();
363
+ }
364
+
365
+ &-logic {
366
+ margin: 5px 0px 10px;
367
+ .dsh-flex-row-start-center();
368
+
369
+ &-title {
370
+ #title();
371
+ }
372
+ &-option {
373
+ flex: 1;
374
+ min-width: 100px;
375
+ margin-left: 20px;
376
+ }
377
+ }
378
+
379
+ &-conditions {
380
+ &-delete {
381
+ display: none;
382
+ padding: 3px;
383
+ position: absolute;
384
+ top: 6px;
385
+ right: 2px;
386
+ color: red;
387
+ }
388
+
389
+ &-loop,
390
+ &-item {
391
+ position: relative;
392
+
393
+ &:hover,
394
+ &-active {
395
+ .DshAdvSearch-conditions-delete {
396
+ display: inline-block;
397
+ }
398
+ }
399
+ }
400
+
401
+ &-loop {
402
+ padding: 10px;
403
+ margin: 6px;
404
+ border: 1px solid @placeholderColor;
405
+ background-color: #F4F8FF;
406
+ }
407
+
408
+ &-item {
409
+ padding: 0!important;
410
+ margin-bottom: 10px!important;
411
+ cursor: pointer;
412
+
413
+ .DshFormUnit-label-right {
414
+ flex: 6;
415
+ }
416
+
417
+ &-loading {
418
+ margin: 5px 0px;
419
+ text-align: center;
420
+ font-size: 16px;
421
+ color: @textColor;
422
+ }
423
+
424
+ &-control {
425
+ .dsh-margin-bottom5();
426
+ }
427
+
428
+ &-blank {
429
+ text-align: center;
430
+ line-height: 30px;
431
+ color: @placeholderColor;
432
+ }
433
+
434
+ &-extra {
435
+ text-align: right;
436
+ padding-right: 10px;
437
+
438
+ .extra {
439
+ &-dynamic {
440
+ width: 90px;
441
+ display: inline-block;
442
+ }
443
+
444
+ &-operator {
445
+ .dsh-margin-right10();
446
+
447
+ &-wrap {
448
+ display: inline-block;
449
+ padding: 5px;
450
+
451
+ &:hover {
452
+ background-color: #E8F3FD;
453
+ }
454
+ }
455
+
456
+ &-name {
457
+ display: inline-block;
458
+ min-width: 36px;
459
+ }
460
+
461
+ &-icon {
462
+ .dsh-margin-left5();
463
+ }
464
+ }
465
+ }
466
+ }
467
+ }
468
+ }
469
+
470
+ &-btns {
471
+ width: 100%;
472
+ margin-top: 15px;
473
+ .dsh-flex-row-start-center();
474
+
475
+ &-field {
476
+ flex: 3;
477
+
478
+ &-list {
479
+ width: 330px;
480
+ }
481
+
482
+ &-create {
483
+ #btn-style();
484
+ }
485
+ }
486
+
487
+ &-loop {
488
+ flex: 1;
489
+ margin-left: 12px;
490
+
491
+ &-create {
492
+ #btn-style();
493
+ }
494
+ }
495
+ }
496
+
497
+ &-nodata {
498
+ margin: 20px 0px;
499
+ text-align: center;
500
+ font-size: 16px;
501
+ color: #B8BECC;
502
+ }
503
+ }
504
+ </style>