cnhis-design-vue 2.1.56 → 2.1.58

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 (574) hide show
  1. package/.prettierrc.js +27 -27
  2. package/CHANGELOG.md +2653 -2551
  3. package/README.md +90 -90
  4. package/commitlint.config.js +1 -1
  5. package/es/affix/index.js +8 -8
  6. package/es/age/index.js +18 -18
  7. package/es/alert/index.js +8 -8
  8. package/es/anchor/index.js +8 -8
  9. package/es/auto-complete/index.js +8 -8
  10. package/es/avatar/index.js +8 -8
  11. package/es/back-top/index.js +8 -8
  12. package/es/badge/index.js +8 -8
  13. package/es/base/index.js +8 -8
  14. package/es/big-table/index.js +308 -308
  15. package/es/breadcrumb/index.js +8 -8
  16. package/es/button/index.js +31 -31
  17. package/es/calendar/index.js +8 -8
  18. package/es/captcha/index.js +7 -7
  19. package/es/card/index.js +8 -8
  20. package/es/carousel/index.js +8 -8
  21. package/es/cascader/index.js +8 -8
  22. package/es/checkbox/index.js +17 -17
  23. package/es/col/index.js +8 -8
  24. package/es/collapse/index.js +8 -8
  25. package/es/color-picker/index.js +5 -5
  26. package/es/comment/index.js +8 -8
  27. package/es/config-provider/index.js +8 -8
  28. package/es/date-picker/index.js +30 -30
  29. package/es/descriptions/index.js +8 -8
  30. package/es/divider/index.js +8 -8
  31. package/es/drag-layout/index.js +5 -5
  32. package/es/drawer/index.js +8 -8
  33. package/es/dropdown/index.js +8 -8
  34. package/es/editor/index.js +1 -1
  35. package/es/ellipsis/index.js +3211 -0
  36. package/es/ellipsis/style.css +1 -0
  37. package/es/empty/index.js +8 -8
  38. package/es/fabric-chart/index.js +45 -45
  39. package/es/form/index.js +8 -8
  40. package/es/form-model/index.js +8 -8
  41. package/es/form-table/index.js +1623 -422
  42. package/es/form-table/style.css +1 -1
  43. package/es/grid/index.js +4 -4
  44. package/es/index/index.js +2599 -1411
  45. package/es/index/style.css +1 -1
  46. package/es/input/index.js +11 -11
  47. package/es/input-number/index.js +8 -8
  48. package/es/keep-cache/index.js +9 -9
  49. package/es/layout/index.js +8 -8
  50. package/es/list/index.js +8 -8
  51. package/es/locale-provider/index.js +8 -8
  52. package/es/map/index.js +13 -13
  53. package/es/mentions/index.js +8 -8
  54. package/es/menu/index.js +8 -8
  55. package/es/message/index.js +8 -8
  56. package/es/multi-chat/index.js +116 -116
  57. package/es/multi-chat-client/index.js +110 -110
  58. package/es/multi-chat-history/index.js +6 -6
  59. package/es/multi-chat-record/index.js +27 -27
  60. package/es/multi-chat-setting/index.js +43 -43
  61. package/es/multi-chat-sip/index.js +1 -1
  62. package/es/notification/index.js +8 -8
  63. package/es/page-header/index.js +8 -8
  64. package/es/pagination/index.js +8 -8
  65. package/es/popconfirm/index.js +8 -8
  66. package/es/popover/index.js +8 -8
  67. package/es/progress/index.js +8 -8
  68. package/es/radio/index.js +17 -17
  69. package/es/rate/index.js +8 -8
  70. package/es/result/index.js +8 -8
  71. package/es/row/index.js +8 -8
  72. package/es/scale-container/index.js +3361 -0
  73. package/es/scale-container/style.css +1 -0
  74. package/es/scale-view/index.js +158 -158
  75. package/es/select/index.js +83 -70
  76. package/es/select/style.css +1 -1
  77. package/es/select-label/index.js +50 -50
  78. package/es/select-person/index.js +20 -20
  79. package/es/shortcut-setter/index.js +10 -10
  80. package/es/skeleton/index.js +8 -8
  81. package/es/slider/index.js +8 -8
  82. package/es/space/index.js +8 -8
  83. package/es/spin/index.js +8 -8
  84. package/es/statistic/index.js +8 -8
  85. package/es/steps/index.js +8 -8
  86. package/es/switch/index.js +8 -8
  87. package/es/table-filter/index.js +251 -238
  88. package/es/table-filter/style.css +1 -1
  89. package/es/tabs/index.js +8 -8
  90. package/es/tag/index.js +9 -9
  91. package/es/time-picker/index.js +8 -8
  92. package/es/timeline/index.js +8 -8
  93. package/es/tooltip/index.js +8 -8
  94. package/es/transfer/index.js +8 -8
  95. package/es/tree/index.js +8 -8
  96. package/es/tree-select/index.js +8 -8
  97. package/es/upload/index.js +8 -8
  98. package/es/utils/clickoutside.js +7 -7
  99. package/es/utils/kty.min-1.0.0.js +5 -5
  100. package/es/utils/time-domain.js +16 -16
  101. package/es/utils/utils-map.js +32 -32
  102. package/es/utils/vexutils.js +27 -27
  103. package/es/verification-code/index.js +2 -2
  104. package/lib/cui.common.js +5011 -1618
  105. package/lib/cui.umd.js +5011 -1618
  106. package/lib/cui.umd.min.js +63 -57
  107. package/package.json +110 -108
  108. package/packages/affix/index.js +12 -12
  109. package/packages/affix/src/Affix.jsx +12 -12
  110. package/packages/age/index.js +27 -27
  111. package/packages/age/src/age/index.vue +139 -139
  112. package/packages/age/src/age-com/index.vue +209 -209
  113. package/packages/alert/index.js +12 -12
  114. package/packages/alert/src/Alert.jsx +11 -11
  115. package/packages/anchor/index.js +18 -18
  116. package/packages/anchor/src/Anchor.jsx +11 -11
  117. package/packages/anchor/src/Link.jsx +11 -11
  118. package/packages/auto-complete/index.js +12 -12
  119. package/packages/auto-complete/src/AutoComplete.jsx +12 -12
  120. package/packages/avatar/index.js +12 -12
  121. package/packages/avatar/src/Avatar.jsx +11 -11
  122. package/packages/back-top/index.js +12 -12
  123. package/packages/back-top/src/BackTop.jsx +11 -11
  124. package/packages/badge/index.js +12 -12
  125. package/packages/badge/src/Badge.jsx +11 -11
  126. package/packages/base/index.js +3 -3
  127. package/packages/big-table/index.js +16 -16
  128. package/packages/big-table/src/BigTable.vue +3144 -3144
  129. package/packages/big-table/src/Fieldset.vue +2067 -2067
  130. package/packages/big-table/src/assets/iconfont/iconfont.css +21 -21
  131. package/packages/big-table/src/assets/style/table-base.less +385 -385
  132. package/packages/big-table/src/assets/style/table-global.less +175 -175
  133. package/packages/big-table/src/components/AutoLayoutButton.vue +279 -279
  134. package/packages/big-table/src/components/NoData.vue +81 -81
  135. package/packages/big-table/src/components/TextOverTooltip.vue +120 -120
  136. package/packages/big-table/src/components/edit-form/EditForm.vue +509 -509
  137. package/packages/big-table/src/components/edit-form/edit-component/config-data/index.js +68 -68
  138. package/packages/big-table/src/components/edit-form/edit-component/edit-date-picker/edit-date-picker.vue +60 -60
  139. package/packages/big-table/src/components/edit-form/edit-component/edit-digital/edit-digital.vue +54 -54
  140. package/packages/big-table/src/components/edit-form/edit-component/edit-input/edit-input.vue +39 -39
  141. package/packages/big-table/src/components/edit-form/edit-component/edit-input-password/edit-input-password.vue +79 -79
  142. package/packages/big-table/src/components/edit-form/edit-component/edit-month-picker/edit-month-picker.vue +37 -37
  143. package/packages/big-table/src/components/edit-form/edit-component/edit-search/edit-search.vue +82 -82
  144. package/packages/big-table/src/components/edit-form/edit-component/edit-search-more/edit-search-more.vue +95 -95
  145. package/packages/big-table/src/components/edit-form/edit-component/edit-select/edit-select.vue +40 -40
  146. package/packages/big-table/src/components/edit-form/edit-component/edit-select-multiple/edit-select-multiple.vue +55 -55
  147. package/packages/big-table/src/components/edit-form/edit-component/edit-switch/edit-switch.vue +43 -43
  148. package/packages/big-table/src/components/edit-form/edit-component/edit-textarea/edit-textarea.vue +41 -41
  149. package/packages/big-table/src/components/edit-form/edit-component/edit-time-picker/edit-time-picker.vue +40 -40
  150. package/packages/big-table/src/components/edit-form/edit-component/mixins/bound-date.js +3 -3
  151. package/packages/big-table/src/components/edit-form/edit-component/mixins/dateType.js +217 -217
  152. package/packages/big-table/src/components/edit-form/edit-component/mixins/item-default.js +639 -639
  153. package/packages/big-table/src/components/edit-form/edit-component/mixins/search.js +1247 -1247
  154. package/packages/big-table/src/components/edit-form/edit-component/register-com.js +26 -26
  155. package/packages/big-table/src/components/edit-form/edit-item/form-event.js +80 -80
  156. package/packages/big-table/src/components/edit-form/edit-item/global-props.js +33 -33
  157. package/packages/big-table/src/components/edit-form/edit-item/index.js +4 -4
  158. package/packages/big-table/src/components/edit-form/edit-item/render-methods.js +28 -28
  159. package/packages/big-table/src/components/edit-form/edit-item/validate-rules.js +463 -463
  160. package/packages/big-table/src/components/edit-form/edit-mixins/form-commom.js +673 -673
  161. package/packages/big-table/src/components/edit-form/edit-mixins/index.js +3 -3
  162. package/packages/big-table/src/components/edit-form/edit-utils/index.js +112 -112
  163. package/packages/big-table/src/components/password-com.vue +58 -58
  164. package/packages/big-table/src/components/player-vod/index.vue +57 -57
  165. package/packages/big-table/src/components/player-vod/player.vue +189 -189
  166. package/packages/big-table/src/components/player-vod/video-list.vue +265 -265
  167. package/packages/big-table/src/components/player-vod/video-modal.vue +126 -126
  168. package/packages/big-table/src/utils/CustomPagination.vue +86 -86
  169. package/packages/big-table/src/utils/batchEditing.js +610 -610
  170. package/packages/big-table/src/utils/bigTableProps.js +103 -103
  171. package/packages/big-table/src/utils/format.js +557 -557
  172. package/packages/big-table/src/utils/nestTable.js +109 -109
  173. package/packages/big-table/src/utils/tableParse.js +234 -234
  174. package/packages/breadcrumb/index.js +21 -21
  175. package/packages/breadcrumb/src/Breadcrumb.jsx +11 -11
  176. package/packages/breadcrumb/src/BreadcrumbItem.jsx +11 -11
  177. package/packages/breadcrumb/src/BreadcrumbSeparator.jsx +11 -11
  178. package/packages/button/index.js +21 -21
  179. package/packages/button/src/Button.jsx +11 -11
  180. package/packages/button/src/ButtonGroup.jsx +11 -11
  181. package/packages/button/src/ButtonPrint/components/IdentityVerification.vue +181 -181
  182. package/packages/button/src/ButtonPrint/index.vue +766 -766
  183. package/packages/button/src/ButtonPrint/mixin/his-print.js +95 -95
  184. package/packages/calendar/index.js +12 -12
  185. package/packages/calendar/src/Calendar.jsx +11 -11
  186. package/packages/captcha/index.js +9 -9
  187. package/packages/captcha/src/Captcha.vue +164 -164
  188. package/packages/captcha/src/Index.vue +47 -47
  189. package/packages/captcha/src/SlideVerify.vue +285 -285
  190. package/packages/card/index.js +21 -21
  191. package/packages/card/src/Card.jsx +12 -12
  192. package/packages/card/src/CardGrid.js +7 -7
  193. package/packages/card/src/CardMeta.js +7 -7
  194. package/packages/carousel/index.js +12 -12
  195. package/packages/carousel/src/Carousel.jsx +12 -12
  196. package/packages/cascader/index.js +12 -12
  197. package/packages/cascader/src/Cascader.jsx +11 -11
  198. package/packages/checkbox/index.js +30 -30
  199. package/packages/checkbox/src/Checkbox.jsx +11 -11
  200. package/packages/checkbox/src/CheckboxImg/index.vue +141 -141
  201. package/packages/checkbox/src/Group.jsx +11 -11
  202. package/packages/col/index.js +13 -13
  203. package/packages/col/src/Col.jsx +11 -11
  204. package/packages/collapse/index.js +18 -18
  205. package/packages/collapse/src/Collapse.jsx +11 -11
  206. package/packages/collapse/src/Panel.jsx +11 -11
  207. package/packages/color-picker/index.js +10 -10
  208. package/packages/color-picker/src/color-picker.vue +191 -191
  209. package/packages/color-picker/src/style.less +109 -109
  210. package/packages/comment/index.js +12 -12
  211. package/packages/comment/src/Comment.jsx +11 -11
  212. package/packages/config-provider/index.js +12 -12
  213. package/packages/config-provider/src/ConfigProvider.jsx +11 -11
  214. package/packages/date-picker/index.js +26 -26
  215. package/packages/date-picker/src/DatePicker.jsx +12 -12
  216. package/packages/date-picker/src/MonthPicker.jsx +11 -11
  217. package/packages/date-picker/src/RangePicker.jsx +11 -11
  218. package/packages/date-picker/src/WeekPicker.jsx +11 -11
  219. package/packages/date-picker/src/utils/index.js +374 -374
  220. package/packages/descriptions/index.js +18 -18
  221. package/packages/descriptions/src/Descriptions.jsx +11 -11
  222. package/packages/descriptions/src/Item.jsx +11 -11
  223. package/packages/divider/index.js +12 -12
  224. package/packages/divider/src/Divider.jsx +11 -11
  225. package/packages/drag-layout/DragFormLeftItem.vue +173 -173
  226. package/packages/drag-layout/DragFormRightItem.vue +284 -284
  227. package/packages/drag-layout/I18n-mixins.js +10 -10
  228. package/packages/drag-layout/drag-layout.vue +778 -778
  229. package/packages/drag-layout/index.js +12 -12
  230. package/packages/drawer/index.js +12 -12
  231. package/packages/drawer/src/Drawer.jsx +11 -11
  232. package/packages/dropdown/index.js +12 -12
  233. package/packages/dropdown/src/Dropdown.jsx +11 -11
  234. package/packages/editor/index.js +9 -9
  235. package/packages/ellipsis/index.js +9 -0
  236. package/packages/ellipsis/src/Ellipsis.vue +65 -0
  237. package/packages/empty/index.js +12 -12
  238. package/packages/empty/src/Empty.jsx +11 -11
  239. package/packages/fabric-chart/index.js +9 -9
  240. package/packages/fabric-chart/src/FabricGrid.vue +66 -66
  241. package/packages/fabric-chart/src/components/DropPopup.vue +90 -90
  242. package/packages/fabric-chart/src/components/MouseRightClick.vue +168 -168
  243. package/packages/fabric-chart/src/components/TimeScaleValue.vue +115 -115
  244. package/packages/fabric-chart/src/const/defaultVaule.js +59 -59
  245. package/packages/fabric-chart/src/fabric-chart/FabricLines.vue +552 -552
  246. package/packages/fabric-chart/src/fabric-chart/FabricPolylines.vue +1126 -1126
  247. package/packages/fabric-chart/src/fabric-chart/FabricScaleValue.vue +134 -134
  248. package/packages/fabric-chart/src/fabric-chart/FabricTextGroup.vue +566 -566
  249. package/packages/fabric-chart/src/mixins/fabricCommon.js +95 -95
  250. package/packages/fabric-chart/src/mixins/fabricObject.js +193 -193
  251. package/packages/fabric-chart/src/mixins/type.js +5 -5
  252. package/packages/form/index.js +16 -16
  253. package/packages/form/src/Form.jsx +11 -11
  254. package/packages/form/src/Item.jsx +11 -11
  255. package/packages/form-model/index.js +14 -14
  256. package/packages/form-model/src/FormModel.jsx +11 -11
  257. package/packages/form-model/src/Item.jsx +11 -11
  258. package/packages/form-table/index.js +16 -10
  259. package/packages/form-table/src/FormTable.vue +1110 -1110
  260. package/packages/form-table/src/components/table-component/config-data/index.js +80 -80
  261. package/packages/form-table/src/components/table-component/global-props.js +22 -22
  262. package/packages/form-table/src/components/table-component/index.js +8 -8
  263. package/packages/form-table/src/components/table-component/mixins/bound-date.js +455 -455
  264. package/packages/form-table/src/components/table-component/mixins/dateType.js +217 -217
  265. package/packages/form-table/src/components/table-component/mixins/item-default.js +257 -257
  266. package/packages/form-table/src/components/table-component/mixins/search.js +1242 -1228
  267. package/packages/form-table/src/components/table-component/register-com.js +30 -30
  268. package/packages/form-table/src/components/table-component/table-age/table-age.vue +175 -175
  269. package/packages/form-table/src/components/table-component/table-date-picker/table-date-picker.vue +87 -87
  270. package/packages/form-table/src/components/table-component/table-digital/table-digital.vue +93 -93
  271. package/packages/form-table/src/components/table-component/table-input/table-input.vue +81 -81
  272. package/packages/form-table/src/components/table-component/table-input-password/table-input-password.vue +126 -126
  273. package/packages/form-table/src/components/table-component/table-month-picker/table-month-picker.vue +55 -55
  274. package/packages/form-table/src/components/table-component/table-search/table-search.vue +174 -128
  275. package/packages/form-table/src/components/table-component/table-search-more/table-search-more.vue +191 -144
  276. package/packages/form-table/src/components/table-component/table-select/table-select.vue +64 -64
  277. package/packages/form-table/src/components/table-component/table-select-multiple/table-select-multiple.vue +81 -81
  278. package/packages/form-table/src/components/table-component/table-textarea/table-textarea.vue +76 -76
  279. package/packages/form-table/src/components/table-component/table-time-picker/table-time-picker.vue +55 -55
  280. package/packages/form-table/src/components/table-component/table-tree-select/table-tree-select.vue +135 -135
  281. package/packages/form-table/src/components/table-component/text-over-tooltip/TextOverTooltip.vue +97 -97
  282. package/packages/form-table/src/components/table-item/form-event.js +81 -81
  283. package/packages/form-table/src/components/table-item/global-props.js +27 -27
  284. package/packages/form-table/src/components/table-item/index.js +4 -4
  285. package/packages/form-table/src/components/table-item/render-methods.js +28 -28
  286. package/packages/form-table/src/components/table-item/validate-rules.js +520 -520
  287. package/packages/form-table/src/components/table-mixins/form-commom.js +98 -98
  288. package/packages/form-table/src/components/table-mixins/index.js +3 -3
  289. package/packages/form-table/src/components/table-utils/index.js +112 -112
  290. package/packages/form-table/src/disabledDetail.less +46 -46
  291. package/packages/grid/index.js +10 -10
  292. package/packages/grid/src/grid.js +28 -28
  293. package/packages/icon/index.js +10 -10
  294. package/packages/icon/src/icon.js +13 -13
  295. package/packages/index.js +313 -307
  296. package/packages/input/index.js +30 -30
  297. package/packages/input/src/Group.jsx +11 -11
  298. package/packages/input/src/Input.jsx +11 -11
  299. package/packages/input/src/Password.jsx +11 -11
  300. package/packages/input/src/Search.jsx +11 -11
  301. package/packages/input/src/TextArea.jsx +11 -11
  302. package/packages/input/src/input-quick/components/quick-item.vue +284 -284
  303. package/packages/input/src/input-quick/components/quick-popover.vue +596 -596
  304. package/packages/input/src/input-quick/index.vue +137 -137
  305. package/packages/input-number/index.js +12 -12
  306. package/packages/input-number/src/InputNumber.jsx +11 -11
  307. package/packages/keep-cache/KeepCache.js +236 -236
  308. package/packages/keep-cache/index.css +2 -2
  309. package/packages/keep-cache/index.js +8 -8
  310. package/packages/layout/index.js +27 -27
  311. package/packages/layout/src/Content.jsx +11 -11
  312. package/packages/layout/src/Footer.jsx +11 -11
  313. package/packages/layout/src/Header.jsx +11 -11
  314. package/packages/layout/src/Layout.jsx +11 -11
  315. package/packages/layout/src/Sider.jsx +11 -11
  316. package/packages/list/index.js +21 -21
  317. package/packages/list/src/Item.jsx +11 -11
  318. package/packages/list/src/ItemMeta.jsx +11 -11
  319. package/packages/list/src/List.jsx +11 -11
  320. package/packages/locale-provider/index.js +12 -12
  321. package/packages/locale-provider/src/LocaleProvider.jsx +11 -11
  322. package/packages/map/index.js +9 -9
  323. package/packages/map/src/Map.vue +484 -484
  324. package/packages/map/src/popup-map.vue +53 -53
  325. package/packages/mentions/index.js +18 -18
  326. package/packages/mentions/src/Mentions.jsx +11 -11
  327. package/packages/mentions/src/Option.jsx +11 -11
  328. package/packages/menu/index.js +27 -27
  329. package/packages/menu/src/Divider.jsx +11 -11
  330. package/packages/menu/src/Item.jsx +11 -11
  331. package/packages/menu/src/ItemGroup.jsx +11 -11
  332. package/packages/menu/src/Menu.jsx +11 -11
  333. package/packages/menu/src/SubMenu.jsx +11 -11
  334. package/packages/message/index.js +8 -8
  335. package/packages/modal/index.js +10 -10
  336. package/packages/modal/src/Modal.js +7 -7
  337. package/packages/multi-chat/chat/addConference.vue +200 -200
  338. package/packages/multi-chat/chat/addMembers.vue +411 -411
  339. package/packages/multi-chat/chat/advancedFilter.vue +372 -372
  340. package/packages/multi-chat/chat/calling.vue +246 -246
  341. package/packages/multi-chat/chat/chatFooter.vue +1596 -1596
  342. package/packages/multi-chat/chat/chatHistory.vue +605 -605
  343. package/packages/multi-chat/chat/chatMain.vue +1486 -1486
  344. package/packages/multi-chat/chat/client/index.vue +149 -149
  345. package/packages/multi-chat/chat/delay.vue +177 -177
  346. package/packages/multi-chat/chat/evaluate.vue +343 -343
  347. package/packages/multi-chat/chat/messageRecord.vue +324 -324
  348. package/packages/multi-chat/chat/mixins/NoData.js +20 -20
  349. package/packages/multi-chat/chat/mixins/base.js +97 -97
  350. package/packages/multi-chat/chat/mixins/uniRTCAPI.js +80 -80
  351. package/packages/multi-chat/chat/mixins/viewerOptions.js +67 -67
  352. package/packages/multi-chat/chat/quickReply.vue +439 -439
  353. package/packages/multi-chat/chat/robot/index.vue +312 -312
  354. package/packages/multi-chat/chat/scrollList.vue +1238 -1238
  355. package/packages/multi-chat/chat/videoVoiceList.vue +348 -348
  356. package/packages/multi-chat/chat/voice.vue +431 -431
  357. package/packages/multi-chat/components/avatar.vue +113 -113
  358. package/packages/multi-chat/components/chat-tabs-header.vue +251 -251
  359. package/packages/multi-chat/components/classify-tabs.vue +185 -185
  360. package/packages/multi-chat/components/empty.vue +24 -24
  361. package/packages/multi-chat/components/modal-refuse-reason.vue +112 -112
  362. package/packages/multi-chat/components/modal-sip.vue +160 -160
  363. package/packages/multi-chat/components/modal-user-transfer.vue +98 -98
  364. package/packages/multi-chat/components/msg-describe.vue +138 -138
  365. package/packages/multi-chat/components/msg-picture.vue +68 -68
  366. package/packages/multi-chat/components/msg-prescription.vue +205 -205
  367. package/packages/multi-chat/components/read-record.vue +133 -133
  368. package/packages/multi-chat/components/read-status.vue +34 -34
  369. package/packages/multi-chat/components/user-status.vue +198 -198
  370. package/packages/multi-chat/index.js +7 -7
  371. package/packages/multi-chat/setting/authority/index.vue +156 -156
  372. package/packages/multi-chat/setting/authority/roleSetting.vue +204 -204
  373. package/packages/multi-chat/setting/baseInfo/index.vue +1316 -1316
  374. package/packages/multi-chat/setting/customerService/batchSelect.vue +403 -403
  375. package/packages/multi-chat/setting/customerService/index.vue +273 -273
  376. package/packages/multi-chat/setting/event/edit/condition.vue +128 -128
  377. package/packages/multi-chat/setting/event/edit/index.vue +437 -437
  378. package/packages/multi-chat/setting/event/edit/notice.vue +129 -129
  379. package/packages/multi-chat/setting/event/edit/strategy.vue +98 -98
  380. package/packages/multi-chat/setting/event/index.vue +249 -249
  381. package/packages/multi-chat/setting/index.vue +269 -269
  382. package/packages/multi-chat/setting/page.vue +14 -14
  383. package/packages/multi-chat/setting/sessionList/index.vue +412 -412
  384. package/packages/multi-chat/setting/sessionList/messageRecord.vue +372 -372
  385. package/packages/multi-chat/setting/userConfig/index.vue +124 -124
  386. package/packages/multi-chat/setting/worktime/index.vue +274 -274
  387. package/packages/multi-chat/store/actions.js +452 -452
  388. package/packages/multi-chat/store/getters.js +371 -371
  389. package/packages/multi-chat/store/helper.js +66 -66
  390. package/packages/multi-chat/store/index.js +50 -50
  391. package/packages/multi-chat/store/mutation.js +296 -296
  392. package/packages/multi-chat/store/state.js +117 -117
  393. package/packages/multi-chat/style/emoji.css +315 -315
  394. package/packages/multi-chat/style/message.mixin.less +38 -38
  395. package/packages/multi-chat/utils/chatSock.js +93 -93
  396. package/packages/multi-chat/utils/compressImage.js +115 -115
  397. package/packages/multi-chat/utils/emoji.json +68 -68
  398. package/packages/multi-chat/utils/index.js +259 -259
  399. package/packages/multi-chat/utils/observer-scroll.js +49 -49
  400. package/packages/multi-chat/utils/panelsetting.js +48 -48
  401. package/packages/multi-chat-client/index.js +7 -7
  402. package/packages/multi-chat-history/index.js +7 -7
  403. package/packages/multi-chat-record/index.js +7 -7
  404. package/packages/multi-chat-setting/index.js +7 -7
  405. package/packages/multi-chat-sip/index.js +6 -6
  406. package/packages/notification/index.js +8 -8
  407. package/packages/page-header/index.js +12 -12
  408. package/packages/page-header/src/PageHeader.jsx +11 -11
  409. package/packages/pagination/index.js +12 -12
  410. package/packages/pagination/src/Pagination.jsx +11 -11
  411. package/packages/popconfirm/index.js +12 -12
  412. package/packages/popconfirm/src/Popconfirm.jsx +11 -11
  413. package/packages/popover/index.js +12 -12
  414. package/packages/popover/src/Popover.jsx +11 -11
  415. package/packages/progress/index.js +12 -12
  416. package/packages/progress/src/Progress.jsx +11 -11
  417. package/packages/radio/index.js +33 -33
  418. package/packages/radio/src/Group.jsx +11 -11
  419. package/packages/radio/src/Radio.jsx +11 -11
  420. package/packages/radio/src/RadioButton.jsx +11 -11
  421. package/packages/radio/src/RadioImg/index.vue +124 -124
  422. package/packages/rate/index.js +12 -12
  423. package/packages/rate/src/Rate.jsx +11 -11
  424. package/packages/result/index.js +12 -12
  425. package/packages/result/src/Result.jsx +11 -11
  426. package/packages/row/index.js +12 -12
  427. package/packages/row/src/Row.jsx +11 -11
  428. package/packages/scale-container/index.js +9 -0
  429. package/packages/scale-container/src/ScaleContainer.vue +197 -0
  430. package/packages/scale-container/src/scale.png +0 -0
  431. package/packages/scale-view/NoData.vue +81 -81
  432. package/packages/scale-view/answerParse.vue +133 -133
  433. package/packages/scale-view/customList.vue +801 -801
  434. package/packages/scale-view/data.js +80 -80
  435. package/packages/scale-view/evaluateCountdown.vue +155 -155
  436. package/packages/scale-view/evaluatePage.vue +202 -202
  437. package/packages/scale-view/formitem/data.js +3991 -3991
  438. package/packages/scale-view/formitem/index.js +6 -6
  439. package/packages/scale-view/formitem/r-address.vue +238 -238
  440. package/packages/scale-view/formitem/r-choice.vue +726 -726
  441. package/packages/scale-view/formitem/r-input.vue +92 -92
  442. package/packages/scale-view/formitem/r-prompt.vue +52 -52
  443. package/packages/scale-view/formitem/r-time.vue +285 -285
  444. package/packages/scale-view/formitem/r-upload-custom-list.vue +242 -242
  445. package/packages/scale-view/formitem/r-upload.vue +287 -287
  446. package/packages/scale-view/formitem/text-over-tooltip/TextOverTooltip.vue +98 -98
  447. package/packages/scale-view/index.js +17 -17
  448. package/packages/scale-view/mixin/NoData.js +38 -38
  449. package/packages/scale-view/mixin/evaluate.js +146 -146
  450. package/packages/scale-view/mixin/index.js +337 -337
  451. package/packages/scale-view/mixin/judgeTypes.js +267 -267
  452. package/packages/scale-view/scaleView.vue +2010 -2010
  453. package/packages/select/index.js +27 -27
  454. package/packages/select/src/CustomSelect/index.vue +130 -130
  455. package/packages/select/src/OptGroup.jsx +11 -11
  456. package/packages/select/src/Option.jsx +11 -11
  457. package/packages/select/src/Select/Select.vue +231 -231
  458. package/packages/select/src/Select/index.js +12 -12
  459. package/packages/select/src/TableSelect/index.vue +514 -514
  460. package/packages/select-label/index.js +14 -14
  461. package/packages/select-label/label-classify.vue +129 -129
  462. package/packages/select-label/labelFormContent.vue +787 -787
  463. package/packages/select-label/select-label.vue +581 -581
  464. package/packages/select-person/index.js +10 -10
  465. package/packages/select-person/search-tree.vue +373 -373
  466. package/packages/select-person/select-person.vue +1696 -1696
  467. package/packages/shortcut-setter/index.js +12 -12
  468. package/packages/shortcut-setter/src/ShortcutSetter.vue +55 -55
  469. package/packages/shortcut-setter/src/ShortcutSetterItem.vue +84 -84
  470. package/packages/shortcut-setter/src/utils/index.js +63 -63
  471. package/packages/skeleton/index.js +12 -12
  472. package/packages/skeleton/src/Skeleton.jsx +11 -11
  473. package/packages/slider/index.js +12 -12
  474. package/packages/slider/src/Slider.jsx +11 -11
  475. package/packages/space/index.js +12 -12
  476. package/packages/space/src/Space.jsx +11 -11
  477. package/packages/spin/index.js +12 -12
  478. package/packages/spin/src/Spin.jsx +11 -11
  479. package/packages/statistic/index.js +18 -18
  480. package/packages/statistic/src/Countdown.jsx +11 -11
  481. package/packages/statistic/src/Statistic.jsx +11 -11
  482. package/packages/steps/index.js +18 -18
  483. package/packages/steps/src/Step.jsx +11 -11
  484. package/packages/steps/src/Steps.jsx +11 -11
  485. package/packages/switch/index.js +12 -12
  486. package/packages/switch/src/Switch.jsx +11 -11
  487. package/packages/table-filter/index.js +27 -27
  488. package/packages/table-filter/src/base-search-com/BaseSearch.vue +2572 -2572
  489. package/packages/table-filter/src/classification/Classification-com.vue +1756 -1756
  490. package/packages/table-filter/src/classification/search-class-name.vue +266 -266
  491. package/packages/table-filter/src/classification/search-professional-model.vue +680 -680
  492. package/packages/table-filter/src/components/TextOverTooltip.vue +107 -107
  493. package/packages/table-filter/src/components/age-com/index.vue +205 -205
  494. package/packages/table-filter/src/components/button-group/ButtonGroup.vue +162 -162
  495. package/packages/table-filter/src/components/button-icon/button-icon.js +33 -33
  496. package/packages/table-filter/src/components/button-icon/getBtnIcon.js +34 -34
  497. package/packages/table-filter/src/components/c-tree-select/tree-select.vue +336 -336
  498. package/packages/table-filter/src/components/drop-button/drop-button.vue +224 -224
  499. package/packages/table-filter/src/components/drop-button/head-btn-icon.js +33 -33
  500. package/packages/table-filter/src/components/drop-view/drop-view.vue +89 -89
  501. package/packages/table-filter/src/components/multi-select/multi-select.vue +227 -227
  502. package/packages/table-filter/src/components/out-quick-search/out-quick-search.vue +340 -340
  503. package/packages/table-filter/src/components/range-age/index.vue +172 -172
  504. package/packages/table-filter/src/components/search-condition/SearchCondition.vue +1897 -1897
  505. package/packages/table-filter/src/components/search-condition/fieldTypeList.js +169 -169
  506. package/packages/table-filter/src/components/search-filter/SearchFilter.vue +278 -278
  507. package/packages/table-filter/src/components/search-modal/set-classification.vue +310 -310
  508. package/packages/table-filter/src/components/table-modal/TableModal.vue +463 -463
  509. package/packages/table-filter/src/const/dataOptions.js +43 -43
  510. package/packages/table-filter/src/const/index.js +1 -1
  511. package/packages/table-filter/src/index.vue +584 -584
  512. package/packages/table-filter/src/mixins/mixins.js +694 -694
  513. package/packages/table-filter/src/mixins/tableSearchCon.js +128 -128
  514. package/packages/table-filter/src/mixins/wordBookutils.js +102 -102
  515. package/packages/table-filter/src/quick-search/QuickSearch.vue +2125 -2125
  516. package/packages/tabs/index.js +18 -18
  517. package/packages/tabs/src/TabPane.jsx +11 -11
  518. package/packages/tabs/src/Tabs.jsx +11 -11
  519. package/packages/tag/index.js +21 -21
  520. package/packages/tag/src/CheckableTag.jsx +11 -11
  521. package/packages/tag/src/Tag.jsx +11 -11
  522. package/packages/tag/src/TagGroup.vue +621 -621
  523. package/packages/time-picker/index.js +12 -12
  524. package/packages/time-picker/src/TimePicker.jsx +11 -11
  525. package/packages/timeline/index.js +14 -14
  526. package/packages/timeline/src/Item.jsx +11 -11
  527. package/packages/timeline/src/Timeline.jsx +11 -11
  528. package/packages/tooltip/index.js +12 -12
  529. package/packages/tooltip/src/Tooltip.jsx +11 -11
  530. package/packages/transfer/index.js +12 -12
  531. package/packages/transfer/src/Transfer.jsx +11 -11
  532. package/packages/tree/index.js +18 -18
  533. package/packages/tree/src/Tree.jsx +11 -11
  534. package/packages/tree/src/TreeNode.jsx +11 -11
  535. package/packages/tree-select/index.js +18 -18
  536. package/packages/tree-select/src/TreeNode.jsx +11 -11
  537. package/packages/tree-select/src/TreeSelect.jsx +11 -11
  538. package/packages/upload/chunk-upload/chunk-upload-new.vue +1001 -1001
  539. package/packages/upload/chunk-upload/vod-chunk-upload.vue +749 -749
  540. package/packages/upload/chunk-upload/vod-upload-modal.vue +100 -100
  541. package/packages/upload/index.js +12 -12
  542. package/packages/upload/src/Upload.jsx +11 -11
  543. package/packages/verification-code/SlideVerify.vue +306 -306
  544. package/packages/verification-code/index.js +17 -17
  545. package/packages/verification-code/verification-code.vue +147 -147
  546. package/src/assets/img/nodata.png +0 -0
  547. package/src/component/player-vod/index.vue +57 -57
  548. package/src/component/player-vod/player.vue +188 -188
  549. package/src/component/player-vod/video-list.vue +262 -262
  550. package/src/component/player-vod/video-modal.vue +128 -128
  551. package/src/component/select-options/index.vue +430 -0
  552. package/src/component/select-pages/index.vue +95 -74
  553. package/src/component/svg/index.vue +59 -59
  554. package/src/core/create.js +6 -6
  555. package/src/core/event.js +23 -23
  556. package/src/core/table-methods.js +444 -444
  557. package/src/directive/flexibleResize.js +151 -151
  558. package/src/directive/preventReClick.js +12 -12
  559. package/src/directive/scroll.js +230 -230
  560. package/src/global/variable.js +2 -2
  561. package/src/style/normalize.css +424 -424
  562. package/src/style/style.less +49 -49
  563. package/src/utils/UniRTCv2.js +626 -626
  564. package/src/utils/chatFetch.js +61 -61
  565. package/src/utils/clickoutside.js +75 -75
  566. package/src/utils/crypto.js +25 -25
  567. package/src/utils/index.js +81 -81
  568. package/src/utils/kty-sdk.js +582 -582
  569. package/src/utils/kty.min-1.0.0.js +14378 -14378
  570. package/src/utils/sip-device.js +79 -79
  571. package/src/utils/time-domain.js +193 -193
  572. package/src/utils/trtc.js +1 -1
  573. package/src/utils/utils-map.js +484 -484
  574. package/src/utils/vexutils.js +836 -836
