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,133 +0,0 @@
1
- <!--
2
- * @Author: your name
3
- * @Date: 2021-03-15 13:11:32
4
- * @LastEditTime: 2021-03-19 10:33:27
5
- * @LastEditors: Please set LastEditors
6
- * @Description: In User Settings Edit
7
- * @FilePath: \model\src\components\other\menu\DshMenu.vue
8
- -->
9
- <template>
10
- <div class="DshMenu">
11
- <template v-for="subMenu in menuList">
12
- <template v-if="!subMenu.children">
13
- <MenuItem
14
- class="DshMenu-item"
15
- :key="subMenu._id"
16
- :name="subMenu._id"
17
- >
18
- <Badge
19
- class="DshMenu-item-badge"
20
- :key="subMenu._id + 'badge'"
21
- :count="getBadgeCount(subMenu)"
22
- :offset="[10, -16]"
23
- >
24
- <Icon
25
- v-if="loopIndex === 1"
26
- class="DshMenu-item-icon"
27
- :custom="`bico-font ${subMenu.icon || `bico-${$appData.customIcons[subMenu.menuType]}`}`"
28
- />
29
- <span>{{ subMenu.name }}</span>
30
- </Badge>
31
- </MenuItem>
32
- </template>
33
-
34
- <!-- 组 -->
35
- <template v-else>
36
- <!-- 特殊的组 -->
37
- <div
38
- v-if="subMenu.isSpecial"
39
- :key="subMenu._id"
40
- :style="{
41
- 'padding-left': loopIndex === 1 ? undefined : `${(loopIndex - 2) * 24 + 43}px`
42
- }"
43
- :class="{
44
- 'DshMenu-item': true,
45
- 'ivu-menu-item': true,
46
- 'ivu-menu-item-active': curSubMenu && curSubMenu._id === subMenu._id,
47
- 'ivu-menu-item-selected': curSubMenu && curSubMenu._id === subMenu._id
48
- }"
49
- @click.stop="clickSpecialSubMenu(subMenu)"
50
- >
51
- <Icon
52
- v-if="loopIndex === 1"
53
- :custom="`bico-font ${subMenu.icon || 'bico-file'}`"
54
- />
55
- {{ subMenu.name }}
56
- </div>
57
-
58
- <!-- 正常的组 -->
59
- <Submenu
60
- v-else
61
- :key="subMenu._id"
62
- class="DshMenu-submenu"
63
- :name="subMenu._id"
64
- >
65
- <!-- 组的title -->
66
- <template slot="title">
67
- <Icon
68
- v-if="loopIndex === 1"
69
- class="DshMenu-submenu-title-icon"
70
- :custom="`bico-font ${subMenu.icon || 'bico-file'}`"
71
- />
72
- <span>{{ subMenu.name }}</span>
73
- </template>
74
-
75
- <!-- 次级菜单 循环-->
76
- <dsh-menu
77
- :menuList="subMenu.children"
78
- :curSubMenu="curSubMenu"
79
- :loopIndex="loopIndex + 1"
80
- @changeSpecialSubMenu="changeSpecialSubMenuCb"
81
- ></dsh-menu>
82
- </Submenu>
83
- </template>
84
- </template>
85
- </div>
86
- </template>
87
-
88
- <script>
89
- export default {
90
- name: "DshMenu",
91
- props: {
92
- menuList: {
93
- type: Array,
94
- default () {
95
- return [];
96
- }
97
- },
98
-
99
- curSubMenu: Object,
100
- loopIndex: {
101
- type: Number,
102
- default: 1
103
- },
104
- showBadgeList: {
105
- type: Array,
106
- default: () => []
107
- }
108
- },
109
- data () {
110
- return {};
111
- },
112
- computed: {},
113
- created () {},
114
- methods: {
115
- clickSpecialSubMenu (subMenu) {
116
- if (!this.curSubMenu || subMenu._id !== this.curSubMenu._id) {
117
- this.$emit("changeSpecialSubMenu", subMenu._id, subMenu);
118
- }
119
- },
120
- changeSpecialSubMenuCb (...params) {
121
- this.$emit("changeSpecialSubMenu", ...params);
122
- },
123
- getBadgeCount (menuItem) {
124
- const badgeObj = this.showBadgeList.find(item => item.showBadgeKey === menuItem.menuKey);
125
- return this.showBadgeList.length
126
- ? badgeObj
127
- ? badgeObj.count
128
- : 0
129
- : 0;
130
- }
131
- }
132
- };
133
- </script>
@@ -1,13 +0,0 @@
1
- .DshTexts {
2
- width: 100%;
3
-
4
- &-control {
5
- display: inline-block;
6
- width: calc(100% - 65px);
7
- }
8
-
9
- &-create {
10
- display: inline-block;
11
- width: 60px;
12
- }
13
- }
@@ -1,89 +0,0 @@
1
- <template>
2
- <div class="DshTexts">
3
- <Input
4
- class="DshTexts-control"
5
- v-model="text"
6
- :placeholder="selfPropsObj._placeholder"
7
- :type="'text'"
8
- :disabled="!finalCanEdit"
9
- :clearable="true"
10
- :size="propsObj._size"
11
- />
12
- <dsh-buttons
13
- class="DshTexts-create"
14
- :list="$getOperationList(['createTag'])"
15
- @click="$dispatchEvent($event)"
16
- ></dsh-buttons>
17
-
18
- <!-- 标签列表 -->
19
- <dsh-tags
20
- class="dsh-margin-top5"
21
- :list="value[propsObj._key]"
22
- :propsObj="{
23
- closable: true
24
- }"
25
- @delete="$dispatchEvent(operationMap.deleteTag, arguments)"
26
- ></dsh-tags>
27
- </div>
28
- </template>
29
-
30
- <script>
31
- import controlMixin from "../../controlMixin.js";
32
-
33
- export default {
34
- name: "DshTexts",
35
- mixins: [
36
- controlMixin
37
- ],
38
- props: {},
39
- data () {
40
- return {
41
- text: "",
42
-
43
- operationMap: {
44
- createTag: {
45
- name: "添加",
46
- type: "createTag",
47
- size: "default",
48
- event: "createTag"
49
- },
50
- deleteTag: {
51
- name: "删除",
52
- type: "deleteTag",
53
- event: "deleteTag"
54
- }
55
- }
56
- };
57
- },
58
- computed: {
59
- selfPropsObj () {
60
- return {
61
- ...this.propsObj,
62
- ...this.commonDealPropsObj
63
- };
64
- }
65
- },
66
- created () {},
67
- methods: {
68
- createTag () {
69
- if (this.text && this.text.trim()) {
70
- if (this.value[this.propsObj._key].some(item => item === this.text.trim())) {
71
- this.$Message.error({
72
- content: `搜索文字 "${this.text.trim()}" 已存在!`,
73
- duration: 5
74
- });
75
- } else {
76
- this.value[this.propsObj._key].push(this.text.trim());
77
- this.change();
78
- }
79
-
80
- }
81
- this.text = "";
82
- },
83
- // 删除
84
- deleteTag (operationItem, params) {
85
- this.change();
86
- }
87
- }
88
- };
89
- </script>
@@ -1,213 +0,0 @@
1
- <template>
2
- <div class="DshCheckbox">
3
- <!-- 编辑 -->
4
- <template v-if="canEdit">
5
- <!-- 平铺方式 -->
6
- <template v-if="showType === 'flat'">
7
- <CheckboxGroup
8
- :class="{
9
- 'DshCheckbox-group': true,
10
- 'DshCheckbox-group-color': useColor,
11
- 'DshCheckbox-group-disabled': !canEdit,
12
- 'DshCheckbox-group-scroll': selfPropsObj._span < 24 && !selfPropsObj._br,
13
- }"
14
- v-model="curValList"
15
- >
16
- <!-- 有选项 -->
17
- <template v-if="listData.length">
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
- </template>
41
-
42
- <!-- 无选项 -->
43
- <div
44
- v-else
45
- class="dsh-subtip"
46
- >-- 无选择项 --</div>
47
- </CheckboxGroup>
48
- </template>
49
-
50
- <!-- 下拉方式 -->
51
- <template v-else>
52
- <Select
53
- v-model="value[controlKey]"
54
- :multiple="true"
55
- :placeholder="selfPropsObj._placeholder"
56
- :disabled="!finalCanEdit"
57
- :filterable="selfPropsObj._filterable"
58
- :transfer="selfPropsObj._transfer"
59
- :transfer-class-name="selfPropsObj._transferClassName"
60
- :max-tag-count="selfPropsObj._maxTagCount"
61
- @on-select="changeSelect"
62
- >
63
- <Option
64
- v-for="(item, index) in listData"
65
- :key="index"
66
- :value="item._key"
67
- :label="item.name || item._name"
68
- :disabled="getItemDisabled(item)"
69
- >
70
- <Checkbox :value="getItemSelectStatus(item)"></Checkbox>
71
-
72
- <slot :item="item"></slot>
73
-
74
- <span>{{ item.name || item._name }}</span>
75
- <span style="float:right; padding-right:20px">
76
- {{ item.rightName }}
77
- </span>
78
- </Option>
79
- </Select>
80
- </template>
81
- </template>
82
-
83
- <!-- 查看 -->
84
- <template v-else>
85
- <bri-tooltip
86
- :content="showMultipleVal"
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(curValObjList)"
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 controlMixin from "../controlMixin.js";
114
- import selectMixin from "./selectMixin.js";
115
- import { resourceData } from "bri-datas";
116
-
117
- // optionKind值 'flat'、'dropdown'
118
- export default {
119
- name: "DshCheckbox",
120
- mixins: [
121
- controlMixin,
122
- selectMixin
123
- ],
124
- props: {},
125
- data () {
126
- return {};
127
- },
128
- computed: {
129
- selfPropsObj () {
130
- return {
131
- _optionKind: "dropdown", // 'flat'、'dropdown'
132
- _useColor: false,
133
- colorMap: resourceData.colorMap,
134
- _filterable: true,
135
- _transfer: true,
136
- _data: [],
137
-
138
- ...this.propsObj,
139
- ...this.commonDealPropsObj
140
- };
141
- },
142
- showType () {
143
- return this.selfPropsObj._optionKind;
144
- },
145
- useColor () {
146
- return this.selfPropsObj._useColor;
147
- },
148
- colorMap () {
149
- return this.selfPropsObj.colorMap;
150
- },
151
-
152
- listData () {
153
- return this.selfPropsObj._data.concat(this.initListData);
154
- },
155
- // 已选择项的对象列表
156
- curValObjList () {
157
- return this.curValList.map(key => {
158
- const obj = this.listData.find(item => item._key === key) || {
159
- _key: key,
160
- name: `温馨提示:选项${key}已找不到`
161
- };
162
- return {
163
- ...obj,
164
- style: this.getItemStyle(obj),
165
- color: undefined
166
- };
167
- });
168
- },
169
- showMultipleVal () {
170
- return this.$isEmptyData(this.curValList)
171
- ? this.emptyShowVal
172
- : this.curValObjList.map(item => item.name || item._name).join("、");
173
- }
174
- },
175
- created () {},
176
- methods: {
177
- // 下拉框的change (下拉方式时用v-model触发change有问题,组件进来如果值不为空的,就会v-model返值一次)
178
- changeSelect (item) {
179
- if (this.curValList.includes(item.value)) {
180
- let itemIndex = this.curValList.findIndex(valItem => valItem === item.value);
181
- this.curValList.splice(itemIndex, 1);
182
- } else {
183
- this.curValList.push(item.value);
184
- }
185
-
186
- this.curValList = [...this.curValList];
187
- },
188
-
189
- getItemColorClass (item) {
190
- return this.colorMap[item.color] ? item.color : "color-1";
191
- },
192
- getItemStyle (item) {
193
- const color = this.colorMap[item.color] || this.colorMap["color-1"];
194
- return {
195
- background: this.useColor ? this.$getColor(color, 0.1) : undefined,
196
- color: this.useColor ? color : undefined
197
- };
198
- },
199
- // 获取某项的置灰状态
200
- getItemDisabled (item) {
201
- return !!(
202
- !this.finalCanEdit ||
203
- item._disabled ||
204
- this.curValList.length >= this.selfPropsObj._max && !this.getItemSelectStatus(item)
205
- );
206
- },
207
- // 获取某项的选中状态
208
- getItemSelectStatus (item) {
209
- return this.curValList.includes(item._key);
210
- }
211
- }
212
- };
213
- </script>
@@ -1,122 +0,0 @@
1
- <template>
2
- <div
3
- v-if="show"
4
- class="DshDate"
5
- >
6
- <!-- 编辑 -->
7
- <template v-if="canEdit">
8
- <!-- 时间子类型 -->
9
- <template v-if="['time'].includes(subType)">
10
- <TimePicker
11
- class="DshDate-edit"
12
- v-model="curValDate"
13
- :type="subType"
14
- :placeholder="selfPropsObj._placeholder"
15
- :disabled="!finalCanEdit"
16
- :clearable="selfPropsObj._clearable"
17
- :transfer="selfPropsObj._transfer"
18
- @on-change="change"
19
- ></TimePicker>
20
- </template>
21
-
22
- <!-- 日期、日期时间、年、月 -->
23
- <template v-else>
24
- <DatePicker
25
- class="DshDate-edit"
26
- v-model="curValDate"
27
- :type="subType"
28
- :placeholder="selfPropsObj._placeholder"
29
- :disabled="!finalCanEdit"
30
- :clearable="selfPropsObj._clearable"
31
- :options="options"
32
- :transfer="selfPropsObj._transfer"
33
- @on-change="change"
34
- ></DatePicker>
35
- </template>
36
- </template>
37
-
38
- <!-- 查看 -->
39
- <template v-else>
40
- <bri-tooltip
41
- :content="showVal"
42
- maxWidth="200"
43
- :transfer="true"
44
- >
45
- <div :class="{
46
- ...commonClass,
47
- 'DshDate-unit': isUnitShow,
48
- 'DshDate-show': !isUnitShow
49
- }">
50
- {{ showVal }}
51
- </div>
52
- </bri-tooltip>
53
- </template>
54
- </div>
55
- </template>
56
-
57
- <script>
58
- import controlMixin from "../controlMixin.js";
59
-
60
- export default {
61
- name: "DshDate",
62
- mixins: [
63
- controlMixin
64
- ],
65
- props: {},
66
- data () {
67
- return {
68
- show: true
69
- };
70
- },
71
- computed: {
72
- selfPropsObj () {
73
- return {
74
- _transfer: true,
75
-
76
- ...this.propsObj,
77
- ...this.commonDealPropsObj
78
- };
79
- },
80
-
81
- curValDate: {
82
- get () {
83
- const val = this.value[this.controlKey];
84
- return this.$transformDateCompatible(val, this.subType);
85
- },
86
- set (val) {
87
- this.value[this.controlKey] = this.$transformDate(val, "-", this.subType);
88
- }
89
- },
90
- subType () {
91
- return this.selfPropsObj._dateType;
92
- },
93
- options () {
94
- return {
95
- shortcuts: [],
96
- disabledDate: (date) => {
97
- const resultObj = this.$validateComparedRule(
98
- [this.selfPropsObj],
99
- {
100
- ...this.value,
101
- [this.controlKey]: this.$transformDate(date, "/", this.subType)
102
- },
103
- this.allFormList
104
- );
105
- return !resultObj.bool;
106
- }
107
- };
108
- }
109
- },
110
- created () {},
111
- methods: {},
112
- watch: {
113
- "propsObj._dateType" () {
114
- this.show = false;
115
- this.$nextTick(() => {
116
- this.value[this.controlKey] = this.selfPropsObj._default;
117
- this.show = true;
118
- });
119
- }
120
- }
121
- };
122
- </script>