ai.touchui-vue 1.30.2 → 1.30.3

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 (724) hide show
  1. package/README.md +21 -21
  2. package/lib/ai.touchui-vue.common.js +2087 -2092
  3. package/lib/chat.js +5 -5
  4. package/lib/collapse.js +2 -1
  5. package/lib/color.js +5 -5
  6. package/lib/date-picker.js +2 -1
  7. package/lib/date-range.js +11 -12
  8. package/lib/export.js +3 -3
  9. package/lib/index.js +1 -1
  10. package/lib/locale/format.js +10 -10
  11. package/lib/menu-icon.js +295 -295
  12. package/lib/mixins/migrating.js +20 -20
  13. package/lib/mixins/transition.js +14 -14
  14. package/lib/org.js +2 -1
  15. package/lib/page.js +2 -1
  16. package/lib/range.js +3 -3
  17. package/lib/static/{net-mix.293a4b6.svg → net-mix.dc6e414.svg} +7 -7
  18. package/lib/table.js +734 -740
  19. package/lib/utils/clickoutside.js +11 -11
  20. package/lib/utils/dom.js +13 -13
  21. package/lib/utils/filetransfer.js +4 -4
  22. package/lib/utils/jsencrypt/JSEncrypt.js +77 -77
  23. package/lib/utils/jsencrypt/JSEncryptRSAKey.js +115 -115
  24. package/lib/utils/jsencrypt/jselib/asn1js/asn1.js +4 -4
  25. package/lib/utils/jsencrypt/jselib/jsrsasign/asn1-1.0.js +734 -734
  26. package/lib/utils/jsencrypt/jselib/jsrsasign/yahoo.js +22 -22
  27. package/lib/utils/jsencrypt.js +260 -260
  28. package/lib/utils/md5.js +3 -3
  29. package/lib/utils/mime.js +2 -2
  30. package/lib/utils/ratio.js +54 -53
  31. package/lib/utils/sign.js +12 -12
  32. package/lib/utils/util.js +3 -3
  33. package/lib/utils/validate.js +11 -11
  34. package/package.json +159 -159
  35. package/packages/affix/index.js +8 -8
  36. package/packages/affix/src/affix.vue +139 -139
  37. package/packages/align/index.js +8 -8
  38. package/packages/align/src/directive.js +29 -29
  39. package/packages/animation/index.js +8 -8
  40. package/packages/animation/src/animation.vue +68 -68
  41. package/packages/article/index.js +8 -8
  42. package/packages/article/src/article.vue +23 -23
  43. package/packages/box/index.js +8 -8
  44. package/packages/box/src/box.vue +170 -170
  45. package/packages/button/index.js +8 -8
  46. package/packages/button/src/button.vue +162 -162
  47. package/packages/calendar/index.js +8 -8
  48. package/packages/calendar/src/calendar.vue +1142 -1142
  49. package/packages/card/index.js +10 -10
  50. package/packages/card/src/card-item.vue +92 -92
  51. package/packages/card/src/card.vue +175 -175
  52. package/packages/card-item/index.js +8 -8
  53. package/packages/cascader/index.js +8 -8
  54. package/packages/cascader/src/cascader.vue +814 -814
  55. package/packages/center-scroll/index.js +8 -8
  56. package/packages/center-scroll/src/center-scroll.vue +147 -147
  57. package/packages/chat/index.js +12 -12
  58. package/packages/chat/src/chat.vue +116 -116
  59. package/packages/checkbox/index.js +8 -8
  60. package/packages/checkbox/src/checkbox.vue +262 -262
  61. package/packages/checkboxes/index.js +8 -8
  62. package/packages/checkboxes/src/checkboxes.vue +97 -97
  63. package/packages/collapse/index.js +10 -10
  64. package/packages/collapse/src/collapse-item.vue +188 -188
  65. package/packages/collapse/src/collapse.vue +100 -100
  66. package/packages/color/index.js +8 -8
  67. package/packages/color/src/directive.js +42 -42
  68. package/packages/countdown/index.js +8 -8
  69. package/packages/countdown/src/countdown.vue +128 -128
  70. package/packages/date-picker/index.js +8 -8
  71. package/packages/date-picker/src/date-picker.vue +432 -432
  72. package/packages/date-picker/src/picker.vue +342 -342
  73. package/packages/date-range/index.js +8 -8
  74. package/packages/date-range/src/date-range.vue +384 -384
  75. package/packages/dialog/index.js +8 -8
  76. package/packages/dialog/src/dialog.vue +287 -287
  77. package/packages/dis/index.js +8 -8
  78. package/packages/dis/src/directive.js +42 -42
  79. package/packages/ellipsis/index.js +8 -8
  80. package/packages/ellipsis/src/ellipsis.vue +306 -306
  81. package/packages/emote/index.js +8 -8
  82. package/packages/emote/src/emote.vue +38 -38
  83. package/packages/export/index.js +8 -8
  84. package/packages/export/src/ajax.js +73 -73
  85. package/packages/export/src/export.vue +289 -289
  86. package/packages/filter/index.js +8 -8
  87. package/packages/filter/src/filter.vue +245 -245
  88. package/packages/fix/index.js +8 -8
  89. package/packages/fix/src/fix.vue +221 -221
  90. package/packages/float/index.js +16 -16
  91. package/packages/float/src/directive.js +20 -20
  92. package/packages/float/src/main.vue +642 -642
  93. package/packages/float/src/trigger.vue +31 -31
  94. package/packages/flow/index.js +8 -8
  95. package/packages/flow/src/flow.vue +234 -234
  96. package/packages/flow/src/flowItem.vue +61 -61
  97. package/packages/flow/src/flowLine.vue +168 -168
  98. package/packages/form/index.js +10 -10
  99. package/packages/form/src/form-item.vue +96 -96
  100. package/packages/form/src/form.vue +184 -184
  101. package/packages/grid/index.js +10 -10
  102. package/packages/grid/src/grid-item.vue +65 -65
  103. package/packages/grid/src/grid.vue +190 -190
  104. package/packages/grid-item/index.js +8 -8
  105. package/packages/guider/index.js +8 -8
  106. package/packages/guider/src/guider.vue +168 -168
  107. package/packages/header/index.js +8 -8
  108. package/packages/header/src/header.vue +111 -111
  109. package/packages/hide/index.js +8 -8
  110. package/packages/hide/src/directive.js +57 -57
  111. package/packages/icon/index.js +8 -8
  112. package/packages/icon/src/icon.vue +79 -79
  113. package/packages/import/index.js +8 -8
  114. package/packages/import/src/import.vue +279 -279
  115. package/packages/input/index.js +8 -8
  116. package/packages/input/src/calcTextareaHeight.js +104 -104
  117. package/packages/input/src/input.vue +653 -653
  118. package/packages/ip/index.js +8 -8
  119. package/packages/ip/src/ip.vue +143 -143
  120. package/packages/line/index.js +8 -8
  121. package/packages/line/src/line.vue +29 -29
  122. package/packages/loading/index.js +8 -8
  123. package/packages/loading/src/loading.js +58 -58
  124. package/packages/longtap/index.js +8 -8
  125. package/packages/longtap/src/longtap.js +95 -95
  126. package/packages/menu-icon/index.js +8 -8
  127. package/packages/menu-icon/src/menu-icon.vue +206 -206
  128. package/packages/message/index.js +8 -8
  129. package/packages/message/src/message.vue +9 -9
  130. package/packages/msg/index.js +8 -8
  131. package/packages/msg/src/msg.vue +227 -227
  132. package/packages/org/index.js +8 -8
  133. package/packages/org/src/org.vue +113 -113
  134. package/packages/org/src/orgItem.vue +63 -63
  135. package/packages/padding/index.js +8 -8
  136. package/packages/padding/src/padding.vue +105 -105
  137. package/packages/page/index.js +8 -8
  138. package/packages/page/src/page.vue +297 -297
  139. package/packages/param/index.js +8 -8
  140. package/packages/param/src/param.vue +226 -226
  141. package/packages/pic/index.js +8 -8
  142. package/packages/pic/src/pic-viewer.vue +331 -331
  143. package/packages/pic/src/pic.vue +144 -144
  144. package/packages/popup/index.js +12 -12
  145. package/packages/popup/src/popup-group.vue +47 -47
  146. package/packages/popup/src/popup-item.vue +163 -163
  147. package/packages/popup/src/popup.vue +350 -350
  148. package/packages/progress/index.js +8 -8
  149. package/packages/progress/src/progress.vue +306 -306
  150. package/packages/range/index.js +8 -8
  151. package/packages/range/src/range.vue +612 -612
  152. package/packages/rate/index.js +8 -8
  153. package/packages/rate/src/rate.vue +129 -129
  154. package/packages/reverser/index.js +8 -8
  155. package/packages/reverser/src/reverser.vue +49 -49
  156. package/packages/scroll/index.js +12 -12
  157. package/packages/scroll/src/scroll-point.vue +24 -24
  158. package/packages/scroll/src/scroll-sticky.vue +60 -60
  159. package/packages/scroll/src/scroll.vue +381 -381
  160. package/packages/segment/index.js +8 -8
  161. package/packages/segment/src/segment.vue +618 -618
  162. package/packages/select/index.js +8 -8
  163. package/packages/select/src/select.vue +1445 -1445
  164. package/packages/size/index.js +8 -8
  165. package/packages/size/src/directive.js +33 -33
  166. package/packages/skeleton/index.js +8 -8
  167. package/packages/skeleton/src/skeleton.vue +179 -179
  168. package/packages/slide/index.js +8 -8
  169. package/packages/slide/src/slide.vue +147 -147
  170. package/packages/space/index.js +8 -8
  171. package/packages/space/src/space.vue +53 -53
  172. package/packages/step/index.js +8 -8
  173. package/packages/step/src/step.vue +122 -122
  174. package/packages/submit/index.js +8 -8
  175. package/packages/submit/src/submit.vue +103 -103
  176. package/packages/switch/index.js +9 -9
  177. package/packages/switch/src/component.vue +131 -131
  178. package/packages/tab/index.js +10 -10
  179. package/packages/tab/src/tab-item.vue +85 -85
  180. package/packages/tab/src/tab.vue +590 -590
  181. package/packages/table/index.js +8 -8
  182. package/packages/table/src/table-body.vue +301 -301
  183. package/packages/table/src/table-config.vue +139 -139
  184. package/packages/table/src/table-head.vue +239 -239
  185. package/packages/table/src/table.vue +1455 -1458
  186. package/packages/tag/index.js +8 -8
  187. package/packages/tag/src/tag.vue +129 -129
  188. package/packages/theme/package.json +33 -33
  189. package/packages/theme/src/global/mixin.less +416 -416
  190. package/packages/theme/src/global/reset.less +27 -27
  191. package/packages/theme/src/less/component/affix.less +8 -8
  192. package/packages/theme/src/less/component/article-dark.less +6 -6
  193. package/packages/theme/src/less/component/article.less +39 -39
  194. package/packages/theme/src/less/component/box-dark.less +85 -85
  195. package/packages/theme/src/less/component/box.less +272 -272
  196. package/packages/theme/src/less/component/calendar-dark.less +111 -111
  197. package/packages/theme/src/less/component/calendar.less +282 -282
  198. package/packages/theme/src/less/component/card-dark.less +17 -17
  199. package/packages/theme/src/less/component/card.less +89 -89
  200. package/packages/theme/src/less/component/chat-dark.less +47 -47
  201. package/packages/theme/src/less/component/chat.less +71 -71
  202. package/packages/theme/src/less/component/code-dark.less +41 -41
  203. package/packages/theme/src/less/component/code.less +33 -33
  204. package/packages/theme/src/less/component/cover.less +4 -4
  205. package/packages/theme/src/less/component/dialog-dark.less +54 -54
  206. package/packages/theme/src/less/component/dialog.less +49 -49
  207. package/packages/theme/src/less/component/filter-dark.less +31 -31
  208. package/packages/theme/src/less/component/filter.less +97 -97
  209. package/packages/theme/src/less/component/float-dark.less +26 -26
  210. package/packages/theme/src/less/component/float.less +61 -61
  211. package/packages/theme/src/less/component/form-dark.less +45 -45
  212. package/packages/theme/src/less/component/form.less +322 -322
  213. package/packages/theme/src/less/component/gantt-dark.less +44 -44
  214. package/packages/theme/src/less/component/gantt.less +52 -52
  215. package/packages/theme/src/less/component/guider-dark.less +6 -6
  216. package/packages/theme/src/less/component/guider.less +15 -15
  217. package/packages/theme/src/less/component/header-dark.less +41 -41
  218. package/packages/theme/src/less/component/header.less +121 -121
  219. package/packages/theme/src/less/component/keyboard-dark.less +15 -15
  220. package/packages/theme/src/less/component/keyboard.less +21 -21
  221. package/packages/theme/src/less/component/line-dark.less +20 -20
  222. package/packages/theme/src/less/component/line.less +21 -21
  223. package/packages/theme/src/less/component/msg-dark.less +42 -42
  224. package/packages/theme/src/less/component/msg.less +102 -102
  225. package/packages/theme/src/less/component/page-dark.less +26 -26
  226. package/packages/theme/src/less/component/page.less +26 -26
  227. package/packages/theme/src/less/component/param-dark.less +31 -31
  228. package/packages/theme/src/less/component/param.less +136 -136
  229. package/packages/theme/src/less/component/popup-dark.less +20 -20
  230. package/packages/theme/src/less/component/popup.less +85 -85
  231. package/packages/theme/src/less/component/print.less +121 -121
  232. package/packages/theme/src/less/component/scroll-dark.less +19 -19
  233. package/packages/theme/src/less/component/scroll.less +47 -47
  234. package/packages/theme/src/less/component/skeleton-dark.less +29 -29
  235. package/packages/theme/src/less/component/skeleton.less +78 -78
  236. package/packages/theme/src/less/component/slide.less +70 -70
  237. package/packages/theme/src/less/component/space.less +2 -2
  238. package/packages/theme/src/less/component/step-dark.less +165 -165
  239. package/packages/theme/src/less/component/step.less +147 -147
  240. package/packages/theme/src/less/component/submit.less +40 -40
  241. package/packages/theme/src/less/component/tab-dark.less +221 -221
  242. package/packages/theme/src/less/component/tab.less +459 -459
  243. package/packages/theme/src/less/component/table-dark.less +196 -196
  244. package/packages/theme/src/less/component/table.less +425 -425
  245. package/packages/theme/src/less/component/timeline-dark.less +13 -13
  246. package/packages/theme/src/less/component/timeline.less +114 -114
  247. package/packages/theme/src/less/component/tip-dark.less +76 -76
  248. package/packages/theme/src/less/component/tip.less +139 -139
  249. package/packages/theme/src/less/component/tooltip-dark.less +105 -105
  250. package/packages/theme/src/less/component/tooltip.less +159 -159
  251. package/packages/theme/src/less/component/tree-dark.less +56 -56
  252. package/packages/theme/src/less/component/tree.less +148 -148
  253. package/packages/theme/src/less/element/align.less +32 -32
  254. package/packages/theme/src/less/element/animation.less +5 -5
  255. package/packages/theme/src/less/element/button-dark.less +29 -29
  256. package/packages/theme/src/less/element/button.less +65 -65
  257. package/packages/theme/src/less/element/center-scroll-dark.less +3 -3
  258. package/packages/theme/src/less/element/center-scroll.less +6 -6
  259. package/packages/theme/src/less/element/checkbox-dark.less +68 -68
  260. package/packages/theme/src/less/element/checkbox.less +73 -73
  261. package/packages/theme/src/less/element/color-dark.less +15 -15
  262. package/packages/theme/src/less/element/color.less +33 -33
  263. package/packages/theme/src/less/element/dis.less +9 -9
  264. package/packages/theme/src/less/element/ellipsis.less +35 -35
  265. package/packages/theme/src/less/element/emote.less +5 -5
  266. package/packages/theme/src/less/element/font-dark.less +9 -9
  267. package/packages/theme/src/less/element/font.less +8 -8
  268. package/packages/theme/src/less/element/hide-dark.less +114 -114
  269. package/packages/theme/src/less/element/hide.less +114 -114
  270. package/packages/theme/src/less/element/icon.less +297 -297
  271. package/packages/theme/src/less/element/input-dark.less +205 -205
  272. package/packages/theme/src/less/element/input.less +405 -405
  273. package/packages/theme/src/less/element/menu-icon.less +1 -1
  274. package/packages/theme/src/less/element/pic.less +18 -18
  275. package/packages/theme/src/less/element/progress-dark.less +37 -37
  276. package/packages/theme/src/less/element/progress.less +82 -82
  277. package/packages/theme/src/less/element/radio-dark.less +18 -18
  278. package/packages/theme/src/less/element/radio.less +11 -11
  279. package/packages/theme/src/less/element/range-dark.less +24 -24
  280. package/packages/theme/src/less/element/range.less +56 -56
  281. package/packages/theme/src/less/element/rate.less +17 -17
  282. package/packages/theme/src/less/element/segment-dark.less +119 -119
  283. package/packages/theme/src/less/element/segment.less +197 -197
  284. package/packages/theme/src/less/element/select-dark.less +167 -167
  285. package/packages/theme/src/less/element/select.less +431 -431
  286. package/packages/theme/src/less/element/size.less +10 -10
  287. package/packages/theme/src/less/element/switch-dark.less +7 -7
  288. package/packages/theme/src/less/element/switch.less +37 -37
  289. package/packages/theme/src/less/element/tag-dark.less +115 -115
  290. package/packages/theme/src/less/element/tag.less +159 -159
  291. package/packages/theme/src/less/element/upload-dark.less +26 -26
  292. package/packages/theme/src/less/element/upload.less +64 -64
  293. package/packages/theme/src/less/layout/fix.less +2 -2
  294. package/packages/theme/src/less/layout/flow.less +47 -47
  295. package/packages/theme/src/less/layout/grid-dark.less +28 -28
  296. package/packages/theme/src/less/layout/grid.less +172 -172
  297. package/packages/theme/src/less/layout/org-dark.less +2 -2
  298. package/packages/theme/src/less/layout/org.less +72 -72
  299. package/packages/theme/src/less/layout/padding.less +1 -1
  300. package/packages/theme/src/less/layout/reverser.less +8 -8
  301. package/packages/theme/src/less/theme/B-Design.less +159 -159
  302. package/packages/theme/src/less/theme/aiplan.less +159 -159
  303. package/packages/theme/src/less/theme/aiplangd.less +159 -159
  304. package/packages/theme/src/less/theme/chbn.less +159 -159
  305. package/packages/theme/src/less/theme/default.less +160 -160
  306. package/packages/theme/src/less/theme/dt.less +159 -159
  307. package/packages/theme/src/less/theme/ecloud.less +159 -159
  308. package/packages/theme/src/less/theme/hongkong.less +159 -159
  309. package/packages/theme/src/less/theme/narrow.less +160 -160
  310. package/packages/theme/src/less/theme/sdpf.less +160 -160
  311. package/packages/theme/src/less/theme/upc.less +159 -159
  312. package/packages/theme/src/less/theme/website.less +159 -159
  313. package/packages/theme/src/less/theme/zj.less +159 -159
  314. package/packages/timeline/index.js +8 -8
  315. package/packages/timeline/src/timeline.vue +84 -84
  316. package/packages/tip/index.js +8 -8
  317. package/packages/tip/src/tip.vue +226 -226
  318. package/packages/tooltip/index.js +8 -8
  319. package/packages/tooltip/src/directive.js +180 -180
  320. package/packages/tooltip/src/tooltip.vue +467 -467
  321. package/packages/transfer/index.js +8 -8
  322. package/packages/transfer/src/transfer.vue +293 -293
  323. package/packages/tree/index.js +8 -8
  324. package/packages/tree/src/tree.vue +518 -518
  325. package/packages/tree/src/treeItem.vue +443 -443
  326. package/packages/upload/index.js +8 -8
  327. package/packages/upload/src/upload.vue +860 -860
  328. package/src/index.js +207 -207
  329. package/src/locale/format.js +46 -46
  330. package/src/locale/index.js +48 -48
  331. package/src/locale/lang/en.js +207 -207
  332. package/src/locale/lang/zh-CN.js +207 -207
  333. package/src/mixins/blur.js +9 -9
  334. package/src/mixins/emitter.js +33 -33
  335. package/src/mixins/focus.js +9 -9
  336. package/src/mixins/locale.js +9 -9
  337. package/src/mixins/migrating.js +54 -54
  338. package/src/mixins/tip.js +10 -10
  339. package/src/mixins/transition.js +130 -130
  340. package/src/msg/index.js +107 -107
  341. package/src/svg/menu/main/abnormal-mix.svg +5 -5
  342. package/src/svg/menu/main/abnormal.svg +5 -5
  343. package/src/svg/menu/main/accountManager-mix.svg +5 -5
  344. package/src/svg/menu/main/accountManager.svg +5 -5
  345. package/src/svg/menu/main/agreement-mix.svg +7 -7
  346. package/src/svg/menu/main/agreement.svg +7 -7
  347. package/src/svg/menu/main/ai-mix.svg +5 -5
  348. package/src/svg/menu/main/archives-mix.svg +6 -6
  349. package/src/svg/menu/main/arrearsReport-mix.svg +17 -17
  350. package/src/svg/menu/main/arrearsReport.svg +17 -17
  351. package/src/svg/menu/main/bill-mix.svg +13 -13
  352. package/src/svg/menu/main/bill.svg +13 -13
  353. package/src/svg/menu/main/box-mix.svg +5 -5
  354. package/src/svg/menu/main/broadband-mix.svg +4 -4
  355. package/src/svg/menu/main/broadband.svg +4 -4
  356. package/src/svg/menu/main/card-mix.svg +5 -5
  357. package/src/svg/menu/main/card.svg +5 -5
  358. package/src/svg/menu/main/cash-mix.svg +5 -5
  359. package/src/svg/menu/main/cash.svg +5 -5
  360. package/src/svg/menu/main/cloud-mix.svg +4 -4
  361. package/src/svg/menu/main/cloud.svg +4 -4
  362. package/src/svg/menu/main/clue-mix.svg +10 -10
  363. package/src/svg/menu/main/clue.svg +10 -10
  364. package/src/svg/menu/main/commonUse-mix.svg +4 -4
  365. package/src/svg/menu/main/commonUse.svg +4 -4
  366. package/src/svg/menu/main/construction-mix.svg +7 -7
  367. package/src/svg/menu/main/construction.svg +7 -7
  368. package/src/svg/menu/main/contract-mix.svg +8 -8
  369. package/src/svg/menu/main/contract.svg +8 -8
  370. package/src/svg/menu/main/credit-mix.svg +5 -5
  371. package/src/svg/menu/main/credit.svg +5 -5
  372. package/src/svg/menu/main/data-mix.svg +5 -5
  373. package/src/svg/menu/main/data.svg +5 -5
  374. package/src/svg/menu/main/date-mix.svg +7 -7
  375. package/src/svg/menu/main/deposit-mix.svg +4 -4
  376. package/src/svg/menu/main/device-mix.svg +4 -4
  377. package/src/svg/menu/main/device.svg +4 -4
  378. package/src/svg/menu/main/discrepancy-mix.svg +5 -5
  379. package/src/svg/menu/main/door-mix.svg +6 -6
  380. package/src/svg/menu/main/fault-mix.svg +12 -12
  381. package/src/svg/menu/main/fault.svg +16 -16
  382. package/src/svg/menu/main/finance-mix.svg +11 -11
  383. package/src/svg/menu/main/finance.svg +13 -13
  384. package/src/svg/menu/main/flow-mix.svg +4 -4
  385. package/src/svg/menu/main/flow.svg +4 -4
  386. package/src/svg/menu/main/folder-mix.svg +4 -4
  387. package/src/svg/menu/main/folder.svg +4 -4
  388. package/src/svg/menu/main/friendly-mix.svg +5 -5
  389. package/src/svg/menu/main/fusion-mix.svg +5 -5
  390. package/src/svg/menu/main/fusion.svg +5 -5
  391. package/src/svg/menu/main/gift-mix.svg +8 -8
  392. package/src/svg/menu/main/gift.svg +8 -8
  393. package/src/svg/menu/main/gps-mix.svg +6 -6
  394. package/src/svg/menu/main/gps.svg +6 -6
  395. package/src/svg/menu/main/grid-mix.svg +7 -7
  396. package/src/svg/menu/main/grid.svg +7 -7
  397. package/src/svg/menu/main/group-mix.svg +4 -4
  398. package/src/svg/menu/main/group.svg +4 -4
  399. package/src/svg/menu/main/home-mix.svg +5 -5
  400. package/src/svg/menu/main/home.svg +8 -8
  401. package/src/svg/menu/main/ict-mix.svg +4 -4
  402. package/src/svg/menu/main/industry-mix.svg +5 -5
  403. package/src/svg/menu/main/industry.svg +5 -5
  404. package/src/svg/menu/main/info-mix.svg +9 -9
  405. package/src/svg/menu/main/info.svg +9 -9
  406. package/src/svg/menu/main/integral-mix.svg +5 -5
  407. package/src/svg/menu/main/integral.svg +5 -5
  408. package/src/svg/menu/main/internet-mix.svg +5 -5
  409. package/src/svg/menu/main/internet.svg +5 -5
  410. package/src/svg/menu/main/inventory-mix.svg +5 -5
  411. package/src/svg/menu/main/invoice-mix.svg +6 -6
  412. package/src/svg/menu/main/invoice.svg +14 -14
  413. package/src/svg/menu/main/iot-mix.svg +5 -5
  414. package/src/svg/menu/main/iot.svg +5 -5
  415. package/src/svg/menu/main/label-mix.svg +4 -4
  416. package/src/svg/menu/main/label.svg +4 -4
  417. package/src/svg/menu/main/love-mix.svg +6 -6
  418. package/src/svg/menu/main/love.svg +13 -13
  419. package/src/svg/menu/main/m1-mix.svg +4 -4
  420. package/src/svg/menu/main/m1.svg +4 -4
  421. package/src/svg/menu/main/m2-mix.svg +12 -12
  422. package/src/svg/menu/main/m2.svg +11 -11
  423. package/src/svg/menu/main/m3-mix.svg +6 -6
  424. package/src/svg/menu/main/m3.svg +7 -7
  425. package/src/svg/menu/main/m4-mix.svg +5 -5
  426. package/src/svg/menu/main/m4.svg +7 -7
  427. package/src/svg/menu/main/m5-mix.svg +8 -8
  428. package/src/svg/menu/main/m5.svg +10 -10
  429. package/src/svg/menu/main/mail-mix.svg +5 -5
  430. package/src/svg/menu/main/manual-mix.svg +11 -11
  431. package/src/svg/menu/main/manual.svg +11 -11
  432. package/src/svg/menu/main/market-mix.svg +4 -4
  433. package/src/svg/menu/main/market.svg +4 -4
  434. package/src/svg/menu/main/member-mix.svg +6 -6
  435. package/src/svg/menu/main/member.svg +6 -6
  436. package/src/svg/menu/main/menu-mix.svg +4 -4
  437. package/src/svg/menu/main/menu.svg +4 -4
  438. package/src/svg/menu/main/message-mix.svg +11 -11
  439. package/src/svg/menu/main/message.svg +11 -11
  440. package/src/svg/menu/main/namelist-mix.svg +4 -4
  441. package/src/svg/menu/main/namelist.svg +4 -4
  442. package/src/svg/menu/main/net-mix.svg +7 -7
  443. package/src/svg/menu/main/niche-mix.svg +12 -12
  444. package/src/svg/menu/main/niche.svg +12 -12
  445. package/src/svg/menu/main/notice-mix.svg +4 -4
  446. package/src/svg/menu/main/notice.svg +4 -4
  447. package/src/svg/menu/main/number-mix.svg +6 -6
  448. package/src/svg/menu/main/operations-mix.svg +4 -4
  449. package/src/svg/menu/main/operations.svg +4 -4
  450. package/src/svg/menu/main/order-mix.svg +8 -8
  451. package/src/svg/menu/main/order.svg +8 -8
  452. package/src/svg/menu/main/person-mix.svg +6 -6
  453. package/src/svg/menu/main/person.svg +6 -6
  454. package/src/svg/menu/main/phone-mix.svg +4 -4
  455. package/src/svg/menu/main/phone.svg +4 -4
  456. package/src/svg/menu/main/phoneBill-mix.svg +6 -6
  457. package/src/svg/menu/main/phoneBill.svg +6 -6
  458. package/src/svg/menu/main/preferential-mix.svg +5 -5
  459. package/src/svg/menu/main/preferential.svg +5 -5
  460. package/src/svg/menu/main/print-mix.svg +5 -5
  461. package/src/svg/menu/main/problem-mix.svg +4 -4
  462. package/src/svg/menu/main/problem.svg +4 -4
  463. package/src/svg/menu/main/process-mix.svg +4 -4
  464. package/src/svg/menu/main/process.svg +4 -4
  465. package/src/svg/menu/main/product-mix.svg +5 -5
  466. package/src/svg/menu/main/product.svg +6 -6
  467. package/src/svg/menu/main/qrCode-mix.svg +8 -8
  468. package/src/svg/menu/main/qrCode.svg +8 -8
  469. package/src/svg/menu/main/refuelingBag-mix-mix.svg +4 -4
  470. package/src/svg/menu/main/refuelingBag-mix.svg +4 -4
  471. package/src/svg/menu/main/reportForm-mix.svg +8 -8
  472. package/src/svg/menu/main/reportForm.svg +8 -8
  473. package/src/svg/menu/main/risk-mix.svg +16 -16
  474. package/src/svg/menu/main/risk.svg +17 -17
  475. package/src/svg/menu/main/robot-mix.svg +9 -9
  476. package/src/svg/menu/main/robot.svg +9 -9
  477. package/src/svg/menu/main/satisfaction-mix.svg +4 -4
  478. package/src/svg/menu/main/satisfaction.svg +4 -4
  479. package/src/svg/menu/main/scratchCard-mix.svg +4 -4
  480. package/src/svg/menu/main/sim-mix.svg +4 -4
  481. package/src/svg/menu/main/sim.svg +4 -4
  482. package/src/svg/menu/main/staging-mix.svg +4 -4
  483. package/src/svg/menu/main/staging.svg +4 -4
  484. package/src/svg/menu/main/survey-mix.svg +5 -5
  485. package/src/svg/menu/main/survey.svg +5 -5
  486. package/src/svg/menu/main/tasks-mix.svg +8 -8
  487. package/src/svg/menu/main/tasks.svg +8 -8
  488. package/src/svg/menu/main/telephone-mix.svg +4 -4
  489. package/src/svg/menu/main/topUp-mix.svg +5 -5
  490. package/src/svg/menu/main/trajectory-mix.svg +11 -11
  491. package/src/svg/menu/main/trajectory.svg +23 -23
  492. package/src/svg/menu/main/transmit-mix.svg +5 -5
  493. package/src/svg/menu/main/tv-mix.svg +6 -6
  494. package/src/svg/menu/main/unlock-mix.svg +4 -4
  495. package/src/svg/menu/main/unlock.svg +4 -4
  496. package/src/svg/menu/main/view-mix.svg +5 -5
  497. package/src/svg/menu/main/view.svg +5 -5
  498. package/src/svg/menu/main/visits-mix.svg +19 -19
  499. package/src/svg/menu/main/visits.svg +19 -19
  500. package/src/svg/menu/main/voice-mix.svg +4 -4
  501. package/src/svg/menu/main/voice.svg +4 -4
  502. package/src/svg/menu/main/wiki-mix.svg +4 -4
  503. package/src/svg/menu/main/wiki.svg +4 -4
  504. package/src/svg/menu/main/workOrder-mix.svg +6 -6
  505. package/src/svg/menu/main/workOrder.svg +14 -14
  506. package/src/svg/menu/patch/Mo-space.svg +2 -2
  507. package/src/svg/menu/patch/Mo.svg +3 -3
  508. package/src/svg/menu/patch/add-space.svg +3 -3
  509. package/src/svg/menu/patch/add.svg +3 -3
  510. package/src/svg/menu/patch/address-space.svg +3 -3
  511. package/src/svg/menu/patch/address.svg +3 -3
  512. package/src/svg/menu/patch/approve-space.svg +3 -3
  513. package/src/svg/menu/patch/approve.svg +4 -4
  514. package/src/svg/menu/patch/avoid-space.svg +3 -3
  515. package/src/svg/menu/patch/avoid.svg +3 -3
  516. package/src/svg/menu/patch/batch-space.svg +3 -3
  517. package/src/svg/menu/patch/batch.svg +5 -5
  518. package/src/svg/menu/patch/broadband-space.svg +3 -3
  519. package/src/svg/menu/patch/broadband.svg +4 -4
  520. package/src/svg/menu/patch/cancellation-space.svg +3 -3
  521. package/src/svg/menu/patch/cancellation.svg +3 -3
  522. package/src/svg/menu/patch/center-space.svg +3 -3
  523. package/src/svg/menu/patch/center.svg +5 -5
  524. package/src/svg/menu/patch/change-space.svg +3 -3
  525. package/src/svg/menu/patch/change.svg +4 -4
  526. package/src/svg/menu/patch/click-space.svg +3 -3
  527. package/src/svg/menu/patch/click.svg +4 -4
  528. package/src/svg/menu/patch/close-1-space.svg +3 -3
  529. package/src/svg/menu/patch/close-1.svg +3 -3
  530. package/src/svg/menu/patch/close-space.svg +2 -2
  531. package/src/svg/menu/patch/close.svg +3 -3
  532. package/src/svg/menu/patch/collect-space.svg +3 -3
  533. package/src/svg/menu/patch/collect.svg +3 -3
  534. package/src/svg/menu/patch/comment-space.svg +3 -3
  535. package/src/svg/menu/patch/comment.svg +3 -3
  536. package/src/svg/menu/patch/confirm-space.svg +3 -3
  537. package/src/svg/menu/patch/confirm.svg +3 -3
  538. package/src/svg/menu/patch/contract-space.svg +3 -3
  539. package/src/svg/menu/patch/contract.svg +3 -3
  540. package/src/svg/menu/patch/credit-space.svg +3 -3
  541. package/src/svg/menu/patch/credit.svg +5 -5
  542. package/src/svg/menu/patch/dataMonitoring-space.svg +3 -3
  543. package/src/svg/menu/patch/dataMonitoring.svg +3 -3
  544. package/src/svg/menu/patch/dedicatedCircuit-space.svg +3 -3
  545. package/src/svg/menu/patch/dedicatedCircuit.svg +3 -3
  546. package/src/svg/menu/patch/detail-space.svg +3 -3
  547. package/src/svg/menu/patch/detail.svg +3 -3
  548. package/src/svg/menu/patch/disassemb-space.svg +3 -3
  549. package/src/svg/menu/patch/disassemb.svg +3 -3
  550. package/src/svg/menu/patch/earnestMoney-space.svg +3 -3
  551. package/src/svg/menu/patch/earnestMoney.svg +3 -3
  552. package/src/svg/menu/patch/empower-space.svg +3 -3
  553. package/src/svg/menu/patch/empower.svg +3 -3
  554. package/src/svg/menu/patch/entrust-space.svg +3 -3
  555. package/src/svg/menu/patch/entrust.svg +3 -3
  556. package/src/svg/menu/patch/expedite-space.svg +4 -4
  557. package/src/svg/menu/patch/expedite.svg +4 -4
  558. package/src/svg/menu/patch/flow-space.svg +3 -3
  559. package/src/svg/menu/patch/flow.svg +3 -3
  560. package/src/svg/menu/patch/folder-space.svg +3 -3
  561. package/src/svg/menu/patch/folder.svg +3 -3
  562. package/src/svg/menu/patch/forbidden-space.svg +3 -3
  563. package/src/svg/menu/patch/forbidden.svg +3 -3
  564. package/src/svg/menu/patch/forward-space.svg +3 -3
  565. package/src/svg/menu/patch/forward.svg +3 -3
  566. package/src/svg/menu/patch/fusion-space.svg +3 -3
  567. package/src/svg/menu/patch/fusion.svg +6 -6
  568. package/src/svg/menu/patch/history-space.svg +3 -3
  569. package/src/svg/menu/patch/history.svg +3 -3
  570. package/src/svg/menu/patch/information-space.svg +3 -3
  571. package/src/svg/menu/patch/information.svg +3 -3
  572. package/src/svg/menu/patch/insert-space.svg +3 -3
  573. package/src/svg/menu/patch/insert.svg +3 -3
  574. package/src/svg/menu/patch/letv-space.svg +3 -3
  575. package/src/svg/menu/patch/letv.svg +3 -3
  576. package/src/svg/menu/patch/link-space.svg +3 -3
  577. package/src/svg/menu/patch/link.svg +3 -3
  578. package/src/svg/menu/patch/location-space.svg +3 -3
  579. package/src/svg/menu/patch/location.svg +3 -3
  580. package/src/svg/menu/patch/message-space.svg +3 -3
  581. package/src/svg/menu/patch/message.svg +4 -4
  582. package/src/svg/menu/patch/minus-space.svg +3 -3
  583. package/src/svg/menu/patch/minus.svg +3 -3
  584. package/src/svg/menu/patch/mms-space.svg +3 -3
  585. package/src/svg/menu/patch/mms.svg +3 -3
  586. package/src/svg/menu/patch/monitor-space.svg +3 -3
  587. package/src/svg/menu/patch/monitor.svg +3 -3
  588. package/src/svg/menu/patch/move-space.svg +3 -3
  589. package/src/svg/menu/patch/move.svg +3 -3
  590. package/src/svg/menu/patch/negative-space.svg +2 -2
  591. package/src/svg/menu/patch/negative.svg +3 -3
  592. package/src/svg/menu/patch/net-space.svg +2 -2
  593. package/src/svg/menu/patch/net.svg +3 -3
  594. package/src/svg/menu/patch/news-space.svg +3 -3
  595. package/src/svg/menu/patch/news.svg +3 -3
  596. package/src/svg/menu/patch/notice-space.svg +4 -4
  597. package/src/svg/menu/patch/notice.svg +5 -5
  598. package/src/svg/menu/patch/officialBusiness-space.svg +3 -3
  599. package/src/svg/menu/patch/officialBusiness.svg +4 -4
  600. package/src/svg/menu/patch/pay-space.svg +3 -3
  601. package/src/svg/menu/patch/pay.svg +3 -3
  602. package/src/svg/menu/patch/phone-space.svg +3 -3
  603. package/src/svg/menu/patch/phone.svg +5 -5
  604. package/src/svg/menu/patch/print-space.svg +3 -3
  605. package/src/svg/menu/patch/print.svg +5 -5
  606. package/src/svg/menu/patch/product-space.svg +3 -3
  607. package/src/svg/menu/patch/product.svg +5 -5
  608. package/src/svg/menu/patch/reservation-space.svg +3 -3
  609. package/src/svg/menu/patch/reservation.svg +3 -3
  610. package/src/svg/menu/patch/sale-space.svg +3 -3
  611. package/src/svg/menu/patch/sale.svg +5 -5
  612. package/src/svg/menu/patch/search-space.svg +3 -3
  613. package/src/svg/menu/patch/search.svg +3 -3
  614. package/src/svg/menu/patch/secure-space.svg +3 -3
  615. package/src/svg/menu/patch/secure.svg +5 -5
  616. package/src/svg/menu/patch/setup-space.svg +3 -3
  617. package/src/svg/menu/patch/setup.svg +3 -3
  618. package/src/svg/menu/patch/shift-space.svg +3 -3
  619. package/src/svg/menu/patch/shift.svg +3 -3
  620. package/src/svg/menu/patch/situation-space.svg +3 -3
  621. package/src/svg/menu/patch/situation.svg +3 -3
  622. package/src/svg/menu/patch/special-space.svg +3 -3
  623. package/src/svg/menu/patch/special.svg +3 -3
  624. package/src/svg/menu/patch/tabulation-space.svg +3 -3
  625. package/src/svg/menu/patch/tabulation.svg +8 -8
  626. package/src/svg/menu/patch/track-space.svg +3 -3
  627. package/src/svg/menu/patch/track.svg +5 -5
  628. package/src/svg/menu/patch/transaction-space.svg +3 -3
  629. package/src/svg/menu/patch/transaction.svg +6 -6
  630. package/src/svg/menu/patch/user-space.svg +3 -3
  631. package/src/svg/menu/patch/user.svg +3 -3
  632. package/src/svg/menu/patch/visualize-space.svg +3 -3
  633. package/src/svg/menu/patch/visualize.svg +4 -4
  634. package/src/svg/menu/patch/vnet-space.svg +3 -3
  635. package/src/svg/menu/patch/vnet.svg +3 -3
  636. package/src/tip/tip.js +160 -160
  637. package/src/utils/after-leave.js +27 -27
  638. package/src/utils/ajax.js +59 -59
  639. package/src/utils/array.js +24 -24
  640. package/src/utils/clickoutside.js +105 -105
  641. package/src/utils/compare.js +16 -16
  642. package/src/utils/date.js +34 -34
  643. package/src/utils/disabledArea.js +18 -18
  644. package/src/utils/dom.js +301 -301
  645. package/src/utils/filetransfer.js +287 -287
  646. package/src/utils/isModified.js +20 -20
  647. package/src/utils/jsencrypt/JSEncrypt.js +192 -192
  648. package/src/utils/jsencrypt/JSEncryptRSAKey.js +320 -320
  649. package/src/utils/jsencrypt/index.js +3 -3
  650. package/src/utils/jsencrypt/jselib/asn1js/asn1.d.ts +51 -51
  651. package/src/utils/jsencrypt/jselib/asn1js/asn1.js +565 -565
  652. package/src/utils/jsencrypt/jselib/asn1js/base64.d.ts +5 -5
  653. package/src/utils/jsencrypt/jselib/asn1js/base64.js +88 -88
  654. package/src/utils/jsencrypt/jselib/asn1js/hex.d.ts +3 -3
  655. package/src/utils/jsencrypt/jselib/asn1js/hex.js +64 -64
  656. package/src/utils/jsencrypt/jselib/asn1js/int10.d.ts +9 -9
  657. package/src/utils/jsencrypt/jselib/asn1js/int10.js +87 -87
  658. package/src/utils/jsencrypt/jselib/asn1js/oids.d.ts +9778 -9778
  659. package/src/utils/jsencrypt/jselib/asn1js/oids.js +1962 -1962
  660. package/src/utils/jsencrypt/jselib/jsbn/base64.d.ts +3 -3
  661. package/src/utils/jsencrypt/jselib/jsbn/base64.js +76 -76
  662. package/src/utils/jsencrypt/jselib/jsbn/jsbn.d.ts +98 -98
  663. package/src/utils/jsencrypt/jselib/jsbn/jsbn.js +1754 -1754
  664. package/src/utils/jsencrypt/jselib/jsbn/prng4.d.ts +10 -10
  665. package/src/utils/jsencrypt/jselib/jsbn/prng4.js +46 -46
  666. package/src/utils/jsencrypt/jselib/jsbn/rng.d.ts +3 -3
  667. package/src/utils/jsencrypt/jselib/jsbn/rng.js +78 -78
  668. package/src/utils/jsencrypt/jselib/jsbn/rsa.d.ts +23 -23
  669. package/src/utils/jsencrypt/jselib/jsbn/rsa.js +373 -373
  670. package/src/utils/jsencrypt/jselib/jsbn/util.d.ts +7 -7
  671. package/src/utils/jsencrypt/jselib/jsbn/util.js +58 -58
  672. package/src/utils/jsencrypt/jselib/jsrsasign/asn1-1.0.js +1593 -1593
  673. package/src/utils/jsencrypt/jselib/jsrsasign/yahoo.js +63 -63
  674. package/src/utils/jsencrypt/util.js +58 -58
  675. package/src/utils/jsencrypt.js +263 -263
  676. package/src/utils/md5.js +203 -203
  677. package/src/utils/merge.js +15 -15
  678. package/src/utils/mime.js +75 -75
  679. package/src/utils/print.js +39 -39
  680. package/src/utils/ratio.js +230 -230
  681. package/src/utils/respo.js +9 -9
  682. package/src/utils/shared.js +7 -7
  683. package/src/utils/sign.js +185 -185
  684. package/src/utils/string.js +13 -13
  685. package/src/utils/theme.js +91 -91
  686. package/src/utils/types.js +40 -40
  687. package/src/utils/util.js +286 -286
  688. package/src/utils/uuid.js +12 -12
  689. package/src/utils/validate.js +373 -373
  690. package/packages/.DS_Store +0 -0
  691. package/packages/article/.DS_Store +0 -0
  692. package/packages/chat/.DS_Store +0 -0
  693. package/packages/chat/src/.DS_Store +0 -0
  694. package/packages/date-picker/.DS_Store +0 -0
  695. package/packages/dis/.DS_Store +0 -0
  696. package/packages/emote/.DS_Store +0 -0
  697. package/packages/filter/.DS_Store +0 -0
  698. package/packages/filter/src/.DS_Store +0 -0
  699. package/packages/float/.DS_Store +0 -0
  700. package/packages/flow/.DS_Store +0 -0
  701. package/packages/guider/.DS_Store +0 -0
  702. package/packages/ip/.DS_Store +0 -0
  703. package/packages/org/.DS_Store +0 -0
  704. package/packages/page/.DS_Store +0 -0
  705. package/packages/page/src/.DS_Store +0 -0
  706. package/packages/pic/.DS_Store +0 -0
  707. package/packages/rate/.DS_Store +0 -0
  708. package/packages/reverser/.DS_Store +0 -0
  709. package/packages/reverser/src/.DS_Store +0 -0
  710. package/packages/segment/.DS_Store +0 -0
  711. package/packages/slide/.DS_Store +0 -0
  712. package/packages/tab/.DS_Store +0 -0
  713. package/packages/table/.DS_Store +0 -0
  714. package/packages/theme/src/.DS_Store +0 -0
  715. package/packages/theme/src/img/.DS_Store +0 -0
  716. package/packages/theme/src/img/emote/.DS_Store +0 -0
  717. package/packages/theme/src/less/.DS_Store +0 -0
  718. package/packages/theme/src/less/theme/.DS_Store +0 -0
  719. package/packages/tooltip/.DS_Store +0 -0
  720. package/packages/tree/.DS_Store +0 -0
  721. package/packages/upload/.DS_Store +0 -0
  722. package/src/.DS_Store +0 -0
  723. package/src/svg/.DS_Store +0 -0
  724. package/src/svg/menu/.DS_Store +0 -0
