bri-components 1.2.49 → 1.2.51

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 (72) hide show
  1. package/package.json +2 -2
  2. package/src/components/controls/BriControlInput.vue +13 -9
  3. package/src/components/controls/base/DshCascader/DshCascader.vue +40 -23
  4. package/src/components/controls/base/DshCascader/InfoCascader.vue +7 -15
  5. package/src/components/controls/base/DshDate/DshDate.vue +146 -0
  6. package/src/components/controls/base/{DshDaterange.vue → DshDate/DshDaterange.vue} +74 -64
  7. package/src/components/controls/base/DshEditor.vue +1 -1
  8. package/src/components/controls/base/{BriInputs.vue → DshInput/BriInputs.vue} +1 -1
  9. package/src/components/controls/base/{DshInput.vue → DshInput/DshInput.vue} +21 -4
  10. package/src/components/controls/base/DshNumber/DshNumber.vue +33 -2
  11. package/src/components/controls/base/{DshNumberange.vue → DshNumber/DshNumberange.vue} +37 -2
  12. package/src/components/controls/base/DshSelect/DshCheckbox.vue +280 -0
  13. package/src/components/controls/base/DshSelect/DshSelect.vue +319 -0
  14. package/src/components/controls/base/DshSelect/selectMixin.js +239 -0
  15. package/src/components/controls/base/DshSwitch/DshSwitch.vue +79 -0
  16. package/src/components/controls/base/DshSwitch/switchMixin.js +73 -0
  17. package/src/components/controls/controlMap.js +8 -11
  18. package/src/components/controls/controlMixin.js +38 -6
  19. package/src/components/controls/senior/BriLabels.vue +1 -1
  20. package/src/components/controls/senior/selectDepartments.vue +9 -13
  21. package/src/components/controls/senior/selectUsers/selectUsers.vue +23 -21
  22. package/src/components/controls/special/DshBack.vue +1 -1
  23. package/src/components/controls/special/DshUndeveloped.vue +1 -1
  24. package/src/components/form/DshAdvSearch.vue +155 -3
  25. package/src/components/form/DshDefaultSearch.vue +84 -40
  26. package/src/components/form/DshForm.vue +24 -0
  27. package/src/components/form/searchMixin.js +5 -18
  28. package/src/components/other/BriGantt.vue +2 -2
  29. package/src/components/unit/DshFormUnit.vue +111 -2
  30. package/src/components/unit/DshListUnit.vue +6 -0
  31. package/src/index.js +10 -10
  32. package/src/styles/components/controls/base/DshInput.less +0 -16
  33. package/src/styles/components/index.less +0 -14
  34. package/src/styles/components/other/BriGantt.less +1 -12
  35. package/src/styles/index.less +5 -3
  36. package/src/styles/reset-iview-controls.less +104 -0
  37. package/src/abolish/BriTransfer.less +0 -65
  38. package/src/abolish/BriTransfer.vue +0 -71
  39. package/src/abolish/BriTree.less +0 -57
  40. package/src/abolish/DshCascaders.less +0 -11
  41. package/src/abolish/DshCascaders.vue +0 -151
  42. package/src/abolish/DshCrumbs.less +0 -0
  43. package/src/abolish/DshCrumbs.vue +0 -62
  44. package/src/abolish/DshCrumbsItem.vue +0 -109
  45. package/src/abolish/DshEditPanel.less +0 -70
  46. package/src/abolish/DshEditPanel.vue +0 -152
  47. package/src/abolish/DshFileShow.less +0 -61
  48. package/src/abolish/DshFileShow.vue +0 -0
  49. package/src/abolish/DshFlatTable.less +0 -93
  50. package/src/abolish/DshFlatTable.vue +0 -605
  51. package/src/abolish/DshMenu.less +0 -37
  52. package/src/abolish/DshMenu.vue +0 -133
  53. package/src/abolish/DshTexts.less +0 -13
  54. package/src/abolish/DshTexts.vue +0 -89
  55. package/src/components/controls/base/DshCheckbox.vue +0 -213
  56. package/src/components/controls/base/DshDate.vue +0 -122
  57. package/src/components/controls/base/DshSelect.vue +0 -242
  58. package/src/components/controls/base/DshSwitch.vue +0 -70
  59. package/src/components/controls/base/selectMixin.js +0 -110
  60. package/src/styles/components/controls/base/DshCheckbox.less +0 -115
  61. package/src/styles/components/controls/base/DshDate.less +0 -15
  62. package/src/styles/components/controls/base/DshDaterange.less +0 -49
  63. package/src/styles/components/controls/base/DshNumber.less +0 -55
  64. package/src/styles/components/controls/base/DshNumberange.less +0 -29
  65. package/src/styles/components/controls/base/DshSelect.less +0 -190
  66. package/src/styles/components/form/DshAdvSearch.less +0 -149
  67. package/src/styles/components/form/DshDefaultSearch.less +0 -82
  68. package/src/styles/components/form/DshForm.less +0 -18
  69. package/src/styles/components/unit/DshFormUnit.less +0 -105
  70. package/src/styles/components/unit/DshListUnit.less +0 -3
  71. /package/src/{abolish/DshCrumbItem.less → styles/reset-iview-other.less} +0 -0
  72. /package/src/styles/{reset-iview.less → reset-iview-variables.less} +0 -0