@@ -1,374 +1,374 @@
1
- /**
2
- * 重写antd的一些方法满足业务需要
3
- */
4
- import { message } from 'ant-design-vue/es';
5
- import DateInput from 'ant-design-vue/es/vc-calendar/src/date/DateInput.js';
6
- import TimePickerHeader from 'ant-design-vue/es/vc-time-picker/Header.js';
7
- import KEYCODE from 'ant-design-vue/es/_util/KeyCode';
8
- import moment from 'moment';
9
-
10
- function checkDateVal(val, type) {
11
- const regObj = {
12
- YYYYMMDD: /\d{8}/,
13
- YYYYMM: /\d{6}/,
14
- YYYY: /\d{4}/,
15
- 'YYYY-MM-DD': /\d{4}-\d\d-\d\d/,
16
- 'YYYY-MM': /\d{4}-\d\d/
17
- };
18
- if (regObj[type]) {
19
- return regObj[type].test(val);
20
- }
21
- return false;
22
- }
23
-
24
- function checkTimeVal(val, type) {
25
- const regObj = {
26
- 'HH:mm:ss': /\d\d:\d\d:\d\d/,
27
- 'HH:mm': /\d\d:\d\d/,
28
- HHmmss: /\d\d\d\d\d\d/,
29
- HHmm: /\d\d\d\d/,
30
- HH: /\d\d/
31
- };
32
- if (regObj[type]) {
33
- return regObj[type].test(val);
34
- }
35
- return false;
36
- }
37
-
38
- /**
39
- *
40
- * @param {string} str
41
- * @param {string} formatStr
42
- * @returns
43
- */
44
- function getHasTimeValue(str, formatStr) {
45
- let res = str;
46
- let [dateType, timeType] = formatStr.split(' ');
47
- let dateTypeStr = dateType.toUpperCase().replace(/-/g, '');
48
- let timeTypeStr = timeType.replace(/:/g, '');
49
- if (str.length > 8) {
50
- let dateValue = str.slice(0, 8);
51
- let timeValue = str.slice(8).trim();
52
-
53
- // time 兼容两种输入 HH:mm:ss | HHmmss
54
- if (checkDateVal(dateValue, dateTypeStr) && (checkTimeVal(timeValue, timeType) || checkTimeVal(timeValue, timeTypeStr))) {
55
- // 使用 moment 的 iso Date 格式转换值
56
- dateValue = moment(dateValue, dateTypeStr).format(dateType);
57
- // 使用 moment 的 iso time 格式转换值
58
- timeValue = timeValue ? moment(timeValue, timeTypeStr).format(timeType) : '';
59
- res = `${dateValue} ${timeValue}`;
60
- }
61
- }
62
- return res;
63
- }
64
-
65
- function mendTime(timeVal, timeType, defVal) {
66
- let res = timeVal;
67
- return res + defVal.slice(0, timeType.length).slice(timeVal.length);
68
- }
69
-
70
- /**
71
- * 补全时间
72
- * @param {*} str
73
- * @param {*} formatStr
74
- * @returns
75
- */
76
- function strFormatToDate(str, formatStr) {
77
- let res = '';
78
- let [dateType, timeType] = formatStr.split(' ');
79
- let updateType = dateType.toUpperCase();
80
- let dateTypeStr = updateType.replace(/-/g, '');
81
- let timeTypeStr = timeType.replace(/:/g, '');
82
- let strDateValue = '',
83
- strTimeValue = '';
84
- let ordinary = false;
85
- if (str.length >= 10) {
86
- strDateValue = str.slice(0, 10);
87
- }
88
- // 是否是"YYYY-MM-DD" 格式
89
- if (checkDateVal(strDateValue, updateType)) {
90
- strTimeValue = str.slice(10).trim();
91
- ordinary = true;
92
- } else {
93
- // 处理“yyyymmdd”的格式
94
- if (str.length >= 8) {
95
- strDateValue = str.slice(0, 8);
96
- strTimeValue = str.slice(8).trim();
97
- }
98
- }
99
-
100
- // time 兼容两种输入 HH:mm:ss | HHmmss
101
- let ff = !checkTimeVal(strTimeValue, timeType) || !checkTimeVal(strTimeValue, timeTypeStr);
102
-
103
- // 日期格式
104
- let dateFlag = ordinary || checkDateVal(strDateValue, dateTypeStr);
105
-
106
- if (dateFlag && ff) {
107
- if (strTimeValue && ff) {
108
- let f = strTimeValue.includes(':') || ordinary;
109
- if (f) {
110
- strTimeValue = mendTime(strTimeValue, timeType, '00:00:00');
111
- } else {
112
- strTimeValue = mendTime(strTimeValue, timeTypeStr, '000000');
113
- }
114
- }
115
- if (!strTimeValue) {
116
- strTimeValue = '00:00:00';
117
- }
118
- // 使用 moment 的 iso Date 格式转换值
119
- strDateValue = moment(strDateValue, dateTypeStr).format(dateType);
120
- // 使用 moment 的 iso time 格式转换值
121
- strTimeValue = strDateValue ? moment(strTimeValue, timeTypeStr).format(timeType) : '';
122
- res = `${strDateValue} ${strTimeValue}`;
123
- // 有解析错误的置空
124
- if (res.includes('Invalid date')) {
125
- res = '';
126
- }
127
- }
128
-
129
- return res;
130
- }
131
-
132
- function getHasTimeValue2(str, formatStr) {
133
- let res = '';
134
- let [dateType, timeType] = formatStr.split(' ');
135
- let updateType = dateType.toUpperCase();
136
- let dateTypeStr = updateType.replace(/-/g, '');
137
- let timeTypeStr = timeType.replace(/:/g, '');
138
-
139
- if (str.length >= 8) {
140
- let dateValue = str.slice(0, 8);
141
- let timeValue = str.slice(8).trim();
142
- let ff = !checkTimeVal(timeValue, timeType) || !checkTimeVal(timeValue, timeTypeStr);
143
-
144
- // time 兼容两种输入 HH:mm:ss | HHmmss
145
- if (checkDateVal(dateValue, dateTypeStr) && ff) {
146
- if (timeValue && ff) {
147
- let f = timeValue.includes(':');
148
- if (f) {
149
- timeValue = timeValue + '00:00:00'.slice(timeValue.length);
150
- } else {
151
- timeValue = timeValue + '000000'.slice(timeValue.length);
152
- }
153
- }
154
- if (!timeValue) {
155
- timeValue = '00:00:00';
156
- }
157
- // 使用 moment 的 iso Date 格式转换值
158
- dateValue = moment(dateValue, dateTypeStr).format(dateType);
159
- // 使用 moment 的 iso time 格式转换值
160
- timeValue = timeValue ? moment(timeValue, timeTypeStr).format(timeType) : '';
161
- res = `${dateValue} ${timeValue}`;
162
- }
163
- }
164
- return res;
165
- }
166
- const extendedIsoRegex = /^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/;
167
-
168
- function sleep() {
169
- return new Promise(res => {
170
- setTimeout(() => res(), 0);
171
- });
172
- }
173
-
174
- const getMomentObjectIfValid = date => {
175
- if (moment.isMoment(date) && date.isValid()) {
176
- return date;
177
- }
178
- return false;
179
- };
180
-
181
- function customGetValue(str, formatStr) {
182
- let res = '';
183
- // 如果有含有“时间”, 自定义拼值
184
- if (formatStr && /(HH)|(hh)/.test(formatStr)) {
185
- res = strFormatToDate(str, formatStr);
186
- } else {
187
- let dateTypeStr = formatStr.toUpperCase().replace(/-/g, '');
188
- res = checkDateVal(str, dateTypeStr) ? moment(str, dateTypeStr).format(formatStr) : str;
189
- }
190
- // 如是含有错误解析,重置输出
191
- if (res.includes('Invalid date')) {
192
- res = '';
193
- }
194
- return res;
195
- }
196
-
197
- function onInputChange11(e) {
198
- const { value: str, composing } = e.target;
199
- const { str: oldStr = '' } = this;
200
-
201
- const { disabledDate, format, selectedValue } = this.$props;
202
-
203
- // 没有内容,合法并直接退出
204
- if (!str) {
205
- this.__emit('change', null);
206
- this.setState({
207
- invalid: false,
208
- str
209
- });
210
- return;
211
- }
212
-
213
- // 不合法直接退出
214
- const parsed = moment(str, format, true);
215
- if (!parsed.isValid()) {
216
- this.setState({
217
- invalid: true,
218
- str
219
- });
220
- return;
221
- }
222
- const value = this.value.clone();
223
- value
224
- .year(parsed.year())
225
- .month(parsed.month())
226
- .date(parsed.date())
227
- .hour(parsed.hour())
228
- .minute(parsed.minute())
229
- .second(parsed.second());
230
-
231
- if (!value || (disabledDate && disabledDate(value))) {
232
- this.setState({
233
- invalid: true,
234
- str
235
- });
236
- return;
237
- }
238
-
239
- if (selectedValue !== value || (selectedValue && value && !selectedValue.isSame(value))) {
240
- this.setState({
241
- invalid: false,
242
- str
243
- });
244
- this.__emit('change', value);
245
- }
246
- }
247
-
248
- export function rewriteAntd() {
249
- /**
250
- * 改写日期弹窗框的 input 元素的 onInputChange 方法,满足格式化 '20221014121517' | '20221014 12:15:17'
251
- */
252
- /**
253
- * TODO: 输入完整的日期格式,光标会移到最后。有可能是 antd 的bug
254
- */
255
- if (DateInput && DateInput.methods) {
256
- DateInput.methods.onInputChange11 = onInputChange11;
257
- // 缓存原有的方法
258
- DateInput.methods.originalOnInputChange = DateInput.methods.onInputChange;
259
- // 重新 onInputChange
260
- DateInput.methods.onInputChange = function(e) {
261
- // console.log(e.target.selectionStart, "e.target.selectionStart");
262
- const { value: str, composing } = e.target;
263
- let res = str;
264
- const formatStr = this.format;
265
- // 如果有含有“时间”, 自定义拼值
266
- if (formatStr && /(HH)|(hh)/.test(formatStr)) {
267
- res = getHasTimeValue(str, formatStr);
268
- } else {
269
- let dateTypeStr = this.format.toUpperCase().replace(/-/g, '');
270
- res = checkDateVal(str, dateTypeStr) ? moment(str, dateTypeStr).format(this.format) : str;
271
- }
272
- // 如是含有错误解析,重置输出
273
- if (res.includes('Invalid date')) {
274
- res = str;
275
- }
276
- // 调用原来的 onInputChange 方法
277
- // 原本是传入事件对象,目前只传入需要的参数
278
- this.originalOnInputChange({
279
- target: { value: res, composing }
280
- });
281
- // this.originalOnInputChange(e);
282
- };
283
-
284
- /**
285
- * 改写 onKeyDown 事件,满足按回车键,不满足的 yyyymmdd: hhmmss 格式的自动补“时间”(hhmmss)
286
- * @param {*} event
287
- * @returns
288
- */
289
- DateInput.methods.onKeyDown = async function(event) {
290
- const { keyCode, target } = event;
291
-
292
- if (keyCode === KEYCODE.ENTER) {
293
- const formatStr = this.format;
294
- const tValue = target.value;
295
- const pProps = this.$parent.$props;
296
- // 回车自动补全“时间”
297
- if (tValue && formatStr && /(HH)|(hh)/.test(formatStr) && (!extendedIsoRegex.test(tValue) || checkDateVal(tValue, 'YYYY-MM-DD'))) {
298
- // 是否可以自动补全时间
299
- let ress = strFormatToDate(tValue, formatStr);
300
- if (ress) {
301
- this.onInputChange11({
302
- target: { value: ress }
303
- });
304
- await sleep();
305
- }
306
- }
307
- const { disabledDate, value, selectedValue } = this.$props;
308
-
309
- const validateDate = !disabledDate || !disabledDate(value);
310
- // if (selectedValue !== value || (selectedValue && value && !selectedValue.isSame(value))) {
311
-
312
- // }
313
- let def = getMomentObjectIfValid(pProps.value) || getMomentObjectIfValid(pProps.defaultValue);
314
- if (validateDate) {
315
- let dateTypeStr = formatStr.toUpperCase().replace(/-/g, '');
316
- let f = checkDateVal(tValue, formatStr) || checkDateVal(tValue, dateTypeStr);
317
- // 有输入的值,但是格式错误,提示
318
- if (tValue && ((!customGetValue(tValue, formatStr) && !extendedIsoRegex.test(tValue) && /(HH)|(hh)/.test(formatStr)) || (['YYYYMMDD', 'YYYYMM', 'YYYY'].includes(dateTypeStr) && !f))) {
319
- console.log(tValue, '-----------------');
320
- message.error('请输入有效的格式');
321
- }
322
- if (!selectedValue && !def) {
323
- message.error('请输入有效的格式');
324
- return false;
325
- }
326
- if (!selectedValue && def && def.isSame(value)) {
327
- this.__emit('select', null);
328
- return false;
329
- }
330
- this.__emit('select', value.clone());
331
- }
332
- event.preventDefault();
333
- }
334
- };
335
- }
336
-
337
- /**
338
- * TimePickerHeader
339
- */
340
- if (TimePickerHeader && TimePickerHeader.methods) {
341
- // 缓存原有的方法
342
- TimePickerHeader.methods.originalOnKeyDown = TimePickerHeader.methods.onKeyDown;
343
-
344
- TimePickerHeader.methods.onKeyDown = async function(event) {
345
- const { keyCode, target } = event;
346
-
347
- if (keyCode === KEYCODE.ENTER) {
348
- const timeType = this.format;
349
- const tValue = target.value;
350
- let timeValue = tValue;
351
- let timeTypeStr = timeType.replace(/:/g, '');
352
- // iso time 格式
353
- if (checkTimeVal(timeValue, timeTypeStr)) {
354
- timeValue = timeValue ? moment(timeValue, timeTypeStr).format(timeType) : '';
355
- if (checkTimeVal(timeValue, timeType)) {
356
- this.onInputChange({
357
- target: { value: timeValue }
358
- });
359
- await sleep();
360
- this.__emit('esc');
361
- return;
362
- }
363
- } else if (checkTimeVal(timeValue, timeType)) {
364
- // 满足条件按回车关闭弹窗
365
- this.__emit('esc');
366
- } else {
367
- message.error('请输入有效的时间格式');
368
- }
369
- }
370
-
371
- this.originalOnKeyDown(event);
372
- };
373
- }
374
- }
1
+ /**
2
+ * 重写antd的一些方法满足业务需要
3
+ */
4
+ import { message } from 'ant-design-vue/es';
5
+ import DateInput from 'ant-design-vue/es/vc-calendar/src/date/DateInput.js';
6
+ import TimePickerHeader from 'ant-design-vue/es/vc-time-picker/Header.js';
7
+ import KEYCODE from 'ant-design-vue/es/_util/KeyCode';
8
+ import moment from 'moment';
9
+
10
+ function checkDateVal(val, type) {
11
+ const regObj = {
12
+ YYYYMMDD: /\d{8}/,
13
+ YYYYMM: /\d{6}/,
14
+ YYYY: /\d{4}/,
15
+ 'YYYY-MM-DD': /\d{4}-\d\d-\d\d/,
16
+ 'YYYY-MM': /\d{4}-\d\d/
17
+ };
18
+ if (regObj[type]) {
19
+ return regObj[type].test(val);
20
+ }
21
+ return false;
22
+ }
23
+
24
+ function checkTimeVal(val, type) {
25
+ const regObj = {
26
+ 'HH:mm:ss': /\d\d:\d\d:\d\d/,
27
+ 'HH:mm': /\d\d:\d\d/,
28
+ HHmmss: /\d\d\d\d\d\d/,
29
+ HHmm: /\d\d\d\d/,
30
+ HH: /\d\d/
31
+ };
32
+ if (regObj[type]) {
33
+ return regObj[type].test(val);
34
+ }
35
+ return false;
36
+ }
37
+
38
+ /**
39
+ *
40
+ * @param {string} str
41
+ * @param {string} formatStr
42
+ * @returns
43
+ */
44
+ function getHasTimeValue(str, formatStr) {
45
+ let res = str;
46
+ let [dateType, timeType] = formatStr.split(' ');
47
+ let dateTypeStr = dateType.toUpperCase().replace(/-/g, '');
48
+ let timeTypeStr = timeType.replace(/:/g, '');
49
+ if (str.length > 8) {
50
+ let dateValue = str.slice(0, 8);
51
+ let timeValue = str.slice(8).trim();
52
+
53
+ // time 兼容两种输入 HH:mm:ss | HHmmss
54
+ if (checkDateVal(dateValue, dateTypeStr) && (checkTimeVal(timeValue, timeType) || checkTimeVal(timeValue, timeTypeStr))) {
55
+ // 使用 moment 的 iso Date 格式转换值
56
+ dateValue = moment(dateValue, dateTypeStr).format(dateType);
57
+ // 使用 moment 的 iso time 格式转换值
58
+ timeValue = timeValue ? moment(timeValue, timeTypeStr).format(timeType) : '';
59
+ res = `${dateValue} ${timeValue}`;
60
+ }
61
+ }
62
+ return res;
63
+ }
64
+
65
+ function mendTime(timeVal, timeType, defVal) {
66
+ let res = timeVal;
67
+ return res + defVal.slice(0, timeType.length).slice(timeVal.length);
68
+ }
69
+
70
+ /**
71
+ * 补全时间
72
+ * @param {*} str
73
+ * @param {*} formatStr
74
+ * @returns
75
+ */
76
+ function strFormatToDate(str, formatStr) {
77
+ let res = '';
78
+ let [dateType, timeType] = formatStr.split(' ');
79
+ let updateType = dateType.toUpperCase();
80
+ let dateTypeStr = updateType.replace(/-/g, '');
81
+ let timeTypeStr = timeType.replace(/:/g, '');
82
+ let strDateValue = '',
83
+ strTimeValue = '';
84
+ let ordinary = false;
85
+ if (str.length >= 10) {
86
+ strDateValue = str.slice(0, 10);
87
+ }
88
+ // 是否是"YYYY-MM-DD" 格式
89
+ if (checkDateVal(strDateValue, updateType)) {
90
+ strTimeValue = str.slice(10).trim();
91
+ ordinary = true;
92
+ } else {
93
+ // 处理“yyyymmdd”的格式
94
+ if (str.length >= 8) {
95
+ strDateValue = str.slice(0, 8);
96
+ strTimeValue = str.slice(8).trim();
97
+ }
98
+ }
99
+
100
+ // time 兼容两种输入 HH:mm:ss | HHmmss
101
+ let ff = !checkTimeVal(strTimeValue, timeType) || !checkTimeVal(strTimeValue, timeTypeStr);
102
+
103
+ // 日期格式
104
+ let dateFlag = ordinary || checkDateVal(strDateValue, dateTypeStr);
105
+
106
+ if (dateFlag && ff) {
107
+ if (strTimeValue && ff) {
108
+ let f = strTimeValue.includes(':') || ordinary;
109
+ if (f) {
110
+ strTimeValue = mendTime(strTimeValue, timeType, '00:00:00');
111
+ } else {
112
+ strTimeValue = mendTime(strTimeValue, timeTypeStr, '000000');
113
+ }
114
+ }
115
+ if (!strTimeValue) {
116
+ strTimeValue = '00:00:00';
117
+ }
118
+ // 使用 moment 的 iso Date 格式转换值
119
+ strDateValue = moment(strDateValue, dateTypeStr).format(dateType);
120
+ // 使用 moment 的 iso time 格式转换值
121
+ strTimeValue = strDateValue ? moment(strTimeValue, timeTypeStr).format(timeType) : '';
122
+ res = `${strDateValue} ${strTimeValue}`;
123
+ // 有解析错误的置空
124
+ if (res.includes('Invalid date')) {
125
+ res = '';
126
+ }
127
+ }
128
+
129
+ return res;
130
+ }
131
+
132
+ function getHasTimeValue2(str, formatStr) {
133
+ let res = '';
134
+ let [dateType, timeType] = formatStr.split(' ');
135
+ let updateType = dateType.toUpperCase();
136
+ let dateTypeStr = updateType.replace(/-/g, '');
137
+ let timeTypeStr = timeType.replace(/:/g, '');
138
+
139
+ if (str.length >= 8) {
140
+ let dateValue = str.slice(0, 8);
141
+ let timeValue = str.slice(8).trim();
142
+ let ff = !checkTimeVal(timeValue, timeType) || !checkTimeVal(timeValue, timeTypeStr);
143
+
144
+ // time 兼容两种输入 HH:mm:ss | HHmmss
145
+ if (checkDateVal(dateValue, dateTypeStr) && ff) {
146
+ if (timeValue && ff) {
147
+ let f = timeValue.includes(':');
148
+ if (f) {
149
+ timeValue = timeValue + '00:00:00'.slice(timeValue.length);
150
+ } else {
151
+ timeValue = timeValue + '000000'.slice(timeValue.length);
152
+ }
153
+ }
154
+ if (!timeValue) {
155
+ timeValue = '00:00:00';
156
+ }
157
+ // 使用 moment 的 iso Date 格式转换值
158
+ dateValue = moment(dateValue, dateTypeStr).format(dateType);
159
+ // 使用 moment 的 iso time 格式转换值
160
+ timeValue = timeValue ? moment(timeValue, timeTypeStr).format(timeType) : '';
161
+ res = `${dateValue} ${timeValue}`;
162
+ }
163
+ }
164
+ return res;
165
+ }
166
+ const extendedIsoRegex = /^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/;
167
+
168
+ function sleep() {
169
+ return new Promise(res => {
170
+ setTimeout(() => res(), 0);
171
+ });
172
+ }
173
+
174
+ const getMomentObjectIfValid = date => {
175
+ if (moment.isMoment(date) && date.isValid()) {
176
+ return date;
177
+ }
178
+ return false;
179
+ };
180
+
181
+ function customGetValue(str, formatStr) {
182
+ let res = '';
183
+ // 如果有含有“时间”, 自定义拼值
184
+ if (formatStr && /(HH)|(hh)/.test(formatStr)) {
185
+ res = strFormatToDate(str, formatStr);
186
+ } else {
187
+ let dateTypeStr = formatStr.toUpperCase().replace(/-/g, '');
188
+ res = checkDateVal(str, dateTypeStr) ? moment(str, dateTypeStr).format(formatStr) : str;
189
+ }
190
+ // 如是含有错误解析,重置输出
191
+ if (res.includes('Invalid date')) {
192
+ res = '';
193
+ }
194
+ return res;
195
+ }
196
+
197
+ function onInputChange11(e) {
198
+ const { value: str, composing } = e.target;
199
+ const { str: oldStr = '' } = this;
200
+
201
+ const { disabledDate, format, selectedValue } = this.$props;
202
+
203
+ // 没有内容,合法并直接退出
204
+ if (!str) {
205
+ this.__emit('change', null);
206
+ this.setState({
207
+ invalid: false,
208
+ str
209
+ });
210
+ return;
211
+ }
212
+
213
+ // 不合法直接退出
214
+ const parsed = moment(str, format, true);
215
+ if (!parsed.isValid()) {
216
+ this.setState({
217
+ invalid: true,
218
+ str
219
+ });
220
+ return;
221
+ }
222
+ const value = this.value.clone();
223
+ value
224
+ .year(parsed.year())
225
+ .month(parsed.month())
226
+ .date(parsed.date())
227
+ .hour(parsed.hour())
228
+ .minute(parsed.minute())
229
+ .second(parsed.second());
230
+
231
+ if (!value || (disabledDate && disabledDate(value))) {
232
+ this.setState({
233
+ invalid: true,
234
+ str
235
+ });
236
+ return;
237
+ }
238
+
239
+ if (selectedValue !== value || (selectedValue && value && !selectedValue.isSame(value))) {
240
+ this.setState({
241
+ invalid: false,
242
+ str
243
+ });
244
+ this.__emit('change', value);
245
+ }
246
+ }
247
+
248
+ export function rewriteAntd() {
249
+ /**
250
+ * 改写日期弹窗框的 input 元素的 onInputChange 方法,满足格式化 '20221014121517' | '20221014 12:15:17'
251
+ */
252
+ /**
253
+ * TODO: 输入完整的日期格式,光标会移到最后。有可能是 antd 的bug
254
+ */
255
+ if (DateInput && DateInput.methods) {
256
+ DateInput.methods.onInputChange11 = onInputChange11;
257
+ // 缓存原有的方法
258
+ DateInput.methods.originalOnInputChange = DateInput.methods.onInputChange;
259
+ // 重新 onInputChange
260
+ DateInput.methods.onInputChange = function(e) {
261
+ // console.log(e.target.selectionStart, "e.target.selectionStart");
262
+ const { value: str, composing } = e.target;
263
+ let res = str;
264
+ const formatStr = this.format;
265
+ // 如果有含有“时间”, 自定义拼值
266
+ if (formatStr && /(HH)|(hh)/.test(formatStr)) {
267
+ res = getHasTimeValue(str, formatStr);
268
+ } else {
269
+ let dateTypeStr = this.format.toUpperCase().replace(/-/g, '');
270
+ res = checkDateVal(str, dateTypeStr) ? moment(str, dateTypeStr).format(this.format) : str;
271
+ }
272
+ // 如是含有错误解析,重置输出
273
+ if (res.includes('Invalid date')) {
274
+ res = str;
275
+ }
276
+ // 调用原来的 onInputChange 方法
277
+ // 原本是传入事件对象,目前只传入需要的参数
278
+ this.originalOnInputChange({
279
+ target: { value: res, composing }
280
+ });
281
+ // this.originalOnInputChange(e);
282
+ };
283
+
284
+ /**
285
+ * 改写 onKeyDown 事件,满足按回车键,不满足的 yyyymmdd: hhmmss 格式的自动补“时间”(hhmmss)
286
+ * @param {*} event
287
+ * @returns
288
+ */
289
+ DateInput.methods.onKeyDown = async function(event) {
290
+ const { keyCode, target } = event;
291
+
292
+ if (keyCode === KEYCODE.ENTER) {
293
+ const formatStr = this.format;
294
+ const tValue = target.value;
295
+ const pProps = this.$parent.$props;
296
+ // 回车自动补全“时间”
297
+ if (tValue && formatStr && /(HH)|(hh)/.test(formatStr) && (!extendedIsoRegex.test(tValue) || checkDateVal(tValue, 'YYYY-MM-DD'))) {
298
+ // 是否可以自动补全时间
299
+ let ress = strFormatToDate(tValue, formatStr);
300
+ if (ress) {
301
+ this.onInputChange11({
302
+ target: { value: ress }
303
+ });
304
+ await sleep();
305
+ }
306
+ }
307
+ const { disabledDate, value, selectedValue } = this.$props;
308
+
309
+ const validateDate = !disabledDate || !disabledDate(value);
310
+ // if (selectedValue !== value || (selectedValue && value && !selectedValue.isSame(value))) {
311
+
312
+ // }
313
+ let def = getMomentObjectIfValid(pProps.value) || getMomentObjectIfValid(pProps.defaultValue);
314
+ if (validateDate) {
315
+ let dateTypeStr = formatStr.toUpperCase().replace(/-/g, '');
316
+ let f = checkDateVal(tValue, formatStr) || checkDateVal(tValue, dateTypeStr);
317
+ // 有输入的值,但是格式错误,提示
318
+ if (tValue && ((!customGetValue(tValue, formatStr) && !extendedIsoRegex.test(tValue) && /(HH)|(hh)/.test(formatStr)) || (['YYYYMMDD', 'YYYYMM', 'YYYY'].includes(dateTypeStr) && !f))) {
319
+ console.log(tValue, '-----------------');
320
+ message.error('请输入有效的格式');
321
+ }
322
+ if (!selectedValue && !def) {
323
+ message.error('请输入有效的格式');
324
+ return false;
325
+ }
326
+ if (!selectedValue && def && def.isSame(value)) {
327
+ this.__emit('select', null);
328
+ return false;
329
+ }
330
+ this.__emit('select', value.clone());
331
+ }
332
+ event.preventDefault();
333
+ }
334
+ };
335
+ }
336
+
337
+ /**
338
+ * TimePickerHeader
339
+ */
340
+ if (TimePickerHeader && TimePickerHeader.methods) {
341
+ // 缓存原有的方法
342
+ TimePickerHeader.methods.originalOnKeyDown = TimePickerHeader.methods.onKeyDown;
343
+
344
+ TimePickerHeader.methods.onKeyDown = async function(event) {
345
+ const { keyCode, target } = event;
346
+
347
+ if (keyCode === KEYCODE.ENTER) {
348
+ const timeType = this.format;
349
+ const tValue = target.value;
350
+ let timeValue = tValue;
351
+ let timeTypeStr = timeType.replace(/:/g, '');
352
+ // iso time 格式
353
+ if (checkTimeVal(timeValue, timeTypeStr)) {
354
+ timeValue = timeValue ? moment(timeValue, timeTypeStr).format(timeType) : '';
355
+ if (checkTimeVal(timeValue, timeType)) {
356
+ this.onInputChange({
357
+ target: { value: timeValue }
358
+ });
359
+ await sleep();
360
+ this.__emit('esc');
361
+ return;
362
+ }
363
+ } else if (checkTimeVal(timeValue, timeType)) {
364
+ // 满足条件按回车关闭弹窗
365
+ this.__emit('esc');
366
+ } else {
367
+ message.error('请输入有效的时间格式');
368
+ }
369
+ }
370
+
371
+ this.originalOnKeyDown(event);
372
+ };
373
+ }
374
+ }