cnhis-design-vue 2.1.80 → 2.1.81

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 (115) hide show
  1. package/CHANGELOG.md +31 -4
  2. package/es/affix/index.js +8 -8
  3. package/es/age/index.js +10 -10
  4. package/es/alert/index.js +8 -8
  5. package/es/anchor/index.js +8 -8
  6. package/es/auto-complete/index.js +8 -8
  7. package/es/avatar/index.js +8 -8
  8. package/es/back-top/index.js +8 -8
  9. package/es/badge/index.js +8 -8
  10. package/es/base/index.js +8 -8
  11. package/es/big-table/index.js +68 -68
  12. package/es/breadcrumb/index.js +8 -8
  13. package/es/button/index.js +22 -22
  14. package/es/calendar/index.js +8 -8
  15. package/es/captcha/index.js +3 -3
  16. package/es/card/index.js +8 -8
  17. package/es/carousel/index.js +8 -8
  18. package/es/cascader/index.js +8 -8
  19. package/es/checkbox/index.js +9 -9
  20. package/es/col/index.js +8 -8
  21. package/es/collapse/index.js +8 -8
  22. package/es/color-picker/index.js +1 -1
  23. package/es/comment/index.js +8 -8
  24. package/es/config-provider/index.js +8 -8
  25. package/es/date-picker/index.js +8 -8
  26. package/es/descriptions/index.js +8 -8
  27. package/es/divider/index.js +8 -8
  28. package/es/drag-layout/index.js +3 -3
  29. package/es/drawer/index.js +8 -8
  30. package/es/dropdown/index.js +8 -8
  31. package/es/editor/index.js +1 -1
  32. package/es/ellipsis/index.js +1 -1
  33. package/es/empty/index.js +8 -8
  34. package/es/fabric-chart/index.js +9 -9
  35. package/es/form/index.js +8 -8
  36. package/es/form-model/index.js +8 -8
  37. package/es/form-table/index.js +66 -66
  38. package/es/index/index.js +1771 -610
  39. package/es/index/style.css +1 -1
  40. package/es/input/index.js +9 -9
  41. package/es/input-number/index.js +8 -8
  42. package/es/layout/index.js +8 -8
  43. package/es/list/index.js +8 -8
  44. package/es/locale-provider/index.js +8 -8
  45. package/es/map/index.js +9 -9
  46. package/es/mentions/index.js +8 -8
  47. package/es/menu/index.js +8 -8
  48. package/es/message/index.js +8 -8
  49. package/es/multi-chat/index.js +76 -76
  50. package/es/multi-chat-client/index.js +70 -70
  51. package/es/multi-chat-history/index.js +4 -4
  52. package/es/multi-chat-record/index.js +14 -14
  53. package/es/multi-chat-setting/index.js +22 -22
  54. package/es/multi-chat-sip/index.js +1 -1
  55. package/es/notification/index.js +8 -8
  56. package/es/page-header/index.js +8 -8
  57. package/es/pagination/index.js +8 -8
  58. package/es/popconfirm/index.js +8 -8
  59. package/es/popover/index.js +8 -8
  60. package/es/progress/index.js +8 -8
  61. package/es/radio/index.js +9 -9
  62. package/es/rate/index.js +8 -8
  63. package/es/result/index.js +8 -8
  64. package/es/row/index.js +8 -8
  65. package/es/scale-container/index.js +1 -1
  66. package/es/scale-view/index.js +27 -27
  67. package/es/select/index.js +12 -12
  68. package/es/select-label/index.js +11 -11
  69. package/es/select-person/index.js +2 -2
  70. package/es/select-tag/index.js +4248 -0
  71. package/es/select-tag/style.css +1 -0
  72. package/es/shortcut-setter/index.js +10 -10
  73. package/es/skeleton/index.js +8 -8
  74. package/es/slider/index.js +8 -8
  75. package/es/space/index.js +8 -8
  76. package/es/spin/index.js +8 -8
  77. package/es/statistic/index.js +8 -8
  78. package/es/steps/index.js +8 -8
  79. package/es/switch/index.js +8 -8
  80. package/es/table-filter/index.js +686 -228
  81. package/es/table-filter/style.css +1 -1
  82. package/es/tabs/index.js +8 -8
  83. package/es/tag/index.js +9 -9
  84. package/es/time-picker/index.js +8 -8
  85. package/es/timeline/index.js +8 -8
  86. package/es/tooltip/index.js +8 -8
  87. package/es/transfer/index.js +8 -8
  88. package/es/tree/index.js +8 -8
  89. package/es/tree-select/index.js +8 -8
  90. package/es/upload/index.js +8 -8
  91. package/es/verification-code/index.js +2 -2
  92. package/lib/cui.common.js +1827 -674
  93. package/lib/cui.umd.js +1827 -674
  94. package/lib/cui.umd.min.js +70 -70
  95. package/package.json +1 -1
  96. package/packages/index.js +3 -0
  97. package/packages/select-tag/index.js +14 -0
  98. package/packages/select-tag/label-classify.vue +133 -0
  99. package/packages/select-tag/labelFormContent.vue +295 -0
  100. package/packages/select-tag/select-label.vue +274 -0
  101. package/packages/table-filter/src/base-search-com/BaseSearch.vue +4 -0
  102. package/packages/table-filter/src/components/render-widget/components/DateRangeQuick.vue +7 -3
  103. package/packages/table-filter/src/components/render-widget/components/Label.vue +209 -0
  104. package/packages/table-filter/src/components/render-widget/components/NumberRange.vue +7 -5
  105. package/packages/table-filter/src/components/render-widget/components/SelectDynamic.vue +11 -35
  106. package/packages/table-filter/src/components/render-widget/components/SelectLabel.vue +80 -0
  107. package/packages/table-filter/src/components/render-widget/components/index.js +3 -1
  108. package/packages/table-filter/src/components/render-widget/enums.js +3 -1
  109. package/packages/table-filter/src/components/render-widget/index.vue +13 -6
  110. package/packages/table-filter/src/components/render-widget/mixins/dynamic-method.js +7 -1
  111. package/packages/table-filter/src/components/render-widget/mixins/label-method.js +23 -0
  112. package/packages/table-filter/src/components/render-widget/widgetCfgMaps.js +48 -5
  113. package/packages/table-filter/src/components/search-modal/set-classification.vue +5 -1
  114. package/packages/table-filter/src/mixins/renderWidget.js +1 -1
  115. package/packages/table-filter/src/quick-search/QuickSearch.vue +57 -12
