cnhis-design-vue 2.1.79 → 2.1.80

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 (119) hide show
  1. package/CHANGELOG.md +38 -17
  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 +115 -95
  12. package/es/big-table/style.css +1 -1
  13. package/es/breadcrumb/index.js +8 -8
  14. package/es/button/index.js +22 -22
  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/ellipsis/index.js +1 -1
  34. package/es/empty/index.js +8 -8
  35. package/es/fabric-chart/index.js +9 -9
  36. package/es/form/index.js +8 -8
  37. package/es/form-model/index.js +8 -8
  38. package/es/form-table/index.js +66 -66
  39. package/es/index/index.js +2794 -1422
  40. package/es/index/style.css +1 -1
  41. package/es/input/index.js +9 -9
  42. package/es/input-number/index.js +8 -8
  43. package/es/layout/index.js +8 -8
  44. package/es/list/index.js +8 -8
  45. package/es/locale-provider/index.js +8 -8
  46. package/es/map/index.js +9 -9
  47. package/es/mentions/index.js +8 -8
  48. package/es/menu/index.js +8 -8
  49. package/es/message/index.js +8 -8
  50. package/es/multi-chat/index.js +76 -76
  51. package/es/multi-chat-client/index.js +70 -70
  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 +22 -22
  55. package/es/multi-chat-sip/index.js +1 -1
  56. package/es/notification/index.js +8 -8
  57. package/es/page-header/index.js +8 -8
  58. package/es/pagination/index.js +8 -8
  59. package/es/popconfirm/index.js +8 -8
  60. package/es/popover/index.js +8 -8
  61. package/es/progress/index.js +8 -8
  62. package/es/radio/index.js +9 -9
  63. package/es/rate/index.js +8 -8
  64. package/es/result/index.js +8 -8
  65. package/es/row/index.js +8 -8
  66. package/es/scale-container/index.js +1 -1
  67. package/es/scale-view/index.js +52 -50
  68. package/es/scale-view/style.css +1 -1
  69. package/es/select/index.js +12 -12
  70. package/es/select-label/index.js +36 -34
  71. package/es/select-label/style.css +1 -1
  72. package/es/select-person/index.js +2 -2
  73. package/es/shortcut-setter/index.js +10 -10
  74. package/es/skeleton/index.js +8 -8
  75. package/es/slider/index.js +8 -8
  76. package/es/space/index.js +8 -8
  77. package/es/spin/index.js +8 -8
  78. package/es/statistic/index.js +8 -8
  79. package/es/steps/index.js +8 -8
  80. package/es/switch/index.js +8 -8
  81. package/es/table-filter/index.js +2535 -1185
  82. package/es/table-filter/style.css +1 -1
  83. package/es/tabs/index.js +8 -8
  84. package/es/tag/index.js +9 -9
  85. package/es/time-picker/index.js +8 -8
  86. package/es/timeline/index.js +8 -8
  87. package/es/tooltip/index.js +8 -8
  88. package/es/transfer/index.js +8 -8
  89. package/es/tree/index.js +8 -8
  90. package/es/tree-select/index.js +8 -8
  91. package/es/upload/index.js +8 -8
  92. package/es/verification-code/index.js +2 -2
  93. package/lib/cui.common.js +3100 -1583
  94. package/lib/cui.umd.js +3100 -1583
  95. package/lib/cui.umd.min.js +54 -54
  96. package/package.json +1 -1
  97. package/packages/big-table/src/BigTable.vue +15 -3
  98. package/packages/big-table/src/assets/style/table-base.less +7 -4
  99. package/packages/select-label/select-label.vue +18 -2
  100. package/packages/table-filter/src/base-search-com/BaseSearch.vue +7 -15
  101. package/packages/table-filter/src/components/TextOverTooltip.vue +24 -11
  102. package/packages/table-filter/src/components/age-com/index.vue +3 -3
  103. package/packages/table-filter/src/components/checkbox-group/CheckboxGroup.vue +53 -0
  104. package/packages/table-filter/src/components/multi-select/multi-select.vue +7 -1
  105. package/packages/table-filter/src/components/out-quick-search/out-quick-search.vue +5 -119
  106. package/packages/table-filter/src/components/range-age/index.vue +11 -12
  107. package/packages/table-filter/src/components/render-widget/components/DateRangeQuick.vue +212 -0
  108. package/packages/table-filter/src/components/render-widget/components/NumberRange.vue +145 -0
  109. package/packages/table-filter/src/components/render-widget/components/SelectDynamic.vue +304 -0
  110. package/packages/table-filter/src/components/render-widget/components/index.js +4 -4
  111. package/packages/table-filter/src/components/render-widget/enums.js +27 -22
  112. package/packages/table-filter/src/components/render-widget/index.vue +38 -5
  113. package/packages/table-filter/src/components/render-widget/mixins/dynamic-method.js +158 -0
  114. package/packages/table-filter/src/components/render-widget/widgetCfgMaps.js +150 -45
  115. package/packages/table-filter/src/components/search-filter/SearchFilter.vue +3 -1
  116. package/packages/table-filter/src/mixins/mixins.js +192 -133
  117. package/packages/table-filter/src/mixins/out-quick-method.js +123 -0
  118. package/packages/table-filter/src/mixins/renderWidget.js +21 -13
  119. package/packages/table-filter/src/quick-search/QuickSearch.vue +144 -121
