bri-components 1.2.66 → 1.2.67

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bri-components",
3
- "version": "1.2.66",
3
+ "version": "1.2.67",
4
4
  "author": "dengshanghui",
5
5
  "description": "a component lib for vue project",
6
6
  "main": "src/index.js",
@@ -1,32 +1,30 @@
1
1
  <template>
2
- <!-- 单选模式 -->
2
+ <!-- 单选模式 编辑 -->
3
3
  <div
4
- v-if="!multipleMode"
4
+ v-if="!multipleMode && canEdit"
5
5
  class="DshInput"
6
6
  >
7
- <!-- 编辑 -->
8
- <template v-if="canEdit">
9
- <Input
10
- class="DshInput-edit"
11
- v-model="value[controlKey]"
12
- :type="inputType"
13
- :placeholder="selfPropsObj._placeholder"
14
- :readonly="selfPropsObj._readonly"
15
- :disabled="selfPropsObj._disabled"
16
- :clearable="selfPropsObj._clearable"
17
- :size="selfPropsObj._size"
18
- :rows="selfPropsObj._rows"
19
- :search="selfPropsObj._search"
20
- :show-word-limit="selfPropsObj._showWordLimit"
21
- :maxlength="selfPropsObj._maxlength"
22
- :autosize="selfPropsObj._autosize"
23
- @on-enter="onEnter"
24
- @on-search="onSearch"
25
- @on-focus="onFocus"
26
- @on-change="onChange"
27
- @on-blur="onBlur"
28
- @on-clear="onClear"
29
- >
7
+ <i-input
8
+ class="DshInput-edit"
9
+ v-model="value[controlKey]"
10
+ :type="inputType"
11
+ :placeholder="selfPropsObj._placeholder"
12
+ :readonly="selfPropsObj._readonly"
13
+ :disabled="selfPropsObj._disabled"
14
+ :clearable="selfPropsObj._clearable"
15
+ :size="selfPropsObj._size"
16
+ :rows="selfPropsObj._rows"
17
+ :search="selfPropsObj._search"
18
+ :show-word-limit="selfPropsObj._showWordLimit"
19
+ :maxlength="selfPropsObj._maxlength"
20
+ :autosize="selfPropsObj._autosize"
21
+ @on-enter="onEnter"
22
+ @on-search="onSearch"
23
+ @on-focus="onFocus"
24
+ @on-change="onChange"
25
+ @on-blur="onBlur"
26
+ @on-clear="onClear"
27
+ >
30
28
  <span
31
29
  v-if="selfPropsObj._prepend"
32
30
  slot="prepend"
@@ -36,49 +34,61 @@
36
34
  v-if="selfPropsObj._append"
37
35
  slot="append"
38
36
  >{{ selfPropsObj._append }}</span>
39
- </Input>
40
- </template>
37
+ </i-input>
38
+ </div>
41
39
 
42
- <!-- 查看 -->
43
- <template v-else>
44
- <!-- 查看页 的textarea单独处理 -->
45
- <template v-if="inputType === 'textarea' && !$isEmptyData(curVal) && !isUnitShow">
46
- <p
47
- class="DshInput-show-textarea"
48
- v-text="showVal"
49
- ></p>
50
- </template>
40
+ <!-- 单选模式 查看 -->
41
+ <div v-else-if="!multipleMode && !canEdit">
42
+ <!-- 有值 -->
43
+ <template v-if="!$isEmptyData(curVal)">
44
+ <!-- 详情页查看 且单独占一行高度自由时 -->
45
+ <div
46
+ v-if="isHeightAuto"
47
+ :class="{
48
+ ...commonClass,
49
+ 'DshInput-show-auto': true
50
+ }"
51
+ v-html="showVal"
52
+ ></div>
51
53
 
52
54
  <!-- 表格和查看页 里的查看 -->
53
- <template v-else>
54
- <bri-tooltip
55
- :content="showVal"
56
- :defaultDisabled="false"
57
- maxWidth="200"
58
- :transfer="true"
59
- >
60
- <div :class="{
55
+ <bri-tooltip
56
+ v-else
57
+ :content="showVal"
58
+ :defaultDisabled="false"
59
+ :transfer="true"
60
+ >
61
+ <a
62
+ v-if="inputType === 'url'"
63
+ :class="{
61
64
  ...commonClass,
