cnhis-design-vue 3.1.14-beta.9 → 3.1.15-beta.1

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 (214) hide show
  1. package/es/_virtual/plugin-vue_export-helper.js +9 -0
  2. package/es/node_modules/@formily/path/esm/contexts.js +22 -0
  3. package/es/node_modules/@formily/path/esm/destructor.js +124 -0
  4. package/es/node_modules/@formily/path/esm/index.js +579 -0
  5. package/es/node_modules/@formily/path/esm/matcher.js +199 -0
  6. package/es/node_modules/@formily/path/esm/parser.js +402 -0
  7. package/es/node_modules/@formily/path/esm/shared.js +73 -0
  8. package/es/node_modules/@formily/path/esm/tokenizer.js +287 -0
  9. package/es/node_modules/@formily/path/esm/tokens.js +240 -0
  10. package/es/node_modules/@formily/path/esm/types.js +17 -0
  11. package/es/packages/big-table/index.d.ts +13 -0
  12. package/es/packages/big-table/index.js +1 -2
  13. package/es/packages/big-table/src/BigTable.js +5 -3
  14. package/es/packages/big-table/src/BigTable.vue.d.ts +18 -12
  15. package/es/packages/big-table/src/BigTable.vue_vue_type_script_setup_true_lang.js +15 -15
  16. package/es/packages/big-table/src/bigTableProps.d.ts +4 -0
  17. package/es/packages/big-table/src/bigTableProps.js +1 -0
  18. package/es/packages/big-table/src/components/NoData.js +73 -3
  19. package/es/packages/big-table/src/components/edit-form/edit-date.js +11 -3
  20. package/es/packages/big-table/src/components/edit-form/edit-input.js +15 -4
  21. package/es/packages/big-table/src/components/edit-form/edit-separate.js +91 -3
  22. package/es/packages/big-table/src/components/edit-form/edit-separate.vue.d.ts +1 -0
  23. package/es/packages/big-table/src/components/edit-form/edit-time.d.ts +43 -0
  24. package/es/packages/big-table/src/components/edit-form/edit-time.js +52 -0
  25. package/es/packages/big-table/src/components/input-button.js +34 -3
  26. package/es/packages/big-table/src/components/separate.js +29 -3
  27. package/es/packages/big-table/src/hooks/useColumnConfigAdaptor.js +51 -12
  28. package/es/packages/big-table/src/hooks/useEdit.d.ts +43 -0
  29. package/es/packages/big-table/src/hooks/useEdit.js +4 -3
  30. package/es/packages/big-table/src/hooks/useFormat.js +8 -1
  31. package/es/packages/big-table/src/utils.js +1 -0
  32. package/es/packages/big-table/style/index.css +144 -0
  33. package/es/packages/bpmn-workflow/index.js +1 -2
  34. package/es/packages/bpmn-workflow/src/BpmnWorkflow.js +253 -3
  35. package/es/packages/button-print/index.js +1 -2
  36. package/es/packages/button-print/src/ButtonPrint.js +5 -3
  37. package/es/packages/button-print/src/ButtonPrint.vue_vue_type_script_setup_true_lang.js +6 -7
  38. package/es/packages/button-print/src/components/IdentityVerification.js +129 -3
  39. package/es/packages/button-print/src/utils/print.d.ts +1 -1
  40. package/es/packages/button-print/src/utils/print.js +4 -4
  41. package/es/packages/chunk-upload/index.js +1 -1
  42. package/es/packages/chunk-upload/src/chunk-upload-new.js +474 -3
  43. package/es/packages/chunk-upload/src/vod-chunk-upload/index.js +2 -3
  44. package/es/packages/chunk-upload/src/vod-chunk-upload/vod-chunk-upload.js +328 -3
  45. package/es/packages/chunk-upload/src/vod-upload-modal.js +3 -4
  46. package/es/packages/drag-layout/index.js +1 -2
  47. package/es/packages/drag-layout/src/DragFormLeftItem.js +123 -3
  48. package/es/packages/drag-layout/src/DragFormRightItem.js +268 -3
  49. package/es/packages/drag-layout/src/DragLayout.js +658 -3
  50. package/es/packages/fabric-chart/index.js +1 -2
  51. package/es/packages/fabric-chart/src/FabricChart.js +315 -3
  52. package/es/packages/fabric-chart/src/components/PopupTip.js +33 -3
  53. package/es/packages/fabric-chart/src/hooks/useCenter.js +65 -89
  54. package/es/packages/fabric-chart/src/hooks/useEvent.js +9 -7
  55. package/es/packages/fabric-chart/src/hooks/useLeft.js +15 -4
  56. package/es/packages/field-set/index.d.ts +2509 -5166
  57. package/es/packages/field-set/index.js +1 -2
  58. package/es/packages/field-set/src/FieldSet.js +346 -3
  59. package/es/packages/field-set/src/FieldSet.vue.d.ts +2492 -5169
  60. package/es/packages/form-render/index.d.ts +0 -2
  61. package/es/packages/form-render/index.js +2 -3
  62. package/es/packages/form-render/src/FormRender.js +203 -3
  63. package/es/packages/form-render/src/FormRender.vue.d.ts +0 -2
  64. package/es/packages/form-render/src/components/renderer/cascader.d.ts +6 -6
  65. package/es/packages/form-render/src/components/renderer/cascader.js +72 -80
  66. package/es/packages/form-render/src/components/renderer/combination.d.ts +6 -0
  67. package/es/packages/form-render/src/components/renderer/combination.js +76 -20
  68. package/es/packages/form-render/src/components/renderer/formItem.js +1 -1
  69. package/es/packages/form-render/src/components/renderer/radio.d.ts +12 -4
  70. package/es/packages/form-render/src/components/renderer/radio.js +23 -5
  71. package/es/packages/form-render/src/components/renderer/select.js +51 -58
  72. package/es/packages/form-render/src/components/renderer/simpleComponent.d.ts +17 -2
  73. package/es/packages/form-render/src/components/renderer/simpleComponent.js +16 -14
  74. package/es/packages/form-render/src/hooks/useAsyncQueue.d.ts +1 -1
  75. package/es/packages/form-render/src/hooks/useAsyncQueue.js +1 -1
  76. package/es/packages/form-render/src/hooks/useChangeContext.d.ts +1 -1
  77. package/es/packages/form-render/src/hooks/useChangeContext.js +1 -1
  78. package/es/packages/form-render/src/hooks/useFieldListAdaptor.js +13 -9
  79. package/es/packages/form-render/src/hooks/useFormItemDeps.d.ts +3 -2
  80. package/es/packages/form-render/src/hooks/useFormItemDeps.js +5 -6
  81. package/es/packages/form-render/src/hooks/useFormRequest.d.ts +2 -2
  82. package/es/packages/form-render/src/types/fieldItem.d.ts +136 -35
  83. package/es/packages/form-render/src/types/index.d.ts +4 -2
  84. package/es/packages/form-render/src/utils/index.d.ts +4 -6
  85. package/es/packages/form-render/src/utils/index.js +6 -3
  86. package/es/packages/form-table/index.js +1 -2
  87. package/es/packages/form-table/src/FormTable.js +475 -3
  88. package/es/packages/form-table/src/components/index.js +28 -42
  89. package/es/packages/form-table/src/components/table-age.js +232 -3
  90. package/es/packages/form-table/src/components/table-date-picker.js +176 -3
  91. package/es/packages/form-table/src/components/table-digital.js +138 -3
  92. package/es/packages/form-table/src/components/table-input-password.js +138 -3
  93. package/es/packages/form-table/src/components/table-input.js +124 -3
  94. package/es/packages/form-table/src/components/table-month-picker.js +100 -3
  95. package/es/packages/form-table/src/components/table-search-more.js +5 -3
  96. package/es/packages/form-table/src/components/table-search-more.vue_vue_type_script_setup_true_lang.js +2 -2
  97. package/es/packages/form-table/src/components/table-search.js +5 -3
  98. package/es/packages/form-table/src/components/table-search.vue_vue_type_script_setup_true_lang.js +2 -2
  99. package/es/packages/form-table/src/components/table-select-multiple.js +161 -3
  100. package/es/packages/form-table/src/components/table-select.js +156 -3
  101. package/es/packages/form-table/src/components/table-textarea.js +154 -3
  102. package/es/packages/form-table/src/components/table-time-picker.js +146 -3
  103. package/es/packages/form-table/src/components/table-tree-select.js +282 -3
  104. package/es/packages/form-table/src/components/text-over-tooltip.js +63 -3
  105. package/es/packages/index.css +147 -0
  106. package/es/packages/info-header/index.d.ts +1373 -354
  107. package/es/packages/info-header/index.js +1 -2
  108. package/es/packages/info-header/src/HiddenContent.js +65 -3
  109. package/es/packages/info-header/src/HiddenContent.vue.d.ts +689 -178
  110. package/es/packages/info-header/src/InfoEllipsis.js +43 -0
  111. package/es/packages/info-header/src/InfoEllipsis.vue.d.ts +833 -0
  112. package/es/packages/info-header/src/InfoHeader.js +229 -3
  113. package/es/packages/info-header/src/InfoHeader.vue.d.ts +1373 -354
  114. package/es/packages/info-header/style/index.css +3 -0
  115. package/es/packages/map/index.js +1 -2
  116. package/es/packages/map/src/Map.js +337 -3
  117. package/es/packages/scale-view/index.js +1 -2
  118. package/es/packages/scale-view/src/ScaleView.js +418 -3
  119. package/es/packages/scale-view/src/components/AnswerParse.js +79 -3
  120. package/es/packages/scale-view/src/components/EvaluateCountdown.js +108 -3
  121. package/es/packages/scale-view/src/components/EvaluatePage.js +140 -3
  122. package/es/packages/scale-view/src/components/LoadingCom.js +17 -5
  123. package/es/packages/scale-view/src/components/NoData.js +73 -3
  124. package/es/packages/scale-view/src/components/formitem/r-cascader.js +3 -3
  125. package/es/packages/scale-view/src/components/formitem/r-select.js +3 -3
  126. package/es/packages/scale-view/src/components/formitem/text-over-tooltip/TextOverTooltip.js +78 -3
  127. package/es/packages/select-label/index.js +3 -5
  128. package/es/packages/select-label/src/LabelFormContent.js +441 -3
  129. package/es/packages/select-label/src/SelectLabel.js +5 -3
  130. package/es/packages/select-label/src/SelectLabel.vue_vue_type_script_setup_true_lang.js +5 -21
  131. package/es/packages/select-label/src/components/label-classify.js +128 -3
  132. package/es/packages/select-person/index.js +1 -2
  133. package/es/packages/select-person/src/SearchTree.js +5 -3
  134. package/es/packages/select-person/src/SearchTree.vue_vue_type_script_setup_true_lang.js +2 -2
  135. package/es/packages/select-person/src/SelectPerson.js +5 -3
  136. package/es/packages/select-person/src/SelectPerson.vue_vue_type_script_setup_true_lang.js +4 -5
  137. package/es/packages/shortcut-provider/index.js +1 -2
  138. package/es/packages/shortcut-provider/src/ShortcutProvider.js +33 -3
  139. package/es/packages/shortcut-provider/src/types/index.d.ts +11 -9
  140. package/es/packages/shortcut-provider/src/utils/index.js +5 -5
  141. package/es/packages/shortcut-setter/index.d.ts +3247 -1486
  142. package/es/packages/shortcut-setter/index.js +1 -2
  143. package/es/packages/shortcut-setter/src/ShortcutSetter.js +42 -3
  144. package/es/packages/shortcut-setter/src/ShortcutSetter.vue.d.ts +3247 -1486
  145. package/es/packages/shortcut-setter/src/ShortcutSetterItem.js +139 -3
  146. package/es/packages/shortcut-setter/src/ShortcutSetterItem.vue.d.ts +1700 -1661
  147. package/es/packages/steps-wheel/index.js +1 -2
  148. package/es/packages/steps-wheel/src/StepsWheel.js +264 -3
  149. package/es/packages/time-line/index.js +1 -2
  150. package/es/packages/time-line/src/TimeLine.js +69 -3
  151. package/es/src/components/SelectPage/SelectPage.js +62 -3
  152. package/es/src/components/SelectPage/index.js +2 -3
  153. package/es/src/components/SvgIcon/SvgIcon.js +35 -3
  154. package/es/src/components/SvgIcon/index.js +2 -3
  155. package/es/src/components/TextOverTooltip/TextOverTooltip.js +75 -3
  156. package/es/src/components/TextOverTooltip/index.js +2 -3
  157. package/es/src/components/player-vod/index.js +13 -3
  158. package/es/src/utils/anime.d.ts +1 -1
  159. package/package.json +1 -1
  160. package/es/packages/big-table/src/components/NoData.vue_vue_type_script_setup_true_lang.js +0 -72
  161. package/es/packages/big-table/src/components/edit-form/edit-separate.vue_vue_type_script_setup_true_lang.js +0 -89
  162. package/es/packages/big-table/src/components/input-button.vue_vue_type_script_setup_true_lang.js +0 -33
  163. package/es/packages/big-table/src/components/separate.vue_vue_type_script_setup_true_lang.js +0 -28
  164. package/es/packages/bpmn-workflow/src/BpmnWorkflow.vue_vue_type_script_setup_true_lang.js +0 -252
  165. package/es/packages/button-print/src/components/IdentityVerification.vue_vue_type_script_setup_true_lang.js +0 -128
  166. package/es/packages/chunk-upload/src/chunk-upload-new.vue_vue_type_script_setup_true_lang.js +0 -473
  167. package/es/packages/chunk-upload/src/vod-chunk-upload/vod-chunk-upload.vue_vue_type_script_setup_true_lang.js +0 -327
  168. package/es/packages/drag-layout/src/DragFormLeftItem.vue_vue_type_script_setup_true_lang.js +0 -122
  169. package/es/packages/drag-layout/src/DragFormRightItem.vue_vue_type_script_setup_true_lang.js +0 -267
  170. package/es/packages/drag-layout/src/DragLayout.vue_vue_type_script_setup_true_lang.js +0 -659
  171. package/es/packages/fabric-chart/src/FabricChart.vue_vue_type_script_setup_true_lang.js +0 -315
  172. package/es/packages/fabric-chart/src/components/PopupTip.vue_vue_type_script_setup_true_lang.js +0 -32
  173. package/es/packages/field-set/src/FieldSet.vue_vue_type_script_setup_true_lang.js +0 -22
  174. package/es/packages/field-set/src/NewFieldSet.js +0 -4
  175. package/es/packages/field-set/src/NewFieldSet.vue.d.ts +0 -2607
  176. package/es/packages/field-set/src/NewFieldSet.vue_vue_type_script_setup_true_lang.js +0 -299
  177. package/es/packages/field-set/src/OldFieldSet.js +0 -4
  178. package/es/packages/field-set/src/OldFieldSet.vue.d.ts +0 -2610
  179. package/es/packages/field-set/src/OldFieldSet.vue_vue_type_script_setup_true_lang.js +0 -330
  180. package/es/packages/form-render/src/FormRender.vue_vue_type_script_setup_true_lang.js +0 -187
  181. package/es/packages/form-table/src/FormTable.vue_vue_type_script_setup_true_lang.js +0 -474
  182. package/es/packages/form-table/src/components/table-age.vue_vue_type_script_setup_true_lang.js +0 -232
  183. package/es/packages/form-table/src/components/table-date-picker.vue_vue_type_script_setup_true_lang.js +0 -175
  184. package/es/packages/form-table/src/components/table-digital.vue_vue_type_script_setup_true_lang.js +0 -138
  185. package/es/packages/form-table/src/components/table-input-password.vue_vue_type_script_setup_true_lang.js +0 -138
  186. package/es/packages/form-table/src/components/table-input.vue_vue_type_script_setup_true_lang.js +0 -124
  187. package/es/packages/form-table/src/components/table-month-picker.vue_vue_type_script_setup_true_lang.js +0 -99
  188. package/es/packages/form-table/src/components/table-select-multiple.vue_vue_type_script_setup_true_lang.js +0 -160
  189. package/es/packages/form-table/src/components/table-select.vue_vue_type_script_setup_true_lang.js +0 -155
  190. package/es/packages/form-table/src/components/table-textarea.vue_vue_type_script_setup_true_lang.js +0 -153
  191. package/es/packages/form-table/src/components/table-time-picker.vue_vue_type_script_setup_true_lang.js +0 -145
  192. package/es/packages/form-table/src/components/table-tree-select.vue_vue_type_script_setup_true_lang.js +0 -281
  193. package/es/packages/form-table/src/components/text-over-tooltip.vue_vue_type_script_setup_true_lang.js +0 -62
  194. package/es/packages/info-header/src/HiddenContent.vue_vue_type_script_setup_true_lang.js +0 -66
  195. package/es/packages/info-header/src/InfoHeader.vue_vue_type_script_setup_true_lang.js +0 -233
  196. package/es/packages/map/src/Map.vue_vue_type_script_setup_true_lang.js +0 -336
  197. package/es/packages/scale-view/src/ScaleView.vue_vue_type_script_setup_true_lang.js +0 -422
  198. package/es/packages/scale-view/src/components/AnswerParse.vue_vue_type_script_setup_true_lang.js +0 -78
  199. package/es/packages/scale-view/src/components/EvaluateCountdown.vue_vue_type_script_setup_true_lang.js +0 -107
  200. package/es/packages/scale-view/src/components/EvaluatePage.vue_vue_type_script_setup_true_lang.js +0 -139
  201. package/es/packages/scale-view/src/components/LoadingCom.vue_vue_type_template_id_413329b0_lang.js +0 -16
  202. package/es/packages/scale-view/src/components/NoData.vue_vue_type_script_setup_true_lang.js +0 -72
  203. package/es/packages/scale-view/src/components/formitem/text-over-tooltip/TextOverTooltip.vue_vue_type_script_setup_true_lang.js +0 -77
  204. package/es/packages/select-label/src/LabelFormContent.vue_vue_type_script_setup_true_lang.js +0 -441
  205. package/es/packages/select-label/src/components/label-classify.vue_vue_type_script_setup_true_lang.js +0 -127
  206. package/es/packages/shortcut-provider/src/ShortcutProvider.vue_vue_type_script_setup_true_lang.js +0 -32
  207. package/es/packages/shortcut-setter/src/ShortcutSetter.vue_vue_type_script_setup_true_lang.js +0 -38
  208. package/es/packages/shortcut-setter/src/ShortcutSetterItem.vue_vue_type_script_setup_true_lang.js +0 -125
  209. package/es/packages/steps-wheel/src/StepsWheel.vue_vue_type_script_setup_true_lang.js +0 -263
  210. package/es/packages/time-line/src/TimeLine.vue_vue_type_script_setup_true_lang.js +0 -68
  211. package/es/src/components/SelectPage/SelectPage.vue_vue_type_script_setup_true_lang.js +0 -61
  212. package/es/src/components/SvgIcon/SvgIcon.vue_vue_type_script_setup_true_lang.js +0 -34
  213. package/es/src/components/TextOverTooltip/TextOverTooltip.vue_vue_type_script_setup_true_lang.js +0 -74
  214. package/es/src/components/player-vod/index.vue_vue_type_script_setup_true_lang.js +0 -12
