cnhis-design-vue 2.2.3 → 2.2.6

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 (751) hide show
  1. package/CHANGELOG.md +41 -6
  2. package/es/affix/index.js +8 -8
  3. package/es/age/index.js +10 -10
  4. package/es/alert/index.js +8 -8
  5. package/es/anchor/index.js +8 -8
  6. package/es/auto-complete/index.js +8 -8
  7. package/es/avatar/index.js +8 -8
  8. package/es/back-top/index.js +8 -8
  9. package/es/badge/index.js +8 -8
  10. package/es/base/index.js +8 -8
  11. package/es/big-table/index.js +107 -109
  12. package/es/big-table/style.css +1 -1
  13. package/es/breadcrumb/index.js +8 -8
  14. package/es/button/index.js +33 -33
  15. package/es/calendar/index.js +8 -8
  16. package/es/captcha/index.js +3 -3
  17. package/es/card/index.js +8 -8
  18. package/es/card-reader-sdk/index.js +1 -1
  19. package/es/carousel/index.js +8 -8
  20. package/es/cascader/index.js +8 -8
  21. package/es/checkbox/index.js +9 -9
  22. package/es/col/index.js +8 -8
  23. package/es/collapse/index.js +8 -8
  24. package/es/color-picker/index.js +1 -1
  25. package/es/comment/index.js +8 -8
  26. package/es/config-provider/index.js +8 -8
  27. package/es/date-picker/index.js +8 -8
  28. package/es/descriptions/index.js +8 -8
  29. package/es/direct/index.js +16 -16
  30. package/es/divider/index.js +8 -8
  31. package/es/drag-layout/index.js +3 -3
  32. package/es/drawer/index.js +8 -8
  33. package/es/dropdown/index.js +8 -8
  34. package/es/editor/index.js +1 -1
  35. package/es/ellipsis/index.js +1 -1
  36. package/es/empty/index.js +8 -8
  37. package/es/fabric-chart/index.js +262 -183
  38. package/es/form/index.js +8 -8
  39. package/es/form-model/index.js +8 -8
  40. package/es/form-table/index.js +74 -74
  41. package/es/full-calendar/index.js +4 -4
  42. package/es/index/index.js +1095 -855
  43. package/es/index/style.css +1 -1
  44. package/es/input/index.js +9 -9
  45. package/es/input-number/index.js +8 -8
  46. package/es/layout/index.js +8 -8
  47. package/es/list/index.js +8 -8
  48. package/es/locale-provider/index.js +8 -8
  49. package/es/map/index.js +9 -9
  50. package/es/mentions/index.js +8 -8
  51. package/es/menu/index.js +8 -8
  52. package/es/message/index.js +8 -8
  53. package/es/multi-chat/index.js +76 -76
  54. package/es/multi-chat-client/index.js +70 -70
  55. package/es/multi-chat-history/index.js +4 -4
  56. package/es/multi-chat-record/index.js +14 -14
  57. package/es/multi-chat-setting/index.js +22 -22
  58. package/es/multi-chat-sip/index.js +1 -1
  59. package/es/notification/index.js +8 -8
  60. package/es/page-header/index.js +8 -8
  61. package/es/pagination/index.js +8 -8
  62. package/es/popconfirm/index.js +8 -8
  63. package/es/popover/index.js +8 -8
  64. package/es/progress/index.js +8 -8
  65. package/es/radio/index.js +9 -9
  66. package/es/rate/index.js +8 -8
  67. package/es/result/index.js +8 -8
  68. package/es/row/index.js +8 -8
  69. package/es/scale-container/index.js +9 -9
  70. package/es/scale-view/index.js +27 -27
  71. package/es/select/index.js +36 -21
  72. package/es/select-label/index.js +11 -11
  73. package/es/select-person/index.js +2 -2
  74. package/es/select-tag/index.js +144 -81
  75. package/es/select-tag/style.css +1 -1
  76. package/es/shortcut-setter/index.js +10 -10
  77. package/es/skeleton/index.js +8 -8
  78. package/es/slider/index.js +8 -8
  79. package/es/slider-tree/index.js +9 -9
  80. package/es/space/index.js +8 -8
  81. package/es/spin/index.js +8 -8
  82. package/es/statistic/index.js +8 -8
  83. package/es/steps/index.js +8 -8
  84. package/es/switch/index.js +8 -8
  85. package/es/table-filter/index.js +280 -195
  86. package/es/table-filter/style.css +1 -1
  87. package/es/tabs/index.js +8 -8
  88. package/es/tag/index.js +9 -9
  89. package/es/time-picker/index.js +8 -8
  90. package/es/timeline/index.js +8 -8
  91. package/es/tooltip/index.js +8 -8
  92. package/es/transfer/index.js +8 -8
  93. package/es/tree/index.js +8 -8
  94. package/es/tree-select/index.js +8 -8
  95. package/es/upload/index.js +8 -8
  96. package/es/verification-code/index.js +2 -2
  97. package/lib/cui.common.js +1122 -893
  98. package/lib/cui.umd.js +1122 -893
  99. package/lib/cui.umd.min.js +36 -36
  100. package/package.json +1 -1
  101. package/.prettierrc.js +0 -27
  102. package/packages/affix/index.js +0 -12
  103. package/packages/affix/src/Affix.jsx +0 -12
  104. package/packages/age/index.js +0 -27
  105. package/packages/age/src/age/index.vue +0 -140
  106. package/packages/age/src/age-com/index.vue +0 -210
  107. package/packages/alert/index.js +0 -12
  108. package/packages/alert/src/Alert.jsx +0 -11
  109. package/packages/anchor/index.js +0 -18
  110. package/packages/anchor/src/Anchor.jsx +0 -11
  111. package/packages/anchor/src/Link.jsx +0 -11
  112. package/packages/auto-complete/index.js +0 -12
  113. package/packages/auto-complete/src/AutoComplete.jsx +0 -12
  114. package/packages/avatar/index.js +0 -12
  115. package/packages/avatar/src/Avatar.jsx +0 -11
  116. package/packages/back-top/index.js +0 -12
  117. package/packages/back-top/src/BackTop.jsx +0 -11
  118. package/packages/badge/index.js +0 -12
  119. package/packages/badge/src/Badge.jsx +0 -11
  120. package/packages/base/index.js +0 -3
  121. package/packages/big-table/index.js +0 -20
  122. package/packages/big-table/src/BigTable.vue +0 -2977
  123. package/packages/big-table/src/Fieldset.vue +0 -2067
  124. package/packages/big-table/src/assets/iconfont/iconfont.css +0 -25
  125. package/packages/big-table/src/assets/iconfont/iconfont.ttf +0 -0
  126. package/packages/big-table/src/assets/img/failure.png +0 -0
  127. package/packages/big-table/src/assets/img/icon-asc.png +0 -0
  128. package/packages/big-table/src/assets/img/icon-desc.png +0 -0
  129. package/packages/big-table/src/assets/img/no-permission.png +0 -0
  130. package/packages/big-table/src/assets/img/nodata.png +0 -0
  131. package/packages/big-table/src/assets/img/notfound.png +0 -0
  132. package/packages/big-table/src/assets/img/qr.png +0 -0
  133. package/packages/big-table/src/assets/img/video_default_cover.png +0 -0
  134. package/packages/big-table/src/assets/img/xb_big.png +0 -0
  135. package/packages/big-table/src/assets/img/xb_small.png +0 -0
  136. package/packages/big-table/src/assets/style/table-base.less +0 -425
  137. package/packages/big-table/src/assets/style/table-global.less +0 -20
  138. package/packages/big-table/src/components/AutoLayoutButton.vue +0 -285
  139. package/packages/big-table/src/components/HeaderFilter.vue +0 -371
  140. package/packages/big-table/src/components/NoData.vue +0 -81
  141. package/packages/big-table/src/components/TextOverTooltip.vue +0 -120
  142. package/packages/big-table/src/components/edit-form/EditForm.vue +0 -518
  143. package/packages/big-table/src/components/edit-form/edit-component/config-data/index.js +0 -68
  144. package/packages/big-table/src/components/edit-form/edit-component/edit-date-picker/edit-date-picker.vue +0 -60
  145. package/packages/big-table/src/components/edit-form/edit-component/edit-digital/edit-digital.vue +0 -54
  146. package/packages/big-table/src/components/edit-form/edit-component/edit-input/edit-input.vue +0 -39
  147. package/packages/big-table/src/components/edit-form/edit-component/edit-input-password/edit-input-password.vue +0 -79
  148. package/packages/big-table/src/components/edit-form/edit-component/edit-month-picker/edit-month-picker.vue +0 -37
  149. package/packages/big-table/src/components/edit-form/edit-component/edit-search/edit-search.vue +0 -156
  150. package/packages/big-table/src/components/edit-form/edit-component/edit-search-more/edit-search-more.vue +0 -151
  151. package/packages/big-table/src/components/edit-form/edit-component/edit-select/edit-select.vue +0 -40
  152. package/packages/big-table/src/components/edit-form/edit-component/edit-select-multiple/edit-select-multiple.vue +0 -55
  153. package/packages/big-table/src/components/edit-form/edit-component/edit-switch/edit-switch.vue +0 -43
  154. package/packages/big-table/src/components/edit-form/edit-component/edit-textarea/edit-textarea.vue +0 -41
  155. package/packages/big-table/src/components/edit-form/edit-component/edit-time-picker/edit-time-picker.vue +0 -40
  156. package/packages/big-table/src/components/edit-form/edit-component/mixins/bound-date.js +0 -3
  157. package/packages/big-table/src/components/edit-form/edit-component/mixins/dateType.js +0 -217
  158. package/packages/big-table/src/components/edit-form/edit-component/mixins/item-default.js +0 -639
  159. package/packages/big-table/src/components/edit-form/edit-component/mixins/search.js +0 -1223
  160. package/packages/big-table/src/components/edit-form/edit-component/register-com.js +0 -26
  161. package/packages/big-table/src/components/edit-form/edit-item/form-event.js +0 -80
  162. package/packages/big-table/src/components/edit-form/edit-item/global-props.js +0 -33
  163. package/packages/big-table/src/components/edit-form/edit-item/index.js +0 -4
  164. package/packages/big-table/src/components/edit-form/edit-item/render-methods.js +0 -28
  165. package/packages/big-table/src/components/edit-form/edit-item/validate-rules.js +0 -463
  166. package/packages/big-table/src/components/edit-form/edit-mixins/form-commom.js +0 -673
  167. package/packages/big-table/src/components/edit-form/edit-mixins/index.js +0 -3
  168. package/packages/big-table/src/components/edit-form/edit-utils/index.js +0 -112
  169. package/packages/big-table/src/components/password-com.vue +0 -58
  170. package/packages/big-table/src/components/player-vod/index.vue +0 -57
  171. package/packages/big-table/src/components/player-vod/player.vue +0 -193
  172. package/packages/big-table/src/components/player-vod/video-list.vue +0 -265
  173. package/packages/big-table/src/components/player-vod/video-modal.vue +0 -131
  174. package/packages/big-table/src/utils/CustomPagination.vue +0 -86
  175. package/packages/big-table/src/utils/batchEditing.js +0 -613
  176. package/packages/big-table/src/utils/bigTableProps.js +0 -112
  177. package/packages/big-table/src/utils/checkStrictly.js +0 -58
  178. package/packages/big-table/src/utils/eventBroadcast.js +0 -24
  179. package/packages/big-table/src/utils/format.js +0 -577
  180. package/packages/big-table/src/utils/headerFilter.js +0 -691
  181. package/packages/big-table/src/utils/nestTable.js +0 -109
  182. package/packages/big-table/src/utils/tableParse.js +0 -234
  183. package/packages/breadcrumb/index.js +0 -21
  184. package/packages/breadcrumb/src/Breadcrumb.jsx +0 -11
  185. package/packages/breadcrumb/src/BreadcrumbItem.jsx +0 -11
  186. package/packages/breadcrumb/src/BreadcrumbSeparator.jsx +0 -11
  187. package/packages/button/index.js +0 -21
  188. package/packages/button/src/Button.jsx +0 -11
  189. package/packages/button/src/ButtonGroup.jsx +0 -11
  190. package/packages/button/src/ButtonPrint/components/IdentityVerification.vue +0 -181
  191. package/packages/button/src/ButtonPrint/index.vue +0 -165
  192. package/packages/button/src/ButtonPrint/js/print.es.min.js +0 -1
  193. package/packages/button/src/ButtonPrint/js/print.es.min1.js +0 -1
  194. package/packages/button/src/ButtonPrint/mixin/his-print.js +0 -95
  195. package/packages/button/src/ButtonPrint/new.vue +0 -1476
  196. package/packages/button/src/ButtonPrint/old.vue +0 -870
  197. package/packages/calendar/index.js +0 -12
  198. package/packages/calendar/src/Calendar.jsx +0 -11
  199. package/packages/captcha/index.js +0 -10
  200. package/packages/captcha/src/Captcha.vue +0 -164
  201. package/packages/captcha/src/Index.vue +0 -47
  202. package/packages/captcha/src/SlideVerify.vue +0 -285
  203. package/packages/card/index.js +0 -21
  204. package/packages/card/src/Card.jsx +0 -12
  205. package/packages/card/src/CardGrid.js +0 -7
  206. package/packages/card/src/CardMeta.js +0 -7
  207. package/packages/card-reader-sdk/index.js +0 -4
  208. package/packages/card-reader-sdk/src/cardReaderSDK.js +0 -149
  209. package/packages/card-reader-sdk/src/components/readCardDialog.vue +0 -48
  210. package/packages/card-reader-sdk/src/constants/index.js +0 -76
  211. package/packages/card-reader-sdk/src/insuranceSDK.js +0 -111
  212. package/packages/card-reader-sdk/src/utils/index.js +0 -84
  213. package/packages/card-reader-sdk/src/utils/readHealthCard.jsx +0 -57
  214. package/packages/carousel/index.js +0 -12
  215. package/packages/carousel/src/Carousel.jsx +0 -12
  216. package/packages/cascader/index.js +0 -12
  217. package/packages/cascader/src/Cascader.jsx +0 -11
  218. package/packages/checkbox/index.js +0 -30
  219. package/packages/checkbox/src/Checkbox.jsx +0 -11
  220. package/packages/checkbox/src/CheckboxImg/index.vue +0 -142
  221. package/packages/checkbox/src/Group.jsx +0 -11
  222. package/packages/col/index.js +0 -13
  223. package/packages/col/src/Col.jsx +0 -11
  224. package/packages/collapse/index.js +0 -18
  225. package/packages/collapse/src/Collapse.jsx +0 -11
  226. package/packages/collapse/src/Panel.jsx +0 -11
  227. package/packages/color-picker/index.js +0 -10
  228. package/packages/color-picker/src/color-picker.vue +0 -191
  229. package/packages/color-picker/src/style.less +0 -109
  230. package/packages/comment/index.js +0 -12
  231. package/packages/comment/src/Comment.jsx +0 -11
  232. package/packages/config-provider/index.js +0 -12
  233. package/packages/config-provider/src/ConfigProvider.jsx +0 -11
  234. package/packages/date-picker/index.js +0 -26
  235. package/packages/date-picker/src/DatePicker.jsx +0 -12
  236. package/packages/date-picker/src/MonthPicker.jsx +0 -11
  237. package/packages/date-picker/src/RangePicker.jsx +0 -11
  238. package/packages/date-picker/src/WeekPicker.jsx +0 -11
  239. package/packages/date-picker/src/utils/index.js +0 -374
  240. package/packages/descriptions/index.js +0 -18
  241. package/packages/descriptions/src/Descriptions.jsx +0 -11
  242. package/packages/descriptions/src/Item.jsx +0 -11
  243. package/packages/direct/index.js +0 -3
  244. package/packages/divider/index.js +0 -12
  245. package/packages/divider/src/Divider.jsx +0 -11
  246. package/packages/drag-layout/DragFormLeftItem.vue +0 -173
  247. package/packages/drag-layout/DragFormRightItem.vue +0 -284
  248. package/packages/drag-layout/I18n-mixins.js +0 -10
  249. package/packages/drag-layout/drag-layout.vue +0 -778
  250. package/packages/drag-layout/index.js +0 -12
  251. package/packages/drawer/index.js +0 -12
  252. package/packages/drawer/src/Drawer.jsx +0 -11
  253. package/packages/dropdown/index.js +0 -12
  254. package/packages/dropdown/src/Dropdown.jsx +0 -11
  255. package/packages/editor/index.js +0 -10
  256. package/packages/editor/src/Editor.vue +0 -201
  257. package/packages/editor/src/utils.js +0 -65
  258. package/packages/ellipsis/index.js +0 -9
  259. package/packages/ellipsis/src/Ellipsis.vue +0 -65
  260. package/packages/empty/index.js +0 -12
  261. package/packages/empty/src/Empty.jsx +0 -11
  262. package/packages/fabric-chart/index.js +0 -10
  263. package/packages/fabric-chart/src/FabricChart.vue +0 -153
  264. package/packages/fabric-chart/src/FabricGrid.vue +0 -67
  265. package/packages/fabric-chart/src/components/DropPopup.vue +0 -90
  266. package/packages/fabric-chart/src/components/MouseRightClick.vue +0 -168
  267. package/packages/fabric-chart/src/components/TimeScaleValue.vue +0 -125
  268. package/packages/fabric-chart/src/const/defaultVaule.js +0 -61
  269. package/packages/fabric-chart/src/fabric-chart/FabricCanvas.vue +0 -396
  270. package/packages/fabric-chart/src/fabric-chart/FabricLines.vue +0 -641
  271. package/packages/fabric-chart/src/fabric-chart/FabricPolylines.vue +0 -1447
  272. package/packages/fabric-chart/src/fabric-chart/FabricScaleValue.vue +0 -142
  273. package/packages/fabric-chart/src/fabric-chart/FabricTextGroup.vue +0 -928
  274. package/packages/fabric-chart/src/mixins/draw.js +0 -444
  275. package/packages/fabric-chart/src/mixins/drawExtracorporealCirculation.js +0 -222
  276. package/packages/fabric-chart/src/mixins/eventCommon.js +0 -107
  277. package/packages/fabric-chart/src/mixins/fabricCommon.js +0 -77
  278. package/packages/fabric-chart/src/mixins/fabricObject.js +0 -193
  279. package/packages/fabric-chart/src/utils/bus.js +0 -2
  280. package/packages/fabric-chart/src/utils/index.js +0 -104
  281. package/packages/form/index.js +0 -16
  282. package/packages/form/src/Form.jsx +0 -11
  283. package/packages/form/src/Item.jsx +0 -11
  284. package/packages/form-model/index.js +0 -14
  285. package/packages/form-model/src/FormModel.jsx +0 -11
  286. package/packages/form-model/src/Item.jsx +0 -11
  287. package/packages/form-table/index.js +0 -16
  288. package/packages/form-table/src/FormTable.vue +0 -1110
  289. package/packages/form-table/src/components/table-component/config-data/index.js +0 -80
  290. package/packages/form-table/src/components/table-component/global-props.js +0 -22
  291. package/packages/form-table/src/components/table-component/index.js +0 -8
  292. package/packages/form-table/src/components/table-component/mixins/bound-date.js +0 -455
  293. package/packages/form-table/src/components/table-component/mixins/dateType.js +0 -217
  294. package/packages/form-table/src/components/table-component/mixins/item-default.js +0 -257
  295. package/packages/form-table/src/components/table-component/mixins/search.js +0 -1242
  296. package/packages/form-table/src/components/table-component/register-com.js +0 -30
  297. package/packages/form-table/src/components/table-component/table-age/table-age.vue +0 -175
  298. package/packages/form-table/src/components/table-component/table-date-picker/table-date-picker.vue +0 -87
  299. package/packages/form-table/src/components/table-component/table-digital/table-digital.vue +0 -93
  300. package/packages/form-table/src/components/table-component/table-input/table-input.vue +0 -81
  301. package/packages/form-table/src/components/table-component/table-input-password/table-input-password.vue +0 -126
  302. package/packages/form-table/src/components/table-component/table-month-picker/table-month-picker.vue +0 -55
  303. package/packages/form-table/src/components/table-component/table-search/table-search.vue +0 -174
  304. package/packages/form-table/src/components/table-component/table-search-more/table-search-more.vue +0 -191
  305. package/packages/form-table/src/components/table-component/table-select/table-select.vue +0 -64
  306. package/packages/form-table/src/components/table-component/table-select-multiple/table-select-multiple.vue +0 -81
  307. package/packages/form-table/src/components/table-component/table-textarea/table-textarea.vue +0 -76
  308. package/packages/form-table/src/components/table-component/table-time-picker/table-time-picker.vue +0 -55
  309. package/packages/form-table/src/components/table-component/table-tree-select/table-tree-select.vue +0 -135
  310. package/packages/form-table/src/components/table-component/text-over-tooltip/TextOverTooltip.vue +0 -97
  311. package/packages/form-table/src/components/table-item/form-event.js +0 -81
  312. package/packages/form-table/src/components/table-item/global-props.js +0 -27
  313. package/packages/form-table/src/components/table-item/index.js +0 -4
  314. package/packages/form-table/src/components/table-item/render-methods.js +0 -28
  315. package/packages/form-table/src/components/table-item/validate-rules.js +0 -520
  316. package/packages/form-table/src/components/table-mixins/form-commom.js +0 -98
  317. package/packages/form-table/src/components/table-mixins/index.js +0 -3
  318. package/packages/form-table/src/components/table-utils/index.js +0 -112
  319. package/packages/form-table/src/disabledDetail.less +0 -46
  320. package/packages/full-calendar/index.js +0 -10
  321. package/packages/full-calendar/src/FullCalendar.vue +0 -775
  322. package/packages/full-calendar/src/api/index.js +0 -71
  323. package/packages/full-calendar/src/components/ListTag.vue +0 -184
  324. package/packages/full-calendar/src/components/Tag.vue +0 -300
  325. package/packages/full-calendar/src/components/TagDetail.vue +0 -288
  326. package/packages/full-calendar/src/utils/index.js +0 -217
  327. package/packages/grid/index.js +0 -10
  328. package/packages/grid/src/grid.js +0 -27
  329. package/packages/icon/index.js +0 -10
  330. package/packages/icon/src/icon.js +0 -13
  331. package/packages/index.js +0 -325
  332. package/packages/input/index.js +0 -30
  333. package/packages/input/src/Group.jsx +0 -11
  334. package/packages/input/src/Input.jsx +0 -11
  335. package/packages/input/src/Password.jsx +0 -11
  336. package/packages/input/src/Search.jsx +0 -11
  337. package/packages/input/src/TextArea.jsx +0 -11
  338. package/packages/input/src/input-quick/components/quick-item.vue +0 -284
  339. package/packages/input/src/input-quick/components/quick-popover.vue +0 -596
  340. package/packages/input/src/input-quick/index.vue +0 -137
  341. package/packages/input-number/index.js +0 -12
  342. package/packages/input-number/src/InputNumber.jsx +0 -11
  343. package/packages/keep-cache/KeepCache.js +0 -236
  344. package/packages/keep-cache/index.css +0 -3
  345. package/packages/keep-cache/index.js +0 -8
  346. package/packages/layout/index.js +0 -27
  347. package/packages/layout/src/Content.jsx +0 -11
  348. package/packages/layout/src/Footer.jsx +0 -11
  349. package/packages/layout/src/Header.jsx +0 -11
  350. package/packages/layout/src/Layout.jsx +0 -11
  351. package/packages/layout/src/Sider.jsx +0 -11
  352. package/packages/list/index.js +0 -21
  353. package/packages/list/src/Item.jsx +0 -11
  354. package/packages/list/src/ItemMeta.jsx +0 -11
  355. package/packages/list/src/List.jsx +0 -11
  356. package/packages/locale-provider/index.js +0 -12
  357. package/packages/locale-provider/src/LocaleProvider.jsx +0 -11
  358. package/packages/map/index.js +0 -10
  359. package/packages/map/src/Map.vue +0 -484
  360. package/packages/map/src/popup-map.vue +0 -53
  361. package/packages/mentions/index.js +0 -18
  362. package/packages/mentions/src/Mentions.jsx +0 -11
  363. package/packages/mentions/src/Option.jsx +0 -11
  364. package/packages/menu/index.js +0 -27
  365. package/packages/menu/src/Divider.jsx +0 -11
  366. package/packages/menu/src/Item.jsx +0 -11
  367. package/packages/menu/src/ItemGroup.jsx +0 -11
  368. package/packages/menu/src/Menu.jsx +0 -11
  369. package/packages/menu/src/SubMenu.jsx +0 -11
  370. package/packages/message/index.js +0 -8
  371. package/packages/modal/index.js +0 -10
  372. package/packages/modal/src/Modal.js +0 -7
  373. package/packages/multi-chat/chat/addConference.vue +0 -200
  374. package/packages/multi-chat/chat/addMembers.vue +0 -411
  375. package/packages/multi-chat/chat/advancedFilter.vue +0 -372
  376. package/packages/multi-chat/chat/audio.vue +0 -599
  377. package/packages/multi-chat/chat/calling.vue +0 -246
  378. package/packages/multi-chat/chat/chatFooter.vue +0 -1647
  379. package/packages/multi-chat/chat/chatHeader.vue +0 -493
  380. package/packages/multi-chat/chat/chatHistory.vue +0 -605
  381. package/packages/multi-chat/chat/chatMain.vue +0 -1490
  382. package/packages/multi-chat/chat/client/clientChat.vue +0 -731
  383. package/packages/multi-chat/chat/client/index.vue +0 -149
  384. package/packages/multi-chat/chat/delay.vue +0 -177
  385. package/packages/multi-chat/chat/evaluate.vue +0 -343
  386. package/packages/multi-chat/chat/index.vue +0 -2419
  387. package/packages/multi-chat/chat/messageRecord.vue +0 -324
  388. package/packages/multi-chat/chat/mixins/NoData.js +0 -20
  389. package/packages/multi-chat/chat/mixins/base.js +0 -97
  390. package/packages/multi-chat/chat/mixins/uniRTCAPI.js +0 -80
  391. package/packages/multi-chat/chat/mixins/viewerOptions.js +0 -67
  392. package/packages/multi-chat/chat/multiVideo.vue +0 -1426
  393. package/packages/multi-chat/chat/quickReply.vue +0 -439
  394. package/packages/multi-chat/chat/robot/index.vue +0 -312
  395. package/packages/multi-chat/chat/scrollList.vue +0 -1259
  396. package/packages/multi-chat/chat/video.vue +0 -404
  397. package/packages/multi-chat/chat/videoVoiceList.vue +0 -348
  398. package/packages/multi-chat/chat/voice.vue +0 -431
  399. package/packages/multi-chat/components/avatar.vue +0 -113
  400. package/packages/multi-chat/components/chat-tabs-header.vue +0 -251
  401. package/packages/multi-chat/components/classify-tabs.vue +0 -185
  402. package/packages/multi-chat/components/empty.vue +0 -24
  403. package/packages/multi-chat/components/modal-refuse-reason.vue +0 -112
  404. package/packages/multi-chat/components/modal-sip.vue +0 -160
  405. package/packages/multi-chat/components/modal-user-transfer.vue +0 -98
  406. package/packages/multi-chat/components/msg-describe.vue +0 -138
  407. package/packages/multi-chat/components/msg-picture.vue +0 -68
  408. package/packages/multi-chat/components/msg-prescription.vue +0 -205
  409. package/packages/multi-chat/components/read-record.vue +0 -133
  410. package/packages/multi-chat/components/read-status.vue +0 -34
  411. package/packages/multi-chat/components/user-status.vue +0 -198
  412. package/packages/multi-chat/components/vuecmf-dialog.vue +0 -323
  413. package/packages/multi-chat/img/OFF-LINE.png +0 -0
  414. package/packages/multi-chat/img/ON-LINE.png +0 -0
  415. package/packages/multi-chat/img/accept.png +0 -0
  416. package/packages/multi-chat/img/add-person.png +0 -0
  417. package/packages/multi-chat/img/add_prescription.png +0 -0
  418. package/packages/multi-chat/img/all-voice.png +0 -0
  419. package/packages/multi-chat/img/audio-new.png +0 -0
  420. package/packages/multi-chat/img/audio-play.gif +0 -0
  421. package/packages/multi-chat/img/audio.png +0 -0
  422. package/packages/multi-chat/img/base-info-active.png +0 -0
  423. package/packages/multi-chat/img/base-info.png +0 -0
  424. package/packages/multi-chat/img/busy_line.png +0 -0
  425. package/packages/multi-chat/img/call.png +0 -0
  426. package/packages/multi-chat/img/callin.png +0 -0
  427. package/packages/multi-chat/img/callin_cancel.png +0 -0
  428. package/packages/multi-chat/img/calling.png +0 -0
  429. package/packages/multi-chat/img/callout.png +0 -0
  430. package/packages/multi-chat/img/callout_cancel.png +0 -0
  431. package/packages/multi-chat/img/close.png +0 -0
  432. package/packages/multi-chat/img/close_video.png +0 -0
  433. package/packages/multi-chat/img/customer-service-active.png +0 -0
  434. package/packages/multi-chat/img/customer-service.png +0 -0
  435. package/packages/multi-chat/img/customer.png +0 -0
  436. package/packages/multi-chat/img/customer_staff.png +0 -0
  437. package/packages/multi-chat/img/default.png +0 -0
  438. package/packages/multi-chat/img/ellipsis.png +0 -0
  439. package/packages/multi-chat/img/end-voice.png +0 -0
  440. package/packages/multi-chat/img/event-active.png +0 -0
  441. package/packages/multi-chat/img/event.png +0 -0
  442. package/packages/multi-chat/img/exp.png +0 -0
  443. package/packages/multi-chat/img/full-sceen-close.png +0 -0
  444. package/packages/multi-chat/img/full-sceen.png +0 -0
  445. package/packages/multi-chat/img/icon_list.png +0 -0
  446. package/packages/multi-chat/img/icon_list_active.png +0 -0
  447. package/packages/multi-chat/img/icon_table.png +0 -0
  448. package/packages/multi-chat/img/icon_table_active.png +0 -0
  449. package/packages/multi-chat/img/join-video.png +0 -0
  450. package/packages/multi-chat/img/large.png +0 -0
  451. package/packages/multi-chat/img/left-wrapper.png +0 -0
  452. package/packages/multi-chat/img/left.png +0 -0
  453. package/packages/multi-chat/img/medical_record.png +0 -0
  454. package/packages/multi-chat/img/middle.png +0 -0
  455. package/packages/multi-chat/img/msgTip.mp3 +0 -0
  456. package/packages/multi-chat/img/multi-video.png +0 -0
  457. package/packages/multi-chat/img/multi-voice.png +0 -0
  458. package/packages/multi-chat/img/mute-audio.png +0 -0
  459. package/packages/multi-chat/img/muted-audio.png +0 -0
  460. package/packages/multi-chat/img/muted-screen.png +0 -0
  461. package/packages/multi-chat/img/muted-video.png +0 -0
  462. package/packages/multi-chat/img/no-all-voice.png +0 -0
  463. package/packages/multi-chat/img/no-data.png +0 -0
  464. package/packages/multi-chat/img/no-data2.png +0 -0
  465. package/packages/multi-chat/img/no-screen.png +0 -0
  466. package/packages/multi-chat/img/no-video.png +0 -0
  467. package/packages/multi-chat/img/no-voice.png +0 -0
  468. package/packages/multi-chat/img/no-voiced.png +0 -0
  469. package/packages/multi-chat/img/normal-screen.png +0 -0
  470. package/packages/multi-chat/img/normal-video.png +0 -0
  471. package/packages/multi-chat/img/over.png +0 -0
  472. package/packages/multi-chat/img/portrait.png +0 -0
  473. package/packages/multi-chat/img/prescription.png +0 -0
  474. package/packages/multi-chat/img/receive.png +0 -0
  475. package/packages/multi-chat/img/reject.png +0 -0
  476. package/packages/multi-chat/img/remove.png +0 -0
  477. package/packages/multi-chat/img/replay.png +0 -0
  478. package/packages/multi-chat/img/required.png +0 -0
  479. package/packages/multi-chat/img/screen.png +0 -0
  480. package/packages/multi-chat/img/send_prescription.png +0 -0
  481. package/packages/multi-chat/img/setting.png +0 -0
  482. package/packages/multi-chat/img/small.png +0 -0
  483. package/packages/multi-chat/img/sound.png +0 -0
  484. package/packages/multi-chat/img/sound_forbid.png +0 -0
  485. package/packages/multi-chat/img/start_video.png +0 -0
  486. package/packages/multi-chat/img/system_message.png +0 -0
  487. package/packages/multi-chat/img/to-session.png +0 -0
  488. package/packages/multi-chat/img/transfer.png +0 -0
  489. package/packages/multi-chat/img/transfer2.png +0 -0
  490. package/packages/multi-chat/img/video-accept.png +0 -0
  491. package/packages/multi-chat/img/video.png +0 -0
  492. package/packages/multi-chat/img/video_consult.png +0 -0
  493. package/packages/multi-chat/img/voice.png +0 -0
  494. package/packages/multi-chat/img/worktime-active.png +0 -0
  495. package/packages/multi-chat/img/worktime.png +0 -0
  496. package/packages/multi-chat/index.js +0 -7
  497. package/packages/multi-chat/setting/authority/index.vue +0 -156
  498. package/packages/multi-chat/setting/authority/roleSetting.vue +0 -204
  499. package/packages/multi-chat/setting/baseInfo/index.vue +0 -1343
  500. package/packages/multi-chat/setting/configuration/index.vue +0 -334
  501. package/packages/multi-chat/setting/customerService/batchSelect.vue +0 -403
  502. package/packages/multi-chat/setting/customerService/index.vue +0 -273
  503. package/packages/multi-chat/setting/event/edit/condition.vue +0 -128
  504. package/packages/multi-chat/setting/event/edit/index.vue +0 -437
  505. package/packages/multi-chat/setting/event/edit/notice.vue +0 -129
  506. package/packages/multi-chat/setting/event/edit/strategy.vue +0 -98
  507. package/packages/multi-chat/setting/event/index.vue +0 -249
  508. package/packages/multi-chat/setting/index.vue +0 -281
  509. package/packages/multi-chat/setting/page.vue +0 -14
  510. package/packages/multi-chat/setting/sessionList/index.vue +0 -412
  511. package/packages/multi-chat/setting/sessionList/messageRecord.vue +0 -372
  512. package/packages/multi-chat/setting/userConfig/index.vue +0 -124
  513. package/packages/multi-chat/setting/worktime/index.vue +0 -274
  514. package/packages/multi-chat/store/actions.js +0 -452
  515. package/packages/multi-chat/store/getters.js +0 -380
  516. package/packages/multi-chat/store/helper.js +0 -66
  517. package/packages/multi-chat/store/index.js +0 -50
  518. package/packages/multi-chat/store/mutation.js +0 -305
  519. package/packages/multi-chat/store/state.js +0 -120
  520. package/packages/multi-chat/style/emoji.css +0 -315
  521. package/packages/multi-chat/style/message.mixin.less +0 -38
  522. package/packages/multi-chat/utils/chatSock.js +0 -93
  523. package/packages/multi-chat/utils/compressImage.js +0 -115
  524. package/packages/multi-chat/utils/emoji.json +0 -68
  525. package/packages/multi-chat/utils/index.js +0 -259
  526. package/packages/multi-chat/utils/observer-scroll.js +0 -49
  527. package/packages/multi-chat/utils/panelsetting.js +0 -48
  528. package/packages/multi-chat/utils/rtc-client-multi.js +0 -397
  529. package/packages/multi-chat/utils/rtc-client.js +0 -469
  530. package/packages/multi-chat-client/index.js +0 -7
  531. package/packages/multi-chat-history/index.js +0 -7
  532. package/packages/multi-chat-record/index.js +0 -7
  533. package/packages/multi-chat-setting/index.js +0 -7
  534. package/packages/multi-chat-sip/index.js +0 -6
  535. package/packages/notification/index.js +0 -8
  536. package/packages/page-header/index.js +0 -12
  537. package/packages/page-header/src/PageHeader.jsx +0 -11
  538. package/packages/pagination/index.js +0 -12
  539. package/packages/pagination/src/Pagination.jsx +0 -11
  540. package/packages/popconfirm/index.js +0 -12
  541. package/packages/popconfirm/src/Popconfirm.jsx +0 -11
  542. package/packages/popover/index.js +0 -12
  543. package/packages/popover/src/Popover.jsx +0 -11
  544. package/packages/progress/index.js +0 -12
  545. package/packages/progress/src/Progress.jsx +0 -11
  546. package/packages/radio/index.js +0 -33
  547. package/packages/radio/src/Group.jsx +0 -11
  548. package/packages/radio/src/Radio.jsx +0 -11
  549. package/packages/radio/src/RadioButton.jsx +0 -11
  550. package/packages/radio/src/RadioImg/index.vue +0 -125
  551. package/packages/rate/index.js +0 -12
  552. package/packages/rate/src/Rate.jsx +0 -11
  553. package/packages/result/index.js +0 -12
  554. package/packages/result/src/Result.jsx +0 -11
  555. package/packages/row/index.js +0 -12
  556. package/packages/row/src/Row.jsx +0 -11
  557. package/packages/scale-container/index.js +0 -9
  558. package/packages/scale-container/src/ScaleContainer.vue +0 -202
  559. package/packages/scale-container/src/scale.png +0 -0
  560. package/packages/scale-view/NoData.vue +0 -81
  561. package/packages/scale-view/answerParse.vue +0 -133
  562. package/packages/scale-view/assets/img/failure.png +0 -0
  563. package/packages/scale-view/assets/img/no-permission.png +0 -0
  564. package/packages/scale-view/assets/img/nodata.png +0 -0
  565. package/packages/scale-view/assets/img/notfound.png +0 -0
  566. package/packages/scale-view/customList.vue +0 -801
  567. package/packages/scale-view/data.js +0 -80
  568. package/packages/scale-view/directive/drag-move.js +0 -132
  569. package/packages/scale-view/evaluateCountdown.vue +0 -157
  570. package/packages/scale-view/evaluatePage.vue +0 -203
  571. package/packages/scale-view/formitem/data.js +0 -3991
  572. package/packages/scale-view/formitem/index.js +0 -7
  573. package/packages/scale-view/formitem/r-address.vue +0 -245
  574. package/packages/scale-view/formitem/r-choice.vue +0 -755
  575. package/packages/scale-view/formitem/r-input.vue +0 -93
  576. package/packages/scale-view/formitem/r-prompt.vue +0 -52
  577. package/packages/scale-view/formitem/r-sign.vue +0 -218
  578. package/packages/scale-view/formitem/r-time.vue +0 -285
  579. package/packages/scale-view/formitem/r-upload-custom-list.vue +0 -242
  580. package/packages/scale-view/formitem/r-upload.vue +0 -321
  581. package/packages/scale-view/formitem/sign-com.vue +0 -316
  582. package/packages/scale-view/formitem/text-over-tooltip/TextOverTooltip.vue +0 -98
  583. package/packages/scale-view/index.js +0 -17
  584. package/packages/scale-view/mixin/NoData.js +0 -38
  585. package/packages/scale-view/mixin/addressVal.js +0 -156
  586. package/packages/scale-view/mixin/evaluate.js +0 -146
  587. package/packages/scale-view/mixin/index.js +0 -337
  588. package/packages/scale-view/mixin/judgeTypes.js +0 -267
  589. package/packages/scale-view/scaleView.vue +0 -2086
  590. package/packages/select/index.js +0 -30
  591. package/packages/select/src/CustomSelect/index.vue +0 -130
  592. package/packages/select/src/OptGroup.jsx +0 -11
  593. package/packages/select/src/Option.jsx +0 -11
  594. package/packages/select/src/PagerSelect/index.vue +0 -92
  595. package/packages/select/src/Select/Select.vue +0 -231
  596. package/packages/select/src/Select/index.js +0 -12
  597. package/packages/select/src/TableSelect/index.vue +0 -514
  598. package/packages/select-label/index.js +0 -14
  599. package/packages/select-label/label-classify.vue +0 -129
  600. package/packages/select-label/labelFormContent.vue +0 -787
  601. package/packages/select-label/select-label.vue +0 -597
  602. package/packages/select-person/index.js +0 -10
  603. package/packages/select-person/search-tree.vue +0 -373
  604. package/packages/select-person/select-person.vue +0 -1736
  605. package/packages/select-tag/index.js +0 -14
  606. package/packages/select-tag/label-classify.vue +0 -133
  607. package/packages/select-tag/labelFormContent.vue +0 -295
  608. package/packages/select-tag/select-label.vue +0 -274
  609. package/packages/shortcut-provider/index.js +0 -10
  610. package/packages/shortcut-provider/src/ShortcutProvider.vue +0 -33
  611. package/packages/shortcut-provider/src/constants/index.js +0 -4
  612. package/packages/shortcut-provider/src/hooks/index.js +0 -1
  613. package/packages/shortcut-provider/src/hooks/useShortcuts.js +0 -129
  614. package/packages/shortcut-provider/src/utils/index.js +0 -107
  615. package/packages/shortcut-setter/index.js +0 -12
  616. package/packages/shortcut-setter/src/ShortcutSetter.vue +0 -55
  617. package/packages/shortcut-setter/src/ShortcutSetterItem.vue +0 -97
  618. package/packages/shortcut-setter/src/utils/index.js +0 -63
  619. package/packages/skeleton/index.js +0 -12
  620. package/packages/skeleton/src/Skeleton.jsx +0 -11
  621. package/packages/slider/index.js +0 -12
  622. package/packages/slider/src/Slider.jsx +0 -11
  623. package/packages/slider-tree/hooks/useAsyncData.js +0 -53
  624. package/packages/slider-tree/index.js +0 -7
  625. package/packages/slider-tree/index.vue +0 -391
  626. package/packages/slider-tree/utils/index.js +0 -10
  627. package/packages/space/index.js +0 -12
  628. package/packages/space/src/Space.jsx +0 -11
  629. package/packages/spin/index.js +0 -12
  630. package/packages/spin/src/Spin.jsx +0 -11
  631. package/packages/statistic/index.js +0 -18
  632. package/packages/statistic/src/Countdown.jsx +0 -11
  633. package/packages/statistic/src/Statistic.jsx +0 -11
  634. package/packages/steps/index.js +0 -18
  635. package/packages/steps/src/Step.jsx +0 -11
  636. package/packages/steps/src/Steps.jsx +0 -11
  637. package/packages/switch/index.js +0 -12
  638. package/packages/switch/src/Switch.jsx +0 -11
  639. package/packages/table-filter/index.js +0 -27
  640. package/packages/table-filter/src/base-search-com/BaseSearch.vue +0 -2690
  641. package/packages/table-filter/src/classification/Classification-com.vue +0 -1765
  642. package/packages/table-filter/src/classification/search-class-name.vue +0 -266
  643. package/packages/table-filter/src/classification/search-professional-model.vue +0 -680
  644. package/packages/table-filter/src/components/TextOverTooltip.vue +0 -120
  645. package/packages/table-filter/src/components/age-com/index.vue +0 -205
  646. package/packages/table-filter/src/components/button-group/ButtonGroup.vue +0 -162
  647. package/packages/table-filter/src/components/button-icon/button-icon.js +0 -33
  648. package/packages/table-filter/src/components/button-icon/getBtnIcon.js +0 -34
  649. package/packages/table-filter/src/components/c-tree-select/tree-select.vue +0 -336
  650. package/packages/table-filter/src/components/checkbox-group/CheckboxGroup.vue +0 -53
  651. package/packages/table-filter/src/components/drop-button/drop-button.vue +0 -224
  652. package/packages/table-filter/src/components/drop-button/head-btn-icon.js +0 -33
  653. package/packages/table-filter/src/components/drop-view/drop-view.vue +0 -89
  654. package/packages/table-filter/src/components/multi-select/multi-select.vue +0 -242
  655. package/packages/table-filter/src/components/out-quick-search/out-quick-search.vue +0 -232
  656. package/packages/table-filter/src/components/range-age/index.vue +0 -171
  657. package/packages/table-filter/src/components/render-widget/components/CheckboxGroup.vue +0 -68
  658. package/packages/table-filter/src/components/render-widget/components/DateRangeQuick.vue +0 -216
  659. package/packages/table-filter/src/components/render-widget/components/Label.vue +0 -209
  660. package/packages/table-filter/src/components/render-widget/components/NumberRange.vue +0 -157
  661. package/packages/table-filter/src/components/render-widget/components/Select.vue +0 -62
  662. package/packages/table-filter/src/components/render-widget/components/SelectDynamic.vue +0 -287
  663. package/packages/table-filter/src/components/render-widget/components/SelectLabel.vue +0 -80
  664. package/packages/table-filter/src/components/render-widget/components/SelectTree.vue +0 -145
  665. package/packages/table-filter/src/components/render-widget/components/Text.vue +0 -58
  666. package/packages/table-filter/src/components/render-widget/components/index.js +0 -11
  667. package/packages/table-filter/src/components/render-widget/enums.js +0 -60
  668. package/packages/table-filter/src/components/render-widget/helpers/presetValToTimestamp.js +0 -282
  669. package/packages/table-filter/src/components/render-widget/index.vue +0 -150
  670. package/packages/table-filter/src/components/render-widget/mixins/dynamic-method.js +0 -185
  671. package/packages/table-filter/src/components/render-widget/mixins/label-method.js +0 -23
  672. package/packages/table-filter/src/components/render-widget/widgetCfgMaps.js +0 -354
  673. package/packages/table-filter/src/components/search-condition/SearchCondition.vue +0 -2016
  674. package/packages/table-filter/src/components/search-condition/fieldTypeList.js +0 -169
  675. package/packages/table-filter/src/components/search-filter/SearchFilter.vue +0 -280
  676. package/packages/table-filter/src/components/search-modal/set-classification.vue +0 -340
  677. package/packages/table-filter/src/components/table-modal/TableModal.vue +0 -477
  678. package/packages/table-filter/src/const/dataOptions.js +0 -43
  679. package/packages/table-filter/src/const/index.js +0 -1
  680. package/packages/table-filter/src/index.vue +0 -584
  681. package/packages/table-filter/src/mixins/mixins.js +0 -870
  682. package/packages/table-filter/src/mixins/out-quick-method.js +0 -123
  683. package/packages/table-filter/src/mixins/printNew.js +0 -190
  684. package/packages/table-filter/src/mixins/renderWidget.js +0 -122
  685. package/packages/table-filter/src/mixins/tableSearchCon.js +0 -128
  686. package/packages/table-filter/src/mixins/wordBookutils.js +0 -130
  687. package/packages/table-filter/src/quick-search/QuickSearch.vue +0 -2272
  688. package/packages/tabs/index.js +0 -18
  689. package/packages/tabs/src/TabPane.jsx +0 -11
  690. package/packages/tabs/src/Tabs.jsx +0 -11
  691. package/packages/tag/index.js +0 -21
  692. package/packages/tag/src/CheckableTag.jsx +0 -11
  693. package/packages/tag/src/Tag.jsx +0 -11
  694. package/packages/tag/src/TagGroup.vue +0 -622
  695. package/packages/time-picker/index.js +0 -12
  696. package/packages/time-picker/src/TimePicker.jsx +0 -11
  697. package/packages/timeline/index.js +0 -14
  698. package/packages/timeline/src/Item.jsx +0 -11
  699. package/packages/timeline/src/Timeline.jsx +0 -11
  700. package/packages/tooltip/index.js +0 -12
  701. package/packages/tooltip/src/Tooltip.jsx +0 -11
  702. package/packages/transfer/index.js +0 -12
  703. package/packages/transfer/src/Transfer.jsx +0 -11
  704. package/packages/tree/index.js +0 -18
  705. package/packages/tree/src/Tree.jsx +0 -11
  706. package/packages/tree/src/TreeNode.jsx +0 -11
  707. package/packages/tree-select/index.js +0 -18
  708. package/packages/tree-select/src/TreeNode.jsx +0 -11
  709. package/packages/tree-select/src/TreeSelect.jsx +0 -11
  710. package/packages/upload/chunk-upload/chunk-upload-new.vue +0 -1006
  711. package/packages/upload/chunk-upload/vod-chunk-upload.vue +0 -757
  712. package/packages/upload/chunk-upload/vod-upload-modal.vue +0 -100
  713. package/packages/upload/index.js +0 -12
  714. package/packages/upload/src/Upload.jsx +0 -11
  715. package/packages/verification-code/SlideVerify.vue +0 -306
  716. package/packages/verification-code/index.js +0 -17
  717. package/packages/verification-code/verification-code.vue +0 -147
  718. package/src/assets/img/nodata.png +0 -0
  719. package/src/assets/img/success.png +0 -0
  720. package/src/assets/img/video.png +0 -0
  721. package/src/assets/img/video_default_cover.png +0 -0
  722. package/src/assets/img/video_hover.png +0 -0
  723. package/src/assets/img/video_play_hover.png +0 -0
  724. package/src/component/player-vod/index.vue +0 -57
  725. package/src/component/player-vod/player.vue +0 -192
  726. package/src/component/player-vod/video-list.vue +0 -262
  727. package/src/component/player-vod/video-modal.vue +0 -128
  728. package/src/component/select-options/index.vue +0 -430
  729. package/src/component/select-pages/index.vue +0 -95
  730. package/src/component/svg/index.vue +0 -59
  731. package/src/core/create.js +0 -6
  732. package/src/core/event.js +0 -23
  733. package/src/core/table-methods.js +0 -447
  734. package/src/directive/flexibleResize.js +0 -162
  735. package/src/directive/preventReClick.js +0 -12
  736. package/src/directive/scroll.js +0 -230
  737. package/src/global/variable.js +0 -2
  738. package/src/style/normalize.css +0 -424
  739. package/src/style/style.less +0 -49
  740. package/src/utils/UniRTCv2.js +0 -627
  741. package/src/utils/chatFetch.js +0 -61
  742. package/src/utils/clickoutside.js +0 -75
  743. package/src/utils/crypto.js +0 -25
  744. package/src/utils/index.js +0 -103
  745. package/src/utils/kty-sdk.js +0 -582
  746. package/src/utils/kty.min-1.0.0.js +0 -14378
  747. package/src/utils/sip-device.js +0 -79
  748. package/src/utils/time-domain.js +0 -270
  749. package/src/utils/trtc.js +0 -1
  750. package/src/utils/utils-map.js +0 -485
  751. package/src/utils/vexutils.js +0 -836
