ai.touchui-vue 1.31.3 → 1.32.0

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 (753) hide show
  1. package/README.md +21 -21
  2. package/lib/ai.touchui-vue.common.js +1416 -1401
  3. package/lib/cascader.js +15 -3
  4. package/lib/chat.js +5 -5
  5. package/lib/collapse.js +1 -2
  6. package/lib/color.js +5 -5
  7. package/lib/date-picker.js +1 -2
  8. package/lib/date-range.js +16 -15
  9. package/lib/export.js +3 -3
  10. package/lib/index.js +1 -1
  11. package/lib/locale/format.js +10 -10
  12. package/lib/menu-icon.js +295 -295
  13. package/lib/mixins/migrating.js +20 -20
  14. package/lib/mixins/transition.js +14 -14
  15. package/lib/org.js +1 -2
  16. package/lib/page.js +1 -2
  17. package/lib/range.js +3 -3
  18. package/lib/scroll.js +8 -4
  19. package/lib/static/{net-mix.dc6e414.svg → net-mix.293a4b6.svg} +7 -7
  20. package/lib/tab.js +5 -5
  21. package/lib/table.js +22 -22
  22. package/lib/theme/css/theme/B-Design.css +1 -1
  23. package/lib/theme/css/theme/aiplan.css +1 -1
  24. package/lib/theme/css/theme/aiplangd.css +1 -1
  25. package/lib/theme/css/theme/chbn.css +1 -1
  26. package/lib/theme/css/theme/default.css +1 -1
  27. package/lib/theme/css/theme/dt.css +1 -1
  28. package/lib/theme/css/theme/ecloud.css +1 -1
  29. package/lib/theme/css/theme/hongkong.css +1 -1
  30. package/lib/theme/css/theme/narrow.css +1 -1
  31. package/lib/theme/css/theme/sdpf.css +1 -1
  32. package/lib/theme/css/theme/upc.css +1 -1
  33. package/lib/theme/css/theme/website.css +1 -1
  34. package/lib/theme/css/theme/zj.css +1 -1
  35. package/lib/utils/clickoutside.js +11 -11
  36. package/lib/utils/dom.js +13 -13
  37. package/lib/utils/filetransfer.js +4 -4
  38. package/lib/utils/jsencrypt/JSEncrypt.js +77 -77
  39. package/lib/utils/jsencrypt/JSEncryptRSAKey.js +115 -115
  40. package/lib/utils/jsencrypt/jselib/asn1js/asn1.js +4 -4
  41. package/lib/utils/jsencrypt/jselib/jsrsasign/asn1-1.0.js +734 -734
  42. package/lib/utils/jsencrypt/jselib/jsrsasign/yahoo.js +22 -22
  43. package/lib/utils/jsencrypt.js +260 -260
  44. package/lib/utils/md5.js +3 -3
  45. package/lib/utils/mime.js +2 -2
  46. package/lib/utils/ratio.js +53 -54
  47. package/lib/utils/sign.js +12 -12
  48. package/lib/utils/util.js +3 -3
  49. package/lib/utils/validate.js +11 -11
  50. package/package.json +159 -159
  51. package/packages/.DS_Store +0 -0
  52. package/packages/affix/index.js +8 -8
  53. package/packages/affix/src/affix.vue +139 -139
  54. package/packages/align/index.js +8 -8
  55. package/packages/align/src/directive.js +29 -29
  56. package/packages/animation/index.js +8 -8
  57. package/packages/animation/src/animation.vue +68 -68
  58. package/packages/article/.DS_Store +0 -0
  59. package/packages/article/index.js +8 -8
  60. package/packages/article/src/article.vue +23 -23
  61. package/packages/box/index.js +8 -8
  62. package/packages/box/src/box.vue +170 -170
  63. package/packages/button/index.js +8 -8
  64. package/packages/button/src/button.vue +162 -162
  65. package/packages/calendar/index.js +8 -8
  66. package/packages/calendar/src/calendar.vue +1142 -1142
  67. package/packages/card/index.js +10 -10
  68. package/packages/card/src/card-item.vue +92 -92
  69. package/packages/card/src/card.vue +175 -175
  70. package/packages/card-item/index.js +8 -8
  71. package/packages/cascader/index.js +8 -8
  72. package/packages/cascader/src/cascader.vue +818 -814
  73. package/packages/center-scroll/index.js +8 -8
  74. package/packages/center-scroll/src/center-scroll.vue +147 -147
  75. package/packages/chat/.DS_Store +0 -0
  76. package/packages/chat/index.js +12 -12
  77. package/packages/chat/src/.DS_Store +0 -0
  78. package/packages/chat/src/chat.vue +116 -116
  79. package/packages/checkbox/index.js +8 -8
  80. package/packages/checkbox/src/checkbox.vue +262 -262
  81. package/packages/checkboxes/index.js +8 -8
  82. package/packages/checkboxes/src/checkboxes.vue +97 -97
  83. package/packages/collapse/index.js +10 -10
  84. package/packages/collapse/src/collapse-item.vue +188 -188
  85. package/packages/collapse/src/collapse.vue +100 -100
  86. package/packages/color/index.js +8 -8
  87. package/packages/color/src/directive.js +42 -42
  88. package/packages/countdown/index.js +8 -8
  89. package/packages/countdown/src/countdown.vue +128 -128
  90. package/packages/date-picker/.DS_Store +0 -0
  91. package/packages/date-picker/index.js +8 -8
  92. package/packages/date-picker/src/date-picker.vue +438 -438
  93. package/packages/date-picker/src/picker.vue +342 -342
  94. package/packages/date-range/index.js +8 -8
  95. package/packages/date-range/src/date-range.vue +384 -384
  96. package/packages/dialog/index.js +8 -8
  97. package/packages/dialog/src/dialog.vue +313 -313
  98. package/packages/dis/.DS_Store +0 -0
  99. package/packages/dis/index.js +8 -8
  100. package/packages/dis/src/directive.js +42 -42
  101. package/packages/ellipsis/index.js +8 -8
  102. package/packages/ellipsis/src/ellipsis.vue +306 -306
  103. package/packages/emote/.DS_Store +0 -0
  104. package/packages/emote/index.js +8 -8
  105. package/packages/emote/src/emote.vue +38 -38
  106. package/packages/export/index.js +8 -8
  107. package/packages/export/src/ajax.js +73 -73
  108. package/packages/export/src/export.vue +289 -289
  109. package/packages/filter/.DS_Store +0 -0
  110. package/packages/filter/index.js +8 -8
  111. package/packages/filter/src/.DS_Store +0 -0
  112. package/packages/filter/src/filter.vue +245 -245
  113. package/packages/fix/index.js +8 -8
  114. package/packages/fix/src/fix.vue +221 -221
  115. package/packages/float/.DS_Store +0 -0
  116. package/packages/float/index.js +16 -16
  117. package/packages/float/src/directive.js +20 -20
  118. package/packages/float/src/main.vue +642 -642
  119. package/packages/float/src/trigger.vue +31 -31
  120. package/packages/flow/.DS_Store +0 -0
  121. package/packages/flow/index.js +8 -8
  122. package/packages/flow/src/flow.vue +234 -234
  123. package/packages/flow/src/flowItem.vue +61 -61
  124. package/packages/flow/src/flowLine.vue +168 -168
  125. package/packages/form/index.js +10 -10
  126. package/packages/form/src/form-item.vue +96 -96
  127. package/packages/form/src/form.vue +184 -184
  128. package/packages/grid/index.js +10 -10
  129. package/packages/grid/src/grid-item.vue +65 -65
  130. package/packages/grid/src/grid.vue +190 -190
  131. package/packages/grid-item/index.js +8 -8
  132. package/packages/guider/.DS_Store +0 -0
  133. package/packages/guider/index.js +8 -8
  134. package/packages/guider/src/guider.vue +168 -168
  135. package/packages/header/index.js +8 -8
  136. package/packages/header/src/header.vue +110 -110
  137. package/packages/hide/index.js +8 -8
  138. package/packages/hide/src/directive.js +57 -57
  139. package/packages/icon/index.js +8 -8
  140. package/packages/icon/src/icon.vue +79 -79
  141. package/packages/import/index.js +8 -8
  142. package/packages/import/src/import.vue +279 -279
  143. package/packages/input/index.js +8 -8
  144. package/packages/input/src/calcTextareaHeight.js +104 -104
  145. package/packages/input/src/input.vue +653 -653
  146. package/packages/ip/.DS_Store +0 -0
  147. package/packages/ip/index.js +8 -8
  148. package/packages/ip/src/ip.vue +143 -143
  149. package/packages/line/index.js +8 -8
  150. package/packages/line/src/line.vue +29 -29
  151. package/packages/loading/index.js +8 -8
  152. package/packages/loading/src/loading.js +58 -58
  153. package/packages/longtap/index.js +8 -8
  154. package/packages/longtap/src/longtap.js +95 -95
  155. package/packages/menu-icon/index.js +8 -8
  156. package/packages/menu-icon/src/menu-icon.vue +206 -206
  157. package/packages/message/index.js +8 -8
  158. package/packages/message/src/message.vue +9 -9
  159. package/packages/msg/index.js +8 -8
  160. package/packages/msg/src/msg.vue +227 -227
  161. package/packages/org/.DS_Store +0 -0
  162. package/packages/org/index.js +8 -8
  163. package/packages/org/src/org.vue +113 -113
  164. package/packages/org/src/orgItem.vue +63 -63
  165. package/packages/padding/index.js +8 -8
  166. package/packages/padding/src/padding.vue +105 -105
  167. package/packages/page/.DS_Store +0 -0
  168. package/packages/page/index.js +8 -8
  169. package/packages/page/src/.DS_Store +0 -0
  170. package/packages/page/src/page.vue +297 -297
  171. package/packages/param/index.js +8 -8
  172. package/packages/param/src/param.vue +226 -226
  173. package/packages/pic/.DS_Store +0 -0
  174. package/packages/pic/index.js +8 -8
  175. package/packages/pic/src/pic-viewer.vue +331 -331
  176. package/packages/pic/src/pic.vue +144 -144
  177. package/packages/popup/index.js +12 -12
  178. package/packages/popup/src/popup-group.vue +47 -47
  179. package/packages/popup/src/popup-item.vue +163 -163
  180. package/packages/popup/src/popup.vue +350 -350
  181. package/packages/progress/index.js +8 -8
  182. package/packages/progress/src/progress.vue +306 -306
  183. package/packages/range/index.js +8 -8
  184. package/packages/range/src/range.vue +612 -612
  185. package/packages/rate/.DS_Store +0 -0
  186. package/packages/rate/index.js +8 -8
  187. package/packages/rate/src/rate.vue +129 -129
  188. package/packages/reverser/.DS_Store +0 -0
  189. package/packages/reverser/index.js +8 -8
  190. package/packages/reverser/src/.DS_Store +0 -0
  191. package/packages/reverser/src/reverser.vue +49 -49
  192. package/packages/scroll/index.js +12 -12
  193. package/packages/scroll/src/scroll-point.vue +24 -24
  194. package/packages/scroll/src/scroll-sticky.vue +60 -60
  195. package/packages/scroll/src/scroll.vue +385 -381
  196. package/packages/segment/.DS_Store +0 -0
  197. package/packages/segment/index.js +8 -8
  198. package/packages/segment/src/segment.vue +618 -618
  199. package/packages/select/index.js +8 -8
  200. package/packages/select/src/select.vue +1445 -1445
  201. package/packages/size/index.js +8 -8
  202. package/packages/size/src/directive.js +33 -33
  203. package/packages/skeleton/index.js +8 -8
  204. package/packages/skeleton/src/skeleton.vue +179 -179
  205. package/packages/slide/.DS_Store +0 -0
  206. package/packages/slide/index.js +8 -8
  207. package/packages/slide/src/slide.vue +147 -147
  208. package/packages/space/index.js +8 -8
  209. package/packages/space/src/space.vue +53 -53
  210. package/packages/step/index.js +8 -8
  211. package/packages/step/src/step.vue +122 -122
  212. package/packages/submit/index.js +8 -8
  213. package/packages/submit/src/submit.vue +103 -103
  214. package/packages/switch/index.js +9 -9
  215. package/packages/switch/src/component.vue +131 -131
  216. package/packages/tab/.DS_Store +0 -0
  217. package/packages/tab/index.js +10 -10
  218. package/packages/tab/src/tab-item.vue +85 -85
  219. package/packages/tab/src/tab.vue +599 -599
  220. package/packages/table/.DS_Store +0 -0
  221. package/packages/table/index.js +8 -8
  222. package/packages/table/src/table-body.vue +301 -301
  223. package/packages/table/src/table-config.vue +139 -139
  224. package/packages/table/src/table-head.vue +242 -242
  225. package/packages/table/src/table.vue +1458 -1458
  226. package/packages/tag/index.js +8 -8
  227. package/packages/tag/src/tag.vue +129 -129
  228. package/packages/theme/lib/css/theme/B-Design.css +1 -1
  229. package/packages/theme/lib/css/theme/aiplan.css +1 -1
  230. package/packages/theme/lib/css/theme/aiplangd.css +1 -1
  231. package/packages/theme/lib/css/theme/chbn.css +1 -1
  232. package/packages/theme/lib/css/theme/default.css +1 -1
  233. package/packages/theme/lib/css/theme/dt.css +1 -1
  234. package/packages/theme/lib/css/theme/ecloud.css +1 -1
  235. package/packages/theme/lib/css/theme/hongkong.css +1 -1
  236. package/packages/theme/lib/css/theme/narrow.css +1 -1
  237. package/packages/theme/lib/css/theme/sdpf.css +1 -1
  238. package/packages/theme/lib/css/theme/upc.css +1 -1
  239. package/packages/theme/lib/css/theme/website.css +1 -1
  240. package/packages/theme/lib/css/theme/zj.css +1 -1
  241. package/packages/theme/package.json +33 -33
  242. package/packages/theme/src/.DS_Store +0 -0
  243. package/packages/theme/src/global/mixin.less +416 -416
  244. package/packages/theme/src/global/reset.less +27 -27
  245. package/packages/theme/src/img/.DS_Store +0 -0
  246. package/packages/theme/src/img/emote/.DS_Store +0 -0
  247. package/packages/theme/src/less/.DS_Store +0 -0
  248. package/packages/theme/src/less/component/affix.less +8 -8
  249. package/packages/theme/src/less/component/article-dark.less +6 -6
  250. package/packages/theme/src/less/component/article.less +39 -39
  251. package/packages/theme/src/less/component/box-dark.less +85 -85
  252. package/packages/theme/src/less/component/box.less +272 -272
  253. package/packages/theme/src/less/component/calendar-dark.less +111 -111
  254. package/packages/theme/src/less/component/calendar.less +282 -282
  255. package/packages/theme/src/less/component/card-dark.less +17 -17
  256. package/packages/theme/src/less/component/card.less +89 -89
  257. package/packages/theme/src/less/component/chat-dark.less +47 -47
  258. package/packages/theme/src/less/component/chat.less +71 -71
  259. package/packages/theme/src/less/component/code-dark.less +41 -41
  260. package/packages/theme/src/less/component/code.less +33 -33
  261. package/packages/theme/src/less/component/cover.less +4 -4
  262. package/packages/theme/src/less/component/dialog-dark.less +54 -54
  263. package/packages/theme/src/less/component/dialog.less +75 -75
  264. package/packages/theme/src/less/component/filter-dark.less +31 -31
  265. package/packages/theme/src/less/component/filter.less +97 -97
  266. package/packages/theme/src/less/component/float-dark.less +26 -26
  267. package/packages/theme/src/less/component/float.less +61 -61
  268. package/packages/theme/src/less/component/form-dark.less +45 -45
  269. package/packages/theme/src/less/component/form.less +322 -322
  270. package/packages/theme/src/less/component/gantt-dark.less +44 -44
  271. package/packages/theme/src/less/component/gantt.less +52 -52
  272. package/packages/theme/src/less/component/guider-dark.less +6 -6
  273. package/packages/theme/src/less/component/guider.less +15 -15
  274. package/packages/theme/src/less/component/header-dark.less +41 -41
  275. package/packages/theme/src/less/component/header.less +121 -121
  276. package/packages/theme/src/less/component/keyboard-dark.less +15 -15
  277. package/packages/theme/src/less/component/keyboard.less +21 -21
  278. package/packages/theme/src/less/component/line-dark.less +20 -20
  279. package/packages/theme/src/less/component/line.less +21 -21
  280. package/packages/theme/src/less/component/msg-dark.less +42 -42
  281. package/packages/theme/src/less/component/msg.less +102 -102
  282. package/packages/theme/src/less/component/page-dark.less +26 -26
  283. package/packages/theme/src/less/component/page.less +26 -26
  284. package/packages/theme/src/less/component/param-dark.less +31 -31
  285. package/packages/theme/src/less/component/param.less +136 -136
  286. package/packages/theme/src/less/component/popup-dark.less +20 -20
  287. package/packages/theme/src/less/component/popup.less +85 -85
  288. package/packages/theme/src/less/component/print.less +121 -121
  289. package/packages/theme/src/less/component/scroll-dark.less +19 -19
  290. package/packages/theme/src/less/component/scroll.less +47 -47
  291. package/packages/theme/src/less/component/skeleton-dark.less +29 -29
  292. package/packages/theme/src/less/component/skeleton.less +78 -78
  293. package/packages/theme/src/less/component/slide.less +70 -70
  294. package/packages/theme/src/less/component/space.less +2 -2
  295. package/packages/theme/src/less/component/step-dark.less +165 -165
  296. package/packages/theme/src/less/component/step.less +147 -147
  297. package/packages/theme/src/less/component/submit.less +40 -40
  298. package/packages/theme/src/less/component/tab-dark.less +221 -221
  299. package/packages/theme/src/less/component/tab.less +469 -462
  300. package/packages/theme/src/less/component/table-dark.less +196 -196
  301. package/packages/theme/src/less/component/table.less +435 -435
  302. package/packages/theme/src/less/component/timeline-dark.less +13 -13
  303. package/packages/theme/src/less/component/timeline.less +114 -114
  304. package/packages/theme/src/less/component/tip-dark.less +76 -76
  305. package/packages/theme/src/less/component/tip.less +139 -139
  306. package/packages/theme/src/less/component/tooltip-dark.less +105 -105
  307. package/packages/theme/src/less/component/tooltip.less +159 -159
  308. package/packages/theme/src/less/component/tree-dark.less +56 -56
  309. package/packages/theme/src/less/component/tree.less +148 -148
  310. package/packages/theme/src/less/element/align.less +32 -32
  311. package/packages/theme/src/less/element/animation.less +5 -5
  312. package/packages/theme/src/less/element/button-dark.less +29 -29
  313. package/packages/theme/src/less/element/button.less +65 -65
  314. package/packages/theme/src/less/element/center-scroll-dark.less +3 -3
  315. package/packages/theme/src/less/element/center-scroll.less +6 -6
  316. package/packages/theme/src/less/element/checkbox-dark.less +68 -68
  317. package/packages/theme/src/less/element/checkbox.less +73 -73
  318. package/packages/theme/src/less/element/color-dark.less +15 -15
  319. package/packages/theme/src/less/element/color.less +33 -33
  320. package/packages/theme/src/less/element/dis.less +9 -9
  321. package/packages/theme/src/less/element/ellipsis.less +35 -35
  322. package/packages/theme/src/less/element/emote.less +5 -5
  323. package/packages/theme/src/less/element/font-dark.less +9 -9
  324. package/packages/theme/src/less/element/font.less +8 -8
  325. package/packages/theme/src/less/element/hide-dark.less +114 -114
  326. package/packages/theme/src/less/element/hide.less +114 -114
  327. package/packages/theme/src/less/element/icon.less +297 -297
  328. package/packages/theme/src/less/element/input-dark.less +205 -205
  329. package/packages/theme/src/less/element/input.less +405 -405
  330. package/packages/theme/src/less/element/menu-icon.less +1 -1
  331. package/packages/theme/src/less/element/pic.less +18 -18
  332. package/packages/theme/src/less/element/progress-dark.less +37 -37
  333. package/packages/theme/src/less/element/progress.less +82 -82
  334. package/packages/theme/src/less/element/radio-dark.less +18 -18
  335. package/packages/theme/src/less/element/radio.less +11 -11
  336. package/packages/theme/src/less/element/range-dark.less +24 -24
  337. package/packages/theme/src/less/element/range.less +56 -56
  338. package/packages/theme/src/less/element/rate.less +17 -17
  339. package/packages/theme/src/less/element/segment-dark.less +119 -119
  340. package/packages/theme/src/less/element/segment.less +197 -197
  341. package/packages/theme/src/less/element/select-dark.less +167 -167
  342. package/packages/theme/src/less/element/select.less +431 -431
  343. package/packages/theme/src/less/element/size.less +10 -10
  344. package/packages/theme/src/less/element/switch-dark.less +7 -7
  345. package/packages/theme/src/less/element/switch.less +37 -37
  346. package/packages/theme/src/less/element/tag-dark.less +115 -115
  347. package/packages/theme/src/less/element/tag.less +159 -159
  348. package/packages/theme/src/less/element/upload-dark.less +26 -26
  349. package/packages/theme/src/less/element/upload.less +64 -64
  350. package/packages/theme/src/less/layout/fix.less +2 -2
  351. package/packages/theme/src/less/layout/flow.less +47 -47
  352. package/packages/theme/src/less/layout/grid-dark.less +28 -28
  353. package/packages/theme/src/less/layout/grid.less +172 -172
  354. package/packages/theme/src/less/layout/org-dark.less +2 -2
  355. package/packages/theme/src/less/layout/org.less +72 -72
  356. package/packages/theme/src/less/layout/padding.less +1 -1
  357. package/packages/theme/src/less/layout/reverser.less +8 -8
  358. package/packages/theme/src/less/theme/.DS_Store +0 -0
  359. package/packages/theme/src/less/theme/B-Design.less +159 -159
  360. package/packages/theme/src/less/theme/aiplan.less +159 -159
  361. package/packages/theme/src/less/theme/aiplangd.less +159 -159
  362. package/packages/theme/src/less/theme/chbn.less +159 -159
  363. package/packages/theme/src/less/theme/default.less +160 -160
  364. package/packages/theme/src/less/theme/dt.less +159 -159
  365. package/packages/theme/src/less/theme/ecloud.less +159 -159
  366. package/packages/theme/src/less/theme/hongkong.less +159 -159
  367. package/packages/theme/src/less/theme/narrow.less +160 -160
  368. package/packages/theme/src/less/theme/sdpf.less +160 -160
  369. package/packages/theme/src/less/theme/upc.less +159 -159
  370. package/packages/theme/src/less/theme/website.less +159 -159
  371. package/packages/theme/src/less/theme/zj.less +159 -159
  372. package/packages/timeline/index.js +8 -8
  373. package/packages/timeline/src/timeline.vue +84 -84
  374. package/packages/tip/index.js +8 -8
  375. package/packages/tip/src/tip.vue +226 -226
  376. package/packages/tooltip/.DS_Store +0 -0
  377. package/packages/tooltip/index.js +8 -8
  378. package/packages/tooltip/src/directive.js +180 -180
  379. package/packages/tooltip/src/tooltip.vue +467 -467
  380. package/packages/transfer/index.js +8 -8
  381. package/packages/transfer/src/transfer.vue +293 -293
  382. package/packages/tree/.DS_Store +0 -0
  383. package/packages/tree/index.js +8 -8
  384. package/packages/tree/src/tree.vue +518 -518
  385. package/packages/tree/src/treeItem.vue +443 -443
  386. package/packages/upload/.DS_Store +0 -0
  387. package/packages/upload/index.js +8 -8
  388. package/packages/upload/src/upload.vue +860 -860
  389. package/src/.DS_Store +0 -0
  390. package/src/index.js +207 -207
  391. package/src/locale/format.js +46 -46
  392. package/src/locale/index.js +48 -48
  393. package/src/locale/lang/en.js +207 -207
  394. package/src/locale/lang/zh-CN.js +207 -207
  395. package/src/mixins/blur.js +9 -9
  396. package/src/mixins/emitter.js +33 -33
  397. package/src/mixins/focus.js +9 -9
  398. package/src/mixins/locale.js +9 -9
  399. package/src/mixins/migrating.js +54 -54
  400. package/src/mixins/tip.js +10 -10
  401. package/src/mixins/transition.js +130 -130
  402. package/src/msg/index.js +107 -107
  403. package/src/svg/.DS_Store +0 -0
  404. package/src/svg/menu/.DS_Store +0 -0
  405. package/src/svg/menu/main/abnormal-mix.svg +5 -5
  406. package/src/svg/menu/main/abnormal.svg +5 -5
  407. package/src/svg/menu/main/accountManager-mix.svg +5 -5
  408. package/src/svg/menu/main/accountManager.svg +5 -5
  409. package/src/svg/menu/main/agreement-mix.svg +7 -7
  410. package/src/svg/menu/main/agreement.svg +7 -7
  411. package/src/svg/menu/main/ai-mix.svg +5 -5
  412. package/src/svg/menu/main/archives-mix.svg +6 -6
  413. package/src/svg/menu/main/arrearsReport-mix.svg +17 -17
  414. package/src/svg/menu/main/arrearsReport.svg +17 -17
  415. package/src/svg/menu/main/bill-mix.svg +13 -13
  416. package/src/svg/menu/main/bill.svg +13 -13
  417. package/src/svg/menu/main/box-mix.svg +5 -5
  418. package/src/svg/menu/main/broadband-mix.svg +4 -4
  419. package/src/svg/menu/main/broadband.svg +4 -4
  420. package/src/svg/menu/main/card-mix.svg +5 -5
  421. package/src/svg/menu/main/card.svg +5 -5
  422. package/src/svg/menu/main/cash-mix.svg +5 -5
  423. package/src/svg/menu/main/cash.svg +5 -5
  424. package/src/svg/menu/main/cloud-mix.svg +4 -4
  425. package/src/svg/menu/main/cloud.svg +4 -4
  426. package/src/svg/menu/main/clue-mix.svg +10 -10
  427. package/src/svg/menu/main/clue.svg +10 -10
  428. package/src/svg/menu/main/commonUse-mix.svg +4 -4
  429. package/src/svg/menu/main/commonUse.svg +4 -4
  430. package/src/svg/menu/main/construction-mix.svg +7 -7
  431. package/src/svg/menu/main/construction.svg +7 -7
  432. package/src/svg/menu/main/contract-mix.svg +8 -8
  433. package/src/svg/menu/main/contract.svg +8 -8
  434. package/src/svg/menu/main/credit-mix.svg +5 -5
  435. package/src/svg/menu/main/credit.svg +5 -5
  436. package/src/svg/menu/main/data-mix.svg +5 -5
  437. package/src/svg/menu/main/data.svg +5 -5
  438. package/src/svg/menu/main/date-mix.svg +7 -7
  439. package/src/svg/menu/main/deposit-mix.svg +4 -4
  440. package/src/svg/menu/main/device-mix.svg +4 -4
  441. package/src/svg/menu/main/device.svg +4 -4
  442. package/src/svg/menu/main/discrepancy-mix.svg +5 -5
  443. package/src/svg/menu/main/door-mix.svg +6 -6
  444. package/src/svg/menu/main/fault-mix.svg +12 -12
  445. package/src/svg/menu/main/fault.svg +16 -16
  446. package/src/svg/menu/main/finance-mix.svg +11 -11
  447. package/src/svg/menu/main/finance.svg +13 -13
  448. package/src/svg/menu/main/flow-mix.svg +4 -4
  449. package/src/svg/menu/main/flow.svg +4 -4
  450. package/src/svg/menu/main/folder-mix.svg +4 -4
  451. package/src/svg/menu/main/folder.svg +4 -4
  452. package/src/svg/menu/main/friendly-mix.svg +5 -5
  453. package/src/svg/menu/main/fusion-mix.svg +5 -5
  454. package/src/svg/menu/main/fusion.svg +5 -5
  455. package/src/svg/menu/main/gift-mix.svg +8 -8
  456. package/src/svg/menu/main/gift.svg +8 -8
  457. package/src/svg/menu/main/gps-mix.svg +6 -6
  458. package/src/svg/menu/main/gps.svg +6 -6
  459. package/src/svg/menu/main/grid-mix.svg +7 -7
  460. package/src/svg/menu/main/grid.svg +7 -7
  461. package/src/svg/menu/main/group-mix.svg +4 -4
  462. package/src/svg/menu/main/group.svg +4 -4
  463. package/src/svg/menu/main/home-mix.svg +5 -5
  464. package/src/svg/menu/main/home.svg +8 -8
  465. package/src/svg/menu/main/ict-mix.svg +4 -4
  466. package/src/svg/menu/main/industry-mix.svg +5 -5
  467. package/src/svg/menu/main/industry.svg +5 -5
  468. package/src/svg/menu/main/info-mix.svg +9 -9
  469. package/src/svg/menu/main/info.svg +9 -9
  470. package/src/svg/menu/main/integral-mix.svg +5 -5
  471. package/src/svg/menu/main/integral.svg +5 -5
  472. package/src/svg/menu/main/internet-mix.svg +5 -5
  473. package/src/svg/menu/main/internet.svg +5 -5
  474. package/src/svg/menu/main/inventory-mix.svg +5 -5
  475. package/src/svg/menu/main/invoice-mix.svg +6 -6
  476. package/src/svg/menu/main/invoice.svg +14 -14
  477. package/src/svg/menu/main/iot-mix.svg +5 -5
  478. package/src/svg/menu/main/iot.svg +5 -5
  479. package/src/svg/menu/main/label-mix.svg +4 -4
  480. package/src/svg/menu/main/label.svg +4 -4
  481. package/src/svg/menu/main/love-mix.svg +6 -6
  482. package/src/svg/menu/main/love.svg +13 -13
  483. package/src/svg/menu/main/m1-mix.svg +4 -4
  484. package/src/svg/menu/main/m1.svg +4 -4
  485. package/src/svg/menu/main/m2-mix.svg +12 -12
  486. package/src/svg/menu/main/m2.svg +11 -11
  487. package/src/svg/menu/main/m3-mix.svg +6 -6
  488. package/src/svg/menu/main/m3.svg +7 -7
  489. package/src/svg/menu/main/m4-mix.svg +5 -5
  490. package/src/svg/menu/main/m4.svg +7 -7
  491. package/src/svg/menu/main/m5-mix.svg +8 -8
  492. package/src/svg/menu/main/m5.svg +10 -10
  493. package/src/svg/menu/main/mail-mix.svg +5 -5
  494. package/src/svg/menu/main/manual-mix.svg +11 -11
  495. package/src/svg/menu/main/manual.svg +11 -11
  496. package/src/svg/menu/main/market-mix.svg +4 -4
  497. package/src/svg/menu/main/market.svg +4 -4
  498. package/src/svg/menu/main/member-mix.svg +6 -6
  499. package/src/svg/menu/main/member.svg +6 -6
  500. package/src/svg/menu/main/menu-mix.svg +4 -4
  501. package/src/svg/menu/main/menu.svg +4 -4
  502. package/src/svg/menu/main/message-mix.svg +11 -11
  503. package/src/svg/menu/main/message.svg +11 -11
  504. package/src/svg/menu/main/namelist-mix.svg +4 -4
  505. package/src/svg/menu/main/namelist.svg +4 -4
  506. package/src/svg/menu/main/net-mix.svg +7 -7
  507. package/src/svg/menu/main/niche-mix.svg +12 -12
  508. package/src/svg/menu/main/niche.svg +12 -12
  509. package/src/svg/menu/main/notice-mix.svg +4 -4
  510. package/src/svg/menu/main/notice.svg +4 -4
  511. package/src/svg/menu/main/number-mix.svg +6 -6
  512. package/src/svg/menu/main/operations-mix.svg +4 -4
  513. package/src/svg/menu/main/operations.svg +4 -4
  514. package/src/svg/menu/main/order-mix.svg +8 -8
  515. package/src/svg/menu/main/order.svg +8 -8
  516. package/src/svg/menu/main/person-mix.svg +6 -6
  517. package/src/svg/menu/main/person.svg +6 -6
  518. package/src/svg/menu/main/phone-mix.svg +4 -4
  519. package/src/svg/menu/main/phone.svg +4 -4
  520. package/src/svg/menu/main/phoneBill-mix.svg +6 -6
  521. package/src/svg/menu/main/phoneBill.svg +6 -6
  522. package/src/svg/menu/main/preferential-mix.svg +5 -5
  523. package/src/svg/menu/main/preferential.svg +5 -5
  524. package/src/svg/menu/main/print-mix.svg +5 -5
  525. package/src/svg/menu/main/problem-mix.svg +4 -4
  526. package/src/svg/menu/main/problem.svg +4 -4
  527. package/src/svg/menu/main/process-mix.svg +4 -4
  528. package/src/svg/menu/main/process.svg +4 -4
  529. package/src/svg/menu/main/product-mix.svg +5 -5
  530. package/src/svg/menu/main/product.svg +6 -6
  531. package/src/svg/menu/main/qrCode-mix.svg +8 -8
  532. package/src/svg/menu/main/qrCode.svg +8 -8
  533. package/src/svg/menu/main/refuelingBag-mix-mix.svg +4 -4
  534. package/src/svg/menu/main/refuelingBag-mix.svg +4 -4
  535. package/src/svg/menu/main/reportForm-mix.svg +8 -8
  536. package/src/svg/menu/main/reportForm.svg +8 -8
  537. package/src/svg/menu/main/risk-mix.svg +16 -16
  538. package/src/svg/menu/main/risk.svg +17 -17
  539. package/src/svg/menu/main/robot-mix.svg +9 -9
  540. package/src/svg/menu/main/robot.svg +9 -9
  541. package/src/svg/menu/main/satisfaction-mix.svg +4 -4
  542. package/src/svg/menu/main/satisfaction.svg +4 -4
  543. package/src/svg/menu/main/scratchCard-mix.svg +4 -4
  544. package/src/svg/menu/main/sim-mix.svg +4 -4
  545. package/src/svg/menu/main/sim.svg +4 -4
  546. package/src/svg/menu/main/staging-mix.svg +4 -4
  547. package/src/svg/menu/main/staging.svg +4 -4
  548. package/src/svg/menu/main/survey-mix.svg +5 -5
  549. package/src/svg/menu/main/survey.svg +5 -5
  550. package/src/svg/menu/main/tasks-mix.svg +8 -8
  551. package/src/svg/menu/main/tasks.svg +8 -8
  552. package/src/svg/menu/main/telephone-mix.svg +4 -4
  553. package/src/svg/menu/main/topUp-mix.svg +5 -5
  554. package/src/svg/menu/main/trajectory-mix.svg +11 -11
  555. package/src/svg/menu/main/trajectory.svg +23 -23
  556. package/src/svg/menu/main/transmit-mix.svg +5 -5
  557. package/src/svg/menu/main/tv-mix.svg +6 -6
  558. package/src/svg/menu/main/unlock-mix.svg +4 -4
  559. package/src/svg/menu/main/unlock.svg +4 -4
  560. package/src/svg/menu/main/view-mix.svg +5 -5
  561. package/src/svg/menu/main/view.svg +5 -5
  562. package/src/svg/menu/main/visits-mix.svg +19 -19
  563. package/src/svg/menu/main/visits.svg +19 -19
  564. package/src/svg/menu/main/voice-mix.svg +4 -4
  565. package/src/svg/menu/main/voice.svg +4 -4
  566. package/src/svg/menu/main/wiki-mix.svg +4 -4
  567. package/src/svg/menu/main/wiki.svg +4 -4
  568. package/src/svg/menu/main/workOrder-mix.svg +6 -6
  569. package/src/svg/menu/main/workOrder.svg +14 -14
  570. package/src/svg/menu/patch/Mo-space.svg +2 -2
  571. package/src/svg/menu/patch/Mo.svg +3 -3
  572. package/src/svg/menu/patch/add-space.svg +3 -3
  573. package/src/svg/menu/patch/add.svg +3 -3
  574. package/src/svg/menu/patch/address-space.svg +3 -3
  575. package/src/svg/menu/patch/address.svg +3 -3
  576. package/src/svg/menu/patch/approve-space.svg +3 -3
  577. package/src/svg/menu/patch/approve.svg +4 -4
  578. package/src/svg/menu/patch/avoid-space.svg +3 -3
  579. package/src/svg/menu/patch/avoid.svg +3 -3
  580. package/src/svg/menu/patch/batch-space.svg +3 -3
  581. package/src/svg/menu/patch/batch.svg +5 -5
  582. package/src/svg/menu/patch/broadband-space.svg +3 -3
  583. package/src/svg/menu/patch/broadband.svg +4 -4
  584. package/src/svg/menu/patch/cancellation-space.svg +3 -3
  585. package/src/svg/menu/patch/cancellation.svg +3 -3
  586. package/src/svg/menu/patch/center-space.svg +3 -3
  587. package/src/svg/menu/patch/center.svg +5 -5
  588. package/src/svg/menu/patch/change-space.svg +3 -3
  589. package/src/svg/menu/patch/change.svg +4 -4
  590. package/src/svg/menu/patch/click-space.svg +3 -3
  591. package/src/svg/menu/patch/click.svg +4 -4
  592. package/src/svg/menu/patch/close-1-space.svg +3 -3
  593. package/src/svg/menu/patch/close-1.svg +3 -3
  594. package/src/svg/menu/patch/close-space.svg +2 -2
  595. package/src/svg/menu/patch/close.svg +3 -3
  596. package/src/svg/menu/patch/collect-space.svg +3 -3
  597. package/src/svg/menu/patch/collect.svg +3 -3
  598. package/src/svg/menu/patch/comment-space.svg +3 -3
  599. package/src/svg/menu/patch/comment.svg +3 -3
  600. package/src/svg/menu/patch/confirm-space.svg +3 -3
  601. package/src/svg/menu/patch/confirm.svg +3 -3
  602. package/src/svg/menu/patch/contract-space.svg +3 -3
  603. package/src/svg/menu/patch/contract.svg +3 -3
  604. package/src/svg/menu/patch/credit-space.svg +3 -3
  605. package/src/svg/menu/patch/credit.svg +5 -5
  606. package/src/svg/menu/patch/dataMonitoring-space.svg +3 -3
  607. package/src/svg/menu/patch/dataMonitoring.svg +3 -3
  608. package/src/svg/menu/patch/dedicatedCircuit-space.svg +3 -3
  609. package/src/svg/menu/patch/dedicatedCircuit.svg +3 -3
  610. package/src/svg/menu/patch/detail-space.svg +3 -3
  611. package/src/svg/menu/patch/detail.svg +3 -3
  612. package/src/svg/menu/patch/disassemb-space.svg +3 -3
  613. package/src/svg/menu/patch/disassemb.svg +3 -3
  614. package/src/svg/menu/patch/earnestMoney-space.svg +3 -3
  615. package/src/svg/menu/patch/earnestMoney.svg +3 -3
  616. package/src/svg/menu/patch/empower-space.svg +3 -3
  617. package/src/svg/menu/patch/empower.svg +3 -3
  618. package/src/svg/menu/patch/entrust-space.svg +3 -3
  619. package/src/svg/menu/patch/entrust.svg +3 -3
  620. package/src/svg/menu/patch/expedite-space.svg +4 -4
  621. package/src/svg/menu/patch/expedite.svg +4 -4
  622. package/src/svg/menu/patch/flow-space.svg +3 -3
  623. package/src/svg/menu/patch/flow.svg +3 -3
  624. package/src/svg/menu/patch/folder-space.svg +3 -3
  625. package/src/svg/menu/patch/folder.svg +3 -3
  626. package/src/svg/menu/patch/forbidden-space.svg +3 -3
  627. package/src/svg/menu/patch/forbidden.svg +3 -3
  628. package/src/svg/menu/patch/forward-space.svg +3 -3
  629. package/src/svg/menu/patch/forward.svg +3 -3
  630. package/src/svg/menu/patch/fusion-space.svg +3 -3
  631. package/src/svg/menu/patch/fusion.svg +6 -6
  632. package/src/svg/menu/patch/history-space.svg +3 -3
  633. package/src/svg/menu/patch/history.svg +3 -3
  634. package/src/svg/menu/patch/information-space.svg +3 -3
  635. package/src/svg/menu/patch/information.svg +3 -3
  636. package/src/svg/menu/patch/insert-space.svg +3 -3
  637. package/src/svg/menu/patch/insert.svg +3 -3
  638. package/src/svg/menu/patch/letv-space.svg +3 -3
  639. package/src/svg/menu/patch/letv.svg +3 -3
  640. package/src/svg/menu/patch/link-space.svg +3 -3
  641. package/src/svg/menu/patch/link.svg +3 -3
  642. package/src/svg/menu/patch/location-space.svg +3 -3
  643. package/src/svg/menu/patch/location.svg +3 -3
  644. package/src/svg/menu/patch/message-space.svg +3 -3
  645. package/src/svg/menu/patch/message.svg +4 -4
  646. package/src/svg/menu/patch/minus-space.svg +3 -3
  647. package/src/svg/menu/patch/minus.svg +3 -3
  648. package/src/svg/menu/patch/mms-space.svg +3 -3
  649. package/src/svg/menu/patch/mms.svg +3 -3
  650. package/src/svg/menu/patch/monitor-space.svg +3 -3
  651. package/src/svg/menu/patch/monitor.svg +3 -3
  652. package/src/svg/menu/patch/move-space.svg +3 -3
  653. package/src/svg/menu/patch/move.svg +3 -3
  654. package/src/svg/menu/patch/negative-space.svg +2 -2
  655. package/src/svg/menu/patch/negative.svg +3 -3
  656. package/src/svg/menu/patch/net-space.svg +2 -2
  657. package/src/svg/menu/patch/net.svg +3 -3
  658. package/src/svg/menu/patch/news-space.svg +3 -3
  659. package/src/svg/menu/patch/news.svg +3 -3
  660. package/src/svg/menu/patch/notice-space.svg +4 -4
  661. package/src/svg/menu/patch/notice.svg +5 -5
  662. package/src/svg/menu/patch/officialBusiness-space.svg +3 -3
  663. package/src/svg/menu/patch/officialBusiness.svg +4 -4
  664. package/src/svg/menu/patch/pay-space.svg +3 -3
  665. package/src/svg/menu/patch/pay.svg +3 -3
  666. package/src/svg/menu/patch/phone-space.svg +3 -3
  667. package/src/svg/menu/patch/phone.svg +5 -5
  668. package/src/svg/menu/patch/print-space.svg +3 -3
  669. package/src/svg/menu/patch/print.svg +5 -5
  670. package/src/svg/menu/patch/product-space.svg +3 -3
  671. package/src/svg/menu/patch/product.svg +5 -5
  672. package/src/svg/menu/patch/reservation-space.svg +3 -3
  673. package/src/svg/menu/patch/reservation.svg +3 -3
  674. package/src/svg/menu/patch/sale-space.svg +3 -3
  675. package/src/svg/menu/patch/sale.svg +5 -5
  676. package/src/svg/menu/patch/search-space.svg +3 -3
  677. package/src/svg/menu/patch/search.svg +3 -3
  678. package/src/svg/menu/patch/secure-space.svg +3 -3
  679. package/src/svg/menu/patch/secure.svg +5 -5
  680. package/src/svg/menu/patch/setup-space.svg +3 -3
  681. package/src/svg/menu/patch/setup.svg +3 -3
  682. package/src/svg/menu/patch/shift-space.svg +3 -3
  683. package/src/svg/menu/patch/shift.svg +3 -3
  684. package/src/svg/menu/patch/situation-space.svg +3 -3
  685. package/src/svg/menu/patch/situation.svg +3 -3
  686. package/src/svg/menu/patch/special-space.svg +3 -3
  687. package/src/svg/menu/patch/special.svg +3 -3
  688. package/src/svg/menu/patch/tabulation-space.svg +3 -3
  689. package/src/svg/menu/patch/tabulation.svg +8 -8
  690. package/src/svg/menu/patch/track-space.svg +3 -3
  691. package/src/svg/menu/patch/track.svg +5 -5
  692. package/src/svg/menu/patch/transaction-space.svg +3 -3
  693. package/src/svg/menu/patch/transaction.svg +6 -6
  694. package/src/svg/menu/patch/user-space.svg +3 -3
  695. package/src/svg/menu/patch/user.svg +3 -3
  696. package/src/svg/menu/patch/visualize-space.svg +3 -3
  697. package/src/svg/menu/patch/visualize.svg +4 -4
  698. package/src/svg/menu/patch/vnet-space.svg +3 -3
  699. package/src/svg/menu/patch/vnet.svg +3 -3
  700. package/src/tip/tip.js +160 -160
  701. package/src/utils/after-leave.js +27 -27
  702. package/src/utils/ajax.js +59 -59
  703. package/src/utils/array.js +24 -24
  704. package/src/utils/clickoutside.js +105 -105
  705. package/src/utils/compare.js +16 -16
  706. package/src/utils/date.js +55 -55
  707. package/src/utils/disabledArea.js +18 -18
  708. package/src/utils/dom.js +301 -301
  709. package/src/utils/filetransfer.js +287 -287
  710. package/src/utils/isModified.js +20 -20
  711. package/src/utils/jsencrypt/JSEncrypt.js +192 -192
  712. package/src/utils/jsencrypt/JSEncryptRSAKey.js +320 -320
  713. package/src/utils/jsencrypt/index.js +3 -3
  714. package/src/utils/jsencrypt/jselib/asn1js/asn1.d.ts +51 -51
  715. package/src/utils/jsencrypt/jselib/asn1js/asn1.js +565 -565
  716. package/src/utils/jsencrypt/jselib/asn1js/base64.d.ts +5 -5
  717. package/src/utils/jsencrypt/jselib/asn1js/base64.js +88 -88
  718. package/src/utils/jsencrypt/jselib/asn1js/hex.d.ts +3 -3
  719. package/src/utils/jsencrypt/jselib/asn1js/hex.js +64 -64
  720. package/src/utils/jsencrypt/jselib/asn1js/int10.d.ts +9 -9
  721. package/src/utils/jsencrypt/jselib/asn1js/int10.js +87 -87
  722. package/src/utils/jsencrypt/jselib/asn1js/oids.d.ts +9778 -9778
  723. package/src/utils/jsencrypt/jselib/asn1js/oids.js +1962 -1962
  724. package/src/utils/jsencrypt/jselib/jsbn/base64.d.ts +3 -3
  725. package/src/utils/jsencrypt/jselib/jsbn/base64.js +76 -76
  726. package/src/utils/jsencrypt/jselib/jsbn/jsbn.d.ts +98 -98
  727. package/src/utils/jsencrypt/jselib/jsbn/jsbn.js +1754 -1754
  728. package/src/utils/jsencrypt/jselib/jsbn/prng4.d.ts +10 -10
  729. package/src/utils/jsencrypt/jselib/jsbn/prng4.js +46 -46
  730. package/src/utils/jsencrypt/jselib/jsbn/rng.d.ts +3 -3
  731. package/src/utils/jsencrypt/jselib/jsbn/rng.js +78 -78
  732. package/src/utils/jsencrypt/jselib/jsbn/rsa.d.ts +23 -23
  733. package/src/utils/jsencrypt/jselib/jsbn/rsa.js +373 -373
  734. package/src/utils/jsencrypt/jselib/jsbn/util.d.ts +7 -7
  735. package/src/utils/jsencrypt/jselib/jsbn/util.js +58 -58
  736. package/src/utils/jsencrypt/jselib/jsrsasign/asn1-1.0.js +1593 -1593
  737. package/src/utils/jsencrypt/jselib/jsrsasign/yahoo.js +63 -63
  738. package/src/utils/jsencrypt/util.js +58 -58
  739. package/src/utils/jsencrypt.js +263 -263
  740. package/src/utils/md5.js +203 -203
  741. package/src/utils/merge.js +15 -15
  742. package/src/utils/mime.js +75 -75
  743. package/src/utils/print.js +39 -39
  744. package/src/utils/ratio.js +230 -230
  745. package/src/utils/respo.js +9 -9
  746. package/src/utils/shared.js +7 -7
  747. package/src/utils/sign.js +185 -185
  748. package/src/utils/string.js +13 -13
  749. package/src/utils/theme.js +91 -91
  750. package/src/utils/types.js +40 -40
  751. package/src/utils/util.js +286 -286
  752. package/src/utils/uuid.js +12 -12
  753. package/src/utils/validate.js +373 -373
