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.
Files changed (114) hide show
  1. package/CHANGELOG.md +27 -10
  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 +1629 -337
  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/card-reader-sdk/index.js +1 -1
  19. package/es/carousel/index.js +8 -8
  20. package/es/cascader/index.js +8 -8
  21. package/es/checkbox/index.js +9 -9
  22. package/es/col/index.js +8 -8
  23. package/es/collapse/index.js +8 -8
  24. package/es/color-picker/index.js +1 -1
  25. package/es/comment/index.js +8 -8
  26. package/es/config-provider/index.js +8 -8
  27. package/es/date-picker/index.js +8 -8
  28. package/es/descriptions/index.js +8 -8
  29. package/es/direct/index.js +16 -16
  30. package/es/divider/index.js +8 -8
  31. package/es/drag-layout/index.js +3 -3
  32. package/es/drawer/index.js +8 -8
  33. package/es/dropdown/index.js +8 -8
  34. package/es/editor/index.js +1 -1
  35. package/es/ellipsis/index.js +1 -1
  36. package/es/empty/index.js +8 -8
  37. package/es/fabric-chart/index.js +95 -57
  38. package/es/fabric-chart/style.css +1 -1
  39. package/es/form/index.js +8 -8
  40. package/es/form-model/index.js +8 -8
  41. package/es/form-table/index.js +698 -697
  42. package/es/full-calendar/index.js +103 -103
  43. package/es/full-calendar/style.css +1 -1
  44. package/es/index/index.js +1313 -1025
  45. package/es/index/style.css +1 -1
  46. package/es/input/index.js +9 -9
  47. package/es/input-number/index.js +8 -8
  48. package/es/layout/index.js +8 -8
  49. package/es/list/index.js +8 -8
  50. package/es/locale-provider/index.js +8 -8
  51. package/es/map/index.js +9 -9
  52. package/es/mentions/index.js +8 -8
  53. package/es/menu/index.js +8 -8
  54. package/es/message/index.js +8 -8
  55. package/es/multi-chat/index.js +76 -76
  56. package/es/multi-chat-client/index.js +70 -70
  57. package/es/multi-chat-history/index.js +4 -4
  58. package/es/multi-chat-record/index.js +14 -14
  59. package/es/multi-chat-setting/index.js +22 -22
  60. package/es/multi-chat-sip/index.js +1 -1
  61. package/es/notification/index.js +8 -8
  62. package/es/page-header/index.js +8 -8
  63. package/es/pagination/index.js +8 -8
  64. package/es/popconfirm/index.js +8 -8
  65. package/es/popover/index.js +8 -8
  66. package/es/progress/index.js +8 -8
  67. package/es/radio/index.js +9 -9
  68. package/es/rate/index.js +8 -8
  69. package/es/result/index.js +8 -8
  70. package/es/row/index.js +8 -8
  71. package/es/scale-container/index.js +386 -385
  72. package/es/scale-view/index.js +27 -27
  73. package/es/select/index.js +12 -12
  74. package/es/select-label/index.js +11 -11
  75. package/es/select-person/index.js +2 -2
  76. package/es/select-tag/index.js +4 -4
  77. package/es/shortcut-setter/index.js +10 -10
  78. package/es/skeleton/index.js +8 -8
  79. package/es/slider/index.js +8 -8
  80. package/es/slider-tree/index.js +9 -9
  81. package/es/space/index.js +8 -8
  82. package/es/spin/index.js +8 -8
  83. package/es/statistic/index.js +8 -8
  84. package/es/steps/index.js +8 -8
  85. package/es/switch/index.js +8 -8
  86. package/es/table-filter/index.js +65 -65
  87. package/es/tabs/index.js +8 -8
  88. package/es/tag/index.js +9 -9
  89. package/es/time-picker/index.js +8 -8
  90. package/es/timeline/index.js +8 -8
  91. package/es/tooltip/index.js +8 -8
  92. package/es/transfer/index.js +8 -8
  93. package/es/tree/index.js +8 -8
  94. package/es/tree-select/index.js +8 -8
  95. package/es/upload/index.js +8 -8
  96. package/es/verification-code/index.js +2 -2
  97. package/lib/cui.common.js +1895 -1544
  98. package/lib/cui.umd.js +1895 -1544
  99. package/lib/cui.umd.min.js +76 -76
  100. package/package.json +1 -1
  101. package/packages/big-table/index.js +4 -0
  102. package/packages/big-table/src/components/edit-form/edit-component/edit-search/edit-search.vue +81 -7
  103. package/packages/big-table/src/components/edit-form/edit-component/edit-search-more/edit-search-more.vue +63 -7
  104. package/packages/big-table/src/components/edit-form/edit-component/mixins/search.js +21 -0
  105. package/packages/button/src/ButtonPrint/js/print.es.min.js +3 -3
  106. package/packages/fabric-chart/src/FabricChart.vue +4 -1
  107. package/packages/fabric-chart/src/fabric-chart/FabricPolylines.vue +7 -6
  108. package/packages/fabric-chart/src/fabric-chart/FabricTextGroup.vue +3 -2
  109. package/packages/fabric-chart/src/mixins/drawExtracorporealCirculation.js +35 -5
  110. package/packages/fabric-chart/src/utils/index.js +1 -1
  111. package/packages/full-calendar/src/FullCalendar.vue +5 -2
  112. package/packages/full-calendar/src/components/ListTag.vue +1 -1
  113. package/packages/full-calendar/src/components/Tag.vue +7 -3
  114. 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 === currentPoint.left);
880
- if (currentPointObj?.line1?.x1 !== prevPoint.left) {
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 => Math.abs(p.left - curLeft) <= 0.001);
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 !== 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 !== 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(this.extracorporealCirculation);
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 baseY = endY + 2; // 目前固定10像素的下边距
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
- drawExtracorporealCirculation(extracorporealCirculation) {
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 = shadowBox.params[0];
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
  }
@@ -9,7 +9,7 @@ export function getTangent(angle) {
9
9
  return +Math.tan((angle * Math.PI) / 180);
10
10
  }
11
11
 
12
- function nearlyEqual(v1, v2) {
12
+ export function nearlyEqual(v1, v2) {
13
13
  return Math.abs(v1 - v2) <= 0.0001;
14
14
  }
15
15
 
@@ -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
- height: 60px;
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="data.state" :avatar="item.avatar" :isAllDay="item.isAllDay"></tag>
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">