62
- 'DshInput-unit': isUnitShow,
63
- 'DshInput-show': !isUnitShow
64
- }">
65
- <!-- 有值 -->
66
- <a
67
- v-if="inputType === 'url' && !$isEmptyData(curVal)"
68
- class="text"
69
- @click="goHttpWindow($event)"
70
- >
71
- {{ showVal }}
72
- </a>
65
+ 'DshInput-show-ellipsis': true,
66
+ 'DshInput-show-ellipsis-url': true
67
+ }"
68
+ @click="goHttpWindow($event)"
69
+ >
70
+ {{ showVal }}
71
+ </a>
73
72
 
74
- <!-- 无值 -->
75
- <template v-else>
76
- {{ showVal }}
77
- </template>
78
- </div>
79
- </bri-tooltip>
80
- </template>
73
+ <div
74
+ v-else
75
+ :class="{
76
+ ...commonClass,
77
+ 'DshInput-show-ellipsis': true
78
+ }"
79
+ >
80
+ {{ showVal }}
81
+ </div>
82
+ </bri-tooltip>
81
83
  </template>
84
+
85
+ <!-- 无值 -->
86
+ <div
87
+ v-else
88
+ :class="commonClass"
89
+ >
90
+ {{ emptyShowVal }}
91
+ </div>
82
92
  </div>
83
93
 
84
94
  <!-- 多选模式 -->
@@ -117,7 +127,8 @@
117
127
  _readonly: ["serialNumber"].includes(this.controlType),
118
128
  _showWordLimit: this.propsObj._showWordLimit || (!!this.propsObj._maxlength || this.propsObj._maxlength === 0),
119
129
  _autosize: {
120
- minRows: 2
130
+ minRows: 2,
131
+ maxRows: 20
121
132
  },
122
133
 
123
134
  ...this.propsObj,
@@ -182,16 +193,23 @@
182
193
  </script>
183
194
 
184
195
  <style lang="less">
196
+ @import url("../../control.less");
197
+
185
198
  .DshInput {
199
+ #control-show();
186
200
  width: 100%;
187
201
 
188
202
  &-show {
189
- &-textarea {
190
- display: inline-block;
191
- width: 100%;
192
- height: auto;
193
- white-space: pre-wrap;
194
- min-height: 32px;
203
+ &-auto {
204
+ white-space: pre-wrap!important;
205
+ max-height: 500px;
206
+ overflow: auto;
207
+ }
208
+
209
+ &-ellipsis {
210
+ &-url {
211
+ color: @themeColor!important;
212
+ }
195
213
  }
196
214
  }
197
215
  }
@@ -33,7 +33,11 @@
33
33
  <!-- dropdown模式 -->
34
34
  <template v-else>
35
35
  <Select
36
- class="DshCheckbox-dropdown"
36
+ :class="{
37
+ 'DshCheckbox-dropdown': true,
38
+ 'DshCheckbox-dropdown-auto': isHeightAuto,
39
+ 'DshCheckbox-dropdown-scroll': !isHeightAuto,
40
+ }"
37
41
  :value="curValList"
38
42
  :multiple="true"
39
43
  :placeholder="selfPropsObj._placeholder"
@@ -130,7 +134,7 @@
130
134
  return {
131
135
  _max: 100000000,
132
136
  _transfer: true,
133
- _transferClassName: "",
137
+ _transferClassName: "DshCheckbox-dropdown-transfer",
134
138
 
135
139
  ...this.basePropsObj
136
140
  };
@@ -151,6 +151,7 @@
151
151
  selfPropsObj () {
152
152
  return {
153
153
  _transfer: true,
154
+ _transferClassName: "DshSelect-dropdown-transfer",
154
155
 
155
156
  ...this.basePropsObj
156
157
  };
@@ -155,7 +155,7 @@
155
155
  }
156
156
 
