cnhis-design-vue 2.1.65 → 2.1.68
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 +53 -20
- 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 +244 -164
- 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 +368 -353
- 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 +1022 -931
- 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 +56 -54
- package/es/scale-view/style.css +1 -1
- package/es/select/index.js +12 -12
- package/es/select-label/index.js +11 -11
- 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 +113 -119
- 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 +1514 -18633
- package/lib/cui.umd.js +1514 -18633
- package/lib/cui.umd.min.js +147 -155
- package/package.json +1 -1
- package/packages/big-table/src/BigTable.vue +23 -4
- package/packages/big-table/src/assets/style/table-base.less +2 -1
- package/packages/big-table/src/components/AutoLayoutButton.vue +59 -31
- package/packages/big-table/src/utils/eventBroadcast.js +24 -0
- package/packages/fabric-chart/src/fabric-chart/FabricLines.vue +128 -110
- package/packages/fabric-chart/src/fabric-chart/FabricPolylines.vue +27 -20
- package/packages/fabric-chart/src/fabric-chart/FabricTextGroup.vue +9 -8
- package/packages/fabric-chart/src/mixins/eventCommon.js +4 -4
- package/packages/fabric-chart/src/mixins/fabricCommon.js +8 -22
- package/packages/scale-view/formitem/r-choice.vue +87 -67
- package/packages/table-filter/src/base-search-com/BaseSearch.vue +6 -6
- package/packages/table-filter/src/quick-search/QuickSearch.vue +4 -4
|
@@ -127,12 +127,11 @@ export default {
|
|
|
127
127
|
this.canvas.on('mouse:up', event => {
|
|
128
128
|
if (event.button === 3) {
|
|
129
129
|
const { x, y } = event.pointer;
|
|
130
|
-
|
|
131
|
-
if (!(x < originX || x > endX || y < originY || y > endY)) {
|
|
130
|
+
if (this.isGridLimit(x, y)) {
|
|
132
131
|
this.activeEvent = event;
|
|
133
|
-
document.querySelector('.upper-canvas').addEventListener('contextmenu', this.addEventListenerContextmenu, true);
|
|
132
|
+
!this.isAddEventListenerContextmenu && document.querySelector('.upper-canvas').addEventListener('contextmenu', this.addEventListenerContextmenu, true);
|
|
133
|
+
this.isAddEventListenerContextmenu = true;
|
|
134
134
|
}
|
|
135
|
-
// this.willUpdateLine = line;
|
|
136
135
|
}
|
|
137
136
|
// 左键松开鼠标-批量删除
|
|
138
137
|
this.isSelectArea = false;
|
|
@@ -464,7 +463,7 @@ export default {
|
|
|
464
463
|
top: top - 5
|
|
465
464
|
});
|
|
466
465
|
};
|
|
467
|
-
const isDraw = (isMaxOrMin, maxOrMin) => isMaxOrMin &&
|
|
466
|
+
const isDraw = (isMaxOrMin, maxOrMin) => isMaxOrMin && !maxOrMin?.flickerable;
|
|
468
467
|
|
|
469
468
|
if (isDraw(isMax, max)) {
|
|
470
469
|
const line = drawLine(max);
|
|
@@ -490,7 +489,7 @@ export default {
|
|
|
490
489
|
*/
|
|
491
490
|
drawPolyline(polyline, polylineIndex, polylineType, polylineTypeId) {
|
|
492
491
|
const { originY, endY } = this.propItems;
|
|
493
|
-
const { pointAttr, lineAttr, list = [], critical = {} } = polyline;
|
|
492
|
+
const { pointAttr, lineAttr, list = [], critical = {}, diffValue = {} } = polyline;
|
|
494
493
|
this._iconClassName = polyline.type === 'img' && pointAttr.iconClassName ? pointAttr.iconClassName : '';
|
|
495
494
|
|
|
496
495
|
const pointList = [];
|
|
@@ -566,17 +565,24 @@ export default {
|
|
|
566
565
|
this.canvas.add(...lineList, ...res);
|
|
567
566
|
|
|
568
567
|
// 缓存需要闪烁的节点
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
const
|
|
573
|
-
if (
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
568
|
+
setFlickerablePoints.call(this, critical);
|
|
569
|
+
setFlickerablePoints.call(this, diffValue);
|
|
570
|
+
function setFlickerablePoints(diffObj) {
|
|
571
|
+
const { max, min } = diffObj;
|
|
572
|
+
if (max?.flickerable || min?.flickerable) {
|
|
573
|
+
const maxVal = max?.value;
|
|
574
|
+
const minVal = min?.value;
|
|
575
|
+
if (maxVal && max?.flickerable) {
|
|
576
|
+
this.flickerablePoints.push(...res.filter(point => +point.__value >= +maxVal).filter(point => !this.flickerablePoints.some(_point => isSamePoint(point, _point))));
|
|
577
|
+
}
|
|
578
|
+
if (minVal && min?.flickerable) {
|
|
579
|
+
this.flickerablePoints.push(...res.filter(point => +point.__value <= +minVal).filter(point => !this.flickerablePoints.some(_point => isSamePoint(point, _point))));
|
|
580
|
+
}
|
|
578
581
|
}
|
|
579
582
|
}
|
|
583
|
+
function isSamePoint(point, _point) {
|
|
584
|
+
return point.polylineTypeId == _point.polylineTypeId && point.polylineIndex === _point.polylineIndex && point.pointIndex === _point.pointIndex;
|
|
585
|
+
}
|
|
580
586
|
});
|
|
581
587
|
|
|
582
588
|
const params = { polyline, polylineIndex, polylineType, polylineTypeId };
|
|
@@ -1015,14 +1021,15 @@ export default {
|
|
|
1015
1021
|
}
|
|
1016
1022
|
},
|
|
1017
1023
|
// 打开右键菜单
|
|
1018
|
-
openRightModal(
|
|
1024
|
+
openRightModal() {
|
|
1025
|
+
const { clientX, pageX, clientY, pageY } = this.activeEvent.e;
|
|
1019
1026
|
this.rightPos = {
|
|
1020
|
-
clientX:
|
|
1021
|
-
clientY:
|
|
1027
|
+
clientX: clientX ?? pageX,
|
|
1028
|
+
clientY: clientY ?? pageY
|
|
1022
1029
|
};
|
|
1023
1030
|
this.isRightVisible = false;
|
|
1024
|
-
const target =
|
|
1025
|
-
const id = target
|
|
1031
|
+
const target = this.activeEvent.target;
|
|
1032
|
+
const id = target?.id || '';
|
|
1026
1033
|
this.$nextTick(() => {
|
|
1027
1034
|
if (id && id.includes('_polylinePoint_')) {
|
|
1028
1035
|
this._currentPoint = target;
|
|
@@ -117,23 +117,24 @@ export default {
|
|
|
117
117
|
this.canvas.on('mouse:up', event => {
|
|
118
118
|
if (event.button === 3) {
|
|
119
119
|
const { x, y } = event.pointer;
|
|
120
|
-
|
|
121
|
-
if (!(x < originX || x > endX || y < originY || y > endY)) {
|
|
120
|
+
if (this.isGridLimit(x, y)) {
|
|
122
121
|
this.activeEvent = event;
|
|
123
|
-
document.querySelector('.upper-canvas').addEventListener('contextmenu', this.addEventListenerContextmenu, true);
|
|
122
|
+
!this.isAddEventListenerContextmenu && document.querySelector('.upper-canvas').addEventListener('contextmenu', this.addEventListenerContextmenu, true);
|
|
123
|
+
this.isAddEventListenerContextmenu = true;
|
|
124
124
|
}
|
|
125
125
|
}
|
|
126
126
|
});
|
|
127
127
|
},
|
|
128
128
|
// 打开右键菜单
|
|
129
|
-
openRightModal(
|
|
129
|
+
openRightModal() {
|
|
130
|
+
const { clientX, pageX, clientY, pageY } = this.activeEvent.e;
|
|
130
131
|
this.rightPos = {
|
|
131
|
-
clientX:
|
|
132
|
-
clientY:
|
|
132
|
+
clientX: clientX ?? pageX,
|
|
133
|
+
clientY: clientY ?? pageY
|
|
133
134
|
};
|
|
134
135
|
this.isRightVisible = false;
|
|
135
|
-
const target =
|
|
136
|
-
const id = target
|
|
136
|
+
const target = this.activeEvent.target;
|
|
137
|
+
const id = target?.id || '';
|
|
137
138
|
this.$nextTick(() => {
|
|
138
139
|
if (id && id.includes('_other')) {
|
|
139
140
|
this._currentPoint = target || '';
|
|
@@ -7,7 +7,8 @@ export default {
|
|
|
7
7
|
y: 0
|
|
8
8
|
},
|
|
9
9
|
dropTimer: null,
|
|
10
|
-
isRightVisible: false
|
|
10
|
+
isRightVisible: false,
|
|
11
|
+
isAddEventListenerContextmenu: false
|
|
11
12
|
};
|
|
12
13
|
},
|
|
13
14
|
watch: {
|
|
@@ -79,13 +80,12 @@ export default {
|
|
|
79
80
|
event.preventDefault();
|
|
80
81
|
const x = event.offsetX;
|
|
81
82
|
const y = event.offsetY;
|
|
82
|
-
|
|
83
|
-
if (!(x < originX || x > endX || y < originY || y > endY)) {
|
|
83
|
+
if (this.isGridLimit(x, y)) {
|
|
84
84
|
this._active = {
|
|
85
85
|
left: x,
|
|
86
86
|
top: y
|
|
87
87
|
};
|
|
88
|
-
this.openRightModal(
|
|
88
|
+
this.openRightModal();
|
|
89
89
|
}
|
|
90
90
|
return false;
|
|
91
91
|
},
|
|
@@ -31,18 +31,6 @@ export default {
|
|
|
31
31
|
}
|
|
32
32
|
},
|
|
33
33
|
methods: {
|
|
34
|
-
// 根据x轴坐标获取对应的时间点
|
|
35
|
-
// getXValue(left) {
|
|
36
|
-
// const { xScaleList, xScaleCell, originX } = this.propItems;
|
|
37
|
-
// const minScale = Math.min(...xScaleList);
|
|
38
|
-
// const time = minScale + (left - originX) / xScaleCell;
|
|
39
|
-
// let d = new Date(time);
|
|
40
|
-
// const month = `00${d.getMonth() + 1}`.slice(-2);
|
|
41
|
-
// const day = `00${d.getDate()}`.slice(-2);
|
|
42
|
-
// const hours = `00${d.getHours()}`.slice(-2);
|
|
43
|
-
// const minute = `00${d.getMinutes()}`.slice(-2);
|
|
44
|
-
// return `${d.getFullYear()}-${month}-${day} ${hours}:${minute}`;
|
|
45
|
-
// },
|
|
46
34
|
getXValue(left) {
|
|
47
35
|
const { xScaleCellList, originX, endX, xScaleList } = this.propItems;
|
|
48
36
|
let time;
|
|
@@ -80,16 +68,14 @@ export default {
|
|
|
80
68
|
!~index && (index = xScaleCellList.length);
|
|
81
69
|
const obj = xScaleCellList[index - 1];
|
|
82
70
|
return obj.x + (time - obj.time) / obj.xScaleTime;
|
|
71
|
+
},
|
|
72
|
+
isGridLimit(x, y) {
|
|
73
|
+
const { originX, originY, endX, endY } = this.propItems;
|
|
74
|
+
return x >= originX && x <= endX && y >= originY && y <= endY;
|
|
75
|
+
},
|
|
76
|
+
isTopTreeAndGridLimit(x, y) {
|
|
77
|
+
const { endX, endYTop, originYTop } = this.propItems;
|
|
78
|
+
return x >= 0 && x <= endX && y >= originYTop && y <= endYTop;
|
|
83
79
|
}
|
|
84
|
-
// // 根据时间戳计算x轴坐标
|
|
85
|
-
// cumputedX(value) {
|
|
86
|
-
// if (!value) {
|
|
87
|
-
// return '';
|
|
88
|
-
// }
|
|
89
|
-
// const { xScaleList, xScaleCell, originX } = this.propItems;
|
|
90
|
-
// const time = new Date(value).getTime();
|
|
91
|
-
// const minScale = Math.min(...xScaleList);
|
|
92
|
-
// return originX + (time - minScale) * xScaleCell;
|
|
93
|
-
// },
|
|
94
80
|
}
|
|
95
81
|
};
|
|
@@ -6,18 +6,21 @@
|
|
|
6
6
|
@change="radioChange"
|
|
7
7
|
class="choice-wrap"
|
|
8
8
|
:class="['choice-wrap-' + (item.setting.chooseStyleSetting || 1)]"
|
|
9
|
+
>
|
|
10
|
+
<div
|
|
11
|
+
v-for="(o, i) in curOptions"
|
|
12
|
+
:key="o.key + i + o.label"
|
|
13
|
+
class="choice-radio-div"
|
|
9
14
|
>
|
|
10
15
|
<a-radio
|
|
11
|
-
v-for="(o, i) in curOptions"
|
|
12
16
|
class="choice-radio"
|
|
13
17
|
:value="o[choiceUseKey]"
|
|
14
|
-
:key="o.key + i + o.label"
|
|
15
|
-
:class="{ 'block-radio': !item.setting.isHorizontal }"
|
|
16
18
|
:disabled="isLock"
|
|
17
19
|
:style="{ color: choiceColor(o) }"
|
|
20
|
+
:class="{'choice-radio-presuffix':showPreSuffix(o)}"
|
|
18
21
|
>
|
|
19
22
|
<template v-if="showImgWrap(o)">
|
|
20
|
-
<span class="scale-choice-img-wrap">
|
|
23
|
+
<span class="scale-choice-img-wrap" @click.stop.prevent>
|
|
21
24
|
<img class="show-picture" :src="o.imageUrl" />
|
|
22
25
|
<div class="scale-preview-wrap">
|
|
23
26
|
<a-icon type="zoom-in" @click.stop.prevent="handlePreview(o.imageUrl, i)" />
|
|
@@ -26,11 +29,11 @@
|
|
|
26
29
|
</template>
|
|
27
30
|
<template>
|
|
28
31
|
<template v-if="isRadioItem && showPreSuffix(o)">
|
|
29
|
-
<
|
|
32
|
+
<template
|
|
30
33
|
v-if="o.prefix"
|
|
31
34
|
class="prefix-span"
|
|
32
35
|
:style="{ color: choiceColor(o) }"
|
|
33
|
-
>{{ o.prefix }}</
|
|
36
|
+
>{{ o.prefix }}</template>
|
|
34
37
|
<a-input
|
|
35
38
|
v-model="optionsPreSuffixObj[o.key]"
|
|
36
39
|
:disabled="isLock || inputLock"
|
|
@@ -38,11 +41,11 @@
|
|
|
38
41
|
:style="{ color: choiceColor(o) }"
|
|
39
42
|
placeholder="请输入"
|
|
40
43
|
/>
|
|
41
|
-
<
|
|
44
|
+
<template
|
|
42
45
|
v-if="o.suffix"
|
|
43
46
|
class="suffix-span"
|
|
44
47
|
:style="{ color: choiceColor(o) }"
|
|
45
|
-
>{{ o.suffix }}</
|
|
48
|
+
>{{ o.suffix }}</template>
|
|
46
49
|
</template>
|
|
47
50
|
<span v-else :style="{ color: choiceColor(o) }">{{ o.label }}</span>
|
|
48
51
|
<a-input
|
|
@@ -55,6 +58,7 @@
|
|
|
55
58
|
/>
|
|
56
59
|
</template>
|
|
57
60
|
</a-radio>
|
|
61
|
+
</div>
|
|
58
62
|
</a-radio-group>
|
|
59
63
|
<a-checkbox-group
|
|
60
64
|
v-else-if="item.type == 'CHECKBOX_BLOCK' || item.type === 'EVALUATE_CHECKBOX_BLOCK'"
|
|
@@ -63,58 +67,62 @@
|
|
|
63
67
|
class="choice-wrap"
|
|
64
68
|
:class="['choice-wrap-' + (item.setting.chooseStyleSetting || 1)]"
|
|
65
69
|
>
|
|
66
|
-
<
|
|
67
|
-
class="choice-checkbox"
|
|
70
|
+
<div
|
|
68
71
|
v-for="(o, i) in curOptions"
|
|
69
72
|
:key="o.key + i + o.label"
|
|
70
|
-
|
|
71
|
-
:class="{ 'block-checkbox': !item.setting.isHorizontal }"
|
|
72
|
-
:disabled="isLock"
|
|
73
|
-
:style="{ color: choiceColor(o) }"
|
|
73
|
+
class="choice-radio-div"
|
|
74
74
|
>
|
|
75
|
-
<
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
75
|
+
<a-checkbox
|
|
76
|
+
class="choice-checkbox"
|
|
77
|
+
:value="o[choiceUseKey]"
|
|
78
|
+
:disabled="isLock"
|
|
79
|
+
:style="{ color: choiceColor(o) }"
|
|
80
|
+
:class="{'choice-checkbox-presuffix':showPreSuffix(o)}"
|
|
81
|
+
>
|
|
82
|
+
<template v-if="showImgWrap(o)">
|
|
83
|
+
<span class="scale-choice-img-wrap" @click.stop.prevent>
|
|
84
|
+
<img class="show-picture" :src="o.imageUrl" />
|
|
85
|
+
<div class="scale-preview-wrap">
|
|
86
|
+
<a-icon type="zoom-in" @click.stop.prevent="handlePreview(o.imageUrl, i)" />
|
|
87
|
+
</div>
|
|
88
|
+
</span>
|
|
89
|
+
</template>
|
|
90
|
+
<template>
|
|
91
|
+
<template v-if="isCheckboxItem && showPreSuffix(o)">
|
|
92
|
+
<template
|
|
93
|
+
v-if="o.prefix"
|
|
94
|
+
class="prefix-span"
|
|
95
|
+
:style="{ color: choiceColor(o) }"
|
|
96
|
+
>{{ o.prefix }}</template>
|
|
97
|
+
<a-input
|
|
98
|
+
v-model="optionsPreSuffixObj[o.key]"
|
|
99
|
+
:disabled="isLock || inputLock"
|
|
100
|
+
@change="inputPreSuffixCheckboxChange(o, i)"
|
|
101
|
+
:style="{ color: choiceColor(o) }"
|
|
102
|
+
placeholder="请输入"
|
|
103
|
+
/>
|
|
104
|
+
<template
|
|
105
|
+
v-if="o.suffix"
|
|
106
|
+
class="suffix-span"
|
|
107
|
+
:style="{ color: choiceColor(o) }"
|
|
108
|
+
>{{ o.suffix }}</template>
|
|
109
|
+
</template>
|
|
85
110
|
<span
|
|
86
|
-
v-
|
|
87
|
-
|
|
111
|
+
v-else
|
|
112
|
+
style="white-space: initial;"
|
|
88
113
|
:style="{ color: choiceColor(o) }"
|
|
89
|
-
>{{ o.
|
|
114
|
+
>{{ o.label }}</span>
|
|
90
115
|
<a-input
|
|
91
|
-
v-
|
|
116
|
+
v-if="o.importability"
|
|
117
|
+
v-model="othersText"
|
|
92
118
|
:disabled="isLock || inputLock"
|
|
93
|
-
@change="inputPreSuffixCheckboxChange(o, i)"
|
|
94
119
|
:style="{ color: choiceColor(o) }"
|
|
120
|
+
@change="inputCheckboxChange"
|
|
95
121
|
placeholder="请输入"
|
|
96
122
|
/>
|
|
97
|
-
<span
|
|
98
|
-
v-if="o.suffix"
|
|
99
|
-
class="suffix-span"
|
|
100
|
-
:style="{ color: choiceColor(o) }"
|
|
101
|
-
>{{ o.suffix }}</span>
|
|
102
123
|
</template>
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
style="white-space: initial;"
|
|
106
|
-
:style="{ color: choiceColor(o) }"
|
|
107
|
-
>{{ o.label }}</span>
|
|
108
|
-
<a-input
|
|
109
|
-
v-if="o.importability"
|
|
110
|
-
v-model="othersText"
|
|
111
|
-
:disabled="isLock || inputLock"
|
|
112
|
-
:style="{ color: choiceColor(o) }"
|
|
113
|
-
@change="inputCheckboxChange"
|
|
114
|
-
placeholder="请输入"
|
|
115
|
-
/>
|
|
116
|
-
</template>
|
|
117
|
-
</a-checkbox>
|
|
124
|
+
</a-checkbox>
|
|
125
|
+
</div>
|
|
118
126
|
</a-checkbox-group>
|
|
119
127
|
<a-select
|
|
120
128
|
v-else-if="cloneItem.type == 'SELECT' || item.type === 'EVALUATE_SELECT'"
|
|
@@ -163,7 +171,7 @@
|
|
|
163
171
|
* getSearchOptions 关键字检索的 function
|
|
164
172
|
* getCascadeOptions 获取级联数据的 furnction
|
|
165
173
|
*/
|
|
166
|
-
import { Select, Input, Radio, Checkbox, Cascader } from 'ant-design-vue';
|
|
174
|
+
import { Select, Input, Radio, Checkbox, Cascader, Icon } from 'ant-design-vue';
|
|
167
175
|
import { judgeTypes } from '../mixin/judgeTypes';
|
|
168
176
|
// import format from "@/components/table/mixins/format";
|
|
169
177
|
// import TextOverTooltip from "./text-over-tooltip/TextOverTooltip.vue";
|
|
@@ -195,6 +203,7 @@ export default {
|
|
|
195
203
|
},
|
|
196
204
|
components: {
|
|
197
205
|
Viewer,
|
|
206
|
+
[Icon.name]: Icon,
|
|
198
207
|
[Input.name]: Input,
|
|
199
208
|
[Cascader.name]: Cascader,
|
|
200
209
|
[Checkbox.name]: Checkbox,
|
|
@@ -611,7 +620,6 @@ export default {
|
|
|
611
620
|
margin-right: 8px;
|
|
612
621
|
margin-left: 0px;
|
|
613
622
|
> span:last-child {
|
|
614
|
-
flex: 1;
|
|
615
623
|
display: inline-flex;
|
|
616
624
|
align-items: center;
|
|
617
625
|
word-break: break-all;
|
|
@@ -624,19 +632,8 @@ export default {
|
|
|
624
632
|
border-color: transparent !important;
|
|
625
633
|
border-bottom: 1px solid #d9d9d9 !important;
|
|
626
634
|
}
|
|
627
|
-
.prefix-span {
|
|
628
|
-
padding-right: 8px;
|
|
629
|
-
}
|
|
630
|
-
.suffix-span {
|
|
631
|
-
padding-left: 8px;
|
|
632
|
-
}
|
|
633
|
-
}
|
|
634
|
-
|
|
635
|
-
/deep/ .block-radio,
|
|
636
|
-
/deep/ .block-checkbox {
|
|
637
|
-
display: flex;
|
|
638
|
-
margin-left: 8px;
|
|
639
635
|
}
|
|
636
|
+
|
|
640
637
|
/deep/ .ant-select {
|
|
641
638
|
min-width: 160px;
|
|
642
639
|
}
|
|
@@ -647,6 +644,11 @@ export default {
|
|
|
647
644
|
top: 0px !important;
|
|
648
645
|
left: 1px !important;
|
|
649
646
|
}
|
|
647
|
+
.choice-radio-div {
|
|
648
|
+
display: flex;
|
|
649
|
+
flex-wrap: wrap;
|
|
650
|
+
align-items: center;
|
|
651
|
+
}
|
|
650
652
|
.choice-wrap {
|
|
651
653
|
display: flex;
|
|
652
654
|
flex-wrap: wrap;
|
|
@@ -699,19 +701,19 @@ export default {
|
|
|
699
701
|
align-items: center;
|
|
700
702
|
white-space: initial;
|
|
701
703
|
}
|
|
702
|
-
&.choice-wrap-1
|
|
704
|
+
&.choice-wrap-1 .choice-radio-div {
|
|
703
705
|
width: 100%;
|
|
704
706
|
/deep/ input {
|
|
705
707
|
max-width: 300px;
|
|
706
708
|
}
|
|
707
709
|
}
|
|
708
|
-
&.choice-wrap-2
|
|
710
|
+
&.choice-wrap-2 .choice-radio-div {
|
|
709
711
|
width: 50%;
|
|
710
712
|
}
|
|
711
|
-
&.choice-wrap-3
|
|
713
|
+
&.choice-wrap-3 .choice-radio-div {
|
|
712
714
|
width: 33%;
|
|
713
715
|
}
|
|
714
|
-
&.choice-wrap-4
|
|
716
|
+
&.choice-wrap-4 .choice-radio-div {
|
|
715
717
|
width: 25%;
|
|
716
718
|
}
|
|
717
719
|
/deep/ .ant-checkbox {
|
|
@@ -721,6 +723,24 @@ export default {
|
|
|
721
723
|
/deep/ .ant-checkbox-inner {
|
|
722
724
|
vertical-align: top;
|
|
723
725
|
}
|
|
726
|
+
|
|
727
|
+
/deep/ .choice-radio-presuffix,
|
|
728
|
+
/deep/ .choice-checkbox-presuffix {
|
|
729
|
+
width: 100%;
|
|
730
|
+
box-sizing: border-box;
|
|
731
|
+
> span:last-child {
|
|
732
|
+
display: inline-table;
|
|
733
|
+
width: calc(100% - 20px);
|
|
734
|
+
max-width: calc(100% - 20px);
|
|
735
|
+
flex-wrap: wrap;
|
|
736
|
+
}
|
|
737
|
+
input {
|
|
738
|
+
flex: unset;
|
|
739
|
+
width: unset;
|
|
740
|
+
max-width: 300px;
|
|
741
|
+
min-width: 80px;
|
|
742
|
+
}
|
|
743
|
+
}
|
|
724
744
|
}
|
|
725
745
|
}
|
|
726
746
|
</style>
|
|
@@ -390,7 +390,7 @@
|
|
|
390
390
|
import moment from 'moment';
|
|
391
391
|
import 'moment/locale/zh-cn';
|
|
392
392
|
|
|
393
|
-
import
|
|
393
|
+
import cloneDeep from 'lodash/cloneDeep';
|
|
394
394
|
import vexutils from '@/utils/vexutils';
|
|
395
395
|
import { Button, Icon, Dropdown, Select, Upload, DatePicker, Input, Menu } from 'ant-design-vue';
|
|
396
396
|
import resize from 'vue-resize-directive';
|
|
@@ -1026,11 +1026,11 @@ export default create({
|
|
|
1026
1026
|
if (!this.validConObj(obj, this.searchFieldList, this.searchFieldLimit)) return false;
|
|
1027
1027
|
let copy = [];
|
|
1028
1028
|
if (this.outSearchFieldList.length) {
|
|
1029
|
-
copy =
|
|
1029
|
+
copy = cloneDeep(this.outSearchFieldList, true);
|
|
1030
1030
|
}
|
|
1031
1031
|
let copyRelation = [];
|
|
1032
1032
|
if (this.outRelationQuickSearch.length) {
|
|
1033
|
-
copyRelation =
|
|
1033
|
+
copyRelation = cloneDeep(this.outRelationQuickSearch, true);
|
|
1034
1034
|
}
|
|
1035
1035
|
this.$emit('onSave', obj, isOutFilter, copy, copyRelation, config);
|
|
1036
1036
|
this.modalVisible = false;
|
|
@@ -1476,7 +1476,7 @@ export default create({
|
|
|
1476
1476
|
if (!(btn.isShow == '1' && btn.type != 'LINK')) return;
|
|
1477
1477
|
btn.isHide = false;
|
|
1478
1478
|
btn.isButtonGroup = false;
|
|
1479
|
-
let cloneBtn =
|
|
1479
|
+
let cloneBtn = cloneDeep(btn);
|
|
1480
1480
|
this.setBtnStatus(cloneBtn);
|
|
1481
1481
|
// 按钮自适应 即使折叠也平铺显示出来
|
|
1482
1482
|
if (this.isShowSetting('buttonAdaption')) {
|
|
@@ -1758,7 +1758,7 @@ export default create({
|
|
|
1758
1758
|
this.handlerInitSearchItem(item.fieldList);
|
|
1759
1759
|
});
|
|
1760
1760
|
if (this.lastOutSearchFieldList.length > 0) {
|
|
1761
|
-
this.outSearchFieldList =
|
|
1761
|
+
this.outSearchFieldList = cloneDeep(this.lastOutSearchFieldList);
|
|
1762
1762
|
}
|
|
1763
1763
|
if (this.lastOutRelationQuickSearch.length) {
|
|
1764
1764
|
this.outRelationQuickSearch = this.$utils.clone(this.lastOutRelationQuickSearch, true);
|
|
@@ -1863,7 +1863,7 @@ export default create({
|
|
|
1863
1863
|
return paramsArray;
|
|
1864
1864
|
},
|
|
1865
1865
|
setPrintNumberToBtnList(printNumberList = [], btnList = []) {
|
|
1866
|
-
let cloneList =
|
|
1866
|
+
let cloneList = cloneDeep(btnList);
|
|
1867
1867
|
|
|
1868
1868
|
printNumberList.forEach((item, index) => {
|
|
1869
1869
|
const i = cloneList.findIndex(v => v.settingObj[0].trigger_id == item.id);
|
|
@@ -728,7 +728,7 @@ import tableSearchCon from "../mixins/tableSearchCon";
|
|
|
728
728
|
import moment from 'moment';
|
|
729
729
|
import 'moment/locale/zh-cn';
|
|
730
730
|
// antd
|
|
731
|
-
import
|
|
731
|
+
import cloneDeep from 'lodash/cloneDeep';
|
|
732
732
|
import { Button, Icon, Dropdown, Select, Upload, DatePicker, Input, Menu, Radio, Checkbox, Row, Tag, InputNumber, Col, Form, Modal, Tooltip } from 'ant-design-vue';
|
|
733
733
|
import rangeAge from '../components/range-age/index';
|
|
734
734
|
import multiSelect from '../components/multi-select/multi-select';
|
|
@@ -917,7 +917,7 @@ export default create({
|
|
|
917
917
|
deep: true,
|
|
918
918
|
handler(newVal) {
|
|
919
919
|
if (newVal && this.lastQuickSearchData.length > 0) {
|
|
920
|
-
this.quickSearch =
|
|
920
|
+
this.quickSearch = cloneDeep(this.lastQuickSearchData);
|
|
921
921
|
}
|
|
922
922
|
}
|
|
923
923
|
}
|
|
@@ -939,10 +939,10 @@ export default create({
|
|
|
939
939
|
this.birthdayTeam = this.dateTeam.filter(
|
|
940
940
|
item => item.con != "THIS_YEAR" && item.con != "NEXT_YEAR" && item.con != "UP_YEAR"
|
|
941
941
|
);
|
|
942
|
-
let copyList =
|
|
942
|
+
let copyList = cloneDeep(this.searchFieldList);
|
|
943
943
|
let mySearchFieldList = copyList.filter(i => i.isShowSearch == 1 && i.filterExplicit != 1) || [];
|
|
944
944
|
// let relationTableList = JSON.parse(JSON.stringify(this.relationTableList));
|
|
945
|
-
let relationTableList =
|
|
945
|
+
let relationTableList = cloneDeep(this.relationTableList);
|
|
946
946
|
|
|
947
947
|
// 跨表
|
|
948
948
|
let relationQuickSearch = relationTableList.map(item => {
|