bri-components 1.5.22 → 1.6.0

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 (153) hide show
  1. package/README.md +83 -83
  2. package/lib/styles/bundle.css +12 -12
  3. package/lib/styles/font/fontello.svg +31 -31
  4. package/package.json +125 -125
  5. package/src/components/Error/Error403.vue +42 -42
  6. package/src/components/Error/Error404.vue +40 -40
  7. package/src/components/Error/Error500.vue +51 -51
  8. package/src/components/Error/error.less +162 -162
  9. package/src/components/Error/errorBack.vue +40 -40
  10. package/src/components/controls/DshControlInput.vue +195 -195
  11. package/src/components/controls/base/BriUpload/BriUpload.vue +434 -434
  12. package/src/components/controls/base/BriUpload/BriUploadImage.vue +377 -377
  13. package/src/components/controls/base/BriUpload/uploadList.vue +727 -727
  14. package/src/components/controls/base/BriUpload/uploadMixin.js +446 -446
  15. package/src/components/controls/base/DshCascader/DshCascader.vue +215 -215
  16. package/src/components/controls/base/DshCascader/components/cascaderModal.vue +366 -366
  17. package/src/components/controls/base/DshCascader/components/cascaderPicker.vue +416 -416
  18. package/src/components/controls/base/DshCascader/components/cascaderSimple.vue +141 -141
  19. package/src/components/controls/base/DshCascader/components/cascaderTree.vue +151 -151
  20. package/src/components/controls/base/DshCoordinates.vue +585 -585
  21. package/src/components/controls/base/DshDate/DshDate.vue +191 -191
  22. package/src/components/controls/base/DshDate/DshDaterange.vue +186 -186
  23. package/src/components/controls/base/DshDivider.vue +201 -201
  24. package/src/components/controls/base/DshEditor.vue +274 -274
  25. package/src/components/controls/base/DshInput/BriInputs.vue +166 -166
  26. package/src/components/controls/base/DshInput/DshInput.vue +260 -260
  27. package/src/components/controls/base/DshNumber/BriInputNumber/BriInputNumber.vue +435 -435
  28. package/src/components/controls/base/DshNumber/BriInputNumber/mixins/emitter.js +34 -34
  29. package/src/components/controls/base/DshNumber/BriInputNumber/mixins/form.js +14 -14
  30. package/src/components/controls/base/DshNumber/BriInputNumber/utils/assist.js +322 -322
  31. package/src/components/controls/base/DshNumber/DshNumber.vue +143 -143
  32. package/src/components/controls/base/DshNumber/DshNumberange.vue +109 -109
  33. package/src/components/controls/base/DshSelect/DshCheckbox.vue +168 -168
  34. package/src/components/controls/base/DshSelect/DshSelect.vue +180 -180
  35. package/src/components/controls/base/DshSelect/DshSelectAll.vue +269 -269
  36. package/src/components/controls/base/DshSwitch/DshSwitch.vue +115 -115
  37. package/src/components/controls/control.less +324 -324
  38. package/src/components/controls/controlMap.js +117 -117
  39. package/src/components/controls/extra/DshColor.vue +81 -81
  40. package/src/components/controls/extra/DshThemeColor.vue +100 -100
  41. package/src/components/controls/extra/DshThemeIcon.vue +122 -122
  42. package/src/components/controls/mixins/cascaderMixin.js +325 -325
  43. package/src/components/controls/mixins/cascaderPickerMixin.js +227 -227
  44. package/src/components/controls/mixins/cascaderTableMixin.js +130 -130
  45. package/src/components/controls/mixins/controlMixin.js +393 -393
  46. package/src/components/controls/mixins/dateMixin.js +149 -149
  47. package/src/components/controls/mixins/flatTableMixin.js +111 -111
  48. package/src/components/controls/mixins/numberMixin.js +112 -112
  49. package/src/components/controls/mixins/selectMixin.js +233 -233
  50. package/src/components/controls/mixins/switchMixin.js +87 -87
  51. package/src/components/controls/mixins/userAndDepartMixin.js +260 -260
  52. package/src/components/controls/senior/DshLabels.vue +333 -333
  53. package/src/components/controls/senior/DshPackage.vue +57 -57
  54. package/src/components/controls/senior/cascaderTable.vue +213 -213
  55. package/src/components/controls/senior/correlation.vue +135 -135
  56. package/src/components/controls/senior/flatTable.vue +138 -138
  57. package/src/components/controls/senior/selectDepartments.vue +399 -399
  58. package/src/components/controls/senior/selectUsers/departMenu.vue +293 -293
  59. package/src/components/controls/senior/selectUsers/selectUsers.vue +712 -712
  60. package/src/components/controls/special/DshBack.vue +42 -42
  61. package/src/components/controls/special/DshUndeveloped.vue +41 -41
  62. package/src/components/form/DshAdvSearch.vue +510 -510
  63. package/src/components/form/DshDefaultSearch.vue +260 -260
  64. package/src/components/form/DshForm.vue +494 -494
  65. package/src/components/form/searchMixin.js +376 -376
  66. package/src/components/list/BriCard.vue +95 -95
  67. package/src/components/list/BriTable.vue +205 -205
  68. package/src/components/list/BriTree.vue +529 -529
  69. package/src/components/list/BriTreeItem.vue +163 -163
  70. package/src/components/list/DshBox/DshBox.vue +219 -219
  71. package/src/components/list/DshBox/DshCard.vue +446 -446
  72. package/src/components/list/DshBox/DshCrossTable.vue +827 -827
  73. package/src/components/list/DshBox/DshList.vue +404 -404
  74. package/src/components/list/DshBox/DshPanel.vue +669 -669
  75. package/src/components/list/DshBox/DshSingleData.vue +119 -119
  76. package/src/components/list/DshBox/DshTable.vue +239 -239
  77. package/src/components/list/DshCascaderTable.vue +115 -115
  78. package/src/components/list/DshFlatTable.vue +337 -337
  79. package/src/components/list/DshPage.vue +194 -194
  80. package/src/components/list/DshTreeTable.vue +113 -113
  81. package/src/components/list/common/importModal.vue +243 -243
  82. package/src/components/list/common/quoteListModal.vue +206 -206
  83. package/src/components/list/mixins/DshCascaderTableMixin.js +278 -278
  84. package/src/components/list/mixins/DshFlatTableMixin.js +509 -509
  85. package/src/components/list/mixins/DshTreeTableMixin.js +286 -286
  86. package/src/components/list/mixins/tableBaseMixin.js +1653 -1653
  87. package/src/components/list/mixins/treeTableBaseMixin.js +145 -145
  88. package/src/components/other/BriAvatar.vue +166 -166
  89. package/src/components/other/BriCode.vue +125 -125
  90. package/src/components/other/BriCollapseTree.vue +207 -207
  91. package/src/components/other/BriGantt.vue +1087 -1087
  92. package/src/components/other/BriIframe.vue +116 -116
  93. package/src/components/other/BriLoading.vue +171 -171
  94. package/src/components/other/BriSvg.vue +27 -27
  95. package/src/components/other/DshColorPanel.vue +128 -128
  96. package/src/components/other/DshMenuNav.vue +188 -188
  97. package/src/components/small/BriButton.vue +71 -71
  98. package/src/components/small/BriDrawer.vue +169 -169
  99. package/src/components/small/BriTooltip.vue +87 -87
  100. package/src/components/small/DshBtnModal.vue +68 -68
  101. package/src/components/small/DshButtons.vue +324 -324
  102. package/src/components/small/DshDropdown.vue +225 -225
  103. package/src/components/small/DshIcons.vue +59 -59
  104. package/src/components/small/DshListRender.js +21 -21
  105. package/src/components/small/DshModal.vue +160 -160
  106. package/src/components/small/DshSteps.vue +141 -141
  107. package/src/components/small/DshTabs.vue +598 -598
  108. package/src/components/small/DshTabsSet.vue +309 -309
  109. package/src/components/small/DshTags.vue +251 -251
  110. package/src/components/small/DshTitle.vue +50 -50
  111. package/src/components/small/render.js +20 -20
  112. package/src/components/unit/DshFormUnit.vue +398 -398
  113. package/src/components/unit/DshListUnit.vue +115 -115
  114. package/src/components/unit/unitMixin.js +86 -86
  115. package/src/data/index.js +4 -4
  116. package/src/index.js +285 -285
  117. package/src/styles/bundle.css +12 -12
  118. package/src/styles/components/BriButton.less +307 -307
  119. package/src/styles/components/BriTable.less +344 -344
  120. package/src/styles/components/DshModal.less +257 -257
  121. package/src/styles/components/index.less +3 -3
  122. package/src/styles/global/animate.less +11 -11
  123. package/src/styles/global/base.less +45 -45
  124. package/src/styles/global/box.less +186 -186
  125. package/src/styles/global/control.less +122 -122
  126. package/src/styles/global/flex.less +282 -282
  127. package/src/styles/global/global.less +8 -8
  128. package/src/styles/global/text.less +59 -59
  129. package/src/styles/global/variables.less +85 -85
  130. package/src/styles/iconfont/iconfont.css +254 -254
  131. package/src/styles/iconfont/iconfont.json +422 -422
  132. package/src/styles/iconfont/iconfont.svg +137 -137
  133. package/src/styles/index.less +26 -26
  134. package/src/styles/reset-easytable.less +21 -21
  135. package/src/styles/reset-iview-controls.less +145 -145
  136. package/src/styles/reset-iview-other.less +49 -49
  137. package/src/styles/reset-iview-variables.less +43 -43
  138. package/src/styles/reset.less +45 -45
  139. package/src/utils/index.js +3 -5
  140. package/lib/0.bri-components.min.js +0 -1
  141. package/lib/1.bri-components.min.js +0 -1
  142. package/lib/10.bri-components.min.js +0 -1
  143. package/lib/11.bri-components.min.js +0 -1
  144. package/lib/2.bri-components.min.js +0 -1
  145. package/lib/3.bri-components.min.js +0 -1
  146. package/lib/4.bri-components.min.js +0 -1
  147. package/lib/5.bri-components.min.js +0 -1
  148. package/lib/6.bri-components.min.js +0 -1
  149. package/lib/7.bri-components.min.js +0 -1
  150. package/lib/8.bri-components.min.js +0 -1
  151. package/lib/9.bri-components.min.js +0 -1
  152. package/lib/bri-components.min.js +0 -18
  153. package/src/utils/table.js +0 -175