@@ -1,242 +0,0 @@
1
- <template>
2
- <div class="DshSelect">
3
- <template v-if="canEdit">
4
- <!-- 平铺 -->
5
- <template v-if="['flat', 'button'].includes(showType)">
6
- <RadioGroup
7
- :class="{
8
- 'DshSelect-radioGroup': true,
9
- 'DshSelect-radioGroup-useColor': selfPropsObj._useColor,
10
- 'DshSelect-radioGroup-scroll': selfPropsObj._span < 24 && !selfPropsObj._br
11
- }"
12
- v-model="value[controlKey]"
13
- :type="radioGroupType"
14
- @on-change="change"
15
- >
16
- <template v-if="listData.length">
17
- <Radio
18
- v-for="(item, index) in listData"
19
- :key="index"
20
- :class="getItemColorClass(item)"
21
- :style="getItemStyle(item)"
22
- :label="item._key"
23
- :disabled="getItemDisabled(item)"
24
- :border="useColor"
25
- @click.native="cancelSelect(item)"
26
- >
27
- <span @click.stop="clickOpenTip(item)">
28
- {{ item.name || item._name }}
29
- </span>
30
- </Radio>
31
- </template>
32
-
33
- <div
34
- v-else
35
- class="dsh-subtip"
36
- >-- 无选择项 --</div>
37
- </RadioGroup>
38
-
39
- <!-- tip项弹框提示 -->
40
- <dsh-render :render="tipModalRender"></dsh-render>
41
- </template>
42
-
43
- <!-- 下拉 -->
44
- <template v-else>
45
- <Select
46
- v-model="curVal"
47
- :placeholder="selfPropsObj._placeholder"
48
- :multiple="selfPropsObj._multiple"
49
- :disabled="!finalCanEdit"
50
- :clearable="selfPropsObj._clearable"
51
- :filterable="selfPropsObj._filterable"
52
- :size="selfPropsObj._size"
53
- :transfer="selfPropsObj._transfer"
54
- :transfer-class-name="selfPropsObj._transferClassName"
55
- @on-change="change"
56
- >
57
- <!-- </Option>必须和输出内容在一行,否则出现空格导致_filterable出bug -->
58
- <Option
59
- v-for="(item, index) in listData"
60
- :key="index"
61
- :value="item._key"
62
- :label="item.name || item._name"
63
- :disabled="getItemDisabled(item)"
64
- >
65
- <Icon
66
- v-if="item.icon || item.customIcon"
67
- :type="item.icon"
68
- :custom="item.customIcon ? `bico-font ${item.customIcon}` : undefined"
69
- :color="item.color"
70
- :size="item.size || 20"
71
- />{{ item.name || item._name }}
72
- </Option>
73
- </Select>
74
- </template>
75
- </template>
76
-
77
- <!-- 查看 -->
78
- <template v-else>
79
- <bri-tooltip
80
- :content="showVal"
81
- maxWidth="200"
82
- placement="top"
83
- :transfer="true"
84
- >
85
- <div :class="{
86
- ...commonClass,
87
- 'DshSelect-show': true
88
- }">
89
- <!-- 有值 -->
90
- <dsh-tags
91
- v-if="!$isEmptyData(curVal)"
92
- class="text"
93
- :list="[curValObj]"
94
- ></dsh-tags>
95
-
96
- <!-- 无值 -->
97
- <template v-else>
98
- {{ emptyShowVal }}
99
- </template>
100
- </div>
101
- </bri-tooltip>
102
- </template>
103
- </div>
104
- </template>
105
-
106
- <script>
107
- import controlMixin from "../controlMixin.js";
108
- import selectMixin from "./selectMixin.js";
109
- import { resourceData } from "bri-datas";
110
-
111
- export default {
112
- name: "DshSelect",
113
- mixins: [
114
- controlMixin,
115
- selectMixin
116
- ],
117
- props: {},
118
- data () {
119
- return {
120
- flag: false
121
- };
122
- },
123
- computed: {
124
- selfPropsObj () {
125
- return {
126
- _optionKind: "dropdown", // 'flat'、'dropdown'
127
- _useColor: false,
128
- colorMap: resourceData.colorMap,
129
- _filterable: true,
130
- _transfer: true,
131
- _data: [],
132
- _customData: [],
133
-
134
- ...this.propsObj,
135
- ...this.commonDealPropsObj
136
- };
137
- },
138
- showType () {
139
- return this.selfPropsObj._optionKind;
140
- },
141
- radioGroupType () {
142
- return this.showType === "button" ? "button" : undefined;
143
- },
144
- useColor () {
145
- return this.selfPropsObj._useColor;
146
- },
147
- colorMap () {
148
- return this.selfPropsObj.colorMap;
149
- },
150
-
151
- listData () {
152
- const listData = this.selfPropsObj._data.concat(this.initListData);
153
-
154
- return this.$dataType(this.selfPropsObj._filterFunc, "function")
155
- ? this.selfPropsObj._filterFunc(listData, this.selfPropsObj, this.value)
156
- : listData;
157
- },
158
- curValObj () {
159
- const obj = this.listData.find(item => item._key === this.curVal) || {
160
- _key: this.curVal,
161
- name: `温馨提示:选项${this.curVal}已找不到`
162
- };
163
-
164
- return this.$isEmptyData(this.curVal)
165
- ? undefined
166
- : {
167
- ...obj,
168
- style: this.getItemStyle(obj),
169
- color: undefined
170
- };
171
- },
172
- showVal () {
173
- return this.$isEmptyData(this.curVal)
174
- ? this.emptyShowVal
175
- : this.curValObj.name || this.curValObj._name;
176
- }
177
- },
178
- created () {
179
- this.init();
180
- },
181
- methods: {
182
- init () {
183
- this.getListData();
184
- },
185
-
186
- // 取消flat模式的选择项
187
- cancelSelect (item) {
188
- if (item._disabled !== true && this.selfPropsObj._clearable !== false) {
189
- if (item._key === this.curVal) {
190
- this.value[this.controlKey] = "";
191
- this.change();
192
- }
193
- }
194
-
195
- this.clickOpenTip(item);
196
- },
197
- change (...params) {
198
- // 修复clear后值为undefined,数据库不更新数据bug
199
- if (this.value[this.controlKey] == undefined) {
200
- this.value[this.controlKey] = "";
201
- }
202
-
203
- this.$emit("change", this.curVal);
204
- },
205
-
206
- getItemColorClass (item) {
207
- return this.colorMap[item.color] ? item.color : "color-1";
208
- },
209
- getItemStyle (item) {
210
- const color = this.colorMap[item.color] || this.colorMap["color-1"];
211
- return {
212
- background: this.useColor ? this.$getColor(color, 0.1) : undefined,
213
- color: this.useColor ? color : undefined
214
- };
215
- },
216
- // 获取某项的置灰状态
217
- getItemDisabled (item) {
218
- return !!(!this.finalCanEdit || item._disabled);
219
- },
220
- // 接口 -获取自定义的接口数据
221
- getListData () {
222
- this.selfPropsObj._customData.forEach(item => {
223
- this.$https({
224
- url: item.url,
225
- params: item.params,
226
- callback: data => {
227
- this.initListData = [
228
- ...this.initListData,
229
- ...data.list.map(dataItem =>
230
- ({
231
- _key: dataItem[item._key || "_key"],
232
- name: dataItem[item._name || "name"]
233
- })
234
- )
235
- ];
236
- }
237
- });
238
- });
239
- }
240
- }
241
- };
242
- </script>
@@ -1,70 +0,0 @@
1
- <template>
2
- <!-- 该组件无clearable -->
3
- <div class="DshSwitch">
4
- <!-- 编辑 -->
5
- <template v-if="canEdit">
6
- <i-switch
7
- v-model="curVal"
8
- :disabled="!finalCanEdit"
9
- :size="propsObj._size"
10
- false-color="#CCCCCC"
11
- @on-change="change"
12
- >
13
- <span slot="open">
14
- {{ propsObj._openText }}
15
- </span>
16
- <span slot="close">
17
- {{ propsObj._closeText }}
18
- </span>
19
- </i-switch>
20
- </template>
21
-
22
- <!-- 查看 -->
23
- <span
24
- v-else
25
- :class="{
26
- ...commonClass,
27
- 'DshSwitch-show': true
28
- }"
29
- :style="{
30
- background: curVal ? '#d3f3dcff' : '#FDEDED',
31
- color: curVal ? '#37C45E' : '#E83636'
32
- }"
33
- >
34
- {{ showVal }}
35
- </span>
36
- </div>
37
- </template>
38
-
39
- <script>
40
- import controlMixin from "../controlMixin.js";
41
-
42
- export default {
43
- name: "DshSwitch",
44
- mixins: [
45
- controlMixin
46
- ],
47
- data () {
48
- return {};
49
- },
50
- computed: {
51
- showVal () {
52
- return this.value[this.controlKey]
53
- ? this.propsObj._openText
54
- : this.propsObj._closeText;
55
- }
56
- },
57
- created () {},
58
- methods: {}
59
- };
60
- </script>
61
-
62
- <style lang="less" scoped>
63
- .DshSwitch {
64
- width: 100%;
65
-
66
- &-show {
67
- .bri-unit-show();
68
- }
69
- }
70
- </style>
@@ -1,110 +0,0 @@
1
- export default {
2
- data () {
3
- return {
4
- initListData: [],
5
- showTipTpl: false,
6
- showTipModal: false,
7
- dynamicContent: ""
8
- };
9
- },
10
- computed: {
11
- modalTipContent () {
12
- return this.propsObj._tipContent || this.dynamicContent || "暂无信息";
13
- }
14
- },
15
- created () {
16
- this.getTipData();
17
- },
18
- methods: {
19
- getTipData () {
20
- if (
21
- (this.propsObj._key !== "_default") &&
22
- this.finalCanEdit &&
23
- this.propsObj._openTip
24
- ) {
25
- let tipObj = {
26
- _key: "openTip",
27
- _name: this.propsObj._tipName || "其他",
28
- __isTip__: true,
29
- _disabled: true,
30
- color: "#6991cc",
31
- class: `Dsh${this.propsObj._type}-tip`
32
- };
33
- this.initListData.push(tipObj);
34
- }
35
- },
36
- // 是否打开tip弹窗
37
- clickOpenTip (item) {
38
- if (item.__isTip__) {
39
- if (this.propsObj._tipKind === "dynamic" && !this.propsObj._tipContent) {
40
- this.getTipUrl();
41
- } else {
42
- this.showTipTpl = true;
43
- this.showTipModal = true;
44
- }
45
- }
46
- },
47
- getTipUrl () {
48
- if (this.propsObj._tipUrl) {
49
- this.$https({
50
- url: {
51
- module: "customPath",
52
- name: this.propsObj._tipUrl
53
- },
54
- params: {
55
- formData: this.value,
56
- propsObj: this.propsObj
57
- },
58
- callback: res => {
59
- this.dynamicContent = res;
60
- this.showTipTpl = true;
61
- this.showTipModal = true;
62
- }
63
- });
64
- } else {
65
- this.$Message.info("请配置接口路径!");
66
- }
67
- },
68
- tipModalRender (h) {
69
- return this.showTipTpl
70
- ? h("dsh-modal", {
71
- props: {
72
- value: this.showTipModal,
73
- mode: "custom",
74
- propsObj: {
75
- title: "温馨提示",
76
- maskClosable: true,
77
- class: "DshSelect-modal"
78
- }
79
- },
80
- on: {
81
- input: bool => {
82
- this.showTipModal = bool;
83
- }
84
- }
85
- }, [
86
- h("div", {
87
- class: "DshSelect-modal-content",
88
- domProps: {
89
- innerHTML: this.modalTipContent
90
- }
91
- }),
92
- h("div", {
93
- class: "DshSelect-modal-footer"
94
- }, [
95
- h("Button", {
96
- props: {
97
- type: "primary"
98
- },
99
- on: {
100
- click: () => {
101
- this.showTipModal = false;
102
- }
103
- }
104
- }, "我知道了")
105
- ])
106
- ])
107
- : undefined;
108
- }
109
- }
110
- };
@@ -1,115 +0,0 @@
1
- .DshCheckbox {
2
- width: 100%;
3
-
4
- &-group {
5
- width: 100%;
6
-
7
- // 选中时背景为白色
8
- .ivu-checkbox-checked .ivu-checkbox-inner {
9
- background-color: @themeColor;
10
- }
11
-
12
- &-color {
13
- .ivu-checkbox-border {
14
- margin-right: 16px;
15
- height: 32px;
16
- border: none;
17
- border-radius: 4px;
18
- line-height: 32px;
19
- color: #FFF;
20
- }
21
-
22
- .ivu-checkbox {
23
- .ivu-checkbox-inner {
24
- border: 2px solid @themeColor;
25
- background-color: transparent;
26
- }
27
-
28
- .ivu-checkbox-focus {
29
- box-shadow: 0 0 0 0;
30
- }
31
- }
32
-
33
- .ivu-checkbox-disabled+span {
34
- color: inherit;
35
- }
36
-
37
- each(@resourceColor, {
38
- .color-@{index} {
39
- .ivu-checkbox {
40
- .ivu-checkbox-inner {
41
- border-color: @value;
42
- }
43
- }
44
-
45
- .ivu-checkbox-checked {
46
- .ivu-checkbox-inner {
47
- background-color: @value;
48
- }
49
- }
50
- }
51
- });
52
- }
53
-
54
- &-disabled {
55
- .ivu-checkbox-disabled+span {
56
- color: #515a6e;
57
- }
58
- }
59
-
60
- &-scroll {
61
- overflow-x: auto;
62
- overflow-y: hidden;
63
- white-space: nowrap;
64
-
65
- &::-webkit-scrollbar {
66
- height: 6px;
67
- }
68
-
69
- &:-webkit-scrollbar-thumb {
70
- border-radius: 3px;
71
- background: rgba(51, 51, 51, .1);
72
- background-clip: border-box;
73
- }
74
- }
75
- }
76
-
77
- &-item {}
78
-
79
- &-show {}
80
-
81
- .ivu-select-multiple {
82
- .ivu-select-selection {
83
- height: 32px;
84
- .dsh-flex-row-between-center();
85
-
86
- & > div {
87
- width: 100%;
88
- height: 100%;
89
- word-break: keep-all;
90
- white-space: nowrap;
91
- overflow: auto;
92
- .bri-scrollbar3();
93
-
94
- .ivu-tag {
95
- margin: 2px 4px 0px 0px;
96
- background-color: @borderColor;
97
- }
98
- }
99
- }
100
-
101
- &.ivu-select-disabled {
102
- .ivu-select-selection {
103
- & > div {
104
- .ivu-tag {
105
- background-color: @border-disabled;
106
- }
107
- }
108
- }
109
- }
110
-
111
- .ivu-select-item-selected:after {
112
- content: none;
113
- }
114
- }
115
- }
@@ -1,15 +0,0 @@
1
- .DshDate {
2
- width: 100%;
3
-
4
- &-edit {
5
- width: 100%;
6
- }
7
-
8
- &-unit {
9
-
10
- }
11
-
12
- &-show {
13
-
14
- }
15
- }
@@ -1,49 +0,0 @@
1
- .DshDaterange {
2
- width: 100%;
3
-
4
- &-left,
5
- &-right {
6
- width: 47%;
7
- float: left;
8
- background-color: #ffffff;
9
- }
10
-
11
- &-center {
12
- width: 3%;
13
- text-align: center;
14
- color: @textColor;
15
- overflow: hidden;
16
- line-height: 30px;
17
- float: left;
18
- margin: 0 1.5%;
19
- }
20
-
21
- &-item {
22
- height: 32px;
23
- border: 1px solid @borderColor;
24
- border-radius: 4px;
25
- overflow: hidden;
26
- position: relative;
27
- &-name {
28
- display: inline-block;
29
- width: 100%;
30
- height: 100%;
31
- line-height: 30px;
32
- overflow: hidden;
33
- padding-right: 32px;
34
- padding-left: 7px;
35
- white-space: nowrap;
36
- text-overflow: ellipsis;
37
- }
38
- &-icon {
39
- display: inline-block;
40
- position: absolute;
41
- right: 0px;
42
- top: 0px;
43
- width: 32px;
44
- height: 100%;
45
- text-align: center;
46
- line-height: 30px;
47
- }
48
- }
49
- }
@@ -1,55 +0,0 @@
1
- .DshNumber {
2
- width: 100%;
3
-
4
- &-edit {
5
- &-suffix {
6
- min-width: 32px;
7
- border-left: 1px solid @borderColor;
8
- background-color: #F0F0F0;
9
- text-align: center;
10
- color: @textColor;
11
- }
12
- }
13
- }
14
-
15
- .ivu-input-number {
16
- width: 100%;
17
-
18
- // .bri-control-edit();
19
- .ivu-input-number-input {
20
- color: @textColor;
21
- }
22
-
23
- &-disabled {
24
- // .bri-control-disabled();
25
- .ivu-input-number-input {
26
- opacity: 1;
27
- background: @inputBg-disabled;
28
- color: @textColor;
29
- &::-webkit-input-placeholder {
30
- color: @placeholder-disabled-color;
31
- }
32
- }
33
- }
34
-
35
- &-handler {
36
- &-wrap {
37
- border-left: none;
38
- }
39
- &-down {
40
- border: none;
41
- }
42
- &:hover {
43
- background-color: @hoverBg;
44
-
45
- .ivu-input-number-handler-down-inner,
46
- .ivu-input-number-handler-up-inner {
47
- color: @textColor;
48
- }
49
- }
50
- &-down-inner,
51
- &-up-inner {
52
- color: @contentColor;
53
- }
54
- }
55
- }
@@ -1,29 +0,0 @@
1
- .DshNumberange {
2
- width: 100%;
3
- display: flex;
4
- align-items: center;
5
-
6
- &-left,
7
- &-right {
8
- flex: 1;
9
- }
10
-
11
- &-center {
12
- width: 30px;
13
- text-align: center;
14
- color: @textColor;
15
- }
16
-
17
- &-suffix {
18
- padding-right: 24px;
19
- padding-left: 8px;
20
- line-height: 30px;
21
- white-space: nowrap;
22
- }
23
-
24
- input {
25
- text-overflow: ellipsis;
26
- overflow: hidden;
27
- white-space: nowrap;
28
- }
29
- }