@@ -1,4 +1,316 @@
1
- import script from './FabricChart.vue_vue_type_script_setup_true_lang.js';
2
- export { default } from './FabricChart.vue_vue_type_script_setup_true_lang.js';
1
+ import { defineComponent, ref, computed, reactive, onMounted, onBeforeUnmount, openBlock, createElementBlock, Fragment, createElementVNode, unref, createBlock, mergeProps, createCommentVNode } from 'vue';
2
+ import { fabric } from './utils/index.js';
3
+ import PopupTip from './components/PopupTip.js';
4
+ import PopupMenu from './components/PopupMenu.js';
5
+ import _export_sfc from '../../../_virtual/plugin-vue_export-helper.js';
6
+ import { defaultBorderStyle } from './hooks/useDraw.js';
7
+ import { useTop } from './hooks/useTop.js';
8
+ import { useCenter } from './hooks/useCenter.js';
9
+ import { useLeft } from './hooks/useLeft.js';
10
+ import { useRight } from './hooks/useRight.js';
11
+ import { useBottom } from './hooks/useBottom.js';
12
+ import { useOther } from './hooks/useOther.js';
13
+ import { useEvent, useCanvasEvent } from './hooks/useEvent.js';
14
+ import { useCumputedPoint } from './hooks/useCumputedPoint.js';
3
15
 
