cnhis-design-vue 0.2.18-beta → 0.2.22-beta

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 (127) hide show
  1. package/es/affix/index.js +8 -8
  2. package/es/age/index.js +10 -10
  3. package/es/alert/index.js +8 -8
  4. package/es/anchor/index.js +8 -8
  5. package/es/auto-complete/index.js +8 -8
  6. package/es/avatar/index.js +8 -8
  7. package/es/back-top/index.js +8 -8
  8. package/es/badge/index.js +8 -8
  9. package/es/base/index.js +8 -8
  10. package/es/big-table/index.js +446 -222
  11. package/es/big-table/style.css +1 -1
  12. package/es/breadcrumb/index.js +8 -8
  13. package/es/button/index.js +102 -65
  14. package/es/button/style.css +1 -1
  15. package/es/calendar/index.js +8 -8
  16. package/es/captcha/index.js +3 -3
  17. package/es/card/index.js +8 -8
  18. package/es/carousel/index.js +8 -8
  19. package/es/cascader/index.js +8 -8
  20. package/es/checkbox/index.js +9 -9
  21. package/es/col/index.js +8 -8
  22. package/es/collapse/index.js +8 -8
  23. package/es/color-picker/index.js +1 -1
  24. package/es/comment/index.js +8 -8
  25. package/es/config-provider/index.js +8 -8
  26. package/es/date-picker/index.js +8 -8
  27. package/es/descriptions/index.js +8 -8
  28. package/es/divider/index.js +8 -8
  29. package/es/drag-layout/index.js +3 -3
  30. package/es/drawer/index.js +8 -8
  31. package/es/dropdown/index.js +8 -8
  32. package/es/editor/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/index/index.js +2091 -1147
  38. package/es/index/style.css +1 -1
  39. package/es/input/index.js +9 -9
  40. package/es/input-number/index.js +8 -8
  41. package/es/layout/index.js +8 -8
  42. package/es/list/index.js +8 -8
  43. package/es/locale-provider/index.js +8 -8
  44. package/es/map/index.js +9 -9
  45. package/es/mentions/index.js +8 -8
  46. package/es/menu/index.js +8 -8
  47. package/es/message/index.js +8 -8
  48. package/es/multi-chat/index.js +650 -247
  49. package/es/multi-chat/style.css +1 -1
  50. package/es/multi-chat-client/index.js +564 -189
  51. package/es/multi-chat-client/style.css +1 -1
  52. package/es/multi-chat-history/index.js +4 -4
  53. package/es/multi-chat-record/index.js +14 -14
  54. package/es/multi-chat-setting/index.js +330 -79
  55. package/es/multi-chat-setting/style.css +1 -1
  56. package/es/multi-chat-sip/index.js +1 -1
  57. package/es/notification/index.js +8 -8
  58. package/es/page-header/index.js +8 -8
  59. package/es/pagination/index.js +8 -8
  60. package/es/popconfirm/index.js +8 -8
  61. package/es/popover/index.js +8 -8
  62. package/es/progress/index.js +8 -8
  63. package/es/radio/index.js +9 -9
  64. package/es/rate/index.js +8 -8
  65. package/es/result/index.js +8 -8
  66. package/es/row/index.js +8 -8
  67. package/es/scale-view/index.js +640 -339
  68. package/es/scale-view/style.css +1 -1
  69. package/es/select/index.js +11 -11
  70. package/es/select-label/index.js +661 -277
  71. package/es/select-label/style.css +1 -1
  72. package/es/select-person/index.js +2 -2
  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 +266 -144
  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/utils/UniRTCv2.js +586 -0
  92. package/es/verification-code/index.js +2 -2
  93. package/lib/cui.common.js +3071 -1561
  94. package/lib/cui.umd.js +3071 -1561
  95. package/lib/cui.umd.min.js +69 -69
  96. package/package.json +3 -3
  97. package/packages/big-table/src/BigTable.vue +72 -16
  98. package/packages/big-table/src/assets/style/table-base.less +10 -0
  99. package/packages/big-table/src/components/TextOverTooltip.vue +24 -11
  100. package/packages/big-table/src/utils/batchEditing.js +1 -1
  101. package/packages/big-table/src/utils/bigTableProps.js +2 -1
  102. package/packages/button/src/ButtonPrint/index.vue +49 -14
  103. package/packages/multi-chat/chat/audio.vue +22 -0
  104. package/packages/multi-chat/chat/calling.vue +6 -0
  105. package/packages/multi-chat/chat/chatFooter.vue +43 -3
  106. package/packages/multi-chat/chat/client/clientChat.vue +13 -1
  107. package/packages/multi-chat/chat/index.vue +17 -4
  108. package/packages/multi-chat/chat/mixins/uniRTCAPI.js +77 -0
  109. package/packages/multi-chat/chat/multiVideo.vue +14 -0
  110. package/packages/multi-chat/chat/scrollList.vue +7 -1
  111. package/packages/multi-chat/chat/video.vue +4 -0
  112. package/packages/multi-chat/components/user-status.vue +50 -45
  113. package/packages/multi-chat/setting/baseInfo/index.vue +3 -3
  114. package/packages/multi-chat/setting/configuration/index.vue +38 -1
  115. package/packages/multi-chat/store/actions.js +76 -0
  116. package/packages/multi-chat/store/getters.js +9 -0
  117. package/packages/multi-chat/store/mutation.js +9 -0
  118. package/packages/multi-chat/store/state.js +4 -1
  119. package/packages/scale-view/answerParse.vue +27 -14
  120. package/packages/scale-view/scaleView.vue +18 -8
  121. package/packages/select-label/label-classify.vue +129 -0
  122. package/packages/select-label/labelFormContent.vue +263 -130
  123. package/packages/select-label/select-label.vue +111 -18
  124. package/packages/table-filter/src/base-search-com/BaseSearch.vue +80 -8
  125. package/packages/table-filter/src/mixins/mixins.js +10 -2
  126. package/packages/table-filter/src/quick-search/QuickSearch.vue +47 -25
  127. package/src/utils/UniRTCv2.js +561 -0