@@ -1,653 +1,653 @@
1
- <template>
2
- <span :id="id" v-tip="changed ? t('to.common.originalValue', valueStore[0]) : ''" class="to-input" :class="setClass" :style="setStyle" @click.stop="$emit('click')">
3
- <span v-if="verifiable && (rule || required || ToFormItem.required)" v-show="false" :trim="trim" :req="validateRequired" class="to-validate" :desc="validateDesc" :rule="rule" :value="data"></span>
4
- <span v-if="prefix || $slots.prefix || step" class="to-inputPrefix">
5
- <slot name="prefix"></slot>
6
- <span v-if="prefix" class="to-inputText">{{ prefix }}</span>
7
- <to-icon v-if="step" v-dis="Number(data) === Number(min) || readonly" :value="stepIconMode ? 'unfold' : 'reduce'" link color="primary" mode="none" @mousedown.native="reduce"></to-icon>
8
- </span>
9
- <textarea
10
- v-if="type === 'textarea'"
11
- ref="input"
12
- v-model="data"
13
- :autocomplete="autocomplete ? 'on' : 'new-password'"
14
- :maxlength="maxlength"
15
- :placeholder="iPlaceholder"
16
- :readonly="disabled"
17
- :tabindex="tabindex"
18
- @keyup="inputKeyup"
19
- @keydown="inputKeydown"
20
- @cut="inputCut"
21
- @focus="inputFocus"
22
- @blur="inputBlur"
23
- @paste="inputPaste"
24
- @keypress="inputKeyPress"
25
- >
26
- </textarea>
27
- <span v-else-if="type === 'html'" class="to-inputHTML">
28
- {{ html }}
29
- <slot name="html"></slot>
30
- </span>
31
- <input
32
- v-else
33
- ref="input"
34
- v-model="data"
35
- :autocomplete="autocomplete ? 'on' : 'new-password'"
36
- :tabindex="tabindex"
37
- :maxlength="maxlength"
38
- :placeholder="iPlaceholder"
39
- :type="itype"
40
- :readonly="disabled"
41
- @keyup="inputKeyup"
42
- @keydown="inputKeydown"
43
- @cut="inputCut"
44
- @focus="inputFocus"
45
- @blur="inputBlur"
46
- @paste="inputPaste"
47
- @keypress="inputKeyPress"
48
- @change="inputChange"
49
- />
50
- <span v-if="clearable || suggestion || $slots.default || $slots.suffix || suffix || step" class="to-inputSuffix">
51
- <to-icon v-if="clearable" v-show="clearVisible" class="to-inputClear" color="default" :mode="iconMode" link value="close" @click.stop="clear()"></to-icon>
52
- <to-icon v-if="step" v-dis="Number(data) === Number(max) || readonly" :value="stepIconMode ? 'fold' : 'add'" link color="primary" mode="none" @mousedown.native="increase"></to-icon>
53
- <span v-if="suffix" class="to-inputText">{{ suffix }}</span>
54
- <slot name="suffix"></slot>
55
- <slot></slot>
56
- <span v-if="suggestion" class="to-inputSuggestion">
57
- <to-button v-for="(item,i) in suggestion.split(',')" :key="i" :fillet="$TouchUI.global.fillet" color="info" mode="text" @click="addSuggestion(item)">{{ item }}</to-button>
58
- </span>
59
- </span>
60
- <span v-if="errorTip" v-color="'danger'" class="to-box-tip">
61
- <template v-if="errorType === 'rule'">
62
- 输入有误
63
- <to-icon v-tip.danger="errorTip" value="help" color="danger" mode="toast" fillet="round"></to-icon>
64
- </template>
65
- <template v-else>
66
- 不能为空
67
- </template>
68
- </span>
69
- </span>
70
- </template>
71
- <script>
72
- import { filter } from '../../../src/utils/string.js'
73
- import Locale from 'ai.touchui-vue/src/mixins/locale'
74
- import Tip from 'ai.touchui-vue/src/mixins/tip'
75
- export default {
76
- name: 'ToInput',
77
- componentName: 'ToInput',
78
- mixins: [Locale, Tip],
79
- inheritAttrs: false,
80
- inject: {
81
- ToForm: {
82
- default: ''
83
- },
84
- ToFormItem: {
85
- default: ''
86
- }
87
- },
88
- props: {
89
- // 表单校验
90
- desc: {
91
- type: String,
92
- default: ''
93
- },
94
- rule: {
95
- type: String,
96
- default: ''
97
- },
98
- id: {
99
- type: String,
100
- default: ''
101
- },
102
- required: {
103
- type: Boolean,
104
- default: null
105
- },
106
- verifiable: {
107
- type: Boolean,
108
- default: true
109
- },
110
- validateTip: {
111
- type: String,
112
- default: ''
113
- },
114
- propErrorType: {
115
- type: String,
116
- default: ''
117
- },
118
- propErrorTip: {
119
- type: String,
120
- default: ''
121
- },
122
-
123
- // 原生属性继承---------
124
- placeholder: {
125
- type: String,
126
- default: null
127
- },
128
- type: {
129
- type: String,
130
- default: 'text'
131
- },
132
- tabindex: {
133
- type: String,
134
- default: '1'
135
- },
136
- autocomplete: Boolean,
137
- readonly: Boolean,
138
-
139
- // 原生属性优化---------
140
- max: {
141
- type: [String, Number],
142
- default: Infinity
143
- },
144
- min: {
145
- type: [String, Number],
146
- default: -Infinity
147
- },
148
- maxlength: {
149
- type: [String, Number],
150
- default: Infinity
151
- },
152
-
153
- // 数值类型特殊属性---------
154
- // 小数点位数
155
- dot: {
156
- type: [String, Number],
157
- default: 0
158
- },
159
- // 步长(+-时用到)
160
- step: {
161
- type: [String, Number],
162
- default: null
163
- },
164
- stepIconMode: {
165
- type: String,
166
- default: ''
167
- },
168
-
169
- // 安全---------
170
- spChars: {
171
- type: [String, Boolean],
172
- default: '/,\\,[,],{,},"' // 微软拼音输入法使用单引号做上屏前多个字符分隔符,不能过滤单引号
173
- },
174
-
175
- // 插件---------
176
- prefix: {
177
- type: String,
178
- default: ''
179
- },
180
- suffix: {
181
- type: String,
182
- default: ''
183
- },
184
- suggestion: {
185
- type: String,
186
- default: ''
187
- },
188
- suggestionType: {
189
- type: String,
190
- default: ''
191
- },
192
- suggestionSymbol: {
193
- type: String,
194
- default: '、'
195
- },
196
-
197
- // 基本功能-----------
198
- clearable: Boolean,
199
- preventFocus: Boolean,
200
- comparable: Boolean,
201
- value: {
202
- type: [String, Number],
203
- default() {
204
- return this.step ? 0 : ''
205
- }
206
- },
207
- html: {
208
- type: [String, Number],
209
- default: ''
210
- },
211
- trim: {
212
- type: Boolean,
213
- default: true
214
- },
215
-
216
- // 外观---------
217
- fillet: {
218
- type: String,
219
- default() {
220
- return this.$TouchUI.input.fillet || this.$TouchUI.global.fillet || 'normal'
221
- }
222
- },
223
- filletPosition: {
224
- type: String,
225
- default: ''
226
- },
227
- color: {
228
- type: String,
229
- default: 'default'
230
- },
231
- placeholderColor: {
232
- type: String,
233
- default: ''
234
- },
235
- mode: {
236
- type: String,
237
- default: ''
238
- },
239
- width: {
240
- type: [Number, String],
241
- default: ''
242
- },
243
- height: {
244
- type: [Number, String],
245
- default: 1
246
- },
247
- link: Boolean,
248
- focusWhenClear: { // filterable模式下清空数据是否弹出下拉框
249
- type: Boolean,
250
- default: true
251
- }
252
- },
253
- data() {
254
- return {
255
- errorTip: '',
256
- errorType: 'rule',
257
- valueStore: [],
258
- prevent: false,
259
- inited: false,
260
- focused: false,
261
- data: '',
262
- clearVisible: false,
263
- itype: 'text',
264
- disabled: this.readonly,
265
- multipleNumber: 1 // 将浮点数转为整数,避免 JS 精度丢失
266
- }
267
- },
268
- computed: {
269
- iPlaceholder() {
270
- if (!this.disabled && !this.placeholder && this.placeholder !== '') {
271
- return this.t('to.common.placeholder.input')
272
- } else {
273
- return this.placeholder
274
- }
275
- },
276
- iconMode() {
277
- if (this.mode === 'none' || this.mode === 'line' || this.focused) {
278
- return 'none';
279
- } else if (this.mode === 'fill') {
280
- return 'fill';
281
- } else {
282
- return 'plain';
283
- }
284
- },
285
- setClass() {
286
- let arr = ['to-form-readonly'];
287
- if (this.errorTip) {
288
- arr.push('to-input-mode-line');
289
- arr.push('to-input-color-danger');
290
- arr.push('to-input-tip-show')
291
- } else {
292
- if (this.mode) {
293
- arr.push(`to-input-mode-${this.mode}`);
294
- } else if (this.ToForm && this.ToForm.type === 'list') {
295
- arr.push('to-input-mode-none')
296
- } else {
297
- arr.push('to-input-mode-default');
298
- }
299
- if (this.color) {
300
- if (this.color !== 'radam') {
301
- arr.push(`to-input-color-${this.color}`);
302
- } else {
303
- let colors = this.$TouchUI.colors
304
- let number = Math.round(Math.random() * 6)
305
- arr.push(`to-input-color-${ colors[number]}`);
306
- }
307
- }
308
- }
309
- if (this.placeholderColor) {
310
- arr.push(`to-input-placeholder-color-${this.placeholderColor}`);
311
- }
312
- if (this.fillet !== 'none') {
313
- arr.push(`to-input-fillet-${this.fillet}`);
314
- }
315
- if (this.filletPosition) {
316
- arr.push(`to-input-fillet-position-${this.filletPosition}`);
317
- }
318
- if (this.step) {
319
- arr.push('to-input-step');
320
- }
321
- if (this.stepIconMode === 'arrow') {
322
- arr.push(`to-input-step-icon-mode-${this.stepIconMode}`);
323
- }
324
- if (this.disabled && !this.link) {
325
- arr.push('to-input-state-readonly');
326
- }
327
- if (this.focused && !this.preventFocus && !(this.ToForm && this.ToForm.type === 'list' && this.disabled)) {
328
- arr.push('to-input-state-focus');
329
- }
330
- if (this.type === 'textarea') {
331
- arr.push('to-input-type-textarea')
332
- }
333
- if (this.type === 'textarea' && (typeof this.height === 'number' || this.height > 1)) {
334
- arr.push(`to-input-height-${this.height}`);
335
- }
336
- if (this.changed) {
337
- arr.push('to-input-changed')
338
- }
339
- if (this.link) {
340
- arr.push('to-input-link')
341
- }
342
- if ((this.ToForm && this.ToForm.comparable) || this.comparable) {
343
- arr.push('to-compare')
344
- }
345
- return arr;
346
- },
347
- setStyle() {
348
- var obj = {};
349
- if (this.width) {
350
- if (!isNaN(this.width)) {
351
- obj.width = this.width + 'em';
352
- } else if (this.width === 'full') {
353
- obj.width = '100%';
354
- } else {
355
- obj.width = this.width;
356
- }
357
- }
358
- return obj;
359
- },
360
- validateRequired() {
361
- if (this.required === false) {
362
- return 'false'
363
- } else if (this.required) {
364
- return 'true'
365
- } else if (this.ToFormItem && this.ToFormItem.required) {
366
- return 'true'
367
- } else {
368
- return 'false'
369
- }
370
- },
371
- validateDesc() {
372
- if (this.desc) {
373
- return this.desc
374
- } else if (this.ToFormItem && this.ToFormItem.label) {
375
- return this.ToFormItem.label
376
- } else {
377
- return ''
378
- }
379
- },
380
- changed() {
381
- if ((this.comparable || this.ToForm.comparable) && this.valueStore.length > 0 && this.data !== this.valueStore[0]) {
382
- return true
383
- } else {
384
- return false
385
- }
386
- }
387
- },
388
- watch: {
389
- propErrorType(val) {
390
- this.errorType = val
391
- },
392
- propErrorTip(val) {
393
- this.errorTip = val
394
- },
395
- readonly(val) {
396
- this.disabled = val
397
- },
398
- type(val) {
399
- if (val === 'password') {
400
- this.itype = val;
401
- } else {
402
- this.itype = 'text';
403
- }
404
- },
405
- value(val) {
406
- this.errorTip = ''
407
- if (val === undefined || val === null) {
408
- this.data = ''
409
- } else {
410
- this.data = val
411
- }
412
- },
413
- data(val) {
414
- if (this.inited) {
415
-
416
- // 处理 IOS 下,to-input type=number 可以输入小数点
417
- if (this.type === 'number' && Number(this.dot) === 0 && String(this.data).indexOf('.') > -1) {
418
- this.data = this.data.replace('.', '')
419
- }
420
- if (this.spChars) {
421
- const filterData = filter(this.spChars, this.data)
422
- if (filterData !== false) {
423
- this.data = filterData
424
- }
425
- }
426
- this.limit()
427
- this.$emit('input', this.trim ? String(this.data).trim() : this.data)
428
- this.$emit('change', this.trim ? String(this.data).trim() : this.data);
429
- }
430
- }
431
- },
432
- created() {
433
- this.data = this.value;
434
- this.$nextTick(()=>{
435
- this.inited = true
436
- })
437
- if (this.type === 'password') {
438
- this.itype = this.type;
439
- } else {
440
- this.itype = 'text';
441
- }
442
- },
443
- mounted() {
444
- if (this.$platform === 'pc') {
445
- this.$el.addEventListener('mouseover', this.showClear);
446
- this.$el.addEventListener('mouseout', this.hideClear);
447
- }
448
- document.body.addEventListener('click', this.blur);
449
- },
450
- deactivated() {
451
- this.destroy()
452
- },
453
- beforeDestroy() {
454
- this.destroy()
455
- },
456
- methods: {
457
- destroy() {
458
- if (this.$platform === 'pc') {
459
- this.$el.removeEventListener('mouseover', this.showClear);
460
- this.$el.removeEventListener('mouseout', this.hideClear);
461
- }
462
- document.body.removeEventListener('click', this.blur);
463
- },
464
- addSuggestion(item) {
465
- if (this.data.split(this.suggestionSymbol).includes(item)) {
466
- return
467
- }
468
- if (this.suggestionType === 'multiple') {
469
- let value = String(this.data)
470
- if (value.trim()) {
471
- this.data += this.suggestionSymbol
472
- }
473
- this.data += item
474
- } else {
475
- this.data = item
476
- }
477
- },
478
- reduce() {
479
- if (Number(this.min) < Number(this.data)) {
480
- this.data = this.$NP.minus(Number(this.data), Number(this.step))
481
- this.limit();
482
- }
483
- },
484
- increase() {
485
- if (Number(this.data) < Number(this.max)) {
486
- this.data = this.$NP.plus(Number(this.data), Number(this.step))
487
- this.limit();
488
- }
489
- },
490
- inputKeyPress(event) {
491
- if (this.type === 'number') {
492
- if ((event.keyCode !== 46 || Number(this.dot) === 0) && (event.keyCode !== 45 || Number(this.min) >= 0) && (event.keyCode < 48 || event.keyCode > 57)) {
493
- event.returnValue = false;
494
- }
495
- }
496
- },
497
- inputCut(event) {
498
- this.$nextTick(() => {
499
- this.$emit('cut', event);
500
- });
501
- },
502
- inputPaste(event) {
503
- this.$emit('paste', event);
504
- },
505
- inputChange(val) {
506
- // 处理在 IOS 下,input 拿不到值的情况
507
- if (this.type === 'text' && this.$platform === 'phone') {
508
- this.data = this.$refs.input.value
509
- }
510
- },
511
- inputKeyup(event) {
512
- this.$emit('keyup', event);
513
- if (![27, 16, 91, 18, 17, 93, 13, 9].includes(event.keyCode)) {
514
- // 显示/隐藏清除按钮
515
- if (this.data && this.data.length === 0) {
516
- this.clearVisible = false;
517
- } else {
518
- this.showClear();
519
- }
520
- }
521
- },
522
- inputKeydown(event) {
523
- if (this.disabled) {
524
- // 避免只读输入框在 IE11 下退格会回退路由
525
- let keycode = event.which || event.keyCode;
526
- if (keycode === 8 || keycode === 46) {
527
- event.preventDefault();
528
- event.stopPropagation();
529
- return false
530
- }
531
- }
532
- this.$emit('keydown', event);
533
- },
534
- inputFocus(e) {
535
- this.showClear()
536
- this.errorTip = ''
537
- this.focused = true
538
- this.$emit('focus', e)
539
- },
540
- inputBlur(e) {
541
- if (this.type === 'number') {
542
-
543
- // 只有减号
544
- if (this.data === '-' || this.data === '.') {
545
- this.data = '';
546
- }
547
-
548
- // 最大值判断
549
- if (Number(this.data, 0) > Number(this.max)) {
550
- this.data = Number(this.max) + '';
551
- }
552
-
553
- // 最小值判断
554
- if (Number(this.data, 0) < Number(this.min)) {
555
- this.data = Number(this.min) + '';
556
- }
557
- }
558
- this.focused = false;
559
- this.$emit('blur', e)
560
-
561
- const detail = {
562
- name: 'ToInput',
563
- value: this.data,
564
- desc: this.validateDesc
565
- }
566
- this.$TouchUI.commitTouchReport(detail)
567
- },
568
- limit() {
569
- if (this.type === 'number') {
570
- // 先转换为纯数字字符串
571
- this.data = (this.data + '').replace(/[^\d|\.|\-]/g, '');
572
-
573
- // 多重负号去重
574
- if (this.data.indexOf('-') > -1) {
575
- if (this.data.indexOf('-') === 0) {
576
- if (this.data.indexOf('.') === 1) {
577
- this.data = '-0' + this.data.replace(/[-]/g, '');
578
- } else {
579
- this.data = '-' + this.data.replace(/[-]/g, '');
580
- }
581
- } else {
582
- this.data = this.data.replace(/[-]/g, '');
583
- }
584
- }
585
-
586
- // 小数点长度判断
587
- if (this.data.indexOf('.') > -1) {
588
- // 小圆点开头的自动补 0
589
- if (this.data.indexOf('.') === 0) {
590
- this.data = '0' + this.data;
591
- }
592
-
593
- // 分别获取和处理小数点前后的字符
594
- let pre = this.data.substring(0, this.data.indexOf('.'));
595
- let suf = this.data.substring(this.data.indexOf('.') + 1);
596
-
597
- // 去掉小数点之后的所有小圆点并截取所需数量
598
- suf = suf.replace(/[/.]/g, '').substring(0, Number(this.dot));
599
-
600
- // 拼接字符串
601
- this.data = `${pre}.${suf}`;
602
- }
603
- }
604
- },
605
- showClear() {
606
- if (this.clearable && this.data && this.data.length > 0) {
607
- this.clearVisible = true;
608
- }
609
- },
610
- hideClear() {
611
- if (!this.focused) {
612
- this.clearVisible = false;
613
- }
614
- },
615
- clear() {
616
- this.data = '';
617
- if (this.focusWhenClear) {
618
- this.$refs.input.focus();
619
- }
620
- this.clearVisible = false;
621
- this.$emit('clear');
622
- },
623
- focus() {
624
- this.$refs.input.focus()
625
- },
626
- blur(e) {
627
- var node = e.target;
628
- while (node && node !== this.$el && node.nodeName !== 'BODY') {
629
- node = node.parentNode;
630
- }
631
- if (node && node.nodeName === 'BODY' && this.clearable) {
632
- this.clearVisible = false;
633
- }
634
- if (this.trim && this.data && typeof this.data === 'string') {
635
- this.data = String(this.data).trim()
636
- }
637
- },
638
-
639
- // 记录历史值,以便对比或者取值
640
- compare() {
641
- this.valueStore.unshift(this.data)
642
- },
643
- setDisabled(f) {
644
- this.disabled = f
645
- },
646
- // 撤销
647
- restore() {
648
- this.data = this.valueStore[0]
649
- this.valueStore.splice(0, 1)
650
- }
651
- }
652
- };
653
- </script>
1
+ <template>
2
+ <span :id="id" v-tip="changed ? t('to.common.originalValue', valueStore[0]) : ''" class="to-input" :class="setClass" :style="setStyle" @click.stop="$emit('click')">
3
+ <span v-if="verifiable && (rule || required || ToFormItem.required)" v-show="false" :trim="trim" :req="validateRequired" class="to-validate" :desc="validateDesc" :rule="rule" :value="data"></span>
4
+ <span v-if="prefix || $slots.prefix || step" class="to-inputPrefix">
5
+ <slot name="prefix"></slot>
6
+ <span v-if="prefix" class="to-inputText">{{ prefix }}</span>
7
+ <to-icon v-if="step" v-dis="Number(data) === Number(min) || readonly" :value="stepIconMode ? 'unfold' : 'reduce'" link color="primary" mode="none" @mousedown.native="reduce"></to-icon>
8
+ </span>
9
+ <textarea
10
+ v-if="type === 'textarea'"
11
+ ref="input"
12
+ v-model="data"
13
+ :autocomplete="autocomplete ? 'on' : 'new-password'"
14
+ :maxlength="maxlength"
15
+ :placeholder="iPlaceholder"
16
+ :readonly="disabled"
17
+ :tabindex="tabindex"
18
+ @keyup="inputKeyup"
19
+ @keydown="inputKeydown"
20
+ @cut="inputCut"
21
+ @focus="inputFocus"
22
+ @blur="inputBlur"
23
+ @paste="inputPaste"
24
+ @keypress="inputKeyPress"
25
+ >
26
+ </textarea>
27
+ <span v-else-if="type === 'html'" class="to-inputHTML">
28
+ {{ html }}
29
+ <slot name="html"></slot>
30
+ </span>
31
+ <input
32
+ v-else
33
+ ref="input"
34
+ v-model="data"
35
+ :autocomplete="autocomplete ? 'on' : 'new-password'"
36
+ :tabindex="tabindex"
37
+ :maxlength="maxlength"
38
+ :placeholder="iPlaceholder"
39
+ :type="itype"
40
+ :readonly="disabled"
41
+ @keyup="inputKeyup"
42
+ @keydown="inputKeydown"
43
+ @cut="inputCut"
44
+ @focus="inputFocus"
45
+ @blur="inputBlur"
46
+ @paste="inputPaste"
47
+ @keypress="inputKeyPress"
48
+ @change="inputChange"
49
+ />
50
+ <span v-if="clearable || suggestion || $slots.default || $slots.suffix || suffix || step" class="to-inputSuffix">
51
+ <to-icon v-if="clearable" v-show="clearVisible" class="to-inputClear" color="default" :mode="iconMode" link value="close" @click.stop="clear()"></to-icon>
52
+ <to-icon v-if="step" v-dis="Number(data) === Number(max) || readonly" :value="stepIconMode ? 'fold' : 'add'" link color="primary" mode="none" @mousedown.native="increase"></to-icon>
53
+ <span v-if="suffix" class="to-inputText">{{ suffix }}</span>
54
+ <slot name="suffix"></slot>
55
+ <slot></slot>
56
+ <span v-if="suggestion" class="to-inputSuggestion">
57
+ <to-button v-for="(item,i) in suggestion.split(',')" :key="i" :fillet="$TouchUI.global.fillet" color="info" mode="text" @click="addSuggestion(item)">{{ item }}</to-button>
58
+ </span>
59
+ </span>
60
+ <span v-if="errorTip" v-color="'danger'" class="to-box-tip">
61
+ <template v-if="errorType === 'rule'">
62
+ 输入有误
63
+ <to-icon v-tip.danger="errorTip" value="help" color="danger" mode="toast" fillet="round"></to-icon>
64
+ </template>
65
+ <template v-else>
66
+ 不能为空
67
+ </template>
68
+ </span>
69
+ </span>
70
+ </template>
71
+ <script>
72
+ import { filter } from '../../../src/utils/string.js'
73
+ import Locale from 'ai.touchui-vue/src/mixins/locale'
74
+ import Tip from 'ai.touchui-vue/src/mixins/tip'
75
+ export default {
76
+ name: 'ToInput',
77
+ componentName: 'ToInput',
78
+ mixins: [Locale, Tip],
79
+ inheritAttrs: false,
80
+ inject: {
81
+ ToForm: {
82
+ default: ''
83
+ },
84
+ ToFormItem: {
85
+ default: ''
86
+ }
87
+ },
88
+ props: {
89
+ // 表单校验
90
+ desc: {
91
+ type: String,
92
+ default: ''
93
+ },
94
+ rule: {
95
+ type: String,
96
+ default: ''
97
+ },
98
+ id: {
99
+ type: String,
100
+ default: ''
101
+ },
102
+ required: {
103
+ type: Boolean,
104
+ default: null
105
+ },
106
+ verifiable: {
107
+ type: Boolean,
108
+ default: true
109
+ },
110
+ validateTip: {
111
+ type: String,
112
+ default: ''
113
+ },
114
+ propErrorType: {
115
+ type: String,
116
+ default: ''
117
+ },
118
+ propErrorTip: {
119
+ type: String,
120
+ default: ''
121
+ },
122
+
123
+ // 原生属性继承---------
124
+ placeholder: {
125
+ type: String,
126
+ default: null
127
+ },
128
+ type: {
129
+ type: String,
130
+ default: 'text'
131
+ },
132
+ tabindex: {
133
+ type: String,
134
+ default: '1'
135
+ },
136
+ autocomplete: Boolean,
137
+ readonly: Boolean,
138
+
139
+ // 原生属性优化---------
140
+ max: {
141
+ type: [String, Number],
142
+ default: Infinity
143
+ },
144
+ min: {
145
+ type: [String, Number],
146
+ default: -Infinity
147
+ },
148
+ maxlength: {
149
+ type: [String, Number],
150
+ default: Infinity
151
+ },
152
+
153
+ // 数值类型特殊属性---------
154
+ // 小数点位数
155
+ dot: {
156
+ type: [String, Number],
157
+ default: 0
158
+ },
159
+ // 步长(+-时用到)
160
+ step: {
161
+ type: [String, Number],
162
+ default: null
163
+ },
164
+ stepIconMode: {
165
+ type: String,
166
+ default: ''
167
+ },
168
+
169
+ // 安全---------
170
+ spChars: {
171
+ type: [String, Boolean],
172
+ default: '/,\\,[,],{,},"' // 微软拼音输入法使用单引号做上屏前多个字符分隔符,不能过滤单引号
173
+ },
174
+
175
+ // 插件---------
176
+ prefix: {
177
+ type: String,
178
+ default: ''
179
+ },
180
+ suffix: {
181
+ type: String,
182
+ default: ''
183
+ },
184
+ suggestion: {
185
+ type: String,
186
+ default: ''
187
+ },
188
+ suggestionType: {
189
+ type: String,
190
+ default: ''
191
+ },
192
+ suggestionSymbol: {
193
+ type: String,
194
+ default: '、'
195
+ },
196
+
197
+ // 基本功能-----------
198
+ clearable: Boolean,
199
+ preventFocus: Boolean,
200
+ comparable: Boolean,
201
+ value: {
202
+ type: [String, Number],
203
+ default() {
204
+ return this.step ? 0 : ''
205
+ }
206
+ },
207
+ html: {
208
+ type: [String, Number],
209
+ default: ''
210
+ },
211
+ trim: {
212
+ type: Boolean,
213
+ default: true
214
+ },
215
+
216
+ // 外观---------
217
+ fillet: {
218
+ type: String,
219
+ default() {
220
+ return this.$TouchUI.input.fillet || this.$TouchUI.global.fillet || 'normal'
221
+ }
222
+ },
223
+ filletPosition: {
224
+ type: String,
225
+ default: ''
226
+ },
227
+ color: {
228
+ type: String,
229
+ default: 'default'
230
+ },
231
+ placeholderColor: {
232
+ type: String,
233
+ default: ''
234
+ },
235
+ mode: {
236
+ type: String,
237
+ default: ''
238
+ },
239
+ width: {
240
+ type: [Number, String],
241
+ default: ''
242
+ },
243
+ height: {
244
+ type: [Number, String],
245
+ default: 1
246
+ },
247
+ link: Boolean,
248
+ focusWhenClear: { // filterable模式下清空数据是否弹出下拉框
249
+ type: Boolean,
250
+ default: true
251
+ }
252
+ },
253
+ data() {
254
+ return {
255
+ errorTip: '',
256
+ errorType: 'rule',
257
+ valueStore: [],
258
+ prevent: false,
259
+ inited: false,
260
+ focused: false,
261
+ data: '',
262
+ clearVisible: false,
263
+ itype: 'text',
264
+ disabled: this.readonly,
265
+ multipleNumber: 1 // 将浮点数转为整数,避免 JS 精度丢失
266
+ }
267
+ },
268
+ computed: {
269
+ iPlaceholder() {
270
+ if (!this.disabled && !this.placeholder && this.placeholder !== '') {
271
+ return this.t('to.common.placeholder.input')
272
+ } else {
273
+ return this.placeholder
274
+ }
275
+ },
276
+ iconMode() {
277
+ if (this.mode === 'none' || this.mode === 'line' || this.focused) {
278
+ return 'none';
279
+ } else if (this.mode === 'fill') {
280
+ return 'fill';
281
+ } else {
282
+ return 'plain';
283
+ }
284
+ },
285
+ setClass() {
286
+ let arr = ['to-form-readonly'];
287
+ if (this.errorTip) {
288
+ arr.push('to-input-mode-line');
289
+ arr.push('to-input-color-danger');
290
+ arr.push('to-input-tip-show')
291
+ } else {
292
+ if (this.mode) {
293
+ arr.push(`to-input-mode-${this.mode}`);
294
+ } else if (this.ToForm && this.ToForm.type === 'list') {
295
+ arr.push('to-input-mode-none')
296
+ } else {
297
+ arr.push('to-input-mode-default');
298
+ }
299
+ if (this.color) {
300
+ if (this.color !== 'radam') {
301
+ arr.push(`to-input-color-${this.color}`);
302
+ } else {
303
+ let colors = this.$TouchUI.colors
304
+ let number = Math.round(Math.random() * 6)
305
+ arr.push(`to-input-color-${ colors[number]}`);
306
+ }
307
+ }
308
+ }
309
+ if (this.placeholderColor) {
310
+ arr.push(`to-input-placeholder-color-${this.placeholderColor}`);
311
+ }
312
+ if (this.fillet !== 'none') {
313
+ arr.push(`to-input-fillet-${this.fillet}`);
314
+ }
315
+ if (this.filletPosition) {
316
+ arr.push(`to-input-fillet-position-${this.filletPosition}`);
317
+ }
318
+ if (this.step) {
319
+ arr.push('to-input-step');
320
+ }
321
+ if (this.stepIconMode === 'arrow') {
322
+ arr.push(`to-input-step-icon-mode-${this.stepIconMode}`);
323
+ }
324
+ if (this.disabled && !this.link) {
325
+ arr.push('to-input-state-readonly');
326
+ }
327
+ if (this.focused && !this.preventFocus && !(this.ToForm && this.ToForm.type === 'list' && this.disabled)) {
328
+ arr.push('to-input-state-focus');
329
+ }
330
+ if (this.type === 'textarea') {
331
+ arr.push('to-input-type-textarea')
332
+ }
333
+ if (this.type === 'textarea' && (typeof this.height === 'number' || this.height > 1)) {
334
+ arr.push(`to-input-height-${this.height}`);
335
+ }
336
+ if (this.changed) {
337
+ arr.push('to-input-changed')
338
+ }
339
+ if (this.link) {
340
+ arr.push('to-input-link')
341
+ }
342
+ if ((this.ToForm && this.ToForm.comparable) || this.comparable) {
343
+ arr.push('to-compare')
344
+ }
345
+ return arr;
346
+ },
347
+ setStyle() {
348
+ var obj = {};
349
+ if (this.width) {
350
+ if (!isNaN(this.width)) {
351
+ obj.width = this.width + 'em';
352
+ } else if (this.width === 'full') {
353
+ obj.width = '100%';
354
+ } else {
355
+ obj.width = this.width;
356
+ }
357
+ }
358
+ return obj;
359
+ },
360
+ validateRequired() {
361
+ if (this.required === false) {
362
+ return 'false'
363
+ } else if (this.required) {
364
+ return 'true'
365
+ } else if (this.ToFormItem && this.ToFormItem.required) {
366
+ return 'true'
367
+ } else {
368
+ return 'false'
369
+ }
370
+ },
371
+ validateDesc() {
372
+ if (this.desc) {
373
+ return this.desc
374
+ } else if (this.ToFormItem && this.ToFormItem.label) {
375
+ return this.ToFormItem.label
376
+ } else {
377
+ return ''
378
+ }
379
+ },
380
+ changed() {
381
+ if ((this.comparable || this.ToForm.comparable) && this.valueStore.length > 0 && this.data !== this.valueStore[0]) {
382
+ return true
383
+ } else {
384
+ return false
385
+ }
386
+ }
387
+ },
388
+ watch: {
389
+ propErrorType(val) {
390
+ this.errorType = val
391
+ },
392
+ propErrorTip(val) {
393
+ this.errorTip = val
394
+ },
395
+ readonly(val) {
396
+ this.disabled = val
397
+ },
398
+ type(val) {
399
+ if (val === 'password') {
400
+ this.itype = val;
401
+ } else {
402
+ this.itype = 'text';
403
+ }
404
+ },
405
+ value(val) {
406
+ this.errorTip = ''
407
+ if (val === undefined || val === null) {
408
+ this.data = ''
409
+ } else {
410
+ this.data = val
411
+ }
412
+ },
413
+ data(val) {
414
+ if (this.inited) {
415
+
416
+ // 处理 IOS 下,to-input type=number 可以输入小数点
417
+ if (this.type === 'number' && Number(this.dot) === 0 && String(this.data).indexOf('.') > -1) {
418
+ this.data = this.data.replace('.', '')
419
+ }
420
+ if (this.spChars) {
421
+ const filterData = filter(this.spChars, this.data)
422
+ if (filterData !== false) {
423
+ this.data = filterData
424
+ }
425
+ }
426
+ this.limit()
427
+ this.$emit('input', this.trim ? String(this.data).trim() : this.data)
428
+ this.$emit('change', this.trim ? String(this.data).trim() : this.data);
429
+ }
430
+ }
431
+ },
432
+ created() {
433
+ this.data = this.value;
434
+ this.$nextTick(()=>{
435
+ this.inited = true
436
+ })
437
+ if (this.type === 'password') {
438
+ this.itype = this.type;
439
+ } else {
440
+ this.itype = 'text';
441
+ }
442
+ },
443
+ mounted() {
444
+ if (this.$platform === 'pc') {
445
+ this.$el.addEventListener('mouseover', this.showClear);
446
+ this.$el.addEventListener('mouseout', this.hideClear);
447
+ }
448
+ document.body.addEventListener('click', this.blur);
449
+ },
450
+ deactivated() {
451
+ this.destroy()
452
+ },
453
+ beforeDestroy() {
454
+ this.destroy()
455
+ },
456
+ methods: {
457
+ destroy() {
458
+ if (this.$platform === 'pc') {
459
+ this.$el.removeEventListener('mouseover', this.showClear);
460
+ this.$el.removeEventListener('mouseout', this.hideClear);
461
+ }
462
+ document.body.removeEventListener('click', this.blur);
463
+ },
464
+ addSuggestion(item) {
465
+ if (this.data.split(this.suggestionSymbol).includes(item)) {
466
+ return
467
+ }
468
+ if (this.suggestionType === 'multiple') {
469
+ let value = String(this.data)
470
+ if (value.trim()) {
471
+ this.data += this.suggestionSymbol
472
+ }
473
+ this.data += item
474
+ } else {
475
+ this.data = item
476
+ }
477
+ },
478
+ reduce() {
479
+ if (Number(this.min) < Number(this.data)) {
480
+ this.data = this.$NP.minus(Number(this.data), Number(this.step))
481
+ this.limit();
482
+ }
483
+ },
484
+ increase() {
485
+ if (Number(this.data) < Number(this.max)) {
486
+ this.data = this.$NP.plus(Number(this.data), Number(this.step))
487
+ this.limit();
488
+ }
489
+ },
490
+ inputKeyPress(event) {
491
+ if (this.type === 'number') {
492
+ if ((event.keyCode !== 46 || Number(this.dot) === 0) && (event.keyCode !== 45 || Number(this.min) >= 0) && (event.keyCode < 48 || event.keyCode > 57)) {
493
+ event.returnValue = false;
494
+ }
495
+ }
496
+ },
497
+ inputCut(event) {
498
+ this.$nextTick(() => {
499
+ this.$emit('cut', event);
500
+ });
501
+ },
502
+ inputPaste(event) {
503
+ this.$emit('paste', event);
504
+ },
505
+ inputChange(val) {
506
+ // 处理在 IOS 下,input 拿不到值的情况
507
+ if (this.type === 'text' && this.$platform === 'phone') {
508
+ this.data = this.$refs.input.value
509
+ }
510
+ },
511
+ inputKeyup(event) {
512
+ this.$emit('keyup', event);
513
+ if (![27, 16, 91, 18, 17, 93, 13, 9].includes(event.keyCode)) {
514
+ // 显示/隐藏清除按钮
515
+ if (this.data && this.data.length === 0) {
516
+ this.clearVisible = false;
517
+ } else {
518
+ this.showClear();
519
+ }
520
+ }
521
+ },
522
+ inputKeydown(event) {
523
+ if (this.disabled) {
524
+ // 避免只读输入框在 IE11 下退格会回退路由
525
+ let keycode = event.which || event.keyCode;
526
+ if (keycode === 8 || keycode === 46) {
527
+ event.preventDefault();
528
+ event.stopPropagation();
529
+ return false
530
+ }
531
+ }
532
+ this.$emit('keydown', event);
533
+ },
534
+ inputFocus(e) {
535
+ this.showClear()
536
+ this.errorTip = ''
537
+ this.focused = true
538
+ this.$emit('focus', e)
539
+ },
540
+ inputBlur(e) {
541
+ if (this.type === 'number') {
542
+
543
+ // 只有减号
544
+ if (this.data === '-' || this.data === '.') {
545
+ this.data = '';
546
+ }
547
+
548
+ // 最大值判断
549
+ if (Number(this.data, 0) > Number(this.max)) {
550
+ this.data = Number(this.max) + '';
551
+ }
552
+
553
+ // 最小值判断
554
+ if (Number(this.data, 0) < Number(this.min)) {
555
+ this.data = Number(this.min) + '';
556
+ }
557
+ }
558
+ this.focused = false;
559
+ this.$emit('blur', e)
560
+
561
+ const detail = {
562
+ name: 'ToInput',
563
+ value: this.data,
564
+ desc: this.validateDesc
565
+ }
566
+ this.$TouchUI.commitTouchReport(detail)
567
+ },
568
+ limit() {
569
+ if (this.type === 'number') {
570
+ // 先转换为纯数字字符串
571
+ this.data = (this.data + '').replace(/[^\d|\.|\-]/g, '');
572
+
573
+ // 多重负号去重
574
+ if (this.data.indexOf('-') > -1) {
575
+ if (this.data.indexOf('-') === 0) {
576
+ if (this.data.indexOf('.') === 1) {
577
+ this.data = '-0' + this.data.replace(/[-]/g, '');
578
+ } else {
579
+ this.data = '-' + this.data.replace(/[-]/g, '');
580
+ }
581
+ } else {
582
+ this.data = this.data.replace(/[-]/g, '');
583
+ }
584
+ }
585
+
586
+ // 小数点长度判断
587
+ if (this.data.indexOf('.') > -1) {
588
+ // 小圆点开头的自动补 0
589
+ if (this.data.indexOf('.') === 0) {
590
+ this.data = '0' + this.data;
591
+ }
592
+
593
+ // 分别获取和处理小数点前后的字符
594
+ let pre = this.data.substring(0, this.data.indexOf('.'));
595
+ let suf = this.data.substring(this.data.indexOf('.') + 1);
596
+
597
+ // 去掉小数点之后的所有小圆点并截取所需数量
598
+ suf = suf.replace(/[/.]/g, '').substring(0, Number(this.dot));
599
+
600
+ // 拼接字符串
601
+ this.data = `${pre}.${suf}`;
602
+ }
603
+ }
604
+ },
605
+ showClear() {
606
+ if (this.clearable && this.data && this.data.length > 0) {
607
+ this.clearVisible = true;
608
+ }
609
+ },
610
+ hideClear() {
611
+ if (!this.focused) {
612
+ this.clearVisible = false;
613
+ }
614
+ },
615
+ clear() {
616
+ this.data = '';
617
+ if (this.focusWhenClear) {
618
+ this.$refs.input.focus();
619
+ }
620
+ this.clearVisible = false;
621
+ this.$emit('clear');
622
+ },
623
+ focus() {
624
+ this.$refs.input.focus()
625
+ },
626
+ blur(e) {
627
+ var node = e.target;
628
+ while (node && node !== this.$el && node.nodeName !== 'BODY') {
629
+ node = node.parentNode;
630
+ }
631
+ if (node && node.nodeName === 'BODY' && this.clearable) {
632
+ this.clearVisible = false;
633
+ }
634
+ if (this.trim && this.data && typeof this.data === 'string') {
635
+ this.data = String(this.data).trim()
636
+ }
637
+ },
638
+
639
+ // 记录历史值,以便对比或者取值
640
+ compare() {
641
+ this.valueStore.unshift(this.data)
642
+ },
643
+ setDisabled(f) {
644
+ this.disabled = f
645
+ },
646
+ // 撤销
647
+ restore() {
648
+ this.data = this.valueStore[0]
649
+ this.valueStore.splice(0, 1)
650
+ }
651
+ }
652
+ };
653
+ </script>