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

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 (210) 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-input.js +15 -4
  20. package/es/packages/big-table/src/components/edit-form/edit-separate.js +89 -3
  21. package/es/packages/big-table/src/components/edit-form/edit-time.d.ts +43 -0
  22. package/es/packages/big-table/src/components/edit-form/edit-time.js +52 -0
  23. package/es/packages/big-table/src/components/input-button.js +34 -3
  24. package/es/packages/big-table/src/components/separate.js +29 -3
  25. package/es/packages/big-table/src/hooks/useColumnConfigAdaptor.js +34 -5
  26. package/es/packages/big-table/src/hooks/useEdit.d.ts +42 -0
  27. package/es/packages/big-table/src/hooks/useEdit.js +4 -3
  28. package/es/packages/big-table/src/utils.js +1 -0
  29. package/es/packages/big-table/style/index.css +133 -0
  30. package/es/packages/bpmn-workflow/index.js +1 -2
  31. package/es/packages/bpmn-workflow/src/BpmnWorkflow.js +253 -3
  32. package/es/packages/button-print/index.js +1 -2
  33. package/es/packages/button-print/src/ButtonPrint.js +5 -3
  34. package/es/packages/button-print/src/ButtonPrint.vue_vue_type_script_setup_true_lang.js +6 -7
  35. package/es/packages/button-print/src/components/IdentityVerification.js +129 -3
  36. package/es/packages/button-print/src/utils/print.d.ts +1 -1
  37. package/es/packages/button-print/src/utils/print.js +4 -4
  38. package/es/packages/chunk-upload/index.js +1 -1
  39. package/es/packages/chunk-upload/src/chunk-upload-new.js +474 -3
  40. package/es/packages/chunk-upload/src/vod-chunk-upload/index.js +2 -3
  41. package/es/packages/chunk-upload/src/vod-chunk-upload/vod-chunk-upload.js +328 -3
  42. package/es/packages/chunk-upload/src/vod-upload-modal.js +3 -4
  43. package/es/packages/drag-layout/index.js +1 -2
  44. package/es/packages/drag-layout/src/DragFormLeftItem.js +123 -3
  45. package/es/packages/drag-layout/src/DragFormRightItem.js +268 -3
  46. package/es/packages/drag-layout/src/DragLayout.js +658 -3
  47. package/es/packages/fabric-chart/index.js +1 -2
  48. package/es/packages/fabric-chart/src/FabricChart.js +315 -3
  49. package/es/packages/fabric-chart/src/components/PopupTip.js +33 -3
  50. package/es/packages/fabric-chart/src/hooks/useCenter.js +41 -25
  51. package/es/packages/fabric-chart/src/hooks/useEvent.js +9 -7
  52. package/es/packages/fabric-chart/src/hooks/useLeft.js +15 -4
  53. package/es/packages/field-set/index.d.ts +2509 -5166
  54. package/es/packages/field-set/index.js +1 -2
  55. package/es/packages/field-set/src/FieldSet.js +346 -3
  56. package/es/packages/field-set/src/FieldSet.vue.d.ts +2492 -5169
  57. package/es/packages/form-render/index.d.ts +0 -2
  58. package/es/packages/form-render/index.js +2 -3
  59. package/es/packages/form-render/src/FormRender.js +188 -3
  60. package/es/packages/form-render/src/FormRender.vue.d.ts +0 -2
  61. package/es/packages/form-render/src/components/renderer/cascader.d.ts +6 -6
  62. package/es/packages/form-render/src/components/renderer/cascader.js +72 -80
  63. package/es/packages/form-render/src/components/renderer/combination.d.ts +6 -0
  64. package/es/packages/form-render/src/components/renderer/combination.js +55 -19
  65. package/es/packages/form-render/src/components/renderer/formItem.js +1 -1
  66. package/es/packages/form-render/src/components/renderer/radio.d.ts +12 -4
  67. package/es/packages/form-render/src/components/renderer/radio.js +23 -5
  68. package/es/packages/form-render/src/components/renderer/select.js +51 -58
  69. package/es/packages/form-render/src/components/renderer/simpleComponent.d.ts +17 -2
  70. package/es/packages/form-render/src/components/renderer/simpleComponent.js +16 -14
  71. package/es/packages/form-render/src/hooks/useAsyncQueue.d.ts +1 -1
  72. package/es/packages/form-render/src/hooks/useAsyncQueue.js +1 -1
  73. package/es/packages/form-render/src/hooks/useChangeContext.d.ts +1 -1
  74. package/es/packages/form-render/src/hooks/useChangeContext.js +1 -1
  75. package/es/packages/form-render/src/hooks/useFieldListAdaptor.js +8 -7
  76. package/es/packages/form-render/src/hooks/useFormItemDeps.d.ts +3 -2
  77. package/es/packages/form-render/src/hooks/useFormItemDeps.js +5 -6
  78. package/es/packages/form-render/src/hooks/useFormRequest.d.ts +2 -2
  79. package/es/packages/form-render/src/types/fieldItem.d.ts +123 -35
  80. package/es/packages/form-render/src/types/index.d.ts +4 -2
  81. package/es/packages/form-render/src/utils/index.d.ts +3 -6
  82. package/es/packages/form-table/index.js +1 -2
  83. package/es/packages/form-table/src/FormTable.js +475 -3
  84. package/es/packages/form-table/src/components/index.js +28 -42
  85. package/es/packages/form-table/src/components/table-age.js +232 -3
  86. package/es/packages/form-table/src/components/table-date-picker.js +176 -3
  87. package/es/packages/form-table/src/components/table-digital.js +138 -3
  88. package/es/packages/form-table/src/components/table-input-password.js +138 -3
  89. package/es/packages/form-table/src/components/table-input.js +124 -3
  90. package/es/packages/form-table/src/components/table-month-picker.js +100 -3
  91. package/es/packages/form-table/src/components/table-search-more.js +5 -3
  92. package/es/packages/form-table/src/components/table-search-more.vue_vue_type_script_setup_true_lang.js +2 -2
  93. package/es/packages/form-table/src/components/table-search.js +5 -3
  94. package/es/packages/form-table/src/components/table-search.vue_vue_type_script_setup_true_lang.js +2 -2
  95. package/es/packages/form-table/src/components/table-select-multiple.js +161 -3
  96. package/es/packages/form-table/src/components/table-select.js +156 -3
  97. package/es/packages/form-table/src/components/table-textarea.js +154 -3
  98. package/es/packages/form-table/src/components/table-time-picker.js +146 -3
  99. package/es/packages/form-table/src/components/table-tree-select.js +282 -3
  100. package/es/packages/form-table/src/components/text-over-tooltip.js +63 -3
  101. package/es/packages/index.css +136 -0
  102. package/es/packages/info-header/index.d.ts +1373 -354
  103. package/es/packages/info-header/index.js +1 -2
  104. package/es/packages/info-header/src/HiddenContent.js +65 -3
  105. package/es/packages/info-header/src/HiddenContent.vue.d.ts +689 -178
  106. package/es/packages/info-header/src/InfoEllipsis.js +43 -0
  107. package/es/packages/info-header/src/InfoEllipsis.vue.d.ts +833 -0
  108. package/es/packages/info-header/src/InfoHeader.js +229 -3
  109. package/es/packages/info-header/src/InfoHeader.vue.d.ts +1373 -354
  110. package/es/packages/info-header/style/index.css +3 -0
  111. package/es/packages/map/index.js +1 -2
  112. package/es/packages/map/src/Map.js +337 -3
  113. package/es/packages/scale-view/index.js +1 -2
  114. package/es/packages/scale-view/src/ScaleView.js +418 -3
  115. package/es/packages/scale-view/src/components/AnswerParse.js +79 -3
  116. package/es/packages/scale-view/src/components/EvaluateCountdown.js +108 -3
  117. package/es/packages/scale-view/src/components/EvaluatePage.js +140 -3
  118. package/es/packages/scale-view/src/components/LoadingCom.js +17 -5
  119. package/es/packages/scale-view/src/components/NoData.js +73 -3
  120. package/es/packages/scale-view/src/components/formitem/r-cascader.js +3 -3
  121. package/es/packages/scale-view/src/components/formitem/r-select.js +3 -3
  122. package/es/packages/scale-view/src/components/formitem/text-over-tooltip/TextOverTooltip.js +78 -3
  123. package/es/packages/select-label/index.js +3 -5
  124. package/es/packages/select-label/src/LabelFormContent.js +441 -3
  125. package/es/packages/select-label/src/SelectLabel.js +5 -3
  126. package/es/packages/select-label/src/SelectLabel.vue_vue_type_script_setup_true_lang.js +5 -21
  127. package/es/packages/select-label/src/components/label-classify.js +128 -3
  128. package/es/packages/select-person/index.js +1 -2
  129. package/es/packages/select-person/src/SearchTree.js +5 -3
  130. package/es/packages/select-person/src/SearchTree.vue_vue_type_script_setup_true_lang.js +2 -2
  131. package/es/packages/select-person/src/SelectPerson.js +5 -3
  132. package/es/packages/select-person/src/SelectPerson.vue_vue_type_script_setup_true_lang.js +4 -5
  133. package/es/packages/shortcut-provider/index.js +1 -2
  134. package/es/packages/shortcut-provider/src/ShortcutProvider.js +33 -3
  135. package/es/packages/shortcut-provider/src/types/index.d.ts +11 -9
  136. package/es/packages/shortcut-provider/src/utils/index.js +5 -5
  137. package/es/packages/shortcut-setter/index.d.ts +3247 -1486
  138. package/es/packages/shortcut-setter/index.js +1 -2
  139. package/es/packages/shortcut-setter/src/ShortcutSetter.js +42 -3
  140. package/es/packages/shortcut-setter/src/ShortcutSetter.vue.d.ts +3247 -1486
  141. package/es/packages/shortcut-setter/src/ShortcutSetterItem.js +139 -3
  142. package/es/packages/shortcut-setter/src/ShortcutSetterItem.vue.d.ts +1700 -1661
  143. package/es/packages/steps-wheel/index.js +1 -2
  144. package/es/packages/steps-wheel/src/StepsWheel.js +264 -3
  145. package/es/packages/time-line/index.js +1 -2
  146. package/es/packages/time-line/src/TimeLine.js +69 -3
  147. package/es/src/components/SelectPage/SelectPage.js +62 -3
  148. package/es/src/components/SelectPage/index.js +2 -3
  149. package/es/src/components/SvgIcon/SvgIcon.js +35 -3
  150. package/es/src/components/SvgIcon/index.js +2 -3
  151. package/es/src/components/TextOverTooltip/TextOverTooltip.js +75 -3
  152. package/es/src/components/TextOverTooltip/index.js +2 -3
  153. package/es/src/components/player-vod/index.js +13 -3
  154. package/es/src/utils/anime.d.ts +1 -1
  155. package/package.json +1 -1
  156. package/es/packages/big-table/src/components/NoData.vue_vue_type_script_setup_true_lang.js +0 -72
  157. package/es/packages/big-table/src/components/edit-form/edit-separate.vue_vue_type_script_setup_true_lang.js +0 -89
  158. package/es/packages/big-table/src/components/input-button.vue_vue_type_script_setup_true_lang.js +0 -33
  159. package/es/packages/big-table/src/components/separate.vue_vue_type_script_setup_true_lang.js +0 -28
  160. package/es/packages/bpmn-workflow/src/BpmnWorkflow.vue_vue_type_script_setup_true_lang.js +0 -252
  161. package/es/packages/button-print/src/components/IdentityVerification.vue_vue_type_script_setup_true_lang.js +0 -128
  162. package/es/packages/chunk-upload/src/chunk-upload-new.vue_vue_type_script_setup_true_lang.js +0 -473
  163. package/es/packages/chunk-upload/src/vod-chunk-upload/vod-chunk-upload.vue_vue_type_script_setup_true_lang.js +0 -327
  164. package/es/packages/drag-layout/src/DragFormLeftItem.vue_vue_type_script_setup_true_lang.js +0 -122
  165. package/es/packages/drag-layout/src/DragFormRightItem.vue_vue_type_script_setup_true_lang.js +0 -267
  166. package/es/packages/drag-layout/src/DragLayout.vue_vue_type_script_setup_true_lang.js +0 -659
  167. package/es/packages/fabric-chart/src/FabricChart.vue_vue_type_script_setup_true_lang.js +0 -315
  168. package/es/packages/fabric-chart/src/components/PopupTip.vue_vue_type_script_setup_true_lang.js +0 -32
  169. package/es/packages/field-set/src/FieldSet.vue_vue_type_script_setup_true_lang.js +0 -22
  170. package/es/packages/field-set/src/NewFieldSet.js +0 -4
  171. package/es/packages/field-set/src/NewFieldSet.vue.d.ts +0 -2607
  172. package/es/packages/field-set/src/NewFieldSet.vue_vue_type_script_setup_true_lang.js +0 -299
  173. package/es/packages/field-set/src/OldFieldSet.js +0 -4
  174. package/es/packages/field-set/src/OldFieldSet.vue.d.ts +0 -2610
  175. package/es/packages/field-set/src/OldFieldSet.vue_vue_type_script_setup_true_lang.js +0 -330
  176. package/es/packages/form-render/src/FormRender.vue_vue_type_script_setup_true_lang.js +0 -187
  177. package/es/packages/form-table/src/FormTable.vue_vue_type_script_setup_true_lang.js +0 -474
  178. package/es/packages/form-table/src/components/table-age.vue_vue_type_script_setup_true_lang.js +0 -232
  179. package/es/packages/form-table/src/components/table-date-picker.vue_vue_type_script_setup_true_lang.js +0 -175
  180. package/es/packages/form-table/src/components/table-digital.vue_vue_type_script_setup_true_lang.js +0 -138
  181. package/es/packages/form-table/src/components/table-input-password.vue_vue_type_script_setup_true_lang.js +0 -138
  182. package/es/packages/form-table/src/components/table-input.vue_vue_type_script_setup_true_lang.js +0 -124
  183. package/es/packages/form-table/src/components/table-month-picker.vue_vue_type_script_setup_true_lang.js +0 -99
  184. package/es/packages/form-table/src/components/table-select-multiple.vue_vue_type_script_setup_true_lang.js +0 -160
  185. package/es/packages/form-table/src/components/table-select.vue_vue_type_script_setup_true_lang.js +0 -155
  186. package/es/packages/form-table/src/components/table-textarea.vue_vue_type_script_setup_true_lang.js +0 -153
  187. package/es/packages/form-table/src/components/table-time-picker.vue_vue_type_script_setup_true_lang.js +0 -145
  188. package/es/packages/form-table/src/components/table-tree-select.vue_vue_type_script_setup_true_lang.js +0 -281
  189. package/es/packages/form-table/src/components/text-over-tooltip.vue_vue_type_script_setup_true_lang.js +0 -62
  190. package/es/packages/info-header/src/HiddenContent.vue_vue_type_script_setup_true_lang.js +0 -66
  191. package/es/packages/info-header/src/InfoHeader.vue_vue_type_script_setup_true_lang.js +0 -233
  192. package/es/packages/map/src/Map.vue_vue_type_script_setup_true_lang.js +0 -336
  193. package/es/packages/scale-view/src/ScaleView.vue_vue_type_script_setup_true_lang.js +0 -422
  194. package/es/packages/scale-view/src/components/AnswerParse.vue_vue_type_script_setup_true_lang.js +0 -78
  195. package/es/packages/scale-view/src/components/EvaluateCountdown.vue_vue_type_script_setup_true_lang.js +0 -107
  196. package/es/packages/scale-view/src/components/EvaluatePage.vue_vue_type_script_setup_true_lang.js +0 -139
  197. package/es/packages/scale-view/src/components/LoadingCom.vue_vue_type_template_id_413329b0_lang.js +0 -16
  198. package/es/packages/scale-view/src/components/NoData.vue_vue_type_script_setup_true_lang.js +0 -72
  199. package/es/packages/scale-view/src/components/formitem/text-over-tooltip/TextOverTooltip.vue_vue_type_script_setup_true_lang.js +0 -77
  200. package/es/packages/select-label/src/LabelFormContent.vue_vue_type_script_setup_true_lang.js +0 -441
  201. package/es/packages/select-label/src/components/label-classify.vue_vue_type_script_setup_true_lang.js +0 -127
  202. package/es/packages/shortcut-provider/src/ShortcutProvider.vue_vue_type_script_setup_true_lang.js +0 -32
  203. package/es/packages/shortcut-setter/src/ShortcutSetter.vue_vue_type_script_setup_true_lang.js +0 -38
  204. package/es/packages/shortcut-setter/src/ShortcutSetterItem.vue_vue_type_script_setup_true_lang.js +0 -125
  205. package/es/packages/steps-wheel/src/StepsWheel.vue_vue_type_script_setup_true_lang.js +0 -263
  206. package/es/packages/time-line/src/TimeLine.vue_vue_type_script_setup_true_lang.js +0 -68
  207. package/es/src/components/SelectPage/SelectPage.vue_vue_type_script_setup_true_lang.js +0 -61
  208. package/es/src/components/SvgIcon/SvgIcon.vue_vue_type_script_setup_true_lang.js +0 -34
  209. package/es/src/components/TextOverTooltip/TextOverTooltip.vue_vue_type_script_setup_true_lang.js +0 -74
  210. 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 };