@@ -6,11 +6,8 @@
6
6
  <div
7
7
  class="quick-item"
8
8
  v-for="item in quickSearch"
9
- :key="item.sid"
10
- :class="{
11
- 'quick-block':
12
- item.con == 'DATE' || item.con == 'BIRTHDAY' || item.con == 'CONVERT' || item.LABELAttr || item._isBlock
13
- }"
9
+ :key="item.sid || item.columnName"
10
+ :class="{ 'quick-block': quickClassName(item) }"
14
11
  >
15
12
  <div class="quick-row">
16
13
  <!-- title -->
@@ -18,7 +15,12 @@
18
15
  class="quick-item-title"
19
16
  :class="{ 'quick-item-title-default': source !== 'editTable' }"
20
17
  >
21
- <span>{{ handleName(item, "title") }}&nbsp;&nbsp;</span>
18
+ <!-- <span>{{ handleName(item, "title") }}&nbsp;&nbsp;</span> -->
19
+ <text-over-tooltip
20
+ :refName="`quick-search-title-${item.columnName}`"
21
+ class="quick-search-title-tool-tip"
22
+ :content="item.alias || item.title"
23
+ ></text-over-tooltip>
22
24
  <a-tooltip
23
25
  v-if="searchFieldLimit[item.columnName] && searchFieldLimit[item.columnName].tips"
24
26
  :title="searchFieldLimit[item.columnName].tips"
@@ -29,7 +31,7 @@
29
31
  </div>
30
32
  <div class="quick-item-col" :class="{ 'quick-item-col-default': source !== 'editTable' }">
31
33
  <!-- 直接渲染组件 -->
32
- <RenderWidget v-if="item.isRender" :cfg="item" v-model="item.value" />
34
+ <RenderWidget v-if="item.isRender" :cfg="item" v-model="item.value" source="quickSearch" :filterApiConfig="filterApiConfig" />
33
35
  <!-- age -->
34
36
  <!-- TODO: 清除,跨表 -->
35
37
  <div v-else-if="item.AGEAttr" class="age-container">
@@ -89,12 +91,12 @@
89
91
  </div>
90
92
  </div>
91
93
  </slot>
92
- <a-input v-else style="width: 200px" v-model="item.inputVal" allowClear></a-input>
94
+ <a-input v-else style="width: 100%" v-model="item.inputVal" allowClear :placeholder="item.placeholder || `请输入${item.alias || item.title}`"></a-input>
93
95
  </div>
94
96
  <!-- label -->
95
97
 
96
98
  <!-- EVALUATE -->
97
- <div v-else-if="item.EVALUATEAttr">
99
+ <div v-else-if="item.EVALUATEAttr" class="evaluate-attr-container">
98
100
  <template v-for="tag in EVALUATEList">
99
101
  <a-checkable-tag
100
102
  :key="tag.value"
@@ -109,7 +111,7 @@
109
111
  <!-- EVALUATE -->
110
112
 
111
113
  <!-- NUMBERFiled -->
112
- <div v-else-if="item.NUMBERFiled" class="ant-calendar-picker" style="width: 300px">
114
+ <div v-else-if="item.NUMBERFiled" class="ant-calendar-picker" style="width: 100%">
113
115
  <span
114
116
  class="ant-calendar-picker-input ant-input num-picker"
115
117
  :class="{ 'num-picker-unit': item.inputUnit }"
@@ -159,25 +161,25 @@
159
161
  <template v-if="showPercent(item)">