157
157
  &-disabled {
158
- // opacity: 0.7;
158
+ border-color: transparent;
159
159
 
160
160
  .ivu-@{control-type} {
161
161
  .ivu-@{control-type}-inner {
@@ -182,7 +182,7 @@
182
182
 
183
183
  & + span {
184
184
  color: @value;
185
- opacity: 0.4;
185
+ opacity: 0.5;
186
186
  }
187
187
  }
188
188
 
@@ -208,21 +208,14 @@
208
208
  }
209
209
 
210
210
  &-dropdown {
211
+ // 输入框部分
211
212
  &.ivu-select-multiple {
212
213
  .ivu-select-selection {
213
- height: 32px;
214
-
215
214
  & > div {
216
- .bri-scrollbar3();
217
215
  width: 100%;
218
216
  height: 100%;
219
- word-break: keep-all;
220
- white-space: nowrap;
221
- overflow: auto;
222
- overflow-y: hidden;
223
217
 
224
218
  .ivu-tag {
225
- margin: 2px 4px 0px 0px;
226
219
  background-color: @borderColor;
227
220
  }
228
221
  }
@@ -237,9 +230,50 @@
237
230
  }
238
231
  }
239
232
  }
233
+ }
234
+
235
+ &-auto {
236
+ &.ivu-select-multiple {
237
+ .ivu-select-selection {
238
+ & > div {
239
+ .ivu-tag {
240
+ height: auto;
241
+
242
+ span:not(.ivu-select-max-tag) {
243
+ text-overflow: auto;
244
+ white-space: normal;
245
+ }
246
+ }
247
+ }
248
+ }
249
+ }
250
+ }
251
+
252
+ &-scroll {
253
+ &.ivu-select-multiple {
254
+ .ivu-select-selection {
255
+ height: 32px;
256
+
257
+ & > div {
258
+ .bri-scrollbar3();
259
+ word-break: keep-all;
260
+ white-space: nowrap;
261
+ overflow: auto;
262
+ overflow-y: hidden;
263
+
264
+ .ivu-tag {
265
+
266
+ }
267
+ }
268
+ }
269
+ }
270
+ }
240
271
 
241
- .ivu-select-item-selected:after {
242
- content: none;
272
+ // 下拉面板
273
+ &-transfer {
274
+ &.ivu-select-dropdown {
275
+ max-width: 200px;
276
+ max-height: 350px;
243
277
  }
244
278
  }
245
279
  }