@@ -1,309 +1,309 @@
1
-
2
- <template>
3
- <div class="DshTabsSet">
4
- <dsh-draggable
5
- v-model="list"
6
- class="DshTabsSet-draggable"
7
- :style="{
8
- minWidth: `${list.length * 110}px`
9
- }"
10
- @change="$dispatchEvent(operationMap.drag, $event.moved.element, null, list)"
11
- >
12
- <span
13
- v-for="(item, index) in list"
14
- :key="item._id"
15
- :class="{
16
- 'item': true,
17
- 'item-active': !!curItem && curItem._id === item._id ,
18
- 'item-edit': item.isEdit
19
- }"
20
- @click="$dispatchEvent(operationMap.clickTab, item, index, list)"
21
- >
22
- <Input
23
- v-if="item.isEdit"
24
- class="item-input"
25
- :ref="item._id"
26
- v-model="item.name"
27
- :placeholder="`输入${theme}名字……`"
28
- @on-blur="$dispatchEvent(operationMap.nameBlur, item, index, list)"
29
- @on-change="$dispatchEvent(operationMap.changeVal, item, index, list)"
30
- @click.native.stop="0"
31
- />
32
- <span
33
- v-else
34
- class="item-name dsh-ellipsis"
35
- >{{ item.name }}</span>
36
-
37
- <template v-if="!item.isEdit && item.screenType !== 'all'">
38
- <Icon
39
- v-for="operationItem in $getOperationList(['delete', 'update'])"
40
- :key="operationItem.type"
41
- :class="[`item-${operationItem.type}`]"
42
- :type="operationItem.icon"
43
- :color="operationItem.color"
44
- :size="operationItem.size || 18"
45
- @click.native.stop="$dispatchEvent(operationItem, item, index, list)"
46
- />
47
- </template>
48
- </span><!--
49
-
50
- 添加
51
- --><span
52
- v-for="operationItem in $getOperationList(['create'])"
53
- :key="operationItem.type"
54
- class="item item-create"
55
- @click="$dispatchEvent(operationItem, null, null, list)"
56
- >
57
- <Icon
58
- class="item-create-icon"
59
- :type="operationItem.icon"
60
- :color="operationItem.color"
61
- :size="operationItem.size"
62
- />
63
- </span>
64
- </dsh-draggable>
65
- </div>
66
- </template>
67
-
68
- <script>
69
- export default {
70
- name: "DshTabsSet",
71
- props: {
72
- theme: {
73
- type: String,
74
- default: "分组"
75
- },
76
- value: {
77
- type: Array,
78
- default () {
79
- return [];
80
- }
81
- },
82
- canDeleFunc: Function
83
- },
84
- data () {
85
- return {
86
- curItem: null
87
- };
88
- },
89
- computed: {
90
- list: {
91
- get () {
92
- return this.value.map(item => {
93
- this.$set(item, "isEdit", item.isEdit || false);
94
- return item;
95
- });
96
- },
97
- set (val) {
98
- this.$emit("input", val);
99
- }
100
- },
101
- operationMap () {
102
- return {
103
- clickTab: {
104
- name: "点击",
105
- type: "clickTab",
106
- event: "clickTab"
107
- },
108
- create: {
109
- name: "添加",
110
- type: "create",
111
- icon: "md-add",
112
- size: 16,
113
- event: "create"
114
- },
115
- delete: {
116
- name: "删除",
117
- type: "delete",
118
- icon: "md-trash",
119
- size: 12,
120
- color: "red",
121
- event: "delete"
122
- },
123
- changeVal: {
124
- name: "修改",
125
- type: "changeVal",
126
- event: "changeVal"
127
- },
128
- drag: {
129
- name: "拖动",
130
- type: "drag",
131
- event: "drag"
132
- },
133
-
134
- update: {
135
- name: "点击修改",
136
- type: "update",
137
- icon: "md-create",
138
- size: 12,
139
- color: "#1b9aee",
140
- event: "clickUpdate"
141
- },
142
- nameBlur: {
143
- name: "输入框失去焦点",
144
- type: "nameBlur",
145
- event: "nameBlur"
146
- }
147
- };
148
- }
149
- },
150
- created () {
151
- this.init();
152
- },
153
- methods: {
154
- // 初始化
155
- init () {
156
- this.curItem = this.list[0];
157
- this.select();
158
- },
159
-
160
- // 添加
161
- create (operationItem, data, index, list) {
162
- let item = {
163
- _id: this.$ObjectID().str,
164
- _key: this.$randomB36("FieldGroup"),
165
- name: `${this.theme}${this.list.length + 1}`,
166
- isEdit: false
167
- };
168
- list.push(item);
169
-
170
- this.curItem = item;
171
- this.select();
172
- this.change();
173
- },
174
- // 删除
175
- delete (operationItem, data, index, list) {
176
- if (!this.canDeleFunc || this.canDeleFunc(data, index, list)) {
177
- list.splice(index, 1);
178
-
179
- if (this.curItem && this.curItem._id === data._id) {
180
- this.curItem = list[1];
181
- this.select();
182
- }
183
- this.change();
184
- }
185
- },
186
- // 修改
187
- changeVal (operationItem, data, index, list) {
188
- this.change();
189
- },
190
- // 拖动
191
- drag (operationItem, data, index, list) {
192
- this.change();
193
- },
194
-
195
- // 切换视图
196
- clickTab (operationItem, data, index, list) {
197
- if (data.screenType !== "all" && (!this.curItem || this.curItem._id !== data._id)) {
198
- this.curItem = data;
199
- this.select();
200
- }
201
- },
202
- // 点击视图名
203
- clickUpdate (operationItem, data, index) {
204
- data.isEdit = true;
205
- data.oldName = data.name;
206
-
207
- this.$nextTick(() => {
208
- this.$refs[data._id] && this.$refs[data._id][0].focus();
209
- });
210
- },
211
- // 输入框失去焦点
212
- nameBlur (operationItem, data, index) {
213
- data.isEdit = false;
214
- data.name = data.name || data.oldName;
215
- },
216
-
217
- // 当前值change回调事件
218
- select () {
219
- this.$emit("select", this.curItem);
220
- },
221
- // 标记改变回调事件
222
- change () {
223
- this.$emit("input", this.list);
224
- this.$emit("change", this.list);
225
- }
226
- }
227
- };
228
- </script>
229
-
230
- <style lang="less">
231
- .DshTabsSet {
232
- width: 100%;
233
- min-height: 38px;
234
- overflow: auto;
235
- &-draggable {
236
- height: 100%;
237
- display: flex;
238
- }
239
-
240
- .item {
241
- display: inline-block;
242
- min-width: 110px;
243
- height: 100%;
244
- padding: 10px 20px 10px 5px;
245
- border-left: 1px solid @borderColor;
246
- line-height: 18px;
247
- text-align: center;
248
- color: @textColor;
249
- cursor: pointer;
250
- overflow: hidden;
251
- position: relative;
252
-
253
- &-delete,
254
- &-update {
255
- display: none;
256
- padding: 2px;
257
- position: absolute;
258
- right: 2px;
259
- }
260
- &-delete {
261
- top: 2px;
262
- }
263
- &-update {
264
- bottom: 2px;
265
- }
266
- &-create {
267
- padding: 10px;
268
- min-width: 60px;
269
- border-right: 1px solid @borderColor;
270
- &-icon {}
271
- }
272
-
273
- &:hover,
274
- &-active,
275
- &-edit {
276
- background-color: @bgColor;
277
- font-weight: 600;
278
- color: #515a6e;
279
- }
280
- &:hover {
281
- .item-delete,
282
- .item-update {
283
- display: inline-block;
284
- }
285
- }
286
-
287
- &-input {
288
- .ivu-input-wrapper {
289
- vertical-align: baseline;
290
- }
291
- .ivu-input {
292
- min-width: 150px;
293
- height: 18px;
294
- padding: 3px;
295
- border: none;
296
- border-radius: 0px;
297
- background-color: @bgColor;
298
- line-height: 16px;
299
- font-size: 12px;
300
- color: #515a6e;
301
- &:focus {
302
- box-shadow: none;
303
- }
304
- }
305
- }
306
- &-name {}
307
- }
308
- }
309
- </style>
1
+
2
+ <template>
3
+ <div class="DshTabsSet">
4
+ <dsh-draggable
5
+ v-model="list"
6
+ class="DshTabsSet-draggable"
7
+ :style="{
8
+ minWidth: `${list.length * 110}px`
9
+ }"
10
+ @change="$dispatchEvent(operationMap.drag, $event.moved.element, null, list)"
11
+ >
12
+ <span
13
+ v-for="(item, index) in list"
14
+ :key="item._id"
15
+ :class="{
16
+ 'item': true,
17
+ 'item-active': !!curItem && curItem._id === item._id ,
18
+ 'item-edit': item.isEdit
19
+ }"
20
+ @click="$dispatchEvent(operationMap.clickTab, item, index, list)"
21
+ >
22
+ <Input
23
+ v-if="item.isEdit"
24
+ class="item-input"
25
+ :ref="item._id"
26
+ v-model="item.name"
27
+ :placeholder="`输入${theme}名字……`"
28
+ @on-blur="$dispatchEvent(operationMap.nameBlur, item, index, list)"
29
+ @on-change="$dispatchEvent(operationMap.changeVal, item, index, list)"
30
+ @click.native.stop="0"
31
+ />
32
+ <span
33
+ v-else
34
+ class="item-name dsh-ellipsis"
35
+ >{{ item.name }}</span>
36
+
37
+ <template v-if="!item.isEdit && item.screenType !== 'all'">
38
+ <Icon
39
+ v-for="operationItem in $getOperationList(['delete', 'update'])"
40
+ :key="operationItem.type"
41
+ :class="[`item-${operationItem.type}`]"
42
+ :type="operationItem.icon"
43
+ :color="operationItem.color"
44
+ :size="operationItem.size || 18"
45
+ @click.native.stop="$dispatchEvent(operationItem, item, index, list)"
46
+ />
47
+ </template>
48
+ </span><!--
49
+
50
+ 添加
51
+ --><span
52
+ v-for="operationItem in $getOperationList(['create'])"
53
+ :key="operationItem.type"
54
+ class="item item-create"
55
+ @click="$dispatchEvent(operationItem, null, null, list)"
56
+ >
57
+ <Icon
58
+ class="item-create-icon"
59
+ :type="operationItem.icon"
60
+ :color="operationItem.color"
61
+ :size="operationItem.size"
62
+ />
63
+ </span>
64
+ </dsh-draggable>
65
+ </div>
66
+ </template>
67
+
68
+ <script>
69
+ export default {
70
+ name: "DshTabsSet",
71
+ props: {
72
+ theme: {
73
+ type: String,
74
+ default: "分组"
75
+ },
76
+ value: {
77
+ type: Array,
78
+ default () {
79
+ return [];
80
+ }
81
+ },
82
+ canDeleFunc: Function
83
+ },
84
+ data () {
85
+ return {
86
+ curItem: null
87
+ };
88
+ },
89
+ computed: {
90
+ list: {
91
+ get () {
92
+ return this.value.map(item => {
93
+ this.$set(item, "isEdit", item.isEdit || false);
94
+ return item;
95
+ });
96
+ },
97
+ set (val) {
98
+ this.$emit("input", val);
99
+ }
100
+ },
101
+ operationMap () {
102
+ return {
103
+ clickTab: {
104
+ name: "点击",
105
+ type: "clickTab",
106
+ event: "clickTab"
107
+ },
108
+ create: {
109
+ name: "添加",
110
+ type: "create",
111
+ icon: "md-add",
112
+ size: 16,
113
+ event: "create"
114
+ },
115
+ delete: {
116
+ name: "删除",
117
+ type: "delete",
118
+ icon: "md-trash",
119
+ size: 12,
120
+ color: "red",
121
+ event: "delete"
122
+ },
123
+ changeVal: {
124
+ name: "修改",
125
+ type: "changeVal",
126
+ event: "changeVal"
127
+ },
128
+ drag: {
129
+ name: "拖动",
130
+ type: "drag",
131
+ event: "drag"
132
+ },
133
+
134
+ update: {
135
+ name: "点击修改",
136
+ type: "update",
137
+ icon: "md-create",
138
+ size: 12,
139
+ color: "#1b9aee",
140
+ event: "clickUpdate"
141
+ },
142
+ nameBlur: {
143
+ name: "输入框失去焦点",
144
+ type: "nameBlur",
145
+ event: "nameBlur"
146
+ }
147
+ };
148
+ }
149
+ },
150
+ created () {
151
+ this.init();
152
+ },
153
+ methods: {
154
+ // 初始化
155
+ init () {
156
+ this.curItem = this.list[0];
157
+ this.select();
158
+ },
159
+
160
+ // 添加
161
+ create (operationItem, data, index, list) {
162
+ let item = {
163
+ _id: this.$ObjectID().str,
164
+ _key: this.$randomB36("FieldGroup"),
165
+ name: `${this.theme}${this.list.length + 1}`,
166
+ isEdit: false
167
+ };
168
+ list.push(item);
169
+
170
+ this.curItem = item;
171
+ this.select();
172
+ this.change();
173
+ },
174
+ // 删除
175
+ delete (operationItem, data, index, list) {
176
+ if (!this.canDeleFunc || this.canDeleFunc(data, index, list)) {
177
+ list.splice(index, 1);
178
+
179
+ if (this.curItem && this.curItem._id === data._id) {
180
+ this.curItem = list[1];
181
+ this.select();
182
+ }
183
+ this.change();
184
+ }
185
+ },
186
+ // 修改
187
+ changeVal (operationItem, data, index, list) {
188
+ this.change();
189
+ },
190
+ // 拖动
191
+ drag (operationItem, data, index, list) {
192
+ this.change();
193
+ },
194
+
195
+ // 切换视图
196
+ clickTab (operationItem, data, index, list) {
197
+ if (data.screenType !== "all" && (!this.curItem || this.curItem._id !== data._id)) {
198
+ this.curItem = data;
199
+ this.select();
200
+ }
201
+ },
202
+ // 点击视图名
203
+ clickUpdate (operationItem, data, index) {
204
+ data.isEdit = true;
205
+ data.oldName = data.name;
206
+
207
+ this.$nextTick(() => {
208
+ this.$refs[data._id] && this.$refs[data._id][0].focus();
209
+ });
210
+ },
211
+ // 输入框失去焦点
212
+ nameBlur (operationItem, data, index) {
213
+ data.isEdit = false;
214
+ data.name = data.name || data.oldName;
215
+ },
216
+
217
+ // 当前值change回调事件
218
+ select () {
219
+ this.$emit("select", this.curItem);
220
+ },
221
+ // 标记改变回调事件
222
+ change () {
223
+ this.$emit("input", this.list);
224
+ this.$emit("change", this.list);
225
+ }
226
+ }
227
+ };
228
+ </script>
229
+
230
+ <style lang="less">
231
+ .DshTabsSet {
232
+ width: 100%;
233
+ min-height: 38px;
234
+ overflow: auto;
235
+ &-draggable {
236
+ height: 100%;
237
+ display: flex;
238
+ }
239
+
240
+ .item {
241
+ display: inline-block;
242
+ min-width: 110px;
243
+ height: 100%;
244
+ padding: 10px 20px 10px 5px;
245
+ border-left: 1px solid @borderColor;
246
+ line-height: 18px;
247
+ text-align: center;
248
+ color: @textColor;
249
+ cursor: pointer;
250
+ overflow: hidden;
251
+ position: relative;
252
+
253
+ &-delete,
254
+ &-update {
255
+ display: none;
256
+ padding: 2px;
257
+ position: absolute;
258
+ right: 2px;
259
+ }
260
+ &-delete {
261
+ top: 2px;
262
+ }
263
+ &-update {
264
+ bottom: 2px;
265
+ }
266
+ &-create {
267
+ padding: 10px;
268
+ min-width: 60px;
269
+ border-right: 1px solid @borderColor;
270
+ &-icon {}
271
+ }
272
+
273
+ &:hover,
274
+ &-active,
275
+ &-edit {
276
+ background-color: @bgColor;
277
+ font-weight: 600;
278
+ color: #515a6e;
279
+ }
280
+ &:hover {
281
+ .item-delete,
282
+ .item-update {
283
+ display: inline-block;
284
+ }
285
+ }
286
+
287
+ &-input {
288
+ .ivu-input-wrapper {
289
+ vertical-align: baseline;
290
+ }
291
+ .ivu-input {
292
+ min-width: 150px;
293
+ height: 18px;
294
+ padding: 3px;
295
+ border: none;
296
+ border-radius: 0px;
297
+ background-color: @bgColor;
298
+ line-height: 16px;
299
+ font-size: 12px;
300
+ color: #515a6e;
301
+ &:focus {
302
+ box-shadow: none;
303
+ }
304
+ }
305
+ }
306
+ &-name {}
307
+ }
308
+ }
309
+ </style>