cnhis-design-vue 2.1.121 → 2.1.123
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 +27 -10
- 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 +1629 -337
- 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/card-reader-sdk/index.js +1 -1
- 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/direct/index.js +16 -16
- 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 +95 -57
- package/es/fabric-chart/style.css +1 -1
- package/es/form/index.js +8 -8
- package/es/form-model/index.js +8 -8
- package/es/form-table/index.js +698 -697
- package/es/full-calendar/index.js +103 -103
- package/es/full-calendar/style.css +1 -1
- package/es/index/index.js +1313 -1025
- 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 +386 -385
- package/es/scale-view/index.js +27 -27
- 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/select-tag/index.js +4 -4
- package/es/shortcut-setter/index.js +10 -10
- package/es/skeleton/index.js +8 -8
- package/es/slider/index.js +8 -8
- package/es/slider-tree/index.js +9 -9
- 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 +65 -65
- 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 +1895 -1544
- package/lib/cui.umd.js +1895 -1544
- package/lib/cui.umd.min.js +76 -76
- package/package.json +1 -1
- package/packages/big-table/index.js +4 -0
- package/packages/big-table/src/components/edit-form/edit-component/edit-search/edit-search.vue +81 -7
- package/packages/big-table/src/components/edit-form/edit-component/edit-search-more/edit-search-more.vue +63 -7
- package/packages/big-table/src/components/edit-form/edit-component/mixins/search.js +21 -0
- package/packages/button/src/ButtonPrint/js/print.es.min.js +3 -3
- package/packages/fabric-chart/src/FabricChart.vue +4 -1
- package/packages/fabric-chart/src/fabric-chart/FabricPolylines.vue +7 -6
- package/packages/fabric-chart/src/fabric-chart/FabricTextGroup.vue +3 -2
- package/packages/fabric-chart/src/mixins/drawExtracorporealCirculation.js +35 -5
- package/packages/fabric-chart/src/utils/index.js +1 -1
- package/packages/full-calendar/src/FullCalendar.vue +5 -2
- package/packages/full-calendar/src/components/ListTag.vue +1 -1
- package/packages/full-calendar/src/components/Tag.vue +7 -3
- package/packages/full-calendar/src/components/TagDetail.vue +1 -1
|
@@ -14,6 +14,7 @@ import MouseRightClick from '../components/MouseRightClick';
|
|
|
14
14
|
import DropPopup from '../components/DropPopup';
|
|
15
15
|
import defaultVaule from '../const/defaultVaule';
|
|
16
16
|
import Bus from '../utils/bus';
|
|
17
|
+
import { nearlyEqual } from '../utils';
|
|
17
18
|
|
|
18
19
|
/**
|
|
19
20
|
* @description: 递归遍历节点,设置颜色属性
|
|
@@ -876,8 +877,8 @@ export default {
|
|
|
876
877
|
for (let i = 0, len = this.addPointList.length; i < len; i++) {
|
|
877
878
|
const currentPoint = this.addPointList[i];
|
|
878
879
|
const prevPoint = this.addPointList[i - 1] || { left: point.prePoint?.left ?? originLeft, top: point.prePoint?.top ?? originTop };
|
|
879
|
-
const currentPointObj = this.addPointObjList.find(obj => obj.left
|
|
880
|
-
if (currentPointObj?.line1?.x1
|
|
880
|
+
const currentPointObj = this.addPointObjList.find(obj => nearlyEqual(obj.left, currentPoint.left));
|
|
881
|
+
if (!nearlyEqual(currentPointObj?.line1?.x1, prevPoint.left)) {
|
|
881
882
|
currentPointObj?.line1?.set({
|
|
882
883
|
x1: prevPoint.left,
|
|
883
884
|
y1: prevPoint.top,
|
|
@@ -897,7 +898,7 @@ export default {
|
|
|
897
898
|
if (k > 0) {
|
|
898
899
|
const curLeft = originLeft + this.spaceWidth * k;
|
|
899
900
|
// 判断this.addPointList中的left是否包含curLeft,不包含就说明是漏了
|
|
900
|
-
const hasPoint = this.addPointList.some(p =>
|
|
901
|
+
const hasPoint = this.addPointList.some(p => nearlyEqual(p.left, curLeft));
|
|
901
902
|
// const hasPoint = this.addPointList.some(v => v.left == curLeft);
|
|
902
903
|
if (!hasPoint) {
|
|
903
904
|
let index;
|
|
@@ -940,7 +941,7 @@ export default {
|
|
|
940
941
|
const currentLeft = left;
|
|
941
942
|
|
|
942
943
|
const startLength = this.addPointList.length;
|
|
943
|
-
const n = 6; // 拖动范围,在需要增加节点的刻度左右吸入的范围值
|
|
944
|
+
const n = Math.min(this.spaceWidth / 2, 6); // 拖动范围,在需要增加节点的刻度左右吸入的范围值
|
|
944
945
|
const residue = (left - originLeft) % this.spaceWidth;
|
|
945
946
|
|
|
946
947
|
const condition = residue > 0 && (residue > this.spaceWidth - n || residue < n);
|
|
@@ -961,7 +962,7 @@ export default {
|
|
|
961
962
|
// point.line1 && this.removePolyline(point.line1.id);
|
|
962
963
|
setPointLineColor(point, 'transparent', conditionHasLine2);
|
|
963
964
|
this.addPointList.length == 0 && this.clonePoint(point, [point.line1 ? point.line1.x1 : originLeft, point.line1 ? point.line1.y1 : originTop, originLeft, originTop]);
|
|
964
|
-
if (this.addPointList.every(v => v.left
|
|
965
|
+
if (this.addPointList.every(v => !nearlyEqual(v.left, left))) {
|
|
965
966
|
// const points1 = i === 1 ? [originLeft, originTop] : point.prePoints;
|
|
966
967
|
const points1 = this.addPointList.length == 0 ? [originLeft, originTop] : point.prePoints;
|
|
967
968
|
if (points1) {
|
|
@@ -973,7 +974,7 @@ export default {
|
|
|
973
974
|
data.left = left;
|
|
974
975
|
data.top = top;
|
|
975
976
|
// 避免重复添加
|
|
976
|
-
if (this.addPointObjList.every(o => o.left
|
|
977
|
+
if (this.addPointObjList.every(o => !nearlyEqual(o.left, left))) {
|
|
977
978
|
this.addPointList.push(data);
|
|
978
979
|
this.clonePoint(point, [...points1, left, top]);
|
|
979
980
|
}
|
|
@@ -100,7 +100,7 @@ export default {
|
|
|
100
100
|
this.drawBorder();
|
|
101
101
|
// this.canvas.renderAll();
|
|
102
102
|
if (this.templateData.bottom) {
|
|
103
|
-
this.drawExtracorporealCirculation(
|
|
103
|
+
this.drawExtracorporealCirculation();
|
|
104
104
|
this.drawBottomTextDataGroup(this.templateData.bottom);
|
|
105
105
|
}
|
|
106
106
|
},
|
|
@@ -485,7 +485,8 @@ export default {
|
|
|
485
485
|
});
|
|
486
486
|
this.canvas.add(title);
|
|
487
487
|
// textList.push(title);
|
|
488
|
-
const
|
|
488
|
+
const _endY = this.extracorporealCirculationHeight ? endY + this.extracorporealCirculationHeight : endY;
|
|
489
|
+
const baseY = _endY + 2; // 目前固定10像素的下边距
|
|
489
490
|
const baseYLimit = endY - 2; // 目前固定10像素的上边距
|
|
490
491
|
const lineHeightText = (obj.style?.fontSize || 12) + 2;
|
|
491
492
|
const lineHeightImg = (obj.iconStyle?.height || 12) + 2;
|
|
@@ -1,16 +1,23 @@
|
|
|
1
1
|
import cloneDeep from 'lodash/cloneDeep';
|
|
2
|
+
import vexutils, { moment } from '@/utils/vexutils';
|
|
2
3
|
|
|
3
4
|
export default {
|
|
4
5
|
name: 'drawExtracorporealCirculation',
|
|
5
6
|
data() {
|
|
6
7
|
this.extracorporealCirculation = cloneDeep(this.templateData.bottom?.extracorporealCirculation);
|
|
7
8
|
this.extracorporealCirculationObjs = [];
|
|
9
|
+
this.extracorporealCirculationHeight = 0;
|
|
8
10
|
return {};
|
|
9
11
|
},
|
|
10
12
|
components: {},
|
|
11
13
|
methods: {
|
|
12
|
-
|
|
14
|
+
updateExtracorporealCirculation() {
|
|
15
|
+
this.extracorporealCirculation = cloneDeep(this.templateData.bottom?.extracorporealCirculation);
|
|
16
|
+
this.drawExtracorporealCirculation();
|
|
17
|
+
},
|
|
18
|
+
drawExtracorporealCirculation() {
|
|
13
19
|
const { endX, originX, endY, markHeight, canvasWidth } = this.propItems;
|
|
20
|
+
const extracorporealCirculation = this.extracorporealCirculation;
|
|
14
21
|
if (!markHeight || !extracorporealCirculation || !extracorporealCirculation.list?.length) {
|
|
15
22
|
return;
|
|
16
23
|
}
|
|
@@ -32,19 +39,26 @@ export default {
|
|
|
32
39
|
|
|
33
40
|
let prevShadowBox;
|
|
34
41
|
xList.forEach((x, i) => {
|
|
42
|
+
if (isInvalid(x)) return;
|
|
43
|
+
|
|
35
44
|
const nextX = xList[i + 1];
|
|
36
45
|
const prevX = xList[i - 1];
|
|
37
46
|
if (isValid(x) || isValid(nextX)) {
|
|
38
47
|
const x1 = isValid(x) ? x : originX;
|
|
39
|
-
const x2 = isValid(nextX) ? nextX : endX;
|
|
48
|
+
const x2 = isValid(nextX) ? nextX : isInvalid(nextX) ? null : endX;
|
|
40
49
|
const prevX1 = isValid(prevX) ? prevX : originX;
|
|
41
50
|
const shadowBox = {};
|
|
42
|
-
if (i < xList.length - 1) {
|
|
51
|
+
if (i < xList.length - 1 && x2) {
|
|
43
52
|
shadowBox.params = [x1, x2, y2, [0, 2].includes(i) ? extracorporealCirculationStyle : ascendAortaStyle];
|
|
44
53
|
shadowBox.shadowObjs = this.drawShadowBox(...shadowBox.params);
|
|
45
54
|
}
|
|
46
55
|
if (isValid(x)) {
|
|
47
56
|
const key = getKey(i);
|
|
57
|
+
const currentTime = moment()
|
|
58
|
+
.clone()
|
|
59
|
+
.format('YYYY-MM-DD HH:mm');
|
|
60
|
+
const currentTimeX = this.computedX(currentTime);
|
|
61
|
+
const limitX2 = x < currentTimeX && isValid(currentTimeX) ? currentTimeX : x;
|
|
48
62
|
const optLine = this.drawOptLine([x, endY, x, y2], {
|
|
49
63
|
origin: {
|
|
50
64
|
index,
|
|
@@ -53,7 +67,8 @@ export default {
|
|
|
53
67
|
},
|
|
54
68
|
limitX: {
|
|
55
69
|
x1: i === 0 ? prevEndX ?? originX : prevX1,
|
|
56
|
-
x2
|
|
70
|
+
x2: x2 || limitX2,
|
|
71
|
+
isCurrentTime: !x2 && index === list.length - 1
|
|
57
72
|
},
|
|
58
73
|
...([1, 2, 3].includes(i) ? { leftShadowBox: prevShadowBox } : {}),
|
|
59
74
|
...([0, 1, 2].includes(i) ? { rightShadowBox: shadowBox } : {})
|
|
@@ -63,7 +78,7 @@ export default {
|
|
|
63
78
|
prevLine = optLine;
|
|
64
79
|
}
|
|
65
80
|
if (i === 0 && prevLine) {
|
|
66
|
-
prevLine.limitX.x2 =
|
|
81
|
+
prevLine.limitX.x2 = x1;
|
|
67
82
|
}
|
|
68
83
|
}
|
|
69
84
|
prevShadowBox = shadowBox;
|
|
@@ -71,9 +86,16 @@ export default {
|
|
|
71
86
|
});
|
|
72
87
|
});
|
|
73
88
|
|
|
89
|
+
if (this.extracorporealCirculationObjs.length) {
|
|
90
|
+
this.extracorporealCirculationHeight = height;
|
|
91
|
+
}
|
|
92
|
+
|
|
74
93
|
function isValid(x) {
|
|
75
94
|
return x && x > 0 && x < canvasWidth;
|
|
76
95
|
}
|
|
96
|
+
function isInvalid(x) {
|
|
97
|
+
return typeof x === 'undefined' || x === '';
|
|
98
|
+
}
|
|
77
99
|
function getKey(i) {
|
|
78
100
|
switch (i) {
|
|
79
101
|
case 0:
|
|
@@ -108,6 +130,14 @@ export default {
|
|
|
108
130
|
if (this.eventStyle.evented) {
|
|
109
131
|
optLine.on('moving', () => {
|
|
110
132
|
const { left, limitX } = optLine;
|
|
133
|
+
const { canvasWidth } = this.propItems;
|
|
134
|
+
const currentTime = moment()
|
|
135
|
+
.clone()
|
|
136
|
+
.format('YYYY-MM-DD HH:mm');
|
|
137
|
+
const currentTimeX = this.computedX(currentTime);
|
|
138
|
+
if (limitX.isCurrentTime && limitX.x2 < currentTimeX && currentTimeX > 0 && currentTimeX < canvasWidth) {
|
|
139
|
+
limitX.x2 = currentTimeX;
|
|
140
|
+
}
|
|
111
141
|
if (left < limitX.x1) {
|
|
112
142
|
optLine.setCoords().set({ x1: limitX.x1, x2: limitX.x1 });
|
|
113
143
|
}
|
|
@@ -641,6 +641,10 @@ export default create({
|
|
|
641
641
|
|
|
642
642
|
.fc-col-header-cell-cushion {
|
|
643
643
|
font-weight: normal;
|
|
644
|
+
& > span {
|
|
645
|
+
padding: 10px 0;
|
|
646
|
+
display: inline-block;
|
|
647
|
+
}
|
|
644
648
|
}
|
|
645
649
|
|
|
646
650
|
.fc-more-popover {
|
|
@@ -719,8 +723,7 @@ export default create({
|
|
|
719
723
|
}
|
|
720
724
|
|
|
721
725
|
.month-header {
|
|
722
|
-
|
|
723
|
-
line-height: 60px;
|
|
726
|
+
padding: 10px 0;
|
|
724
727
|
font-size: 14px;
|
|
725
728
|
font-weight: normal;
|
|
726
729
|
color: #212121;
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
</div>
|
|
10
10
|
<div class="list-tag__right">
|
|
11
11
|
<div v-for="(item, index) in data.list" :key="index">
|
|
12
|
-
<tag v-bind="$attrs" v-on="$listeners" :item="item" :title="item.title" :state="
|
|
12
|
+
<tag v-bind="$attrs" v-on="$listeners" :item="item" :title="item.title" :state="item.state" :avatar="item.avatar" :isAllDay="item.isAllDay"></tag>
|
|
13
13
|
</div>
|
|
14
14
|
</div>
|
|
15
15
|
</li>
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div :class="['event-tag', 'event-tag-' + viewType, { 'event-tag--active': isActive }, { 'event-tag-allday': isAllDay }]" @click.stop="clickTag" ref="tagRef">
|
|
3
3
|
<div :class="['event-tag__main', statusClass[state]]">
|
|
4
|
-
<span class="event-tag__main__text-time" v-if="viewType === 'list'">{{ timeRange }}</span>
|
|
5
|
-
<span class="event-tag__main__text-title">{{ title }}</span>
|
|
6
|
-
<div :class="['right-operate', { 'right-operate-hasBtn': hasBtns }]">
|
|
4
|
+
<span :class="['event-tag__main__text-time', state == 2 ? 'text--deleted' : '']" v-if="viewType === 'list'">{{ timeRange }}</span>
|
|
5
|
+
<span :class="['event-tag__main__text-title', state == 2 ? 'text--deleted' : '']">{{ title }}</span>
|
|
6
|
+
<div :class="['right-operate', { 'right-operate-hasBtn': hasBtns }]" v-if="state != 2">
|
|
7
7
|
<!-- <img :src="avatar" class="avatar-icon" alt="" /> -->
|
|
8
8
|
<span class="calendar-quick-btn-wrap" v-if="hasBtns">
|
|
9
9
|
<span v-for="btn in btns" :key="btn.type" @click.stop="() => clickListBtn(btn)" class="calendar-quick-btn">
|
|
@@ -261,6 +261,10 @@ export default {
|
|
|
261
261
|
overflow: hidden;
|
|
262
262
|
white-space: nowrap;
|
|
263
263
|
text-overflow: ellipsis;
|
|
264
|
+
&.text--deleted {
|
|
265
|
+
text-decoration: line-through;
|
|
266
|
+
color: #7f7f7f;
|
|
267
|
+
}
|
|
264
268
|
}
|
|
265
269
|
&__text-time {
|
|
266
270
|
flex: 0 0 150px;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
<div class="tag-detail-wrpper">
|
|
3
3
|
<div class="header">
|
|
4
4
|
<p>日程详情</p>
|
|
5
|
-
<div class="btn-wrap">
|
|
5
|
+
<div class="btn-wrap" v-if="item.state != 2">
|
|
6
6
|
<span class="btn-item" v-for="btn in btns" :key="btn.type" @click.stop="() => clickListBtn(btn)">
|
|
7
7
|
<a-icon v-if="btn.type === 'close'" :type="btn.type" :style="{ fontSize: '16px' }" />
|
|
8
8
|
<a-tooltip v-else :title="btn.name" overlayClassName="tippy-tooltip">
|