@@ -14,14 +14,16 @@ export default {
14
14
  basePropsObj () {
15
15
  const _joinSymbol = this.propsObj._joinSymbol || "/";
16
16
  return {
17
- _showMode: "default",
17
+ _showMode: "default", // "default", "custom", "simple"
18
18
  colorMap: resourceData.colorMap,
19
19
  _useColor: false,
20
20
  _saveKey: "_key",
21
21
  _valueKey: "code",
22
22
  _nameKey: "name",
23
- _filterable: true,
24
- _cascaderFilterVals: [], // 过滤级联数据,只保留的数组
23
+ _filterable: true, // 是否支持搜索
24
+ _data: [],
25
+ _reverseFilter: false, // 是否反向过滤,默认正向过滤
26
+ _cascaderFilterVals: [], // 过滤的级联数据
25
27
  _renderFormat: (labels) => labels.join(_joinSymbol),
26
28
 
27
29
  ...this.propsObj,
@@ -54,6 +56,9 @@ export default {
54
56
  cascaderLevel () {
55
57
  return this.selfPropsObj._cascaderLevel;
56
58
  },
59
+ reverseFilter () {
60
+ return this.selfPropsObj._reverseFilter;
61
+ },
57
62
  cascaderFilterVals () {
58
63
  return this.selfPropsObj._cascaderFilterVals;
59
64
  },
@@ -70,8 +75,12 @@ export default {
70
75
  },
71
76
  cascaderData () {
72
77
  const loop = (arr = [], level, parentKeys = [], filterVals = [], isMobile = false) => {
73
- if (arr && filterVals.length) {
74
- arr = arr.filter(item => filterVals.includes(item[this.saveKey]));
78
+ if (filterVals.length) {
79
+ arr = arr.filter(item =>
80
+ this.reverseFilter
81
+ ? !filterVals.includes(item[this.saveKey])
82
+ : filterVals.includes(item[this.saveKey])
83
+ );
75
84
  }
76
85
 
77
86
  return arr
@@ -154,7 +163,7 @@ export default {
154
163
  confirmMulCb (selectedValue, selectedOptions) {
155
164
  if (this.curValList.some(item => JSON.stringify(item) === JSON.stringify(selectedValue))) {
156
165
  this.$Message.error({
157
- content: `"${this.transformFullName(selectedValue)}"已选择,请勿重复选择!`,
166
+ content: `请勿重复选择"${this.transformFullName(selectedValue)}"!`,
158
167
  duration: 4
159
168
  });
160
169
  } else {
@@ -187,7 +196,7 @@ export default {
187
196
  }
188
197
  : {
189
198
  _key: val,
190
- name: `提示:选项${val}已找不到`,
199
+ name: `提示:选项${val}已不存在`,
191
200
  style: {
192
201
  ...this.tagStyle
193
202
  }
@@ -18,9 +18,11 @@ export default {
18
18
  _optionKind: "dropdown", // "flat"、"dropdown"
19
19
  colorMap: resourceData.colorMap,
20
20
  _useColor: false,
21
- _filterable: true,
21
+ _filterable: true, // 是否支持搜索
22
22
  _data: [],
23
23
  _customData: [],
24
+ _reverseFilter: false, // 是否反向过滤,默认正向过滤
25
+ _selectFilterVals: [], // 过滤的数据
24
26
 
25
27
  ...this.propsObj,
26
28
  ...this.commonDealPropsObj
@@ -35,14 +37,27 @@ export default {
35
37
  useColor () {
36
38
  return this.selfPropsObj._useColor;
37
39
  },
40
+ reverseFilter () {
41
+ return this.selfPropsObj._reverseFilter;
42
+ },
43
+ selectFilterVals () {
44
+ return this.selfPropsObj._selectFilterVals;
45
+ },
46
+
38
47
  listData () {
39
- const listData = this.selfPropsObj._data.concat(this.initListData);
48
+ let listData = this.selfPropsObj._data.concat(this.initListData);
49
+ if (this.selectFilterVals.length) {
50
+ listData = listData.filter(item =>
51
+ this.reverseFilter
52
+ ? !this.selectFilterVals.includes(item._key)
53
+ : this.selectFilterVals.includes(item._key)
54
+ );
55
+ }
40
56
 
41
57
  return this.$dataType(this.selfPropsObj._filterFunc, "function")
42
58
  ? this.selfPropsObj._filterFunc(listData, this.selfPropsObj, this.value)
43
59
  : listData;
44
60
  },
45
-
46
61
  curValObj () {
47
62
  return this.getItemObj(this.curVal);
48
63
  },
@@ -120,7 +135,7 @@ export default {
120
135
  getItemObj (val) {
121
136
  const obj = this.listData.find(item => item._key === val) || {
122
137
  _key: val,
123
- name: `提示:选项${val}已找不到`
138
+ name: `提示:选项${val}已不存在`
124
139
  };
125
140
 
126
141
  return !this.$isEmptyData(val)
@@ -19,9 +19,9 @@
19
19
  <div
20
20
  class="DshPanel-group-header"
21
21
  :style="{
22
- backgroundColor: getBgColor(groupItem),
23
- color: '#ffffff'
24
- }"
22
+ backgroundColor: getBgColor(groupItem),
23
+ color: '#ffffff'
24
+ }"
25
25
  >
26
26
  <!-- 左 -->
27
27
  <Checkbox
@@ -56,149 +56,151 @@
56
56
  <div
57
57
  class="DshPanel-group-list"
58
58
  :style="{
59
- backgroundColor: $getColor(getBgColor(groupItem))
60
- }"
59
+ backgroundColor: $getColor(getBgColor(groupItem))
60
+ }"
61
61
  >
62
- <template>
63
- <!-- 有数据 -->
64
- <template v-if="groupItem.list.length">
65
- <CheckboxGroup
66
- class="list-drag"
67
- v-model="groupItem.selectIds"
68
- @on-change="selectRow(groupItem, $event)"
62
+ <div class="list">
63
+ <!-- 提示语 -->
64
+ <div
65
+ v-if="!groupItem.finished"
66
+ class="list-tip"
67
+ :style="{
68
+ color: getBgColor(groupItem),
69
+ paddingTop: '5px',
70
+ paddingBottom: '0px'
71
+ }"
72
+ >
73
+ {{ getTip(groupItem) }}
74
+ </div>
75
+
76
+ <CheckboxGroup
77
+ class="list-drag"
78
+ v-model="groupItem.selectIds"
79
+ @on-change="selectRow(groupItem, $event)"
80
+ >
81
+ <dsh-draggable
82
+ class="list-drag-draggable"
83
+ v-model="groupItem.list"
84
+ group="panel"
85
+ animation="300"
86
+ :disabled="!dragOperationObj"
87
+ @update="$dshEmit(dragOperationObj, $event, groupItem, data.find(item => item._key === $event.from.id), { [groupField]: groupItem._key })"
88
+ @add="$dshEmit(dragOperationObj, $event, groupItem, data.find(item => item._key === $event.from.id), { [groupField]: groupItem._key })"
69
89
  >
70
- <dsh-draggable
71
- class="list-drag-draggable"
72
- v-model="groupItem.list"
73
- group="panel"
74
- animation="300"
75
- :disabled="!dragOperationObj"
76
- @update="$dshEmit(dragOperationObj, $event, groupItem, data.find(item => item._key === $event.from.id), { [groupField]: groupItem._key })"
77
- @add="$dshEmit(dragOperationObj, $event, groupItem, data.find(item => item._key === $event.from.id), { [groupField]: groupItem._key })"
90
+ <transition-group
91
+ :id="groupItem._key"
92
+ class="list-drag-transition"
93
+ @scroll.native="groupScroll(groupItem, groupIndex, $event)"
78
94
  >
79
- <transition-group
80
- :id="groupItem._key"
81
- class="list-drag-transition"
82
- @scroll.native="groupScroll(groupItem, groupIndex, $event)"
95
+ <div
96
+ v-for="(dataItem, dataIndex) in groupItem.list"
97
+ :key="dataItem._id"
98
+ :id="dataItem._id"
99
+ class="row-item"
100
+ @click="clickRow(dataItem, dataIndex)"
83
101
  >
84
- <div
85
- v-for="(dataItem, dataIndex) in groupItem.list"
86
- :key="dataItem._id"
87
- :id="dataItem._id"
88
- class="row-item"
89
- @click="clickRow(dataItem, dataIndex)"
102
+ <!-- 复选框 -->
103
+ <Checkbox
104
+ v-if="multiple"
105
+ class="row-item-checkbox"
106
+ :label="dataItem._id"
107
+ @click.native.stop="clickRowCheckbox(dataItem)"
90
108
  >
91
- <!-- 复选框 -->
92
- <Checkbox
93
- v-if="multiple"
94
- class="row-item-checkbox"
95
- :label="dataItem._id"
96
- @click.native.stop="clickRowCheckbox(dataItem)"
109
+ {{ "" }}
110
+ </Checkbox>
111
+
112
+ <!-- 下拉操作 -->
113
+ <dsh-dropdown
114
+ v-if="operationList.length"
115
+ class="row-item-dropdown"
116
+ :dropdownObj="dropdownObj"
117
+ :list="operationList"
118
+ @click="$dshEmit($event, dataItem, dataIndex)"
119
+ @click.native.stop="0"
120
+ ></dsh-dropdown>
121
+
122
+ <!-- 内容 -->
123
+ <div class="row-item-info">
124
+ <!-- 标题 -->
125
+ <bri-tooltip
126
+ class="title"
127
+ :content="dataItem[titleField]"
128
+ placement="top"
129
+ :transfer="true"
130
+ >
131
+ <div class="title-name">
132
+ {{ dataItem[titleField] }}
133
+ </div>
134
+ </bri-tooltip>
135
+
136
+ <!-- 显示字段 -->
137
+ <div
138
+ v-for="colItem in selfColumns"
139
+ :key="colItem._key"
140
+ class="unit"
97
141
  >
98
- {{ "" }}
99
- </Checkbox>
100
-
101
- <!-- 下拉操作 -->
102
- <dsh-dropdown
103
- v-if="operationList.length"
104
- class="row-item-dropdown"
105
- :dropdownObj="dropdownObj"
106
- :list="operationList"
107
- @click="$dshEmit($event, dataItem, dataIndex)"
108
- @click.native.stop="0"
109
- ></dsh-dropdown>
110
-
111
- <!-- 内容 -->
112
- <div class="row-item-info">
113
- <!-- 标题 -->
142
+ <!-- label -->
114
143
  <bri-tooltip
115
- class="title"
116
- :content="dataItem[titleField]"
117
- placement="top"
144
+ class="unit-label-tooltip"
145
+ :content="colItem._name"
118
146
  :transfer="true"
119
147
  >
120
- <div class="title-name">
121
- {{ dataItem[titleField] }}
148
+ <div class="unit-label">
149
+ <span class="unit-label-name">
150
+ {{ colItem._name }}
151
+ </span>
152
+ <span class="unit-label-colon">
153
+
154
+ </span>
122
155
  </div>
123
156
  </bri-tooltip>
124
157
 
125
- <!-- 显示字段 -->
126
- <div
127
- v-for="colItem in selfColumns"
128
- :key="colItem._key"
129
- class="unit"
130
- >
131
- <!-- 左 label -->
132
- <bri-tooltip
133
- class="unit-label-tooltip"
134
- :content="colItem._name"
135
- :transfer="true"
158
+ <!-- val -->
159
+ <div class="unit-control">
160
+ <dsh-list-render
161
+ v-if="colItem.renderBodyCell"
162
+ :row="dataItem"
163
+ :column="colItem"
164
+ :index="0"
165
+ :render="colItem.renderBodyCell"
166
+ ></dsh-list-render>
167
+
168
+ <div
169
+ v-else-if="colItem.formatter"
170
+ v-html="colItem.formatter(dataItem, 0)"
171
+ ></div>
172
+
173
+ <span
174
+ v-else
175
+ class="unit-control-text"
136
176
  >
137
- <div class="unit-label">
138
- <span class="unit-label-name">
139
- {{ colItem._name }}
140
- </span>
141
- <span class="unit-label-colon">
142
-
143
- </span>
144
- </div>
145
- </bri-tooltip>
146
-
147
- <!-- 右 val -->
148
- <div class="unit-control">
149
- <dsh-list-render
150
- v-if="colItem.renderBodyCell"
151
- :row="dataItem"
152
- :column="colItem"
153
- :index="0"
154
- :render="colItem.renderBodyCell"
155
- ></dsh-list-render>
156
-
157
- <div
158
- v-else-if="colItem.formatter"
159
- v-html="colItem.formatter(dataItem, 0)"
160
- ></div>
161
-
162
- <span
163
- v-else
164
- class="unit-control-text"
165
- >
166
- {{ dataItem[colItem._key] }}
167
- </span>
168
- </div>
177
+ {{ dataItem[colItem._key] }}
178
+ </span>
169
179
  </div>
170
180
  </div>
171
181
  </div>
172
- </transition-group>
173
-
174
- <!-- 提示语 -->
175
- <div
176
- class="list-drag-tip"
177
- :style="{
178
- color: getBgColor(groupItem)
179
- }"
180
- >
181
- {{ groupItem.loading ? loadingText : groupItem.finished ? finishedText : "滑动加载更多数据..." }}
182
182
  </div>
183
- </dsh-draggable>
184
- </CheckboxGroup>
185
- </template>
183
+ </transition-group>
184
+ </dsh-draggable>
185
+ </CheckboxGroup>
186
186
 
187
- <!-- 无数据 -->
187
+ <!-- 提示语 -->
188
188
  <div
189
- v-else
190
- class="list-nodata"
189
+ v-if="groupItem.finished"
190
+ class="list-tip"
191
191
  :style="{
192
- color: getBgColor(groupItem)
193
- }"
192
+ color: getBgColor(groupItem),
193
+ paddingTop: '3px',
194
+ paddingBottom: '5px'
195
+ }"
194
196
  >
195
- {{ noDataText }}
197
+ {{ getTip(groupItem) }}
196
198
  </div>
197
- </template>
199
+ </div>
198
200
 
199
201
  <!-- 组 操作按钮(添加) -->
200
202
  <dsh-buttons
201
- class="list-btns"
203
+ class="btns"
202
204
  :list="groupBtnOperationList"
203
205
  @click="$dshEmit($event, { [groupField]: groupItem._key })"
204
206
  ></dsh-buttons>
@@ -429,6 +431,15 @@
429
431
  return this.groupFieldObj._useColor
430
432
  ? resourceData.colorMap[(this.groupFieldObj._data.find(item => item._key === groupItem._key) || { color: "color-default" }).color]
431
433
  : resourceData.colorMap["color-default"];
434
+ },
435
+ getTip (groupItem) {
436
+ return !groupItem.list.length
437
+ ? this.noDataText
438
+ : groupItem.loading
439
+ ? this.loadingText
440
+ : groupItem.finished
441
+ ? this.finishedText
442
+ : "滑动加载更多数据...";
432
443
  }
433
444
  },
434
445
  watch: {
@@ -503,10 +514,17 @@
503
514
  justify-content: space-between;
504
515
 
505
516
  .list {
517
+ width: 100%;
518
+ flex: 1;
519
+ min-height: 0px;
520
+ display: flex;
521
+ flex-direction: column;
522
+
506
523
  &-drag {
507
524
  width: 100%;
508
525
  flex: 1;
509
526
  min-height: 0px;
527
+ overflow: hidden;
510
528
 
511
529
  &-draggable {
512
530
  width: 100%;
@@ -516,9 +534,8 @@
516
534
  &-transition {
517
535
  display: block;
518
536
  width: 100%;
519
- // height: 100%;
520
- max-height: calc(100% - 36px);
521
- padding: 8px 8px 0px;
537
+ height: 100%;
538
+ padding: 8px;
522
539
  overflow: auto;
523
540
 
524
541
  .row-item {
@@ -601,29 +618,23 @@
601
618
  }
602
619
 
603
620
  &:last-child {
604
- // margin-bottom: 0px;
621
+ margin-bottom: 0px;
605
622
  }
606
623
  }
607
624
  }
608
-
609
- &-tip {
610
- .dsh-subtip();
611
- height: 36px;
612
- padding: 10px 0px;
613
- line-height: 16px;
614
- }
615
625
  }
616
626
 
617
- &-nodata {
618
- #dsh-nodata();
627
+ &-tip {
628
+ .dsh-subtip();
629
+ line-height: 16px;
619
630
  }
631
+ }
620
632
 
621
- &-btns {
622
- width: 100%;
623
- height: 40px;
624
- padding: 4px 8px;
625
- text-align: center;
626
- }
633
+ .btns {
634
+ width: 100%;
635
+ height: 40px;
636
+ padding: 4px 8px;
637
+ text-align: center;
627
638
  }
628
639
  }
629
640
  }
@@ -170,7 +170,6 @@
170
170
 
171
171
  &-data {
172
172
  width: 100%;
173
- // max-height: 300px;
174
173
  padding: 0 8px;
175
174
  overflow: auto;
176
175
 
@@ -201,8 +200,12 @@
201
200
  }
202
201
  }
203
202
 
204
- .ivu-dropdown-item-divided:before {
205
- margin: 0px;
203
+ .ivu-dropdown-item {
204
+ white-space: normal;
205
+
206
+ &-divided:before {
207
+ margin: 0px;
208
+ }
206
209
  }
207
210
  }
208
211
 
@@ -8,12 +8,7 @@
8
8
  },
9
9
  formControlClass
10
10
  ]"
11
- :style="{
12
- width: `calc(${(formItem._br ? (formItem._span || 24)/24 : 1) * 100}% - 12px)`,
13
- height: formItem._br || (formItem._span || 24) === 24 ? undefined : `${height}px`,
14
- minHeight: `${46}px`,
15
- ...rowStyle
16
- }"
11
+ :style="unitStyle"
17
12
  >
18
13
  <!-- label -->
19
14
  <div
@@ -76,6 +71,7 @@
76
71
  <slot>
77
72
  <component
78
73
  class="DshFormUnit-control-component"
74
+ :style="{ 'text-align': formItem._lineAlign }"
79
75
  ref="control"
80
76
  :is="curComponentName"
81
77
  :canEdit="canEdit"
@@ -139,7 +135,20 @@
139
135
  showTipModal: false // tipsRender使用,不可删除
140
136
  };