@@ -4,17 +4,36 @@
4
4
  <a-tag v-for="v in labelSelectedList" :key="v.labelId" :style="handleLabelColor(v, true)" :closable="item_is_edit" @close="closeTag(v)">
5
5
  {{ v.labelName }}
6
6
  </a-tag>
7
- <span class="form-add-icon form-add-icon-label" @click="handleEditLabel" :class="{ disable: isLock }" v-show="item_is_edit">
7
+ <span v-if="!explicit" class="form-add-icon form-add-icon-label" @click="handleEditLabel" :class="{ disable: isLock }" v-show="item_is_edit">
8
8
  <a-icon class="add-icon" type="plus-circle" />
9
9
  新增
10
10
  </span>
11
11
  </div>
12
- <div class="common-label" v-if="sourceType == 'form' && commonLabelList.length && item_is_edit">
12
+ <div class="common-label" v-if="sourceType == 'form' && commonLabelList.length && item_is_edit && !explicit">
13
13
  <span>常用</span>
14
14
  <a-checkable-tag v-for="(item, i) in commonLabelList" v-model="item.isSelect" @change="handleCommonLabelChange($event, item)" :key="i" :style="handleLabelColor(item)">
15
15
  {{ item.labelName }}
16
16
  </a-checkable-tag>
17
17
  </div>