160
162
  <a-input-number
161
163
  class="CL-input"
162
- :style="`width: ${getEleWidth(item)}`"
164
+ :style="`width: 100%`"
163
165
  v-model="item.CL"
164
166
  :min="0"
165
167
  :max="100"
166
168
  allowClear
167
- :placeholder="item.placeholder"
169
+ :placeholder="item.placeholder || `请输入${item.alias || item.title}`"
168
170
  />
169
171
  </template>
170
172
  <template v-else>
171
173
  <a-input
172
174
  class="CL-input"
173
175
  :style="{
174
- width: `${getEleWidth(item)}`,
176
+ width: `100%`,
175
177
  'font-family': item.PASSWORDTYPE ? 'text-security-disc' : 'inherit'
176
178
  }"
177
179
  v-model="item.CL"
178
180
  :class="{ 'psw-icon': item.comAttr == 'PASSWORD' }"
179
181
  allowClear
180
- :placeholder="item.placeholder"
182
+ :placeholder="item.placeholder || `请输入${item.alias || item.title}`"
181
183
  >
182
184
  <template slot="suffix" v-if="item.comAttr == 'PASSWORD'">
183
185
  <svg-icon
@@ -194,12 +196,12 @@
194
196
  <template v-if="showPercent(item)">
195
197
  <a-input-number
196
198
  class="EQ-input"
197
- :style="`width: ${getEleWidth(item)}`"
199
+ :style="`width: 100%`"
198
200
  v-model="item.EQ"
199
201
  :min="0"
200
202
  :max="100"
201
203
  allowClear
202
- :placeholder="item.placeholder"
204
+ :placeholder="item.placeholder|| `请输入${item.alias || item.title}`"
203
205
  />
204
206
  </template>
205
207
  <template v-else>
@@ -207,11 +209,11 @@
207
209
  :class="{ 'psw-icon': item.comAttr == 'PASSWORD' }"
208
210
  class="EQ-input"
209
211
  :style="{
210
- width: `${getEleWidth(item)}`,
212
+ width: `100%`,
211
213
  'font-family': item.PASSWORDTYPE ? 'text-security-disc' : 'inherit'
212
214
  }"
213
215
  v-model="item.EQ"
214
- :placeholder="item.placeholder || item.isPreciseSearch || item.fieldType == 'JSONB' ? '' : getI18nText('1.9.6', '区间搜素用~分割')"
216
+ :placeholder="item.placeholder || `请输入${item.alias || item.title}`"
215
217
  allowClear
216
218
  >
217
219
  <template slot="suffix" v-if="item.comAttr == 'PASSWORD'">
@@ -294,11 +296,13 @@
294
296
  style="width: 60px; margin-right: 10px"
295
297
  v-model="item.BIRTHDAY.start_val"
296
298
  allowClear
299
+ :placeholder="`开始${item.alias || item.title}`"
297
300
  />
298
301
  <a-input
299
302
  style="width: 60px; margin-right: 10px"
300
303
  v-model="item.BIRTHDAY.end_val"
301
304
  allowClear
305
+ :placeholder="`截止${item.alias || item.title}`"
302
306
  />
303
307
  <a-select
304
308
  v-model="item.BIRTHDAY.unit"
@@ -306,6 +310,7 @@
306
310
  showSearch
307
311
  :filterOption="filterOption"
308
312
  allowClear
313
+ :placeholder="`请选择${item.alias || item.title}`"
309
314
  >
310
315
  <a-select-option
311
316
  v-for="v in item.BIRTHDAY.units"
@@ -322,27 +327,6 @@
322
327
  }}</span>
323
328
  </a-radio-group>
324
329
  </div>
325
- <!-- <a-select
326
- v-if="item.con == 'QUOTE'"
327
- v-model="item.QUOTE"
328
- mode="multiple"
329
- :placeholder="$t('1.1.6.7')"
330
- :tokenSeparators="['|#|']"
331
- style="width: 200px"
332
- :filter-option="false"
333
- @dropdownVisibleChange="dropdownVisibleChange($event, item)"
334
- @search="handleSearch($event, item)"
335
- showSearch
336
- allowClear
337
- >
338
- <a-select-option
339
- v-for="sea in item.dataSource"
340
- :key="item.sid + sea.myName"
341
- :value="sea.myName"
342
- >
343
- {{ sea.showKeys || sea.myName }}
344
- </a-select-option>
345
- </a-select> -->
346
330
  <template v-if="item.con == 'QUOTE' || item.com == 'SelectMui'">