141
137
  },
142
- computed: {},
138
+ computed: {
139
+ unitStyle () {
140
+ return {
141
+ width: `calc(${(this.formItem._br ? (this.formItem._span || 24) / 24 : 1) * 100}% - 12px)`,
142
+ height: this.formItem._br || (this.formItem._span || 24) === 24
143
+ ? undefined
144
+ : this.canEdit ? `${this.height}px` : `${this.height - 10}px`,
145
+ minHeight: "42px",
146
+ padding: this.canEdit ? undefined : "0px 10px", // 详情查看页时,不要上下的padding,为了美观
147
+
148
+ ...this.rowStyle
149
+ };
150
+ }
151
+ },
143
152
  created () {},
144
153
  methods: {
145
154
  // 校验方法 -供外部使用
@@ -320,7 +329,7 @@
320
329
 
321
330
  &-right {
322
331
  flex: none;
323
- max-width: 80px;
332
+ max-width: 70px;
324
333
  min-width: 0px;
325
334
  }
326
335
  }
@@ -56,9 +56,8 @@
56
56
  .bri-unit-show () {
57
57
  display: inline-block;
58
58
  max-width: 100%;
59
- padding: 2px 6px 2px 8px;
59
+ padding: 2px 6px;
60
60
  border-radius: @borderRadius;
61
61
  background-color: @theme-focus;
62
- line-height: 24px;
63
62
  color: @themeColor;
64
63
  }