18
+ <div v-if="explicit">
19
+ <labelFormContent
20
+ :explicit="explicit"
21
+ v-bind="$attrs"
22
+ ref="labelFormContent"
23
+ :labelVisible="labelVisible"
24
+ :item="item"
25
+ :isEdit="isEdit"
26
+ :isLock="isLock"
27
+ :labelSelectedList="labelSelectedList"
28
+ :isChangeWindow="isChangeWindow"
29
+ :labelOptions="editLabelItem.labelObj"
30
+ :sourceType="sourceType"
31
+ @updateLabelData="updateLabelData"
32
+ @explicitOnChange="explicitOnChange"
33
+ ></labelFormContent>
34
+ </div>
35
+
36
+ <!-- 弹窗 -->
18
37
  <a-modal
19
38
  class="label-form-modal-wrap modal-wrap standard-modal standard-modal-white"
20
39
  v-model="labelVisible"
@@ -58,6 +77,7 @@
58
77
  </div>
59
78
  </template>
60
79
  <labelFormContent
80
+ :explicit="explicit"
61
81
  v-bind="$attrs"
62
82
  ref="labelFormContent"
63
83
  :labelVisible="labelVisible"
@@ -105,7 +125,8 @@ export default create({
105
125
  modalWidth: '763px',
106
126
  modalHeight: '404px',
107
127
  maxHeight: '404px',
108
- commonLabelList: []
128
+ commonLabelList: [],
129
+ multipleChoiceConfig: {}
109
130
  };
110
131
  },