347
331
  <c-tree-select
348
332
  v-if="item.comType === 'treeSelect'"
@@ -361,13 +345,13 @@
361
345
  :fetchingWordbook="fetchingWordbook"
362
346
  ></multiSelect>
363
347
  </template>
364
-
365
- <a-checkbox-group
366
- class="check-box"
348
+ <CheckboxGroup
367
349
  v-else-if="item.con == 'CONVERT'"
368
- :options="item.setting&&item.setting.showSetting"
350
+ class="check-box"
369
351
  v-model="item.CONVERT"
370
- />
352
+ :options="item.setting && item.setting.showSetting || []"
353
+ :multiple="String(item.advanceOptionSetting) != '0'"
354
+ ></CheckboxGroup>
371
355
  </slot>
372
356
  </div>
373
357
  </div>
@@ -394,7 +378,12 @@
394
378
  class="quick-item-title"
395
379
  :class="{ 'quick-item-title-default': source !== 'editTable' }"
396
380
  >
397
- <span>{{ handleName(item, "title") }}&nbsp;&nbsp;</span>
381
+ <!-- <span>{{ handleName(item, "title") }}&nbsp;&nbsp;</span> -->
382
+ <text-over-tooltip
383
+ :refName="`quick-search-title-${item.columnName}`"
384
+ class="quick-search-title-tool-tip"
385
+ :content="item.alias || item.title"
386
+ ></text-over-tooltip>
398
387
  </div>
399
388
  <div
400
389
  class="quick-item-col"
@@ -424,11 +413,11 @@
424
413
  </div>
425
414
  </div>
426
415
  </slot>
427
- <a-input v-else style="width: 200px" v-model="item.inputVal"> </a-input>
416
+ <a-input v-else style="width: 100%" v-model="item.inputVal" :placeholder="item.placeholder || `请输入${item.alias || item.title}`"> </a-input>
428
417
  </div>
429
418
 
430
419
  <!-- EVALUATE -->
431
- <div v-else-if="item.EVALUATEAttr">
420
+ <div v-else-if="item.EVALUATEAttr" class="evaluate-attr-container">
432
421
  <template v-for="tag in EVALUATEList">
433
422
  <a-checkable-tag
434
423
  :key="tag.value"
@@ -443,7 +432,7 @@
443
432
  <!-- EVALUATE -->
444
433
 
445
434
  <!-- NUMBERFiled -->
446
- <div v-else-if="item.NUMBERFiled" class="ant-calendar-picker" style="width: 300px">
435
+ <div v-else-if="item.NUMBERFiled" class="ant-calendar-picker" style="width: 100%">
447
436
  <span
448
437
  class="ant-calendar-picker-input ant-input num-picker"
449
438
  :class="{ 'num-picker-unit': item.inputUnit }"
@@ -494,15 +483,16 @@
494
483
  <template v-if="showPercent(item)">
495
484
  <a-input-number
496
485
  class="CL-input"
497
- :style="`width: ${getEleWidth(item)}`"
486
+ :style="`width: 100%`"
498
487
  v-model="item.CL"
499
488
  :min="0"
500
489
  :max="100"
501
490
  allowClear
491
+ :placeholder="item.placeholder || `请输入${item.alias || item.title}`"
502
492
  />
503
493
  </template>
504
494
  <template v-else>
505
- <a-input class="CL-input" :style="`width: ${getEleWidth(item)}`" v-model="item.CL" allowClear>
495
+ <a-input class="CL-input" :style="`width: 100%`" v-model="item.CL" allowClear :placeholder="item.placeholder || `请输入${item.alias || item.title}`">
506
496
  </a-input>
507
497
  </template>
508
498
  </template>
@@ -510,19 +500,20 @@
510
500
  <template v-if="showPercent(item)">
511
501
  <a-input-number
512
502
  class="EQ-input"
513
- :style="`width: ${getEleWidth(item)}`"
503
+ :style="`width: 100%`"
514
504
  v-model="item.EQ"
515
505
  :min="0"
516
506
  :max="100"
517
507
  allowClear
508
+ :placeholder="item.placeholder|| `请输入${item.alias || item.title}`"
518
509
  />
519
510
  </template>
520
511
  <template v-else>
521
512
  <a-input
522
513
  class="EQ-input"
