cnhis-design-vue 3.2.2-beta.7 → 3.2.2

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 (322) hide show
  1. package/README.md +87 -87
  2. package/es/components/biunique-chat/index.d.ts +127 -21
  3. package/es/components/biunique-chat/src/Index.vue.d.ts +128 -21
  4. package/es/components/biunique-chat/src/Index.vue2.js +1 -1
  5. package/es/components/biunique-chat/src/components/ChatFooter.vue.d.ts +9 -3
  6. package/es/components/biunique-chat/src/components/ChatFooter.vue2.js +1 -1
  7. package/es/components/biunique-chat/src/components/ChatHeader.vue.d.ts +3 -3
  8. package/es/components/biunique-chat/src/components/ChatMain.vue.d.ts +79 -1
  9. package/es/components/biunique-chat/src/components/ChatMain.vue2.js +1 -1
  10. package/es/components/biunique-chat/src/components/ChatRecord.vue.d.ts +1 -1
  11. package/es/components/biunique-chat/src/components/ChatSet.vue.d.ts +1 -1
  12. package/es/components/biunique-chat/src/components/ChatSet.vue2.js +1 -1
  13. package/es/components/biunique-chat/src/components/MessageTemplate.vue.d.ts +77 -0
  14. package/es/components/biunique-chat/src/components/MessageTemplate.vue.js +1 -0
  15. package/es/components/biunique-chat/src/components/MessageTemplate.vue2.js +1 -0
  16. package/es/components/biunique-chat/src/components/SiderList.vue.d.ts +12 -6
  17. package/es/components/biunique-chat/src/components/SiderList.vue2.js +1 -1
  18. package/es/components/biunique-chat/src/constants/index.d.ts +20 -0
  19. package/es/components/biunique-chat/src/constants/index.js +1 -0
  20. package/es/components/biunique-chat/src/hooks/index.d.ts +2 -0
  21. package/es/components/biunique-chat/src/hooks/index.js +1 -0
  22. package/es/components/biunique-chat/src/hooks/useSession.d.ts +7 -0
  23. package/es/components/biunique-chat/src/hooks/useSession.js +1 -0
  24. package/es/components/biunique-chat/src/hooks/useState.d.ts +3 -3
  25. package/es/components/biunique-chat/src/hooks/useState.js +1 -1
  26. package/es/components/biunique-chat/src/types/index.d.ts +18 -10
  27. package/es/components/biunique-chat/src/types/index.js +1 -1
  28. package/es/components/biunique-chat/src/utils/emoji.d.ts +2 -0
  29. package/es/components/biunique-chat/src/utils/emoji.js +1 -0
  30. package/es/components/biunique-chat/src/utils/index.d.ts +2 -0
  31. package/es/components/biunique-chat/src/utils/index.js +1 -1
  32. package/es/components/biunique-chat/style/iconfont.ttf +0 -0
  33. package/es/components/biunique-chat/style/index.css +1 -1
  34. package/es/components/bpmn-workflow/src/BpmnWorkflow.d.ts +0 -0
  35. package/es/components/bpmn-workflow/types/BpmnViewer.d.ts +1 -0
  36. package/es/components/bpmn-workflow/types/ModelingModule.d.ts +1 -0
  37. package/es/components/bpmn-workflow/types/MoveCanvasModule.d.ts +1 -0
  38. package/es/components/button-print/src/utils/print.d.ts +1 -0
  39. package/es/components/button-print/src/utils/print.js +1 -1
  40. package/es/components/calendar/index.d.ts +11 -1
  41. package/es/components/calendar/src/Calendar.vue.d.ts +11 -1
  42. package/es/components/callback/src/components/dialog/drawer.vue2.js +1 -1
  43. package/es/components/callback/src/components/dialog/modal.vue2.js +1 -1
  44. package/es/components/callback/src/components/render/popupMaps.d.ts +24 -2
  45. package/es/components/card-reader-sdk/src/cardReaderSDK.d.ts +26 -7
  46. package/es/components/card-reader-sdk/src/cardReaderSDK.js +1 -1
  47. package/es/components/card-reader-sdk/src/insuranceSDK.js +1 -1
  48. package/es/components/card-reader-sdk/src/types/index.d.ts +5 -2
  49. package/es/components/card-reader-sdk/src/utils/ensureUID2IdCard.d.ts +17 -0
  50. package/es/components/card-reader-sdk/src/utils/ensureUID2IdCard.js +1 -0
  51. package/es/components/classification/src/index.vue.d.ts +3 -0
  52. package/es/components/editor/index.d.ts +6 -0
  53. package/es/components/editor/src/Editor.d.ts +6 -0
  54. package/es/components/editor/src/Editor.js +1 -1
  55. package/es/components/expand-field/src/components/FormBatchOptionsModal.vue2.js +1 -1
  56. package/es/components/expand-field/src/components/PersonModal.vue2.js +1 -1
  57. package/es/components/expand-field/src/components/form.vue2.js +1 -1
  58. package/es/components/fabric-chart/src/hooks/birthProcess/useBirthProcess.js +1 -1
  59. package/es/components/fabric-chart/src/hooks/surgicalAnesthesia/useCenter.js +1 -1
  60. package/es/components/fabric-chart/src/hooks/surgicalAnesthesia/useOther.js +1 -1
  61. package/es/components/fabric-chart/src/hooks/temperature/useCenter.js +1 -1
  62. package/es/components/fabric-chart/src/hooks/useCommon.d.ts +1 -0
  63. package/es/components/fabric-chart/src/hooks/useCommon.js +1 -1
  64. package/es/components/field-set/src/FieldColor.vue.d.ts +1 -1
  65. package/es/components/field-set/src/FieldSet.vue.d.ts +1 -1
  66. package/es/components/field-set/src/components/Row.vue.d.ts +1 -1
  67. package/es/components/form-config/index.d.ts +66 -4
  68. package/es/components/form-config/src/FormConfig.vue.d.ts +66 -4
  69. package/es/components/form-config/src/components/FormConfigCreator.vue.d.ts +24 -2
  70. package/es/components/form-config/src/components/FormConfigEdit.vue.d.ts +33 -2
  71. package/es/components/form-render/index.d.ts +24 -2
  72. package/es/components/form-render/src/FormRender.vue.d.ts +24 -2
  73. package/es/components/form-render/src/FormRender.vue2.js +1 -1
  74. package/es/components/form-render/src/FormRenderWrapper.vue.d.ts +24 -2
  75. package/es/components/form-render/src/components/renderer/formItem.js +1 -1
  76. package/es/components/form-render/src/components/renderer/inputNumber.js +1 -1
  77. package/es/components/form-render/src/constants/index.d.ts +1 -0
  78. package/es/components/form-render/src/constants/index.js +1 -1
  79. package/es/components/form-render/src/hooks/useFieldNormalize.d.ts +6 -0
  80. package/es/components/form-render/src/hooks/useFormContext.js +1 -1
  81. package/es/components/form-render/src/hooks/useFormEvent.d.ts +2 -1
  82. package/es/components/form-render/src/hooks/useFormEvent.js +1 -1
  83. package/es/components/form-render/src/types/index.d.ts +3 -0
  84. package/es/components/form-render/style/index.css +1 -1
  85. package/es/components/iho-table/src/IhoTable.vue2.js +1 -1
  86. package/es/components/iho-table/src/hooks/tapHooks/index.d.ts +1 -2
  87. package/es/components/iho-table/src/plugins/rendererPlugins/widgets/checkRendererPlugin.js +1 -1
  88. package/es/components/iho-table/src/plugins/verticalTablePlugin/src/utils.js +1 -1
  89. package/es/components/iho-table/style/index.css +1 -1
  90. package/es/components/index.css +1 -1
  91. package/es/components/index.js +1 -1
  92. package/es/components/info-header/index.d.ts +63 -4
  93. package/es/components/info-header/src/InfoHeader.vue.d.ts +63 -4
  94. package/es/components/info-header/src/components/infoDescription/DescriptionItem.vue.d.ts +3 -0
  95. package/es/components/info-header/src/components/infoDescription/DescriptionList.vue.d.ts +3 -0
  96. package/es/components/info-header/src/components/infoDescription/index.vue.d.ts +27 -2
  97. package/es/components/info-header/src/components/patientInfo/index.vue.d.ts +24 -2
  98. package/es/components/scale-view/src/ScaleView.vue2.js +1 -1
  99. package/es/components/select-label/src/LabelFormContent.vue2.js +1 -1
  100. package/es/components/select-person/src/SearchMultiple.vue.d.ts +0 -6
  101. package/es/components/shortcut-setter/index.d.ts +24 -2
  102. package/es/components/shortcut-setter/src/ShortcutSetter.vue.d.ts +24 -2
  103. package/es/components/step-notice/src/components/NoticeItem.vue2.js +1 -1
  104. package/es/components/step-notice/style/index.css +1 -1
  105. package/es/components/table-export-field/src/components/ExportModal.vue2.js +1 -1
  106. package/es/components/table-export-field/src/components/SaveProjectModal.vue2.js +1 -1
  107. package/es/shared/assets/img/emoji/emotion_001.png.js +1 -0
  108. package/es/shared/assets/img/emoji/emotion_002.png.js +1 -0
  109. package/es/shared/assets/img/emoji/emotion_003.png.js +1 -0
  110. package/es/shared/assets/img/emoji/emotion_004.png.js +1 -0
  111. package/es/shared/assets/img/emoji/emotion_005.png.js +1 -0
  112. package/es/shared/assets/img/emoji/emotion_006.png.js +1 -0
  113. package/es/shared/assets/img/emoji/emotion_007.png.js +1 -0
  114. package/es/shared/assets/img/emoji/emotion_008.png.js +1 -0
  115. package/es/shared/assets/img/emoji/emotion_009.png.js +1 -0
  116. package/es/shared/assets/img/emoji/emotion_010.png.js +1 -0
  117. package/es/shared/assets/img/emoji/emotion_011.png.js +1 -0
  118. package/es/shared/assets/img/emoji/emotion_012.png.js +1 -0
  119. package/es/shared/assets/img/emoji/emotion_013.png.js +1 -0
  120. package/es/shared/assets/img/emoji/emotion_014.png.js +1 -0
  121. package/es/shared/assets/img/emoji/emotion_015.png.js +1 -0
  122. package/es/shared/assets/img/emoji/emotion_016.png.js +1 -0
  123. package/es/shared/assets/img/emoji/emotion_017.png.js +1 -0
  124. package/es/shared/assets/img/emoji/emotion_018.png.js +1 -0
  125. package/es/shared/assets/img/emoji/emotion_019.png.js +1 -0
  126. package/es/shared/assets/img/emoji/emotion_020.png.js +1 -0
  127. package/es/shared/assets/img/emoji/emotion_021.png.js +1 -0
  128. package/es/shared/assets/img/emoji/emotion_022.png.js +1 -0
  129. package/es/shared/assets/img/emoji/emotion_023.png.js +1 -0
  130. package/es/shared/assets/img/emoji/emotion_024.png.js +1 -0
  131. package/es/shared/assets/img/emoji/emotion_025.png.js +1 -0
  132. package/es/shared/assets/img/emoji/emotion_026.png.js +1 -0
  133. package/es/shared/assets/img/emoji/emotion_027.png.js +1 -0
  134. package/es/shared/assets/img/emoji/emotion_028.png.js +1 -0
  135. package/es/shared/assets/img/emoji/emotion_029.png.js +1 -0
  136. package/es/shared/assets/img/emoji/emotion_030.png.js +1 -0
  137. package/es/shared/assets/img/emoji/emotion_031.png.js +1 -0
  138. package/es/shared/assets/img/emoji/emotion_032.png.js +1 -0
  139. package/es/shared/assets/img/emoji/emotion_033.png.js +1 -0
  140. package/es/shared/assets/img/emoji/emotion_034.png.js +1 -0
  141. package/es/shared/assets/img/emoji/emotion_035.png.js +1 -0
  142. package/es/shared/assets/img/emoji/emotion_036.png.js +1 -0
  143. package/es/shared/assets/img/emoji/emotion_037.png.js +1 -0
  144. package/es/shared/assets/img/emoji/emotion_038.png.js +1 -0
  145. package/es/shared/assets/img/emoji/emotion_039.png.js +1 -0
  146. package/es/shared/assets/img/emoji/emotion_040.png.js +1 -0
  147. package/es/shared/assets/img/emoji/emotion_041.png.js +1 -0
  148. package/es/shared/assets/img/emoji/emotion_042.png.js +1 -0
  149. package/es/shared/assets/img/emoji/emotion_043.png.js +1 -0
  150. package/es/shared/assets/img/emoji/emotion_044.png.js +1 -0
  151. package/es/shared/assets/img/emoji/emotion_045.png.js +1 -0
  152. package/es/shared/assets/img/emoji/emotion_046.png.js +1 -0
  153. package/es/shared/assets/img/emoji/emotion_047.png.js +1 -0
  154. package/es/shared/assets/img/emoji/emotion_048.png.js +1 -0
  155. package/es/shared/assets/img/emoji/emotion_049.png.js +1 -0
  156. package/es/shared/assets/img/emoji/emotion_050.png.js +1 -0
  157. package/es/shared/assets/img/emoji/emotion_051.png.js +1 -0
  158. package/es/shared/assets/img/emoji/emotion_052.png.js +1 -0
  159. package/es/shared/assets/img/emoji/emotion_053.png.js +1 -0
  160. package/es/shared/assets/img/emoji/emotion_054.png.js +1 -0
  161. package/es/shared/assets/img/emoji/emotion_055.png.js +1 -0
  162. package/es/shared/assets/img/emoji/emotion_056.png.js +1 -0
  163. package/es/shared/assets/img/emoji/emotion_057.png.js +1 -0
  164. package/es/shared/assets/img/emoji/emotion_058.png.js +1 -0
  165. package/es/shared/assets/img/emoji/emotion_059.png.js +1 -0
  166. package/es/shared/assets/img/emoji/emotion_060.png.js +1 -0
  167. package/es/shared/assets/img/emoji/emotion_061.png.js +1 -0
  168. package/es/shared/assets/img/emoji/emotion_062.png.js +1 -0
  169. package/es/shared/assets/img/emoji/emotion_063.png.js +1 -0
  170. package/es/shared/assets/img/emoji/emotion_064.png.js +1 -0
  171. package/es/shared/assets/img/emoji/emotion_065.png.js +1 -0
  172. package/es/shared/assets/img/emoji/emotion_066.png.js +1 -0
  173. package/es/shared/assets/img/emoji/emotion_067.png.js +1 -0
  174. package/es/shared/assets/img/emoji/emotion_068.png.js +1 -0
  175. package/es/shared/assets/img/emoji/emotion_069.png.js +1 -0
  176. package/es/shared/assets/img/emoji/emotion_070.png.js +1 -0
  177. package/es/shared/assets/img/emoji/emotion_071.png.js +1 -0
  178. package/es/shared/assets/img/emoji/emotion_072.png.js +1 -0
  179. package/es/shared/assets/img/emoji/emotion_073.png.js +1 -0
  180. package/es/shared/assets/img/emoji/emotion_074.png.js +1 -0
  181. package/es/shared/assets/img/emoji/emotion_075.png.js +1 -0
  182. package/es/shared/assets/img/emoji/emotion_076.png.js +1 -0
  183. package/es/shared/assets/img/emoji/emotion_077.png.js +1 -0
  184. package/es/shared/assets/img/emoji/emotion_078.png.js +1 -0
  185. package/es/shared/assets/img/emoji/emotion_079.png.js +1 -0
  186. package/es/shared/assets/img/emoji/emotion_080.png.js +1 -0
  187. package/es/shared/assets/img/emoji/emotion_081.png.js +1 -0
  188. package/es/shared/assets/img/emoji/emotion_082.png.js +1 -0
  189. package/es/shared/assets/img/emoji/emotion_083.png.js +1 -0
  190. package/es/shared/assets/img/emoji/emotion_084.png.js +1 -0
  191. package/es/shared/assets/img/emoji/emotion_085.png.js +1 -0
  192. package/es/shared/assets/img/emoji/emotion_086.png.js +1 -0
  193. package/es/shared/assets/img/emoji/emotion_087.png.js +1 -0
  194. package/es/shared/assets/img/emoji/emotion_088.png.js +1 -0
  195. package/es/shared/assets/img/emoji/emotion_089.png.js +1 -0
  196. package/es/shared/assets/img/emoji/emotion_090.png.js +1 -0
  197. package/es/shared/assets/img/emoji/emotion_091.png.js +1 -0
  198. package/es/shared/assets/img/emoji/emotion_092.png.js +1 -0
  199. package/es/shared/assets/img/emoji/emotion_093.png.js +1 -0
  200. package/es/shared/assets/img/emoji/emotion_094.png.js +1 -0
  201. package/es/shared/assets/img/emoji/emotion_095.png.js +1 -0
  202. package/es/shared/assets/img/emoji/emotion_096.png.js +1 -0
  203. package/es/shared/assets/img/emoji/emotion_097.png.js +1 -0
  204. package/es/shared/assets/img/emoji/emotion_098.png.js +1 -0
  205. package/es/shared/assets/img/emoji/emotion_099.png.js +1 -0
  206. package/es/shared/assets/img/emoji/emotion_100.png.js +1 -0
  207. package/es/shared/assets/img/emoji/emotion_101.png.js +1 -0
  208. package/es/shared/assets/img/emoji/emotion_102.png.js +1 -0
  209. package/es/shared/assets/img/emoji/emotion_103.png.js +1 -0
  210. package/es/shared/assets/img/emoji/emotion_104.png.js +1 -0
  211. package/es/shared/assets/img/emoji/emotion_105.png.js +1 -0
  212. package/es/shared/assets/img/emoji/emotion_106.png.js +1 -0
  213. package/es/shared/assets/img/emoji/emotion_107.png.js +1 -0
  214. package/es/shared/assets/img/emoji/emotion_108.png.js +1 -0
  215. package/es/shared/assets/img/emoji/emotion_109.png.js +1 -0
  216. package/es/shared/assets/img/emoji/emotion_110.png.js +1 -0
  217. package/es/shared/assets/img/emoji/emotion_111.png.js +1 -0
  218. package/es/shared/assets/img/emoji/emotion_112.png.js +1 -0
  219. package/es/shared/assets/img/emoji/emotion_113.png.js +1 -0
  220. package/es/shared/assets/img/emoji/emotion_114.png.js +1 -0
  221. package/es/shared/assets/img/emoji/emotion_115.png.js +1 -0
  222. package/es/shared/assets/img/emoji/emotion_116.png.js +1 -0
  223. package/es/shared/assets/img/emoji/emotion_117.png.js +1 -0
  224. package/es/shared/assets/img/emoji/emotion_118.png.js +1 -0
  225. package/es/shared/assets/img/emoji/emotion_119.png.js +1 -0
  226. package/es/shared/assets/img/emoji/emotion_120.png.js +1 -0
  227. package/es/shared/assets/img/emoji/emotion_121.png.js +1 -0
  228. package/es/shared/assets/img/emoji/emotion_122.png.js +1 -0
  229. package/es/shared/assets/img/emoji/emotion_123.png.js +1 -0
  230. package/es/shared/assets/img/emoji/emotion_124.png.js +1 -0
  231. package/es/shared/assets/img/emoji/emotion_125.png.js +1 -0
  232. package/es/shared/assets/img/emoji/emotion_126.png.js +1 -0
  233. package/es/shared/assets/img/emoji/emotion_127.png.js +1 -0
  234. package/es/shared/assets/img/emoji/emotion_128.png.js +1 -0
  235. package/es/shared/assets/img/emoji/emotion_129.png.js +1 -0
  236. package/es/shared/assets/img/emoji/emotion_130.png.js +1 -0
  237. package/es/shared/assets/img/emoji/emotion_131.png.js +1 -0
  238. package/es/shared/assets/img/emoji/emotion_132.png.js +1 -0
  239. package/es/shared/assets/img/emoji/emotion_133.png.js +1 -0
  240. package/es/shared/assets/img/emoji/emotion_134.png.js +1 -0
  241. package/es/shared/assets/img/emoji/emotion_135.png.js +1 -0
  242. package/es/shared/assets/img/emoji/emotion_136.png.js +1 -0
  243. package/es/shared/assets/img/emoji/emotion_137.png.js +1 -0
  244. package/es/shared/assets/img/emoji/emotion_138.png.js +1 -0
  245. package/es/shared/assets/img/emoji/emotion_139.png.js +1 -0
  246. package/es/shared/assets/img/emoji/emotion_140.png.js +1 -0
  247. package/es/shared/assets/img/emoji/emotion_141.png.js +1 -0
  248. package/es/shared/assets/img/emoji/emotion_142.png.js +1 -0
  249. package/es/shared/assets/img/emoji/emotion_143.png.js +1 -0
  250. package/es/shared/assets/img/emoji/emotion_144.png.js +1 -0
  251. package/es/shared/assets/img/emoji/emotion_145.png.js +1 -0
  252. package/es/shared/assets/img/emoji/emotion_146.png.js +1 -0
  253. package/es/shared/assets/img/emoji/emotion_147.png.js +1 -0
  254. package/es/shared/assets/img/emoji/emotion_148.png.js +1 -0
  255. package/es/shared/assets/img/emoji/emotion_149.png.js +1 -0
  256. package/es/shared/assets/img/emoji/emotion_150.png.js +1 -0
  257. package/es/shared/assets/img/emoji/emotion_151.png.js +1 -0
  258. package/es/shared/assets/img/emoji/emotion_152.png.js +1 -0
  259. package/es/shared/assets/img/emoji/emotion_153.png.js +1 -0
  260. package/es/shared/assets/img/emoji/emotion_154.png.js +1 -0
  261. package/es/shared/assets/img/emoji/emotion_155.png.js +1 -0
  262. package/es/shared/assets/img/emoji/emotion_156.png.js +1 -0
  263. package/es/shared/assets/img/emoji/emotion_157.png.js +1 -0
  264. package/es/shared/assets/img/emoji/emotion_158.png.js +1 -0
  265. package/es/shared/assets/img/emoji/emotion_159.png.js +1 -0
  266. package/es/shared/assets/img/emoji/emotion_160.png.js +1 -0
  267. package/es/shared/assets/img/emoji/emotion_161.png.js +1 -0
  268. package/es/shared/assets/img/emoji/emotion_162.png.js +1 -0
  269. package/es/shared/assets/img/emoji/emotion_163.png.js +1 -0
  270. package/es/shared/assets/img/emoji/emotion_164.png.js +1 -0
  271. package/es/shared/assets/img/emoji/emotion_165.png.js +1 -0
  272. package/es/shared/assets/img/emoji/emotion_166.png.js +1 -0
  273. package/es/shared/assets/img/emoji/emotion_167.png.js +1 -0
  274. package/es/shared/assets/img/emoji/emotion_168.png.js +1 -0
  275. package/es/shared/assets/img/emoji/emotion_169.png.js +1 -0
  276. package/es/shared/assets/img/emoji/emotion_170.png.js +1 -0
  277. package/es/shared/assets/img/emoji/emotion_171.png.js +1 -0
  278. package/es/shared/assets/img/emoji/emotion_172.png.js +1 -0
  279. package/es/shared/assets/img/emoji/emotion_173.png.js +1 -0
  280. package/es/shared/assets/img/emoji/emotion_174.png.js +1 -0
  281. package/es/shared/assets/img/emoji/emotion_175.png.js +1 -0
  282. package/es/shared/assets/img/emoji/emotion_176.png.js +1 -0
  283. package/es/shared/assets/img/emoji/emotion_177.png.js +1 -0
  284. package/es/shared/assets/img/emoji/emotion_178.png.js +1 -0
  285. package/es/shared/assets/img/emoji/emotion_179.png.js +1 -0
  286. package/es/shared/assets/img/emoji/emotion_180.png.js +1 -0
  287. package/es/shared/assets/img/emoji/emotion_181.png.js +1 -0
  288. package/es/shared/assets/img/emoji/emotion_182.png.js +1 -0
  289. package/es/shared/assets/img/emoji/emotion_183.png.js +1 -0
  290. package/es/shared/assets/img/emoji/emotion_184.png.js +1 -0
  291. package/es/shared/assets/img/emoji/emotion_185.png.js +1 -0
  292. package/es/shared/assets/img/emoji/emotion_186.png.js +1 -0
  293. package/es/shared/assets/img/emoji/emotion_187.png.js +1 -0
  294. package/es/shared/assets/img/emoji/emotion_188.png.js +1 -0
  295. package/es/shared/assets/img/emoji/emotion_189.png.js +1 -0
  296. package/es/shared/assets/img/emoji/emotion_190.png.js +1 -0
  297. package/es/shared/assets/img/emoji/emotion_191.png.js +1 -0
  298. package/es/shared/assets/img/emoji/emotion_192.png.js +1 -0
  299. package/es/shared/assets/img/emoji/emotion_193.png.js +1 -0
  300. package/es/shared/assets/img/emoji/emotion_194.png.js +1 -0
  301. package/es/shared/assets/img/emoji/emotion_195.png.js +1 -0
  302. package/es/shared/assets/img/emoji/emotion_196.png.js +1 -0
  303. package/es/shared/assets/img/failure.png.js +1 -1
  304. package/es/shared/assets/img/no-permission.png.js +1 -1
  305. package/es/shared/assets/img/nodata.png.js +1 -1
  306. package/es/shared/assets/img/notfound.png.js +1 -1
  307. package/es/shared/assets/img/qr.png.js +1 -1
  308. package/es/shared/assets/img/success.png.js +1 -1
  309. package/es/shared/assets/img/table_style_2.png.js +1 -1
  310. package/es/shared/assets/img/video.png.js +1 -1
  311. package/es/shared/assets/img/video_default_cover.png.js +1 -1
  312. package/es/shared/assets/img/xb_big.png.js +1 -1
  313. package/es/shared/assets/img/xb_small.png.js +1 -1
  314. package/es/shared/components/VueDraggable/src/vuedraggable.d.ts +86 -0
  315. package/es/shared/hooks/index.js +1 -1
  316. package/es/shared/hooks/useTheme.d.ts +1 -0
  317. package/es/shared/hooks/useTheme.js +1 -1
  318. package/es/shared/package.json.js +1 -1
  319. package/es/shared/utils/fabricjs/index.d.ts +6823 -0
  320. package/es/shared/utils/index.js +1 -1
  321. package/es/shared/utils/tapable/index.d.ts +139 -0
  322. package/package.json +2 -2