@@ -0,0 +1,274 @@
1
+ <template>
2
+ <div class="label-page">
3
+ <div class="tag-label">
4
+ <a-tag
5
+ v-for="v in outSelectedList"
6
+ :key="`${v.classifyId}-${v.labelCode}`"
7
+ :closable="true"
8
+ @close="closeTag(v)"
9
+ :style="formatActiveStyle(v)"
10
+ >
11
+ {{ v.labelShowText }}
12
+ </a-tag>
13
+ <span v-if="!explicit" class="form-add-icon form-add-icon-label" @click="handleEditLabel">
14
+ <a-icon class="add-icon" type="plus-circle" />
15
+ 新增
16
+ </span>
17
+ </div>
18
+ <div v-if="explicit">
19
+ <labelFormContent
20
+ ref="labelFormContent"
21
+ :categoryList="categoryList"
22
+ :selectedList="outSelectedList"
23
+ :isChangeWindow="isChangeWindow"
24
+ :explicit="explicit"
25
+ :tagRequestMap="tagRequestMap"
26
+ @explicitOnChange="explicitOnChange"
27
+ ></labelFormContent>
28
+ </div>
29
+
30
+ <!-- 弹窗 -->
31
+ <a-modal
32
+ class="label-form-modal-wrap modal-wrap select-tag-standard-modal standard-modal-white"
33
+ v-model="labelVisible"
34
+ @ok="handleSaveLabel"
35
+ @cancel="handleLabelCancel"
36
+ :maskClosable="false"
37
+ :destroyOnClose="true"
38
+ :width="modalWidth"
39
+ :cancelText="'取消'"
40
+ :okText="'确定'"
41
+ :bodyStyle="{
42
+ height: modalHeight,
43
+ maxHeight,
44
+ position: 'relative'
45
+ }"
46
+ :class="{ 'modal-screen': isChangeWindow }"
47
+ :closable="false"
48
+ centered
49
+ wrapClassName="crm-form-label-modal"
50
+ >
51
+ <template slot="title">
52
+ <div>
53
+ 选择标签
54
+ </div>
55
+ <div class="svg-wrap">
56
+ <svg-icon
57
+ @click="changeModalWindow"
58
+ :icon-class="
59
+ isChangeWindow
60
+ ? 'xitongtubiaodaohangtubiaozuixiaohua'
61
+ : 'xitongtubiaodaohangtubiaozuidahua'
62
+ "
63
+ ></svg-icon>
64
+ <svg-icon
65
+ :icon-class="'xitongtubiaodaohangtubiaoguanbi'"
66
+ @click="handleLabelCancel"
67
+ ></svg-icon>
68
+ </div>
69
+ </template>
70
+ <labelFormContent
71
+ ref="labelFormContent"
72
+ :categoryList="categoryList"
73
+ :selectedList="outSelectedList"
74
+ :isChangeWindow="isChangeWindow"
75
+ :explicit="explicit"
76
+ :tagRequestMap="tagRequestMap"
77
+ @explicitOnChange="explicitOnChange"
78
+ ></labelFormContent>
79
+ </a-modal>
80
+ </div>
81
+ </template>
82
+
83
+ <script>
84
+ import { Tooltip, Icon, Button, Input, Tag, Modal } from 'ant-design-vue';
85
+ import labelFormContent from './labelFormContent';
86
+ import SvgIcon from '@/component/svg/index.vue';
87
+ import utils from '@/utils/utils-map';
88
+ import create from '@/core/create';
89
+ /**
90
+ * @onChange="xxx" 获取保存的值
91
+ */
92
+ export default create({
93
+ name: 'select-tag',
94
+ components: {
95
+ labelFormContent,
96
+ SvgIcon,
97
+ [Input.name]: Input,
98
+ [Icon.name]: Icon,
99
+ [Tooltip.name]: Tooltip,
100
+ [Button.name]: Button,
101
+ AModal: Modal,
102
+ [Tag.name]: Tag,
103
+ [Tag.CheckableTag.name]: Tag.CheckableTag
104
+ },
105
+ data() {
106
+ return {
107
+ labelVisible: false,
108
+ isChangeWindow: false,
109
+ modalWidth: '763px',
110
+ modalHeight: '404px',
111
+ maxHeight: '404px',
112
+
113
+ outSelectedList: [],
114
+ };
115
+ },
116
+ props: {
117
+ // 选中的标签
118
+ selectedList: {
119
+ type: Array,
120
+ default: () => []
121
+ },
122
+ // 标签列表
123
+ categoryList: {
124
+ type: Array,
125
+ default: () => []
126
+ },
127
+ // 标签是否外显
128
+ explicit:{
129
+ type: Boolean,
130
+ default: false
131
+ },
132
+ // 接口请求状态
133
+ tagRequestMap: {
134
+ type: Object,
135
+ default: () => ({
136
+ status: true,
137
+ resultMsg: ''
138
+ })
139
+ }
140
+ },
141
+
142
+ watch: {
143
+ selectedList: {
144
+ immediate: true,
145
+ deep: true,
146
+ handler(val) {
147
+ if (val) {
148
+ let list = Array.isArray(val) ? val : [];
149
+ this.outSelectedList = JSON.parse(JSON.stringify(list));
150
+ }
151
+ }
152
+ }
153
+ },
154
+ methods: {
155
+ formatActiveStyle(activeItem) {
156
+ return {
157
+ background: activeItem.backgroundColor,
158
+ color: '#fff',
159
+ borderColor: activeItem.backgroundColor
160
+ }
161
+ },
162
+ closeTag(selectItem) {
163
+ const selectedList = this.outSelectedList || [];
164
+ const fdIndex = selectedList.findIndex(sItem => sItem.classifyId == selectItem.classifyId && sItem.labelCode == selectItem.labelCode);
165
+ if (fdIndex > -1) {
166
+ selectedList.splice(fdIndex, 1);
167
+ }
168
+ this.outSelectedList = selectedList;
169
+ this.$emit('onChange', [...selectedList]);
170
+ },
171
+ handleEditLabel(type) {
172
+ if(!this.explicit) {
173
+ this.labelVisible = true;
174
+ }
175
+ },
176
+ handleLabelCancel() {
177
+ if(this.explicit) return;
178
+ this.modalWidth = '763px';
179
+ this.modalHeight = '404px';
180
+ this.maxHeight = '404px';
181
+ this.isChangeWindow = false;
182
+ this.labelVisible = false;
183
+ },
184
+ changeModalWindow() {
185
+ this.isChangeWindow = !this.isChangeWindow;
186
+ let docHeight = document.body.clientHeight;
187
+ this.modalWidth = this.modalWidth === '763px' ? `100%` : '763px';
188
+ this.modalHeight = this.modalHeight === '404px' ? `${docHeight - 110}px` : '404px';
189
+ this.maxHeight = this.modalHeight === 'auto' ? '404px' : 'none';
190
+ },
191
+ handleSaveLabel() {
192
+ this.$refs.labelFormContent?.handleLabelForm(selectList => {
193
+ this.$emit('onChange', [...selectList]);
194
+ this.outSelectedList = selectList;
195
+ this.handleLabelCancel();
196
+ });
197
+ },
198
+ // 标签外显发生变化
199
+ explicitOnChange(){
200
+ this.handleSaveLabel();
201
+ }
202
+ }
203
+ });
204
+ </script>
205
+ <style lang="less" scoped>
206
+ .tag-label {
207
+ /deep/ .ant-tag {
208
+ margin-bottom: 4px;
209
+ border: 1px solid #f1f1f1;
210
+ .anticon-close {
211
+ color: #fff;
212
+ }
213
+ }
214
+ .form-add-icon-label {
215
+ color: #2d7aff;
216
+ cursor: pointer;
217
+ }
218
+ }
219
+
220
+
221
+ </style>
222
+ <style lang="less">
223
+ // 弹框规范
224
+ .select-tag-standard-modal {
225
+ box-shadow: 0px 5px 13px 0px rgba(0, 0, 0, 0.14);
226
+ border-radius: 8px;
227
+ padding-bottom: 0px;
228
+ .ant-modal-content {
229
+ border-radius: 8px;
230
+ }
231
+ .ant-modal-header {
232
+ padding: 14px 16px;
233
+ height: 52px;
234
+ border-radius: 8px 8px 0 0;
235
+
236
+ .ant-modal-title {
237
+ display: flex;
238
+ justify-content: space-between;
239
+ align-items: center;
240
+ color: #000000;
241
+ font-size: 16px;
242
+ .svg-wrap {
243
+ right: 16px;
244
+ svg {
245
+ font-size: 14px;
246
+ cursor: pointer;
247
+ }
248
+ svg + svg {
249
+ margin-left: 16px;
250
+ }
251
+ }
252
+ }
253
+ }
254
+ .ant-modal-footer {
255
+ box-sizing: border-box;
256
+ height: 52px;
257
+ border-radius: 0 0 8px 8px;
258
+ .ant-btn {
259
+ padding: 0 12px;
260
+ }
261
+ }
262
+ .ant-modal-close-x {
263
+ height: 54px;
264
+ }
265
+ .change-screen-svg {
266
+ top: -1px;
267
+ }
268
+ &.has-mask {
269
+ .ant-modal-close-icon {
270
+ color: #666;
271
+ }
272
+ }
273
+ }
274
+ </style>
@@ -1765,6 +1765,10 @@ export default create({
1765
1765
  inputDom.blur();
1766
1766
  },
1767
1767
  handleRequestedLabel(v) {
1768
+ let requestedLabel = this.filterApiConfig?.requestedLabel
1769
+ if(requestedLabel && typeof requestedLabel === 'function') {
1770
+ return this.handleGetConfigApi(v, 'requestedLabel')
1771
+ }
1768
1772
  let params = { type: v, pageSize: 10000 };
1769
1773
  return this.axios.get('/label/list', { params: params });
1770
1774
  },
@@ -11,7 +11,7 @@
11
11
  {{ getI18nText(date.title, date.name) }}
12
12
  </a-radio-button>
13
13
  <span :class="['check-date-btn', marginx]" @click="checkDate">
14
- {{ getI18nText('1.1.4.52', '选择时间') }}
14
+ {{ checkText }}
15
15
  </span>
16
16
  <div class="check-date" v-show="showDate">
17
17
  <a-date-picker
@@ -19,7 +19,7 @@
19
19
  :format="format"
20
20
  :show-time="showTimeStart"
21
21
  :placeholder="placeholderS"
22
- style="width: 120px"
22
+ style="width: 200px;min-width: 195px;"
23
23
  allowClear
24
24
  :disabledDate="current => disabledDatePicker(current, 'start')"
25
25
  @change="dateChangeStr"
@@ -30,7 +30,7 @@
30
30
  :format="format"
31
31
  :show-time="showTimeEnd"
32
32
  :placeholder="placeholderE"
33
- style="width: 120px"
33
+ style="width: 200px;min-width: 195px;"
34
34
  allowClear
35
35
  :disabledDate="current => disabledDatePicker(current, 'end')"
36
36
  @change="dateChangeEnd"
@@ -76,6 +76,10 @@ export default {
76
76
  event: "update:value"
77
77
  },
78
78
  computed: {
79
+ checkText() {
80
+ if(this.fieldType === 'DATE') return '选择日期'
81
+ return '选择时间'
82
+ },
79
83
  showTimeStart(){
80
84
  if(this.fieldType === 'DATE') return false;
81
85
  return { defaultValue: moment('00:00:00', 'HH:mm:ss') }
@@ -0,0 +1,209 @@
1
+ <template>
2
+ <div class="label-attr-filter-container">
3
+ <div class="edit-labels-content"
4
+ v-for="categoryItem in categoryList"
5
+ :key="categoryItem.classifyId"
6
+ >
7
+ <span class="edit-f-label">{{ categoryItem.classifyName }}:</span>
8
+ <div
9
+ class="edit-f-content"
10
+ :class="{
11
+ 'label-select-height': !categoryItem.isUnfold && categoryItem.labelList && categoryItem.isShowBtn
12
+ }"
13
+ >
14
+ <div class="label-f-content" v-resize="el => onResize(el, categoryItem)">
15
+ <a-checkable-tag
16
+ v-for="item in categoryItem.labelList"
17
+ :key="item.labelCode"
18
+ v-model="item.isSelect"
19
+ @change="handleLabelChange($event, item, categoryItem)"
20
+ :style="formatStyle(item)"
21
+ >
22
+ <a-tooltip placement="topLeft" :mouseEnterDelay="0.5" :mouseLeaveDelay="0">
23
+ <template slot="title">
24
+ <span>{{ item.labelShowText }}</span>
25
+ </template>
26
+ {{ item.labelShowText }}
27
+ </a-tooltip>
28
+ </a-checkable-tag>
29
+ </div>
30
+ </div>
31
+ <div class="label-f-unfold-btn" v-if="categoryItem.labelList && categoryItem.isShowBtn">
32
+ <span @click.stop="handleLabelUpfold(categoryItem)">
33
+ <template v-if="categoryItem.isUnfold">
34
+ <span>收起</span>
35
+ <a-icon
36
+ type="up-square"
37
+ />
38
+ </template>
39
+ <template v-else>
40
+ <span>展开</span>
41
+ <a-icon
42
+ type="down-square"
43
+ />
44
+ </template>
45
+ </span>
46
+ </div>
47
+ </div>
48
+ </div>
49
+ </template>
50
+
51
+ <script>
52
+ import { Tag, Icon, Tooltip } from 'ant-design-vue';
53
+ import resize from 'vue-resize-directive';
54
+
55
+ const baseActiveColor = 'rgb(85, 133, 245)';
56
+ export default {
57
+ inheritAttrs: false,
58
+ components: {
59
+ [Icon.name]: Icon,
60
+ [Tag.name]: Tag,
61
+ [Tag.CheckableTag.name]: Tag.CheckableTag,
62
+ [Tooltip.name]: Tooltip,
63
+ },
64
+ directives: { resize },
65
+ props: {
66
+ componentCfg: { type: Object },
67
+ value: {
68
+ type: [Array, String, Number],
69
+ },
70
+ getLabelListMethodRender: Function,
71
+ },
72
+ model: {
73
+ prop: "value",
74
+ event: "update:value"
75
+ },
76
+ data() {
77
+ return {
78
+ // 选中项
79
+ selectedList: [],
80
+ }
81
+ },
82
+ computed: {
83
+ categoryList() {
84
+ const {
85
+ tagList = []
86
+ } = this.componentCfg;
87
+ if (tagList && tagList.length > 0) {
88
+ return tagList.map(category => {
89
+ category.labelList.map(label => {
90
+ const valueList = this.value ? this.value.split('|#|') : [];
91
+ this.selectedList = valueList;
92
+ // 初始化isSelect的状态
93
+ if (valueList.length > 0) {
94
+ label.isSelect = valueList.includes(label.labelShowText);
95
+ }
96
+ })
97
+ return category
98
+ })
99
+ }
100
+ return []
101
+ }
102
+ },
103
+ created() {
104
+ this.getLabelListMethodRender(this.componentCfg)
105
+ },
106
+ methods: {
107
+ onResize(el, categoryItem) {
108
+ this.$nextTick(() => {
109
+ let height = el.offsetHeight || 0;
110
+ if (!height) {
111
+ return;
112
+ }
113
+ if (height > 80) {
114
+ this.$set(categoryItem, 'isShowBtn', true);
115
+ } else {
116
+ this.$set(categoryItem, 'isShowBtn', false);
117
+ this.$set(categoryItem, 'isUnfold', false);
118
+ }
119
+ })
120
+ },
121
+ handleLabelUpfold(categoryItem) {
122
+ this.$set(categoryItem, 'isUnfold', !categoryItem.isUnfold);
123
+ },
124
+ formatStyle(item) {
125
+ return item.isSelect ? {
126
+ background: item.backgroundColor || baseActiveColor,
127
+ borderColor: item.backgroundColor || baseActiveColor
128
+ } : {}
129
+ },
130
+ handleLabelChange(isSelect, item) {
131
+ item.isSelect = isSelect;
132
+ if (isSelect) {
133
+ this.selectedList.push(item.labelShowText)
134
+ } else {
135
+ const index = this.selectedList.findIndex(labelText => labelText === item.labelShowText);
136
+ if (index > -1) {
137
+ this.selectedList.splice(index, 1);
138
+ }
139
+ }
140
+ // 将数据向外抛出
141
+ this.$emit("update:value", this.selectedList.join('|#|'));
142
+ }
143
+ }
144
+ }
145
+ </script>
146
+
147
+ <style lang='less' scoped>
148
+ .label-attr-filter-container {
149
+ .edit-labels-content{
150
+ .edit-f-label {
151
+ color: #000;
152
+ font-size: 14px;
153
+ line-height: 32px;
154
+ padding-left: 0;
155
+ }
156
+ .edit-f-content{
157
+ padding: 0 !important;
158
+ &.label-select-height{
159
+ overflow: hidden;
160
+ height: 74px;
161
+ flex: none !important;
162
+ }
163
+ .label-f-content{
164
+ display: flex;
165
+ flex-wrap: wrap;
166
+ line-height: 34px;
167
+ .ant-tag-checkable{
168
+ cursor: pointer;
169
+ position: relative;
170
+ height: 32px;
171
+ line-height: 32px;
172
+ text-align: center;
173
+ min-width: 108px;
174
+ max-width: 108px;
175
+ color: rgba(33, 33, 33, 0.6);
176
+ background: rgb(250, 250, 250);
177
+ border-color: rgba(213, 213, 213, 0.8);
178
+ font-size: 14px;
179
+ border-radius: 4px;
180
+ margin-bottom: 8px;
181
+ box-sizing: border-box;
182
+ span {
183
+ display: inline-block;
184
+ width: 80px;
185
+ height: 100%;
186
+ line-height: 30px;
187
+ overflow: hidden;
188
+ text-overflow: ellipsis;
189
+ white-space: nowrap;
190
+ }
191
+ }
192
+ .ant-tag-checkable-checked {
193
+ color: #fff !important;
194
+ }
195
+ }
196
+ }
197
+ .label-f-unfold-btn{
198
+ margin: 8px 0;
199
+ color: rgba(0, 0, 0, 0.6);
200
+ cursor: pointer;
201
+ .anticon{
202
+ font-size: 16px;
203
+ margin-left: 8px;
204
+ }
205
+ }
206
+ }
207
+ }
208
+
209
+ </style>
@@ -6,16 +6,16 @@
6
6
  >
7
7
  <input
8
8
  v-model="lessValue"
9
- :title="`起始${componentCfg.title}`"
10
- :placeholder="`起始${componentCfg.title}`"
9
+ :title="placeholderS"
10
+ :placeholder="placeholderS"
11
11
  @keyup.enter="changeFilterNumber"
12
12
  @change="changeFilterNumber"
13
13
  class="ant-calendar-range-picker-input"/>
14
14
  <span class="ant-calendar-range-picker-separator"> ~ &nbsp;</span>
15
15
  <input
16
16
  v-model="bigValue"
17
- :title="`截止${componentCfg.title}`"
18
- :placeholder="`截止${componentCfg.title}`"
17
+ :title="placeholderE"
18
+ :placeholder="placeholderE"
19
19
  @keyup.enter="changeFilterNumber"
20
20
  @change="changeFilterNumber"
21
21
  class="ant-calendar-range-picker-input"/>
@@ -59,7 +59,9 @@ export default {
59
59
  },
60
60
  componentCfg: {
61
61
  type: Object
62
- }
62
+ },
63
+ placeholderS: String,
64
+ placeholderE: String,
63
65
  },