4
- script.__file = "packages/fabric-chart/src/FabricChart.vue";
16
+ const _sfc_main = /* @__PURE__ */ defineComponent({
17
+ __name: "FabricChart",
18
+ props: {
19
+ data: null,
20
+ addRenderItem: null
21
+ },
22
+ emits: ["change", "add", "select"],
23
+ setup(__props, { expose, emit: emits }) {
24
+ const props = __props;
25
+ const defaultHeight = 15;
26
+ let select = ref();
27
+ const canvasRef = ref(null);
28
+ let canvas = ref();
29
+ const dateHeight = computed(() => {
30
+ const { top } = props.data;
31
+ return top.date.show && (top.date.height || defaultHeight) || 0;
32
+ });
33
+ const hospitalDaysHeight = computed(() => {
34
+ var _a;
35
+ const { top } = props.data;
36
+ return ((_a = top.hospitalDays) == null ? void 0 : _a.show) && (top.hospitalDays.height || defaultHeight) || 0;
37
+ });
38
+ const operationDaysHeight = computed(() => {
39
+ var _a;
40
+ const { top } = props.data;
41
+ return ((_a = top.operationDays) == null ? void 0 : _a.show) && (top.operationDays.height || defaultHeight) || 0;
42
+ });
43
+ const xScalevalueHeight = computed(() => {
44
+ var _a, _b;
45
+ const { top } = props.data;
46
+ const height = ((_a = top.xScalevalue) == null ? void 0 : _a.show) && (top.xScalevalue.height || defaultHeight) || 0;
47
+ const dayHeight = ((_b = top.xScalevalue) == null ? void 0 : _b.show) ? top.dayHeight || 0 : 0;
48
+ return height + dayHeight;
49
+ });
50
+ const breathingHeight = computed(() => {
51
+ var _a;
52
+ const { bottom } = props.data;
53
+ return ((_a = bottom == null ? void 0 : bottom.breathing) == null ? void 0 : _a.show) && (bottom.breathing.height || defaultHeight * 2) || 0;
54
+ });
55
+ const gridXNumber = computed(() => {
56
+ const { grid } = props.data;
57
+ return grid.mainXCell * grid.subXCell + grid.surplusXCell;
58
+ });
59
+ const gridYNumber = computed(() => {
60
+ const { grid } = props.data;
61
+ return grid.mainYCell * grid.subYCell + grid.surplusYCell;
62
+ });
63
+ const endX = computed(() => {
64
+ const { width, right = null, top } = props.data;
65
+ if (!right)
66
+ return width;
67
+ const endWidth = right.width || 50;
68
+ return width - endWidth;
69
+ });
70
+ const endXLimit = computed(() => {
71
+ const { grid } = props.data;
72
+ return endX.value - grid.surplusXCell * xCellWidth.value;
73
+ });
74
+ const originX = computed(() => {
75
+ const { top, left } = props.data;
76
+ const originX2 = top.titleWidth + iconsWidth.value;
77
+ return originX2;
78
+ });
79
+ const endY = computed(() => {
80
+ const { bottom = null, height } = props.data;
81
+ if (!bottom)
82
+ return height;
83
+ const endHeight = bottom.height || 30;
84
+ return height - endHeight;
85
+ });
86
+ const originY = computed(() => {
87
+ const { top } = props.data;
88
+ const dayHeight = top.xScalevalue.show && (top.dayHeight || defaultHeight) || 0;
89
+ const xScaleHeight = top.xScalevalue.show && (top.xScalevalue.height || defaultHeight) || 0;
90
+ const topHeight = dateHeight.value + dayHeight + xScaleHeight + hospitalDaysHeight.value + operationDaysHeight.value;
91
+ return topHeight;
92
+ });
93
+ const originYLimit = computed(() => {
94
+ const { grid } = props.data;
95
+ return originY.value + grid.surplusYCell * yCellHeight.value;
96
+ });
97
+ const xCellWidth = computed(() => {
98
+ return (endX.value - originX.value) / gridXNumber.value;
99
+ });
100
+ const yCellHeight = computed(() => {
101
+ return (endY.value - originY.value) / gridYNumber.value;
102
+ });
103
+ const iconsWidth = computed(() => {
104
+ var _a, _b;
105
+ const { left } = props.data;
106
+ return ((_a = left.icons) == null ? void 0 : _a.show) && (((_b = left.icons) == null ? void 0 : _b.width) || 100) || 0;
107
+ });
108
+ const xScaleList = computed(() => {
109
+ const { top } = props.data;
110
+ const dateList = top.date.list;
111
+ const times = top.xScalevalue.times;
112
+ let left = originX.value - xCellWidth.value;
113
+ function getDate(date) {
114
+ return String(date).length < 9 ? `20${date}` : date;
115
+ }
116
+ const timeList = dateList.map((item) => {
117
+ return times.map((v) => {
118
+ left += xCellWidth.value;
119
+ const start = new Date(`${getDate(item)} ${v.start}`).getTime();
120
+ const end = new Date(`${getDate(item)} ${v.end}`).getTime();
121
+ return {
122
+ start,
123
+ end,
124
+ left,
125
+ center: left + xCellWidth.value / 2,
126
+ scaleCell: (end - start) / xCellWidth.value
127
+ };
128
+ });
129
+ });
130
+ return timeList.flat();
131
+ });
132
+ const breatheYCell = computed(() => {
133
+ var _a;
134
+ const { yScaleValue, spaceGridNumber = 5 } = props.data.left;
135
+ const list = (_a = yScaleValue.find((v) => v.type === "breathe")) == null ? void 0 : _a.list;
136
+ return list ? yCellHeight.value / ((parseInt(list[1]) - parseInt(list[0])) / spaceGridNumber) : 0;
137
+ });
138
+ const pulseYCell = computed(() => {
139
+ const { yScaleValue, spaceGridNumber = 5 } = props.data.left;
140
+ const list = yScaleValue.find((v) => v.type === "pulse").list;
141
+ return yCellHeight.value / ((parseInt(list[1]) - parseInt(list[0])) / spaceGridNumber);
142
+ });
143
+ const temperatureYCell = computed(() => {
144
+ const { yScaleValue, spaceGridNumber = 5 } = props.data.left;
145
+ const list = yScaleValue.find((v) => v.type === "temperature").list;
146
+ return yCellHeight.value / ((parseInt(list[1]) - parseInt(list[0])) / spaceGridNumber);
147
+ });
148
+ const painYCell = computed(() => {
149
+ const { yScaleValue, spaceGridNumber = 5 } = props.data.left;
150
+ const item = yScaleValue.find((v) => v.type === "pain");
151
+ const list = (item == null ? void 0 : item.list) || [];
152
+ if (!list.length)
153
+ return 0;
154
+ return yCellHeight.value / ((parseInt(list[1]) - parseInt(list[0])) / item.spaceGridNumber);
155
+ });
156
+ const event = computed(() => {
157
+ var _a;
158
+ return ((_a = props.data.grid) == null ? void 0 : _a.event) || { selectable: true, evented: true };
159
+ });
160
+ const itemList = computed(() => {
161
+ const { left } = props.data;
162
+ return left.yScaleValue.map((item) => {
163
+ return item.dataList.map((v, dataIndex) => {
164
+ return {
165
+ ...v,
166
+ bigType: item.type,
167
+ unit: item.unit,
168
+ dataIndex
169
+ };
170
+ });
171
+ }).flat();
172
+ });
173
+ const painIndex = computed(() => {
174
+ const { left } = props.data;
175
+ return left.yScaleValue.findIndex((v) => v.type === "pain");
176
+ });
177
+ const painHeight = computed(() => {
178
+ const { grid } = props.data;
179
+ return painIndex.value === -1 ? 0 : yCellHeight.value * grid.subYCell;
180
+ });
181
+ const painOriginY = computed(() => {
182
+ const { left } = props.data;
183
+ let obj = {
184
+ originY: endY.value,
185
+ endY: endY.value
186
+ };
187
+ if (painIndex.value === 0) {
188
+ obj.originY = originYLimit.value;
189
+ obj.endY = originYLimit.value + painHeight.value;
190
+ } else if (painIndex.value === left.yScaleValue.length - 1) {
191
+ obj.originY = endY.value - painHeight.value;
192
+ obj.endY = endY.value;
193
+ }
194
+ return obj;
195
+ });
196
+ const vitalSignsOriginY = computed(() => {
197
+ const { left } = props.data;
198
+ let obj = {
199
+ originY: originY.value,
200
+ endY: endY.value
201
+ };
202
+ if (painIndex.value === 0) {
203
+ obj.originY = originYLimit.value + painHeight.value;
204
+ obj.endY = endY.value;
205
+ } else if (painIndex.value === left.yScaleValue.length - 1) {
206
+ obj.originY = originYLimit.value;
207
+ obj.endY = endY.value - painHeight.value;
208
+ }
209
+ return obj;
210
+ });
211
+ const topList = computed(() => {
212
+ const { top } = props.data;
213
+ let topList2 = [];
214
+ for (let i in top) {
215
+ if (top[i].show) {
216
+ topList2.push({
217
+ ...top[i],
218
+ key: i
219
+ });
220
+ }
221
+ }
222
+ return topList2.sort((a, b) => a.seq - b.seq);
223
+ });
224
+ const propItems = reactive({
225
+ canvasWidth: props.data.width,
226
+ canvasHeight: props.data.height,
227
+ borderStyle: props.data.borderStyle || defaultBorderStyle,
228
+ selectionStyle: props.data.selectionStyle || {},
229
+ dateHeight: dateHeight.value,
230
+ hospitalDaysHeight: hospitalDaysHeight.value,
231
+ operationDaysHeight: operationDaysHeight.value,
232
+ xScalevalueHeight: xScalevalueHeight.value,
233
+ topList: topList.value,
234
+ breathingHeight: breathingHeight.value,
235
+ grid: props.data.grid,
236
+ top: props.data.top,
237
+ left: props.data.left,
238
+ right: props.data.right,
239
+ bottom: props.data.bottom,
240
+ other: props.data.other,
241
+ painIndex: painIndex.value,
242
+ painHeight: painHeight.value,
243
+ painOriginY: painOriginY.value,
244
+ vitalSignsOriginY: vitalSignsOriginY.value,
245
+ gridXNumber: gridXNumber.value,
246
+ gridYNumber: gridYNumber.value,
247
+ iconsWidth: iconsWidth.value,
248
+ originX: originX.value,
249
+ originY: originY.value,
250
+ originYLimit: originYLimit.value,
251
+ endX: endX.value,
252
+ endXLimit: endXLimit.value,
253
+ endY: endY.value,
254
+ xCellWidth: xCellWidth.value,
255
+ yCellHeight: yCellHeight.value,
256
+ xScaleList: xScaleList.value,
257
+ breatheYCell: breatheYCell.value,
258
+ pulseYCell: pulseYCell.value,
259
+ temperatureYCell: temperatureYCell.value,
260
+ painYCell: painYCell.value,
261
+ event: event.value,
262
+ itemList: itemList.value
263
+ });
264
+ const { cumputedX, cumputedY, getXValue, getYValue } = useCumputedPoint(propItems);
265
+ useTop(canvas, propItems);
266
+ const { pointTipProps, pointMenuProps, clickMenu, setPopup, getEqualXTypes } = useCenter(canvas, propItems, emits, cumputedX, cumputedY, getXValue, getYValue, props.addRenderItem);
267
+ useLeft(canvas, propItems, emits, setPopup, pointTipProps, getXValue, getYValue, getEqualXTypes);
268
+ useRight(canvas, propItems);
269
+ useBottom(canvas, propItems);
270
+ useOther(canvas, propItems, cumputedX);
271
+ onMounted(() => {
272
+ canvas.value = new fabric.Canvas(canvasRef.value, {
273
+ width: propItems.canvasWidth,
274
+ height: propItems.canvasHeight,
275
+ backgroundColor: "#fff",
276
+ selection: false,
277
+ containerClass: "c-fabric-chart",
278
+ fireRightClick: true
279
+ });
280
+ useEvent(canvasRef.value);
281
+ const { select: selectFunc } = useCanvasEvent(canvas, propItems, emits);
282
+ select.value = selectFunc;
283
+ });
284
+ onBeforeUnmount(() => {
285
+ canvas.value.clear();
286
+ canvas.value = null;
287
+ });
288
+ expose({
289
+ select,
290
+ canvas
291
+ });
292
+ return (_ctx, _cache) => {
293
+ return openBlock(), createElementBlock(Fragment, null, [
294
+ createElementVNode("canvas", {
295
+ ref_key: "canvasRef",
296
+ ref: canvasRef
297
+ }, null, 512),
298
+ unref(canvas) ? (openBlock(), createBlock(PopupTip, mergeProps({
299
+ key: 0,
300
+ propItems
301
+ }, unref(pointTipProps)), null, 16, ["propItems"])) : createCommentVNode("v-if", true),
302
+ unref(canvas) ? (openBlock(), createBlock(unref(PopupMenu), mergeProps({
303
+ key: 1,
304
+ propItems
305
+ }, unref(pointMenuProps), {
306
+ show: unref(pointMenuProps).show,
307
+ "onUpdate:show": _cache[0] || (_cache[0] = ($event) => unref(pointMenuProps).show = $event),
308
+ onClickMenu: unref(clickMenu)
309
+ }), null, 16, ["propItems", "show", "onClickMenu"])) : createCommentVNode("v-if", true)
310
+ ], 64);
311
+ };
312
+ }
313
+ });
314
+ var script = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "FabricChart.vue"]]);
315
+
316
+ export { script as default };
@@ -1,4 +1,34 @@
1
- import script from './PopupTip.vue_vue_type_script_setup_true_lang.js';
2
- export { default } from './PopupTip.vue_vue_type_script_setup_true_lang.js';
1
+ import { defineComponent, openBlock, createBlock, Teleport, withDirectives, createElementVNode, normalizeStyle, unref, createElementBlock, Fragment, renderList, toDisplayString, vShow } from 'vue';
2
+ import useStyle from './useStyle.js';
3
+ import _export_sfc from '../../../../_virtual/plugin-vue_export-helper.js';
3
4
 