@@ -1,443 +1,443 @@
1
- <template>
2
- <ul v-if="nodes" @mouseenter="$emit('mouseenter')" @mouseleave="$emit('mouseleave')">
3
- <template v-for="(node, nodeIndex) in nodes">
4
- <li
5
- v-if="node.show"
6
- :key="nodeIndex"
7
- :ref="node.value"
8
- :class="{
9
- disabled: node.disabled,
10
- unfold: node.expanded && !node.isLeaf,
11
- fold: !node.expanded && !node.isLeaf,
12
- leaf: !node.children || node.isLeaf,
13
- loading:node._loading,
14
- on: highlightCurrent && node.value === currentNodeKey
15
- }"
16
- >
17
- <div ref="node" v-tip.fg.right="!(node.children && node.children.length) && node.parent === '__root__' && ToTree.type === 'icon' ? node.label:''" class="content" @mouseenter="handleNodeEnter(node,nodeIndex)" @mouseleave="handleNodeLeave(node)">
18
- <div class="ico" :style="setIconStyle" @click.stop="handleExpand(node)"><span></span></div>
19
-
20
- <!--子节点展示选择框,父节点不展示-->
21
- <div v-if="setCheckBoxStatus(node)" class="check"><to-checkbox v-model="node.checked" v-dis="node.disabled" padding="0.5" @change="handleCheck(node, $event, true)"></to-checkbox></div>
22
- <div class="text" @click.stop="event => handleLabelClick(event,node)">
23
- <slot :node="node">
24
- <div class="to-tree-text-group">
25
- <to-icon v-if="node.icon" class="to-tree-text-icon" mode="none" :value="node.icon"></to-icon>
26
- <span class="to-tree-text-content">{{ node.label }}</span>
27
- </div>
28
- </slot>
29
- </div>
30
- </div>
31
- <template v-if="node.children && node.children.length > 0 && !node.isLeaf">
32
- <to-tree-item
33
- :ref="`${node.value}_children`"
34
- :parent="node.value"
35
- :data="node.children"
36
- :highlight-current="highlightCurrent"
37
- :expand-on-click-node="expandOnClickNode"
38
- :check-on-click-node="checkOnClickNode"
39
- :show-checkbox="showCheckbox"
40
- :is-parent-not-checkbox="isParentNotCheckbox"
41
- :children-text="childrenText"
42
- :value-text="valueText"
43
- :label-text="labelText"
44
- :icon-top="iconTop"
45
- :disabled-text="disabledText"
46
- :is-leaf-text="isLeafText"
47
- :checked-text="checkedText"
48
- :expanded-text="expandedText"
49
- :check-strictly="checkStrictly"
50
- :current-node-key="currentNodeKey"
51
- :filter-node-method="filterNodeMethod"
52
- :auto-expand-parent="autoExpandParent"
53
- @mouseenter="handleLayerEnter(node)"
54
- @mouseleave="handleLayerLeave(node)"
55
- @current-change="handleCurrentNodeKeyChange"
56
- @check="handleCheckChange"
57
- @node-click="handleNodeClick"
58
- @node-expand="handleNodeExpand"
59
- @node-collapse="handleNodeCollapse"
60
- >
61
- <template v-slot="scope">
62
- <slot :node="scope.node"></slot>
63
- </template>
64
- </to-tree-item>
65
- </template>
66
- </li>
67
- </template>
68
- </ul>
69
- </template>
70
-
71
- <script>
72
- export default {
73
- name: 'ToTreeItem',
74
- componentName: 'ToTreeItem',
75
- inject: {
76
- ToTree: { type: Object, default: null},
77
- nodeMap: { type: Object, default: () => ({}) }
78
- },
79
- props: {
80
- parent: {
81
- type: String,
82
- default: '__root__'
83
- },
84
- iconTop: {
85
- type: [Number, String],
86
- default: ''
87
- },
88
- // 展示数据
89
- data: {
90
- type: Array,
91
- default: () => []
92
- },
93
- // 是否高亮当前选中节点,默认值是 false。
94
- highlightCurrent: {
95
- type: Boolean,
96
- default: false
97
- },
98
- // 是否在点击节点的时候展开或者收缩节点, 默认值为 false,如果为 false,则只有点箭头图标的时候才会展开或者收缩节点。
99
- expandOnClickNode: {
100
- type: Boolean,
101
- default: false
102
- },
103
- // 是否在点击节点的时候选中节点,默认值为 false,即只有在点击复选框时才会选中节点。
104
- checkOnClickNode: {
105
- type: Boolean,
106
- default: false
107
- },
108
- // 节点是否可被选择
109
- showCheckbox: {
110
- type: Boolean,
111
- default: false
112
- },
113
- // 父节点不被选择
114
- isParentNotCheckbox: {
115
- type: Boolean,
116
- default: false
117
- },
118
- // 在显示复选框的情况下,是否严格的遵循父子不互相关联的做法,默认为 false
119
- checkStrictly: {
120
- type: Boolean,
121
- default: false
122
- },
123
- // 当前选中的节点
124
- currentNodeKey: {
125
- type: [String, Number],
126
- default: undefined
127
- },
128
- // 对树节点进行筛选时执行的方法,返回 true 表示这个节点可以显示,返回 false 则表示这个节点会被隐藏 Function(value, data, node)
129
- filterNodeMethod: {
130
- type: Function,
131
- default: undefined
132
- },
133
- // 展开子节点的时候是否自动展开父节点
134
- autoExpandParent: {
135
- type: Boolean,
136
- default: true
137
- },
138
- // 指定子树为节点对象的某个属性值
139
- childrenText: {
140
- type: String,
141
- default: 'children'
142
- },
143
- // 每个树节点用来作为唯一标识的属性,整棵树应该是唯一的
144
- valueText: {
145
- type: String,
146
- default: 'value'
147
- },
148
- // 指定节点标签为节点对象的某个属性值
149
- labelText: {
150
- type: [String, Function],
151
- default: 'label'
152
- },
153
- // 指定节点是否为叶子节点,仅在指定了 lazy 属性的情况下生效
154
- isLeafText: {
155
- type: [String, Function],
156
- default: 'isLeaf'
157
- },
158
- // 指定节点是否禁用
159
- disabledText: {
160
- type: [String, Function],
161
- default: 'disabled'
162
- },
163
- // 指定节点是否默认勾选
164
- checkedText: {
165
- type: [String, Function],
166
- default: 'checked'
167
- },
168
- // 指定节点是否默认勾选
169
- expandedText: {
170
- type: [String, Function],
171
- default: 'expanded'
172
- }
173
- },
174
- data() {
175
- return {
176
- nodes: [],
177
- isIn: false
178
- };
179
- },
180
- computed: {
181
- setIconStyle() {
182
- let obj = {}
183
- if (this.iconTop) {
184
- obj.top = this.iconTop * 2 + 'em'
185
- }
186
- return obj
187
- }
188
- },
189
- watch: {
190
- data: {
191
- handler() {
192
- this.nodes = this.initNodes(JSON.parse(JSON.stringify(this.data)))
193
- },
194
- immediate: true,
195
- deep: true
196
- },
197
- nodes: {
198
- handler(nodes = []) {
199
- this.$emit('update:data', nodes)
200
- },
201
- deep: true
202
- }
203
- },
204
- methods: {
205
- setCheckBoxStatus(node) {
206
- // 所有节点都有选择
207
- if (!this.isParentNotCheckbox && this.showCheckbox) {
208
- if (node.hideCheckbox) {
209
- return false
210
- } else {
211
- return true
212
- }
213
- // 父节点无选择,子节点有选择
214
- } else if (this.isParentNotCheckbox && this.showCheckbox) {
215
- if (node.children && node.children.length > 0 && !node.isLeaf) {
216
- return false
217
- } else {
218
- return true
219
- }
220
- } else {
221
- return false
222
- }
223
- },
224
- initNodes(data) {
225
- if (data && Array.isArray(data)) {
226
- return data.map(node => {
227
- node.value = node[this.valueText] || this.getUUID();
228
- node.parent = this.parent;
229
- node.label = this.execFunctionProperty(node[this.labelText], node) || '';
230
- node.children = this.initNodes(node[this.childrenText]);
231
- node.isLeaf = this.execFunctionProperty(node[this.isLeafText], node) || !node.children
232
- node.disabled = this.execFunctionProperty(node[this.disabledText], node) || false;
233
- node.checked = this.execFunctionProperty(node[this.checkedText], node) || false;
234
- node.expanded = this.execFunctionProperty(node[this.expandedText], node) || false;
235
- node.show = this.filter(node);
236
- node._loading = false
237
- this.nodeMap[node.value] = node;
238
- return node;
239
- });
240
- }
241
- },
242
- filter(node) {
243
- if (typeof this.filterNodeMethod === 'function') {
244
- return this.filterNodeMethod(node);
245
- } else {
246
- return true;
247
- }
248
- },
249
- execFunctionProperty(func, ...args) {
250
- if (typeof func === 'function') {
251
- return func(...args);
252
- } else {
253
- return func;
254
- }
255
- },
256
- // 更新map中的node节点数据
257
- updateNodemap(node) {
258
- this.nodeMap[node.value] = node;
259
- },
260
- // 递归事件传递 请勿做任何业务处理
261
- // 当前选中节点改变
262
- handleCurrentNodeKeyChange(currentNodeKey) {
263
- this.$emit('current-change', currentNodeKey);
264
- },
265
- // 当前节点check改变
266
- handleCheckChange(node, checked) {
267
- this.$emit('check', node, checked);
268
- },
269
- // 当前节点被点击 node-click
270
- handleNodeClick(node) {
271
- this.$emit('node-click', node);
272
- },
273
- // 当前节点expand
274
- handleNodeExpand(node) {
275
- this.$emit('node-expand', node);
276
- },
277
- // 当前节点collapse
278
- handleNodeCollapse(node) {
279
- this.$emit('node-collapse', node);
280
- },
281
- handleExpand(node) {
282
- if (node.disabled) return;
283
- if (node.isLeaf) return;
284
- const expanded = node.expanded;
285
- this.$set(node, 'expanded', !expanded);
286
- this.updateNodemap(node);
287
- if (!expanded) this.handleNodeExpand(node);
288
- else this.handleNodeCollapse(node);
289
- },
290
- handleChilrenCheck(node, checked) {
291
- const refs = this.$refs[`${node.value}_children`] || [];
292
- const childrenRef = refs[0];
293
- if (childrenRef) {
294
- childrenRef.nodes.map(node => {
295
- childrenRef.handleCheck(node, checked);
296
- });
297
- }
298
- },
299
- handleCheck(node, checked = false, isActive = false) {
300
- if (node.disabled) return;
301
- this.$set(node, 'checked', checked);
302
- if (!this.checkStrictly) {
303
- this.handleChilrenCheck(node, checked);
304
- }
305
- // 主动触发check时 提交check事件
306
- this.updateNodemap(node);
307
- // 判断父节点是不是全部勾选了
308
- if (!this.checkStrictly) {
309
- if (node.parent) {
310
- const parentNode = this.nodeMap[node.parent];
311
- if (parentNode) {
312
- if (parentNode.children && parentNode.children.every(tnode => this.nodeMap[tnode.value] && this.nodeMap[tnode.value].checked)) {
313
- parentNode.checked = true;
314
- } else {
315
- parentNode.checked = false;
316
- }
317
- }
318
- }
319
- }
320
- this.$forceUpdate();
321
- if (isActive) {
322
- this.handleCheckChange(node, checked);
323
- }
324
- },
325
- handleNodeEnter(node, nodeIndex) {
326
- if (!(node.children && node.children.length)) return
327
- if (this.ToTree.type === 'icon') {
328
- setTimeout(() => {
329
- const layerEl = this.$refs[`${node.value}_children`] ? this.$refs[`${node.value}_children`][0].$el : null
330
- const layerRect = layerEl.getBoundingClientRect()
331
- const nodeEl = this.$refs.node[nodeIndex]
332
- const nodeRect = nodeEl.getBoundingClientRect()
333
- const bottomSpace = document.body.offsetHeight - nodeRect.top - nodeRect.height
334
- const topSpace = nodeRect.top + nodeRect.height
335
-
336
- if (layerEl) {
337
-
338
- // 计算左侧位置
339
- layerEl.style.left = nodeRect.width + nodeRect.left + 'px'
340
-
341
- // 计算顶部位置
342
- // 如果底部空间足够,从下显示
343
- if (layerRect.height <= bottomSpace) {
344
- layerEl.style.top = nodeRect.top + 'px'
345
- layerEl.style.bottom = 'auto'
346
- }
347
-
348
- // 如果底部空间不够,看顶部空间是否足够,如果足够则从上显示
349
- else if (layerRect.height <= topSpace) {
350
- layerEl.style.bottom = bottomSpace + 'px'
351
- layerEl.style.top = 'auto'
352
- }
353
-
354
- // 如果两者都不够,则看哪边空间更大,往大的方向显示
355
- else {
356
- if (bottomSpace >= topSpace) {
357
- layerEl.style.top = nodeRect.top + 'px'
358
- layerEl.style.bottom = 0
359
- } else {
360
- layerEl.style.bottom = bottomSpace + 'px'
361
- layerEl.style.top = 0
362
- }
363
- }
364
- }
365
- node.expanded = true
366
- }, node.parent === '__root__' ? 0 : 200)
367
- }
368
- },
369
- handleNodeLeave(node) {
370
- if (this.ToTree.type === 'icon') {
371
- setTimeout(() => {
372
- if (!this.isIn) {
373
- node.expanded = false
374
- this.resetLayer(node)
375
- }
376
- }, node.parent === '__root__' ? 0 : 200);
377
- }
378
- },
379
- handleLayerEnter(node) {
380
- if (this.ToTree.type === 'icon') {
381
- this.isIn = true
382
- }
383
- },
384
- handleLayerLeave(node) {
385
- if (this.ToTree.type === 'icon') {
386
- this.isIn = false
387
- node.expanded = false
388
- this.resetLayer(node)
389
- }
390
- },
391
- resetLayer(node) {
392
- const layerEl = this.$refs[`${node.value}_children`] ? this.$refs[`${node.value}_children`][0].$el : null
393
- if (layerEl) {
394
- if (layerEl.style.left) layerEl.style.left = ''
395
- if (layerEl.style.top) layerEl.style.top = ''
396
- if (layerEl.style.bottom) layerEl.style.bottom = ''
397
- }
398
- },
399
- handleLabelClick(event, node) {
400
- if (node.disabled) return;
401
- if (!this.checkOnClickNode && this.expandOnClickNode && this.ToTree.type !== 'icon') {
402
- this.handleExpand(node);
403
- }
404
- if (this.ToTree.type === 'icon' && !(event.metaKey || event.ctrlKey)) {
405
- this.ToTree.setCollapsedKeys()
406
- }
407
- this.checkOnClickNode && this.handleCheck(node, !node.checked, true);
408
- if (this.highlightCurrent && (!this.expandOnClickNode || node.isLeaf)) {
409
- this.handleCurrentNodeKeyChange(node.value)
410
- }
411
- this.handleNodeClick(node);
412
- },
413
- // 获取uuid
414
- getUUID() {
415
- return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
416
- var r = (Math.random() * 16) | 0;
417
- var v = c === 'x' ? r : (r & 0x3) | 0x8;
418
- return v.toString(16);
419
- });
420
- },
421
- // 深度克隆
422
- deepClone(obj = {}) {
423
- const objClone = Array.isArray(obj) ? [] : {};
424
- if (obj && typeof obj === 'object') {
425
- // eslint-disable-next-line no-unused-vars
426
- for (const key in obj) {
427
- // eslint-disable-next-line no-prototype-builtins
428
- if (obj.hasOwnProperty(key)) {
429
- // 判断ojb子元素是否为对象,如果是,递归复制
430
- if (obj[key] && typeof obj[key] === 'object') {
431
- objClone[key] = this.deepClone(obj[key]);
432
- } else {
433
- // 如果不是,简单复制
434
- objClone[key] = obj[key];
435
- }
436
- }
437
- }
438
- }
439
- return objClone;
440
- }
441
- }
442
- };
443
- </script>
1
+ <template>
2
+ <ul v-if="nodes" @mouseenter="$emit('mouseenter')" @mouseleave="$emit('mouseleave')">
3
+ <template v-for="(node, nodeIndex) in nodes">
4
+ <li
5
+ v-if="node.show"
6
+ :key="nodeIndex"
7
+ :ref="node.value"
8
+ :class="{
9
+ disabled: node.disabled,
10
+ unfold: node.expanded && !node.isLeaf,
11
+ fold: !node.expanded && !node.isLeaf,
12
+ leaf: !node.children || node.isLeaf,
13
+ loading:node._loading,
14
+ on: highlightCurrent && node.value === currentNodeKey
15
+ }"
16
+ >
17
+ <div ref="node" v-tip.fg.right="!(node.children && node.children.length) && node.parent === '__root__' && ToTree.type === 'icon' ? node.label:''" class="content" @mouseenter="handleNodeEnter(node,nodeIndex)" @mouseleave="handleNodeLeave(node)">
18
+ <div class="ico" :style="setIconStyle" @click.stop="handleExpand(node)"><span></span></div>
19
+
20
+ <!--子节点展示选择框,父节点不展示-->
21
+ <div v-if="setCheckBoxStatus(node)" class="check"><to-checkbox v-model="node.checked" v-dis="node.disabled" padding="0.5" @change="handleCheck(node, $event, true)"></to-checkbox></div>
22
+ <div class="text" @click.stop="event => handleLabelClick(event,node)">
23
+ <slot :node="node">
24
+ <div class="to-tree-text-group">
25
+ <to-icon v-if="node.icon" class="to-tree-text-icon" mode="none" :value="node.icon"></to-icon>
26
+ <span class="to-tree-text-content">{{ node.label }}</span>
27
+ </div>
28
+ </slot>
29
+ </div>
30
+ </div>
31
+ <template v-if="node.children && node.children.length > 0 && !node.isLeaf">
32
+ <to-tree-item
33
+ :ref="`${node.value}_children`"
34
+ :parent="node.value"
35
+ :data="node.children"
36
+ :highlight-current="highlightCurrent"
37
+ :expand-on-click-node="expandOnClickNode"
38
+ :check-on-click-node="checkOnClickNode"
39
+ :show-checkbox="showCheckbox"
40
+ :is-parent-not-checkbox="isParentNotCheckbox"
41
+ :children-text="childrenText"
42
+ :value-text="valueText"
43
+ :label-text="labelText"
44
+ :icon-top="iconTop"
45
+ :disabled-text="disabledText"
46
+ :is-leaf-text="isLeafText"
47
+ :checked-text="checkedText"
48
+ :expanded-text="expandedText"
49
+ :check-strictly="checkStrictly"
50
+ :current-node-key="currentNodeKey"
51
+ :filter-node-method="filterNodeMethod"
52
+ :auto-expand-parent="autoExpandParent"
53
+ @mouseenter="handleLayerEnter(node)"
54
+ @mouseleave="handleLayerLeave(node)"
55
+ @current-change="handleCurrentNodeKeyChange"
56
+ @check="handleCheckChange"
57
+ @node-click="handleNodeClick"
58
+ @node-expand="handleNodeExpand"
59
+ @node-collapse="handleNodeCollapse"
60
+ >
61
+ <template v-slot="scope">
62
+ <slot :node="scope.node"></slot>
63
+ </template>
64
+ </to-tree-item>
65
+ </template>
66
+ </li>
67
+ </template>
68
+ </ul>
69
+ </template>
70
+
71
+ <script>
72
+ export default {
73
+ name: 'ToTreeItem',
74
+ componentName: 'ToTreeItem',
75
+ inject: {
76
+ ToTree: { type: Object, default: null},
77
+ nodeMap: { type: Object, default: () => ({}) }
78
+ },
79
+ props: {
80
+ parent: {
81
+ type: String,
82
+ default: '__root__'
83
+ },
84
+ iconTop: {
85
+ type: [Number, String],
86
+ default: ''
87
+ },
88
+ // 展示数据
89
+ data: {
90
+ type: Array,
91
+ default: () => []
92
+ },
93
+ // 是否高亮当前选中节点,默认值是 false。
94
+ highlightCurrent: {
95
+ type: Boolean,
96
+ default: false
97
+ },
98
+ // 是否在点击节点的时候展开或者收缩节点, 默认值为 false,如果为 false,则只有点箭头图标的时候才会展开或者收缩节点。
99
+ expandOnClickNode: {
100
+ type: Boolean,
101
+ default: false
102
+ },
103
+ // 是否在点击节点的时候选中节点,默认值为 false,即只有在点击复选框时才会选中节点。
104
+ checkOnClickNode: {
105
+ type: Boolean,
106
+ default: false
107
+ },
108
+ // 节点是否可被选择
109
+ showCheckbox: {
110
+ type: Boolean,
111
+ default: false
112
+ },
113
+ // 父节点不被选择
114
+ isParentNotCheckbox: {
115
+ type: Boolean,
116
+ default: false
117
+ },
118
+ // 在显示复选框的情况下,是否严格的遵循父子不互相关联的做法,默认为 false
119
+ checkStrictly: {
120
+ type: Boolean,
121
+ default: false
122
+ },
123
+ // 当前选中的节点
124
+ currentNodeKey: {
125
+ type: [String, Number],
126
+ default: undefined
127
+ },
128
+ // 对树节点进行筛选时执行的方法,返回 true 表示这个节点可以显示,返回 false 则表示这个节点会被隐藏 Function(value, data, node)
129
+ filterNodeMethod: {
130
+ type: Function,
131
+ default: undefined
132
+ },
133
+ // 展开子节点的时候是否自动展开父节点
134
+ autoExpandParent: {
135
+ type: Boolean,
136
+ default: true
137
+ },
138
+ // 指定子树为节点对象的某个属性值
139
+ childrenText: {
140
+ type: String,
141
+ default: 'children'
142
+ },
143
+ // 每个树节点用来作为唯一标识的属性,整棵树应该是唯一的
144
+ valueText: {
145
+ type: String,
146
+ default: 'value'
147
+ },
148
+ // 指定节点标签为节点对象的某个属性值
149
+ labelText: {
150
+ type: [String, Function],
151
+ default: 'label'
152
+ },
153
+ // 指定节点是否为叶子节点,仅在指定了 lazy 属性的情况下生效
154
+ isLeafText: {
155
+ type: [String, Function],
156
+ default: 'isLeaf'
157
+ },
158
+ // 指定节点是否禁用
159
+ disabledText: {
160
+ type: [String, Function],
161
+ default: 'disabled'
162
+ },
163
+ // 指定节点是否默认勾选
164
+ checkedText: {
165
+ type: [String, Function],
166
+ default: 'checked'
167
+ },
168
+ // 指定节点是否默认勾选
169
+ expandedText: {
170
+ type: [String, Function],
171
+ default: 'expanded'
172
+ }
173
+ },
174
+ data() {
175
+ return {
176
+ nodes: [],
177
+ isIn: false
178
+ };
179
+ },
180
+ computed: {
181
+ setIconStyle() {
182
+ let obj = {}
183
+ if (this.iconTop) {
184
+ obj.top = this.iconTop * 2 + 'em'
185
+ }
186
+ return obj
187
+ }
188
+ },
189
+ watch: {
190
+ data: {
191
+ handler() {
192
+ this.nodes = this.initNodes(JSON.parse(JSON.stringify(this.data)))
193
+ },
194
+ immediate: true,
195
+ deep: true
196
+ },
197
+ nodes: {
198
+ handler(nodes = []) {
199
+ this.$emit('update:data', nodes)
200
+ },
201
+ deep: true
202
+ }
203
+ },
204
+ methods: {
205
+ setCheckBoxStatus(node) {
206
+ // 所有节点都有选择
207
+ if (!this.isParentNotCheckbox && this.showCheckbox) {
208
+ if (node.hideCheckbox) {
209
+ return false
210
+ } else {
211
+ return true
212
+ }
213
+ // 父节点无选择,子节点有选择
214
+ } else if (this.isParentNotCheckbox && this.showCheckbox) {
215
+ if (node.children && node.children.length > 0 && !node.isLeaf) {
216
+ return false
217
+ } else {
218
+ return true
219
+ }
220
+ } else {
221
+ return false
222
+ }
223
+ },
224
+ initNodes(data) {
225
+ if (data && Array.isArray(data)) {
226
+ return data.map(node => {
227
+ node.value = node[this.valueText] || this.getUUID();
228
+ node.parent = this.parent;
229
+ node.label = this.execFunctionProperty(node[this.labelText], node) || '';
230
+ node.children = this.initNodes(node[this.childrenText]);
231
+ node.isLeaf = this.execFunctionProperty(node[this.isLeafText], node) || !node.children
232
+ node.disabled = this.execFunctionProperty(node[this.disabledText], node) || false;
233
+ node.checked = this.execFunctionProperty(node[this.checkedText], node) || false;
234
+ node.expanded = this.execFunctionProperty(node[this.expandedText], node) || false;
235
+ node.show = this.filter(node);
236
+ node._loading = false
237
+ this.nodeMap[node.value] = node;
238
+ return node;
239
+ });
240
+ }
241
+ },
242
+ filter(node) {
243
+ if (typeof this.filterNodeMethod === 'function') {
244
+ return this.filterNodeMethod(node);
245
+ } else {
246
+ return true;
247
+ }
248
+ },
249
+ execFunctionProperty(func, ...args) {
250
+ if (typeof func === 'function') {
251
+ return func(...args);
252
+ } else {
253
+ return func;
254
+ }
255
+ },
256
+ // 更新map中的node节点数据
257
+ updateNodemap(node) {
258
+ this.nodeMap[node.value] = node;
259
+ },
260
+ // 递归事件传递 请勿做任何业务处理
261
+ // 当前选中节点改变
262
+ handleCurrentNodeKeyChange(currentNodeKey) {
263
+ this.$emit('current-change', currentNodeKey);
264
+ },
265
+ // 当前节点check改变
266
+ handleCheckChange(node, checked) {
267
+ this.$emit('check', node, checked);
268
+ },
269
+ // 当前节点被点击 node-click
270
+ handleNodeClick(node) {
271
+ this.$emit('node-click', node);
272
+ },
273
+ // 当前节点expand
274
+ handleNodeExpand(node) {
275
+ this.$emit('node-expand', node);
276
+ },
277
+ // 当前节点collapse
278
+ handleNodeCollapse(node) {
279
+ this.$emit('node-collapse', node);
280
+ },
281
+ handleExpand(node) {
282
+ if (node.disabled) return;
283
+ if (node.isLeaf) return;
284
+ const expanded = node.expanded;
285
+ this.$set(node, 'expanded', !expanded);
286
+ this.updateNodemap(node);
287
+ if (!expanded) this.handleNodeExpand(node);
288
+ else this.handleNodeCollapse(node);
289
+ },
290
+ handleChilrenCheck(node, checked) {
291
+ const refs = this.$refs[`${node.value}_children`] || [];
292
+ const childrenRef = refs[0];
293
+ if (childrenRef) {
294
+ childrenRef.nodes.map(node => {
295
+ childrenRef.handleCheck(node, checked);
296
+ });
297
+ }
298
+ },
299
+ handleCheck(node, checked = false, isActive = false) {
300
+ if (node.disabled) return;
301
+ this.$set(node, 'checked', checked);
302
+ if (!this.checkStrictly) {
303
+ this.handleChilrenCheck(node, checked);
304
+ }
305
+ // 主动触发check时 提交check事件
306
+ this.updateNodemap(node);
307
+ // 判断父节点是不是全部勾选了
308
+ if (!this.checkStrictly) {
309
+ if (node.parent) {
310
+ const parentNode = this.nodeMap[node.parent];
311
+ if (parentNode) {
312
+ if (parentNode.children && parentNode.children.every(tnode => this.nodeMap[tnode.value] && this.nodeMap[tnode.value].checked)) {
313
+ parentNode.checked = true;
314
+ } else {
315
+ parentNode.checked = false;
316
+ }
317
+ }
318
+ }
319
+ }
320
+ this.$forceUpdate();
321
+ if (isActive) {
322
+ this.handleCheckChange(node, checked);
323
+ }
324
+ },
325
+ handleNodeEnter(node, nodeIndex) {
326
+ if (!(node.children && node.children.length)) return
327
+ if (this.ToTree.type === 'icon') {
328
+ setTimeout(() => {
329
+ const layerEl = this.$refs[`${node.value}_children`] ? this.$refs[`${node.value}_children`][0].$el : null
330
+ const layerRect = layerEl.getBoundingClientRect()
331
+ const nodeEl = this.$refs.node[nodeIndex]
332
+ const nodeRect = nodeEl.getBoundingClientRect()
333
+ const bottomSpace = document.body.offsetHeight - nodeRect.top - nodeRect.height
334
+ const topSpace = nodeRect.top + nodeRect.height
335
+
336
+ if (layerEl) {
337
+
338
+ // 计算左侧位置
339
+ layerEl.style.left = nodeRect.width + nodeRect.left + 'px'
340
+
341
+ // 计算顶部位置
342
+ // 如果底部空间足够,从下显示
343
+ if (layerRect.height <= bottomSpace) {
344
+ layerEl.style.top = nodeRect.top + 'px'
345
+ layerEl.style.bottom = 'auto'
346
+ }
347
+
348
+ // 如果底部空间不够,看顶部空间是否足够,如果足够则从上显示
349
+ else if (layerRect.height <= topSpace) {
350
+ layerEl.style.bottom = bottomSpace + 'px'
351
+ layerEl.style.top = 'auto'
352
+ }
353
+
354
+ // 如果两者都不够,则看哪边空间更大,往大的方向显示
355
+ else {
356
+ if (bottomSpace >= topSpace) {
357
+ layerEl.style.top = nodeRect.top + 'px'
358
+ layerEl.style.bottom = 0
359
+ } else {
360
+ layerEl.style.bottom = bottomSpace + 'px'
361
+ layerEl.style.top = 0
362
+ }
363
+ }
364
+ }
365
+ node.expanded = true
366
+ }, node.parent === '__root__' ? 0 : 200)
367
+ }
368
+ },
369
+ handleNodeLeave(node) {
370
+ if (this.ToTree.type === 'icon') {
371
+ setTimeout(() => {
372
+ if (!this.isIn) {
373
+ node.expanded = false
374
+ this.resetLayer(node)
375
+ }
376
+ }, node.parent === '__root__' ? 0 : 200);
377
+ }
378
+ },
379
+ handleLayerEnter(node) {
380
+ if (this.ToTree.type === 'icon') {
381
+ this.isIn = true
382
+ }
383
+ },
384
+ handleLayerLeave(node) {
385
+ if (this.ToTree.type === 'icon') {
386
+ this.isIn = false
387
+ node.expanded = false
388
+ this.resetLayer(node)
389
+ }
390
+ },
391
+ resetLayer(node) {
392
+ const layerEl = this.$refs[`${node.value}_children`] ? this.$refs[`${node.value}_children`][0].$el : null
393
+ if (layerEl) {
394
+ if (layerEl.style.left) layerEl.style.left = ''
395
+ if (layerEl.style.top) layerEl.style.top = ''
396
+ if (layerEl.style.bottom) layerEl.style.bottom = ''
397
+ }
398
+ },
399
+ handleLabelClick(event, node) {
400
+ if (node.disabled) return;
401
+ if (!this.checkOnClickNode && this.expandOnClickNode && this.ToTree.type !== 'icon') {
402
+ this.handleExpand(node);
403
+ }
404
+ if (this.ToTree.type === 'icon' && !(event.metaKey || event.ctrlKey)) {
405
+ this.ToTree.setCollapsedKeys()
406
+ }
407
+ this.checkOnClickNode && this.handleCheck(node, !node.checked, true);
408
+ if (this.highlightCurrent && (!this.expandOnClickNode || node.isLeaf)) {
409
+ this.handleCurrentNodeKeyChange(node.value)
410
+ }
411
+ this.handleNodeClick(node);
412
+ },
413
+ // 获取uuid
414
+ getUUID() {
415
+ return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
416
+ var r = (Math.random() * 16) | 0;
417
+ var v = c === 'x' ? r : (r & 0x3) | 0x8;
418
+ return v.toString(16);
419
+ });
420
+ },
421
+ // 深度克隆
422
+ deepClone(obj = {}) {
423
+ const objClone = Array.isArray(obj) ? [] : {};
424
+ if (obj && typeof obj === 'object') {
425
+ // eslint-disable-next-line no-unused-vars
426
+ for (const key in obj) {
427
+ // eslint-disable-next-line no-prototype-builtins
428
+ if (obj.hasOwnProperty(key)) {
429
+ // 判断ojb子元素是否为对象,如果是,递归复制
430
+ if (obj[key] && typeof obj[key] === 'object') {
431
+ objClone[key] = this.deepClone(obj[key]);
432
+ } else {
433
+ // 如果不是,简单复制
434
+ objClone[key] = obj[key];
435
+ }
436
+ }
437
+ }
438
+ }
439
+ return objClone;
440
+ }
441
+ }
442
+ };
443
+ </script>