bri-components 1.2.53 → 1.2.55

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 (28) hide show
  1. package/package.json +2 -2
  2. package/src/components/controls/{BriControlInput.vue → DshControlInput.vue} +15 -12
  3. package/src/components/controls/base/DshCascader/DshCascader.vue +260 -341
  4. package/src/components/controls/base/DshCascader/cascaderMixin.js +176 -0
  5. package/src/components/controls/base/DshCascader/cascaderModal.vue +374 -0
  6. package/src/components/controls/base/DshCascader/cascaderPicker.vue +406 -0
  7. package/src/components/controls/base/DshCascader/cascaderPickerMixin.js +202 -0
  8. package/src/components/controls/base/DshCoordinates.vue +6 -10
  9. package/src/components/controls/base/DshDate/DshDaterange.vue +15 -12
  10. package/src/components/controls/base/DshEditor.vue +1 -1
  11. package/src/components/controls/controlMixin.js +14 -4
  12. package/src/components/controls/senior/BriLabels.vue +5 -10
  13. package/src/components/controls/senior/flatTable.vue +119 -3
  14. package/src/components/controls/senior/flatTableImportModal.vue +279 -0
  15. package/src/components/controls/senior/selectDepartments.vue +5 -19
  16. package/src/components/controls/senior/selectUsers/{DepartmentMenu.vue → departMenu.vue} +26 -16
  17. package/src/components/controls/senior/selectUsers/selectUsers.vue +10 -23
  18. package/src/components/form/DshDefaultSearch.vue +1 -1
  19. package/src/components/list/DshBox/DshCrossTable.vue +13 -1
  20. package/src/components/small/BriTooltip.vue +6 -0
  21. package/src/index.js +5 -5
  22. package/src/styles/components/index.less +0 -1
  23. package/src/styles/components/list/DshBox/DshCrossTable.less +32 -22
  24. package/src/styles/components/small/BriTooltip.less +0 -25
  25. package/src/styles/global/base.less +3 -3
  26. package/src/styles/global/control.less +3 -3
  27. package/src/styles/reset-iview-other.less +21 -0
  28. package/src/components/controls/base/DshCascader/InfoCascader.vue +0 -319