4
- script.__file = "packages/fabric-chart/src/components/PopupTip.vue";
5
+ const _sfc_main = /* @__PURE__ */ defineComponent({
6
+ __name: "PopupTip",
7
+ props: {
8
+ show: { type: Boolean, default: false },
9
+ point: null,
10
+ list: { default: () => [] },
11
+ propItems: null
12
+ },
13
+ setup(__props) {
14
+ const props = __props;
15
+ const pointStyle = useStyle(props);
16
+ return (_ctx, _cache) => {
17
+ return openBlock(), createBlock(Teleport, { to: ".c-fabric-chart" }, [
18
+ withDirectives(createElementVNode("ul", {
19
+ class: "c-fabric-chart-popup-tip",
20
+ style: normalizeStyle(unref(pointStyle))
21
+ }, [
22
+ (openBlock(true), createElementBlock(Fragment, null, renderList(__props.list, (item) => {
23
+ return openBlock(), createElementBlock("li", null, toDisplayString(item), 1);
24
+ }), 256))
25
+ ], 4), [
26
+ [vShow, __props.show]
27
+ ])
28
+ ]);
29
+ };
30
+ }
31
+ });
32
+ var PopupTip = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "PopupTip.vue"]]);
33
+
34
+ export { PopupTip as default };
@@ -8,6 +8,18 @@ import { TEMPERATURE_MENU, PAIN_MENU } from './constant.js';
8
8
  function isEffectiveNode(node) {
9
9
  return (node == null ? void 0 : node.time) && ((node == null ? void 0 : node.value) || (node == null ? void 0 : node.value) === 0);
10
10
  }