@@ -62,24 +62,10 @@
62
62
 
63
63
  }
64
64
 
65
- &-disabled {
66
- .ivu-select-selection {
67
- .bri-control-disabled();
68
-
69
- &:hover {
70
- border-color: @border-disabled;
71
- }
72
- }
73
-
74
- .ivu-select-input[disabled] {
75
- color: @textColor;
76
- -webkit-text-fill-color: @placeholder-disabled-color;
77
- }
78
- }
79
-
80
65
  &-item {
81
66
  margin: 4px 8px;
82
67
  border-radius: @borderRadius;
68
+ white-space: normal;
83
69
 
84
70
  &:hover {
85
71
  background: @bgColor;
@@ -101,6 +87,37 @@
101
87
  -webkit-text-fill-color: @textColor-disabled;
102
88
  }
103
89
  }
90
+
91
+ &-disabled {
92
+ .ivu-select-selection {
93
+ .bri-control-disabled();
94
+
95
+ &:hover {
96
+ border-color: @border-disabled;
97
+ }
98
+ }
99
+
100
+ .ivu-select-input[disabled] {
101
+ color: @textColor;
102
+ -webkit-text-fill-color: @placeholder-disabled-color;
103
+ }
104
+ }
105
+
106
+ // 多选状态
107
+ &-multiple {
108
+ // 下拉面板项
109
+ .ivu-select-item {
110
+ // 压住iview同等权重的css
111
+ &-selected {
112
+ background-color: @theme-focus;
113
+ color: @themeColor;
114
+
115
+ &::after {
116
+ // content: ""; // 多选时下拉项选中的对勾
117
+ }
118
+ }
119
+ }
120
+ }
104
121
  }
105
122
 
106
123
  .ivu-cascader {