@@ -1,319 +0,0 @@
1
- <template>
2
- <div class="InfoCascader">
3
- <dsh-modal
4
- v-model="modalVal"
5
- mode="middle"
6
- :propsObj="modalPropsObj"
7
- >
8
- <dsh-input
9
- class="InfoCascader-search"
10
- :value="searchData"
11
- :propsObj="searchPropsObj"
12
- ></dsh-input>
13
-
14
- <div class="InfoCascader-content">
15
- <div class="InfoCascader-content-left">
16
- <Tree
17
- v-if="show"
18
- expand-node
19
- :data="treeData"
20
- ></Tree>
21
- </div>
22
-
23
- <div class="InfoCascader-content-right">
24
- <div class="InfoCascader-content-right-title">
25
- {{curName}}说明
26
- </div>
27
- <p
28
- class="InfoCascader-content-right-content"
29
- v-html="description"
30
- >
31
- </p>
32
- </div>
33
- </div>
34
-
35
- <div class="InfoCascader-footer">
36
- <dsh-buttons
37
- class="InfoCascader-footer-btns"
38
- :list="$getOperationList(['canCancel', 'canConfirm'])"
39
- @click="$dispatchEvent($event)"
40
- ></dsh-buttons>
41
- </div>
42
- </dsh-modal>
43
- </div>
44
- </template>
45
-
46
- <script>
47
- export default {
48
- name: "InfoCascader",
49
- props: {
50
- showModal: {
51
- type: Boolean,
52
- default: false
53
- },
54
-
55
- value: {
56
- type: Array,
57
- default () {
58
- return [];
59
- }
60
- },
61
- data: {
62
- type: Array,
63
- default () {
64
- return [];
65
- }
66
- },
67
- propsObj: {
68
- type: Object,
69
- default () {
70
- return {};
71
- }
72
- }
73
- },
74
- data () {
75
- return {
76
- searchData: {
77
- search: ""
78
- },
79
- searchPropsObj: {
80
- _key: "search",
81
- _name: "关键字搜索"
82
- },
83
- curSelect: {},
84
-
85
- show: true,
86
- curName: "",
87
- description: "",
88
-
89
- operationMap: {
90
- canCancel: {
91
- name: "取消",
92
- type: "clickCancel",
93
- event: "clickCancel",
94
- class: "z-default"
95
- },
96
- canConfirm: {
97
- name: "确定",
98
- btnType: "primary",
99
- type: "clickConfirm",
100
- event: "clickConfirm",
101
- class: "z-primary"
102
- }
103
- }
104
- };
105
- },
106
- computed: {
107
- modalVal: {
108
- get () {
109
- return this.showModal;
110
- },
111
- set (val) {
112
- this.$emit("changeShowModal", val);
113
- }
114
- },
115
- modalPropsObj () {
116
- return {
117
- title: this.propsObj._name
118
- };
119
- },
120
- initData () {
121
- return this.loop(this.data, null, this.value);
122
- },
123
- treeData () {
124
- if (!this.searchData.search) { // 内容为空时,查询所有
125
- return this.initData;
126
- }
127
- let that = this;
128
- const rebuildData = (value, treeList) => {
129
- that.show = false;
130
- let newarr = [];
131
- treeList.forEach(element => {
132
- if (element.children && element.children.length) {
133
- const ab = rebuildData(value, element.children);
134
- const obj = {
135
- ...element,
136
- expand: true,
137
- children: ab
138
- };
139
- if (ab && ab.length) {
140
- newarr.push(obj);
141
- } else if (element.title.indexOf(value) > -1) {
142
- element.expand = true;
143
- newarr.push(element);
144
- }
145
- } else {
146
- if (element.title.indexOf(value) > -1) {
147
- newarr.push(element);
148
- }
149
- }
150
- });
151
- that.show = true;
152
- return newarr;
153
- };
154
- return rebuildData(this.searchData.search, this.initData);
155
- }
156
- },
157
- created () {
158
- this.curSelect.codeArr = this.value;
159
- if (this.value && this.value.length) {
160
- // 回显已选择的名称
161
- const loop = (arr) => {
162
- for (let item of arr) {
163
- if (item.codeArr.length == this.value.length && item.codeArr.every((code, idx) => code === this.value[idx])) {
164
- this.curName = item.name;
165
- break;
166
- }
167
- if (item.children.length) {
168
- loop(item.children);
169
- }
170
- }
171
- };
172
- loop(this.initData);
173
- this.getDescription(this.value);
174
- }
175
- },
176
- methods: {
177
- change (node) {
178
- this.curName = node.name;
179
- if (node.codeArr.length && this.curSelect.codeArr && this.curSelect.codeArr.length === node.codeArr.length && node.codeArr.every((code, idx) => code === this.curSelect.codeArr[idx])) {
180
- this.curSelect = {};
181
- } else {
182
- if (!this.propsObj._cascaderLevel || node.level == this.propsObj._cascaderLevel || !node.children.length) {
183
- this.curSelect = node;
184
- }
185
- this.getDescription(node.codeArr);
186
- }
187
- },
188
- getDescription (nodeKeys) {
189
- this.$https({
190
- url: {
191
- module: "sheet",
192
- name: "getResourceDescription"
193
- },
194
- params: {
195
- resourceKey: this.propsObj._resourceKey,
196
- nodeKeys
197
- },
198
- callback: data => {
199
- this.description = data;
200
- }
201
- });
202
- },
203
- clickCancel () {
204
- this.$emit("changeShowModal", false);
205
- },
206
- clickConfirm () {
207
- if (this.curName) {
208
- this.$emit("input", this.curSelect.codeArr);
209
- this.$emit("change", this.curSelect.codeArr);
210
- this.$emit("changeShowModal", false);
211
- } else {
212
- this.$Message.warning(`请选择${this.propsObj._name}!`);
213
- }
214
-
215
- },
216
- loop (data = [], level, codeArr) {
217
- return data
218
- ? data.reduce((arr, item) => {
219
- item.expand = false;
220
- if (this.value.length) {
221
- let arr = this.$getTreeLinealDatas(this.value, this.data);
222
- arr.forEach(i => { i.expand = true; });
223
- }
224
- const newItem = {
225
- ...item,
226
- value: item._key,
227
- title: item.name,
228
- disabled: this.propsObj._cascaderLevel ? (item.level < this.propsObj._cascaderLevel) : true,
229
- render: (h, { root, node, data }) => {
230
- return h("span", {
231
- class: {
232
- "ivu-tree-title-selected": this.curSelect.codeArr && this.curSelect.codeArr.length && this.curSelect.codeArr.length === data.codeArr.length && this.curSelect.codeArr.every((code, idx) => code === data.codeArr[idx])
233
- },
234
- style: {
235
- display: "inline-block",
236
- width: "100%"
237
- },
238
- on: {
239
- click: () => {
240
- this.change(data);
241
- }
242
- }
243
- }, data.title);
244
- }
245
- };
246
- if (!level || level > item.level) {
247
- newItem.children = this.loop(item.children, level, this.value);
248
- }
249
- arr.push(newItem);
250
-
251
- return arr;
252
- }, [])
253
- : [];
254
- }
255
- }
256
- };
257
- </script>
258
-
259
- <style lang="less">
260
- .InfoCascader {
261
- height: 100%;
262
-
263
- &-search {
264
- padding: 24px 24px 0;
265
- width: 100%;
266
- }
267
-
268
- &-content {
269
- height: calc(100% - 142px);
270
- margin: 5px 24px 24px;
271
- display: flex;
272
- border: 1px solid #E5E5E5;
273
-
274
- &-left {
275
- flex: 1;
276
- padding: 5px 0 5px 10px;
277
- overflow: auto;
278
- border-right: 1px solid #E5E5E5;
279
- }
280
-
281
- &-right {
282
- flex: 1;
283
-
284
- &-title {
285
- border-bottom: 1px solid #E5E5E5;
286
- font-weight: 700;
287
- // height: 32px;
288
- // line-height: 32px;
289
-
290
- padding: 6px 16px;
291
- }
292
-
293
- &-content {
294
- height: calc(100% - 32px);
295
- overflow: auto;
296
- padding: 16px;
297
- white-space: pre-line;
298
- }
299
- }
300
-
301
- .ivu-tree-title-selected {
302
- color: #3D84EE;
303
- background-color: #eee;
304
- }
305
-
306
- .ivu-tree-empty {
307
- text-align: center;
308
- }
309
- }
310
-
311
- &-footer {
312
- &-btns {
313
- display: flex;
314
- justify-content: flex-end;
315
- padding-right: 16px;
316
- }
317
- }
318
- }
319
- </style>