64
66
  watch: {
65
67
  value: {
@@ -5,11 +5,12 @@
5
5
  showSearch
6
6
  :mode="mode"
7
7
  :placeholder="placeholder"
8
- :dropdownMatchSelectWidth="true"
8
+ :dropdownMatchSelectWidth="!selectHasTitle"
9
9
  :maxTagCount="maxTagCount"
10
10
  :maxTagPlaceholder="maxTagPlaceholder"
11
11
  :filterOption="false"
12
12
  :allowClear="true"
13
+ :showArrow="true"
13
14
  ref="quickInputSelect"
14
15
  class="quick-dynamic-select"
15
16
  :notFoundContent="componentCfg.fetchingWordbook ? undefined : '暂无数据'"
@@ -163,30 +164,10 @@ export default {
163
164
  },
164
165
  // 生命周期
165
166
  created() {},
166
- mounted() {
167
- this.createSuffixIcon()
168
- },
167
+ mounted() {},
169
168
 
170
169
  // 方法
171
170
  methods: {
172
- createSuffixIcon() {
173
- if (this.mode === "default") return;
174
- let refDom = this.$refs.quickInputSelect;
175
- if (!refDom) return;
176
- let selectDom = refDom.$el;
177
- if (!selectDom) return;
178
-
179
- let pDom = selectDom.querySelector(".ant-select-selection--multiple");
180
- if(!pDom) return;
181
- let hasTag = pDom.querySelector(".quick-dynamic-select-span");
182
- if (!hasTag) {
183
- let tag = document.createElement("span");
184
- tag.className = "quick-dynamic-select-span";
185
- let icon = `<i aria-label="图标: down" class="anticon anticon-down ant-select-arrow-icon"><svg viewBox="64 64 896 896" data-icon="down" width="1em" height="1em" fill="currentColor" aria-hidden="true" focusable="false" class=""><path d="M884 256h-75c-5.1 0-9.9 2.5-12.9 6.6L512 654.2 227.9 262.6c-3-4.1-7.8-6.6-12.9-6.6h-75c-6.5 0-10.3 7.4-6.5 12.7l352.6 486.1c12.8 17.6 39 17.6 51.7 0l352.6-486.1c3.9-5.3.1-12.7-6.4-12.7z"></path></svg></i>`;
186
- tag.innerHTML = icon;
187
- pDom.appendChild(tag);
188
- }
189
- },
190
171
  maxTagPlaceholder() {
191
172
  if (!Array.isArray(this.value)) return undefined;
192
173
  const { alias, title } = this.componentCfg;
@@ -220,28 +201,22 @@ export default {
220
201
  height: 32px;
221
202
  &.quick-dynamic-select-mul {
222
203
  .ant-select-selection--multiple {
223
- max-height: unset !important;
204
+ max-height: 100% !important;
224
205
  }
225
206
  }
226
207
  .ant-select-selection--multiple {
227
208
  position: relative;
228
209
  max-height: 32px !important;
229
- .quick-dynamic-select-span {
230
- position: absolute;
231
- right: 2px;
232
- top: 4px;
233
- top: 50%;
234
- right: 11px;
235
- transform-origin: 50% 50%;
236
- margin-top: -7px;
237
- line-height: 1;
238
- font-size: 12px;
239
- color: rgba(0, 0, 0, 0.25);
240
- }
241
210
  }
242
211
 
243
212
  }
244
213
 
214
+ .ant-select-dropdown--multiple {
215
+ .quick-dynamic-dropDown-container .quick-dynamic-select-title {
216
+ padding-right: 32px;
217
+ }
218
+ }
219
+
245
220
  .c-s-title-line {
246
221
  font-weight: 700;
247
222
  color: #000;
@@ -274,6 +249,7 @@ export default {
274
249
  }
275
250
  &.quick-dynamic-dropDown-container-hasTitle {
276
251
  padding-top: 32px;
252
+ width: 240px;
277
253
  }
278
254
  .quick-dynamic-select-title {
279
255
  position: absolute;