@@ -38,6 +38,7 @@ function useCenter(canvas, propItems, emits, cumputedX, cumputedY, getXValue, ge
38
38
  const shadowLinesCache = /* @__PURE__ */ new Set();
39
39
  const maiboPoints = /* @__PURE__ */ new Set();
40
40
  const otherPoints = /* @__PURE__ */ new Set();
41
+ const prevLines = /* @__PURE__ */ new Set();
41
42
  onMounted(() => {
42
43
  nextTick(() => {
43
44
  init();
@@ -47,6 +48,7 @@ function useCenter(canvas, propItems, emits, cumputedX, cumputedY, getXValue, ge
47
48
  drawShaDow();
48
49
  maiboPoints.clear();
49
50
  otherPoints.clear();
51
+ prevLines.clear();
50
52
  left.yScaleValue.forEach((scaleValue) => {
51
53
  drawPositionLine(scaleValue);
52
54
  scaleValue.dataList.forEach((item, dataIndex) => {
@@ -94,12 +96,11 @@ function useCenter(canvas, propItems, emits, cumputedX, cumputedY, getXValue, ge
94
96
  y: item.y
95
97
  };
96
98
  }
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;
99
+ const point = getPointer(item, pulseObj);
100
+ if (point == null ? void 0 : point.length) {
100
101
  return {
101
- x: cumputedX(item.time),
102
- y
102
+ x: point[0],
103
+ y: point[1]
103
104
  };
104
105
  }
105
106
  };
@@ -278,24 +279,10 @@ function useCenter(canvas, propItems, emits, cumputedX, cumputedY, getXValue, ge
278
279
  const lineList = [];
279
280
  const otherList = [];
280
281
  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
- }
282
+ var _a;
283
+ const points = getPointer(v, scaleValue);
290
284
  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
- }
285
+ const nextPoint = getPointer(nextV, scaleValue);
299
286
  let coolLine, coolPoint, noRiseText, arrowGroup, verifiedText;
300
287
  if (points && scaleValue.type === "temperature") {
301
288
  if (v.noRise) {
@@ -357,9 +344,22 @@ function useCenter(canvas, propItems, emits, cumputedX, cumputedY, getXValue, ge
357
344
  }
358
345
  }
359
346
  let point;
360
- const line = points && nextPoint && !v.breakpoint ? drawLine([...points, ...nextPoint], {
361
- ...lineAttr
362
- }) : null;
347
+ let line;
348
+ if (points && nextPoint && !v.breakpoint) {
349
+ line = drawLine([...points, ...nextPoint], {
350
+ ...lineAttr
351
+ });
352
+ } else if (points && !nextPoint && !v.breakpoint && scaleValue.type === "temperature" && dataIndex < scaleValue.dataList.length - 1 && index === item.list.length - 1) {
353
+ const nextV2 = (_a = scaleValue.dataList[dataIndex + 1].list) == null ? void 0 : _a[0];
354
+ const nextLinePoint = getPointer(nextV2, scaleValue);
355
+ line = nextLinePoint ? drawLine([...points, ...nextLinePoint], {
356
+ ...lineAttr
357
+ }) : null;
358
+ nextLinePoint && prevLines.add({
359
+ dataIndex,
360
+ line
361
+ });
362
+ }
363
363
  const previousLine = lineList[index - 1];
364
364
  const pointAttrNew = {
365
365
  origin: {
@@ -390,6 +390,12 @@ function useCenter(canvas, propItems, emits, cumputedX, cumputedY, getXValue, ge
390
390
  } else {
391
391
  if (points) {
392
392
  pointAttrNew.leftLine = null;
393
+ if (scaleValue.type === "temperature" && index === 0) {
394
+ const objLine = [...prevLines].find((v2) => v2.dataIndex === dataIndex - 1);
395
+ if (objLine) {
396
+ pointAttrNew.leftLine = objLine.line;
397
+ }
398
+ }
393
399
  point = drawPoint(type, {
394
400
  left: points[0],
395
401
  top: points[1],
@@ -521,6 +527,16 @@ function useCenter(canvas, propItems, emits, cumputedX, cumputedY, getXValue, ge
521
527
  const getTime = new Date(time).getTime();
522
528
  return getTime >= minMinute && getTime <= maxMinute;
523
529
  }
530
+ function getPointer(v, scaleValue) {
531
+ let points;
532
+ const objOriginY = scaleValue.type === "pain" ? painOriginY : vitalSignsOriginY;
533
+ if (isEffectiveNode(v) && isLimit(v.time)) {
534
+ const x = cumputedX(v.time);
535
+ const y = cumputedY(scaleValue.type, scaleValue.list, v.value);
536
+ points = [x, y < objOriginY.originY ? objOriginY.originY : y > objOriginY.endY ? objOriginY.endY : y];
537
+ }
538
+ return points;
539
+ }
524
540
  function clickMenu({ item, target }) {
525
541
  if (!target) {
526
542
  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 };
@@ -15,7 +15,9 @@ function useLeft(canvas, propItems, emits, setPopup, pointTipProps, getXValue, g
15
15
  painHeight,
16
16
  iconsWidth,
17
17
  itemList,
18
- painIndex
18
+ painIndex,
19
+ canvasWidth,
20
+ canvasHeight
19
21
  } = propItems;
20
22
  const mainScaleWidth = 9;
21
23
  const subScaleWidth = 5;
@@ -56,7 +58,7 @@ function useLeft(canvas, propItems, emits, setPopup, pointTipProps, getXValue, g
56
58
  value: `${item.title.slice(0, 2)}
57
59
  ${item.title.slice(-2)}`,
58
60
  ...defaultTextStyle,
59
- ...item.titleStyle || {}
61
+ ...item.style || {}
60
62
  }, {
61
63
  left: iconsWidth,
62
64
  top: painOriginY.originY
@@ -167,7 +169,7 @@ ${item.title.slice(-2)}`,
167
169
  const list = JSON.parse(JSON.stringify(itemList));
168
170
  let topY = endY;
169
171
  const leftX = iconsWidth - left.icons.marginRight;
170
- list.reverse().forEach((item, index) => {
172
+ list.reverse().forEach((item) => {
171
173
  topY -= 10;
172
174
  let title = item.title.replace(/(.{2})/g, "$1\n");
173
175
  if (title.endsWith("\n")) {
@@ -194,7 +196,9 @@ ${item.title.slice(-2)}`,
194
196
  unit: item.unit,
195
197
  type: item.bigType,
196
198
  dataIndex: item.dataIndex
197
- }
199
+ },
200
+ originLeft: leftX,
201
+ originTop: topY - (text.height || 30) / 2
198
202
  });
199
203
  topY -= text.height || 30;
200
204
  setPointEvent(icon);
@@ -226,9 +230,16 @@ ${item.title.slice(-2)}`,
226
230
  });
227
231
  } else {
228
232
  console.log("\u5F53\u524D\u65F6\u95F4\u6BB5\u5185\u65E0\u53EF\u65B0\u589E\u8282\u70B9");
233
+ setRestore();
229
234
  }
235
+ } else {
236
+ setRestore();
230
237
  }
231
238
  }
239
+ function setRestore() {
240
+ point.setCoords();
241
+ point.set({ left: point.originLeft, top: point.originTop });
242
+ }
232
243
  });
233
244
  }
234
245
  onMounted(() => {