cnhis-design-vue 2.1.121 → 2.1.122
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 +9 -0
- package/es/age/index.js +2 -2
- package/es/big-table/index.js +23 -23
- package/es/button/index.js +2 -2
- package/es/captcha/index.js +3 -3
- package/es/card-reader-sdk/index.js +1 -1
- package/es/checkbox/index.js +1 -1
- package/es/color-picker/index.js +1 -1
- package/es/drag-layout/index.js +3 -3
- package/es/editor/index.js +1 -1
- package/es/ellipsis/index.js +1 -1
- package/es/fabric-chart/index.js +83 -44
- package/es/fabric-chart/style.css +1 -1
- package/es/form-table/index.js +20 -20
- package/es/full-calendar/index.js +103 -103
- package/es/full-calendar/style.css +1 -1
- package/es/index/index.js +357 -318
- package/es/index/style.css +1 -1
- package/es/input/index.js +1 -1
- package/es/map/index.js +1 -1
- package/es/multi-chat/index.js +25 -25
- package/es/multi-chat-client/index.js +19 -19
- package/es/multi-chat-history/index.js +4 -4
- package/es/multi-chat-record/index.js +4 -4
- package/es/multi-chat-setting/index.js +20 -20
- package/es/multi-chat-sip/index.js +1 -1
- package/es/radio/index.js +1 -1
- package/es/scale-container/index.js +1 -1
- package/es/scale-view/index.js +27 -27
- package/es/select/index.js +4 -4
- package/es/select-label/index.js +3 -3
- package/es/select-person/index.js +2 -2
- package/es/select-tag/index.js +4 -4
- package/es/shortcut-setter/index.js +2 -2
- package/es/slider-tree/index.js +1 -1
- package/es/table-filter/index.js +30 -30
- package/es/tag/index.js +1 -1
- package/es/verification-code/index.js +2 -2
- package/lib/cui.common.js +948 -898
- package/lib/cui.umd.js +948 -898
- package/lib/cui.umd.min.js +33 -33
- package/package.json +1 -1
- package/packages/fabric-chart/src/FabricChart.vue +4 -1
- package/packages/fabric-chart/src/fabric-chart/FabricTextGroup.vue +3 -2
- package/packages/fabric-chart/src/mixins/drawExtracorporealCirculation.js +35 -5
- 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
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
<div class="c-fabric-chart" :style="{ width: canvasWidth }">
|
|
3
3
|
<fabric-canvas ref="canvasEle" v-bind="$attrs" :templateData="templateData" v-if="rendercanvas">
|
|
4
4
|
<fabric-grid></fabric-grid>
|
|
5
|
-
<fabric-text-group v-if="hasXScalevalue" :templateData="templateData" v-on="$listeners"></fabric-text-group>
|
|
5
|
+
<fabric-text-group ref="otherGroups" v-if="hasXScalevalue" :templateData="templateData" v-on="$listeners"></fabric-text-group>
|
|
6
6
|
<fabric-scale-value v-if="hasTable" :templateData="templateData"></fabric-scale-value>
|
|
7
7
|
<fabric-lines v-if="hasTopTable" ref="lines" :linesObj="templateData.top" v-on="$listeners"></fabric-lines>
|
|
8
8
|
<fabric-polylines
|
|
@@ -113,6 +113,9 @@ export default create({
|
|
|
113
113
|
repaintLine() {
|
|
114
114
|
this.$refs.lines?.repaintLine();
|
|
115
115
|
},
|
|
116
|
+
updateExtracorporealCirculation() {
|
|
117
|
+
this.$refs.otherGroups?.updateExtracorporealCirculation();
|
|
118
|
+
},
|
|
116
119
|
toDataURL(option) {
|
|
117
120
|
return this.$refs.canvasEle.toDataURL(option);
|
|
118
121
|
},
|
|
@@ -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">
|