523
- :style="`width: ${getEleWidth(item)}`"
514
+ :style="`width: 100%`"
524
515
  v-model="item.EQ"
525
- :placeholder="item.placeholder || item.isPreciseSearch || item.fieldType == 'JSONB' ? '' : getI18nText('1.9.6', '区间搜素用~分割')"
516
+ :placeholder="item.placeholder || `请输入${item.alias || item.title}`"
526
517
  allowClear
527
518
  >
528
519
  </a-input>
@@ -533,7 +524,7 @@
533
524
  <div v-if="item.con == 'DATE'">
534
525
  <a-radio-group v-model="item.DATE.con" buttonStyle="solid">
535
526
  <a-radio-button
536
- v-for="date in dateTeam"
527
+ v-for="date in useDateTeam"
537
528
  v-show="!item.showDate"
538
529
  @click="clickRadioGroup(item.DATE, date.con)"
539
530
  :key="date.con"
@@ -548,9 +539,9 @@
548
539
  format="YYYY-MM-DD HH:mm:ss"
549
540
  v-model="item.DATE.start_val"
550
541
  :show-time="{
551
- format: 'HH:mm:ss'
542
+ defaultValue: $moment('00:00:00', 'HH:mm:ss')
552
543
  }"
553
- :placeholder="'起始日期'"
544
+ :placeholder="getI18nText('1.1.4.53', '开始时间')"
554
545
  style="width: 120px"
555
546
  allowClear
556
547
  />
@@ -558,9 +549,9 @@
558
549
  <a-date-picker
559
550
  format="YYYY-MM-DD HH:mm:ss"
560
551
  v-model="item.DATE.end_val"
561
- :placeholder="'截止日期'"
552
+ :placeholder="getI18nText('1.9.147', '结束时间')"
562
553
  :show-time="{
563
- format: 'HH:mm:ss'
554
+ defaultValue: $moment('23:59:59', 'HH:mm:ss')
564
555
  }"
565
556
  style="width: 120px"
566
557
  allowClear
@@ -568,27 +559,6 @@
568
559
  </div>
569
560
  </a-radio-group>
570
561
  </div>
571
- <!-- <a-select
572
- v-if="item.con == 'QUOTE'"
573
- v-model="item.QUOTE"
574
- mode="multiple"
575
- :placeholder="$t('1.1.6.7')"
576
- :tokenSeparators="['|#|']"
577
- style="width: 200px"
578
- :filter-option="false"
579
- @dropdownVisibleChange="dropdownVisibleChange($event, item)"
580
- @search="handleSearch($event, item)"
581
- showSearch
582
- allowClear
583
- >
584
- <a-select-option
585
- v-for="sea in item.dataSource"
586
- :key="item.sid + sea.myName"
587
- :value="sea.myName"
588
- >
589
- {{ sea.myName }}
590
- </a-select-option>
591
- </a-select> -->
592
562
  <template v-if="item.con == 'QUOTE' || item.com == 'SelectMui'">
593
563
  <c-tree-select
594
564
  v-if="item.comType === 'treeSelect'"
@@ -607,13 +577,13 @@
607
577
  :fetchingWordbook="fetchingWordbook"
608
578
  ></multiSelect>
609
579
  </template>
610
-
611
- <a-checkbox-group
612
- class="check-box"
580
+ <CheckboxGroup
613
581
  v-else-if="item.con == 'CONVERT'"
614
- :options="item.setting&&item.setting.showSetting"
582
+ class="check-box"
615
583
  v-model="item.CONVERT"
616
- />
584
+ :options="item.setting && item.setting.showSetting || []"
585
+ :multiple="String(item.advanceOptionSetting) != '0'"
586
+ ></CheckboxGroup>
617
587
  </slot>
618
588
  </div>
619
589
  </div>
@@ -748,6 +718,9 @@ import utils from '@/utils/utils-map';
748
718
  import {dataOptions} from '../const/dataOptions'
749
719
 
750
720
  import RenderWidget from '../components/render-widget/index.vue';
721
+ import TextOverTooltip from "../components/TextOverTooltip";
722
+ import CheckboxGroup from '../components/checkbox-group/CheckboxGroup.vue'
723
+ import svgIcon from '@/component/svg/index.vue';
751
724
 
