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.
- package/CHANGELOG.md +38 -17
- package/es/affix/index.js +8 -8
- package/es/age/index.js +10 -10
- package/es/alert/index.js +8 -8
- package/es/anchor/index.js +8 -8
- package/es/auto-complete/index.js +8 -8
- package/es/avatar/index.js +8 -8
- package/es/back-top/index.js +8 -8
- package/es/badge/index.js +8 -8
- package/es/base/index.js +8 -8
- package/es/big-table/index.js +115 -95
- package/es/big-table/style.css +1 -1
- package/es/breadcrumb/index.js +8 -8
- package/es/button/index.js +22 -22
- package/es/calendar/index.js +8 -8
- package/es/captcha/index.js +3 -3
- package/es/card/index.js +8 -8
- package/es/carousel/index.js +8 -8
- package/es/cascader/index.js +8 -8
- package/es/checkbox/index.js +9 -9
- package/es/col/index.js +8 -8
- package/es/collapse/index.js +8 -8
- package/es/color-picker/index.js +1 -1
- package/es/comment/index.js +8 -8
- package/es/config-provider/index.js +8 -8
- package/es/date-picker/index.js +8 -8
- package/es/descriptions/index.js +8 -8
- package/es/divider/index.js +8 -8
- package/es/drag-layout/index.js +3 -3
- package/es/drawer/index.js +8 -8
- package/es/dropdown/index.js +8 -8
- package/es/editor/index.js +1 -1
- package/es/ellipsis/index.js +1 -1
- package/es/empty/index.js +8 -8
- package/es/fabric-chart/index.js +9 -9
- package/es/form/index.js +8 -8
- package/es/form-model/index.js +8 -8
- package/es/form-table/index.js +66 -66
- package/es/index/index.js +2794 -1422
- package/es/index/style.css +1 -1
- package/es/input/index.js +9 -9
- package/es/input-number/index.js +8 -8
- package/es/layout/index.js +8 -8
- package/es/list/index.js +8 -8
- package/es/locale-provider/index.js +8 -8
- package/es/map/index.js +9 -9
- package/es/mentions/index.js +8 -8
- package/es/menu/index.js +8 -8
- package/es/message/index.js +8 -8
- package/es/multi-chat/index.js +76 -76
- package/es/multi-chat-client/index.js +70 -70
- package/es/multi-chat-history/index.js +4 -4
- package/es/multi-chat-record/index.js +14 -14
- package/es/multi-chat-setting/index.js +22 -22
- package/es/multi-chat-sip/index.js +1 -1
- package/es/notification/index.js +8 -8
- package/es/page-header/index.js +8 -8
- package/es/pagination/index.js +8 -8
- package/es/popconfirm/index.js +8 -8
- package/es/popover/index.js +8 -8
- package/es/progress/index.js +8 -8
- package/es/radio/index.js +9 -9
- package/es/rate/index.js +8 -8
- package/es/result/index.js +8 -8
- package/es/row/index.js +8 -8
- package/es/scale-container/index.js +1 -1
- package/es/scale-view/index.js +52 -50
- package/es/scale-view/style.css +1 -1
- package/es/select/index.js +12 -12
- package/es/select-label/index.js +36 -34
- package/es/select-label/style.css +1 -1
- package/es/select-person/index.js +2 -2
- package/es/shortcut-setter/index.js +10 -10
- package/es/skeleton/index.js +8 -8
- package/es/slider/index.js +8 -8
- package/es/space/index.js +8 -8
- package/es/spin/index.js +8 -8
- package/es/statistic/index.js +8 -8
- package/es/steps/index.js +8 -8
- package/es/switch/index.js +8 -8
- package/es/table-filter/index.js +2535 -1185
- package/es/table-filter/style.css +1 -1
- package/es/tabs/index.js +8 -8
- package/es/tag/index.js +9 -9
- package/es/time-picker/index.js +8 -8
- package/es/timeline/index.js +8 -8
- package/es/tooltip/index.js +8 -8
- package/es/transfer/index.js +8 -8
- package/es/tree/index.js +8 -8
- package/es/tree-select/index.js +8 -8
- package/es/upload/index.js +8 -8
- package/es/verification-code/index.js +2 -2
- package/lib/cui.common.js +3100 -1583
- package/lib/cui.umd.js +3100 -1583
- package/lib/cui.umd.min.js +54 -54
- package/package.json +1 -1
- package/packages/big-table/src/BigTable.vue +15 -3
- package/packages/big-table/src/assets/style/table-base.less +7 -4
- package/packages/select-label/select-label.vue +18 -2
- package/packages/table-filter/src/base-search-com/BaseSearch.vue +7 -15
- package/packages/table-filter/src/components/TextOverTooltip.vue +24 -11
- package/packages/table-filter/src/components/age-com/index.vue +3 -3
- package/packages/table-filter/src/components/checkbox-group/CheckboxGroup.vue +53 -0
- package/packages/table-filter/src/components/multi-select/multi-select.vue +7 -1
- package/packages/table-filter/src/components/out-quick-search/out-quick-search.vue +5 -119
- package/packages/table-filter/src/components/range-age/index.vue +11 -12
- package/packages/table-filter/src/components/render-widget/components/DateRangeQuick.vue +212 -0
- package/packages/table-filter/src/components/render-widget/components/NumberRange.vue +145 -0
- package/packages/table-filter/src/components/render-widget/components/SelectDynamic.vue +304 -0
- package/packages/table-filter/src/components/render-widget/components/index.js +4 -4
- package/packages/table-filter/src/components/render-widget/enums.js +27 -22
- package/packages/table-filter/src/components/render-widget/index.vue +38 -5
- package/packages/table-filter/src/components/render-widget/mixins/dynamic-method.js +158 -0
- package/packages/table-filter/src/components/render-widget/widgetCfgMaps.js +150 -45
- package/packages/table-filter/src/components/search-filter/SearchFilter.vue +3 -1
- package/packages/table-filter/src/mixins/mixins.js +192 -133
- package/packages/table-filter/src/mixins/out-quick-method.js +123 -0
- package/packages/table-filter/src/mixins/renderWidget.js +21 -13
- package/packages/table-filter/src/quick-search/QuickSearch.vue +144 -121
|
@@ -8,28 +8,28 @@ const DURATIONS = {
|
|
|
8
8
|
};
|
|
9
9
|
const EVALUATEList = [
|
|
10
10
|
{
|
|
11
|
-
label:
|
|
12
|
-
value:
|
|
11
|
+
label: '一星',
|
|
12
|
+
value: '1',
|
|
13
13
|
isSelect: false
|
|
14
14
|
},
|
|
15
15
|
{
|
|
16
|
-
label:
|
|
17
|
-
value:
|
|
16
|
+
label: '二星',
|
|
17
|
+
value: '2',
|
|
18
18
|
isSelect: false
|
|
19
19
|
},
|
|
20
20
|
{
|
|
21
|
-
label:
|
|
22
|
-
value:
|
|
21
|
+
label: '三星',
|
|
22
|
+
value: '3',
|
|
23
23
|
isSelect: false
|
|
24
24
|
},
|
|
25
25
|
{
|
|
26
|
-
label:
|
|
27
|
-
value:
|
|
26
|
+
label: '四星',
|
|
27
|
+
value: '4',
|
|
28
28
|
isSelect: false
|
|
29
29
|
},
|
|
30
30
|
{
|
|
31
|
-
label:
|
|
32
|
-
value:
|
|
31
|
+
label: '五星',
|
|
32
|
+
value: '5',
|
|
33
33
|
isSelect: false
|
|
34
34
|
}
|
|
35
35
|
];
|
|
@@ -51,8 +51,17 @@ export const filterApiFn = {
|
|
|
51
51
|
filterApiConfig: {
|
|
52
52
|
type: Object,
|
|
53
53
|
default: () => ({})
|
|
54
|
+
},
|
|
55
|
+
filterApiConfigOutSearch: {
|
|
56
|
+
type: Object,
|
|
57
|
+
default: () => ({})
|
|
54
58
|
}
|
|
55
59
|
},
|
|
60
|
+
data() {
|
|
61
|
+
return {
|
|
62
|
+
isOut: false
|
|
63
|
+
};
|
|
64
|
+
},
|
|
56
65
|
methods: {
|
|
57
66
|
/**
|
|
58
67
|
* 获取配置的 api 方法
|
|
@@ -63,7 +72,7 @@ export const filterApiFn = {
|
|
|
63
72
|
async handleGetConfigApi(params, key, config = {}) {
|
|
64
73
|
try {
|
|
65
74
|
// TODO: 判断 fn 是异步函数还是同步
|
|
66
|
-
const filterApiConfig = this?.filterApiConfig || {};
|
|
75
|
+
const filterApiConfig = this.isOut ? this.filterApiConfigOutSearch : this?.filterApiConfig || {};
|
|
67
76
|
const fn = filterApiConfig[key] || null;
|
|
68
77
|
if (typeof fn === 'function') {
|
|
69
78
|
let res = await fn(params, config);
|
|
@@ -133,7 +142,7 @@ export const $utils = {
|
|
|
133
142
|
debounce(func, wait, immediate) {
|
|
134
143
|
let timeout, args, context, timestamp, result;
|
|
135
144
|
|
|
136
|
-
const later = function
|
|
145
|
+
const later = function() {
|
|
137
146
|
// 据上一次触发时间间隔
|
|
138
147
|
const last = +new Date() - timestamp;
|
|
139
148
|
|
|
@@ -150,7 +159,7 @@ export const $utils = {
|
|
|
150
159
|
}
|
|
151
160
|
};
|
|
152
161
|
|
|
153
|
-
return function
|
|
162
|
+
return function(...args) {
|
|
154
163
|
context = this;
|
|
155
164
|
timestamp = +new Date();
|
|
156
165
|
const callNow = immediate && !timeout;
|
|
@@ -390,6 +399,54 @@ export const $utils = {
|
|
|
390
399
|
components: {}
|
|
391
400
|
};
|
|
392
401
|
|
|
402
|
+
// start--- 筛选外显默认值 ---start
|
|
403
|
+
export const outQuickSearchDefCommon = {
|
|
404
|
+
methods: {
|
|
405
|
+
isSelectMuiWordBookDef(item) {
|
|
406
|
+
return item.comType === 'SelectMuiWordBook' && item.explicitDefaultVal == 'firstOption';
|
|
407
|
+
},
|
|
408
|
+
isExistDefVal(item) {
|
|
409
|
+
return this.isSelectMuiWordBookDef(item) || !!item.explicitDefaultVal;
|
|
410
|
+
},
|
|
411
|
+
isSetDefVal() {
|
|
412
|
+
return this.outSearchFieldList.some(v => {
|
|
413
|
+
if (this.isRender(v)) {
|
|
414
|
+
return this.isExistDefValByRenderWidget(v);
|
|
415
|
+
}
|
|
416
|
+
return this.isExistDefVal(v);
|
|
417
|
+
});
|
|
418
|
+
},
|
|
419
|
+
async handleDefVal(config) {
|
|
420
|
+
try {
|
|
421
|
+
let isDef = this.isSetDefVal();
|
|
422
|
+
if (!isDef) return;
|
|
423
|
+
let promises = [];
|
|
424
|
+
this.outSearchFieldList.map(v => {
|
|
425
|
+
if (this.isRender(v)) {
|
|
426
|
+
if (this.isExplicitDefaultVal(v)) {
|
|
427
|
+
this.$set(v, 'initSearch', false);
|
|
428
|
+
promises.push(this.getWordbookFirstOptionRender(v));
|
|
429
|
+
}
|
|
430
|
+
}
|
|
431
|
+
if (this.isSelectMuiWordBookDef(v)) {
|
|
432
|
+
this.$set(v, 'initSearch', false);
|
|
433
|
+
promises.push(this.getWordbookFirstOption(v));
|
|
434
|
+
}
|
|
435
|
+
});
|
|
436
|
+
if (promises.length) {
|
|
437
|
+
await Promise.allSettled(promises);
|
|
438
|
+
}
|
|
439
|
+
let type = config?.type === 'reset' ? '' : 'outSearchInit';
|
|
440
|
+
this.outFilterChange({ type });
|
|
441
|
+
} catch (err) {
|
|
442
|
+
console.log(err);
|
|
443
|
+
}
|
|
444
|
+
}
|
|
445
|
+
}
|
|
446
|
+
};
|
|
447
|
+
|
|
448
|
+
// end--- 筛选外显默认值 ---end
|
|
449
|
+
|
|
393
450
|
// start--- 筛选外显 ---start
|
|
394
451
|
export const outQuickSearchFn = {
|
|
395
452
|
mixins: [renderWidget],
|
|
@@ -400,36 +457,36 @@ export const outQuickSearchFn = {
|
|
|
400
457
|
// 直接渲染相应组件,不经过下面的字段判断
|
|
401
458
|
if (this.initRenderWidgetCfg(el)) return;
|
|
402
459
|
|
|
403
|
-
el.setting = typeof el.setting ==
|
|
404
|
-
const attr = el?.settingObj?.attr ||
|
|
405
|
-
const isPreciseSearch = el?.settingObj?.isPreciseSearch ||
|
|
406
|
-
const showSetting = el?.setting?.showSetting || []
|
|
460
|
+
el.setting = typeof el.setting == 'string' ? JSON.parse(el.setting) : el.setting;
|
|
461
|
+
const attr = el?.settingObj?.attr || '';
|
|
462
|
+
const isPreciseSearch = el?.settingObj?.isPreciseSearch || '';
|
|
463
|
+
const showSetting = el?.setting?.showSetting || [];
|
|
407
464
|
/**
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
let textCon = el.fieldType ==
|
|
465
|
+
* NUMBER和TEXT属性字段
|
|
466
|
+
* 如果 开启了精准搜索,则传条件的时候 要传 EQ
|
|
467
|
+
* isPreciseSearch: 0/1
|
|
468
|
+
*/
|
|
469
|
+
let textCon = el.fieldType == 'TEXT' && isPreciseSearch == 1 ? 'EQ' : 'CL';
|
|
413
470
|
let advanceOptionSetting = el.advanceOptionSetting;
|
|
414
471
|
let wordbookId = el?.setting?.wordbook?.id;
|
|
415
472
|
// let advanceColWidth = el.advanceColWidth;
|
|
416
473
|
// 映射优先级最高
|
|
417
474
|
if (showSetting?.length) {
|
|
418
|
-
let tvalue = []
|
|
475
|
+
let tvalue = [];
|
|
419
476
|
// 设置了默认值
|
|
420
477
|
let df = el.explicitDefaultVal;
|
|
421
|
-
if(df){
|
|
478
|
+
if (df) {
|
|
422
479
|
if (df == 'firstOption') {
|
|
423
480
|
tvalue = String(advanceOptionSetting) === '0' ? 0 : [0];
|
|
424
481
|
} else {
|
|
425
|
-
if(String(advanceOptionSetting) === '0'){
|
|
482
|
+
if (String(advanceOptionSetting) === '0') {
|
|
426
483
|
// 单选
|
|
427
484
|
const index = showSetting.findIndex(v => v.change_text == df);
|
|
428
485
|
if (index > -1) tvalue = index;
|
|
429
486
|
} else {
|
|
430
487
|
// 多选 多默认值 处理
|
|
431
488
|
const dfs = df.split(',');
|
|
432
|
-
dfs.forEach(
|
|
489
|
+
dfs.forEach(d => {
|
|
433
490
|
const index = showSetting.findIndex(v => v.change_text == d);
|
|
434
491
|
if (index > -1) tvalue.push(index);
|
|
435
492
|
});
|
|
@@ -437,27 +494,27 @@ export const outQuickSearchFn = {
|
|
|
437
494
|
}
|
|
438
495
|
}
|
|
439
496
|
// 存在映射 使用下拉多选框
|
|
440
|
-
this.$set(el,
|
|
441
|
-
this.$set(el,
|
|
442
|
-
this.$set(el,
|
|
443
|
-
this.$set(el,
|
|
497
|
+
this.$set(el, 'con', 'CONVERT');
|
|
498
|
+
this.$set(el, 'com', 'SelectMui');
|
|
499
|
+
this.$set(el, 'comType', 'SelectMui');
|
|
500
|
+
this.$set(el, 'value', tvalue);
|
|
444
501
|
const labelList = el.setting?.showSetting.map(i => {
|
|
445
502
|
i.labelName = i.change_text;
|
|
446
503
|
return i;
|
|
447
504
|
});
|
|
448
|
-
this.$set(el,
|
|
505
|
+
this.$set(el, 'labelList', labelList);
|
|
449
506
|
} else if (!this.$utils.isEmpty(el.setting?.wordbook) && wordbookId) {
|
|
450
507
|
// TODO:
|
|
451
508
|
// 存在映射 wordbook
|
|
452
|
-
let isTree =
|
|
509
|
+
let isTree = 'tree' === el?.setting?.wordbook?.showType;
|
|
453
510
|
let comType = isTree ? 'treeSelect' : 'SelectMuiWordBook';
|
|
454
511
|
let defVal = isTree ? [] : [];
|
|
455
|
-
this.$set(el,
|
|
456
|
-
this.$set(el,
|
|
457
|
-
this.$set(el,
|
|
458
|
-
this.$set(el,
|
|
459
|
-
this.$set(el,
|
|
460
|
-
this.$set(el,
|
|
512
|
+
this.$set(el, 'con', 'QUOTE');
|
|
513
|
+
this.$set(el, 'com', 'SelectMui');
|
|
514
|
+
this.$set(el, 'comType', comType);
|
|
515
|
+
this.$set(el, 'value', defVal);
|
|
516
|
+
this.$set(el, 'dataSource', []);
|
|
517
|
+
this.$set(el, 'searchPageConfig', {
|
|
461
518
|
keyword: undefined,
|
|
462
519
|
isRequest: false, // 是否已请求
|
|
463
520
|
page: 1, // 当前页
|
|
@@ -465,91 +522,88 @@ export const outQuickSearchFn = {
|
|
|
465
522
|
hasNextPage: false
|
|
466
523
|
});
|
|
467
524
|
} else {
|
|
468
|
-
if ([
|
|
469
|
-
this.$set(el,
|
|
470
|
-
this.$set(el,
|
|
471
|
-
this.$set(el,
|
|
472
|
-
this.$set(el,
|
|
473
|
-
if (attr ==
|
|
474
|
-
this.$set(el,
|
|
475
|
-
this.$set(el,
|
|
525
|
+
if (['MONEY', 'PERCENTAGE', 'AGE', 'NUMBER'].includes(attr) || el.fieldType == 'NUMBER') {
|
|
526
|
+
this.$set(el, 'con', 'BIGANDLESS');
|
|
527
|
+
this.$set(el, 'com', 'Number');
|
|
528
|
+
this.$set(el, 'lessValue', '');
|
|
529
|
+
this.$set(el, 'bigValue', '');
|
|
530
|
+
if (attr == 'AGE' && el.fieldType != 'NUMBER') {
|
|
531
|
+
this.$set(el, 'AGEAttr', true);
|
|
532
|
+
this.$set(el, 'inputUnit', '岁');
|
|
476
533
|
}
|
|
477
|
-
if (el.fieldType ==
|
|
478
|
-
this.$set(el,
|
|
534
|
+
if (el.fieldType == 'NUMBER' && attr == 'PERCENTAGE') {
|
|
535
|
+
this.$set(el, 'inputUnit', '%');
|
|
479
536
|
}
|
|
480
|
-
} else if (
|
|
481
|
-
["BIRTHDAY", "DATE", "TASKDATE"].includes(attr) ||
|
|
482
|
-
["DATETIME", "DATE"].includes(el.fieldType)
|
|
483
|
-
) {
|
|
537
|
+
} else if (['BIRTHDAY', 'DATE', 'TASKDATE'].includes(attr) || ['DATETIME', 'DATE'].includes(el.fieldType)) {
|
|
484
538
|
// 查找默认值
|
|
485
539
|
let value = this.getSearchDefValueByLimit(el, this.searchFieldLimit) || [];
|
|
486
540
|
// explicitDefaultVal: "YESTERDAY"
|
|
487
541
|
// explicitRequired: 1
|
|
488
542
|
|
|
489
543
|
// 配置了默认值
|
|
490
|
-
if(el.explicitDefaultVal){
|
|
544
|
+
if (el.explicitDefaultVal) {
|
|
491
545
|
// let showFormat = attr === "BIRTHDAY" ? 'MM-DD':'YYYY-MM-DD HH:mm:ss';
|
|
492
|
-
let t = timeDomain.getTimeDomain(el.explicitDefaultVal)
|
|
493
|
-
if(t.length > 0){
|
|
546
|
+
let t = timeDomain.getTimeDomain(el.explicitDefaultVal);
|
|
547
|
+
if (t.length > 0) {
|
|
494
548
|
value = t;
|
|
495
549
|
}
|
|
496
550
|
}
|
|
497
|
-
this.$set(el,
|
|
498
|
-
this.$set(el,
|
|
499
|
-
this.$set(el,
|
|
500
|
-
if (attr ===
|
|
501
|
-
this.$set(el,
|
|
502
|
-
this.$set(el,
|
|
503
|
-
} else if([
|
|
551
|
+
this.$set(el, 'con', 'IN');
|
|
552
|
+
this.$set(el, 'com', 'DatePicker');
|
|
553
|
+
this.$set(el, 'value', value);
|
|
554
|
+
if (attr === 'BIRTHDAY') {
|
|
555
|
+
this.$set(el, 'showFormat', 'MM-DD');
|
|
556
|
+
this.$set(el, 'showTime', false);
|
|
557
|
+
} else if (['TODAY', 'TOMORROW', 'YESTERDAY'].includes(el.explicitDefaultVal)) {
|
|
504
558
|
// 如果外显默认是 以上三个,展示一个框,时间不可选
|
|
505
559
|
let [v] = value;
|
|
506
|
-
this.$set(el,
|
|
507
|
-
this.$set(el,
|
|
508
|
-
this.$set(el,
|
|
509
|
-
this.$set(el,
|
|
560
|
+
this.$set(el, 'showFormat', 'YYYY-MM-DD');
|
|
561
|
+
this.$set(el, 'showTime', false);
|
|
562
|
+
this.$set(el, 'com', 'DayPicker');
|
|
563
|
+
this.$set(el, 'value', v || moment());
|
|
510
564
|
} else {
|
|
511
|
-
this.$set(el,
|
|
512
|
-
this.$set(el,
|
|
565
|
+
this.$set(el, 'showFormat', 'YYYY-MM-DD HH:mm:ss');
|
|
566
|
+
this.$set(el, 'showTime', true);
|
|
513
567
|
}
|
|
514
|
-
} else if ([
|
|
515
|
-
this.$set(el,
|
|
516
|
-
this.$set(el,
|
|
517
|
-
this.$set(el,
|
|
518
|
-
if (attr ==
|
|
568
|
+
} else if (['LABEL', 'EVALUATE'].includes(attr)) {
|
|
569
|
+
this.$set(el, 'con', 'CL');
|
|
570
|
+
this.$set(el, 'com', 'SelectMui');
|
|
571
|
+
this.$set(el, 'value', []);
|
|
572
|
+
if (attr == 'EVALUATE') {
|
|
519
573
|
let list = EVALUATEList.map(i => {
|
|
520
574
|
i.labelName = i.label;
|
|
521
575
|
return i;
|
|
522
576
|
});
|
|
523
|
-
this.$set(el,
|
|
577
|
+
this.$set(el, 'labelList', list);
|
|
524
578
|
} else {
|
|
525
579
|
this.handleSetLabelOptions(el.setting?.labelType, el);
|
|
526
580
|
}
|
|
527
|
-
} else if (
|
|
528
|
-
this.$set(el,
|
|
529
|
-
this.$set(el,
|
|
530
|
-
this.$set(el,
|
|
531
|
-
this.$set(el,
|
|
532
|
-
this.$set(el,
|
|
533
|
-
} else if ([
|
|
534
|
-
this.$set(el,
|
|
535
|
-
this.$set(el,
|
|
536
|
-
this.$set(el,
|
|
537
|
-
this.$set(el,
|
|
581
|
+
} else if ('PASSWORD' === attr) {
|
|
582
|
+
this.$set(el, 'con', el.fieldType === 'NUMBER' ? 'EQ' : textCon);
|
|
583
|
+
this.$set(el, 'comAttr', 'PASSWORD');
|
|
584
|
+
this.$set(el, 'PASSWORDTYPE', true);
|
|
585
|
+
this.$set(el, 'value', '');
|
|
586
|
+
this.$set(el, 'com', 'Text');
|
|
587
|
+
} else if (['DURATION'].includes(attr)) {
|
|
588
|
+
this.$set(el, 'con', 'EQ');
|
|
589
|
+
this.$set(el, 'value', '');
|
|
590
|
+
this.$set(el, 'com', 'Text');
|
|
591
|
+
this.$set(el, 'attr', 'DURATION');
|
|
538
592
|
} else {
|
|
539
|
-
this.$set(el,
|
|
540
|
-
this.$set(el,
|
|
541
|
-
this.$set(el,
|
|
542
|
-
this.$set(el,
|
|
593
|
+
this.$set(el, 'con', textCon);
|
|
594
|
+
this.$set(el, 'isPreciseSearch', isPreciseSearch == 1);
|
|
595
|
+
this.$set(el, 'value', '');
|
|
596
|
+
this.$set(el, 'com', 'Text');
|
|
543
597
|
}
|
|
544
598
|
}
|
|
545
599
|
});
|
|
546
600
|
},
|
|
547
601
|
handleSetLabelOptions(labelType, el) {
|
|
548
|
-
this.handleRequestedLabel(labelType ||
|
|
602
|
+
this.handleRequestedLabel(labelType || '')
|
|
549
603
|
.then(({ data }) => {
|
|
550
|
-
if (data.result ===
|
|
604
|
+
if (data.result === 'SUCCESS') {
|
|
551
605
|
let labelList = data.map.rows || [];
|
|
552
|
-
this.$set(el,
|
|
606
|
+
this.$set(el, 'labelList', labelList);
|
|
553
607
|
}
|
|
554
608
|
})
|
|
555
609
|
.catch(err => console.log(err));
|
|
@@ -569,45 +623,53 @@ export const outQuickSearchFn = {
|
|
|
569
623
|
let temp = {
|
|
570
624
|
field_key: item.columnName,
|
|
571
625
|
con: item.con,
|
|
572
|
-
value:
|
|
573
|
-
limit_date:
|
|
574
|
-
start_val: item.start_val ||
|
|
575
|
-
end_val: item.end_val ||
|
|
576
|
-
unit: item.unit ||
|
|
626
|
+
value: '',
|
|
627
|
+
limit_date: '',
|
|
628
|
+
start_val: item.start_val || '',
|
|
629
|
+
end_val: item.end_val || '',
|
|
630
|
+
unit: item.unit || '',
|
|
577
631
|
id: item.id
|
|
578
632
|
};
|
|
579
|
-
if (item.com ===
|
|
633
|
+
if (item.com === 'Text' && item.value) {
|
|
580
634
|
temp.value = item.value;
|
|
581
635
|
conObj.push(temp);
|
|
582
636
|
}
|
|
583
637
|
let advanceOptionSetting = item.advanceOptionSetting;
|
|
584
|
-
if (item.com ===
|
|
638
|
+
if (item.com === 'SelectMui' && vexutils.anyNotEmpty(item.value)) {
|
|
585
639
|
// 单选模式
|
|
586
640
|
let single = String(advanceOptionSetting) === '0';
|
|
587
|
-
if(single){
|
|
588
|
-
if(!Array.isArray(item.value)) {
|
|
589
|
-
item.value = [item.value]
|
|
641
|
+
if (single) {
|
|
642
|
+
if (!Array.isArray(item.value)) {
|
|
643
|
+
item.value = [item.value];
|
|
590
644
|
}
|
|
591
645
|
}
|
|
592
|
-
let hasArr = Array.isArray(item.value) && item.value.length > 0
|
|
593
|
-
if (item.comType ==
|
|
594
|
-
temp.value = item.value.join(
|
|
595
|
-
} else if(item.comType ==
|
|
646
|
+
let hasArr = Array.isArray(item.value) && item.value.length > 0;
|
|
647
|
+
if (item.comType == 'SelectMuiWordBook' && hasArr) {
|
|
648
|
+
temp.value = item.value.join('|#|');
|
|
649
|
+
} else if (item.comType == 'treeSelect') {
|
|
596
650
|
// 樹狀
|
|
597
651
|
let value = item.value;
|
|
598
|
-
if(typeof value === 'string'){
|
|
599
|
-
[value]
|
|
600
|
-
} else if(Array.isArray(value)){
|
|
601
|
-
value = value.map(
|
|
602
|
-
let [k] = typeof v === 'string' ? v.split('<&=&>'): [];
|
|
652
|
+
if (typeof value === 'string') {
|
|
653
|
+
[value] = value.split('<&=&>');
|
|
654
|
+
} else if (Array.isArray(value)) {
|
|
655
|
+
value = value.map(v => {
|
|
656
|
+
let [k] = typeof v === 'string' ? v.split('<&=&>') : [];
|
|
603
657
|
return k;
|
|
604
|
-
})
|
|
605
|
-
value = value.join(
|
|
658
|
+
});
|
|
659
|
+
value = value.join('|#|');
|
|
606
660
|
}
|
|
607
661
|
temp.value = value;
|
|
662
|
+
} else if (item.settingObj.attr === 'EVALUATE') {
|
|
663
|
+
if (hasArr) {
|
|
664
|
+
let value = [];
|
|
665
|
+
value = item.value.map(i => {
|
|
666
|
+
return item.labelList[i].value;
|
|
667
|
+
});
|
|
668
|
+
temp.value = value.join('|#|');
|
|
669
|
+
}
|
|
608
670
|
} else {
|
|
609
|
-
if(hasArr){
|
|
610
|
-
if (item.con ==
|
|
671
|
+
if (hasArr) {
|
|
672
|
+
if (item.con == 'CONVERT') {
|
|
611
673
|
// 存在映射
|
|
612
674
|
let value = [];
|
|
613
675
|
value = item.value.map(i => {
|
|
@@ -619,17 +681,16 @@ export const outQuickSearchFn = {
|
|
|
619
681
|
value = item.value.map(i => {
|
|
620
682
|
return item.labelList[i].labelName;
|
|
621
683
|
});
|
|
622
|
-
temp.value = value.join(
|
|
684
|
+
temp.value = value.join('|#|');
|
|
623
685
|
}
|
|
624
686
|
}
|
|
625
|
-
|
|
626
687
|
}
|
|
627
688
|
conObj.push(temp);
|
|
628
689
|
}
|
|
629
|
-
if (item.com ===
|
|
690
|
+
if (item.com === 'DatePicker' && item.value.length) {
|
|
630
691
|
const start_val = item.value[0].format(item.showFormat);
|
|
631
692
|
const end_val = item.value[1].format(item.showFormat);
|
|
632
|
-
if (item.settingObj.attr ===
|
|
693
|
+
if (item.settingObj.attr === 'BIRTHDAY') {
|
|
633
694
|
temp.limit_date = `${start_val}~${end_val}`;
|
|
634
695
|
} else {
|
|
635
696
|
temp.start_val = start_val;
|
|
@@ -637,10 +698,10 @@ export const outQuickSearchFn = {
|
|
|
637
698
|
}
|
|
638
699
|
conObj.push(temp);
|
|
639
700
|
}
|
|
640
|
-
if (item.com ===
|
|
701
|
+
if (item.com === 'DayPicker' && item.value) {
|
|
641
702
|
const start_val = item.value.startOf('day').format('YYYY-MM-DD HH:mm:ss');
|
|
642
703
|
const end_val = item.value.endOf('day').format('YYYY-MM-DD HH:mm:ss');
|
|
643
|
-
if (item.settingObj.attr ===
|
|
704
|
+
if (item.settingObj.attr === 'BIRTHDAY') {
|
|
644
705
|
temp.limit_date = `${start_val}~${end_val}`;
|
|
645
706
|
} else {
|
|
646
707
|
temp.start_val = start_val;
|
|
@@ -649,8 +710,8 @@ export const outQuickSearchFn = {
|
|
|
649
710
|
conObj.push(temp);
|
|
650
711
|
}
|
|
651
712
|
if (item.AGEAttr) {
|
|
652
|
-
temp.value =
|
|
653
|
-
temp.con =
|
|
713
|
+
temp.value = '';
|
|
714
|
+
temp.con = 'IN';
|
|
654
715
|
let start_val = Number(item.lessValue) * 365;
|
|
655
716
|
let end_val = Number(item.bigValue) * 365;
|
|
656
717
|
if ((start_val || start_val === 0) && end_val) {
|
|
@@ -658,7 +719,7 @@ export const outQuickSearchFn = {
|
|
|
658
719
|
temp.end_val = end_val;
|
|
659
720
|
conObj.push(JSON.parse(JSON.stringify(temp)));
|
|
660
721
|
}
|
|
661
|
-
} else if (item.com ===
|
|
722
|
+
} else if (item.com === 'Number') {
|
|
662
723
|
// 传参范围修改
|
|
663
724
|
let lessValue = item.lessValue ?? '';
|
|
664
725
|
let bigValue = item.bigValue ?? '';
|
|
@@ -670,17 +731,15 @@ export const outQuickSearchFn = {
|
|
|
670
731
|
temp.value = `${lessValue}~${bigValue}`;
|
|
671
732
|
}
|
|
672
733
|
|
|
673
|
-
temp.con =
|
|
734
|
+
temp.con = 'EQ';
|
|
674
735
|
conObj.push(JSON.parse(JSON.stringify(temp)));
|
|
675
736
|
}
|
|
676
|
-
if (item.com ===
|
|
677
|
-
temp.value = item.value.join(
|
|
737
|
+
if (item.com === 'SelectQuote' && item.value.length) {
|
|
738
|
+
temp.value = item.value.join('|#|');
|
|
678
739
|
conObj.push(temp);
|
|
679
740
|
}
|
|
680
741
|
});
|
|
681
|
-
let res = conObj.filter(
|
|
682
|
-
item => item.value || item.limit_date || item.start_val || item.end_val
|
|
683
|
-
);
|
|
742
|
+
let res = conObj.filter(item => item.value || item.limit_date || item.start_val || item.end_val);
|
|
684
743
|
return res;
|
|
685
744
|
},
|
|
686
745
|
getConObjParams() {
|
|
@@ -692,7 +751,7 @@ export const outQuickSearchFn = {
|
|
|
692
751
|
realation.push({
|
|
693
752
|
field_key: item.primaryField,
|
|
694
753
|
valueField: item.relationField,
|
|
695
|
-
con:
|
|
754
|
+
con: 'QUOTE_IN',
|
|
696
755
|
tableId: item.tableId,
|
|
697
756
|
parameterConversionId: item.parameterConversionId,
|
|
698
757
|
converFun: item.converFun,
|
|
@@ -701,7 +760,7 @@ export const outQuickSearchFn = {
|
|
|
701
760
|
preSqlExpression: item.preSqlExpression,
|
|
702
761
|
quote_con: {
|
|
703
762
|
conObj: this.getConObj(item.fieldList),
|
|
704
|
-
sqlExpression:
|
|
763
|
+
sqlExpression: ''
|
|
705
764
|
}
|
|
706
765
|
});
|
|
707
766
|
}
|
|
@@ -710,5 +769,5 @@ export const outQuickSearchFn = {
|
|
|
710
769
|
return conObj || [];
|
|
711
770
|
}
|
|
712
771
|
}
|
|
713
|
-
}
|
|
772
|
+
};
|
|
714
773
|
// end--- 筛选外显 ---end
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import vexutils from '@/utils/vexutils';
|
|
2
|
+
import wordBookutils from './wordBookutils';
|
|
3
|
+
|
|
4
|
+
export default {
|
|
5
|
+
data() {
|
|
6
|
+
return {
|
|
7
|
+
fetchingWordbook: false
|
|
8
|
+
};
|
|
9
|
+
},
|
|
10
|
+
methods: {
|
|
11
|
+
handleWordBookSearch(value, item, config = {}) {
|
|
12
|
+
if (item.comType != 'SelectMuiWordBook') return;
|
|
13
|
+
let curAutograph = item.settingObj.wordbook && item.settingObj.wordbook.autograph;
|
|
14
|
+
let params = {
|
|
15
|
+
keyword: value,
|
|
16
|
+
autograph: curAutograph
|
|
17
|
+
};
|
|
18
|
+
let obj = {};
|
|
19
|
+
let p = item?.setting?.wordbook?.params || undefined;
|
|
20
|
+
if (p) {
|
|
21
|
+
item.setting.wordbook.params.forEach(item => {
|
|
22
|
+
obj[item.p_name] = item.p_value;
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
let rp = { ...params, ...obj, ...config };
|
|
26
|
+
this.getWordbookData(item.setting.wordbook, rp).then(({ data }) => {
|
|
27
|
+
this.handleWordbookData(item, data, rp);
|
|
28
|
+
});
|
|
29
|
+
},
|
|
30
|
+
wordbookDataParams(item) {
|
|
31
|
+
let obj = {};
|
|
32
|
+
if (item.setting.wordbook.params) {
|
|
33
|
+
item.setting.wordbook.params.forEach(item => {
|
|
34
|
+
obj[item.p_name] = item.p_value;
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
if (item.settingObj.wordbook) {
|
|
38
|
+
obj.autograph = item.settingObj.wordbook.autograph;
|
|
39
|
+
}
|
|
40
|
+
let df = item.explicitDefaultVal;
|
|
41
|
+
if (df != 'firstOption') {
|
|
42
|
+
obj.keyword = df;
|
|
43
|
+
}
|
|
44
|
+
return obj;
|
|
45
|
+
},
|
|
46
|
+
async getWordbookFirstOption(item) {
|
|
47
|
+
try {
|
|
48
|
+
let obj = this.wordbookDataParams(item);
|
|
49
|
+
let { data } = (await this.getWordbookData(item.setting.wordbook, obj)) || {};
|
|
50
|
+
this.handleWordbookData(item, data, obj);
|
|
51
|
+
} catch (err) {
|
|
52
|
+
console.log(err);
|
|
53
|
+
}
|
|
54
|
+
},
|
|
55
|
+
|
|
56
|
+
dropdownVisibleChange(open, item, config = {}) {
|
|
57
|
+
if (item.comType != 'SelectMuiWordBook') return;
|
|
58
|
+
if (open) {
|
|
59
|
+
let obj = this.wordbookDataParams(item);
|
|
60
|
+
this.getWordbookData(item.setting.wordbook, obj).then(({ data }) => {
|
|
61
|
+
this.handleWordbookData(item, data, obj);
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
handleFirstDef(item, rows) {
|
|
66
|
+
// 初始化获取值
|
|
67
|
+
let showKeys = item?.setting?.wordbook?.showKeys || [];
|
|
68
|
+
let initSearch = this.isOut ? item.initSearch : this.initSearch;
|
|
69
|
+
if (initSearch) return;
|
|
70
|
+
let df = item.explicitDefaultVal;
|
|
71
|
+
if (df) {
|
|
72
|
+
let defval = [];
|
|
73
|
+
if (df === 'firstOption') {
|
|
74
|
+
let [v, k] = rows;
|
|
75
|
+
// 如果有添加提示标题,取第二个
|
|
76
|
+
if (showKeys.length > 0 && item.hasFieldList) {
|
|
77
|
+
v = k;
|
|
78
|
+
}
|
|
79
|
+
v && (defval = [v.myName]);
|
|
80
|
+
} else {
|
|
81
|
+
let f = rows.find(v => v.myName.includes(df));
|
|
82
|
+
if (f) {
|
|
83
|
+
defval = [f.myName];
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
item.value = [...defval];
|
|
87
|
+
item.search_DefaultValue = [...defval];
|
|
88
|
+
}
|
|
89
|
+
this.isOut ? this.$set(item, 'initSearch', true) : (this.initSearch = true);
|
|
90
|
+
},
|
|
91
|
+
handleWordbookData(item, data, params) {
|
|
92
|
+
this.$set(item, 'hasFieldList', false);
|
|
93
|
+
const { rows, hasFieldList, searchPageConfig } = wordBookutils.handleWordbookData(item, data, params);
|
|
94
|
+
this.$set(item, 'hasFieldList', hasFieldList);
|
|
95
|
+
this.$set(item, 'dataSource', rows);
|
|
96
|
+
item.searchPageConfig = Object.assign(item.searchPageConfig, searchPageConfig);
|
|
97
|
+
this.handleFirstDef(item, rows);
|
|
98
|
+
},
|
|
99
|
+
getWordbookData(o, obj) {
|
|
100
|
+
let { id, filterKeys, wordbookType } = o;
|
|
101
|
+
!this.isOut && (this.fetchingWordbook = true);
|
|
102
|
+
let resFieldKeys = Array.isArray(filterKeys) ? JSON.stringify(filterKeys) : filterKeys;
|
|
103
|
+
let params = {
|
|
104
|
+
wordbookId: id,
|
|
105
|
+
fieldKeys: resFieldKeys,
|
|
106
|
+
wordbookType: wordbookType || 'WORDBOOK',
|
|
107
|
+
asyncCount: 1, // 开启性能模式
|
|
108
|
+
...obj
|
|
109
|
+
};
|
|
110
|
+
return this.handleGetConfigApi(params, 'requestGetWordbookData', { fields: o })
|
|
111
|
+
.then(res => {
|
|
112
|
+
!this.isOut && (this.fetchingWordbook = false);
|
|
113
|
+
if (typeof res.data === 'object') {
|
|
114
|
+
res.data.reqParams = params;
|
|
115
|
+
}
|
|
116
|
+
return res;
|
|
117
|
+
})
|
|
118
|
+
.catch(() => {
|
|
119
|
+
!this.isOut && (this.fetchingWordbook = false);
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
};
|