@@ -1,1447 +0,0 @@
1
- <template>
2
- <div class="poly-line">
3
- <MouseRightClick v-show="isRightVisible" :getContainer="getContainer" :nodeList="rightClickNode" :rightPos="rightPos" @nodeClick="handleRightClick" @closeRight="isRightVisible = false" />
4
-
5
- <DropPopup v-show="isDropVisible" :val="dropVal" :dropPos="dropPos" />
6
- </div>
7
- </template>
8
-
9
- <script>
10
- import FabricCommon from '../mixins/fabricCommon';
11
- import draw from '../mixins/draw';
12
- import eventCommon from '../mixins/eventCommon';
13
- import MouseRightClick from '../components/MouseRightClick';
14
- import DropPopup from '../components/DropPopup';
15
- import defaultVaule from '../const/defaultVaule';
16
- import Bus from '../utils/bus';
17
- import { nearlyEqual, getUuid, toReversed } from '../utils';
18
- import vexutils from '@/utils/vexutils';
19
-
20
- /**
21
- * @description: 递归遍历节点,设置颜色属性
22
- * @param {fabric.Object[]} pointArr
23
- * @param {string}} color
24
- * @return {*}
25
- */
26
-
27
- function resetPointColor(pointArr, color) {
28
- pointArr.forEach(point => {
29
- const { fill, stroke } = point;
30
- if (fill && !fill.includes('#fff') && fill !== 'transparent') {
31
- point.set({ fill: color });
32
- }
33
- if (stroke && !stroke.includes('#fff') && stroke !== 'transparent') {
34
- point.set({ stroke: color });
35
- }
36
- if (point._objects?.length) {
37
- resetPointColor(point._objects, color);
38
- }
39
- });
40
- }
41
- const setPointLineColor = (point, color, isRight) => {
42
- const lineColor = color === 'transparent' ? color : isRight ? point.prevPoint?.__attrs?.lineAttr?.stroke || color : color;
43
- if (isRight) {
44
- point.line1?.set({ stroke: lineColor });
45
- point.line2?.set({ stroke: color });
46
- } else {
47
- point.line2?.set({ stroke: lineColor });
48
- point.line1?.set({ stroke: color });
49
- }
50
- // point.line2?.set({ stroke: color });
51
- // conditionHasLine && point.line2?.set({ stroke: color });
52
- };
53
-
54
- const isEffectiveNode = node => {
55
- return node?.time && (node?.value || node?.value === 0);
56
- };
57
- const rightClickNode = [
58
- { name: '新增节点', type: 'add' },
59
- { name: '监测项设置', type: 'set' },
60
- { name: '体征数据详情', type: 'detail' },
61
- { name: '删除节点', type: 'delete' }
62
- ];
63
- const rightClickNodeConnect = [
64
- { name: '新增节点连接右侧节点', type: 'add' },
65
- { name: '新增节点连接左侧节点', type: 'add' }
66
- ];
67
- export default {
68
- name: 'fabric-polylines',
69
- mixins: [FabricCommon, draw, eventCommon],
70
- inject: ['$propItems'],
71
- props: {
72
- polyline: {
73
- type: Array,
74
- required: true
75
- },
76
- other: {
77
- type: Object,
78
- default: () => {}
79
- },
80
- timeRangeStyle: { type: Object }
81
- },
82
- components: {
83
- MouseRightClick,
84
- DropPopup
85
- },
86
- data() {
87
- return {
88
- isDropVisible: false,
89
- dropVal: {},
90
- dropPos: { clientX: 0, clientY: 0 },
91
- rightPos: { clientX: 0, clientY: 0 },
92
- rightClickNode: [],
93
- activeEvent: null, // 当前可右键活动的对象
94
- addPointList: [], // 快速新增的节点list
95
- addPointObjList: [], // 批量新增节点对象的缓存
96
- isSelectArea: false, // 是否正在选区
97
- selectArea: null, // 选区矩形对象
98
- currentDelPoint: null, // 缓存当前可批量删除的项目线段上的点
99
- polylinePointList: [], // 缓存折线项目节点
100
- isMovingToOtherTarget: false,
101
- interval: null,
102
- flickerablePoints: [], // 记录需要闪烁的节点
103
- timeRangeData: {
104
- enabled: false, // 是否开启
105
- line1: null,
106
- line2: null,
107
- rect: null
108
- }
109
- };
110
- },
111
- computed: {
112
- eventStyle() {
113
- return this.propItems.eventStyle;
114
- },
115
- spaceWidth() {
116
- const { xCellWidth, table } = this.propItems;
117
- // const addPointSpaceGridNumbers = table.addPointSpaceGridNumbers || [];
118
- let addPointSpaceGridNumber = table.addPointSpaceGridNumber || 1;
119
- const spaceWidth = xCellWidth * addPointSpaceGridNumber;
120
- return spaceWidth;
121
- }
122
- },
123
-
124
- mounted() {
125
- Bus.$on('mouseoverTarget', isMovingToOtherTarget => {
126
- this.isMovingToOtherTarget = isMovingToOtherTarget;
127
- if (isMovingToOtherTarget) this.isDropVisible = false;
128
- });
129
- },
130
-
131
- methods: {
132
- init() {
133
- this.drawPolylineTitle();
134
- this.polylinePointList = [];
135
- this.flickerablePoints = [];
136
- this.polyline.forEach((polylineType, polylineTypeId) => {
137
- this.createPolyline(polylineType, polylineTypeId);
138
- });
139
- this.eventStyle.evented && this.createEvent();
140
- this.setFlicker();
141
- },
142
- createEvent() {
143
- this.canvas.on('mouse:up', event => {
144
- if (event.button === 3) {
145
- // 取消时间范围选区状态
146
- if (this.timeRangeData.enabled) {
147
- Object.keys(this.timeRangeData).forEach(key => {
148
- if (['enabled'].includes(key)) this.timeRangeData[key] = false;
149
- if (['line1', 'line2', 'rect'].includes(key)) {
150
- this.timeRangeData[key] && this.canvas.remove(this.timeRangeData[key]);
151
- this.timeRangeData[key] = null;
152
- }
153
- });
154
- return;
155
- }
156
- const { x, y } = event.pointer;
157
- if (this.isGridLimit(x, y)) {
158
- this.activeEvent = event;
159
- !this.isAddEventListenerContextmenu && this.canvas.wrapperEl.addEventListener('contextmenu', this.addEventListenerContextmenu, true);
160
- this.isAddEventListenerContextmenu = true;
161
- }
162
- }
163
-
164
- // 左键松开鼠标-批量删除
165
- this.isSelectArea = false;
166
- if (event.button === 1 && this.selectArea) {
167
- const { polylineList, otherList, startTime, endTime } = this.getAreaPoints();
168
- !polylineList.length && !otherList.length && this.removeSelectArea();
169
- if (polylineList.length > 0 && this.selectArea) {
170
- this.$emit('pointOperation', 'delete', { startTime, endTime, data: polylineList });
171
- this.currentDelPoint = null;
172
- }
173
- if (otherList.length > 0 && this.selectArea) {
174
- Bus.$emit('deleteOther', { startTime, endTime, data: otherList });
175
- this.currentDelPoint = null;
176
- }
177
- }
178
- });
179
- let startPos;
180
- this.canvas.on('mouse:down', event => {
181
- if (event.button !== 1) return;
182
-
183
- // 处理时间范围选区
184
- const { enabled, line1, line2, rect } = this.timeRangeData;
185
- const { originY, endY, xScaleCellList } = this.propItems;
186
- if (enabled) {
187
- const left = xScaleCellList
188
- .map(item => item.x)
189
- .reduce((pre, curr) => {
190
- return Math.abs(pre - event.pointer.x) > Math.abs(curr - event.pointer.x) ? curr : pre;
191
- });
192
- if (line1 && !line1.__fixed) {
193
- line1.__fixed = true;
194
- line1.setCoords().set({ x1: left, x2: left });
195
- } else if (line2 && !line2.__fixed) {
196
- line2.__fixed = true;
197
- line2.setCoords().set({ x1: left, x2: left });
198
- const [startLeft, endLeft] = [line1.x1, line2.x1].sort((a, b) => a - b);
199
- this.timeRangeData.rect && this.canvas.remove(this.timeRangeData.rect);
200
- this.timeRangeData.rect = new this.fabric.Rect({
201
- ...defaultVaule.style,
202
- fill: '#CAF982',
203
- opacity: 0.4,
204
- left: startLeft,
205
- top: line1.y1,
206
- width: endLeft - startLeft,
207
- height: endY - originY,
208
- ...(this.timeRangeStyle.rect || {})
209
- });
210
- this.canvas.add(this.timeRangeData.rect);
211
-
212
- this.$emit('timeRangeChange', {
213
- start: this.getXValue(startLeft),
214
- end: this.getXValue(endLeft)
215
- });
216
- }
217
- return;
218
- }
219
-
220
- if (!event.target) {
221
- this.isSelectArea = true;
222
- startPos = event.pointer;
223
- }
224
- });
225
- this.canvas.on('mouse:move', event => {
226
- this.isSelectArea && this.createSelectArea(event, startPos);
227
- this.setTimeRange(event.pointer);
228
- });
229
- },
230
- handleMoving(event) {
231
- // 如果移动到其他节点如气血分析、标记位节点上时需要隐藏折线组件中的提示弹框
232
- if (this.isMovingToOtherTarget) return;
233
- const { pointer } = event;
234
- const { x, y } = pointer;
235
- this.dropPointer = { ...pointer };
236
- const left = this.getYValue('left', y);
237
- const right = this.getYValue('right', y);
238
- const movingPopupContentList = [
239
- { id: '1', name: '时间', value: this.getXValue(x) },
240
- {
241
- id: '2',
242
- name: '值',
243
- value: `${this.formatValue('left', left)} / ${this.formatValue('right', right)}℃`
244
- }
245
- ];
246
- this.movingShowPopup(movingPopupContentList);
247
- },
248
- // 获取选区内包含的节点
249
- getAreaPoints() {
250
- const polylineList = [];
251
- let otherList = [];
252
- if (!this.selectArea?.areaPos) return { polylineList, otherList };
253
- const { startPos, endPos } = this.selectArea.areaPos;
254
- const [x1, x2] = [startPos.x, endPos.x].sort((a, b) => a - b);
255
- const [y1, y2] = [startPos.y, endPos.y].sort((a, b) => a - b);
256
- this.canvas.forEachObject(obj => {
257
- const { id, left, top } = obj;
258
- const isArea = left >= x1 && left <= x2 && top >= y1 && top <= y2;
259
- if (isArea && this.isGridLimit(left, top) && id) {
260
- if (/_polyline(Point)_/.test(id)) {
261
- const data = this.getDataByPoint(obj);
262
- if (this.currentDelPoint) {
263
- if (this.currentDelPoint.polylineIndex == obj.polylineIndex) {
264
- polylineList.push(data);
265
- }
266
- } else {
267
- polylineList.push(data);
268
- }
269
- }
270
- if (id.includes('_other') && obj.type === 'list' && !this.currentDelPoint) {
271
- const data = {
272
- type: obj.type,
273
- index: obj.index,
274
- dataIndex: obj.dataIndex
275
- };
276
- otherList.push(data);
277
- }
278
- }
279
- });
280
- if (polylineList.length > 0) {
281
- otherList = [];
282
- }
283
- return { polylineList, otherList, startTime: this.getXValue(x1), endTime: this.getXValue(x2) };
284
- },
285
- // 创建选区
286
- createSelectArea(event, startPos) {
287
- this.selectArea && this.canvas.remove(this.selectArea);
288
- const { x: x1, y: y1 } = startPos;
289
- const { x: x2, y: y2 } = event.pointer;
290
- this.selectArea = new this.fabric.Rect({
291
- ...defaultVaule.style,
292
- fill: '#CAF982',
293
- opacity: 0.4,
294
- left: x1,
295
- top: y1,
296
- width: x2 - x1,
297
- height: y2 - y1
298
- });
299
- this.selectArea.areaPos = { startPos, endPos: event.pointer };
300
- this.canvas.add(this.selectArea);
301
- },
302
- createTimeRangeLine(line, pointer) {
303
- const { originY, endY } = this.propItems;
304
- const { x, y } = pointer;
305
- this.timeRangeData[line] && this.canvas.remove(this.timeRangeData[line]);
306
- this.timeRangeData[line] = this.drawLine([x, originY, x, endY], {
307
- stroke: '#4b790287',
308
- strokeWidth: 3,
309
- ...(this.timeRangeStyle.line || {})
310
- });
311
- this.canvas.add(this.timeRangeData[line]);
312
- },
313
- setTimeRange(pointer) {
314
- const { enabled, line1, line2 } = this.timeRangeData;
315
- const { x, y } = pointer;
316
- if (!enabled || !this.isGridLimit(x, y)) return;
317
-
318
- // 使用setCoords().set({ x1: x, x2: x })方法更改其坐标会产生很明显的卡顿现象,可能是canvas.on('mouse:move')抛出的事件节流了
319
-
320
- if (!line1?.__fixed) {
321
- this.createTimeRangeLine('line1', pointer);
322
- } else if (!line2?.__fixed) {
323
- this.createTimeRangeLine('line2', pointer);
324
- }
325
- },
326
- // 每一个折线类别
327
- createPolyline(polylineType, polylineTypeId) {
328
- polylineType.dataList.forEach((polylineItem, polylineIndex) => {
329
- this.drawPolyline(polylineItem, polylineIndex, polylineType, polylineTypeId);
330
- });
331
- },
332
- // 绘制左侧折线标题
333
- drawPolylineTitle() {
334
- const { endY, markHeight, treeTableminCellWidth, originX, xScaleList, endX } = this.propItems;
335
- const leftYScalevalue = this.polyline.find(v => v.position === 'left');
336
- const lableMargin = leftYScalevalue.lableMargin || [5, 30];
337
- const lableLineHeight = leftYScalevalue.lableLineHeight || 20;
338
- const style = leftYScalevalue.style || { fontSize: 12, fill: '#000' };
339
-
340
- const leftTitleList = [];
341
-
342
- const minTime = Math.min(...xScaleList);
343
- const maxTime = Math.max(...xScaleList);
344
-
345
- this.polyline.forEach((item, index) => {
346
- item.dataList.forEach((v, i) => {
347
- let targetList = v.list;
348
- let linkKey = '';
349
- if (v.linkKey) {
350
- const target = item.dataList.find(_data => _data.key === v.linkKey);
351
- if (target) {
352
- targetList = target.list;
353
- linkKey = v.linkKey;
354
- }
355
- }
356
- const point = targetList.find(k => isEffectiveNode(k) && new Date(k.time).getTime() >= minTime && new Date(k.time).getTime() <= maxTime);
357
- const firstPointLeft = point ? this.computedX(point.time) : 0;
358
- const rightLimit = point ? firstPointLeft - this.spaceWidth : '';
359
- // 配置是否可拖动标题图标批量增加-
360
- const isAdd = (firstPointLeft || endX) - this.spaceWidth >= originX;
361
- leftTitleList.push({
362
- title: v.title,
363
- type: v.type,
364
- pointAttr: v.pointAttr,
365
- lineAttr: v.lineAttr,
366
- polylineTypeId: index,
367
- polylineIndex: i,
368
- isAdd,
369
- rightLimit,
370
- __attrs: {
371
- title: v.title,
372
- pointAttr: v.pointAttr,
373
- lineAttr: v.pointAttr,
374
- key: v.key,
375
- linkKey
376
- }
377
- });
378
- });
379
- });
380
-
381
- // 配置左侧title图标(但不是折线项目)
382
- if (this.other?.list && Array.isArray(this.other.list)) {
383
- const otherList = this.other.list.map(v => {
384
- return {
385
- title: v.name,
386
- type: v.type,
387
- pointAttr: v,
388
- isAdd: false,
389
- polylineTypeId: -1,
390
- polylineIndex: -1
391
- };
392
- });
393
- if (this.other.position && this.other.position === 'top') {
394
- leftTitleList.push(...otherList);
395
- } else {
396
- leftTitleList.unshift(...otherList);
397
- }
398
- }
399
-
400
- const eventStyle = { selectable: false, evented: false };
401
- leftTitleList.forEach(async (v, i) => {
402
- const baseTop = endY + markHeight - lableMargin[1];
403
- const top = baseTop - i * lableLineHeight;
404
- const left = lableMargin[0] + treeTableminCellWidth;
405
- const pointId = `${v.polylineTypeId}_${v.polylineIndex}_-1_polylinePoint_'${new Date().getTime()}_isTitle`;
406
- const { fill: fillColor = '#000', stroke } = v.pointAttr;
407
- let text = new this.fabric.Text(String(v.title), {
408
- fontSize: style.fontSize,
409
- fill: fillColor && stroke ? stroke : fillColor,
410
- left,
411
- top,
412
- originY: 'center',
413
- ...defaultVaule.style,
414
- id: pointId
415
- });
416
- const iconLeft = text.width + text.left + 10;
417
- const option = {
418
- left: iconLeft,
419
- top,
420
- ...v.pointAttr,
421
- originY: 'center',
422
- originX: 'center',
423
- lineAttr: v.lineAttr || '',
424
- pointAttr: v.pointAttr,
425
- id: pointId,
426
- polylineTypeId: v.polylineTypeId,
427
- polylineIndex: v.polylineIndex,
428
- ...(v.isAdd && this.eventStyle.evented ? {} : eventStyle),
429
- rightLimit: v.rightLimit || '',
430
- __attrs: v.__attrs
431
- };
432
- let ele;
433
- if (v.type === 'img' && v.pointAttr?.iconClassName) {
434
- ele = await this.createImage(v.pointAttr.iconClassName, v.pointAttr);
435
- }
436
- const icon = await this.createPoint(v.type, {
437
- objectCaching: false,
438
- ele: ele || '',
439
- ...option
440
- });
441
- icon.hasControls = icon.hasBorders = false;
442
- let originTop = top;
443
- let cloneIconId;
444
- icon.on('moving', () => {
445
- // 优化左侧图标太小不容易选中的问题
446
- if (!icon.url && icon.scaleX == 1.8 && icon.scaleY == 1.8) {
447
- icon.set({
448
- scaleX: 1,
449
- scaleY: 1
450
- });
451
- }
452
-
453
- if (!cloneIconId) {
454
- cloneIconId = '_polylinePoint_temp_' + new Date().getTime();
455
- icon.clone(clonedObj => {
456
- clonedObj.set({
457
- id: cloneIconId // 此id必须,用于remove节点的时候
458
- });
459
- clonedObj.bringForward();
460
- this.canvas.add(clonedObj);
461
- });
462
- }
463
-
464
- icon.set({ originX: 'center' });
465
- this.moveLimit(icon);
466
- icon.left >= originX && icon.left < originX + 5 && (originTop = icon.top);
467
- if (icon.left >= originX) {
468
- this.showDrapPopup(icon);
469
- } else {
470
- this.isDropVisible = false;
471
- }
472
- // this.canvas.renderAll();
473
- });
474
- // 标题折线点停止拖拽后 更新
475
- icon.on('moved', () => {
476
- this.setLeft(icon);
477
- icon.set({
478
- id: icon.id.replace('_isTitle', '')
479
- });
480
- // this.canvas.renderAll();
481
- this.removeTitle();
482
- this.removePolyline(cloneIconId);
483
-
484
- if (icon.id.includes('_polylinePoint_') && this.isDropVisible) {
485
- this.isDropVisible = false;
486
- if (icon.left >= originX) {
487
- // this.setEmitFunction(icon);
488
- this.setAddPointList(icon);
489
- this.$emit('pointOperation', 'increasePointBatch', this.addPointList);
490
- this.addPointList = [];
491
- }
492
- }
493
- this.removePolyline(icon.id);
494
- // 重绘折线标题
495
- this.drawPolylineTitle();
496
- });
497
-
498
- // 优化左侧图标太小不容易选中的问题
499
- if (icon.evented && !icon.url) {
500
- const maxVal = Math.max(icon.width * icon.scale, icon.height * icon.scale);
501
- if (maxVal < 7) {
502
- icon.set({
503
- scaleX: 1.8,
504
- scaleY: 1.8
505
- });
506
- }
507
- }
508
-
509
- this.canvas.add(text, icon);
510
- // this.canvas.requestRenderAll();
511
- });
512
- },
513
- // 限制节点新增位置与右侧节点间隔的spaceWidth格子树必须为整数
514
- setLeft(icon) {
515
- const { originX } = this.propItems;
516
- let tempLeft = icon.rightLimit;
517
-
518
- if (!tempLeft) return;
519
- const leftLimit = icon.left + this.spaceWidth;
520
- let i = 0;
521
- while (tempLeft >= leftLimit) {
522
- tempLeft = icon.rightLimit - i * this.spaceWidth;
523
- i++;
524
- }
525
- icon.left = tempLeft < originX ? originX : tempLeft;
526
- },
527
- // 点移动限制
528
- moveLimit(point) {
529
- point.setCoords();
530
- const { treeTableminCellWidth, endX } = this.propItems;
531
- const leftLimit = treeTableminCellWidth;
532
- const rightLimit = point.rightLimit || endX;
533
- if (point.top < this.propItems.originY) {
534
- point.set('top', this.propItems.originY);
535
- }
536
- if (point.top > this.propItems.endY) {
537
- point.set('top', this.propItems.endY);
538
- }
539
- if (point.left < leftLimit) {
540
- point.set('left', leftLimit);
541
- }
542
- if (point.left > rightLimit) {
543
- point.set('left', rightLimit);
544
- }
545
- },
546
- removeTitle() {
547
- this.canvas.forEachObject(obj => {
548
- if (obj.id && obj.id.includes('isTitle')) {
549
- this.canvas.remove(obj);
550
- }
551
- });
552
- },
553
- isLimit(time) {
554
- const minMinute = Math.min(...this.propItems.xScaleList);
555
- const maxMinute = Math.max(...this.propItems.xScaleList);
556
- const getTime = new Date(time).getTime();
557
- return getTime >= minMinute && getTime <= maxMinute;
558
- },
559
- // 设置节点闪烁
560
- setFlicker() {
561
- setTimeout(() => {
562
- if (this.interval) clearInterval(this.interval);
563
- if (this.flickerablePoints?.length) {
564
- this.interval = setInterval(() => {
565
- this.flickerablePoints.forEach(o => o?.set('opacity', o.opacity === 1 ? 0.5 : 1));
566
- this.canvas.renderAll();
567
- }, 800);
568
- }
569
- });
570
- },
571
- // 创建危急值和差异值
572
- createAttrVaule({ attr, polyline, polylineIndex, polylineType, polylineTypeId }) {
573
- const { list } = polyline;
574
- const { max, min } = polyline[attr] || {};
575
- if (!max && !min) return;
576
-
577
- const { originX, endX } = this.propItems;
578
- const isMax = max?.show && max?.value && list.some(v => +v.value >= +max.value && this.isLimit(v.time));
579
- const isMin = min?.show && min?.value && list.some(v => +v.value <= +min.value && this.isLimit(v.time));
580
- const lines = [];
581
-
582
- const drawLine = ({ value, lineStyle }) => {
583
- const top = this.computedY(polylineType, +value);
584
- return this.drawLine([originX, top, endX, top], { polylineIndex, lineIndex: 0, polylineTypeId, ...(lineStyle || defaultVaule.criticalStyle) });
585
- };
586
- const drawText = ({ name, nameStyle }, top) => {
587
- return new this.fabric.Text(String(name || ''), {
588
- ...defaultVaule.style,
589
- ...defaultVaule.textStyle,
590
- ...nameStyle,
591
- originY: 'bottom',
592
- left: originX + 5,
593
- top: top - 5
594
- });
595
- };
596
- const isDraw = (isMaxOrMin, maxOrMin) => isMaxOrMin && !maxOrMin?.flickerable;
597
-
598
- if (isDraw(isMax, max)) {
599
- const line = drawLine(max);
600
- const text = drawText(max, line.top);
601
- line.text = text;
602
- lines.push(line, text);
603
- }
604
- if (isDraw(isMin, min)) {
605
- const line = drawLine(min);
606
- const text = drawText(min, line.top);
607
- line.text = text;
608
- lines.push(line, text);
609
- }
610
- this.canvas.add(...lines);
611
- },
612
- /**
613
- * 绘制一条折线
614
- * @param {polyline} 折线属性
615
- * @param {polyline.type} 折线点形状 circle: 圆 | triangle: 三角
616
- * @param {polyline.pointAttr} 参数 fill: 填充色 | stroke: 描边色 | strokeWidth: 宽度 | radius: 半径 | width: 宽度 | height: 高度
617
- * @param {polyline.list} 折线点坐标数组
618
- * @param {polylineIndex} 当前折线 index
619
- */
620
- drawPolyline(polyline, polylineIndex, polylineType, polylineTypeId) {
621
- const { originY, endY, xCellWidth, table } = this.propItems;
622
- const { list = [], critical = {}, diffValue = {} } = polyline;
623
-
624
- const pointList = [];
625
- let lineList = [];
626
- const _this = this;
627
- function getPointer(point) {
628
- let isInit = false;
629
- let points = null;
630
- if (isEffectiveNode(point) && _this.isLimit(point.time)) {
631
- const x = _this.computedX(point.time);
632
- const y = _this.computedY(polylineType, point.value);
633
- isInit = y < originY || y > endY;
634
- points = [x, y < originY ? originY : y > endY ? endY : y];
635
- }
636
- return { isInit, points };
637
- }
638
- this.flickerablePoints = this.flickerablePoints.filter(point => point.polylineTypeId !== polylineTypeId && point.polylineIndex !== polylineIndex);
639
- list.forEach((linePoints, index) => {
640
- let { pointAttr, lineAttr = {}, type, title } = polyline;
641
- const target = polylineType.dataList.find(_data => linePoints.key && _data.key === linePoints.key);
642
- if (target) {
643
- type = target.type;
644
- pointAttr = target.pointAttr;
645
- lineAttr = target.lineAttr;
646
- title = target.title;
647
- }
648
- this._iconClassName = polyline.type === 'img' && pointAttr.iconClassName ? pointAttr.iconClassName : '';
649
-
650
- // 当前点
651
- let { points, isInit } = getPointer(linePoints);
652
-
653
- // 下一个点
654
- const nextPoints = list[index + 1];
655
- let { points: nextPoint } = getPointer(nextPoints);
656
-
657
- let line;
658
- let point;
659
- let previousLine;
660
- line =
661
- !points || !nextPoint || linePoints.data?.breakpoint || (table.breakpoint && nextPoint[0] - points[0] > xCellWidth)
662
- ? null
663
- : this.drawLine([...points, ...nextPoint], { polylineIndex, polylineTypeId, lineIndex: index, ...lineAttr });
664
- previousLine = lineList[index - 1];
665
- const pointOthers = { polylineTypeId, polylineIndex, pointIndex: index, ...pointAttr, lineAttr };
666
- if (points) {
667
- Object.assign(pointOthers, {
668
- originLeft: points[0],
669
- originTop: points[1],
670
- time: linePoints.time,
671
- __value: linePoints.value,
672
- __attrs: {
673
- type,
674
- pointAttr,
675
- lineAttr,
676
- title,
677
- key: linePoints.key
678
- }
679
- });
680
- point = previousLine ? this.drawPoint(...points, previousLine, line, type, pointOthers, isInit) : this.drawPoint(...points, null, line, type, pointOthers, isInit);
681
- }
682
- lineList.push(line);
683
- point && pointList.push(point);
684
- });
685
-
686
- Promise.all(pointList).then(res => {
687
- const polylineObj = this.polylinePointList.find(v => v.polylineTypeId == polylineTypeId && v.polylineIndex == polylineIndex);
688
- const pointerList = res.map(v => v.left);
689
- if (polylineObj) {
690
- Object.assign(polylineObj, {
691
- pointerList,
692
- pointList: res
693
- });
694
- polylineObj.pointerList = pointerList;
695
- } else {
696
- this.polylinePointList.push({
697
- polylineTypeId,
698
- polylineIndex,
699
- pointerList,
700
- pointList: res
701
- });
702
- }
703
- lineList = lineList.filter(v => v);
704
- let prevPoint = null;
705
- res = res.filter(v => {
706
- if (v && prevPoint) {
707
- prevPoint.nextPoint = v; // 记录下一个点 id
708
- v.prevPoint = prevPoint;
709
- }
710
- prevPoint = v || prevPoint;
711
- return v;
712
- });
713
- this.canvas.add(...lineList, ...res);
714
-
715
- // 缓存需要闪烁的节点
716
- setFlickerablePoints.call(this, critical);
717
- setFlickerablePoints.call(this, diffValue);
718
- function setFlickerablePoints(diffObj) {
719
- const { max, min } = diffObj;
720
- if (max?.flickerable || min?.flickerable) {
721
- const maxVal = max?.value;
722
- const minVal = min?.value;
723
- if (maxVal && max?.flickerable) {
724
- this.flickerablePoints.push(...res.filter(point => +point.__value >= +maxVal).filter(point => !this.flickerablePoints.some(_point => isSamePoint(point, _point))));
725
- }
726
- if (minVal && min?.flickerable) {
727
- this.flickerablePoints.push(...res.filter(point => +point.__value <= +minVal).filter(point => !this.flickerablePoints.some(_point => isSamePoint(point, _point))));
728
- }
729
- }
730
- }
731
- function isSamePoint(point, _point) {
732
- return point.polylineTypeId == _point.polylineTypeId && point.polylineIndex === _point.polylineIndex && point.pointIndex === _point.pointIndex;
733
- }
734
- });
735
-
736
- const params = { polyline, polylineIndex, polylineType, polylineTypeId };
737
- this.createAttrVaule({ ...params, attr: 'critical' });
738
- this.createAttrVaule({ ...params, attr: 'diffValue' });
739
- },
740
- // 计算y轴坐标
741
- computedY(polylineType, linePointY) {
742
- const { position = 'left', list = [] } = polylineType;
743
- const key = position === 'left' ? 'Left' : 'Right';
744
- const yScaleCell = this.propItems[`yScaleCell${key}`];
745
- const yCellUnit = linePointY - Math.min(...list);
746
- return this.propItems.endY - yScaleCell * yCellUnit;
747
- },
748
- /**
749
- * 绘制折线点
750
- * @param {left, top} 折线点坐标
751
- * @param {line1, line2} 与折线点关联的线
752
- * @param {type} 折线点类型
753
- * @param {others} 参数 polylineIndex | pointIndex | ...polyline.pointAttr
754
- */
755
- async drawPoint(left, top, line1, line2, type, others, isInit) {
756
- const pointId = `${others.polylineTypeId}_${others.polylineIndex}_${others.pointIndex}_polylinePoint_${new Date().getTime()}`;
757
- const ele = this._iconClassName && (await this.createImage(this._iconClassName, others));
758
- let point = await this.createPoint(type, {
759
- objectCaching: false,
760
- id: pointId,
761
- left: left,
762
- top: top,
763
- ele: ele || '',
764
- ...defaultVaule.pointStyle,
765
- ...others,
766
- ...(!this.eventStyle.evented
767
- ? {
768
- lockMovementX: true,
769
- lockMovementY: true
770
- }
771
- : {})
772
- });
773
- point.hasControls = point.hasBorders = false;
774
- line1 && (point.line1 = line1);
775
- line2 && (point.line2 = line2);
776
- point.on('mouseover', () => {
777
- this.showDrapPopup(point);
778
- this.pointToFront(point);
779
- });
780
- point.on('mouseout', () => {
781
- this.isDropVisible = false;
782
- });
783
- // 折线点移动中 实时更新相关联的线的坐标
784
- if (this.eventStyle.evented) {
785
- point.on('moving', () => {
786
- this.pointMoveLimit(point, false);
787
- this.pointMoveUpdateLine(point);
788
- this.addPoint(point);
789
- // this.canvas.renderAll();
790
- this.showDrapPopup(point);
791
- });
792
- // 折线点停止拖拽后 更新polyline中对应的坐标
793
- point.on('moved', () => {
794
- if (point && point.id.includes('_polylinePoint_')) {
795
- this.isDropVisible = false;
796
- this.setEmitFunction(point);
797
- this.addPointObjList = [];
798
- }
799
- });
800
- point.on('mouseup', event => {
801
- const { button, isClick } = event;
802
- if (button == 1 && isClick) {
803
- // 可配置批量删除当前项目上的点了
804
- this.currentDelPoint = point;
805
- }
806
- });
807
- }
808
-
809
- // 超出表格最高或最低值则需要触发pointChange事件并且不能更新视图,否则连接节点判断不会成功
810
- isInit && this.setEmitFunction(point, isInit);
811
-
812
- return point;
813
- },
814
- // 拖动停止后 设置回调触发方法
815
- setEmitFunction(point, isInit = false) {
816
- const { operable } = this.propItems;
817
- const { data, x, y } = this.getValue(point);
818
- Object.assign(data, {
819
- value: { time: operable.lockMovementX ? point.time : x, value: y, ...(point.__attrs?.key ? { key: point.__attrs.key } : {}) },
820
- isInit
821
- });
822
- if (this.addPointList.length === 0) {
823
- if (point.prevPoint?.time.includes(x) || point.nextPoint?.time.includes(x)) {
824
- // 此方法更新节点后其事件都失效了,暂时采用下方repaintPolyline方法更新整条节点
825
- // point.setCoords();
826
- // point.set('left', point.originLeft);
827
- // point.set({
828
- // left: point.originLeft,
829
- // top: point.originTop
830
- // });
831
- // this.pointMoveUpdateLine(point);
832
- this.repaintPolyline(data.position, data.dataIndex);
833
- return;
834
- }
835
- this.$emit('pointChange', data);
836
- } else {
837
- this.$nextTick(() => {
838
- // 拖动新增节点时默认所有节点可删除
839
- this.currentDelPoint = null;
840
- });
841
- const lastPoint = this.addPointList[this.addPointList.length - 1];
842
- const position = this.polyline[point.polylineTypeId].position;
843
- const [firstPoint] = this.addPointList;
844
- const isRight = lastPoint.left > point.originLeft;
845
- // 如果是重合/连线节点
846
- if (point.get('scaleX') !== point.scale) {
847
- const addOjb = {
848
- ...lastPoint,
849
- value: {
850
- time: this.getXValue(this._concatPoint?.left),
851
- value: this.getYValue(position, this._concatPoint?.top),
852
- ...(point.__attrs?.key ? { key: point.__attrs.key } : {})
853
- }
854
- };
855
- if (lastPoint.value.time == addOjb.value.time) {
856
- this.addPointList.splice(-1, 1, addOjb);
857
- } else {
858
- this.addPointList.push(addOjb);
859
- }
860
- if (!isRight) {
861
- this.addPointList.unshift({
862
- ...firstPoint,
863
- value: {
864
- time: this.getXValue(point.originLeft),
865
- value: this.getYValue(position, point.originTop),
866
- ...(point.__attrs?.key ? { key: point.__attrs.key } : {})
867
- }
868
- });
869
- }
870
-
871
- this.addPointList.forEach(v =>
872
- Object.assign(v, { isConcat: true, concatIndex: isRight ? this._concatIndex : point.pointIndex, pointIndex: isRight ? point.pointIndex : this._concatPoint.pointIndex })
873
- );
874
- } else if (!isRight || (isRight && (point.line2 || (point.nextPoint && lastPoint.left >= point.nextPoint.left)))) {
875
- // 1、存在右连线 2、无右侧连线,并且存在下一个节点的情况
876
- this.addPointList = [];
877
- this.repaintPolyline(position, point.polylineIndex);
878
- return;
879
- }
880
- !point.id.includes('isTitle') && this.removePolyline(point.id);
881
- if (isRight && !point.line2 && firstPoint.left <= point.originLeft) {
882
- this.addPointList.splice(0, 1);
883
- }
884
- if (!isRight) {
885
- this.addPointList.splice(-1, 1);
886
- }
887
- if (this.addPointList.length > 0) {
888
- this.$emit('pointOperation', 'increasePointBatch', isRight ? this.addPointList : this.addPointList.reverse());
889
- this.addPointList = [];
890
- } else {
891
- this.repaintPolyline(position, point.polylineIndex);
892
- }
893
- }
894
- },
895
- // 设置批量新增数据
896
- setAddPointList(point) {
897
- const { data, x, y } = this.getValue(point);
898
- data.value = { time: x, value: y, ...(point.__attrs.linkKey ? { key: point.__attrs.key } : {}) };
899
- data.left = point.left;
900
- data.top = top;
901
- if (point.__attrs.linkKey) data.linkKey = point.__attrs.linkKey;
902
- this.addPointList.push(data);
903
- },
904
- // 纠正线段坐标
905
- setLinePatch(point, isRight) {
906
- const { originLeft, originTop } = point;
907
- for (let i = 0, len = this.addPointList.length; i < len; i++) {
908
- const currentPoint = this.addPointList[i];
909
- const prevPoint = this.addPointList[i - 1] || { left: point.prePoint?.left ?? originLeft, top: point.prePoint?.top ?? originTop };
910
- const currentPointObj = this.addPointObjList.find(obj => nearlyEqual(obj.left, currentPoint.left));
911
- if (isRight) {
912
- if (!nearlyEqual(currentPointObj?.line1?.x1, prevPoint.left)) {
913
- currentPointObj?.line1?.set({
914
- x1: prevPoint.left,
915
- y1: prevPoint.top,
916
- x2: currentPoint.left,
917
- y2: currentPoint.top
918
- });
919
- }
920
- } else {
921
- if (!nearlyEqual(currentPointObj?.line2?.x2, prevPoint.left)) {
922
- currentPointObj?.line1?.set({
923
- x1: currentPoint.left,
924
- y1: currentPoint.top,
925
- x2: prevPoint.left,
926
- y2: prevPoint.top
927
- });
928
- }
929
- }
930
- }
931
- },
932
- // 检查批量新增拖动过程中是否存在漏点的情况
933
- checkPoints(point, isRight) {
934
- const { originLeft, originTop, left, polylineTypeId } = point;
935
- const PointLens = Math.floor(Math.abs(left - originLeft) / this.spaceWidth);
936
- if (PointLens > 1 && this.addPointList?.length <= PointLens) {
937
- const position = this.polyline[polylineTypeId].position;
938
- for (let k = 0; k <= PointLens; k++) {
939
- if (k > 0) {
940
- const spaceWidth = this.spaceWidth * k;
941
- const curLeft = isRight ? originLeft + spaceWidth : originLeft - spaceWidth;
942
- // 判断this.addPointList中的left是否包含curLeft,不包含就说明是漏了
943
- const hasPoint = this.addPointList.some(p => nearlyEqual(p.left, curLeft));
944
- if (!hasPoint) {
945
- let index;
946
- const pointObj = this.addPointList.find((v, i) => {
947
- if (isRight) {
948
- if (v.left > curLeft) {
949
- index = i;
950
- }
951
- return v.left > curLeft;
952
- } else {
953
- if (v.left < curLeft) {
954
- index = i;
955
- }
956
- return v.left < curLeft;
957
- }
958
- });
959
- if (pointObj) {
960
- let cloneObj = JSON.parse(JSON.stringify(pointObj));
961
- const prePoint = this.addPointList[index - 1] || {
962
- left: originLeft,
963
- top: originTop
964
- };
965
- const len = ~~(Math.abs(pointObj.left - curLeft) / this.spaceWidth) + 1;
966
- const spaceHeight = (pointObj.top - prePoint.top) / len;
967
- cloneObj.top = prePoint.top + spaceHeight;
968
- cloneObj.value.time = this.getXValue(curLeft);
969
- cloneObj.value.value = this.getYValue(position, cloneObj.top);
970
- if (point.__attrs.key) cloneObj.value.key = point.__attrs.key;
971
- cloneObj.left = curLeft;
972
- this.addPointList.splice(index, 0, cloneObj);
973
- this.clonePoint(point, [prePoint.left, prePoint.top, cloneObj.left, cloneObj.top], isRight);
974
- }
975
- }
976
- }
977
- }
978
- }
979
- // 纠正节点上的line1的坐标
980
- this.setLinePatch(point, isRight);
981
- },
982
- // 断点相连
983
- concatPoint(point, target, left, top, n) {
984
- const { left: targetLeft, top: targetTop } = target;
985
- point.setCoords();
986
- if (Math.abs(left - targetLeft) <= n && Math.abs(top - targetTop) <= n) {
987
- point.set({
988
- left: targetLeft,
989
- top: targetTop,
990
- scaleX: point.scale === 1 ? 2.5 : 0.1,
991
- scaleY: point.scale === 1 ? 2.5 : 0.1
992
- });
993
- } else {
994
- point.set({
995
- scaleX: point.scale,
996
- scaleY: point.scale
997
- });
998
- }
999
- },
1000
- /**
1001
- * @description: 拖动批量新增节点
1002
- * @param {*} point 拖动的最后一个节点
1003
- * @return {*}
1004
- */
1005
- addPoint(point) {
1006
- let { left, top, originLeft, originTop } = point;
1007
- const currentLeft = left;
1008
- const isRight = currentLeft > originLeft;
1009
- const startLength = this.addPointList.length;
1010
-
1011
- const n = Math.min(this.spaceWidth / 2, 6); // 拖动范围,在需要增加节点的刻度左右吸入的范围值
1012
- const residue = Math.abs(left - originLeft) % this.spaceWidth;
1013
-
1014
- const condition = residue > this.spaceWidth - n || residue < n;
1015
- const condition2 = left > originLeft + this.spaceWidth;
1016
- const conditionHasLeftPoint = point.prevPoint && left < originLeft - this.spaceWidth;
1017
-
1018
- if (condition && (condition2 || conditionHasLeftPoint)) {
1019
- if (isRight) {
1020
- if (residue > this.spaceWidth - n) left = left - residue + this.spaceWidth;
1021
- if (residue < n) left = left - residue;
1022
- } else {
1023
- if (residue > this.spaceWidth - n) left = left + residue - this.spaceWidth;
1024
- if (residue < n) left = left + residue;
1025
- }
1026
- point.set({
1027
- left
1028
- });
1029
-
1030
- // 复制点和线
1031
- if (condition2 || conditionHasLeftPoint) {
1032
- setPointLineColor(point, 'transparent', isRight);
1033
- const x1 = isRight ? point.line1?.x1 || originLeft : point.line2?.x2 || originLeft;
1034
- const y1 = isRight ? point.line1?.y1 || originTop : point.line2?.y2 || originTop;
1035
- this.addPointList.length == 0 && this.clonePoint(point, [x1, y1, originLeft, originTop]);
1036
- if (this.addPointList.every(v => !nearlyEqual(v.left, left))) {
1037
- const points1 = this.addPointList.length == 0 ? [originLeft, originTop] : point.prePoints;
1038
- if (points1) {
1039
- // this.setAddPointList(point);
1040
- // 调用上面方法就会导致线段绘制失败,目前还不知道为啥子
1041
- const { data, x, y } = this.getValue(point);
1042
- data.value = { time: x, value: y };
1043
- if (point.__attrs.key) data.value.key = point.__attrs.key;
1044
- data.left = left;
1045
- data.top = top;
1046
- // 避免重复添加
1047
- if (this.addPointObjList.every(o => !nearlyEqual(o.left, left))) {
1048
- this.addPointList.push(data);
1049
- this.clonePoint(point, [...points1, left, top], isRight);
1050
- }
1051
- }
1052
- }
1053
- this.checkPoints(point, isRight);
1054
- }
1055
- }
1056
-
1057
- // 检查是否显示重合连线放大节点的标识
1058
- const { polylineTypeId, polylineIndex } = point;
1059
- const color = point.__attrs.lineAttr.stroke;
1060
- const polylineObj = this.polylinePointList.find(v => v.polylineTypeId == polylineTypeId && v.polylineIndex == polylineIndex);
1061
- polylineObj?.pointList.forEach(v => v.bringToFront());
1062
- if ((isRight && point.nextPoint) || (!isRight && point.prevPoint)) {
1063
- if (isRight) {
1064
- this._concatIndex = polylineObj?.pointerList.findIndex(l => l + n > left && l > originLeft);
1065
- } else {
1066
- const idx = polylineObj?.pointerList?.length ? toReversed(polylineObj?.pointerList).findIndex(l => l - n < left && l < originLeft) : -1;
1067
- this._concatIndex = !~idx ? -1 : polylineObj?.pointerList.length - 1 - idx;
1068
- }
1069
- if (!~this._concatIndex) {
1070
- point.set({
1071
- scaleX: point.scale,
1072
- scaleY: point.scale
1073
- });
1074
- } else {
1075
- this.concatPoint(point, polylineObj?.pointList[this._concatIndex], left, top, n);
1076
- }
1077
- this._concatPoint = polylineObj?.pointList?.[this._concatIndex] || null;
1078
-
1079
- // 被覆盖节点置灰配置
1080
- polylineObj?.pointerList.forEach((l, i) => {
1081
- const obj = polylineObj?.pointList[i];
1082
- if ((isRight && l > originLeft && l < left) || (!isRight && l < originLeft && l > left)) {
1083
- // 此处需要递归遍历group节点的所有子节点,然后更改其颜色
1084
- resetPointColor([obj], '#999');
1085
- isRight && obj.line2?.set({ stroke: '#999' });
1086
- !isRight && obj.line1?.set({ stroke: '#999' });
1087
- } else {
1088
- const color = obj.__attrs.lineAttr.stroke;
1089
- resetPointColor([obj], color);
1090
- isRight && obj.line2?.set({ stroke: color });
1091
- !isRight && obj.line1?.set({ stroke: color });
1092
- }
1093
- });
1094
- if ((point.line1 || point.line2) && Math.abs(left - originLeft) < this.spaceWidth) {
1095
- setPointLineColor(point, color, isRight);
1096
- } else {
1097
- setPointLineColor(point, 'transparent', isRight);
1098
- }
1099
- }
1100
-
1101
- // 如果往回拖动则删除经过的已存在的节点
1102
- if (startLength > 0) {
1103
- if (isRight) {
1104
- this.removeLeftClonePoint(originLeft - this.spaceWidth);
1105
- this.addPointList = this.addPointList.filter(v => v.left >= originLeft);
1106
- if (this.addPointList.length > 0 && currentLeft <= this.addPointList[this.addPointList.length - 1].left) {
1107
- this.removePolyline('increasePointBatch', left);
1108
- this.addPointList = this.addPointList.filter(v => v.left < left);
1109
- const endLength = this.addPointList.length;
1110
- if (endLength === 0) {
1111
- setPointLineColor(point, color, isRight);
1112
- this.removePolyline('increasePointBatch', originLeft);
1113
- }
1114
- if (endLength > 0) {
1115
- point.set({
1116
- prePoints: [this.addPointList[endLength - 1].left, this.addPointList[endLength - 1].top]
1117
- });
1118
- }
1119
- }
1120
- } else {
1121
- this.removePolyline('increasePointBatch', originLeft + this.spaceWidth);
1122
- this.addPointList = this.addPointList.filter(v => v.left <= originLeft);
1123
- if (this.addPointList.length > 0 && currentLeft >= this.addPointList[this.addPointList.length - 1].left) {
1124
- this.removeLeftClonePoint(left);
1125
- this.addPointList = this.addPointList.filter(v => v.left > left);
1126
- const endLength = this.addPointList.length;
1127
- if (endLength === 0) {
1128
- setPointLineColor(point, color, isRight);
1129
- this.removeLeftClonePoint(originLeft);
1130
- }
1131
- if (endLength > 0) {
1132
- point.set({
1133
- prePoints: [this.addPointList[endLength - 1].left, this.addPointList[endLength - 1].top]
1134
- });
1135
- }
1136
- }
1137
- }
1138
- }
1139
- },
1140
- removeLeftClonePoint(left) {
1141
- this.addPointObjList.forEach(obj => {
1142
- if (obj.left <= left) {
1143
- this.canvas.remove(obj);
1144
- obj.line2 && this.canvas.remove(obj.line2);
1145
- }
1146
- });
1147
- this.addPointObjList = this.addPointObjList.filter(obj => obj.left > left);
1148
- },
1149
- clonePoint(point, points, isRight) {
1150
- const { lineIndex, polylineIndex, lineAttr, polylineTypeId, originLeft } = point;
1151
- const currentLineAttr = originLeft === points[2] && point.prevPoint ? point.prevPoint.__attrs.lineAttr : lineAttr;
1152
-
1153
- point.clone(clonedObj => {
1154
- clonedObj.set({
1155
- left: points[2],
1156
- top: points[3],
1157
- idClone: 'increasePointBatch',
1158
- id: '_polylinePoint_',
1159
- polylineTypeId,
1160
- polylineIndex,
1161
- scaleX: point.scale || 1,
1162
- scaleY: point.scale || 1
1163
- });
1164
- clonedObj.hasControls = clonedObj.hasBorders = false;
1165
- point.prePoints = [point.left, point.top];
1166
- const line = this.drawLine([...points], { evented: false, selectable: false, ...currentLineAttr, polylineIndex, polylineTypeId, lineIndex });
1167
- if (isRight) {
1168
- clonedObj.line1 = line;
1169
- } else {
1170
- clonedObj.line2 = line;
1171
- }
1172
- this.canvas.add(clonedObj);
1173
- this.canvas.sendBackwards(line);
1174
- clonedObj.bringForward();
1175
- this.addPointObjList.push(clonedObj);
1176
- });
1177
- },
1178
- getValue(point) {
1179
- const x = this.getXValue(point.left);
1180
- if (point.id) {
1181
- const data = this.getDataByPoint(point);
1182
- const position = data.position;
1183
- const y = this.getYValue(position, point.top);
1184
- return { data, x, y };
1185
- } else {
1186
- const left = this.getYValue('left', point.top);
1187
- const right = this.getYValue('right', point.top);
1188
- return { x, left, right };
1189
- }
1190
- },
1191
- getYValue(position, top) {
1192
- const key = position == 'left' ? 'Left' : 'Right';
1193
- const list = this.polyline.find(item => item.position == position)?.list || [];
1194
- const v = list.length ? Math.min(...list) : 0;
1195
- const y = (this.propItems.endY - top) / this.propItems[`yScaleCell${key}`] + v;
1196
- return y;
1197
- },
1198
- /**
1199
- * 绘制折线点
1200
- * @param {lines} 线坐标 [x1, y1, x2, y2]
1201
- * @param {others} 参数 polylineIndex | pointIndex | ...polyline.lineAttr
1202
- */
1203
- drawLine(lines, others) {
1204
- const lineId = `${others.lineIndex}_${others.polylineIndex}_polylineLine_${new Date().getTime()}`;
1205
- const line = new this.fabric.Line(lines, {
1206
- id: lineId,
1207
- hoverCursor: 'default',
1208
- // objectCaching: false,
1209
- selectable: false,
1210
- evented: false,
1211
- ...others
1212
- });
1213
-
1214
- return line;
1215
- },
1216
- formatValue(position, y) {
1217
- if (position == 'right') {
1218
- if (y.toString().includes('.')) {
1219
- const [m, n] = y.toString().split('.');
1220
- return (parseFloat(`${m}.${n.slice(0, 1)}`) * 10) / 10;
1221
- }
1222
- return y;
1223
- } else {
1224
- return Math.round(y);
1225
- }
1226
- },
1227
- showDrapPopup(point) {
1228
- this.isDropVisible = true;
1229
- this.dropPos = {
1230
- left: point.left,
1231
- top: point.top,
1232
- margin: { top: this.propItems.yCellHeight }
1233
- };
1234
- let { x, y, data } = this.getValue(point);
1235
- this.dropVal = {
1236
- title: data.title,
1237
- list: [
1238
- { id: '11', name: '时间', value: x },
1239
- { id: '22', name: '值', value: this.formatValue(data.position, y) }
1240
- ]
1241
- };
1242
- },
1243
- // 折线点移动时 setCoords()方法手动更新相关联的线坐标
1244
- pointMoveUpdateLine(point) {
1245
- if (point.line1) {
1246
- point.line1.setCoords().set({ x2: point.left, y2: point.top });
1247
- }
1248
- if (point.line2) {
1249
- point.line2.setCoords().set({ x1: point.left, y1: point.top });
1250
- }
1251
- },
1252
- // 打开右键菜单
1253
- openRightModal() {
1254
- if (this.timeRangeData.enabled) return;
1255
- const { clientX, pageX, clientY, pageY } = this.activeEvent.e;
1256
- this.rightPos = {
1257
- clientX: clientX ?? pageX,
1258
- clientY: clientY ?? pageY
1259
- };
1260
- this.isRightVisible = false;
1261
- const target = this.activeEvent.target;
1262
- const id = target?.id || '';
1263
- this.$nextTick(() => {
1264
- const { operable } = this.propItems;
1265
- if (id && id.includes('_polylinePoint_')) {
1266
- this._currentPoint = target;
1267
- let nodeConnect = [];
1268
- if (operable.connect) {
1269
- if (!target.line2 && target.nextPoint) {
1270
- nodeConnect = rightClickNodeConnect.slice(0, 1);
1271
- }
1272
- if (!target.line1 && target.prevPoint) {
1273
- nodeConnect = rightClickNodeConnect.slice(1);
1274
- }
1275
- if (!target.line1 && !target.line2 && target.prevPoint && target.nextPoint) {
1276
- nodeConnect = rightClickNodeConnect.slice();
1277
- }
1278
- }
1279
- this.rightClickNode = Object.freeze(
1280
- rightClickNode
1281
- .slice(0, 1)
1282
- .concat(nodeConnect)
1283
- .concat(rightClickNode.slice(-1))
1284
- );
1285
- this.isRightVisible = true;
1286
- } else if (!id) {
1287
- this._currentPoint = null;
1288
- this.rightClickNode = rightClickNode.slice(0, 1);
1289
-
1290
- ['set', 'detail'].forEach(key => {
1291
- if (operable[key]) {
1292
- const item = rightClickNode.find(node => node.type === key);
1293
- this.rightClickNode.push(item);
1294
- }
1295
- });
1296
- this.addExtraMenu();
1297
- this.isRightVisible = true;
1298
- }
1299
- });
1300
- },
1301
- addExtraMenu() {
1302
- const { menuList } = this.propItems.table?.extraMenuConfig || {};
1303
- if (Array.isArray(menuList) && menuList.length > 0) {
1304
- menuList.forEach(item => {
1305
- this.rightClickNode.push({
1306
- name: item.label,
1307
- type: item.key || getUuid(),
1308
- extra: true,
1309
- origin: item
1310
- });
1311
- });
1312
- }
1313
- },
1314
- // 关闭右键菜单,打开添加节点弹窗表单
1315
- handleRightClick({ type, name, extra, origin }) {
1316
- this.isRightVisible = false;
1317
- const { left, top } = this._active;
1318
- const data = this._currentPoint?.id ? this.getDataByPoint(this._currentPoint) : this.getValue({ left, top });
1319
- if (extra) {
1320
- const { click } = this.propItems.table?.extraMenuConfig || {};
1321
- if (!vexutils.isFunction(click)) return;
1322
- click(data, origin);
1323
- return;
1324
- }
1325
- if (type == 'add') {
1326
- if (name.includes('左')) {
1327
- data.range = {
1328
- time: [this._currentPoint.prevPoint.time, this._currentPoint.time],
1329
- direction: 'left'
1330
- };
1331
- }
1332
- if (name.includes('右')) {
1333
- data.range = {
1334
- time: [this._currentPoint.time, this._currentPoint.nextPoint.time],
1335
- direction: 'right'
1336
- };
1337
- }
1338
- }
1339
- this.$emit('pointOperation', type, data);
1340
- this._currentPoint = null;
1341
- },
1342
- getDataByPoint(point) {
1343
- const arr = point.id.replace(/_?[a-zA-Z]+.+$/, '').split('_');
1344
- const [typeIndex, lineIndex, pointIndex] = arr;
1345
- const data = this.polyline[typeIndex];
1346
- const value = data?.dataList?.[lineIndex]?.list?.[pointIndex]?.data || '';
1347
- return {
1348
- title: point.__attrs.title,
1349
- position: data.position,
1350
- dataIndex: +lineIndex,
1351
- pointIndex: +pointIndex,
1352
- data: value
1353
- };
1354
- },
1355
- isOnePolyLine(obj, polylineTypeId, polylineIndex) {
1356
- // 排除左侧标题
1357
- const isPolyLine = obj.polylineTypeId === polylineTypeId && obj.polylineIndex === polylineIndex;
1358
- if (obj.id && /_polyline(Point|Line)_/.test(obj.id) && !obj.id.includes('isTitle') && isPolyLine) return true;
1359
- return;
1360
- },
1361
- // 将当条线段以及点层级置顶
1362
- // 线段不能先置顶,会挡住其他线段上的点
1363
- pointToFront(point) {
1364
- this.canvas.forEachObject(obj => {
1365
- if (this.isOnePolyLine(obj, point.polylineTypeId, point.polylineIndex)) {
1366
- this.canvas.bringToFront(obj);
1367
- }
1368
- });
1369
- },
1370
- removePolyline(id, left, position, polylineIndex) {
1371
- // 根据id或者idClone删除
1372
- if (id) {
1373
- const pointId = left ? 'idClone' : 'id';
1374
- if (pointId === 'idClone') {
1375
- this.addPointObjList.forEach(obj => {
1376
- if (obj.left >= left) {
1377
- this.canvas.remove(obj);
1378
- obj.line1 && this.canvas.remove(obj.line1);
1379
- }
1380
- });
1381
- this.addPointObjList = this.addPointObjList.filter(obj => obj.left < left);
1382
- } else {
1383
- const point = this.canvas.getObjects().filter(item => item[pointId] === id);
1384
- if (point && point.length > 0) {
1385
- point.forEach(v => {
1386
- if (!left) {
1387
- this.canvas.remove(v);
1388
- v.line1 && this.canvas.remove(v.line1);
1389
- }
1390
- });
1391
- }
1392
- }
1393
-
1394
- return;
1395
- }
1396
- // 删除一条线
1397
- if (position && (polylineIndex === 0 || polylineIndex)) {
1398
- const polylineTypeId = this.polyline.findIndex(v => v.position === position);
1399
- this.canvas.forEachObject(obj => {
1400
- if (this.isOnePolyLine(obj, polylineTypeId, polylineIndex)) {
1401
- obj.text && this.canvas.remove(obj.text);
1402
- obj.line1 && this.canvas.remove(obj.line1);
1403
- obj.line2 && this.canvas.remove(obj.line2);
1404
- this.canvas.remove(obj);
1405
- }
1406
- });
1407
- return;
1408
- }
1409
- // 删除折线图上的所有点和线
1410
- this.canvas.forEachObject(obj => {
1411
- if (obj.id && /_polyline(Point|Line)_/.test(obj.id) && !obj.id.includes('isTitle')) {
1412
- obj.text && this.canvas.remove(obj.text);
1413
- this.canvas.remove(obj);
1414
- }
1415
- });
1416
- },
1417
- removeSelectArea() {
1418
- if (this.selectArea) {
1419
- this.canvas.remove(this.selectArea);
1420
- this.selectArea = null;
1421
- }
1422
- },
1423
- repaintPolyline(position, dadaIndex) {
1424
- if (arguments.length < 2) {
1425
- if (this.polyline.length) {
1426
- this.removePolyline();
1427
- }
1428
- this.polylinePointList = [];
1429
- this.flickerablePoints = [];
1430
- this.polyline.forEach((polylineType, polylineTypeId) => {
1431
- this.createPolyline(polylineType, polylineTypeId);
1432
- });
1433
- this.removeTitle();
1434
- this.drawPolylineTitle();
1435
- } else {
1436
- const polylineTypeId = this.polyline.findIndex(v => v.position === position);
1437
- this.removePolyline(null, null, position, parseInt(dadaIndex));
1438
- this.drawPolyline(this.polyline[polylineTypeId].dataList[parseInt(dadaIndex)], parseInt(dadaIndex), this.polyline[polylineTypeId], polylineTypeId);
1439
- }
1440
- }
1441
- },
1442
- beforeDestroy() {
1443
- clearInterval(this.interval);
1444
- this.interval = null;
1445
- }
1446
- };
1447
- </script>