752
725
  export default create({
753
726
  name: "quick-search",
@@ -769,7 +742,8 @@ export default create({
769
742
  isOrgAdmin: Boolean,
770
743
  lastQuickSearchData: Array,
771
744
  show: Boolean,
772
- getFilterData: Function
745
+ getFilterData: Function,
746
+ libSource: String
773
747
  },
774
748
  components: {
775
749
  RenderWidget,
@@ -803,7 +777,10 @@ export default create({
803
777
  [Form.Item.name]: Form.Item,
804
778
  [Tag.CheckableTag.name]: Tag.CheckableTag,
805
779
  multiSelect,
806
- cTreeSelect
780
+ cTreeSelect,
781
+ TextOverTooltip,
782
+ CheckboxGroup,
783
+ svgIcon
807
784
  },
808
785
  computed: {
809
786
  showPercent() {
@@ -813,7 +790,7 @@ export default create({
813
790
  },
814
791
  getEleWidth(){
815
792
  return function(item) {
816
- return `${item.advanceColWidth||200}px`
793
+ return `${item.advanceColWidth || 200}px`
817
794
  }
818
795
  },
819
796
  hasRelationQuickSearch() {
@@ -831,6 +808,16 @@ export default create({
831
808
 
832
809
  $moment() {
833
810
  return moment;
811
+ },
812
+ useDateTeam() {
813
+ if(this.libSource !== 'crm') return this.dateTeam0;
814
+ return this.dateTeam0.map(v => {
815
+ let obj = {...v}
816
+ if(obj.con.includes('LAST_')) {
817
+ obj.con = obj.con.replace(/LAST_/g, 'UP_')
818
+ }
819
+ return obj
820
+ })
834
821
  }
835
822
  },
836
823
  data() {
@@ -844,23 +831,6 @@ export default create({
844
831
  searchItem: {},
845
832
  curWordbookData: undefined,
846
833
  curAutograph: "",
847
- dateTeam: [
848
- { con: 'TODAY', title: '1.1.4.37', name: '今天' },
849
- { con: 'TOMORROW', title: '1.1.4.38', name: '明天' },
850
- { con: 'YESTERDAY', title: '1.1.4.39', name: '昨天' },
851
- { con: 'THIS_WEEK', title: '1.1.4.40', name: '本周' },
852
- { con: 'NEXT_WEEK', title: '1.1.4.41', name: '下周' },
853
- { con: 'LAST_WEEK', title: '1.1.4.42', name: '上周' },
854
- { con: 'THIS_MONTH', title: '1.1.4.43', name: '本月' },
855
- { con: 'NEXT_MONTH', title: '1.1.4.44', name: '下月' },
856
- { con: 'LAST_MONTH', title: '1.1.4.45', name: '上月' },
857
- { con: 'THIS_SEASON', title: '1.1.4.46', name: '本季度' },
858
- { con: 'NEXT_SEASON', title: '1.1.4.47', name: '下季度' },
859
- { con: 'LAST_SEASON', title: '1.1.4.48', name: '上季度' },
860
- { con: 'THIS_YEAR', title: '1.1.4.49', name: '本年' },
861
- { con: 'NEXT_YEAR', title: '1.1.4.50', name: '下年' },
862
- { con: 'LAST_YEAR', title: '1.1.4.51', name: '上年' }
863
- ],
864
834
  birthdayTeam: [],
865
835
  limit_date: "",
866
836
  birthdayUnits: [
@@ -937,6 +907,9 @@ export default create({
937
907
  },
938
908
  created() {},
939
909
  methods: {
910
+ quickClassName(item) {
911
+ return item.con == 'DATE' || item.con == 'BIRTHDAY' || (item.con == 'CONVERT' && item.com !== 'SelectMui') || item.LABELAttr || item._isBlock || item.AGEAttr
912
+ },
940
913
  filterOption(...arg) {
941
914
  return utils.filterOption(...arg);
942
915
  },
@@ -946,11 +919,22 @@ export default create({
946
919
  init() {
947
920
  this.quickSearch = [];
948
921
  this.relationQuickSearch = [];
949
- this.birthdayTeam = this.dateTeam.filter(
950
- item => item.con != "THIS_YEAR" && item.con != "NEXT_YEAR" && item.con != "LAST_YEAR"
922
+ this.birthdayTeam = this.useDateTeam.filter(
923
+ item => {
924
+ if(this.libSource !== 'crm') return item.con != "THIS_YEAR" && item.con != "NEXT_YEAR" && item.con != "LAST_YEAR"
925
+ item.con != "THIS_YEAR" && item.con != "NEXT_YEAR" && item.con != "UP_YEAR"
926
+ }
951
927
  );
952
928
  let copyList = cloneDeep(this.searchFieldList);
953
- let mySearchFieldList = copyList.filter(i => i.isShowSearch == 1 && i.filterExplicit != 1) || [];
929
+ let mySearchFieldList = copyList.filter(i => {
930
+ let { isRender, rangeFilter, widgetType } = i.widgetCfg || {};
931
+ // 快速搜索中组件不同
932
+ if (isRender && rangeFilter && ['DATETIME_RANGE', 'DATE_RANGE'].includes(widgetType)) {
933
+ i.widgetType = 'DATE_RANGE_QUICK';
934
+ i.widgetCfg.widgetType = 'DATE_RANGE_QUICK';
935
+ }
936
+ return i.isShowSearch == 1 && i.filterExplicit != 1
937
+ }) || [];
954
938
  // let relationTableList = JSON.parse(JSON.stringify(this.relationTableList));
955
939
  let relationTableList = cloneDeep(this.relationTableList);
956
940
 
@@ -1007,7 +991,9 @@ export default create({
1007
991
  let advanceOptionSetting = item?.advanceOptionSetting;
1008
992
  // 单选
1009
993
  let optionSetting0 =String(advanceOptionSetting) == '0';
1010
- if(optionSetting0){
994
+ let settingLen = item.setting?.showSetting?.length;
995
+ let isCheck = optionSetting0 && settingLen && settingLen < 10;
996
+ if(optionSetting0 && !isCheck){
1011
997
  this.$set(this.quickSearch[index], "value", undefined);
1012
998
  } else {
1013
999
  if (item.CONVERT && Array.isArray(item.CONVERT)) {
@@ -1110,7 +1096,8 @@ export default create({
1110
1096
  /**
1111
1097
  * 映射方式的单选模式
1112
1098
  */
1113
- if(optionSetting0){
1099
+ let isCheck = optionSetting0 && showSetting.length && showSetting.length < 10
1100
+ if(optionSetting0 && !isCheck){
1114
1101
  this.$set(el, "com", "SelectMui");
1115
1102
  this.$set(el, "comType", "SelectMui");
1116
1103
  const labelList = el.setting.showSetting.map(i => {
@@ -1121,7 +1108,8 @@ export default create({
1121
1108
  }
1122
1109
 
1123
1110
  this.$set(el.setting, "showSetting", showSetting);
1124
- this.$set(el, "CONVERT",optionSetting0? "": []);
1111
+ let convertDef = optionSetting0 ? isCheck ? [] : "" : [];
1112
+ this.$set(el, "CONVERT", convertDef);
1125
1113
  return;
1126
1114
  }
1127
1115
  }
@@ -1144,6 +1132,7 @@ export default create({
1144
1132
  this.$set(el, "format", format);
1145
1133
  this.$set(el, "AGEAttr", true);
1146
1134
  } else if (el.setting?.attr === "PASSWORD") {
1135
+ this.$set(el, "con", "CL");
1147
1136
  this.$set(el, "comAttr", "PASSWORD");
1148
1137
  this.$set(el, "PASSWORDTYPE", true);
1149
1138
  } else if (el.fieldType == "NUMBER") {
@@ -1178,6 +1167,7 @@ export default create({
1178
1167
  end_val: hasValue ? value[1] : null
1179
1168
  });
1180
1169
  let dateTeam = optionSetting1 ? [] : this[`dateTeam${advanceOptionSetting}`] || this.dateTeam0;
1170
+ dateTeam = this.handleDateTeam(dateTeam);
1181
1171
  this.$set(el, 'dateTeam' , dateTeam)
1182
1172
  }
1183
1173
  } else if (el.fieldType == "TEXT") {
@@ -1196,6 +1186,17 @@ export default create({
1196
1186
  }
1197
1187
  });
1198
1188
  },
1189
+ // 兼容二次开发平台数据
1190
+ handleDateTeam(dateTeam){
1191
+ if(this.libSource !== 'crm') return dateTeam;
1192
+ return dateTeam.map(v => {
1193
+ let obj = {...v}
1194
+ if(obj.con.includes('LAST_')) {
1195
+ obj.con = obj.con.replace(/LAST_/g, 'UP_')
1196
+ }
1197
+ return obj
1198
+ })
1199
+ },
1199
1200
  // 字典推荐值 item处理
1200
1201
  handleDictionDef(el) {
1201
1202
  let { defaultValue, defaultValueTitle } = el?.dictionarieObj || {};
@@ -1433,12 +1434,17 @@ export default create({
1433
1434
  }
1434
1435
  }
1435
1436
  } else if (vexutils.anyNotEmpty(item.CONVERT) && Array.isArray(item.CONVERT)) {
1436
- value = item.CONVERT.map(item => {
1437
+ let optionSetting0 =String(advanceOptionSetting) === '0';
1438
+ let tempConvert = item.CONVERT.map(item => {
1437
1439
  if (item && vexutils.isJSON(item)) {
1438
1440
  return JSON.parse(item);
1439
1441
  }
1440
1442
  return item;
1441
1443
  });
1444
+ value = tempConvert
1445
+ if (optionSetting0) {
1446
+ value = tempConvert[0]
1447
+ }
1442
1448
  } else if (item.DATE && !item.AGEAttr) {
1443
1449
  // 年龄组件的不按照 date 类型处理
1444
1450
  if (item.DATE.start_val || item.DATE.end_val) {
@@ -1534,7 +1540,7 @@ export default create({
1534
1540
  };
1535
1541
  conObj.push(temp);
1536
1542
  }
1537
- let dateCons = this.dateTeam.map(item => item.con);
1543
+ let dateCons = this.useDateTeam.map(item => item.con);
1538
1544
  let res = conObj.filter(
1539
1545
  item =>
1540
1546
  item.value ||
@@ -1952,14 +1958,24 @@ export default create({
1952
1958
  box-sizing: border-box;
1953
1959
  }
1954
1960
  .quick-item-title {
1955
- min-width: 80px;
1961
+ min-width: 134px;
1962
+ width: 134px;
1956
1963
  line-height: 32px;
1957
1964
  text-align: right;
1958
- padding-left: 12px;
1965
+ padding-left: 4px;
1966
+ padding-right: 4px;
1959
1967
  color: #000;
1968
+ box-sizing: border-box;
1960
1969
  }
1961
1970
  .quick-item-col {
1962
- padding: 0 12px;
1971
+ width: calc(100% - 134px);
1972
+ padding: 0 4px;
1973
+ .ant-tag {
1974
+ margin-right: 4px;
1975
+ }
1976
+ .ant-tag:last-child {
1977
+ margin-right: 0;
1978
+ }
1963
1979
  }
1964
1980
  .quick-item-title-default {
1965
1981
  width: 25%;
@@ -1979,10 +1995,10 @@ export default create({
1979
1995
  background-color: #ddd;
1980
1996
  cursor: pointer;
1981
1997
  &.ml {
1982
- margin-left: 20px;
1998
+ margin-left: 12px;
1983
1999
  }
1984
2000
  &.mr {
1985
- margin-right: 20px;
2001
+ margin-right: 12px;
1986
2002
  }
1987
2003
  }
1988
2004
  .check-date {
@@ -2040,8 +2056,8 @@ export default create({
2040
2056
  }
2041
2057
  .ant-radio-button-wrapper {
2042
2058
  padding: 0 8px;
2043
- height: 30px;
2044
- line-height: 30px;
2059
+ height: 32px;
2060
+ line-height: 32px;
2045
2061
  margin-top: 5px;
2046
2062
  }
2047
2063
 
@@ -2083,6 +2099,9 @@ export default create({
2083
2099
  }
2084
2100
  }
2085
2101
  }
2102
+ .evaluate-attr-container {
2103
+ line-height: 32px;
2104
+ }
2086
2105
  &.quick-search-table {
2087
2106
  .module-title {
2088
2107
  color: #506493;
@@ -2092,9 +2111,12 @@ export default create({
2092
2111
  }
2093
2112
  .quick-item {
2094
2113
  display: inline-block;
2114
+ width: 20%;
2095
2115
  &.quick-block {
2096
2116
  display: block;
2117
+ width: 100%;
2097
2118
  }
2119
+
2098
2120
  }
2099
2121
  }
2100
2122
 
@@ -2122,8 +2144,9 @@ export default create({
2122
2144
  font-family: "Avenir", Helvetica, Arial, sans-serif;
2123
2145
  }
2124
2146
  }
2125
- // .age-container {
2126
- // }
2147
+ .age-container {
2148
+ width: 100%;
2149
+ }
2127
2150
  </style>
2128
2151
  <style lang="less">
2129
2152
  .quickSearch-saveToClass-modal {