@@ -1 +1 @@
1
- import{defineComponent as e,ref as l,inject as a,computed as t,watch as u,openBlock as n,createBlock as i,unref as o,normalizeClass as v,isRef as d,withCtx as r,createVNode as s,normalizeStyle as p,createElementVNode as f,createTextVNode as m,createCommentVNode as c,createElementBlock as y,Fragment as h,renderList as _,withDirectives as g,withKeys as b,withModifiers as x,vShow as k,toDisplayString as M}from"vue";import{useMessage as w,NModal as H,NCard as C,NButton as U,NForm as S,NFormItem as j,NInput as O,NTooltip as I,NSelect as z,NGrid as T,NGridItem as N,NIcon as Y,NInputNumber as $,NPopover as L,NDatePicker as V,NTimePicker as B,NSwitch as D}from"naive-ui";import{isMulti as F,isShowOptions as P,isNumber as q,isDate as A,isCandidate as E,isTextarea as J}from"../utils/index.js";import K from"moment";import{InjectionExpandFieldApiConfig as R}from"../constants/index.js";import W from"../hooks/useAsyncData.js";import{HtmlTypeList as X}from"../utils/constant.js";import{isJSON as G,isValidDate as Q}from"../utils/tool.js";import Z from"./FormBatchOptionsModal.vue.js";import ee from"./FormItemPerson.vue.js";const le={class:"svg-wrap"},ae={class:"flex_right"},te={class:"options-title"},ue=f("span",null,"字段键名",-1),ne=f("i",{class:"iconfont-expand-field icon-expand-field-help"},null,-1),ie={class:"options-title"},oe=f("span",null,"字段问号提示",-1),ve=f("i",{class:"iconfont-expand-field icon-expand-field-help"},null,-1),de={class:"options-title"},re=f("span",null,"选项值",-1),se=f("svg",{xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 32 32"},[f("path",{d:"M12 12h2v12h-2z",fill:"currentColor"}),f("path",{d:"M18 12h2v12h-2z",fill:"currentColor"}),f("path",{d:"M4 6v2h2v20a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V8h2V6zm4 22V8h16v20z",fill:"currentColor"}),f("path",{d:"M12 2h8v2h-8z",fill:"currentColor"})],-1),pe={class:"options-title"},fe=f("span",null,"默认值",-1),me=f("i",{class:"iconfont-expand-field icon-expand-field-help"},null,-1),ce={style:{display:"flex","align-items":"center"}},ye=f("span",null,"选择",-1),he={style:{width:"100%"}},_e={key:0,class:"validate_tip"};var ge=e({__name:"form",props:{visible:{type:Boolean,default:!1},formOntype:{type:String,default:"add"},formItemData:{type:Object,default:()=>({})},id:{type:String,default:""},orgId:{type:String,default:""},conditionList:{type:Array,default:()=>[]},searchFieldList:{type:Array,default:()=>[]}},emits:["cancelModal"],setup(e,{emit:ge}){const be=e,xe=w(),ke="请输入默认值",Me={name:[{required:!0,message:"请输入字段标题",trigger:["input","blur"]}],html_type:[{required:!0,message:"请选择字段类型",trigger:["input","blur"]}]},we=[{value:"yyyy-MM-dd HH:mm:ss",label:"年-月-日 时:分:秒"},{value:"yyyy-MM-dd HH:mm",label:"年-月-日 时:分"},{value:"yyyy-MM-dd",label:"年-月-日"},{value:"yyyy-MM",label:"年-月"},{value:"MM-dd HH:mm",label:"月-日 时:分"},{value:"MM-dd",label:"月-日"},{value:"HH:mm:ss",label:"时:分:秒"},{value:"HH:mm",label:"时:分"}],He=[{value:"12",label:"整行"},{value:"6",label:"半行"},{value:"4",label:"1/3行"},{value:"8",label:"2/3行"},{value:"3",label:"1/4行"},{value:"9",label:"3/4行"},{value:"2",label:"1/6行"},{value:"10",label:"5/6行"},{value:"1.5",label:"1/8行"},{value:"10.5",label:"7/8行"}],Ce=l(!1),Ue=l("860px");let Se=l({maxHeight:"496px",height:"496px"});const{saveOrUpdateExtendField:je}=W(),Oe=a(R),Ie=l(null),ze=l({name:void 0,remark:void 0,is_edit:"1",is_null:"1",is_show:"1",key:"",val_key:void 0,validate:{},html_type:"INPUT",name_i18n:void 0,elem_width:"12",default_val:void 0,label_type:void 0,isMultiSelect:"0",decimal_length:void 0,date_format:""}),Te=l([{text:void 0,value:void 0}]),Ne=l({format:"yyyy-MM-dd HH:mm:ss",dateType:"date",mode:"date",value:null,showTime:!0,open:!1,componentType:"datetime"}),Ye=l({obj_type:"",vali_obj:"",event_obj:"",max_length:"",min_length:"",min_value:"",max_value:""}),$e=l({value_key:"",levelSetting:[],search_key:[],level_num:void 0,render_key:[],name:"",level_key:"",id:"",type:"",primary_key:"",sqlExpression:"",conObj:"",add_btn:"",setting:{cascading:[]}}),Le=l(!1),Ve=l(!1),Be=l(void 0),De=l(!1),Fe=l(!1);l(!1);const Pe=l(!1),qe=l(""),Ae=t((()=>"edit"===be.formOntype)),Ee=t((()=>ze.value.html_type||""));t((()=>"TEXTAREA"===Ee.value?1e3:255));const Je=t((()=>Te.value.filter((e=>e.value&&e.text)))),Ke=t((()=>F(Ee.value))),Re=t((()=>"date"===Ne.value.dateType));function We(e){Pe.value=e}function Xe(e){let l=e;"string"!=typeof e&&(l=JSON.stringify(e)),ze.value.default_val=l}function Ge(e){Ne.value.value=null,ze.value.default_val=void 0,il(e)}function Qe(){Ce.value=!Ce.value;let e=document.body.clientHeight;"860px"===Ue.value?(Ue.value="100%",Se.value.maxHeight=`${e}px`,Se.value.height=`${e}px`):(Ue.value="860px",Se.value.maxHeight="496px",Se.value.height="")}function Ze(e){return["HH:mm:ss","HH:mm"].includes(e)}function el(e,l){switch(e){case"isNull":Le.value=l,ze.value.is_null=l?"0":"1";break;case"isMultiSelect":Ve.value=l,ze.value.isMultiSelect=l?"1":"0"}}function ll(){if("add"===be.formOntype)return;let e=Object.assign({},be.formItemData),l=e.setting;l&&G(l)&&(l=JSON.parse(l),delete e.setting,Object.assign(e,{...l})),e.key=e.code,delete e.code,A(e.html_type)&&function(e){il(e.date_format);let l=e.default_val;l&&!l.startsWith("${")&&(Ze(e.date_format)&&(l=`${K().format("YYYY-MM-dd")} ${l}`),Q(new Date(l))&&(Ne.value.value=K(l)))}(e),F(e.html_type)&&(e.default_val=function(e){let l=e.default_val;return l?l.split(",").filter(Boolean):[]}(e)),Le.value="0"==e.is_null,Ve.value="1"==e.isMultiSelect,Ye.value=Object.assign(Ye.value,e.validate||{}),$e.value=Object.assign($e.value,e.wordbook||{}),ze.value=Object.assign(ze.value,e||{}),P(e.html_type)&&function(e){let l=(null==e?void 0:e.optionValue)||[];l.length||l.push({text:void 0,value:void 0}),Te.value=[...l],delete e.optionValue}(e)}function al(e){ze.value.html_type=e,Te.value=[{text:void 0,value:void 0}];let l=function(){if(F(Ee.value))return[]}();ze.value.default_val=l,A(e)?ze.value.date_format="yyyy-MM-dd HH:mm:ss":ze.value.date_format=""}function tl(){Te.value.push({value:"",text:""})}function ul(e){let l=e;(e<0||0===e)&&(l=0),e>5&&(l=5),Be.value=0===l?l:l||void 0}function nl(e){Te.value=e}function il(e){let l=e||"yyyy-MM-dd HH:mm:ss",a=Ze(l)?"time":"date",t="yyyy-MM"===l?"month":"date";let u=function(e){return["yyyy-MM-dd HH:mm:ss","yyyy-MM-dd HH:mm","MM-dd HH:mm"].includes(e)}(l),n="";["yyyy-MM-dd HH:mm:ss","yyyy-MM-dd HH:mm","MM-dd HH:mm"].includes(e)&&(n="datetime"),["yyyy-MM-dd","MM-dd"].includes(e)&&(n="date"),Object.assign(Ne.value,{format:l,dateType:a,mode:t,showTime:u,componentType:n})}function ol(e,l){if(e)return l&&(l.includes("yyyy")&&(l=l.replace("yyyy","YYYY")),l.includes("dd")&&(l=l.replace("dd","DD"))),K(e).format(l)}function vl(){Ne.value.open=!Ne.value.open}function dl(e){let l=ol(e,Ne.value.format);ze.value.default_val=l}function rl(e){let l=ol(e,Ne.value.format);ze.value.default_val=l,Ne.value.format.includes("HH:mm")||vl()}function sl(e){let l=ol(e,Ne.value.format);ze.value.default_val=l}function pl(){ge("cancelModal"),Ue.value="860px",Se.value={height:"496px",maxHeight:"496px"},Ce.value=!1,ze.value={name:void 0,remark:void 0,is_edit:"1",is_null:"1",is_show:"1",key:"",val_key:void 0,validate:{},html_type:"INPUT",name_i18n:void 0,elem_width:"12",default_val:void 0,label_type:void 0,isMultiSelect:"0",decimal_length:void 0,date_format:""}}function fl(){var e;null==(e=Ie.value)||e.validate((async e=>{if(e)return;let l=Object.assign({},ze.value);if(l.validate={...Ye.value},l.extendId=be.id,P(Ee.value)){let e=function(){let e={validate:!1,message:"请完善选项配置"};if(!Te.value||!Te.value.length)return e;let l,a,t,u=0,n=Te.value.length,i=!1;for(;u<n;u++){if(l=Te.value[u],a=l.value?l.value.trim():l.value,t=l.text?l.text.trim():l.text,!a||!t){i=!0;break}l.value=a,l.text=t}return[...new Set(Te.value.map((e=>e.value)))].length!==Te.value.length?(e.message="选项值不能重复",e):(!i&&(e.validate=!0),e)}();if(!e.validate)return De.value=!0,void xe.warning(e.message);De.value=!1,l.option=[...Te.value]}if(q(Ee.value)?l.default_val=function(e){let l=e.default_val;if(void 0===Be.value)return l;if(!l)return l;let a=String(l).split(".")[1];return a&&a.length!==Be.value?Number(l.toFixed(Be.value)):l}(l):F(Ee.value)&&(l.default_val=l.default_val.join(",")),!E(Ee.value)||function(e){let{default_val:l}=e;qe.value="",l&&G(l)&&(l=JSON.parse(l));let a=function(e,l){if(!e)return;if("string"!=typeof e)return;if(!(e=e.trim()))return!0;if(!e.startsWith("${"))return ml(l,"请输入有效系统变量"),"error";let a=/\${sys.(.*?)\}/g.exec(e);if(!a||!a[1])return ml(l,"请输入有效系统变量"),"error";return!0}(l,e);if(a)return"error"!==a;if(console.log("saveOjb.isMultiSelect>>>",e.isMultiSelect),console.log("default_val?.length>>>",null==l?void 0:l.length),"0"===e.isMultiSelect&&(null==l?void 0:l.length)>1)return console.log("进入到判断里面了>>>>>"),ml(e,"选人组件为单选"),!1;return!0}(l)){for(let e in l){let a=l[e];"string"==typeof a&&(l[e]=null==a?void 0:a.trim())}console.log("saveOjb>>>",l),await async function(e={}){Fe.value=!0;try{const l=await je(e,Oe);if(Fe.value=!1,"SUCCESS"!==(null==l?void 0:l.result))return void xe.error((null==l?void 0:l.resultMsg)||"保存失败");pl()}catch(e){Fe.value=!1}}(l)}}))}function ml(e,l){qe.value=l}return u((()=>be.visible),(e=>{e&&ll()})),(l,a)=>(n(),i(o(H),{class:v(["expand-field-modal-block",{"modal-screen":Ce.value}]),show:e.visible,"onUpdate:show":a[22]||(a[22]=e=>d(visible)?visible.value=e:null),maskClosable:!1,width:Ue.value,bodyStyle:o(Se),closable:!1,centered:"",onPositiveClick:fl,onNegativeClick:pl},{default:r((()=>[s(o(C),{style:p({width:Ue.value,...o(Se)}),title:"add"===be.formOntype?"新增拓展字段":"编辑拓展字段",bordered:!1,size:"huge",role:"dialog","aria-modal":"true"},{"header-extra":r((()=>[f("div",le,[f("i",{onClick:Qe,class:v(["iconfont-expand-field",Ce.value?"icon-expand-field-menzhenyishengzhanxitongtubiaozuixiaohua2":"icon-expand-field-menzhenyishengzhanxitongtubiaozuidahua"])},null,2),f("i",{onClick:pl,class:"iconfont-expand-field icon-expand-field-menzhenyishengzhanxitongtubiaoguanbi"})])])),footer:r((()=>[f("div",ae,[s(o(U),{onClick:pl},{default:r((()=>[m("取消")])),_:1}),s(o(U),{type:"info",onClick:fl},{default:r((()=>[m("保存")])),_:1})])])),default:r((()=>[s(o(S),{ref_key:"formRef",ref:Ie,model:ze.value,rules:Me},{default:r((()=>[s(o(j),{path:"name",label:"字段标题","require-mark-placement":"left"},{default:r((()=>[s(o(O),{value:ze.value.name,"onUpdate:value":a[0]||(a[0]=e=>ze.value.name=e),maxlength:100,clearable:"",placeholder:"请输入"},null,8,["value"])])),_:1}),s(o(j),{path:"key"},{label:r((()=>[f("div",te,[ue,s(o(I),{duration:0},{trigger:r((()=>[ne])),default:r((()=>[m(" 数据库字段键名,不填写时由系统生成,填写则以填写为准 ")])),_:1})])])),default:r((()=>[s(o(O),{value:ze.value.key,"onUpdate:value":a[1]||(a[1]=e=>ze.value.key=e),maxlength:32,disabled:o(Ae),clearable:"",placeholder:"数据库字段键名,不填写时由系统生成,填写则以填写为准"},null,8,["value","disabled"])])),_:1}),s(o(j),{path:"html_type",label:"字段类型","require-mark-placement":"left"},{default:r((()=>[s(o(z),{value:ze.value.html_type,"onUpdate:value":[a[2]||(a[2]=e=>ze.value.html_type=e),al],placeholder:"请选择字段类型",clearable:"",filterable:"",options:o(X)},null,8,["value","options"])])),_:1}),s(o(j),{path:"remark",label:"字段问号提示"},{label:r((()=>[f("div",ie,[oe,s(o(I),{duration:0},{trigger:r((()=>[ve])),default:r((()=>[m(" 设置后该字段旁会有问号图标,鼠标悬浮展示“问号提示”内容,常用于告诉用户该字段的含义 ")])),_:1})])])),default:r((()=>[s(o(O),{value:ze.value.remark,"onUpdate:value":a[3]||(a[3]=e=>ze.value.remark=e),placeholder:"请输入",type:"textarea",clearable:"",maxlength:255,rows:3},null,8,["value"])])),_:1}),c(" 选项值>>>>>类型对应关系 "),o(P)(o(Ee))?(n(),i(o(j),{key:0},{label:r((()=>[f("div",de,[re,f("span",{class:"batch-span",onClick:tl},"添加选项"),f("span",{class:"batch-span",onClick:a[4]||(a[4]=()=>We(!0))},"批量编辑")])])),default:r((()=>[f("div",{class:v(["options-item",{"options-item-err":De.value}])},[(n(!0),y(h,null,_(Te.value,((e,l)=>(n(),i(o(T),{class:"mgb-10",key:l,cols:24,"x-gap":8,"y-gap":8},{default:r((()=>[s(o(N),{span:11},{default:r((()=>[s(o(O),{value:e.value,"onUpdate:value":l=>e.value=l,maxLength:100,allowClear:"",placeholder:"选项值"},null,8,["value","onUpdate:value"])])),_:2},1024),s(o(N),{span:11},{default:r((()=>[s(o(O),{value:e.text,"onUpdate:value":l=>e.text=l,maxLength:100,allowClear:"",placeholder:"选项文本"},null,8,["value","onUpdate:value"])])),_:2},1024),s(o(N),{span:2,class:"flex-center"},{default:r((()=>[Te.value.length>1?(n(),i(o(Y),{key:0,onClick:a=>function(e,l){Te.value.splice(l,1);let a=ze.value.default_val;if(F(Ee.value)){if(!a||!a.length)return;let l=a.findIndex((l=>l===e.value));l||a.splice(l,1)}else{if(!a)return;a===e.value&&(a=void 0)}ze.value.default_val=a}(e,l)},{default:r((()=>[se])),_:2},1032,["onClick"])):c("v-if",!0)])),_:2},1024)])),_:2},1024)))),128))],2)])),_:1})):c("v-if",!0),o(q)(o(Ee))?(n(),i(o(j),{key:1,path:"decimal_length",label:"小数位"},{default:r((()=>[s(o($),{style:{width:"100%"},min:0,max:5,placeholder:"请输入",precision:0,clearable:"",value:ze.value.decimal_length,"onUpdate:value":[a[5]||(a[5]=e=>ze.value.decimal_length=e),ul]},null,8,["value"])])),_:1})):c("v-if",!0),o(A)(o(Ee))?(n(),i(o(j),{key:2,path:"date_format",label:"日期格式"},{default:r((()=>[s(o(z),{style:{width:"100%"},value:ze.value.date_format,"onUpdate:value":[a[6]||(a[6]=e=>ze.value.date_format=e),Ge],placeholder:"请选择",options:we},null,8,["value"])])),_:1})):c("v-if",!0),c(" 默认值>>>>>类型对应关系 "),s(o(j),{path:"default_val",label:"默认值"},{label:r((()=>[f("div",pe,[fe,o(E)(o(Ee))?(n(),i(o(I),{key:0,duration:0},{trigger:r((()=>[me])),default:r((()=>[m(" 支持输入系统变量当前操作人${sys.userId},也支持选择一个人 ")])),_:1})):c("v-if",!0)])])),default:r((()=>[o(J)(o(Ee))?(n(),i(o(O),{key:0,value:ze.value.default_val,"onUpdate:value":a[7]||(a[7]=e=>ze.value.default_val=e),placeholder:ke,type:"textarea",clearable:"",maxlength:1e3,rows:3},null,8,["value"])):o(q)(o(Ee))?(n(),y(h,{key:1},[c(" 数字框 "),s(o($),{style:{width:"100%"},clearable:"",placeholder:ke,precision:Be.value,value:ze.value.default_val,"onUpdate:value":a[8]||(a[8]=e=>ze.value.default_val=e)},null,8,["precision","value"])],2112)):o(P)(o(Ee))?(n(),y(h,{key:2},[c(" 下拉框、横向单选、纵向单选、横向多选、纵向多选、下拉多选框 "),s(o(z),{style:{width:"100%"},multiple:o(Ke),clearable:"",value:ze.value.default_val,"onUpdate:value":a[9]||(a[9]=e=>ze.value.default_val=e),"label-field":"text",placeholder:ke,options:o(Je)},null,8,["multiple","value","options"])],2112)):o(A)(o(Ee))?(n(),y(h,{key:3},[c(" 日期 "),f("div",ce,[s(o(O),{clearable:"",maxLength:255,value:ze.value.default_val,"onUpdate:value":a[10]||(a[10]=e=>ze.value.default_val=e),placeholder:ke},null,8,["value"]),o(Re)?(n(),y(h,{key:0},["month"===Ne.value.mode?(n(),i(o(L),{key:0,trigger:"click",show:Ne.value.open},{trigger:r((()=>[s(o(U),{type:"info",onClick:vl},{default:r((()=>[m("选择")])),_:1})])),default:r((()=>[s(o(V),{panel:"",value:Ne.value.value,"onUpdate:value":[a[11]||(a[11]=e=>Ne.value.value=e),dl],type:"month","input-readonly":"",clearable:"",onConfirm:vl},null,8,["value"])])),_:1},8,["show"])):(n(),i(o(L),{key:1,trigger:"click",show:Ne.value.open},{trigger:r((()=>[s(o(U),{type:"info",onClick:vl},{default:r((()=>[m("选择")])),_:1})])),default:r((()=>[s(o(V),{panel:"",value:Ne.value.value,"onUpdate:value":[a[12]||(a[12]=e=>Ne.value.value=e),rl],format:Ne.value.format,type:Ne.value.componentType,"input-readonly":"",clearable:"",onConfirm:vl},null,8,["value","format","type"])])),_:1},8,["show"]))],64)):(n(),y(h,{key:1},[c(' <n-input\r\n allowClear\r\n :maxLength="255"\r\n v-model:value="dateInfo.value"\r\n @keydown.enter.prevent\r\n :placeholder="defaultPlaceholder"\r\n /> '),s(o(U),{type:"info",class:"date-time-button"},{default:r((()=>[ye,s(o(B),{value:Ne.value.value,"onUpdate:value":[a[13]||(a[13]=e=>Ne.value.value=e),sl],format:Ne.value.format,"input-readonly":"",clearable:""},null,8,["value","format"])])),_:1}),c(' <n-popover trigger="click">\r\n <template #trigger>\r\n <n-button type="info">选择</n-button>\r\n </template>\r\n <n-time-picker\r\n panel\r\n v-model:value="dateInfo.value"\r\n :format="dateInfo.format"\r\n input-readonly\r\n clearable\r\n @update:value="timeChange"\r\n >\r\n <template v-slot:icon>111</template>\r\n\r\n </n-time-picker>\r\n </n-popover> ')],64))])],2112)):o(E)(o(Ee))?(n(),y(h,{key:4},[c(" 选人组件(增加一个选人组件) "),f("div",he,[g(s(o(O),{allowClear:"",maxLength:255,value:ze.value.default_val,"onUpdate:value":a[14]||(a[14]=e=>ze.value.default_val=e),onKeydown:a[15]||(a[15]=b(x((()=>{}),["prevent"]),["enter"])),placeholder:ke},null,8,["value"]),[[k,!1]]),c(' 点击弹出选人组件弹窗 :mainForm="this" '),s(ee,{orgId:e.orgId,defaultValue:ze.value.default_val,onCheckPerson:Xe},null,8,["orgId","defaultValue"]),qe.value?(n(),y("span",_e,M(qe.value),1)):c("v-if",!0),c(' <n-button type="info">选择</n-button> ')])],2112)):(n(),y(h,{key:5},[c(" 其他 "),s(o(O),{value:ze.value.default_val,"onUpdate:value":a[16]||(a[16]=e=>ze.value.default_val=e),onKeydown:a[17]||(a[17]=b(x((()=>{}),["prevent"]),["enter"])),placeholder:"请输入默认值"},null,8,["value"])],2112))])),_:1}),s(o(j),{path:"elem_width",label:"宽度"},{default:r((()=>[s(o(z),{value:ze.value.elem_width,"onUpdate:value":a[18]||(a[18]=e=>ze.value.elem_width=e),placeholder:"请选择宽度",options:He},null,8,["value"])])),_:1}),s(o(j),{path:"isNull",label:"是否必填","label-placement":"left"},{default:r((()=>[s(o(D),{value:Le.value,"onUpdate:value":[a[19]||(a[19]=e=>Le.value=e),a[20]||(a[20]=e=>el("isNull",e))]},null,8,["value"])])),_:1}),o(E)(o(Ee))?(n(),i(o(j),{key:3,"label-placement":"left",path:"isMultiSelect",label:"是否多选"},{default:r((()=>[s(o(D),{value:Ve.value,"onUpdate:value":a[21]||(a[21]=e=>el("isMultiSelect",e))},null,8,["value"])])),_:1})):c("v-if",!0)])),_:1},8,["model"]),s(Z,{visible:Pe.value,options:Te.value,onHandleSaveBatch:nl,onTriggerBatch:We},null,8,["visible","options"])])),_:1},8,["style","title"])])),_:1},8,["class","show","width","bodyStyle"]))}});export{ge as default};
1
+ import{defineComponent as e,ref as l,inject as a,computed as t,watch as u,openBlock as n,createBlock as i,unref as o,normalizeClass as v,withCtx as d,createVNode as r,normalizeStyle as s,createElementVNode as p,createTextVNode as f,createCommentVNode as m,createElementBlock as c,Fragment as y,renderList as h,withDirectives as _,withKeys as g,withModifiers as b,vShow as x,toDisplayString as k}from"vue";import{useMessage as M,NModal as w,NCard as H,NButton as C,NForm as U,NFormItem as S,NInput as j,NTooltip as O,NSelect as I,NGrid as z,NGridItem as T,NIcon as N,NInputNumber as Y,NPopover as $,NDatePicker as L,NTimePicker as V,NSwitch as B}from"naive-ui";import{isMulti as D,isShowOptions as F,isNumber as P,isDate as q,isCandidate as A,isTextarea as E}from"../utils/index.js";import J from"moment";import{InjectionExpandFieldApiConfig as K}from"../constants/index.js";import R from"../hooks/useAsyncData.js";import{HtmlTypeList as W}from"../utils/constant.js";import{isJSON as X,isValidDate as G}from"../utils/tool.js";import Q from"./FormBatchOptionsModal.vue.js";import Z from"./FormItemPerson.vue.js";const ee={class:"svg-wrap"},le={class:"flex_right"},ae={class:"options-title"},te=p("span",null,"字段键名",-1),ue=p("i",{class:"iconfont-expand-field icon-expand-field-help"},null,-1),ne={class:"options-title"},ie=p("span",null,"字段问号提示",-1),oe=p("i",{class:"iconfont-expand-field icon-expand-field-help"},null,-1),ve={class:"options-title"},de=p("span",null,"选项值",-1),re=p("svg",{xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 32 32"},[p("path",{d:"M12 12h2v12h-2z",fill:"currentColor"}),p("path",{d:"M18 12h2v12h-2z",fill:"currentColor"}),p("path",{d:"M4 6v2h2v20a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V8h2V6zm4 22V8h16v20z",fill:"currentColor"}),p("path",{d:"M12 2h8v2h-8z",fill:"currentColor"})],-1),se={class:"options-title"},pe=p("span",null,"默认值",-1),fe=p("i",{class:"iconfont-expand-field icon-expand-field-help"},null,-1),me={style:{display:"flex","align-items":"center"}},ce=p("span",null,"选择",-1),ye={style:{width:"100%"}},he={key:0,class:"validate_tip"};var _e=e({__name:"form",props:{visible:{type:Boolean,default:!1},formOntype:{type:String,default:"add"},formItemData:{type:Object,default:()=>({})},id:{type:String,default:""},orgId:{type:String,default:""},conditionList:{type:Array,default:()=>[]},searchFieldList:{type:Array,default:()=>[]}},emits:["cancelModal"],setup(e,{emit:_e}){const ge=e,be=M(),xe="请输入默认值",ke={name:[{required:!0,message:"请输入字段标题",trigger:["input","blur"]}],html_type:[{required:!0,message:"请选择字段类型",trigger:["input","blur"]}]},Me=[{value:"yyyy-MM-dd HH:mm:ss",label:"年-月-日 时:分:秒"},{value:"yyyy-MM-dd HH:mm",label:"年-月-日 时:分"},{value:"yyyy-MM-dd",label:"年-月-日"},{value:"yyyy-MM",label:"年-月"},{value:"MM-dd HH:mm",label:"月-日 时:分"},{value:"MM-dd",label:"月-日"},{value:"HH:mm:ss",label:"时:分:秒"},{value:"HH:mm",label:"时:分"}],we=[{value:"12",label:"整行"},{value:"6",label:"半行"},{value:"4",label:"1/3行"},{value:"8",label:"2/3行"},{value:"3",label:"1/4行"},{value:"9",label:"3/4行"},{value:"2",label:"1/6行"},{value:"10",label:"5/6行"},{value:"1.5",label:"1/8行"},{value:"10.5",label:"7/8行"}],He=l(!1),Ce=l("860px");let Ue=l({maxHeight:"496px",height:"496px"});const{saveOrUpdateExtendField:Se}=R(),je=a(K),Oe=l(null),Ie=l({name:void 0,remark:void 0,is_edit:"1",is_null:"1",is_show:"1",key:"",val_key:void 0,validate:{},html_type:"INPUT",name_i18n:void 0,elem_width:"12",default_val:void 0,label_type:void 0,isMultiSelect:"0",decimal_length:void 0,date_format:""}),ze=l([{text:void 0,value:void 0}]),Te=l({format:"yyyy-MM-dd HH:mm:ss",dateType:"date",mode:"date",value:null,showTime:!0,open:!1,componentType:"datetime"}),Ne=l({obj_type:"",vali_obj:"",event_obj:"",max_length:"",min_length:"",min_value:"",max_value:""}),Ye=l({value_key:"",levelSetting:[],search_key:[],level_num:void 0,render_key:[],name:"",level_key:"",id:"",type:"",primary_key:"",sqlExpression:"",conObj:"",add_btn:"",setting:{cascading:[]}}),$e=l(!1),Le=l(!1),Ve=l(void 0),Be=l(!1),De=l(!1);l(!1);const Fe=l(!1),Pe=l(""),qe=t((()=>"edit"===ge.formOntype)),Ae=t((()=>Ie.value.html_type||""));t((()=>"TEXTAREA"===Ae.value?1e3:255));const Ee=t((()=>ze.value.filter((e=>e.value&&e.text)))),Je=t((()=>D(Ae.value))),Ke=t((()=>"date"===Te.value.dateType));function Re(e){Fe.value=e}function We(e){let l=e;"string"!=typeof e&&(l=JSON.stringify(e)),Ie.value.default_val=l}function Xe(e){Te.value.value=null,Ie.value.default_val=void 0,nl(e)}function Ge(){He.value=!He.value;let e=document.body.clientHeight;"860px"===Ce.value?(Ce.value="100%",Ue.value.maxHeight=`${e}px`,Ue.value.height=`${e}px`):(Ce.value="860px",Ue.value.maxHeight="496px",Ue.value.height="")}function Qe(e){return["HH:mm:ss","HH:mm"].includes(e)}function Ze(e,l){switch(e){case"isNull":$e.value=l,Ie.value.is_null=l?"0":"1";break;case"isMultiSelect":Le.value=l,Ie.value.isMultiSelect=l?"1":"0"}}function el(){if("add"===ge.formOntype)return;let e=Object.assign({},ge.formItemData),l=e.setting;l&&X(l)&&(l=JSON.parse(l),delete e.setting,Object.assign(e,{...l})),e.key=e.code,delete e.code,q(e.html_type)&&function(e){nl(e.date_format);let l=e.default_val;l&&!l.startsWith("${")&&(Qe(e.date_format)&&(l=`${J().format("YYYY-MM-dd")} ${l}`),G(new Date(l))&&(Te.value.value=J(l)))}(e),D(e.html_type)&&(e.default_val=function(e){let l=e.default_val;return l?l.split(",").filter(Boolean):[]}(e)),$e.value="0"==e.is_null,Le.value="1"==e.isMultiSelect,Ne.value=Object.assign(Ne.value,e.validate||{}),Ye.value=Object.assign(Ye.value,e.wordbook||{}),Ie.value=Object.assign(Ie.value,e||{}),F(e.html_type)&&function(e){let l=(null==e?void 0:e.optionValue)||[];l.length||l.push({text:void 0,value:void 0}),ze.value=[...l],delete e.optionValue}(e)}function ll(e){Ie.value.html_type=e,ze.value=[{text:void 0,value:void 0}];let l=function(){if(D(Ae.value))return[]}();Ie.value.default_val=l,q(e)?Ie.value.date_format="yyyy-MM-dd HH:mm:ss":Ie.value.date_format=""}function al(){ze.value.push({value:"",text:""})}function tl(e){let l=e;(e<0||0===e)&&(l=0),e>5&&(l=5),Ve.value=0===l?l:l||void 0}function ul(e){ze.value=e}function nl(e){let l=e||"yyyy-MM-dd HH:mm:ss",a=Qe(l)?"time":"date",t="yyyy-MM"===l?"month":"date";let u=function(e){return["yyyy-MM-dd HH:mm:ss","yyyy-MM-dd HH:mm","MM-dd HH:mm"].includes(e)}(l),n="";["yyyy-MM-dd HH:mm:ss","yyyy-MM-dd HH:mm","MM-dd HH:mm"].includes(e)&&(n="datetime"),["yyyy-MM-dd","MM-dd"].includes(e)&&(n="date"),Object.assign(Te.value,{format:l,dateType:a,mode:t,showTime:u,componentType:n})}function il(e,l){if(e)return l&&(l.includes("yyyy")&&(l=l.replace("yyyy","YYYY")),l.includes("dd")&&(l=l.replace("dd","DD"))),J(e).format(l)}function ol(){Te.value.open=!Te.value.open}function vl(e){let l=il(e,Te.value.format);Ie.value.default_val=l}function dl(e){let l=il(e,Te.value.format);Ie.value.default_val=l,Te.value.format.includes("HH:mm")||ol()}function rl(e){let l=il(e,Te.value.format);Ie.value.default_val=l}function sl(){_e("cancelModal"),Ce.value="860px",Ue.value={height:"496px",maxHeight:"496px"},He.value=!1,Ie.value={name:void 0,remark:void 0,is_edit:"1",is_null:"1",is_show:"1",key:"",val_key:void 0,validate:{},html_type:"INPUT",name_i18n:void 0,elem_width:"12",default_val:void 0,label_type:void 0,isMultiSelect:"0",decimal_length:void 0,date_format:""}}function pl(){var e;null==(e=Oe.value)||e.validate((async e=>{if(e)return;let l=Object.assign({},Ie.value);if(l.validate={...Ne.value},l.extendId=ge.id,F(Ae.value)){let e=function(){let e={validate:!1,message:"请完善选项配置"};if(!ze.value||!ze.value.length)return e;let l,a,t,u=0,n=ze.value.length,i=!1;for(;u<n;u++){if(l=ze.value[u],a=l.value?l.value.trim():l.value,t=l.text?l.text.trim():l.text,!a||!t){i=!0;break}l.value=a,l.text=t}return[...new Set(ze.value.map((e=>e.value)))].length!==ze.value.length?(e.message="选项值不能重复",e):(!i&&(e.validate=!0),e)}();if(!e.validate)return Be.value=!0,void be.warning(e.message);Be.value=!1,l.option=[...ze.value]}if(P(Ae.value)?l.default_val=function(e){let l=e.default_val;if(void 0===Ve.value)return l;if(!l)return l;let a=String(l).split(".")[1];return a&&a.length!==Ve.value?Number(l.toFixed(Ve.value)):l}(l):D(Ae.value)&&(l.default_val=l.default_val.join(",")),!A(Ae.value)||function(e){let{default_val:l}=e;Pe.value="",l&&X(l)&&(l=JSON.parse(l));let a=function(e,l){if(!e)return;if("string"!=typeof e)return;if(!(e=e.trim()))return!0;if(!e.startsWith("${"))return fl(l,"请输入有效系统变量"),"error";let a=/\${sys.(.*?)\}/g.exec(e);if(!a||!a[1])return fl(l,"请输入有效系统变量"),"error";return!0}(l,e);if(a)return"error"!==a;if(console.log("saveOjb.isMultiSelect>>>",e.isMultiSelect),console.log("default_val?.length>>>",null==l?void 0:l.length),"0"===e.isMultiSelect&&(null==l?void 0:l.length)>1)return console.log("进入到判断里面了>>>>>"),fl(e,"选人组件为单选"),!1;return!0}(l)){for(let e in l){let a=l[e];"string"==typeof a&&(l[e]=null==a?void 0:a.trim())}console.log("saveOjb>>>",l),await async function(e={}){De.value=!0;try{const l=await Se(e,je);if(De.value=!1,"SUCCESS"!==(null==l?void 0:l.result))return void be.error((null==l?void 0:l.resultMsg)||"保存失败");sl()}catch(e){De.value=!1}}(l)}}))}function fl(e,l){Pe.value=l}return u((()=>ge.visible),(e=>{e&&el()})),(l,a)=>(n(),i(o(w),{class:v(["expand-field-modal-block",{"modal-screen":He.value}]),show:e.visible,maskClosable:!1,width:Ce.value,bodyStyle:o(Ue),closable:!1,centered:"",onPositiveClick:pl,onNegativeClick:sl},{default:d((()=>[r(o(H),{style:s({width:Ce.value,...o(Ue)}),title:"add"===ge.formOntype?"新增拓展字段":"编辑拓展字段",bordered:!1,size:"huge",role:"dialog","aria-modal":"true"},{"header-extra":d((()=>[p("div",ee,[p("i",{onClick:Ge,class:v(["iconfont-expand-field",He.value?"icon-expand-field-menzhenyishengzhanxitongtubiaozuixiaohua2":"icon-expand-field-menzhenyishengzhanxitongtubiaozuidahua"])},null,2),p("i",{onClick:sl,class:"iconfont-expand-field icon-expand-field-menzhenyishengzhanxitongtubiaoguanbi"})])])),footer:d((()=>[p("div",le,[r(o(C),{onClick:sl},{default:d((()=>[f("取消")])),_:1}),r(o(C),{type:"info",onClick:pl},{default:d((()=>[f("保存")])),_:1})])])),default:d((()=>[r(o(U),{ref_key:"formRef",ref:Oe,model:Ie.value,rules:ke},{default:d((()=>[r(o(S),{path:"name",label:"字段标题","require-mark-placement":"left"},{default:d((()=>[r(o(j),{value:Ie.value.name,"onUpdate:value":a[0]||(a[0]=e=>Ie.value.name=e),maxlength:100,clearable:"",placeholder:"请输入"},null,8,["value"])])),_:1}),r(o(S),{path:"key"},{label:d((()=>[p("div",ae,[te,r(o(O),{duration:0},{trigger:d((()=>[ue])),default:d((()=>[f(" 数据库字段键名,不填写时由系统生成,填写则以填写为准 ")])),_:1})])])),default:d((()=>[r(o(j),{value:Ie.value.key,"onUpdate:value":a[1]||(a[1]=e=>Ie.value.key=e),maxlength:32,disabled:o(qe),clearable:"",placeholder:"数据库字段键名,不填写时由系统生成,填写则以填写为准"},null,8,["value","disabled"])])),_:1}),r(o(S),{path:"html_type",label:"字段类型","require-mark-placement":"left"},{default:d((()=>[r(o(I),{value:Ie.value.html_type,"onUpdate:value":[a[2]||(a[2]=e=>Ie.value.html_type=e),ll],placeholder:"请选择字段类型",clearable:"",filterable:"",options:o(W)},null,8,["value","options"])])),_:1}),r(o(S),{path:"remark",label:"字段问号提示"},{label:d((()=>[p("div",ne,[ie,r(o(O),{duration:0},{trigger:d((()=>[oe])),default:d((()=>[f(" 设置后该字段旁会有问号图标,鼠标悬浮展示“问号提示”内容,常用于告诉用户该字段的含义 ")])),_:1})])])),default:d((()=>[r(o(j),{value:Ie.value.remark,"onUpdate:value":a[3]||(a[3]=e=>Ie.value.remark=e),placeholder:"请输入",type:"textarea",clearable:"",maxlength:255,rows:3},null,8,["value"])])),_:1}),m(" 选项值>>>>>类型对应关系 "),o(F)(o(Ae))?(n(),i(o(S),{key:0},{label:d((()=>[p("div",ve,[de,p("span",{class:"batch-span",onClick:al},"添加选项"),p("span",{class:"batch-span",onClick:a[4]||(a[4]=()=>Re(!0))},"批量编辑")])])),default:d((()=>[p("div",{class:v(["options-item",{"options-item-err":Be.value}])},[(n(!0),c(y,null,h(ze.value,((e,l)=>(n(),i(o(z),{class:"mgb-10",key:l,cols:24,"x-gap":8,"y-gap":8},{default:d((()=>[r(o(T),{span:11},{default:d((()=>[r(o(j),{value:e.value,"onUpdate:value":l=>e.value=l,maxLength:100,allowClear:"",placeholder:"选项值"},null,8,["value","onUpdate:value"])])),_:2},1024),r(o(T),{span:11},{default:d((()=>[r(o(j),{value:e.text,"onUpdate:value":l=>e.text=l,maxLength:100,allowClear:"",placeholder:"选项文本"},null,8,["value","onUpdate:value"])])),_:2},1024),r(o(T),{span:2,class:"flex-center"},{default:d((()=>[ze.value.length>1?(n(),i(o(N),{key:0,onClick:a=>function(e,l){ze.value.splice(l,1);let a=Ie.value.default_val;if(D(Ae.value)){if(!a||!a.length)return;let l=a.findIndex((l=>l===e.value));l||a.splice(l,1)}else{if(!a)return;a===e.value&&(a=void 0)}Ie.value.default_val=a}(e,l)},{default:d((()=>[re])),_:2},1032,["onClick"])):m("v-if",!0)])),_:2},1024)])),_:2},1024)))),128))],2)])),_:1})):m("v-if",!0),o(P)(o(Ae))?(n(),i(o(S),{key:1,path:"decimal_length",label:"小数位"},{default:d((()=>[r(o(Y),{style:{width:"100%"},min:0,max:5,placeholder:"请输入",precision:0,clearable:"",value:Ie.value.decimal_length,"onUpdate:value":[a[5]||(a[5]=e=>Ie.value.decimal_length=e),tl]},null,8,["value"])])),_:1})):m("v-if",!0),o(q)(o(Ae))?(n(),i(o(S),{key:2,path:"date_format",label:"日期格式"},{default:d((()=>[r(o(I),{style:{width:"100%"},value:Ie.value.date_format,"onUpdate:value":[a[6]||(a[6]=e=>Ie.value.date_format=e),Xe],placeholder:"请选择",options:Me},null,8,["value"])])),_:1})):m("v-if",!0),m(" 默认值>>>>>类型对应关系 "),r(o(S),{path:"default_val",label:"默认值"},{label:d((()=>[p("div",se,[pe,o(A)(o(Ae))?(n(),i(o(O),{key:0,duration:0},{trigger:d((()=>[fe])),default:d((()=>[f(" 支持输入系统变量当前操作人${sys.userId},也支持选择一个人 ")])),_:1})):m("v-if",!0)])])),default:d((()=>[o(E)(o(Ae))?(n(),i(o(j),{key:0,value:Ie.value.default_val,"onUpdate:value":a[7]||(a[7]=e=>Ie.value.default_val=e),placeholder:xe,type:"textarea",clearable:"",maxlength:1e3,rows:3},null,8,["value"])):o(P)(o(Ae))?(n(),c(y,{key:1},[m(" 数字框 "),r(o(Y),{style:{width:"100%"},clearable:"",placeholder:xe,precision:Ve.value,value:Ie.value.default_val,"onUpdate:value":a[8]||(a[8]=e=>Ie.value.default_val=e)},null,8,["precision","value"])],2112)):o(F)(o(Ae))?(n(),c(y,{key:2},[m(" 下拉框、横向单选、纵向单选、横向多选、纵向多选、下拉多选框 "),r(o(I),{style:{width:"100%"},multiple:o(Je),clearable:"",value:Ie.value.default_val,"onUpdate:value":a[9]||(a[9]=e=>Ie.value.default_val=e),"label-field":"text",placeholder:xe,options:o(Ee)},null,8,["multiple","value","options"])],2112)):o(q)(o(Ae))?(n(),c(y,{key:3},[m(" 日期 "),p("div",me,[r(o(j),{clearable:"",maxLength:255,value:Ie.value.default_val,"onUpdate:value":a[10]||(a[10]=e=>Ie.value.default_val=e),placeholder:xe},null,8,["value"]),o(Ke)?(n(),c(y,{key:0},["month"===Te.value.mode?(n(),i(o($),{key:0,trigger:"click",show:Te.value.open},{trigger:d((()=>[r(o(C),{type:"info",onClick:ol},{default:d((()=>[f("选择")])),_:1})])),default:d((()=>[r(o(L),{panel:"",value:Te.value.value,"onUpdate:value":[a[11]||(a[11]=e=>Te.value.value=e),vl],type:"month","input-readonly":"",clearable:"",onConfirm:ol},null,8,["value"])])),_:1},8,["show"])):(n(),i(o($),{key:1,trigger:"click",show:Te.value.open},{trigger:d((()=>[r(o(C),{type:"info",onClick:ol},{default:d((()=>[f("选择")])),_:1})])),default:d((()=>[r(o(L),{panel:"",value:Te.value.value,"onUpdate:value":[a[12]||(a[12]=e=>Te.value.value=e),dl],format:Te.value.format,type:Te.value.componentType,"input-readonly":"",clearable:"",onConfirm:ol},null,8,["value","format","type"])])),_:1},8,["show"]))],64)):(n(),c(y,{key:1},[m(' <n-input\r\n allowClear\r\n :maxLength="255"\r\n v-model:value="dateInfo.value"\r\n @keydown.enter.prevent\r\n :placeholder="defaultPlaceholder"\r\n /> '),r(o(C),{type:"info",class:"date-time-button"},{default:d((()=>[ce,r(o(V),{value:Te.value.value,"onUpdate:value":[a[13]||(a[13]=e=>Te.value.value=e),rl],format:Te.value.format,"input-readonly":"",clearable:""},null,8,["value","format"])])),_:1}),m(' <n-popover trigger="click">\r\n <template #trigger>\r\n <n-button type="info">选择</n-button>\r\n </template>\r\n <n-time-picker\r\n panel\r\n v-model:value="dateInfo.value"\r\n :format="dateInfo.format"\r\n input-readonly\r\n clearable\r\n @update:value="timeChange"\r\n >\r\n <template v-slot:icon>111</template>\r\n\r\n </n-time-picker>\r\n </n-popover> ')],64))])],2112)):o(A)(o(Ae))?(n(),c(y,{key:4},[m(" 选人组件(增加一个选人组件) "),p("div",ye,[_(r(o(j),{allowClear:"",maxLength:255,value:Ie.value.default_val,"onUpdate:value":a[14]||(a[14]=e=>Ie.value.default_val=e),onKeydown:a[15]||(a[15]=g(b((()=>{}),["prevent"]),["enter"])),placeholder:xe},null,8,["value"]),[[x,!1]]),m(' 点击弹出选人组件弹窗 :mainForm="this" '),r(Z,{orgId:e.orgId,defaultValue:Ie.value.default_val,onCheckPerson:We},null,8,["orgId","defaultValue"]),Pe.value?(n(),c("span",he,k(Pe.value),1)):m("v-if",!0),m(' <n-button type="info">选择</n-button> ')])],2112)):(n(),c(y,{key:5},[m(" 其他 "),r(o(j),{value:Ie.value.default_val,"onUpdate:value":a[16]||(a[16]=e=>Ie.value.default_val=e),onKeydown:a[17]||(a[17]=g(b((()=>{}),["prevent"]),["enter"])),placeholder:"请输入默认值"},null,8,["value"])],2112))])),_:1}),r(o(S),{path:"elem_width",label:"宽度"},{default:d((()=>[r(o(I),{value:Ie.value.elem_width,"onUpdate:value":a[18]||(a[18]=e=>Ie.value.elem_width=e),placeholder:"请选择宽度",options:we},null,8,["value"])])),_:1}),r(o(S),{path:"isNull",label:"是否必填","label-placement":"left"},{default:d((()=>[r(o(B),{value:$e.value,"onUpdate:value":[a[19]||(a[19]=e=>$e.value=e),a[20]||(a[20]=e=>Ze("isNull",e))]},null,8,["value"])])),_:1}),o(A)(o(Ae))?(n(),i(o(S),{key:3,"label-placement":"left",path:"isMultiSelect",label:"是否多选"},{default:d((()=>[r(o(B),{value:Le.value,"onUpdate:value":a[21]||(a[21]=e=>Ze("isMultiSelect",e))},null,8,["value"])])),_:1})):m("v-if",!0)])),_:1},8,["model"]),r(Q,{visible:Fe.value,options:ze.value,onHandleSaveBatch:ul,onTriggerBatch:Re},null,8,["visible","options"])])),_:1},8,["style","title"])])),_:1},8,["class","show","width","bodyStyle"]))}});export{_e as default};
@@ -1 +1 @@
1
- import{fabric as e}from"../../../../../shared/utils/fabricjs/index.js";import{drawLine as t,drawArrow as o,drawText as n,defaultTextStyle as i,drawPoint as r,drawTextAndIconGroup as s,defaultStyle as l,defaultRectStyle as a}from"../useDraw.js";import{useGrid as u}from"../useGrid.js";import{useBirthProcessCumputedPoint as c}from"../useCumputedPoint.js";import"../useEvent.js";import{getScaleInfo as d,drawScaleNumber as f,drawScaleLine as p}from"../useScaleColumn.js";import{useCommon as h}from"../useCommon.js";import"vue";import{getIndex as g,isEffectiveNode as v,getTime as m,getScaleNumberList as y}from"../../utils/index.js";import{cloneDeep as k,last as w}from"lodash-es";import"../temperature/useShadow.js";import{format as x}from"date-fns";import"naive-ui";import"@vueuse/core";function b(b,j,C,P,S){const{computedX:E,computedY:G,getXValue:M,getYValue:T}=c(j),{getEqualXTypes:Y,handleAddPrevent:L,isGridLimit:X,setPrevAndNextPoint:A}=h(b,C,j),{xAxis:I,grid:H,originX:W,originY:N,xCellWidth:O,endY:V,startTime:D,leftAddAreaWidth:R,leftScales:$,rightScales:B,yCellHeight:F,endX:q,scaleValues:z,canvasWidth:J,borderStyle:K,rightAddAreaWidth:Q,event:U,originYCervix:Z,other:_,canvasHeight:ee}=j,te=k(z),oe=new Set;function ne(){te.filter((e=>e.show)).forEach(((e,s)=>{var l;const a=[],u=[],c=[];null==(l=e.data)||l.forEach(((l,d)=>{!function(l,d,f){let p,h;const{pointAttr:g={},lineAttr:v={},title:m="",key:y,type:k="circle",childbirthStyle:w={}}=e,x=e.data[f+1],S=ae(x,e);if(l&&S&&!d.breakpoint)h=t([...l,...S],{...v});else if(l&&!S&&!d.breakpoint){const o=ae(x,e);h=o?t([...l,...o],{...v}):null}let E,G;if(d.childbirth){const e=l[1]+F;E=o([l[0],l[1],e],w),c.push(E),G=n([l[0]+O/2,e-F/2],{value:String(d.childbirth),...i,originX:"left",originY:"center",...w}),c.push(G)}const Y=u[f-1],L={origin:{data:d,title:m,key:y||"",dataIndex:s,index:f},leftLine:Y,rightLine:h,arrowGroup:E,arrowGroupText:G,...g,...j.event.hovered?j.event.evented?{selectable:!0}:{selectable:!0,lockMovementX:!0,lockMovementY:!0}:j.event};l&&(Y||(L.leftLine=null),p=r(k,{left:l[0],top:l[1],...L}));u.push(h),p&&(!function(e){U.hovered&&(e.on("mouseover",(()=>{le(e,"hover")})),e.on("mouseout",(()=>{P.show=!1})));if(e.lockMovementX&&e.lockMovementY)return;e.on("moving",(()=>{se(e),function(e){var t,o,n,i;null==(t=e.leftLine)||t.setCoords().set({x2:e.left,y2:e.top}),null==(o=e.rightLine)||o.setCoords().set({x1:e.left,y1:e.top}),null==(n=e.arrowGroup)||n.setCoords().set({left:e.left,top:e.top}),null==(i=e.arrowGroupText)||i.setCoords().set({left:e.left+O/2,top:e.top+F/2})}(e),U.hovered&&le(e)})),e.on("mouseup",(t=>{if(P.show=!1,1===t.button){const{key:t}=e.origin,o={...e.origin,data:{...e.origin.data,time:M(e.left),value:T(t,e.top)}};b.value.discardActiveObject(),C("change",o),ie(o,"change")}}))}(p),a.push(p),oe.add(p))}(ae(l,e),l,d)})),Promise.all(a).then((e=>{const t=u.filter((e=>e));A(e),Promise.all(c).then((o=>{b.value.add(...t,...e,...o),e.forEach((e=>{null==e||e.bringToFront()}))}))}))}))}function ie(e,t="add"){const{dataIndex:o,data:n,index:i,key:r}=e,s=te.find((e=>e.key===r));switch(t){case"remove":s.data.splice(i,1);break;case"change":s.data[i]=n;break;default:{const e=g(n.time,s.data);s.data.splice(e,0,n);break}}re()}function re(){var e;oe.size&&(null==(e=b.value)||e.remove(...function(e){const t=[];return e.forEach((e=>{e&&t.push(e),(null==e?void 0:e.leftLine)&&t.push(null==e?void 0:e.leftLine),(null==e?void 0:e.rightLine)&&t.push(null==e?void 0:e.rightLine),(null==e?void 0:e.arrowGroup)&&t.push(null==e?void 0:e.arrowGroup),(null==e?void 0:e.arrowGroupText)&&t.push(null==e?void 0:e.arrowGroupText)})),t}([...oe]))),oe.clear(),ne()}function se(e){const t=e.prevPoint?e.prevPoint.left:W,o=e.nextPoint?e.nextPoint.left:q;e.setCoords(),["cervix","fetalPresentation"].includes(e.origin.key)&&e.top<Z&&e.set("top",Z),e.top<N&&e.set("top",N),e.top>V&&e.set("top",V),e.left<t&&e.set("left",t),e.left>o&&e.set("left",o)}function le(e,t="moving"){const{title:o,key:n,data:i}=e.origin;P.point={x:e.left,y:e.top},P.list=[`${o} ${"hover"===t?i.value:T(n,e.top)}`,`时间 ${M(e.left).slice(-5)}`],P.show=!0}function ae(e,t){if(v(e)&&function(e){const t=D+864e5,o=m(e);return o>=D&&o<=t}(e.time)){const o=E(e.time),n=G(t.key,t.range,e.value);return[o,n<N?N:n>V?V:n]}}function ue(e,t){return e+1>t[1]?t[0]:e+1}return u(b,j),function(){const t=new e.Rect({...K,width:J-R-Q-1,height:V-1,left:R,top:0,fill:"transparent"});b.value.add(t)}(),function(){function t(t,o="left"){let r="left"===o?R:q;t.forEach(((t,o)=>{const{range:s,spaceValue:u,width:c,title:h,titleStyle:g,key:v,position:m="center",spaceGridNumber:k=1,showNumber:w,showMaxMinNumber:x}=t,j=[],C=[],P=r+c/2,S=y(s,u),E=S.length;S.forEach(((e,o)=>{const{lineXMain:n,lineXSub:i,textLeft:s}=d(m,r,c),l=V-o*F*k,a=0===o?V-8:o!==S.length-1||N||Z&&"FHR"!==v?l:N+8;!w||(0===o||o===E-1)&&!x||j.push(f(String(e),t,s,a)),C.push(...p(t,o,n,i,l,F,N,E))}));const G=new e.Rect({...a,strokeWidth:.5,width:c,height:V,left:P,top:V/2}),M=n([P,N>0?N-F/2:F/2],{value:String(h),...i,...g}),T=new e.Group([...C,...j,G,...M?[M]:[]],{objectCaching:!1,...l});b.value.add(T),T.sendToBack(),r+=c}))}t($),t(B,"right")}(),function(){const{show:t,startTime:o,range:r=[0,23],position:s="top",style:a}=I.time,{show:u,range:c=[0,23],position:d,style:f}=I.processTime;if(t||u){const p=[],h=[],g=[],v=[],m=W+O/2,y=F/2;for(let e=0;e<H.mainXCell;e++){if(t){const t=0===e?+o.slice(11,13):ue(w(p),r);p.push(t);const l="top"===s?N-y:V+y;g.push(n([m+e*O,l],{value:String(t),...i,...a||{}}))}if(u){const t=0===e?c[0]:w(h)+1;h.push(t);const o="top"===d?y:ee-y;v.push(n([m+e*O,o],{value:String(t),...i,...f||{}}))}}const k=new e.Group([...g,...v],{objectCaching:!1,...l});b.value.add(k),b.value.sendToBack(k)}}(),function(){var e;const o=Object.values(_),n=[],i={},r=te.find((e=>"cervix"===e.key&&e.show)),s=null==(e=null==r?void 0:r.data)?void 0:e.find((e=>3==+e.value));function l(e,t){const{key:o,range:n}=r||{},i=G(o,n,10),s=[0,t],l=[-t/e,0],a=[(V-i-t)/e,V-i],u=[q-W,e*(q-W)+t];let c=[],d=[];function f([o,n]){return Math.abs(n-e*o-t)<=1}function p([e,t]){const[o,n]=[...h([e,t])];return o>=W&&o<=q&&n>=i&&n<=V}function h([e,t]){return[W+e,V-t]}return f(s)&&p(s)&&(c=h(s)),f(l)&&p(l)&&(c=h(l)),f(a)&&p(a)&&(d=h(a)),f(u)&&p(u)&&(d=h(u)),[...c,...d]}o.forEach((e=>{if(!e.show)return;const{key:o}=e;switch(o){case"fetalPresentation":{const{range:i,show:r}=te.find((e=>e.key===o));if(r){const r=G(o,i,0);n.push(t([W,r,q,r],{...e}))}break}case"alert":if(s){const{key:o,range:a}=r||{},u=216e5,c={time:x(new Date(m(s.time)+u),"yyyy-MM-dd HH:mm"),value:10},[d,f]=[E(s.time)-W,V-G(o,a,s.value)],[p,h]=[E(c.time)-W,V-G(o,a,c.value)],g=(h-f)/(p-d),v=f-d*g,y=l(g,v);y.length>0&&(n.push(t(y,{...e})),Object.assign(i,{k:g,b:v}))}break;case"handling":if(s){const{k:o,b:r}=i,a=144e5,u=l(o,r-(E(x(new Date(m(s.time)+a),"yyyy-MM-dd HH:mm"))-E(s.time))*o);u.length>0&&n.push(t(u,{...e}))}}})),b.value.add(...n)}(),ne(),function(){function e(e,t){const o=te.findIndex((t=>t.key===e.key));return{renderItem:()=>e.title,origin:{title:e.title,unit:e.unit,dataIndex:o,key:e.key},pointer:t}}j.event.evented&&b.value.on("mouse:up",(t=>{if(3===t.button){const{x:o=0,y:n=0}=t.pointer||{};o>=W&&o<=q&&n>=N&&n<=V&&(S.point={x:o,y:n},S.show=!0,t.target?(S.target=t.target,S.list=["删除节点"],[...oe].forEach((e=>{e.origin&&e.left===t.target.left&&e.top===t.target.top&&S.list.push({renderItem:()=>e.origin.title,origin:{...e.origin},mode:"remove",pointer:t.pointer})}))):(S.target=null,S.list=["新增节点"],te.filter((e=>e.show)).forEach((i=>{if(!Y([...oe],o,"key").includes(i.key)){if(["cervix","fetalPresentation"].includes(i.key)&&n<Z)return;S.list.push(e(i,t.pointer))}})),1===S.list.length&&(S.show=!1,L("repeat"),console.log("当前时间段内无可新增节点"))))}}))}(),function(){const e=J-Q/2;function t(e,t){if(!e.length)return;let n=N;const i=[];e.forEach((e=>{const o=e.title.split("").join("\n"),r=z.findIndex((t=>t.key===e.key)),{text:l,icon:a}=s(o,e,{text:{originY:"top",left:t,top:n},icon:{left:t,topY:n,originY:"top",origin:{type:e.type,dataIndex:r},...j.event}},"vertical");var u;n+=l.height+a.height+15,(u=a).on("moving",(()=>{u.set("originY","center"),X(u)?(se(u),le(u)):P.show=!1})),u.on("mouseup:before",(e=>{if(P.show=!1,0===e.e.button&&X(u))if(Y([...oe],u.left,"key").includes(u.origin.key))L("repeat");else{const e={data:{time:M(u.left),value:T(u.origin.key,u.top)},...u.origin};C("add",e),ie(e)}!function(e){e.setCoords().set({originY:"top",left:e.originLeft,top:e.originTop})}(u)})),i.push(l,a)})),o(i),b.value.add(...i)}function o(e){const t=w(e),o=(V-N)/2,n=(t.height+t.top-N)/2;e.forEach((e=>{const t=e.top+o-n;e.set({top:t,originTop:t})}))}t($,R/2),t(B,e)}(),{clickMenu:function({item:e,target:t}){const o={...e.origin};"remove"===e.mode?(C("remove",o),ie(o,"remove")):(Object.assign(o,{data:{time:M(e.pointer.x),value:T(e.origin.key,e.pointer.y)}}),C("add",o),ie(o))},redrawPoints:re}}export{b as useBirthProcess};
1
+ import{fabric as t}from"../../../../../shared/utils/fabricjs/index.js";import{drawLine as e,drawArrow as o,drawText as n,defaultTextStyle as i,drawPoint as r,drawTextAndIconGroup as s,defaultStyle as l,defaultRectStyle as a}from"../useDraw.js";import{useGrid as u}from"../useGrid.js";import{useBirthProcessCumputedPoint as c}from"../useCumputedPoint.js";import"../useEvent.js";import{getScaleInfo as d,drawScaleNumber as f,drawScaleLine as p}from"../useScaleColumn.js";import{useCommon as h}from"../useCommon.js";import"vue";import{getIndex as g,isEffectiveNode as m,getTime as v,getScaleNumberList as y}from"../../utils/index.js";import{cloneDeep as k,last as w}from"lodash-es";import"../temperature/useShadow.js";import{format as x}from"date-fns";import"naive-ui";import"@vueuse/core";function b(b,j,P,C,E){const{computedX:S,computedY:G,getXValue:T,getYValue:L}=c(j),{getEqualXTypes:Y,handleAddPrevent:M,isGridLimit:A,setPrevAndNextPoint:X,getPointEventProps:I}=h(b,P,j),{xAxis:H,grid:W,originX:N,originY:O,xCellWidth:V,endY:D,startTime:R,leftAddAreaWidth:$,leftScales:B,rightScales:F,yCellHeight:q,endX:z,scaleValues:J,canvasWidth:K,borderStyle:Q,rightAddAreaWidth:U,event:Z,originYCervix:_,other:tt,canvasHeight:et}=j,ot=k(J),nt=new Set;function it(){ot.filter((t=>t.show)).forEach(((t,s)=>{var l;const a=[],u=[],c=[];null==(l=t.data)||l.forEach(((l,d)=>{!function(l,d,f){let p,h;const{pointAttr:g={},lineAttr:m={},title:v="",key:y,type:k="circle",childbirthStyle:w={}}=t,x=t.data[f+1],j=ut(x,t);if(l&&j&&!d.breakpoint)h=e([...l,...j],{...m});else if(l&&!j&&!d.breakpoint){const o=ut(x,t);h=o?e([...l,...o],{...m}):null}let E,S;if(d.childbirth){const t=l[1]+q;E=o([l[0],l[1],t],w),c.push(E),S=n([l[0]+V/2,t-q/2],{value:String(d.childbirth),...i,originX:"left",originY:"center",...w}),c.push(S)}const G=u[f-1],Y={origin:{data:d,title:v,key:y||"",dataIndex:s,index:f},leftLine:G,rightLine:h,arrowGroup:E,arrowGroupText:S,...g,...I()};l&&(G||(Y.leftLine=null),p=r(k,{left:l[0],top:l[1],...Y}));u.push(h),p&&(!function(t){Z.hovered&&(t.on("mouseover",(()=>{at(t,"hover")})),t.on("mouseout",(()=>{C.show=!1})));if(t.lockMovementX&&t.lockMovementY)return;t.on("moving",(()=>{lt(t),function(t){var e,o,n,i;null==(e=t.leftLine)||e.setCoords().set({x2:t.left,y2:t.top}),null==(o=t.rightLine)||o.setCoords().set({x1:t.left,y1:t.top}),null==(n=t.arrowGroup)||n.setCoords().set({left:t.left,top:t.top}),null==(i=t.arrowGroupText)||i.setCoords().set({left:t.left+V/2,top:t.top+q/2})}(t),Z.hovered&&at(t)})),t.on("mouseup",(e=>{if(C.show=!1,1===e.button){const{key:e}=t.origin,o={...t.origin,data:{...t.origin.data,time:T(t.left),value:L(e,t.top)}};b.value.discardActiveObject(),P("change",o),rt(o,"change")}}))}(p),a.push(p),nt.add(p))}(ut(l,t),l,d)})),Promise.all(a).then((t=>{const e=u.filter((t=>t));X(t),Promise.all(c).then((o=>{b.value.add(...e,...t,...o),t.forEach((t=>{null==t||t.bringToFront()}))}))}))}))}function rt(t,e="add"){const{dataIndex:o,data:n,index:i,key:r}=t,s=ot.find((t=>t.key===r));switch(e){case"remove":s.data.splice(i,1);break;case"change":s.data[i]=n;break;default:{const t=g(n.time,s.data);s.data.splice(t,0,n);break}}st()}function st(){var t;nt.size&&(null==(t=b.value)||t.remove(...function(t){const e=[];return t.forEach((t=>{t&&e.push(t),(null==t?void 0:t.leftLine)&&e.push(null==t?void 0:t.leftLine),(null==t?void 0:t.rightLine)&&e.push(null==t?void 0:t.rightLine),(null==t?void 0:t.arrowGroup)&&e.push(null==t?void 0:t.arrowGroup),(null==t?void 0:t.arrowGroupText)&&e.push(null==t?void 0:t.arrowGroupText)})),e}([...nt]))),nt.clear(),it()}function lt(t){const e=t.prevPoint?t.prevPoint.left:N,o=t.nextPoint?t.nextPoint.left:z;t.setCoords(),["cervix","fetalPresentation"].includes(t.origin.key)&&t.top<_&&t.set("top",_),t.top<O&&t.set("top",O),t.top>D&&t.set("top",D),t.left<e&&t.set("left",e),t.left>o&&t.set("left",o)}function at(t,e="moving"){const{title:o,key:n,data:i}=t.origin;C.point={x:t.left,y:t.top},C.list=[`${o} ${"hover"===e?i.value:L(n,t.top)}`,`时间 ${T(t.left).slice(-5)}`],C.show=!0}function ut(t,e){if(m(t)&&function(t){const e=R+864e5,o=v(t);return o>=R&&o<=e}(t.time)){const o=S(t.time),n=G(e.key,e.range,t.value);return[o,n<O?O:n>D?D:n]}}function ct(t,e){return t+1>e[1]?e[0]:t+1}return u(b,j),function(){const e=new t.Rect({...Q,width:K-$-U-1,height:D-1,left:$,top:0,fill:"transparent"});b.value.add(e)}(),function(){function e(e,o="left"){let r="left"===o?$:z;e.forEach(((e,o)=>{const{range:s,spaceValue:u,width:c,title:h,titleStyle:g,key:m,position:v="center",spaceGridNumber:k=1,showNumber:w,showMaxMinNumber:x}=e,j=[],P=[],C=r+c/2,E=y(s,u),S=E.length;E.forEach(((t,o)=>{const{lineXMain:n,lineXSub:i,textLeft:s}=d(v,r,c),l=D-o*q*k,a=0===o?D-8:o!==E.length-1||O||_&&"FHR"!==m?l:O+8;!w||(0===o||o===S-1)&&!x||j.push(f(String(t),e,s,a)),P.push(...p(e,o,n,i,l,q,O,S))}));const G=new t.Rect({...a,strokeWidth:.5,width:c,height:D,left:C,top:D/2}),T=n([C,O>0?O-q/2:q/2],{value:String(h),...i,...g}),L=new t.Group([...P,...j,G,...T?[T]:[]],{objectCaching:!1,...l});b.value.add(L),L.sendToBack(),r+=c}))}e(B),e(F,"right")}(),function(){const{show:e,startTime:o,range:r=[0,23],position:s="top",style:a}=H.time,{show:u,range:c=[0,23],position:d,style:f}=H.processTime;if(e||u){const p=[],h=[],g=[],m=[],v=N+V/2,y=q/2;for(let t=0;t<W.mainXCell;t++){if(e){const e=0===t?+o.slice(11,13):ct(w(p),r);p.push(e);const l="top"===s?O-y:D+y;g.push(n([v+t*V,l],{value:String(e),...i,...a||{}}))}if(u){const e=0===t?c[0]:w(h)+1;h.push(e);const o="top"===d?y:et-y;m.push(n([v+t*V,o],{value:String(e),...i,...f||{}}))}}const k=new t.Group([...g,...m],{objectCaching:!1,...l});b.value.add(k),b.value.sendToBack(k)}}(),function(){var t;const o=Object.values(tt),n=[],i={},r=ot.find((t=>"cervix"===t.key&&t.show)),s=null==(t=null==r?void 0:r.data)?void 0:t.find((t=>3==+t.value));function l(t,e){const{key:o,range:n}=r||{},i=G(o,n,10),s=[0,e],l=[-e/t,0],a=[(D-i-e)/t,D-i],u=[z-N,t*(z-N)+e];let c=[],d=[];function f([o,n]){return Math.abs(n-t*o-e)<=1}function p([t,e]){const[o,n]=[...h([t,e])];return o>=N&&o<=z&&n>=i&&n<=D}function h([t,e]){return[N+t,D-e]}return f(s)&&p(s)&&(c=h(s)),f(l)&&p(l)&&(c=h(l)),f(a)&&p(a)&&(d=h(a)),f(u)&&p(u)&&(d=h(u)),[...c,...d]}o.forEach((t=>{if(!t.show)return;const{key:o}=t;switch(o){case"fetalPresentation":{const{range:i,show:r}=ot.find((t=>t.key===o));if(r){const r=G(o,i,0);n.push(e([N,r,z,r],{...t}))}break}case"alert":if(s){const{key:o,range:a}=r||{},u=216e5,c={time:x(new Date(v(s.time)+u),"yyyy-MM-dd HH:mm"),value:10},[d,f]=[S(s.time)-N,D-G(o,a,s.value)],[p,h]=[S(c.time)-N,D-G(o,a,c.value)],g=(h-f)/(p-d),m=f-d*g,y=l(g,m);y.length>0&&(n.push(e(y,{...t})),Object.assign(i,{k:g,b:m}))}break;case"handling":if(s){const{k:o,b:r}=i,a=144e5,u=l(o,r-(S(x(new Date(v(s.time)+a),"yyyy-MM-dd HH:mm"))-S(s.time))*o);u.length>0&&n.push(e(u,{...t}))}}})),b.value.add(...n)}(),it(),function(){function t(t,e){const o=ot.findIndex((e=>e.key===t.key));return{renderItem:()=>t.title,origin:{title:t.title,unit:t.unit,dataIndex:o,key:t.key},pointer:e}}j.event.evented&&b.value.on("mouse:up",(e=>{if(3===e.button){const{x:o=0,y:n=0}=e.pointer||{};o>=N&&o<=z&&n>=O&&n<=D&&(E.point={x:o,y:n},E.show=!0,e.target?(E.target=e.target,E.list=["删除节点"],[...nt].forEach((t=>{t.origin&&t.left===e.target.left&&t.top===e.target.top&&E.list.push({renderItem:()=>t.origin.title,origin:{...t.origin},mode:"remove",pointer:e.pointer})}))):(E.target=null,E.list=["新增节点"],ot.filter((t=>t.show)).forEach((i=>{if(!Y([...nt],o,"key").includes(i.key)){if(["cervix","fetalPresentation"].includes(i.key)&&n<_)return;E.list.push(t(i,e.pointer))}})),1===E.list.length&&(E.show=!1,M("repeat"),console.log("当前时间段内无可新增节点"))))}}))}(),function(){const t=K-U/2;function e(t,e){if(!t.length)return;let n=O;const i=[];t.forEach((t=>{const o=t.title.split("").join("\n"),r=J.findIndex((e=>e.key===t.key)),{text:l,icon:a}=s(o,t,{text:{originY:"top",left:e,top:n},icon:{left:e,topY:n,originY:"top",origin:{type:t.type,dataIndex:r},...j.event}},"vertical");var u;n+=l.height+a.height+15,(u=a).on("moving",(()=>{u.set("originY","center"),A(u)?(lt(u),at(u)):C.show=!1})),u.on("mouseup:before",(t=>{if(C.show=!1,0===t.e.button&&A(u))if(Y([...nt],u.left,"key").includes(u.origin.key))M("repeat");else{const t={data:{time:T(u.left),value:L(u.origin.key,u.top)},...u.origin};P("add",t),rt(t)}!function(t){t.setCoords().set({originY:"top",left:t.originLeft,top:t.originTop})}(u)})),i.push(l,a)})),o(i),b.value.add(...i)}function o(t){const e=w(t),o=(D-O)/2,n=(e.height+e.top-O)/2;t.forEach((t=>{const e=t.top+o-n;t.set({top:e,originTop:e})}))}e(B,$/2),e(F,t)}(),{clickMenu:function({item:t,target:e}){const o={...t.origin};"remove"===t.mode?(P("remove",o),rt(o,"remove")):(Object.assign(o,{data:{time:T(t.pointer.x),value:L(t.origin.key,t.pointer.y)}}),P("add",o),rt(o))},redrawPoints:st}}export{b as useBirthProcess};
@@ -1 +1 @@
1
- import{onUnmounted as e}from"vue";import{fabric as t}from"../../../../../shared/utils/fabricjs/index.js";import{defaultStyle as n,drawLine as i,drawPoint as o}from"../useDraw.js";import{useGrid as l}from"../useGrid.js";import{useBirthProcessCumputedPoint as r}from"../useCumputedPoint.js";import{bus as a}from"../useEvent.js";import{useCommon as s}from"../useCommon.js";import{getPointRange as f,getIndex as c,isEffectiveNode as u,getTime as d}from"../../utils/index.js";import{cloneDeep as p,last as m,omit as v,flatten as g}from"lodash-es";import"date-fns";import"../temperature/useShadow.js";import"naive-ui";import{useIntervalFn as y}from"@vueuse/core";function h(h,k,x,L,P){const{computedX:b,computedY:w,getXValue:A,getYValue:I}=r(k),{xCellWidth:C,pointSelectionStyle:K,originX:j,endX:E,originY:X,endY:M,event:V,scaleValues:T,xAxis:Y,startTime:S,timeXCell:$,itemList:F,dialog:O}=k,D=new Map,_=new Set,z=p(T);let N=[],G=null;const J=new Set;l(h,k);const{getEqualXTypes:q,handleAddPrevent:R,setPrevAndNextPoint:W}=s(h,x,k),{pause:B,resume:H}=y((()=>{!function(){if(!J.size)return;for(const e of J)e.set("opacity",1===e.opacity?.5:1);h.value.renderAll()}()}),800);function Q(){z.forEach((e=>{const{range:t=[],spaceValue:n}=e;n&&(t[0]||t[1])&&e.dataList.forEach(((t,n)=>{t.show&&(!function(e,t){const{max:n={},min:o={}}=e.panicValue||{},{max:l={},min:r={}}=e.diffValue||{};function a({show:e=!1,value:n,name:o,lineStyle:l}){if(!e||!n)return;const r=w(t.type,t.range,n),a=i([j,r,E,r],{...l,evented:!0,lockMovementX:!0,lockMovementY:!0,hoverCursor:"pointer"});V.hovered&&o&&(a.on("mousemove",(({pointer:e})=>{L.point={...e||{x:a.left,y:a.top}},L.list=[`${o} ${n}${t.unit||""}`],L.show=!0})),a.on("mouseout",(()=>{L.show=!1}))),h.value.add(a)}a(n),a(o),a(l),a(r)}(t,e),te(t,n,e))}))}))}function U(e=[]){if(!(null==G?void 0:G.areaPos))return[];const{startPos:t,endPos:n}=G.areaPos,[i,o]=[t.x,n.x].sort(((e,t)=>e-t)),[l,r]=[t.y,n.y].sort(((e,t)=>e-t));return(e.length?e:ce()).filter((e=>e.left>=i&&e.left<=o&&e.top>=l&&e.top<=r))}function Z(e){O.warning({maskClosable:!1,closeOnEsc:!1,title:"警告",content:"确认删除当前选中的节点?",positiveText:"确定",negativeText:"取消",onPositiveClick:()=>{e(),ee()},onNegativeClick:()=>ee(),onClose:()=>ee()})}function ee(){G&&h.value.remove(G),G=null}function te(e,t,n){var l;const{type:r,unit:a,dataList:s=[]}=n,f=[];D.set(e.key,[]),function(e,t){J.size&&[...J].forEach((n=>{const{dataIndex:i,type:o}=n.origin;i===t&&o===e&&J.delete(n)}))}(r,t),null==(l=e.list)||l.forEach(((l,c)=>{!function(e,l,c,u){var d;let p,g,y=u;l.key&&(y=s.find((e=>e.key===l.key)));const{pointAttr:P={},lineAttr:b={},title:w="",key:K,type:j="circle"}=y,E=fe(u.list[c+1],n);e&&E&&!l.breakpoint&&e[0]!==E[0]&&(g=i([...e,...E],b));const X=f[c-1],M={origin:{data:l,title:w,key:u.key,selfKey:K,unit:a,type:r,dataIndex:t,index:c,lineAttr:b},__type:"main",leftLine:X,rightLine:g,...P,...k.event.hovered?k.event.evented?{selectable:!0}:{selectable:!0,lockMovementX:!0,lockMovementY:!0}:k.event};e&&(X||(M.leftLine=null),p=o(j,{left:e[0],top:e[1],...M}));f.push(g),p&&(p.originLeft=p.left,p.originTop=p.top,function(e){V.hovered&&(e.on("mouseover",(()=>{ae(e,"hover")})),e.on("mouseout",(()=>{L.show=!1})));if(e.lockMovementX&&e.lockMovementY)return;e.on("moving",(()=>{se(e),function(e){var t,n;null==(t=e.leftLine)||t.setCoords().set({x2:e.left,y2:e.top}),null==(n=e.rightLine)||n.setCoords().set({x1:e.left,y1:e.top})}(e),V.hovered&&ae(e),function(e){var t,n,i,o;const{originLeft:l,originTop:r,left:a,top:s,origin:f}=e,c=~~((a-l)/C);if(a>l+C){if(0===N.length){ie(e,[...e.leftLine?[e.leftLine.x1,e.leftLine.y1]:[l,r],l,r]),null==(n=null==(t=e.leftLine)?void 0:t.set)||n.call(t,"stroke","transparent"),null==(o=null==(i=e.rightLine)?void 0:i.set)||o.call(i,"stroke","transparent")}const u=l+C*c;if(N.every((e=>e.left!==u))){const t=A(u),n=I(f.type,s);N.push({data:{time:t,value:n,...f.selfKey!==f.key?{key:f.selfKey}:{}},left:u,top:s}),ie(e,[...e.prevPointer,u,s])}if(N.length<c&&function(e,t){const{originLeft:n,originTop:i,origin:o}=e;let l=1;for(;l<=t;){const t=n+C*l,r=N.some((e=>Math.abs(e.left-t)<=1));if(!r){let l=0;const r=N.find(((e,n)=>(e.left>t&&(l=n),e.left>t)));if(r){const a=JSON.parse(JSON.stringify(r)),s=N[l-1]||{left:n,top:i},f=~~((r.left-(t-C))/C),c=(r.top-s.top)/f;a.top=s.top+c,a.left=t,a.data={time:A(t),value:I(o.type,a.top),...o.selfKey!==o.key?{key:o.selfKey}:{}},N.splice(l,0,a),ie(e,[s.left,s.top,a.left,a.top])}}l++}}(e,c),e.nextPoint){const t=D.get(f.key);!function(e,t){const{left:n,top:i,origin:o}=t,l=C/2,r=e.findIndex((e=>Math.abs(n-e.left)<l&&Math.abs(i-e.top)<l&&o.index!==e.origin.index));r>-1?(t.set({scaleX:2.5,scaleY:2.5}),t.coincidePoint=e[r]):t.set({scaleX:t.scale,scaleY:t.scale})}(t,e),null==t||t.forEach((e=>{e.left<=l||f.index===e.origin.index||(e.left<a?ne(e,"#999"):ne(e,e.origin.lineAttr.stroke))}))}}!function(e){var t,n;const{left:i}=e;if(N.length>0&&i<N[N.length-1].left){for(const e of _)e.left>i&&(e.leftLine&&h.value.remove(e.leftLine),h.value.remove(e));if(N=N.filter((e=>e.left<=i)),0===N.length){null==(n=null==(t=e.leftLine)?void 0:t.set)||n.call(t,e.origin.lineAttr);for(const e of _)e.leftLine&&h.value.remove(e.leftLine),h.value.remove(e)}if(N.length>0){const t=m(N);e.prevPointer=[t.left,t.top]}}}(e)}(e)})),e.on("mouseup",(t=>{if(L.show=!1,1===t.button){const{type:t,selfKey:n,dataIndex:i}=e.origin,o={...e.origin,data:{...e.origin.data,time:A(e.left),value:I(t,e.top)}};if(h.value.discardActiveObject(),N.length>0){const l=z.find((e=>e.type===t));let r=-1;const a=N.map((e=>e.data));if(e.nextPoint){if(2.5!==e.scaleX)return void le({dataIndex:i,scaleValue:l});const t=e.coincidePoint.origin,n=t.data;r=t.index;const o=a.findIndex((e=>e.time===n.time));o>-1?a[o].value=n.value:a.push({...m(a),time:n.time,value:n.value})}const s=l.dataList.findIndex((e=>e.key===n));x("add",{...v(o,["index","selfKey","lineAttr"]),dataIndex:s,key:n,data:a}),oe({...o,data:a,coincideIndex:r})}else x("change",{...v(o,["selfKey","lineAttr"]),key:n}),oe(o,"change")}}))}(p),null==(d=D.get(u.key))||d.push(p))}(fe(l,n),l,c,e)})),Promise.all(D.get(e.key)).then((t=>{const n=f.filter((e=>e));W(t),h.value.add(...n,...t),function(e,t){const{max:n={},min:i={}}=t.panicValue||{},{max:o={},min:l={}}=t.diffValue||{};function r({show:t=!1,value:n,flickerable:i},o){!t&&n&&i&&e.forEach((e=>{const t=e.origin.data.value;"max"===o&&t<n||"min"===o&&t>n||J.add(e)}))}r(n,"max"),r(i,"min"),r(o,"max"),r(l,"min")}(t,e)}))}function ne(e,t){["stroke","fill"].forEach((n=>{const i=e[n];i&&!["transparent","#fff","#ffffff","#FFFFFF"].includes(i)&&i!==t&&e.set(n,t)})),e.rightLine&&e.rightLine.stroke!==t&&e.rightLine.set("stroke",t)}function ie(e,t){const[,,n,o]=t;e.clone((l=>{l.set({left:n,top:o,scaleX:1,scaleY:1}),e.prevPointer=[n,o];const r=i(t,e.origin.lineAttr);l.leftLine=r,_.add(l),h.value.add(r,l)}))}function oe(e,t="add",n=1){const{data:i,index:o,key:l,type:r,coincideIndex:a}=e;let{dataIndex:s}=e;const f=z.find((e=>e.type===r)),u=f.dataList.find(((e,t)=>(s=t,e.key===l)));switch(t){case"remove":u.list.splice(o,n),u.list[o-1]&&(u.list[o-1].breakpoint=!0);break;case"change":u.list[o]=i;break;default:{const e=Array.isArray(i)?i[0].time:i.time,t=c(e,u.list),n=Array.isArray(i)?i:[i];u.list.splice(t,a>-1?a-t+1:0,...n);break}}le({dataIndex:s,scaleValue:f})}function le(e){var t,n,i;if(_.size&&(null==(t=h.value)||t.remove(...re([..._]))),_.clear(),N=[],e){const{dataIndex:t,scaleValue:i}=e,o=i.dataList[t];null==(n=h.value)||n.remove(...re(D.get(o.key))),D.delete(o.key),te(o,t,i)}else D.size&&(null==(i=h.value)||i.remove(...re(ce()))),D.clear(),Q()}function re(e){const t=[];return e.forEach((e=>{e&&t.push(e),(null==e?void 0:e.leftLine)&&t.push(null==e?void 0:e.leftLine),(null==e?void 0:e.rightLine)&&t.push(null==e?void 0:e.rightLine)})),t}function ae(e,t="moving"){const{title:n,type:i,data:o,unit:l}=e.origin;L.point={x:e.left,y:e.top};const r=`${"hover"===t?o.value:I(i,e.top)}`;L.list=[`${n} ${r}${l||""}`,`时间 ${A(e.left).slice(-5)}`],L.show=!0}function se(e){e.setCoords();const t=6e4/$,n=e.prevPoint?e.prevPoint.left+t:j,i=E;e.top<X&&e.set("top",X),e.top>M&&e.set("top",M),e.left<n&&e.set("left",n),e.left>i&&e.set("left",i)}function fe(e,t){if(u(e)&&function(e){const t=Date.parse(m(Y.list)),n=d(e);return n>=S&&n<=t}(e.time)){const n=b(e.time),i=w(t.type,t.range,e.value);return[n,i<X?X:i>M?M:i]}}function ce(){return g(Array.from(D.values()))}return e((()=>{B()})),Q(),function(){if(!V.evented)return;let e=!1,i={x:0,y:0};h.value.on("mouse:up",(t=>{if(3===t.button&&function(e){const{x:t=0,y:n=0}=e.pointer||{};if(t>=j&&t<=E&&n>=X&&n<=M)if(e.target){if("main"!==e.target.__type)return;i(e.pointer,e.target,["删除节点"]);const{minLeft:t,maxLeft:n,minTop:o,maxTop:l}=f(e.target);ce().forEach((i=>{"main"===i.__type&&i.left>t&&i.left<n&&i.top>o&&i.top<l&&P.list.push({renderItem:()=>i.origin.title,origin:{...i.origin},mode:"remove",pointer:e.pointer})})),1===P.list.length&&(P.show=!1,console.log("当前时间段内无可删除节点"))}else i(e.pointer,null,["新增节点"]),F.forEach((n=>{q(ce(),t,"key",2*C).includes(n.linkKey||n.key)||P.list.push({renderItem:()=>n.title,origin:{title:n.title,unit:n.unit,type:n.bigType,dataIndex:n.dataIndex,key:n.key,linkKey:n.linkKey},pointer:e.pointer})})),1===P.list.length&&(P.show=!1,R("repeat"),console.log("当前时间段内无可新增节点"));function i(e,t,n){Object.assign(P,{point:e,show:!0,target:t,list:n})}}(t),1===t.button&&e){e=!1;const t=U();t.length>0?Z((()=>{const e=function(e){const t=e.reduce(((e,t)=>{const{key:n}=t.origin;return e[n]=e[n]?e[n].concat(t.origin):[t.origin],e}),{});return Object.keys(t).map((e=>{const n=t[e].sort(((e,t)=>Date.parse(e.data.time)-Date.parse(t.data.time)));return oe(n[0],"remove",n.length),n.map((e=>({...v(e,["selfKey","lineAttr"]),key:e.selfKey})))}))}(t);x("remove",e)})):a.emit(G)}})),h.value.on("mouse:down",(t=>{1!==t.button||t.target||(e=!0,i=t.pointer)})),h.value.on("mouse:move",(o=>{if(!e)return;const{x:l,y:r}=i,{x:a,y:s}=o.pointer;G&&h.value.remove(G),G=new t.Rect({...n,fill:"#CAF982",opacity:.4,...K,left:l,top:r,width:a-l,height:s-r,objectCaching:!0}),G.areaPos={startPos:i,endPos:o.pointer},h.value.add(G)}))}(),{redrawPoints:le,clickMenu:function({item:e,target:t}){const n={...e.origin};"remove"===e.mode?(x("remove",n),oe(n,"remove")):(Object.assign(n,{data:{time:A(e.pointer.x),value:I(e.origin.type,e.pointer.y),...e.origin.linkKey?{key:e.origin.key}:{}}}),x("add",n),oe({...n,key:e.origin.linkKey||e.origin.key}))},moveLimit:se,setPopup:ae,updateData:oe,getGridPoints:ce,getContainPoints:U,showDialog:Z,removeCurrentSelection:ee}}export{h as useCenter};
1
+ import{onUnmounted as e}from"vue";import{fabric as t}from"../../../../../shared/utils/fabricjs/index.js";import{defaultStyle as n,drawLine as i,drawPoint as o}from"../useDraw.js";import{useGrid as l}from"../useGrid.js";import{useBirthProcessCumputedPoint as r}from"../useCumputedPoint.js";import{bus as a}from"../useEvent.js";import{useCommon as s}from"../useCommon.js";import{getPointRange as f,getIndex as c,isEffectiveNode as u,getTime as d}from"../../utils/index.js";import{cloneDeep as p,last as m,omit as v,flatten as g}from"lodash-es";import"date-fns";import"../temperature/useShadow.js";import"naive-ui";import{useIntervalFn as y}from"@vueuse/core";function h(h,k,x,L,P){const{computedX:w,computedY:b,getXValue:A,getYValue:I}=r(k),{xCellWidth:C,pointSelectionStyle:K,originX:j,endX:E,originY:X,endY:V,event:T,scaleValues:M,xAxis:S,startTime:Y,timeXCell:$,itemList:F,dialog:O}=k,D=new Map,_=new Set,z=p(M);let N=[],G=null;const J=new Set;l(h,k);const{getEqualXTypes:q,handleAddPrevent:R,setPrevAndNextPoint:W,getPointEventProps:B}=s(h,x,k),{pause:H,resume:Q}=y((()=>{!function(){if(!J.size)return;for(const e of J)e.set("opacity",1===e.opacity?.5:1);h.value.renderAll()}()}),800);function U(){z.forEach((e=>{const{range:t=[],spaceValue:n}=e;n&&(t[0]||t[1])&&e.dataList.forEach(((t,n)=>{t.show&&(!function(e,t){const{max:n={},min:o={}}=e.panicValue||{},{max:l={},min:r={}}=e.diffValue||{};function a({show:e=!1,value:n,name:o,lineStyle:l}){if(!e||!n)return;const r=b(t.type,t.range,n),a=i([j,r,E,r],{...l,evented:!0,lockMovementX:!0,lockMovementY:!0,hoverCursor:"pointer"});T.hovered&&o&&(a.on("mousemove",(({pointer:e})=>{L.point={...e||{x:a.left,y:a.top}},L.list=[`${o} ${n}${t.unit||""}`],L.show=!0})),a.on("mouseout",(()=>{L.show=!1}))),h.value.add(a)}a(n),a(o),a(l),a(r)}(t,e),ne(t,n,e))}))}))}function Z(e=[]){if(!(null==G?void 0:G.areaPos))return[];const{startPos:t,endPos:n}=G.areaPos,[i,o]=[t.x,n.x].sort(((e,t)=>e-t)),[l,r]=[t.y,n.y].sort(((e,t)=>e-t));return(e.length?e:ue()).filter((e=>e.left>=i&&e.left<=o&&e.top>=l&&e.top<=r))}function ee(e){O.warning({maskClosable:!1,closeOnEsc:!1,title:"警告",content:"确认删除当前选中的节点?",positiveText:"确定",negativeText:"取消",onPositiveClick:()=>{e(),te()},onNegativeClick:()=>te(),onClose:()=>te()})}function te(){G&&h.value.remove(G),G=null}function ne(e,t,n){var l;const{type:r,unit:a,dataList:s=[]}=n,f=[];D.set(e.key,[]),function(e,t){J.size&&[...J].forEach((n=>{const{dataIndex:i,type:o}=n.origin;i===t&&o===e&&J.delete(n)}))}(r,t),null==(l=e.list)||l.forEach(((l,c)=>{!function(e,l,c,u){var d;let p,g,y=u;l.key&&(y=s.find((e=>e.key===l.key)));const{pointAttr:k={},lineAttr:P={},title:w="",key:b,type:K="circle"}=y,j=ce(u.list[c+1],n);e&&j&&!l.breakpoint&&e[0]!==j[0]&&(g=i([...e,...j],P));const E=f[c-1],X={origin:{data:l,title:w,key:u.key,selfKey:b,unit:a,type:r,dataIndex:t,index:c,lineAttr:P},__type:"main",leftLine:E,rightLine:g,...k,...B()};e&&(E||(X.leftLine=null),p=o(K,{left:e[0],top:e[1],...X}));f.push(g),p&&(p.originLeft=p.left,p.originTop=p.top,function(e){T.hovered&&(e.on("mouseover",(()=>{se(e,"hover")})),e.on("mouseout",(()=>{L.show=!1})));if(e.lockMovementX&&e.lockMovementY)return;e.on("moving",(()=>{fe(e),function(e){var t,n;null==(t=e.leftLine)||t.setCoords().set({x2:e.left,y2:e.top}),null==(n=e.rightLine)||n.setCoords().set({x1:e.left,y1:e.top})}(e),T.hovered&&se(e),function(e){var t,n,i,o;const{originLeft:l,originTop:r,left:a,top:s,origin:f}=e,c=~~((a-l)/C);if(a>l+C){if(0===N.length){oe(e,[...e.leftLine?[e.leftLine.x1,e.leftLine.y1]:[l,r],l,r]),null==(n=null==(t=e.leftLine)?void 0:t.set)||n.call(t,"stroke","transparent"),null==(o=null==(i=e.rightLine)?void 0:i.set)||o.call(i,"stroke","transparent")}const u=l+C*c;if(N.every((e=>e.left!==u))){const t=A(u),n=I(f.type,s);N.push({data:{time:t,value:n,...f.selfKey!==f.key?{key:f.selfKey}:{}},left:u,top:s}),oe(e,[...e.prevPointer,u,s])}if(N.length<c&&function(e,t){const{originLeft:n,originTop:i,origin:o}=e;let l=1;for(;l<=t;){const t=n+C*l,r=N.some((e=>Math.abs(e.left-t)<=1));if(!r){let l=0;const r=N.find(((e,n)=>(e.left>t&&(l=n),e.left>t)));if(r){const a=JSON.parse(JSON.stringify(r)),s=N[l-1]||{left:n,top:i},f=~~((r.left-(t-C))/C),c=(r.top-s.top)/f;a.top=s.top+c,a.left=t,a.data={time:A(t),value:I(o.type,a.top),...o.selfKey!==o.key?{key:o.selfKey}:{}},N.splice(l,0,a),oe(e,[s.left,s.top,a.left,a.top])}}l++}}(e,c),e.nextPoint){const t=D.get(f.key);!function(e,t){const{left:n,top:i,origin:o}=t,l=C/2,r=e.findIndex((e=>Math.abs(n-e.left)<l&&Math.abs(i-e.top)<l&&o.index!==e.origin.index));r>-1?(t.set({scaleX:2.5,scaleY:2.5}),t.coincidePoint=e[r]):t.set({scaleX:t.scale,scaleY:t.scale})}(t,e),null==t||t.forEach((e=>{e.left<=l||f.index===e.origin.index||(e.left<a?ie(e,"#999"):ie(e,e.origin.lineAttr.stroke))}))}}!function(e){var t,n;const{left:i}=e;if(N.length>0&&i<N[N.length-1].left){for(const e of _)e.left>i&&(e.leftLine&&h.value.remove(e.leftLine),h.value.remove(e));if(N=N.filter((e=>e.left<=i)),0===N.length){null==(n=null==(t=e.leftLine)?void 0:t.set)||n.call(t,e.origin.lineAttr);for(const e of _)e.leftLine&&h.value.remove(e.leftLine),h.value.remove(e)}if(N.length>0){const t=m(N);e.prevPointer=[t.left,t.top]}}}(e)}(e)})),e.on("mouseup",(t=>{if(L.show=!1,1===t.button){const{type:t,selfKey:n,dataIndex:i}=e.origin,o={...e.origin,data:{...e.origin.data,time:A(e.left),value:I(t,e.top)}};if(h.value.discardActiveObject(),N.length>0){const l=z.find((e=>e.type===t));let r=-1;const a=N.map((e=>e.data));if(e.nextPoint){if(2.5!==e.scaleX)return void re({dataIndex:i,scaleValue:l});const t=e.coincidePoint.origin,n=t.data;r=t.index;const o=a.findIndex((e=>e.time===n.time));o>-1?a[o].value=n.value:a.push({...m(a),time:n.time,value:n.value})}const s=l.dataList.findIndex((e=>e.key===n));x("add",{...v(o,["index","selfKey","lineAttr"]),dataIndex:s,key:n,data:a}),le({...o,data:a,coincideIndex:r})}else x("change",{...v(o,["selfKey","lineAttr"]),key:n}),le(o,"change")}}))}(p),null==(d=D.get(u.key))||d.push(p))}(ce(l,n),l,c,e)})),Promise.all(D.get(e.key)).then((t=>{const n=f.filter((e=>e));W(t),h.value.add(...n,...t),function(e,t){const{max:n={},min:i={}}=t.panicValue||{},{max:o={},min:l={}}=t.diffValue||{};function r({show:t=!1,value:n,flickerable:i},o){!t&&n&&i&&e.forEach((e=>{const t=e.origin.data.value;"max"===o&&t<n||"min"===o&&t>n||J.add(e)}))}r(n,"max"),r(i,"min"),r(o,"max"),r(l,"min")}(t,e)}))}function ie(e,t){["stroke","fill"].forEach((n=>{const i=e[n];i&&!["transparent","#fff","#ffffff","#FFFFFF"].includes(i)&&i!==t&&e.set(n,t)})),e.rightLine&&e.rightLine.stroke!==t&&e.rightLine.set("stroke",t)}function oe(e,t){const[,,n,o]=t;e.clone((l=>{l.set({left:n,top:o,scaleX:1,scaleY:1}),e.prevPointer=[n,o];const r=i(t,e.origin.lineAttr);l.leftLine=r,_.add(l),h.value.add(r,l)}))}function le(e,t="add",n=1){const{data:i,index:o,key:l,type:r,coincideIndex:a}=e;let{dataIndex:s}=e;const f=z.find((e=>e.type===r)),u=f.dataList.find(((e,t)=>(s=t,e.key===l)));switch(t){case"remove":u.list.splice(o,n),u.list[o-1]&&(u.list[o-1].breakpoint=!0);break;case"change":u.list[o]=i;break;default:{const e=Array.isArray(i)?i[0].time:i.time,t=c(e,u.list),n=Array.isArray(i)?i:[i];u.list.splice(t,a>-1?a-t+1:0,...n);break}}re({dataIndex:s,scaleValue:f})}function re(e){var t,n,i;if(_.size&&(null==(t=h.value)||t.remove(...ae([..._]))),_.clear(),N=[],e){const{dataIndex:t,scaleValue:i}=e,o=i.dataList[t];null==(n=h.value)||n.remove(...ae(D.get(o.key))),D.delete(o.key),ne(o,t,i)}else D.size&&(null==(i=h.value)||i.remove(...ae(ue()))),D.clear(),U()}function ae(e){const t=[];return e.forEach((e=>{e&&t.push(e),(null==e?void 0:e.leftLine)&&t.push(null==e?void 0:e.leftLine),(null==e?void 0:e.rightLine)&&t.push(null==e?void 0:e.rightLine)})),t}function se(e,t="moving"){const{title:n,type:i,data:o,unit:l}=e.origin;L.point={x:e.left,y:e.top};const r=`${"hover"===t?o.value:I(i,e.top)}`;L.list=[`${n} ${r}${l||""}`,`时间 ${A(e.left).slice(-5)}`],L.show=!0}function fe(e){e.setCoords();const t=6e4/$,n=e.prevPoint?e.prevPoint.left+t:j,i=E;e.top<X&&e.set("top",X),e.top>V&&e.set("top",V),e.left<n&&e.set("left",n),e.left>i&&e.set("left",i)}function ce(e,t){if(u(e)&&function(e){const t=Date.parse(m(S.list)),n=d(e);return n>=Y&&n<=t}(e.time)){const n=w(e.time),i=b(t.type,t.range,e.value);return[n,i<X?X:i>V?V:i]}}function ue(){return g(Array.from(D.values()))}return e((()=>{H()})),U(),function(){if(!T.evented)return;let e=!1,i={x:0,y:0};h.value.on("mouse:up",(t=>{if(3===t.button&&function(e){const{x:t=0,y:n=0}=e.pointer||{};if(t>=j&&t<=E&&n>=X&&n<=V)if(e.target){if("main"!==e.target.__type)return;i(e.pointer,e.target,["删除节点"]);const{minLeft:t,maxLeft:n,minTop:o,maxTop:l}=f(e.target);ue().forEach((i=>{"main"===i.__type&&i.left>t&&i.left<n&&i.top>o&&i.top<l&&P.list.push({renderItem:()=>i.origin.title,origin:{...i.origin},mode:"remove",pointer:e.pointer})})),1===P.list.length&&(P.show=!1,console.log("当前时间段内无可删除节点"))}else i(e.pointer,null,["新增节点"]),F.forEach((n=>{q(ue(),t,"key",2*C).includes(n.linkKey||n.key)||P.list.push({renderItem:()=>n.title,origin:{title:n.title,unit:n.unit,type:n.bigType,dataIndex:n.dataIndex,key:n.key,linkKey:n.linkKey},pointer:e.pointer})})),1===P.list.length&&(P.show=!1,R("repeat"),console.log("当前时间段内无可新增节点"));function i(e,t,n){Object.assign(P,{point:e,show:!0,target:t,list:n})}}(t),1===t.button&&e){e=!1;const t=Z();t.length>0?ee((()=>{const e=function(e){const t=e.reduce(((e,t)=>{const{key:n}=t.origin;return e[n]=e[n]?e[n].concat(t.origin):[t.origin],e}),{});return Object.keys(t).map((e=>{const n=t[e].sort(((e,t)=>Date.parse(e.data.time)-Date.parse(t.data.time)));return le(n[0],"remove",n.length),n.map((e=>({...v(e,["selfKey","lineAttr"]),key:e.selfKey})))}))}(t);x("remove",e)})):a.emit(G)}})),h.value.on("mouse:down",(t=>{1!==t.button||t.target||(e=!0,i=t.pointer)})),h.value.on("mouse:move",(o=>{if(!e)return;const{x:l,y:r}=i,{x:a,y:s}=o.pointer;G&&h.value.remove(G),G=new t.Rect({...n,fill:"#CAF982",opacity:.4,...K,left:l,top:r,width:a-l,height:s-r,objectCaching:!0}),G.areaPos={startPos:i,endPos:o.pointer},h.value.add(G)}))}(),{redrawPoints:re,clickMenu:function({item:e,target:t}){const n={...e.origin};"remove"===e.mode?(x("remove",n),le(n,"remove")):(Object.assign(n,{data:{time:A(e.pointer.x),value:I(e.origin.type,e.pointer.y),...e.origin.linkKey?{key:e.origin.key}:{}}}),x("add",n),le({...n,key:e.origin.linkKey||e.origin.key}))},moveLimit:fe,setPopup:se,updateData:le,getGridPoints:ue,getContainPoints:Z,showDialog:ee,removeCurrentSelection:te}}export{h as useCenter};
@@ -1 +1 @@
1
- import{fabric as t}from"../../../../../shared/utils/fabricjs/index.js";import{drawPoint as e,drawText as i}from"../useDraw.js";import{useBirthProcessCumputedPoint as o}from"../useCumputedPoint.js";import{bus as n}from"../useEvent.js";import{useCommon as r}from"../useCommon.js";import"vue";import{getIndex as a}from"../../utils/index.js";import{cloneDeep as l,flatten as s}from"lodash-es";import"date-fns";import"../temperature/useShadow.js";import{OTHER_MENU as d}from"../../constants/index.js";import"naive-ui";import"@vueuse/core";function c(c,u,f,h,m,g,p,v,x){const{computedX:k,getXValue:y}=o(u),{getEqualXTypes:X,handleAddPrevent:b,isGridLimit:w}=r(c,f,u),{other:P,yCellHeight:j,xCellWidth:z,endX:C,originX:E,originY:A,endY:L,markHeight:M,event:S,topGridYCellHeight:I}=u,T=new Map,H=l(P);function W(){var o;if(!(null==(o=null==H?void 0:H.horizontal)?void 0:o.length))return;const n="horizontal";T.set(n,[]);const{horizontal:r}=H;let a=A+j/2;r.forEach(((o,r)=>{const{title:l,type:s,pointAttr:d={},textStyle:u={},data:f}=o;let h=null;f.forEach(((o,f)=>{const{time:m,value:g}=o,p=k(m);if(!D(p))return;const v=e(s,{...d,left:p,top:a}),x=p+v.width/2+2,y=i([x,a],{value:g,...u,originX:"left"}),X=new t.Group([v,y],{lockMovementY:!0,objectCaching:!1,hasControls:!1,hasBorders:!1,hoverCursor:"pointer"});Object.assign(X,{originLeft:p,iconHalfWidth:v.width/2,origin:{type:"other",key:n,dataIndex:r,index:f,data:o,title:l},limitX:{x1:E,x2:C-X.width}}),h&&(X.limitX.x1=h.left,h.limitX.x2=X.left,X.prevPoint=h,h.nextPoint=X),h=X,q(X),T.get(n).push(X),c.value.add(X)})),a+=j}))}function Y(){var t;if(!(null==(t=null==H?void 0:H.vertical)?void 0:t.length))return;const i="vertical";T.set(i,[]);const{vertical:o}=H;o.forEach(((t,o)=>{const{show:n=!0,marginTop:r=0,textStyle:a={},data:l,time:s}=t,d=k(s);if(!n||!D(d))return;const{lineHeight:u=j}=a;let f=A+r+u/2;l.forEach(((t,n)=>{const r=e(String(t),{...a,lockMovementY:!0,left:d,originX:"left",top:f,origin:{type:"other",key:i,dataIndex:o,index:n,data:{value:t}}});f+=u,q(r),T.get(i).push(r),c.value.add(r)}));const h=T.get(i).filter((t=>t.origin.dataIndex===o)),m=Math.max(...h.map((t=>t.width))),g=d>C-m;h.forEach(((t,e,i)=>{t.siblingPoints=i.filter((e=>e.origin.index!==t.origin.index)),t.maxTextWidth=m,g&&t.setCoords().set("originX","right")}))}))}function V(t,e="add"){const{dataIndex:i,data:o,index:n,key:r}=t,l=H[r],s=["mark"].includes(r)?l.dataList[i]:l[i];switch(e){case"remove":s.data.splice(n,1);break;case"change":s.data[n]=o;break;default:{const t=Array.isArray(o)?o[0].time:o.time,e=a(t,s.data),i=Array.isArray(o)?o:[o];s.data.splice(e,0,...i);break}}G(t)}function G(t){var e;const{key:i}=t;switch(null==(e=c.value)||e.remove(...T.get(i)),T.delete(i),i){case"horizontal":W();break;case"vertical":Y();break;case"mark":O()}}function O(){if(!(null==P?void 0:P.mark)||!M)return;const{title:t,titleStyle:o,pointAttr:n,dataList:r}=P.mark,a=i([E-5,L+M/2],{value:t,...o,originX:"right"});c.value.add(a);const l=L+M,s=[];r.forEach((t=>{const{time:i,list:o=[]}=t,r=k(i);if(!D(r))return;let a=L;o.forEach((t=>{let i=!1;const o=e("circleAndText",{...n,text:t.text,left:r,top:a,origin:{data:t,key:"mark",type:"other"}}),d=o.height;a+d<=l&&a>=L?(o.set("top",a+d/2),a+=d):(i||(a=L,i=!0),o.set("top",a-d/2),a-=d),s.push(o),q(o),c.value.add(o)}))})),function(t){const e=t=>{var e,i;return null==(i=null==(e=t.origin)?void 0:e.data)?void 0:i.isStart},i=t.find((t=>e(t))),o=t.find((t=>!e(t)&&t.left>i.left)),n=t.filter((t=>!e(t)));t.forEach((t=>{const r={x1:E,x2:C};e(t)?(r.x2=o.left,t.otherPoints=n):(r.x1=i.left,t.startPoint=i),t.limitX=r}))}(s)}function q(t){if(S.hovered&&(t.on("mouseover",(()=>{B(t)})),t.on("mouseout",(()=>{h.show=!1}))),!S.evented)return;const{key:e}=t.origin,i=["mark","horizontal"].includes(e),o=["mark","vertical"].includes(e);t.on("moving",(()=>{i?function(t){const e=t.origin.key,i="horizontal"===e;t.setCoords(),t.left<t.limitX.x1&&t.set("left",t.limitX.x1+(i?1:0));t.left>t.limitX.x2&&t.set("left",t.limitX.x2+(i?-1:0));if("mark"===e){t.top<A&&t.set("top",A);const e=L+M-t.height/2;t.top>e&&t.set("top",e)}i&&(t.originLeft=t.left+t.iconHalfWidth)}(t):(g(t),function(t){const e=t.left+t.maxTextWidth>C?"right":"left";t.setCoords().set({originX:e}),t.siblingPoints.forEach((i=>i.setCoords().set({originX:e,left:t.left})))}(t)),S.hovered&&B(t)})),t.on("mouseup",(n=>{var r;if(h.show=!1,1===n.button){i&&function(t){var e,i;if("mark"===t.origin.key){if((null==(i=null==(e=t.origin)?void 0:e.data)?void 0:i.isStart)&&t.otherPoints)t.otherPoints.forEach((e=>{e.limitX.x1=t.left}));else{const e=t.startPoint.otherPoints.map((t=>t.left)),i=Math.min(...e);t.startPoint.limitX.x2=i}return}t.prevPoint&&(t.prevPoint.limitX.x2=t.left);t.nextPoint&&(t.nextPoint.limitX.x1=t.left)}(t);const e=y(null!=(r=t.originLeft)?r:t.left),n={...t.origin,...o?{time:e}:{data:{...t.origin.data,time:e}}};c.value.discardActiveObject(),f("change",n)}3===n.button&&["horizontal","vertical"].includes(e)&&(m.point={x:t.left,y:t.top},m.show=!0,m.target=t,m.list=d.map((t=>({...t,renderItem:()=>t.label}))))}))}function B(t){h.point={x:t.left,y:"mark"===t.origin.key?t.top:t.top+I/2};const e=!t.origin.isMenu&&t.originLeft?t.originLeft:t.left;h.list=[`时间 ${y(e).slice(-5)}`],"mark"===t.origin.key&&h.list.unshift(t.origin.data.name+" "),h.show=!0}function D(t){return t>=E&&t<=C}return function(){var t;if(!(null==(t=null==H?void 0:H.horizontal)?void 0:t.length))return;const{horizontal:i}=H,o=E-5;let n=A+j/2;i.forEach(((t,i)=>{const{title:r,titleStyle:a={},defaultAddValue:l}=t,s=r&&e(r,{...a,originX:"right",left:o,top:n,origin:{defaultAddValue:l,dataIndex:i,type:"other",key:"horizontal",title:r,isMenu:!0},originLeft:o,originTop:n});var d;(d=s).on("moving",(()=>{d.set("originX","center"),w(d)?B(d):h.show=!1})),d.on("mouseup:before",(t=>{if(h.show=!1,0===t.e.button&&w(d))if(X(T.get("horizontal"),d.left,"key",z).includes(d.origin.key))b("repeat"),console.log("重复节点");else{const t={data:{time:y(d.left),value:d.origin.defaultAddValue},...d.origin};f("add",t),V(t)}!function(t){t.setCoords().set({originX:"right",left:t.originLeft,top:t.originTop})}(d)})),c.value.add(s),n+=j}))}(),W(),Y(),O(),n.on((()=>{const t="horizontal",e=p(T.get(t));e.length>0?v((()=>{const i=function(t){const e=t.reduce(((t,e)=>{const{dataIndex:i}=e.origin;return t[i]=t[i]?t[i].concat(e.origin):[e.origin],t}),{});return s(Object.keys(e).map((t=>{const i=e[t];return H.horizontal[t].data.splice(i[0].index,i.length),i})))}(e);G({key:t}),f("remove",i)})):x()})),{clickMenu:function({item:t,target:e}){if(!e)return;const{type:i}=t,o={...e.origin,type:"other"};f(i,o),"remove"===i&&V(o,i)}}}export{c as useOther};
1
+ import{fabric as t}from"../../../../../shared/utils/fabricjs/index.js";import{drawPoint as e,drawText as i}from"../useDraw.js";import{useBirthProcessCumputedPoint as o}from"../useCumputedPoint.js";import{bus as n}from"../useEvent.js";import{useCommon as r}from"../useCommon.js";import"vue";import{getIndex as a}from"../../utils/index.js";import{cloneDeep as l,flatten as s}from"lodash-es";import"date-fns";import"../temperature/useShadow.js";import{OTHER_MENU as d}from"../../constants/index.js";import"naive-ui";import"@vueuse/core";function c(c,u,f,h,g,m,p,v,x){const{computedX:k,getXValue:y}=o(u),{getEqualXTypes:X,handleAddPrevent:P,isGridLimit:b,getPointEventProps:w}=r(c,f,u),{other:E,yCellHeight:j,xCellWidth:z,endX:A,originX:C,originY:L,endY:M,markHeight:S,event:I,topGridYCellHeight:T}=u,H=new Map,W=l(E);function Y(){var o;if(!(null==(o=null==W?void 0:W.horizontal)?void 0:o.length))return;const n="horizontal";H.set(n,[]);const{horizontal:r}=W;let a=L+j/2;r.forEach(((o,r)=>{const{title:l,type:s,pointAttr:d={},textStyle:u={},data:f}=o;let h=null;f.forEach(((o,f)=>{const{time:g,value:m}=o,p=k(g);if(!$(p))return;const v=e(s,{...d,left:p,top:a}),x=p+v.width/2+2,y=i([x,a],{value:m,...u,originX:"left"}),X=new t.Group([v,y],{lockMovementY:!0,objectCaching:!1,hasControls:!1,hasBorders:!1,hoverCursor:"pointer"});Object.assign(X,{originLeft:p,iconHalfWidth:v.width/2,origin:{type:"other",key:n,dataIndex:r,index:f,data:o,title:l},limitX:{x1:C,x2:A-X.width}}),h&&(X.limitX.x1=h.left,h.limitX.x2=X.left,X.prevPoint=h,h.nextPoint=X),h=X,B(X),H.get(n).push(X),c.value.add(X)})),a+=j}))}function V(){var t;if(!(null==(t=null==W?void 0:W.vertical)?void 0:t.length))return;const i="vertical";H.set(i,[]);const{vertical:o}=W;o.forEach(((t,o)=>{const{show:n=!0,marginTop:r=0,textStyle:a={},data:l,time:s}=t,d=k(s);if(!n||!$(d))return;const{lineHeight:c=j}=a;let u=L+r+c/2;l.forEach(((t,n)=>{const r=e(String(t),{...a,lockMovementY:!0,left:d,originX:"left",top:u,origin:{type:"other",key:i,dataIndex:o,index:n,data:{value:t}},...w()});u+=c,B(r),H.get(i).push(r)}));const f=H.get(i).filter((t=>t.origin.dataIndex===o)),h=Math.max(...f.map((t=>t.width))),g=d>A-h;f.forEach(((t,e,i)=>{t.siblingPoints=i.filter((e=>e.origin.index!==t.origin.index)),t.maxTextWidth=h,g&&t.set("originX","right")}))})),c.value.add(...H.get(i))}function G(t,e="add"){const{dataIndex:i,data:o,index:n,key:r}=t,l=W[r],s=["mark"].includes(r)?l.dataList[i]:l[i];switch(e){case"remove":s.data.splice(n,1);break;case"change":s.data[n]=o;break;default:{const t=Array.isArray(o)?o[0].time:o.time,e=a(t,s.data),i=Array.isArray(o)?o:[o];s.data.splice(e,0,...i);break}}O(t)}function O(t){var e;const{key:i}=t;switch(null==(e=c.value)||e.remove(...H.get(i)),H.delete(i),i){case"horizontal":Y();break;case"vertical":V();break;case"mark":q()}}function q(){if(!(null==E?void 0:E.mark)||!S)return;const{title:t,titleStyle:o,pointAttr:n,dataList:r}=E.mark,a=i([C-5,M+S/2],{value:t,...o,originX:"right"});c.value.add(a);const l=M+S,s=[];r.forEach((t=>{const{time:i,list:o=[]}=t,r=k(i);if(!$(r))return;let a=M;o.forEach((t=>{let i=!1;const o=e("circleAndText",{...n,text:t.text,left:r,top:a,origin:{data:t,key:"mark",type:"other"}}),d=o.height;a+d<=l&&a>=M?(o.set("top",a+d/2),a+=d):(i||(a=M,i=!0),o.set("top",a-d/2),a-=d),s.push(o),B(o),c.value.add(o)}))})),function(t){const e=t=>{var e,i;return null==(i=null==(e=t.origin)?void 0:e.data)?void 0:i.isStart},i=t.find((t=>e(t))),o=t.find((t=>!e(t)&&t.left>i.left)),n=t.filter((t=>!e(t)));t.forEach((t=>{const r={x1:C,x2:A};e(t)?(r.x2=o.left,t.otherPoints=n):(r.x1=i.left,t.startPoint=i),t.limitX=r}))}(s)}function B(t){if(I.hovered&&(t.on("mouseover",(()=>{D(t)})),t.on("mouseout",(()=>{h.show=!1}))),!I.evented)return;const{key:e}=t.origin,i=["mark","horizontal"].includes(e),o=["mark","vertical"].includes(e);t.on("moving",(()=>{i?function(t){const e=t.origin.key,i="horizontal"===e;t.setCoords(),t.left<t.limitX.x1&&t.set("left",t.limitX.x1+(i?1:0));t.left>t.limitX.x2&&t.set("left",t.limitX.x2+(i?-1:0));if("mark"===e){t.top<L&&t.set("top",L);const e=M+S-t.height/2;t.top>e&&t.set("top",e)}i&&(t.originLeft=t.left+t.iconHalfWidth)}(t):(m(t),function(t){const e=t.left+t.maxTextWidth>A?"right":"left";t.setCoords().set({originX:e}),t.siblingPoints.forEach((i=>i.setCoords().set({originX:e,left:t.left})))}(t)),I.hovered&&D(t)})),t.on("mouseup",(n=>{var r;if(h.show=!1,1===n.button){i&&function(t){var e,i;if("mark"===t.origin.key){if((null==(i=null==(e=t.origin)?void 0:e.data)?void 0:i.isStart)&&t.otherPoints)t.otherPoints.forEach((e=>{e.limitX.x1=t.left}));else{const e=t.startPoint.otherPoints.map((t=>t.left)),i=Math.min(...e);t.startPoint.limitX.x2=i}return}t.prevPoint&&(t.prevPoint.limitX.x2=t.left);t.nextPoint&&(t.nextPoint.limitX.x1=t.left)}(t);const e=y(null!=(r=t.originLeft)?r:t.left),n={...t.origin,...o?{time:e}:{data:{...t.origin.data,time:e}}};c.value.discardActiveObject(),f("change",n)}3===n.button&&["horizontal","vertical"].includes(e)&&(g.point={x:t.left,y:t.top},g.show=!0,g.target=t,g.list=d.map((t=>({...t,renderItem:()=>t.label}))))}))}function D(t){h.point={x:t.left,y:"mark"===t.origin.key?t.top:t.top+T/2};const e=!t.origin.isMenu&&t.originLeft?t.originLeft:t.left;h.list=[`时间 ${y(e).slice(-5)}`],"mark"===t.origin.key&&h.list.unshift(t.origin.data.name+" "),h.show=!0}function $(t){return t>=C&&t<=A}return function(){var t;if(!(null==(t=null==W?void 0:W.horizontal)?void 0:t.length))return;const{horizontal:i}=W,o=C-5;let n=L+j/2;i.forEach(((t,i)=>{const{title:r,titleStyle:a={},defaultAddValue:l}=t,s=r&&e(r,{...a,originX:"right",left:o,top:n,origin:{defaultAddValue:l,dataIndex:i,type:"other",key:"horizontal",title:r,isMenu:!0},originLeft:o,originTop:n});var d;(d=s).on("moving",(()=>{d.set("originX","center"),b(d)?D(d):h.show=!1})),d.on("mouseup:before",(t=>{if(h.show=!1,0===t.e.button&&b(d))if(X(H.get("horizontal"),d.left,"key",z).includes(d.origin.key))P("repeat"),console.log("重复节点");else{const t={data:{time:y(d.left),value:d.origin.defaultAddValue},...d.origin};f("add",t),G(t)}!function(t){t.setCoords().set({originX:"right",left:t.originLeft,top:t.originTop})}(d)})),c.value.add(s),n+=j}))}(),Y(),V(),q(),n.on((()=>{const t="horizontal",e=p(H.get(t));e.length>0?v((()=>{const i=function(t){const e=t.reduce(((t,e)=>{const{dataIndex:i}=e.origin;return t[i]=t[i]?t[i].concat(e.origin):[e.origin],t}),{});return s(Object.keys(e).map((t=>{const i=e[t];return W.horizontal[t].data.splice(i[0].index,i.length),i})))}(e);O({key:t}),f("remove",i)})):x()})),{clickMenu:function({item:t,target:e}){if(!e)return;const{type:i}=t,o={...e.origin,type:"other"};f(i,o),"remove"===i&&G(o,i)}}}export{c as useOther};
@@ -1 +1 @@
1
- import{fabric as e}from"../../../../../shared/utils/fabricjs/index.js";import{useShadow as t}from"./useShadow.js";import{drawLine as i,defaultStyle as n,drawPoint as o,drawText as l,drawArrow as s}from"../useDraw.js";import{useGrid as r}from"../useGrid.js";import"date-fns";import{isOneLine as u,getType as a,isOverlapPoint as c,getFloorNumber as d,isValidValue as p,setOtherType as f,isEffectiveNode as h,getTime as v,getIndex as g,deleteProperty as y}from"../../utils/index.js";import{cloneDeep as m,flatten as x,last as b}from"lodash-es";import"../useEvent.js";import{useCommon as j}from"../useCommon.js";import"vue";import"naive-ui";import"@vueuse/core";import{TEMPERATURE_MENU as w,PAIN_MENU as L,OVERLAP as k}from"../../constants/index.js";function S(S,E,M,$,O,C,P,A,I,R){r(S,E);const{getEqualXTypes:T,handleAddPrevent:V}=j(S,M,E),{createShadowLines:X}=t(),{left:z,xScaleList:D,xCellWidth:F,yCellHeight:H,originX:_,endX:W,originY:q,endY:G,itemList:B,event:J,vitalSignsOriginY:K,painOriginY:N,hospitalizationDate:Q,config:U,canvasHeight:Z}=E,ee=new Set,te=["xinmai","mai"],ie=new Map,ne=new Set,oe=new Set,le=new Set,se=m(z.yScaleValue);function re(t){var o;const l=se.find((e=>"pulse"===e.type));if(l&&(null==(o=l.dataList)?void 0:o.length)&&(ee.size&&S.value.remove(...ee),ee.clear(),ie.size>1)){if(t){const{type:e,key:i}=t.origin||{};if("pulse"===e){const e=ie.get(i),n=null==e?void 0:e.findIndex((e=>e[0]===t.left));e.splice(n,1,[t.left,t.top])}}const o=function(){const e=[],t=[],i=[];for(const e of ie)t.push(e[1]),e[0]===te[0]&&e[1].forEach((e=>{(ie.get(te[1])||[]).findIndex((t=>t[0]===e[0]))>-1&&i.push(e[0])}));const[n,o]=t;let l=[],s=[];return i.forEach((t=>{const i=n.findIndex((e=>e[0]===t)),r=o.findIndex((e=>e[0]===t)),u=n[i],a=o[r],c=n[i-1],d=n[i+1],p=o[r-1],f=o[r+1];if(c&&p){if(c[0]!==p[0]){const e=Math.max(c[0],p[0]);l.push([c,p].find((t=>t[0]===e)))}}else c?l.push(c):p&&s.push(p);const h=Math.min(u[1],a[1]);l.push([u,a].find((e=>e[1]===h)));const v=Math.max(u[1],a[1]);s.push([u,a].find((e=>e[1]===v)));const g=()=>{const t=[...l,...s.reverse()],[i]=t,n=b(t);i[0]===n[0]&&i[1]===n[1]&&t.splice(-1,1),e.push(t),l=[],s=[]};if(d&&f){if(d[0]!==f[0]){const e=Math.min(d[0],f[0]);l.push([d,f].find((t=>t[0]===e))),g()}}else d?(l.push(d),g()):f?(s.push(f),g()):g()})),e}(),{mode:s,style:r={}}=l.shadow||{};o.forEach((t=>{const o=t.map((e=>({x:e[0],y:e[1]}))),l=new e.Polygon(o,{...n,...r,strokeWidth:1});if(["slash","line"].includes(s)){l.set({fill:"transparent",stroke:r.stroke||"#f00"});const e=[];if(["slash"].includes(s))e.push(...X(t,r._angle,r.space)),e.forEach((e=>{Object.assign(e,{...n,...r}),ee.add(e)}));else{const n=function(e){const t=e.reduce(((e,t)=>{const i=Math.trunc(t[0]);return e[i]=e[i]?e[i].concat([t]):[t],e}),{}),i=Object.values(t).filter((e=>2===e.length&&Math.trunc(e[0][1])!==Math.trunc(e[1][1])));return i}(t);n.forEach((t=>{const n=i([...x(t)],{...r,originX:"center"});e.push(n),ee.add(n)}))}S.value.add(...e)}ee.add(l),S.value.add(l)}))}}function ue(){var e;const t=se.find((e=>"pulse"===e.type));if(!t||!(null==(e=t.dataList)?void 0:e.length))return;if(!t.dataList.some((e=>e.title.includes("脉搏"))))return;const i=Object.assign({},k,z.overlap||{}),l=[];ne.size&&[...ne].forEach((e=>{[...oe].forEach((t=>{if(t.origin&&c(e,t)){const e=t.origin.key;if(e){const s={left:t.left,top:t.top,...n,hoverCursor:"default"};let r="koumai";"yemai"===e&&(r=e),"humai"===e&&(r="circle"),l.push(o(r,{...i[e]||{},...s}))}}}))})),setTimeout((()=>{S.value.add(...l),l.forEach((e=>{null==e||e.bringToFront(),le.add(e)}))}))}function ae(e,t,r){var a;const{type:c,riseStyle:h={},noRiseStyle:v={},verifiedStyle:g={},reduceStyle:y={},pacemaker:m={},upArrowStyle:x={},limitValueStyle:b={},nonePainPointStyle:j={},belowMinValueStyle:w={},dataList:L=[],list:k=[]}=r,{type:$,textStyle:C,showConnectLine:A=!1}=j,R=[],T=[],V=[];let X=null;if(null==(a=e.list)||a.forEach(((a,j)=>{const z=u(c)?L.find((e=>e.key===a.key)):e,D=pe(a,r),_=e.list[j+1],W=_?pe(_,r):void 0,q=_?u(c)?L.find((e=>e.key===_.key)):e:{},{title:G=""}=z;if("脉搏"===G&&"脉搏"!==q.title||"脉搏"!==G&&"脉搏"===q.title||!D||!W||d(D[0],1)!==d(W[0],1))D&&X&&(D[0]=X),X=null;else{const e=D[0]-F/2;D[0]=e+F/4,W[0]=X=D[0]+F/2}const B={};B.value=function(e,t,i){if(!(null==e?void 0:e.length)||!U.showValue)return;const{lineAttr:n={}}=i,o=e[1]<=K.originY+H?e[1]+H:e[1]-H,s=l([e[0],o],{value:t.value,originX:"center",originY:"center",fill:n.stroke||"#000"});return V.push(s),{obj:s,top:-H}}(D,a,z),function(e,t,r,u){var a,d;if(!(null==e?void 0:e.length)||!["temperature","pain"].includes(c))return;const{lineAttr:f={}}=r,{value:m}=u;let x,b,j,w,L;if(t.noRise&&v.show){const t=Y(v)?O(c,k,35):e[1];if(v.text)j=l([e[0],Y(v)?t:t+5],{value:v.text.split("").join("\n"),originY:"top",...v.style});else{const i=t+2*H;j=s([e[0],t,i],{...v.style})}V.push(j)}t.rise&&h.show&&h.text&&(w=l([e[0],e[1]-(m?H:0)-5],{value:h.text.split("").join("\n"),originY:"bottom",...h.style}),V.push(w));t.verified&&(L=l([e[0],e[1]-(m?H:0)-5],{value:"v",originX:"center",originY:"bottom",...g}),V.push(L));if(p(t.physicsReduce)||p(t.drugReduce)){const l=O(c,k,null!=(a=t.physicsReduce)?a:t.drugReduce),s=l<e[1]&&(null==U?void 0:U.hypothermyViewCustom)?e[0]+F/2:e[0];x=i([...e,s,l],{...f,...y.line,...n}),b=o((null==(d=null==y?void 0:y.point)?void 0:d.type)||"circle",{left:s,top:l,...y.point,...n,originY:l===Z?"bottom":"center"}),x&&V.push(x),b&&V.push(b)}Object.assign(u,{reduceLine:{obj:x,type:"line"},noRiseText:{obj:j,top:v.text?5:2*H,isFixed:Y(v)},riseText:{obj:w,top:(m?-H:0)-5},verifiedText:{obj:L,top:(m?-H:0)-5},reducePoint:{obj:b,type:"reduce"}})}(D,a,z,B),function(e,t,i,n){if(!(null==e?void 0:e.length)||!["pulse"].includes(c))return;const o=Math.max(...k),r=Math.min(...k);let u,a,d;const{upArrowShow:p=!1,limitValueShow:f=!1}=i;if(p&&+t.value>180){let t=e[1]-2.5*H,i=[e[1]-H/2,t];t<K.originY&&(t=e[1]+2.5*H,i=[t,e[1]+H/2]),u=s([e[0],i[0],i[1]],x,"up"),V.push(u)}if(f){const i={value:t.value,originX:"center",originY:"center",...b};if(+t.value>o){const t=u?e[1]+H/2+u.height:e[1]+H;a=l([e[0],t],i),V.push(a)}+t.value<r&&(a=l([e[0],e[1]-H],i),V.push(a))}if(w.show&&+t.value<r){const t=e[1];if(w.text)d=l([e[0],e[1]+5],{value:w.text.split("").join("\n"),originY:"top",...w.style});else{const i=t+2*H;d=s([e[0],t,i],{...w.style})}V.push(d)}Object.assign(n,{upArrow:{obj:u},limitValue:{obj:a,top:-H},belowMinValue:{obj:d,top:w.text?5:2*H,moveHide:!0}})}(D,a,z,B),function(n,l,s,u,a,d){let p,h;const{pointAttr:v={},lineAttr:g={},title:y="",key:x,type:b="circle"}=a,j=e.list[u+1],w=ce(c,e.list[u].value),L=l&&ce(c,j.value);if(n&&l&&!s.breakpoint&&(!w&&!L||A)){h=i([...n,...l],{...g});const{obj:e}=(null==d?void 0:d.reducePoint)||{};if((null==e?void 0:e.top)<n[1]&&(null==U?void 0:U.hypothermyViewCustom)){const t=i([e.left,e.top,...l],{...g});V.unshift(t),Object.assign(d,{reduceRightLine:{obj:t,type:"reduce"}}),h.set("stroke","transparent")}}const k=s.pacemakerShow&&"pulse"==c?m.value:w&&"number"===$?0:b,Y=T[u-1],O={origin:{data:s,title:y,key:x||"",unit:r.unit,type:c,_type:f(y,c),dataIndex:t,index:u},leftLine:Y,rightLine:h,otherObj:d,lockMovementX:!0,...s.pacemakerShow&&"pulse"==c?m.style:v,...E.event.hovered?E.event.evented?{selectable:!0}:{selectable:!0,lockMovementY:!0}:E.event,...w?{selectable:!1,evented:!1,..."number"===$?C:{}}:{}};n&&(Y?O.leftLine.set("x2",n[0]):O.leftLine=null,p=o(k,{left:n[0],top:w?n[1]-5:n[1],...O}));T.push(h),p&&(y.includes("脉搏")?ne.add(p):oe.add(p),function(e){J.hovered&&(e.on("mouseover",(()=>{de(e,"hover")})),e.on("mouseout",(()=>{I.show=!1})));if(e.lockMovementX&&e.lockMovementY)return;e.on("moving",(()=>{!function(e){e.setCoords();const t="pain"===e.origin.type?N:K;e.top<t.originY&&e.set("top",t.originY);e.top>t.endY&&e.set("top",t.endY)}(e),function(e){var t,i;null==(t=e.leftLine)||t.setCoords().set({x2:e.left,y2:e.top}),null==(i=e.rightLine)||i.setCoords().set({x1:e.left,y1:e.top}),Object.values(e.otherObj).forEach((t=>{const{obj:i,type:n="",top:o=0,isFixed:l,moveHide:s=!1}=t||{};"reduce"!==n&&i&&("line"===n?i.setCoords().set({x1:e.left,y1:e.top}):(l||i.setCoords().set({left:e.left,top:e.top+o}),s&&(S.value.remove(i),delete e.otherObj.obj)))})),re(e)}(e),J.hovered&&de(e)})),e.on("mouseup",(t=>{if(I.show=!1,1===t.button){const{type:t}=e.origin,i=P(t,e.top),n={...e.origin,data:{...e.origin.data,value:i}};S.value.discardActiveObject(),M("change",n),he(n,"change")}}))}(p),R.push(p),le.add(p))}(D,W,a,j,z,B)})),"pulse"===c){const e={};te.forEach((t=>{e[t]=R.filter((e=>{var i;return(null==(i=e.origin)?void 0:i.key)===t}))}));let t=null;te.forEach((i=>{ie.set(i,e[i].map(((e,i,n)=>{var o,l;const s=n[i+1];if(s&&d(e.left,1)===d(s.left,1)){const i=e.left-F/2;e.set("left",i+F/4),null==(o=e.rightLine)||o.set("x1",e.left),t=e.left+F/2,s.set("left",t)}else t&&(null==(l=e.leftLine)||l.set("x2",t),e.set("left",t)),t=null;return[e.left,e.top]})))}))}Promise.all(R).then((e=>{const t=T.filter((e=>e));Promise.all(V).then((i=>{S.value.add(...t,...e,...i),e.forEach((t=>{null==t||t.bringToFront(),function(e,t){if("pulse"===e.origin.type){t.filter((t=>t.left===e.left&&"pulse"===t.origin.type)).length>1&&(e.leftLine&&S.value.remove(e.leftLine),e.rightLine&&S.value.remove(e.rightLine))}}(t,e)}))}))}))}function ce(e,t){return"pain"===e&&0==t}function de(e,t="moving"){const{title:i,unit:n,type:o,data:l}=e.origin;I.point={x:e.left,y:e.top},I.list=[function(){const{drugReduce:s,physicsReduce:r}=l||{},u="hover"===t?l.value:P(o,e.top);if(p(s))return`药物降${"pain"==o?"痛":"温"} ${u}—>${s}${n||""}`;if(p(r))return`物理降${"pain"==o?"痛":"温"} ${u}—>${r}${n||""}`;return`${i} ${u}${n||""}`}(),`时间 ${((null==l?void 0:l.time)||C(e.left)).slice(-5)}`],I.show=!0}function pe(e,t){const i="pain"===t.type?N:K;if(!h(e)||!function(e){const[t]=D,i=b(D),n=t.start,o=i.end,l=v(e);return l>=n&&l<=o}(e.time))return;const n=$(e.time),o=O(t.type,t.list,e.value);return[n,o<i.originY?i.originY:o>i.endY?i.endY:o]}function fe(e){const t=new Date,i=String(t.getMonth()+1).padStart(2,"0"),n=String(t.getDate()).padStart(2,"0"),o=v(`${t.getFullYear()}-${i}-${n} 23:59:59`),l=v(`${C(e)}:00`);return Q&&l<v(Q)?(V("exceedMin"),!1):!(l>o)||(V("exceedMax"),!1)}function he(e,t="add"){const{type:i,dataIndex:n,index:o,data:l,key:s}=e,r=se.find((e=>e.type===i));if("add"===t){const e=u(i)?r.dataList.find((e=>e.enable)):r.dataList[n],t=g(l.time,e.list);e.list.splice(t,0,l)}else r.dataList[n].list[o]=l;ve()}function ve(){var e;le.size&&(null==(e=S.value)||e.remove(...function(e){const t=[];return e.forEach((e=>{e&&t.push(e),(null==e?void 0:e.leftLine)&&t.push(null==e?void 0:e.leftLine),(null==e?void 0:e.rightLine)&&t.push(null==e?void 0:e.rightLine),Object.values((null==e?void 0:e.otherObj)||{}).forEach((e=>{(null==e?void 0:e.obj)&&t.push(null==e?void 0:e.obj)}))})),t}([...le]))),ie.clear(),le.clear(),ne.clear(),oe.clear(),se.forEach((e=>{e.dataList.forEach(((t,i)=>{u(e.type)&&!t.enable||ae(t,i,e)}))})),re(),ue()}return ie.clear(),ne.clear(),oe.clear(),se.forEach((e=>{!function(e){if("temperature"!==e.type||!e.positionLine)return;const t=O(e.type,e.list,e.positionLine.value),n=i([_,t,W,t],e.positionLine);S.value.add(n)}(e),e.dataList.forEach(((t,i)=>{!t.show||u(e.type)&&!t.enable||ae(t,i,e)}))})),re(),ue(),S.value.on("mouse:up",(e=>{const{button:t,target:i,pointer:n={}}=e;if(3===t){if(!E.event.evented)return;const{x:e=0,y:t=0}=n;if(e>=_&&e<=W&&t>=q&&t<=G){R.point={x:e,y:t},R.show=!0;const{type:o}=(null==i?void 0:i.origin)||{};if(i&&["temperature","pain"].includes(o))"temperature"===o&&(R.list=[...w]),"pain"===o&&(R.list=[...L]),R.target=i;else{R.target=null,R.list=["新增节点"],B.forEach((i=>{if(!T([...le],e,"_type").includes(i.bigType)){const e=["pain"].includes(i.bigType)?N:K;t>=e.originY&&t<=e.endY&&R.list.push({renderItem:A?A(i):()=>i.title,origin:{title:i.title,unit:i.unit,type:a(i.bigType),dataIndex:i.dataIndex,key:i.key},pointer:n})}}));const i=fe(e);i&&1!==R.list.length||(R.show=!1,1===R.list.length&&i&&V("repeat"))}}}if(1===t){if(i)return;const{x:e=0,y:t=0}=n;e>=_&&e<=W&&t>0&&t<Z&&M("click:grid",{x:e,y:t,time:C(e)})}})),{clickMenu:function({item:e,target:t}){if(t){const{data:i,type:n,dataIndex:o,index:l}=t.origin,s=y(i,[...w,...L]);s[`${e.type}`]=e.value,u(n)&&(s.key=t.origin.key);const r={...t.origin,data:s};M("change",r),he(r,"change")}else{const t={data:{time:C(e.pointer.x),value:P(e.origin.type,e.pointer.y),...u(e.origin.type)?{key:e.origin.key}:{}},...e.origin};M("add",t),he(t)}},setPopup:de,isAddPoint:fe,updateData:he,redrawPoints:ve,gridPoints:le}}function Y(e){return"fixed"===e.position}export{S as useCenter};
1
+ import{fabric as e}from"../../../../../shared/utils/fabricjs/index.js";import{useShadow as t}from"./useShadow.js";import{drawLine as i,defaultStyle as n,drawPoint as o,drawText as l,drawArrow as s}from"../useDraw.js";import{useGrid as r}from"../useGrid.js";import"date-fns";import{isOneLine as u,getType as a,isOverlapPoint as c,getFloorNumber as d,isValidValue as p,setOtherType as f,isEffectiveNode as h,getTime as v,getIndex as g,deleteProperty as y}from"../../utils/index.js";import{cloneDeep as m,flatten as x,last as b}from"lodash-es";import"../useEvent.js";import{useCommon as j}from"../useCommon.js";import"vue";import"naive-ui";import"@vueuse/core";import{TEMPERATURE_MENU as w,PAIN_MENU as L,OVERLAP as k}from"../../constants/index.js";function S(S,E,M,$,O,P,C,A,I,R){r(S,E);const{getEqualXTypes:T,handleAddPrevent:V,getPointEventProps:X}=j(S,M,E),{createShadowLines:z}=t(),{left:D,xScaleList:F,xCellWidth:H,yCellHeight:_,originX:W,endX:q,originY:G,endY:B,itemList:J,event:K,vitalSignsOriginY:N,painOriginY:Q,hospitalizationDate:U,config:Z,canvasHeight:ee}=E,te=new Set,ie=["xinmai","mai"],ne=new Map,oe=new Set,le=new Set,se=new Set,re=m(D.yScaleValue);function ue(t){var o;const l=re.find((e=>"pulse"===e.type));if(l&&(null==(o=l.dataList)?void 0:o.length)&&(te.size&&S.value.remove(...te),te.clear(),ne.size>1)){if(t){const{type:e,key:i}=t.origin||{};if("pulse"===e){const e=ne.get(i),n=null==e?void 0:e.findIndex((e=>e[0]===t.left));e.splice(n,1,[t.left,t.top])}}const o=function(){const e=[],t=[],i=[];for(const e of ne)t.push(e[1]),e[0]===ie[0]&&e[1].forEach((e=>{(ne.get(ie[1])||[]).findIndex((t=>t[0]===e[0]))>-1&&i.push(e[0])}));const[n,o]=t;let l=[],s=[];return i.forEach((t=>{const i=n.findIndex((e=>e[0]===t)),r=o.findIndex((e=>e[0]===t)),u=n[i],a=o[r],c=n[i-1],d=n[i+1],p=o[r-1],f=o[r+1];if(c&&p){if(c[0]!==p[0]){const e=Math.max(c[0],p[0]);l.push([c,p].find((t=>t[0]===e)))}}else c?l.push(c):p&&s.push(p);const h=Math.min(u[1],a[1]);l.push([u,a].find((e=>e[1]===h)));const v=Math.max(u[1],a[1]);s.push([u,a].find((e=>e[1]===v)));const g=()=>{const t=[...l,...s.reverse()],[i]=t,n=b(t);i[0]===n[0]&&i[1]===n[1]&&t.splice(-1,1),e.push(t),l=[],s=[]};if(d&&f){if(d[0]!==f[0]){const e=Math.min(d[0],f[0]);l.push([d,f].find((t=>t[0]===e))),g()}}else d?(l.push(d),g()):f?(s.push(f),g()):g()})),e}(),{mode:s,style:r={}}=l.shadow||{};o.forEach((t=>{const o=t.map((e=>({x:e[0],y:e[1]}))),l=new e.Polygon(o,{...n,...r,strokeWidth:1});if(["slash","line"].includes(s)){l.set({fill:"transparent",stroke:r.stroke||"#f00"});const e=[];if(["slash"].includes(s))e.push(...z(t,r._angle,r.space)),e.forEach((e=>{Object.assign(e,{...n,...r}),te.add(e)}));else{const n=function(e){const t=e.reduce(((e,t)=>{const i=Math.trunc(t[0]);return e[i]=e[i]?e[i].concat([t]):[t],e}),{}),i=Object.values(t).filter((e=>2===e.length&&Math.trunc(e[0][1])!==Math.trunc(e[1][1])));return i}(t);n.forEach((t=>{const n=i([...x(t)],{...r,originX:"center"});e.push(n),te.add(n)}))}S.value.add(...e)}te.add(l),S.value.add(l)}))}}function ae(){var e;const t=re.find((e=>"pulse"===e.type));if(!t||!(null==(e=t.dataList)?void 0:e.length))return;if(!t.dataList.some((e=>e.title.includes("脉搏"))))return;const i=Object.assign({},k,D.overlap||{}),l=[];oe.size&&[...oe].forEach((e=>{[...le].forEach((t=>{if(t.origin&&c(e,t)){const e=t.origin.key;if(e){const s={left:t.left,top:t.top,...n,hoverCursor:"default"};let r="koumai";"yemai"===e&&(r=e),"humai"===e&&(r="circle"),l.push(o(r,{...i[e]||{},...s}))}}}))})),setTimeout((()=>{S.value.add(...l),l.forEach((e=>{null==e||e.bringToFront(),se.add(e)}))}))}function ce(e,t,r){var a;const{type:c,riseStyle:h={},noRiseStyle:v={},verifiedStyle:g={},reduceStyle:y={},pacemaker:m={},upArrowStyle:x={},limitValueStyle:b={},nonePainPointStyle:j={},belowMinValueStyle:w={},dataList:L=[],list:k=[]}=r,{type:E,textStyle:$,showConnectLine:P=!1}=j,A=[],R=[],T=[];let V=null;if(null==(a=e.list)||a.forEach(((a,j)=>{const z=u(c)?L.find((e=>e.key===a.key)):e,D=fe(a,r),F=e.list[j+1],W=F?fe(F,r):void 0,q=F?u(c)?L.find((e=>e.key===F.key)):e:{},{title:G=""}=z;if("脉搏"===G&&"脉搏"!==q.title||"脉搏"!==G&&"脉搏"===q.title||!D||!W||d(D[0],1)!==d(W[0],1))D&&V&&(D[0]=V),V=null;else{const e=D[0]-H/2;D[0]=e+H/4,W[0]=V=D[0]+H/2}const B={};B.value=function(e,t,i){if(!(null==e?void 0:e.length)||!Z.showValue)return;const{lineAttr:n={}}=i,o=e[1]<=N.originY+_?e[1]+_:e[1]-_,s=l([e[0],o],{value:t.value,originX:"center",originY:"center",fill:n.stroke||"#000"});return T.push(s),{obj:s,top:-_}}(D,a,z),function(e,t,r,u){var a,d;if(!(null==e?void 0:e.length)||!["temperature","pain"].includes(c))return;const{lineAttr:f={}}=r,{value:m}=u;let x,b,j,w,L;if(t.noRise&&v.show){const t=Y(v)?O(c,k,35):e[1];if(v.text)j=l([e[0],Y(v)?t:t+5],{value:v.text.split("").join("\n"),originY:"top",...v.style});else{const i=t+2*_;j=s([e[0],t,i],{...v.style})}T.push(j)}t.rise&&h.show&&h.text&&(w=l([e[0],e[1]-(m?_:0)-5],{value:h.text.split("").join("\n"),originY:"bottom",...h.style}),T.push(w));t.verified&&(L=l([e[0],e[1]-(m?_:0)-5],{value:"v",originX:"center",originY:"bottom",...g}),T.push(L));if(p(t.physicsReduce)||p(t.drugReduce)){const l=O(c,k,null!=(a=t.physicsReduce)?a:t.drugReduce),s=l<e[1]&&(null==Z?void 0:Z.hypothermyViewCustom)?e[0]+H/2:e[0];x=i([...e,s,l],{...f,...y.line,...n}),b=o((null==(d=null==y?void 0:y.point)?void 0:d.type)||"circle",{left:s,top:l,...y.point,...n,originY:l===ee?"bottom":"center"}),x&&T.push(x),b&&T.push(b)}Object.assign(u,{reduceLine:{obj:x,type:"line"},noRiseText:{obj:j,top:v.text?5:2*_,isFixed:Y(v)},riseText:{obj:w,top:(m?-_:0)-5},verifiedText:{obj:L,top:(m?-_:0)-5},reducePoint:{obj:b,type:"reduce"}})}(D,a,z,B),function(e,t,i,n){if(!(null==e?void 0:e.length)||!["pulse"].includes(c))return;const o=Math.max(...k),r=Math.min(...k);let u,a,d;const{upArrowShow:p=!1,limitValueShow:f=!1}=i;if(p&&+t.value>180){let t=e[1]-2.5*_,i=[e[1]-_/2,t];t<N.originY&&(t=e[1]+2.5*_,i=[t,e[1]+_/2]),u=s([e[0],i[0],i[1]],x,"up"),T.push(u)}if(f){const i={value:t.value,originX:"center",originY:"center",...b};if(+t.value>o){const t=u?e[1]+_/2+u.height:e[1]+_;a=l([e[0],t],i),T.push(a)}+t.value<r&&(a=l([e[0],e[1]-_],i),T.push(a))}if(w.show&&+t.value<r){const t=e[1];if(w.text)d=l([e[0],e[1]+5],{value:w.text.split("").join("\n"),originY:"top",...w.style});else{const i=t+2*_;d=s([e[0],t,i],{...w.style})}T.push(d)}Object.assign(n,{upArrow:{obj:u},limitValue:{obj:a,top:-_},belowMinValue:{obj:d,top:w.text?5:2*_,moveHide:!0}})}(D,a,z,B),function(n,l,s,u,a,d){let p,h;const{pointAttr:v={},lineAttr:g={},title:y="",key:x,type:b="circle"}=a,j=e.list[u+1],w=de(c,e.list[u].value),L=l&&de(c,j.value);if(n&&l&&!s.breakpoint&&(!w&&!L||P)){h=i([...n,...l],{...g});const{obj:e}=(null==d?void 0:d.reducePoint)||{};if((null==e?void 0:e.top)<n[1]&&(null==Z?void 0:Z.hypothermyViewCustom)){const t=i([e.left,e.top,...l],{...g});T.unshift(t),Object.assign(d,{reduceRightLine:{obj:t,type:"reduce"}}),h.set("stroke","transparent")}}const k=s.pacemakerShow&&"pulse"==c?m.value:w&&"number"===E?0:b,Y=R[u-1],O={origin:{data:s,title:y,key:x||"",unit:r.unit,type:c,_type:f(y,c),dataIndex:t,index:u},leftLine:Y,rightLine:h,otherObj:d,...s.pacemakerShow&&"pulse"==c?m.style:v,lockMovementX:!0,...X(),...w?{selectable:!1,evented:!1,..."number"===E?$:{}}:{}};n&&(Y?O.leftLine.set("x2",n[0]):O.leftLine=null,p=o(k,{left:n[0],top:w?n[1]-5:n[1],...O}));R.push(h),p&&(y.includes("脉搏")?oe.add(p):le.add(p),function(e){K.hovered&&(e.on("mouseover",(()=>{pe(e,"hover")})),e.on("mouseout",(()=>{I.show=!1})));if(e.lockMovementX&&e.lockMovementY)return;e.on("moving",(()=>{!function(e){e.setCoords();const t="pain"===e.origin.type?Q:N;e.top<t.originY&&e.set("top",t.originY);e.top>t.endY&&e.set("top",t.endY)}(e),function(e){var t,i;null==(t=e.leftLine)||t.setCoords().set({x2:e.left,y2:e.top}),null==(i=e.rightLine)||i.setCoords().set({x1:e.left,y1:e.top}),Object.values(e.otherObj).forEach((t=>{const{obj:i,type:n="",top:o=0,isFixed:l,moveHide:s=!1}=t||{};"reduce"!==n&&i&&("line"===n?i.setCoords().set({x1:e.left,y1:e.top}):(l||i.setCoords().set({left:e.left,top:e.top+o}),s&&(S.value.remove(i),delete e.otherObj.obj)))})),ue(e)}(e),K.hovered&&pe(e)})),e.on("mouseup",(t=>{if(I.show=!1,1===t.button){const{type:t}=e.origin,i=C(t,e.top),n={...e.origin,data:{...e.origin.data,value:i}};S.value.discardActiveObject(),M("change",n),ve(n,"change")}}))}(p),A.push(p),se.add(p))}(D,W,a,j,z,B)})),"pulse"===c){const e={};ie.forEach((t=>{e[t]=A.filter((e=>{var i;return(null==(i=e.origin)?void 0:i.key)===t}))}));let t=null;ie.forEach((i=>{ne.set(i,e[i].map(((e,i,n)=>{var o,l;const s=n[i+1];if(s&&d(e.left,1)===d(s.left,1)){const i=e.left-H/2;e.set("left",i+H/4),null==(o=e.rightLine)||o.set("x1",e.left),t=e.left+H/2,s.set("left",t)}else t&&(null==(l=e.leftLine)||l.set("x2",t),e.set("left",t)),t=null;return[e.left,e.top]})))}))}Promise.all(A).then((e=>{const t=R.filter((e=>e));Promise.all(T).then((i=>{S.value.add(...t,...e,...i),e.forEach((t=>{null==t||t.bringToFront(),function(e,t){if("pulse"===e.origin.type){t.filter((t=>t.left===e.left&&"pulse"===t.origin.type)).length>1&&(e.leftLine&&S.value.remove(e.leftLine),e.rightLine&&S.value.remove(e.rightLine))}}(t,e)}))}))}))}function de(e,t){return"pain"===e&&0==t}function pe(e,t="moving"){const{title:i,unit:n,type:o,data:l}=e.origin;I.point={x:e.left,y:e.top},I.list=[function(){const{drugReduce:s,physicsReduce:r}=l||{},u="hover"===t?l.value:C(o,e.top);if(p(s))return`药物降${"pain"==o?"痛":"温"} ${u}—>${s}${n||""}`;if(p(r))return`物理降${"pain"==o?"痛":"温"} ${u}—>${r}${n||""}`;return`${i} ${u}${n||""}`}(),`时间 ${((null==l?void 0:l.time)||P(e.left)).slice(-5)}`],I.show=!0}function fe(e,t){const i="pain"===t.type?Q:N;if(!h(e)||!function(e){const[t]=F,i=b(F),n=t.start,o=i.end,l=v(e);return l>=n&&l<=o}(e.time))return;const n=$(e.time),o=O(t.type,t.list,e.value);return[n,o<i.originY?i.originY:o>i.endY?i.endY:o]}function he(e){const t=new Date,i=String(t.getMonth()+1).padStart(2,"0"),n=String(t.getDate()).padStart(2,"0"),o=v(`${t.getFullYear()}-${i}-${n} 23:59:59`),l=v(`${P(e)}:00`);return U&&l<v(U)?(V("exceedMin"),!1):!(l>o)||(V("exceedMax"),!1)}function ve(e,t="add"){const{type:i,dataIndex:n,index:o,data:l,key:s}=e,r=re.find((e=>e.type===i));if("add"===t){const e=u(i)?r.dataList.find((e=>e.enable)):r.dataList[n],t=g(l.time,e.list);e.list.splice(t,0,l)}else r.dataList[n].list[o]=l;ge()}function ge(){var e;se.size&&(null==(e=S.value)||e.remove(...function(e){const t=[];return e.forEach((e=>{e&&t.push(e),(null==e?void 0:e.leftLine)&&t.push(null==e?void 0:e.leftLine),(null==e?void 0:e.rightLine)&&t.push(null==e?void 0:e.rightLine),Object.values((null==e?void 0:e.otherObj)||{}).forEach((e=>{(null==e?void 0:e.obj)&&t.push(null==e?void 0:e.obj)}))})),t}([...se]))),ne.clear(),se.clear(),oe.clear(),le.clear(),re.forEach((e=>{e.dataList.forEach(((t,i)=>{u(e.type)&&!t.enable||ce(t,i,e)}))})),ue(),ae()}return ne.clear(),oe.clear(),le.clear(),re.forEach((e=>{!function(e){if("temperature"!==e.type||!e.positionLine)return;const t=O(e.type,e.list,e.positionLine.value),n=i([W,t,q,t],e.positionLine);S.value.add(n)}(e),e.dataList.forEach(((t,i)=>{!t.show||u(e.type)&&!t.enable||ce(t,i,e)}))})),ue(),ae(),S.value.on("mouse:up",(e=>{const{button:t,target:i,pointer:n={}}=e;if(3===t){if(!E.event.evented)return;const{x:e=0,y:t=0}=n;if(e>=W&&e<=q&&t>=G&&t<=B){R.point={x:e,y:t},R.show=!0;const{type:o}=(null==i?void 0:i.origin)||{};if(i&&["temperature","pain"].includes(o))"temperature"===o&&(R.list=[...w]),"pain"===o&&(R.list=[...L]),R.target=i;else{R.target=null,R.list=["新增节点"],J.forEach((i=>{if(!T([...se],e,"_type").includes(i.bigType)){const e=["pain"].includes(i.bigType)?Q:N;t>=e.originY&&t<=e.endY&&R.list.push({renderItem:A?A(i):()=>i.title,origin:{title:i.title,unit:i.unit,type:a(i.bigType),dataIndex:i.dataIndex,key:i.key},pointer:n})}}));const i=he(e);i&&1!==R.list.length||(R.show=!1,1===R.list.length&&i&&V("repeat"))}}}if(1===t){if(i)return;const{x:e=0,y:t=0}=n;e>=W&&e<=q&&t>0&&t<ee&&M("click:grid",{x:e,y:t,time:P(e)})}})),{clickMenu:function({item:e,target:t}){if(t){const{data:i,type:n,dataIndex:o,index:l}=t.origin,s=y(i,[...w,...L]);s[`${e.type}`]=e.value,u(n)&&(s.key=t.origin.key);const r={...t.origin,data:s};M("change",r),ve(r,"change")}else{const t={data:{time:P(e.pointer.x),value:C(e.origin.type,e.pointer.y),...u(e.origin.type)?{key:e.origin.key}:{}},...e.origin};M("add",t),ve(t)}},setPopup:pe,isAddPoint:he,updateData:ve,redrawPoints:ge,gridPoints:se}}function Y(e){return"fixed"===e.position}export{S as useCenter};
@@ -7,4 +7,5 @@ export declare function useCommon(canvas: Ref<fabric.Canvas>, emits: Function, p
7
7
  handleAddPrevent: (type: 'repeat' | 'exceedMax' | 'exceedMin') => void;
8
8
  isGridLimit: (point: IObject) => boolean;
9
9
  setPrevAndNextPoint: (pointList: any[]) => void;
10
+ getPointEventProps: () => any;
10
11
  };
@@ -1 +1 @@
1
- const e={repeat:"该时段已存在数值不能新增",exceedMax:"未来时间不允许录入",exceedMin:"不允许小于入院时间"};function n(n,t,i){return{getEqualXTypes:function(e,n,t,r=i.xCellWidth){const o=[],d=r/2;return e.forEach((e=>{e.origin&&!e.origin.isMenu&&Math.abs(n-e.left)<=d&&o.push(e.origin[t])})),[...new Set(o)]},handleAddPrevent:function(n){t("add:prevent",{type:n,message:e[n]})},isGridLimit:function(e){const{left:n,top:t}=e,{originX:r,endX:o,originY:d,endY:u}=i;return n>=r&&n<=o&&t>=d&&t<=u},setPrevAndNextPoint:function(e){e.reduce(((e,n)=>e&&n?(n.prevPoint=e,e.nextPoint=n,n):n||e),null)}}}export{n as useCommon};
1
+ const e={repeat:"该时段已存在数值不能新增",exceedMax:"未来时间不允许录入",exceedMin:"不允许小于入院时间"};function n(n,t,i){return{getEqualXTypes:function(e,n,t,o=i.xCellWidth){const r=[],l=o/2;return e.forEach((e=>{e.origin&&!e.origin.isMenu&&Math.abs(n-e.left)<=l&&r.push(e.origin[t])})),[...new Set(r)]},handleAddPrevent:function(n){t("add:prevent",{type:n,message:e[n]})},isGridLimit:function(e){const{left:n,top:t}=e,{originX:o,endX:r,originY:l,endY:c}=i;return n>=o&&n<=r&&t>=l&&t<=c},setPrevAndNextPoint:function(e){e.reduce(((e,n)=>e&&n?(n.prevPoint=e,e.nextPoint=n,n):n||e),null)},getPointEventProps:function(){var e,n;return(null==(e=i.event)?void 0:e.hovered)?(null==(n=i.event)?void 0:n.evented)?{selectable:!0}:{selectable:!0,lockMovementX:!0,lockMovementY:!0}:i.event}}}export{n as useCommon};
@@ -457,9 +457,9 @@ declare const _default: import("vue").DefineComponent<{
457
457
  requiredDisable: boolean;
458
458
  hide: boolean;
459
459
  }>;
460
- isHighlightRow: boolean;
461
460
  idx: number;
462
461
  isHighlight: boolean;
462
+ isHighlightRow: boolean;
463
463
  }>;
464
464
  EditDialog: import("vue").DefineComponent<{
465
465
  visible: {
@@ -575,9 +575,9 @@ declare const _default: import("vue").DefineComponent<{
575
575
  requiredDisable: boolean;
576
576
  hide: boolean;
577
577
  }>;
578
- isHighlightRow: boolean;
579
578
  idx: number;
580
579
  isHighlight: boolean;
580
+ isHighlightRow: boolean;
581
581
  }>;
582
582
  isArray: {
583
583
  (value?: any): value is any[];
@@ -282,8 +282,8 @@ declare const _default: import("vue").DefineComponent<{
282
282
  requiredDisable: boolean;
283
283
  hide: boolean;
284
284
  }>;
285
- isHighlightRow: boolean;
286
285
  idx: number;
287
286
  isHighlight: boolean;
287
+ isHighlightRow: boolean;
288
288
  }>;
289
289
  export default _default;