111
132
  props: {
@@ -139,6 +160,16 @@ export default create({
139
160
  type: Function,
140
161
  default: () => Promise.resolve({ rows: [] })
141
162
  },
163
+
164
+ explicit:{ // 标签选择外显
165
+ type: Boolean,
166
+ default: false
167
+ },
168
+
169
+ explicitHeiht:{
170
+ type: String,
171
+ default: ""
172
+ }
142
173
  },
143
174
  computed: {
144
175
  item_is_edit() {
@@ -146,6 +177,16 @@ export default create({
146
177
  return (item.is_edit == 1 || item.isShow) && !this.isDetail;
147
178
  }
148
179
  },
180
+ mounted() {
181
+ // 外显初始化
182
+ if(this.explicit){
183
+ this.handleEditLabel();
184
+ } else {
185
+ // 获取标签分类
186
+ this.handleGetMultipleChoiceConfig(this.item);
187
+ }
188
+
189
+ },
149
190
  watch: {
150
191
  selectedList: {
151
192
  immediate: true,
@@ -189,13 +230,19 @@ export default create({
189
230
  selectedList.splice(fdIndex, 1);
190
231
  }
191
232
  this.handleEmit(selectedList);
233
+ this.hanldeSetLabelItem(d.labelId, false);
192
234
  },
193
235
  handleCommonLabelChange(v, d) {
194
- const selectedList = this.labelSelectedList || [];
236
+ let multipleChoiceConfig = this.multipleChoiceConfig;
237
+ let selectedList = this.labelSelectedList || [];
195
238
  if (v) {
196
239
  if (selectedList.some(n => n.labelId == d.labelId)) {
197
240
  return;
198
241
  }
242
+ // 不允许多选的类型,先删除,再新增
243
+ if('2' == multipleChoiceConfig[d.typeId]){
244
+ selectedList = selectedList.filter(item => item.typeId !== d.typeId);
245
+ }
199
246
  selectedList.push(d);
200
247
  } else {
201
248
  const fdIndex = selectedList.findIndex(n => n.labelId == d.labelId);
@@ -215,12 +262,16 @@ export default create({
215
262
  }
216
263
  });
217
264
  },
218
- handleEditLabel() {
265
+ handleEditLabel(type) {
219
266
  if (this.isLock) return;
220
- this.labelVisible = true;
267
+ if(!this.explicit && type !== 'init') {
268
+ this.labelVisible = true;
269
+ }
221
270
  this.handleGetLabelData(this.item)
222
271
  },
223
272
  handleLabelCancel() {
273
+ if(this.explicit) return;
274
+
224
275
  this.$refs.labelFormContent?.resetShowAdd();
225
276
  this.editLabelItem.showAdd = false;
226
277
  this.editLabelItem = {};
@@ -258,7 +309,7 @@ export default create({
258
309
 
259
310
  async handleGetLabelData(v, update) {
260
311
  const { rows, results } = await this.getLabelList(v);
261
- console.log(rows, results)
312
+ // console.log(rows, results)
262
313
  const labelList = rows || [];
263
314
  const labelObj = {};
264
315
  const cacheKey = `${v.val_key}_${v.name}`;
@@ -271,6 +322,7 @@ export default create({
271
322
  * typeName 按照分类处理
272
323
  * 没有分类创建分类,有则添加
273
324
  */
325
+ this.$set(n,'isSelect',false)
274
326
  if (labelObj[n.typeName]) {
275
327
  labelObj[n.typeName].itemList.push({ ...n });
276
328
  } else {
@@ -299,48 +351,60 @@ export default create({
299
351
  setLabelTypeStatus(results) {
300
352
  if (!results) return false;
301
353
  let keys = Object.keys(results);
302
-
354
+ let multipleChoiceConfig ={};
303
355
  let choiceTypes = (results.typeList || []).reduce((obj, item) => {
304
- obj[item.typeName] = item.multipleChoice;
356
+ multipleChoiceConfig[item.typeId] = item.multipleChoice
357
+
358
+ obj[item.typeName] = {
359
+ multipleChoice:item.multipleChoice,
360
+ parentColor: item.parentColor,
361
+ allowCreateByPersonal:item.allowCreateByPersonal
362
+ }
305
363
  return obj;
306
364
  }, {});
365
+
366
+ if(this.explicit){
367
+ this.multipleChoiceConfig = multipleChoiceConfig;
368
+ }
307
369
  keys.forEach(key => {
308
370
  if (key === 'typeList') return;
309
371
  // 空,允许
310
372
  if (key === 'emptyTypes') {
311
373
  results[key].forEach(item => {
312
- this.$set(this.editLabelItem.labelObj, item.typeName, {
313
- multipleChoice: choiceTypes[item.typeName],
374
+ this.$set(this.editLabelItem.labelObj, item.typeName, Object.assign({
314
375
  addVal: '',
315
376
  showAdd: false,
316
377
  itemList: [],
317
378
  typeId: item.typeId,
318
379
  typeName: item.typeName
319
- });
380
+ },choiceTypes[item.typeName] || {}));
320
381
  });
321
382
  return;
322
383
  }
323
384
  if (utils.isPlainObject(results[key])) {
324
385
  // 空,不允许
325
386
  if (!this.editLabelItem.labelObj[key]) {
326
- this.$set(this.editLabelItem.labelObj, key, {
327
- multipleChoice: choiceTypes[key],
387
+ this.$set(this.editLabelItem.labelObj, key, Object.assign({
328
388
  addVal: '',
329
389
  showAdd: false,
330
390
  itemList: false,
331
391
  typeId: '',
332
392
  typeName: key
333
- });
393
+ },{...(choiceTypes[key] || {})}));
334
394
  } else {
335
395
  // 非空,不允许
336
396
  this.$set(this.editLabelItem.labelObj[key], 'isNoAdd', true);
337
- this.$set(this.editLabelItem.labelObj[key], 'multipleChoice', choiceTypes[key]);
397
+ this.$set(this.editLabelItem.labelObj[key], 'multipleChoice', choiceTypes[key]?.multipleChoice);
398
+ this.$set(this.editLabelItem.labelObj[key], 'allowCreateByPersonal', choiceTypes[key]?.allowCreateByPersonal);
399
+ this.$set(this.editLabelItem.labelObj[key], 'parentColor', choiceTypes[key]?.parentColor);
338
400
  }
339
401
  } else {
340
- this.$set(this.editLabelItem.labelObj[key], 'multipleChoice', choiceTypes[key]);
402
+ this.$set(this.editLabelItem.labelObj[key], 'multipleChoice', choiceTypes[key]?.multipleChoice);
403
+ this.$set(this.editLabelItem.labelObj[key], 'allowCreateByPersonal', choiceTypes[key]?.allowCreateByPersonal);
404
+ this.$set(this.editLabelItem.labelObj[key], 'parentColor', choiceTypes[key]?.parentColor);
341
405
  }
342
406
  });
343
- },
407
+ },
344
408
 
345
409
  updateLabelData(){
346
410
  this.handleGetLabelData(this.item, true)
@@ -360,6 +424,31 @@ export default create({
360
424
  this.getCommonlabelsList(this.item.label_type);
361
425
  });
362
426
  }
427
+ },
428
+
429
+ // 标签外显发生变化
430
+ explicitOnChange(){
431
+ this.handleSaveLabel();
432
+ },
433
+
434
+ hanldeSetLabelItem(id, state){
435
+ if(this.explicit){
436
+ this.$nextTick(()=>{
437
+ this.$refs.labelFormContent?.hanldeSetLabelItem(id, state);
438
+ })
439
+ }
440
+ },
441
+
442
+ async handleGetMultipleChoiceConfig(v){
443
+ const { rows, results } = await this.getLabelList(v);
444
+ if (!results) return false;
445
+ let multipleChoiceConfig = (results.typeList || []).reduce((obj, item) => {
446
+ obj[item.typeId] = item.multipleChoice
447
+ return obj;
448
+ }, {});
449
+
450
+ this.multipleChoiceConfig = multipleChoiceConfig;
451
+ this.$set(this,'multipleChoiceConfig',multipleChoiceConfig);
363
452
  }
364
453
  }
365
454
  });
@@ -391,6 +480,10 @@ export default create({
391
480
  .tag-label {
392
481
  /deep/ .ant-tag {
393
482
  margin-bottom: 4px;
483
+ border: 1px solid #f1f1f1;
484
+ .anticon-close {
485
+ color: #fff;
486
+ }
394
487
  }
395
488
  }
396
489
  .common-label {
@@ -44,25 +44,42 @@
44
44
  <li v-if="isShowSetting('hideSearch') && !showRelatedTreeBtn" ref="inputSearchLi" class="baseSearch-input-search">
45
45
  <template v-if="outSearchFieldList && outSearchFieldList.length">
46
46
  <a-input
47
- :style="{ width, margin: '0 8px 8px 0' }"
47
+ :style="{ width: inputSearchW + 'px', margin: '0 8px 8px 0' }"
48
48
  allowClear
49
- placeholder="请输入关键字搜索"
49
+ :placeholder="searchPlaceHolder"
50
50
  :value="currentValue"
51
51
  @input="$emit('input', $event.target.value)"
52
52
  @pressEnter="outFilterChange"
53
+ class="input-search-com"
53
54
  >
55
+ <template slot="prefix" v-if="showPlaceholderPrefix">
56
+ <a-tooltip
57
+ :title="searchPlaceHolder"
58
+ overlayClassName="basesearch-placeholder-tooltip"
59
+ >
60
+ <a-icon type="info-circle" />
61
+ </a-tooltip>
62
+ </template>
54
63
  </a-input>
55
64
  </template>
56
65
  <a-input-search
57
66
  v-else
58
- class="my-input-search"
59
- :style="{ width }"
67
+ class="my-input-search input-search-com"
68
+ :style="{ width: inputSearchW + 'px' }"
60
69
  @search="onSearch"
61
70
  allowClear
62
- placeholder="请输入关键字搜索"
71
+ :placeholder="searchPlaceHolder"
63
72
  :value="currentValue"
64
73
  @input="$emit('input', $event.target.value)"
65
74
  >
75
+ <template slot="prefix" v-if="showPlaceholderPrefix">
76
+ <a-tooltip
77
+ :title="searchPlaceHolder"
78
+ overlayClassName="basesearch-placeholder-tooltip"
79
+ >
80
+ <a-icon type="info-circle" />
81
+ </a-tooltip>
82
+ </template>
66
83
  <a-button slot="enterButton" type="primary">
67
84
  <svg-icon icon-class="xitongtubiaosousuo"></svg-icon>
68
85
  </a-button>
@@ -83,7 +100,7 @@
83
100
 
84
101
  <!-- 平铺列表 tree -->
85
102
  <template v-if="showRelatedTreeBtn">
86
- <li :class="[showRelatedSearchFold ? 'related-search-input' : 'related-search-input-expand']">
103
+ <li v-if="showRelatedSearch" :class="[isRelatedSearchFold ? 'related-search-input' : 'related-search-input-expand']">
87
104
  <a-input-search
88
105
  ref="relatedSearchInput"
89
106
  class="my-input-search my-input-search-related"
@@ -312,6 +329,10 @@
312
329
  >{{ item.name }} {{ countTabCondition == 1 && (item.digital || item.digital === 0) ? '(' + (item.digital || 0) + ')' : '' }}</div
313
330
  >
314
331
  </div>
332
+ <!-- palceholder 文字宽度计算 -->
333
+ <span class="baseSearchPlaceholderSpan" ref="baseSearchPlaceholderSpan">
334
+ {{ searchPlaceHolder }}
335
+ </span>
315
336
  </div>
316
337
  </template>
317
338
 
@@ -535,7 +556,8 @@ export default create({
535
556
  filterApiConfigOutSearch: {
536
557
  type: Object,
537
558
  default: () => ({})
538
- }
559
+ },
560
+ useFieldList: Array
539
561
  },
540
562
  components: {
541
563
  [Button.name]: Button,
@@ -713,6 +735,21 @@ export default create({
713
735
  return function(key) {
714
736
  return this.$attrs.tableOptions?.[key];
715
737
  }
738
+ },
739
+ searchPlaceHolder() {
740
+ if (!this.useFieldList?.length || this.showRelatedTreeBtn) return "请输入关键字搜索";
741
+ let str = "";
742
+ let strList = this.useFieldList
743
+ ?.map(item => {
744
+ if (item.isSearch != 1) return "";
745
+ return item.formTitle || item.alias || item.title;
746
+ })
747
+ .filter(Boolean);
748
+ str = "输入" + strList.join("/");
749
+ return str || "请输入关键字搜索";
750
+ },
751
+ showRelatedSearch() {
752
+ return this.showRelatedTreeBtn && this.isShowSetting('hideSearch')
716
753
  }
717
754
  },
718
755
  data() {
@@ -760,7 +797,9 @@ export default create({
760
797
  groupBtnObj: {},
761
798
  btnObj: BTNOBJ,
762
799
  printBtnStrategys: [], // 打印按钮组策略list
763
- outRelationQuickSearch: [] // 关联表 筛选外显
800
+ outRelationQuickSearch: [], // 关联表 筛选外显
801
+ inputSearchW: 200,
802
+ showPlaceholderPrefix: false
764
803
  };
765
804
  },
766
805
  created() {
@@ -2043,6 +2082,27 @@ export default create({
2043
2082
  });
2044
2083
  }
2045
2084
  }
2085
+ },
2086
+ searchPlaceHolder: {
2087
+ immediate: true,
2088
+ handler(val) {
2089
+ if (!val || this.showRelatedTreeBtn) return;
2090
+ this.$nextTick(() => {
2091
+ this.showPlaceholderPrefix = false;
2092
+ let dom = this.$refs.baseSearchPlaceholderSpan;
2093
+ if(!dom) return;
2094
+ // input 框有padding 32px ...显示需要多预留一些宽度12px
2095
+ let w = dom.offsetWidth + 45;
2096
+ console.log(w, "wwww");
2097
+ let maxW = this.showOutSearch ? 284 : 244;
2098
+ this.inputSearchW = w > maxW ? 300 : w < 200 ? 200 : w;
2099
+ if (w > maxW) {
2100
+ this.showPlaceholderPrefix = true;
2101
+ }
2102
+ this.onResize();
2103
+ console.log(this.inputSearchW);
2104
+ });
2105
+ }
2046
2106
  }
2047
2107
  }
2048
2108
  });
@@ -2214,6 +2274,13 @@ export default create({
2214
2274
  }
2215
2275
  }
2216
2276
  }
2277
+ .baseSearch-input-search {
2278
+ .input-search-com {
2279
+ input {
2280
+ padding: 4px 8px;
2281
+ }
2282
+ }
2283
+ }
2217
2284
  }
2218
2285
  /deep/ .num-picker {
2219
2286
  position: relative;
@@ -2308,6 +2375,11 @@ export default create({
2308
2375
  /* Internet Explorer 10+ */
2309
2376
  font-family: 'Avenir', Helvetica, Arial, sans-serif;
2310
2377
  }
2378
+ .baseSearchPlaceholderSpan {
2379
+ visibility: hidden;
2380
+ position: absolute;
2381
+ z-index: -1;
2382
+ }
2311
2383
  }
2312
2384
  </style>
2313
2385
  <style lang="less">
@@ -383,7 +383,15 @@ export const outQuickSearchFn = {
383
383
  arr.forEach(el => {
384
384
  el.setting = typeof el.setting == "string" ? JSON.parse(el.setting) : el.setting;
385
385
  const attr = el?.settingObj?.attr || "";
386
+ const isPreciseSearch = el?.settingObj?.isPreciseSearch || "";
386
387
  const showSetting = el?.setting?.showSetting || []
388
+ /**
389
+ * NUMBER和TEXT属性字段
390
+ * 如果 开启了精准搜索,则传条件的时候 要传 EQ
391
+ * isPreciseSearch: 0/1
392
+ */
393
+ let textCon = el.fieldType == "TEXT" && isPreciseSearch == 1 ? 'EQ' : 'CL';
394
+
387
395
  // 映射优先级最高
388
396
  if (showSetting?.length) {
389
397
  let tvalue = []
@@ -484,7 +492,7 @@ export const outQuickSearchFn = {
484
492
  this.handleSetLabelOptions(el.setting.labelType, el);
485
493
  }
486
494
  } else if ("PASSWORD" === attr) {
487
- this.$set(el, "con", el.fieldType === "NUMBER" ? "EQ" : "CL");
495
+ this.$set(el, "con", el.fieldType === "NUMBER" ? "EQ" : textCon);
488
496
  this.$set(el, "comAttr", "PASSWORD");
489
497
  this.$set(el, "PASSWORDTYPE", true);
490
498
  this.$set(el, "value", "");
@@ -495,7 +503,7 @@ export const outQuickSearchFn = {
495
503
  this.$set(el, "com", "Text");
496
504
  this.$set(el, "attr", "DURATION");
497
505
  } else {
498
- this.$set(el, "con", "CL");
506
+ this.$set(el, "con", textCon);
499
507
  this.$set(el, "value", "");
500
508
  this.$set(el, "com", "Text");
501
509
  }
@@ -69,20 +69,20 @@
69
69
  </div>
70
70
  <div class="label-unfold-btn" v-if="v.itemList && v.isShowBtn">
71
71
  <!-- {{ v.isUnfold }} -->
72
- <span>
73
- <a-icon
74
- type="up-square"
75
- theme="filled"
76
- style="color: #2d7aff"
77
- @click.stop="handleLabelUpfold(v)"
78
- v-if="v.isUnfold"
79
- />
80
- <a-icon
81
- v-else
82
- type="down-square"
83
- class="label-unfold-btn-down"
84
- @click.stop="handleLabelUpfold(v)"
85
- />
72
+ <span @click.stop="handleLabelUpfold(v)">
73
+ <template v-if="v.isUnfold">
74
+ <span>收起</span>
75
+ <a-icon
76
+ type="up-square"
77
+
78
+ />
79
+ </template>
80
+ <template v-else>
81
+ <span>展开</span>
82
+ <a-icon
83
+ type="down-square"
84
+ />
85
+ </template>
86
86
  </span>
87
87
  </div>
88
88
  </div>
@@ -991,6 +991,8 @@ export default create({
991
991
  handlerInitSearchItem(arr) {
992
992
  if (!Array.isArray(arr)) return;
993
993
  arr.forEach(el => {
994
+ const isPreciseSearch = el?.settingObj?.isPreciseSearch || "";
995
+
994
996
  if (el.setting) {
995
997
  // el.seting 可能是 string / object
996
998
  el.setting = typeof el.setting == "string" ? JSON.parse(el.setting) : el.setting;
@@ -1085,8 +1087,14 @@ export default create({
1085
1087
  });
1086
1088
  }
1087
1089
  } else if (el.fieldType == "TEXT") {
1088
- this.$set(el, "con", "CL");
1089
- this.$set(el, "CL", "");
1090
+ /**
1091
+ * NUMBER和TEXT属性字段
1092
+ * 如果 开启了精准搜索,则传条件的时候 要传 EQ
1093
+ * isPreciseSearch: 0/1
1094
+ */
1095
+ let con = isPreciseSearch == 1 ? 'EQ': 'CL';
1096
+ this.$set(el, "con", con);
1097
+ this.$set(el, con, "");
1090
1098
  } else if (el.fieldType == "JSONB") {
1091
1099
  this.$set(el, "con", "EQ");
1092
1100
  this.$set(el, "EQ", "");
@@ -1693,6 +1701,7 @@ export default create({
1693
1701
  },
1694
1702
 
1695
1703
  handleLabelUpfold(v) {
1704
+ console.log('触发---isUnfold');
1696
1705
  v.isUnfold = !v.isUnfold;
1697
1706
  },
1698
1707
 
@@ -1782,6 +1791,7 @@ export default create({
1782
1791
  line-height: 32px;
1783
1792
  text-align: right;
1784
1793
  padding-left: 12px;
1794
+ color: #000;
1785
1795
  }
1786
1796
  .quick-item-col {
1787
1797
  padding: 0 12px;
@@ -1872,11 +1882,11 @@ export default create({
1872
1882
 
1873
1883
  // 标签
1874
1884
  .label-attr-container {
1875
- div.label-container {
1876
- // overflow: hidden;
1877
- // width: 380px;
1878
- // height: 84px;
1879
- // flex: none;
1885
+ .edit-label {
1886
+ color: #000000;
1887
+ font-size: 14px;
1888
+ line-height: 32px;
1889
+ padding-left: 0;;
1880
1890
  }
1881
1891
  .label-container-height {
1882
1892
  overflow: hidden;
@@ -1888,11 +1898,23 @@ export default create({
1888
1898
  padding: 0;
1889
1899
  }
1890
1900
  .label-unfold-btn {
1891
- padding: 0px 15px;
1901
+ margin: 8px 0;
1902
+ color: rgba(0, 0, 0, 0.6);
1903
+ cursor: pointer;
1904
+ >span {
1905
+ display: flex;
1906
+ align-items: center;
1907
+ line-height: 1;
1908
+ }
1909
+ .anticon {
1910
+ font-size: 16px;
1911
+ margin-left: 8px;
1912
+ }
1892
1913
  &:hover {
1893
- .label-unfold-btn-down {
1894
- color: #2d7aff;
1895
- }
1914
+ color: #2d7aff;
1915
+ }
1916
+ &:active {
1917
+ color: #2d7aff;
1896
1918
  }
1897
1919
  }
1898
1920
  }