11
+ function getPointArr(arr) {
12
+ let _arr = [];
13
+ return arr.reduce((pre, cur, index) => {
14
+ var _a, _b;
15
+ _arr.push([cur.left, cur.top]);
16
+ if (((_b = (_a = cur.origin) == null ? void 0 : _a.data) == null ? void 0 : _b.breakpoint) || arr.length - 1 === index) {
17
+ pre.push(_arr);
18
+ _arr = [];
19
+ }
20
+ return pre;
21
+ }, []);
22
+ }
11
23
  function useCenter(canvas, propItems, emits, cumputedX, cumputedY, getXValue, getYValue, addRenderItem) {
12
24
  useGrid(canvas, propItems);
13
25
  const {
@@ -36,23 +48,27 @@ function useCenter(canvas, propItems, emits, cumputedX, cumputedY, getXValue, ge
36
48
  target: null
37
49
  });
38
50
  const shadowLinesCache = /* @__PURE__ */ new Set();
51
+ let shadowPointCache = [];
39
52
  const maiboPoints = /* @__PURE__ */ new Set();
40
53
  const otherPoints = /* @__PURE__ */ new Set();
54
+ const prevLines = /* @__PURE__ */ new Set();
41
55
  onMounted(() => {
42
56
  nextTick(() => {
43
57
  init();
44
58
  });
45
59
  });
46
60
  function init() {
47
- drawShaDow();
61
+ shadowPointCache = [];
48
62
  maiboPoints.clear();
49
63
  otherPoints.clear();
64
+ prevLines.clear();
50
65
  left.yScaleValue.forEach((scaleValue) => {
51
66
  drawPositionLine(scaleValue);
52
67
  scaleValue.dataList.forEach((item, dataIndex) => {
53
68
  drawPolyLine(item, dataIndex, scaleValue);
54
69
  });
55
70
  });
71
+ drawShaDow();
56
72
  drawOverlapPoint();
57
73
  setCanvasEvent();
58
74
  }
@@ -65,90 +81,34 @@ function useCenter(canvas, propItems, emits, cumputedX, cumputedY, getXValue, ge
65
81
  canvas.value.renderAll();
66
82
  }
67
83
  function drawShaDow(target) {
68
- var _a, _b;
84
+ var _a;
69
85
  const pulseObj = left.yScaleValue.find((item) => item.type === "pulse");
70
86
  if (!pulseObj || !((_a = pulseObj.dataList) == null ? void 0 : _a.length))
71
87
  return;
72
88
  if (shadowLinesCache.size)
73
89
  canvas.value.remove(...shadowLinesCache);
74
90
  shadowLinesCache.clear();
75
- const data = [];
76
- if (((_b = pulseObj.dataList) == null ? void 0 : _b.length) > 1) {
77
- let points1 = [];
78
- let points2 = [];
79
- const copyDataList = JSON.parse(JSON.stringify(pulseObj.dataList));
91
+ if (shadowPointCache.length > 1) {
80
92
  if (target) {
81
93
  const { type, dataIndex, index } = target.origin || {};
82
94
  if (type === "pulse") {
83
- Object.assign(copyDataList[dataIndex].list[index], {
84
- x: target.left,
85
- y: target.top
86
- });
95
+ shadowPointCache[dataIndex].splice(index, 1, target);
87
96
  }
88
97
  }
89
- const [data1, data2] = copyDataList;
90
- const getPoint = (item) => {
91
- if (item.x && item.y) {
92
- return {
93
- x: item.x,
94
- y: item.y
95
- };
96
- }
97
- if (isEffectiveNode(item) && isLimit(item.time)) {
98
- let y = cumputedY(pulseObj.type, pulseObj.list, item.value);
99
- y = y < vitalSignsOriginY.originY ? vitalSignsOriginY.originY : y > vitalSignsOriginY.endY ? vitalSignsOriginY.endY : y;
100
- return {
101
- x: cumputedX(item.time),
102
- y
103
- };
104
- }
105
- };
106
- data1.list.forEach((item, index) => {
107
- const point1 = getPoint(item);
108
- const item2 = data2.list[index];
109
- const point2 = item2 ? getPoint(item2) : null;
110
- if (point1 && point2 && point1.x === point2.x && point1.y !== point2.y) {
111
- points1.push(point1);
112
- points2.push(point2);
113
- const itemPrev = data1.list[index - 1];
114
- const itemNext = data1.list[index + 1];
115
- const itemNext2 = data2.list[index + 1];
116
- if (itemPrev && points1.length === 1) {
117
- const point = getPoint(itemPrev);
118
- point && points1.unshift(point);
119
- }
120
- if (itemNext && itemNext2) {
121
- const pointNext = getPoint(itemNext);
122
- const pointNext2 = getPoint(itemNext2);
123
- if (pointNext && pointNext2 && pointNext.x === pointNext2.x && pointNext.y === pointNext2.y) {
124
- points1.push(pointNext);
125
- }
126
- } else {
127
- data.push({ points1, points2 });
128
- }
129
- } else {
130
- if (points1.length && points2.length) {
131
- data.push({ points1, points2 });
132
- points1 = [];
133
- points2 = [];
134
- }
135
- }
136
- });
137
- }
138
- if (data.length) {
139
- const newData = data.reduce((pre, cur) => {
140
- const arr1 = cur.points1.map((v) => [v.x, v.y]);
141
- const arr2 = cur.points2.map((v) => [v.x, v.y]);
142
- return pre.concat([[...arr1, ...arr2.reverse()]]);
143
- }, []);
98
+ const [data1, data2] = shadowPointCache;
99
+ if (!data1.length || !data2.length)
100
+ return;
101
+ const points1 = getPointArr(data1);
102
+ const points2 = getPointArr(data2);
103
+ const data = points1.reduce((pre, cur, index) => pre.concat([[...cur, ...points2[index].reverse()]]), []);
144
104
  const { createShadowLines } = useShadow();
145
- newData.forEach((item) => {
146
- var _a2, _b2, _c, _d;
105
+ data.forEach((item) => {
106
+ var _a2, _b, _c, _d;
147
107
  if (((_a2 = pulseObj.shadow) == null ? void 0 : _a2.mode) == "color") {
148
108
  const points = item.map((v) => ({ x: v[0], y: v[1] }));
149
109
  const polygon = new fabric.Polygon(points, {
150
110
  ...defaultStyle,
151
- ...((_b2 = pulseObj.shadow) == null ? void 0 : _b2.style) || {}
111
+ ...((_b = pulseObj.shadow) == null ? void 0 : _b.style) || {}
152
112
  });
153
113
  shadowLinesCache.add(polygon);
154
114
  canvas.value.add(polygon);
@@ -278,24 +238,10 @@ function useCenter(canvas, propItems, emits, cumputedX, cumputedY, getXValue, ge
278
238
  const lineList = [];
279
239
  const otherList = [];
280
240
  item.list.forEach((v, index) => {
281
- const newY = scaleValue.type === "pain" ? painOriginY : vitalSignsOriginY;
282
- let points = null;
283
- if (isEffectiveNode(v)) {
284
- const x = cumputedX(v.time);
285
- const y = cumputedY(scaleValue.type, scaleValue.list, v.value);
286
- if (isLimit(v.time)) {
287
- points = [x, y < newY.originY ? newY.originY : y > newY.endY ? newY.endY : y];
288
- }
289
- }
241
+ var _a;
242
+ const points = getPointer(v, scaleValue);
290
243
  const nextV = item.list[index + 1];
291
- let nextPoint = null;
292
- if (isEffectiveNode(nextV)) {
293
- const nextX = cumputedX(nextV.time);
294
- const nextY = cumputedY(scaleValue.type, scaleValue.list, nextV.value);
295
- if (isLimit(nextV.time)) {
296
- nextPoint = [nextX, nextY < newY.originY ? newY.originY : nextY > newY.endY ? newY.endY : nextY];
297
- }
298
- }
244
+ const nextPoint = getPointer(nextV, scaleValue);
299
245
  let coolLine, coolPoint, noRiseText, arrowGroup, verifiedText;
300
246
  if (points && scaleValue.type === "temperature") {
301
247
  if (v.noRise) {
@@ -357,9 +303,22 @@ function useCenter(canvas, propItems, emits, cumputedX, cumputedY, getXValue, ge
357
303
  }
358
304
  }
359
305
  let point;
360
- const line = points && nextPoint && !v.breakpoint ? drawLine([...points, ...nextPoint], {
361
- ...lineAttr
362
- }) : null;
306
+ let line;
307
+ if (points && nextPoint && !v.breakpoint) {
308
+ line = drawLine([...points, ...nextPoint], {
309
+ ...lineAttr
310
+ });
311
+ } else if (points && !nextPoint && !v.breakpoint && scaleValue.type === "temperature" && dataIndex < scaleValue.dataList.length - 1 && index === item.list.length - 1) {
312
+ const nextV2 = (_a = scaleValue.dataList[dataIndex + 1].list) == null ? void 0 : _a[0];
313
+ const nextLinePoint = getPointer(nextV2, scaleValue);
314
+ line = nextLinePoint ? drawLine([...points, ...nextLinePoint], {
315
+ ...lineAttr
316
+ }) : null;
317
+ nextLinePoint && prevLines.add({
318
+ dataIndex,
319
+ line
320
+ });
321
+ }
363
322
  const previousLine = lineList[index - 1];
364
323
  const pointAttrNew = {
365
324
  origin: {
@@ -390,6 +349,12 @@ function useCenter(canvas, propItems, emits, cumputedX, cumputedY, getXValue, ge
390
349
  } else {
391
350
  if (points) {
392
351
  pointAttrNew.leftLine = null;
352
+ if (scaleValue.type === "temperature" && index === 0) {
353
+ const objLine = [...prevLines].find((v2) => v2.dataIndex === dataIndex - 1);
354
+ if (objLine) {
355
+ pointAttrNew.leftLine = objLine.line;
356
+ }
357
+ }
393
358
  point = drawPoint(type, {
394
359
  left: points[0],
395
360
  top: points[1],
@@ -408,6 +373,7 @@ function useCenter(canvas, propItems, emits, cumputedX, cumputedY, getXValue, ge
408
373
  pointList.push(point);
409
374
  }
410
375
  });
376
+ scaleValue.type === "pulse" && shadowPointCache.push(pointList);
411
377
  Promise.all(pointList).then((res) => {
412
378
  const lineListFilter = lineList.filter((v) => v);
413
379
  let prevPoint = null;
@@ -521,6 +487,16 @@ function useCenter(canvas, propItems, emits, cumputedX, cumputedY, getXValue, ge
521
487
  const getTime = new Date(time).getTime();
522
488
  return getTime >= minMinute && getTime <= maxMinute;
523
489
  }
490
+ function getPointer(v, scaleValue) {
491
+ let points;
492
+ const objOriginY = scaleValue.type === "pain" ? painOriginY : vitalSignsOriginY;
493
+ if (isEffectiveNode(v) && isLimit(v.time)) {
494
+ const x = cumputedX(v.time);
495
+ const y = cumputedY(scaleValue.type, scaleValue.list, v.value);
496
+ points = [x, y < objOriginY.originY ? objOriginY.originY : y > objOriginY.endY ? objOriginY.endY : y];
497
+ }
498
+ return points;
499
+ }
524
500
  function clickMenu({ item, target }) {
525
501
  if (!target) {
526
502
  emits("add", {
@@ -23,6 +23,7 @@ function useCanvasEvent(canvas, propItems, emits) {
23
23
  lockMovementX: true,
24
24
  lockMovementY: true,
25
25
  transparentCorners: false,
26
+ hasControls: false,
26
27
  ...selectionStyle
27
28
  });
28
29
  canvas.value.add(rect);
@@ -37,9 +38,9 @@ function useCanvasEvent(canvas, propItems, emits) {
37
38
  const selections2 = [];
38
39
  selections2.push(drawRect({
39
40
  left: iconsWidth,
40
- top: originY,
41
+ top: originY + 1,
41
42
  width: originX - iconsWidth,
42
- height: endY
43
+ height: endY - originY - 3
43
44
  }, "left"));
44
45
  let topY = 0;
45
46
  topList.forEach((item, index) => {
@@ -48,16 +49,16 @@ function useCanvasEvent(canvas, propItems, emits) {
48
49
  }
49
50
  selections2.push(drawRect({
50
51
  left: iconsWidth,
51
- top: topY,
52
+ top: topY + 1,
52
53
  width: endX - iconsWidth,
53
- height: propItems[`${item.key}Height`]
54
+ height: propItems[`${item.key}Height`] - 1
54
55
  }, item.key));
55
56
  });
56
57
  selections2.push(drawRect({
57
58
  left: originX,
58
- top: originY,
59
+ top: originY + 1,
59
60
  width: endX - originX,
60
- height: endY - originY
61
+ height: endY - originY - 3
61
62
  }, "grid"));
62
63
  canvas.value.renderAll();
63
64
  return selections2;
@@ -65,8 +66,9 @@ function useCanvasEvent(canvas, propItems, emits) {
65
66
  const selections = initSelection();
66
67
  function select(key) {
67
68
  canvas.value.discardActiveObject();
69
+ canvas.value.renderAll();
68
70
  const obj = selections == null ? void 0 : selections.find((obj2) => obj2.key === key);
69
- obj && obj.bringToFront();
71
+ obj == null ? void 0 : obj.bringToFront();
70
72
  obj && canvas.value.setActiveObject(obj);
71
73
  }
72
74
  return { select };