cnhis-design-vue 2.1.78 → 2.1.80

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 (598) hide show
  1. package/.prettierrc.js +27 -27
  2. package/CHANGELOG.md +2953 -2911
  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 +358 -338
  15. package/es/big-table/style.css +1 -1
  16. package/es/breadcrumb/index.js +8 -8
  17. package/es/button/index.js +31 -31
  18. package/es/calendar/index.js +8 -8
  19. package/es/captcha/index.js +7 -7
  20. package/es/card/index.js +8 -8
  21. package/es/carousel/index.js +8 -8
  22. package/es/cascader/index.js +8 -8
  23. package/es/checkbox/index.js +17 -17
  24. package/es/col/index.js +8 -8
  25. package/es/collapse/index.js +8 -8
  26. package/es/color-picker/index.js +5 -5
  27. package/es/comment/index.js +8 -8
  28. package/es/config-provider/index.js +8 -8
  29. package/es/date-picker/index.js +30 -30
  30. package/es/descriptions/index.js +8 -8
  31. package/es/divider/index.js +8 -8
  32. package/es/drag-layout/index.js +5 -5
  33. package/es/drawer/index.js +8 -8
  34. package/es/dropdown/index.js +8 -8
  35. package/es/editor/index.js +1 -1
  36. package/es/ellipsis/index.js +1 -1
  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 +144 -144
  42. package/es/grid/index.js +4 -4
  43. package/es/index/index.js +3657 -2281
  44. package/es/index/style.css +1 -1
  45. package/es/input/index.js +11 -11
  46. package/es/input-number/index.js +8 -8
  47. package/es/keep-cache/index.js +9 -9
  48. package/es/layout/index.js +8 -8
  49. package/es/list/index.js +8 -8
  50. package/es/locale-provider/index.js +8 -8
  51. package/es/map/index.js +13 -13
  52. package/es/mentions/index.js +8 -8
  53. package/es/menu/index.js +8 -8
  54. package/es/message/index.js +8 -8
  55. package/es/multi-chat/index.js +117 -117
  56. package/es/multi-chat-client/index.js +111 -111
  57. package/es/multi-chat-history/index.js +6 -6
  58. package/es/multi-chat-record/index.js +27 -27
  59. package/es/multi-chat-setting/index.js +43 -43
  60. package/es/multi-chat-sip/index.js +1 -1
  61. package/es/notification/index.js +8 -8
  62. package/es/page-header/index.js +8 -8
  63. package/es/pagination/index.js +8 -8
  64. package/es/popconfirm/index.js +8 -8
  65. package/es/popover/index.js +8 -8
  66. package/es/progress/index.js +8 -8
  67. package/es/radio/index.js +17 -17
  68. package/es/rate/index.js +8 -8
  69. package/es/result/index.js +8 -8
  70. package/es/row/index.js +8 -8
  71. package/es/scale-container/index.js +1 -1
  72. package/es/scale-view/index.js +200 -198
  73. package/es/scale-view/style.css +1 -1
  74. package/es/select/index.js +44 -44
  75. package/es/select-label/index.js +75 -73
  76. package/es/select-label/style.css +1 -1
  77. package/es/select-person/index.js +45 -41
  78. package/es/select-person/style.css +1 -1
  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 +2697 -1347
  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 +11438 -9918
  105. package/lib/cui.umd.js +11438 -9918
  106. package/lib/cui.umd.min.js +69 -69
  107. package/package.json +110 -110
  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 +3205 -3193
  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 +390 -387
  132. package/packages/big-table/src/assets/style/table-global.less +175 -175
  133. package/packages/big-table/src/components/AutoLayoutButton.vue +307 -307
  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 +193 -193
  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 +108 -108
  171. package/packages/big-table/src/utils/eventBroadcast.js +24 -24
  172. package/packages/big-table/src/utils/format.js +557 -557
  173. package/packages/big-table/src/utils/nestTable.js +109 -109
  174. package/packages/big-table/src/utils/tableParse.js +234 -234
  175. package/packages/breadcrumb/index.js +21 -21
  176. package/packages/breadcrumb/src/Breadcrumb.jsx +11 -11
  177. package/packages/breadcrumb/src/BreadcrumbItem.jsx +11 -11
  178. package/packages/breadcrumb/src/BreadcrumbSeparator.jsx +11 -11
  179. package/packages/button/index.js +21 -21
  180. package/packages/button/src/Button.jsx +11 -11
  181. package/packages/button/src/ButtonGroup.jsx +11 -11
  182. package/packages/button/src/ButtonPrint/components/IdentityVerification.vue +181 -181
  183. package/packages/button/src/ButtonPrint/index.vue +766 -766
  184. package/packages/button/src/ButtonPrint/mixin/his-print.js +95 -95
  185. package/packages/calendar/index.js +12 -12
  186. package/packages/calendar/src/Calendar.jsx +11 -11
  187. package/packages/captcha/index.js +9 -9
  188. package/packages/captcha/src/Captcha.vue +164 -164
  189. package/packages/captcha/src/Index.vue +47 -47
  190. package/packages/captcha/src/SlideVerify.vue +285 -285
  191. package/packages/card/index.js +21 -21
  192. package/packages/card/src/Card.jsx +12 -12
  193. package/packages/card/src/CardGrid.js +7 -7
  194. package/packages/card/src/CardMeta.js +7 -7
  195. package/packages/carousel/index.js +12 -12
  196. package/packages/carousel/src/Carousel.jsx +12 -12
  197. package/packages/cascader/index.js +12 -12
  198. package/packages/cascader/src/Cascader.jsx +11 -11
  199. package/packages/checkbox/index.js +30 -30
  200. package/packages/checkbox/src/Checkbox.jsx +11 -11
  201. package/packages/checkbox/src/CheckboxImg/index.vue +141 -141
  202. package/packages/checkbox/src/Group.jsx +11 -11
  203. package/packages/col/index.js +13 -13
  204. package/packages/col/src/Col.jsx +11 -11
  205. package/packages/collapse/index.js +18 -18
  206. package/packages/collapse/src/Collapse.jsx +11 -11
  207. package/packages/collapse/src/Panel.jsx +11 -11
  208. package/packages/color-picker/index.js +10 -10
  209. package/packages/color-picker/src/color-picker.vue +191 -191
  210. package/packages/color-picker/src/style.less +109 -109
  211. package/packages/comment/index.js +12 -12
  212. package/packages/comment/src/Comment.jsx +11 -11
  213. package/packages/config-provider/index.js +12 -12
  214. package/packages/config-provider/src/ConfigProvider.jsx +11 -11
  215. package/packages/date-picker/index.js +26 -26
  216. package/packages/date-picker/src/DatePicker.jsx +12 -12
  217. package/packages/date-picker/src/MonthPicker.jsx +11 -11
  218. package/packages/date-picker/src/RangePicker.jsx +11 -11
  219. package/packages/date-picker/src/WeekPicker.jsx +11 -11
  220. package/packages/date-picker/src/utils/index.js +374 -374
  221. package/packages/descriptions/index.js +18 -18
  222. package/packages/descriptions/src/Descriptions.jsx +11 -11
  223. package/packages/descriptions/src/Item.jsx +11 -11
  224. package/packages/divider/index.js +12 -12
  225. package/packages/divider/src/Divider.jsx +11 -11
  226. package/packages/drag-layout/DragFormLeftItem.vue +173 -173
  227. package/packages/drag-layout/DragFormRightItem.vue +284 -284
  228. package/packages/drag-layout/I18n-mixins.js +10 -10
  229. package/packages/drag-layout/drag-layout.vue +778 -778
  230. package/packages/drag-layout/index.js +12 -12
  231. package/packages/drawer/index.js +12 -12
  232. package/packages/drawer/src/Drawer.jsx +11 -11
  233. package/packages/dropdown/index.js +12 -12
  234. package/packages/dropdown/src/Dropdown.jsx +11 -11
  235. package/packages/editor/index.js +9 -9
  236. package/packages/ellipsis/index.js +8 -8
  237. package/packages/ellipsis/src/Ellipsis.vue +65 -65
  238. package/packages/empty/index.js +12 -12
  239. package/packages/empty/src/Empty.jsx +11 -11
  240. package/packages/fabric-chart/index.js +9 -9
  241. package/packages/fabric-chart/src/FabricGrid.vue +67 -67
  242. package/packages/fabric-chart/src/components/DropPopup.vue +90 -90
  243. package/packages/fabric-chart/src/components/MouseRightClick.vue +168 -168
  244. package/packages/fabric-chart/src/components/TimeScaleValue.vue +125 -125
  245. package/packages/fabric-chart/src/const/defaultVaule.js +60 -60
  246. package/packages/fabric-chart/src/fabric-chart/FabricLines.vue +617 -617
  247. package/packages/fabric-chart/src/fabric-chart/FabricPolylines.vue +1191 -1191
  248. package/packages/fabric-chart/src/fabric-chart/FabricScaleValue.vue +139 -139
  249. package/packages/fabric-chart/src/fabric-chart/FabricTextGroup.vue +651 -651
  250. package/packages/fabric-chart/src/mixins/fabricCommon.js +81 -81
  251. package/packages/fabric-chart/src/mixins/fabricObject.js +193 -193
  252. package/packages/fabric-chart/src/mixins/type.js +5 -5
  253. package/packages/fabric-chart/src/utils/bus.js +2 -2
  254. package/packages/form/index.js +16 -16
  255. package/packages/form/src/Form.jsx +11 -11
  256. package/packages/form/src/Item.jsx +11 -11
  257. package/packages/form-model/index.js +14 -14
  258. package/packages/form-model/src/FormModel.jsx +11 -11
  259. package/packages/form-model/src/Item.jsx +11 -11
  260. package/packages/form-table/index.js +16 -16
  261. package/packages/form-table/src/FormTable.vue +1110 -1110
  262. package/packages/form-table/src/components/table-component/config-data/index.js +80 -80
  263. package/packages/form-table/src/components/table-component/global-props.js +22 -22
  264. package/packages/form-table/src/components/table-component/index.js +8 -8
  265. package/packages/form-table/src/components/table-component/mixins/bound-date.js +455 -455
  266. package/packages/form-table/src/components/table-component/mixins/dateType.js +217 -217
  267. package/packages/form-table/src/components/table-component/mixins/item-default.js +257 -257
  268. package/packages/form-table/src/components/table-component/mixins/search.js +1242 -1242
  269. package/packages/form-table/src/components/table-component/register-com.js +30 -30
  270. package/packages/form-table/src/components/table-component/table-age/table-age.vue +175 -175
  271. package/packages/form-table/src/components/table-component/table-date-picker/table-date-picker.vue +87 -87
  272. package/packages/form-table/src/components/table-component/table-digital/table-digital.vue +93 -93
  273. package/packages/form-table/src/components/table-component/table-input/table-input.vue +81 -81
  274. package/packages/form-table/src/components/table-component/table-input-password/table-input-password.vue +126 -126
  275. package/packages/form-table/src/components/table-component/table-month-picker/table-month-picker.vue +55 -55
  276. package/packages/form-table/src/components/table-component/table-search/table-search.vue +174 -174
  277. package/packages/form-table/src/components/table-component/table-search-more/table-search-more.vue +191 -191
  278. package/packages/form-table/src/components/table-component/table-select/table-select.vue +64 -64
  279. package/packages/form-table/src/components/table-component/table-select-multiple/table-select-multiple.vue +81 -81
  280. package/packages/form-table/src/components/table-component/table-textarea/table-textarea.vue +76 -76
  281. package/packages/form-table/src/components/table-component/table-time-picker/table-time-picker.vue +55 -55
  282. package/packages/form-table/src/components/table-component/table-tree-select/table-tree-select.vue +135 -135
  283. package/packages/form-table/src/components/table-component/text-over-tooltip/TextOverTooltip.vue +97 -97
  284. package/packages/form-table/src/components/table-item/form-event.js +81 -81
  285. package/packages/form-table/src/components/table-item/global-props.js +27 -27
  286. package/packages/form-table/src/components/table-item/index.js +4 -4
  287. package/packages/form-table/src/components/table-item/render-methods.js +28 -28
  288. package/packages/form-table/src/components/table-item/validate-rules.js +520 -520
  289. package/packages/form-table/src/components/table-mixins/form-commom.js +98 -98
  290. package/packages/form-table/src/components/table-mixins/index.js +3 -3
  291. package/packages/form-table/src/components/table-utils/index.js +112 -112
  292. package/packages/form-table/src/disabledDetail.less +46 -46
  293. package/packages/grid/index.js +10 -10
  294. package/packages/grid/src/grid.js +28 -28
  295. package/packages/icon/index.js +10 -10
  296. package/packages/icon/src/icon.js +13 -13
  297. package/packages/index.js +313 -313
  298. package/packages/input/index.js +30 -30
  299. package/packages/input/src/Group.jsx +11 -11
  300. package/packages/input/src/Input.jsx +11 -11
  301. package/packages/input/src/Password.jsx +11 -11
  302. package/packages/input/src/Search.jsx +11 -11
  303. package/packages/input/src/TextArea.jsx +11 -11
  304. package/packages/input/src/input-quick/components/quick-item.vue +284 -284
  305. package/packages/input/src/input-quick/components/quick-popover.vue +596 -596
  306. package/packages/input/src/input-quick/index.vue +137 -137
  307. package/packages/input-number/index.js +12 -12
  308. package/packages/input-number/src/InputNumber.jsx +11 -11
  309. package/packages/keep-cache/KeepCache.js +236 -236
  310. package/packages/keep-cache/index.css +2 -2
  311. package/packages/keep-cache/index.js +8 -8
  312. package/packages/layout/index.js +27 -27
  313. package/packages/layout/src/Content.jsx +11 -11
  314. package/packages/layout/src/Footer.jsx +11 -11
  315. package/packages/layout/src/Header.jsx +11 -11
  316. package/packages/layout/src/Layout.jsx +11 -11
  317. package/packages/layout/src/Sider.jsx +11 -11
  318. package/packages/list/index.js +21 -21
  319. package/packages/list/src/Item.jsx +11 -11
  320. package/packages/list/src/ItemMeta.jsx +11 -11
  321. package/packages/list/src/List.jsx +11 -11
  322. package/packages/locale-provider/index.js +12 -12
  323. package/packages/locale-provider/src/LocaleProvider.jsx +11 -11
  324. package/packages/map/index.js +9 -9
  325. package/packages/map/src/Map.vue +484 -484
  326. package/packages/map/src/popup-map.vue +53 -53
  327. package/packages/mentions/index.js +18 -18
  328. package/packages/mentions/src/Mentions.jsx +11 -11
  329. package/packages/mentions/src/Option.jsx +11 -11
  330. package/packages/menu/index.js +27 -27
  331. package/packages/menu/src/Divider.jsx +11 -11
  332. package/packages/menu/src/Item.jsx +11 -11
  333. package/packages/menu/src/ItemGroup.jsx +11 -11
  334. package/packages/menu/src/Menu.jsx +11 -11
  335. package/packages/menu/src/SubMenu.jsx +11 -11
  336. package/packages/message/index.js +8 -8
  337. package/packages/modal/index.js +10 -10
  338. package/packages/modal/src/Modal.js +7 -7
  339. package/packages/multi-chat/chat/addConference.vue +200 -200
  340. package/packages/multi-chat/chat/addMembers.vue +411 -411
  341. package/packages/multi-chat/chat/advancedFilter.vue +372 -372
  342. package/packages/multi-chat/chat/calling.vue +246 -246
  343. package/packages/multi-chat/chat/chatFooter.vue +1647 -1647
  344. package/packages/multi-chat/chat/chatHistory.vue +605 -605
  345. package/packages/multi-chat/chat/chatMain.vue +1490 -1490
  346. package/packages/multi-chat/chat/client/index.vue +149 -149
  347. package/packages/multi-chat/chat/delay.vue +177 -177
  348. package/packages/multi-chat/chat/evaluate.vue +343 -343
  349. package/packages/multi-chat/chat/messageRecord.vue +324 -324
  350. package/packages/multi-chat/chat/mixins/NoData.js +20 -20
  351. package/packages/multi-chat/chat/mixins/base.js +97 -97
  352. package/packages/multi-chat/chat/mixins/uniRTCAPI.js +80 -80
  353. package/packages/multi-chat/chat/mixins/viewerOptions.js +67 -67
  354. package/packages/multi-chat/chat/quickReply.vue +439 -439
  355. package/packages/multi-chat/chat/robot/index.vue +312 -312
  356. package/packages/multi-chat/chat/scrollList.vue +1259 -1259
  357. package/packages/multi-chat/chat/videoVoiceList.vue +348 -348
  358. package/packages/multi-chat/chat/voice.vue +431 -431
  359. package/packages/multi-chat/components/avatar.vue +113 -113
  360. package/packages/multi-chat/components/chat-tabs-header.vue +251 -251
  361. package/packages/multi-chat/components/classify-tabs.vue +185 -185
  362. package/packages/multi-chat/components/empty.vue +24 -24
  363. package/packages/multi-chat/components/modal-refuse-reason.vue +112 -112
  364. package/packages/multi-chat/components/modal-sip.vue +160 -160
  365. package/packages/multi-chat/components/modal-user-transfer.vue +98 -98
  366. package/packages/multi-chat/components/msg-describe.vue +138 -138
  367. package/packages/multi-chat/components/msg-picture.vue +68 -68
  368. package/packages/multi-chat/components/msg-prescription.vue +205 -205
  369. package/packages/multi-chat/components/read-record.vue +133 -133
  370. package/packages/multi-chat/components/read-status.vue +34 -34
  371. package/packages/multi-chat/components/user-status.vue +198 -198
  372. package/packages/multi-chat/components/vuecmf-dialog.vue +322 -322
  373. package/packages/multi-chat/index.js +7 -7
  374. package/packages/multi-chat/setting/authority/index.vue +156 -156
  375. package/packages/multi-chat/setting/authority/roleSetting.vue +204 -204
  376. package/packages/multi-chat/setting/baseInfo/index.vue +1343 -1343
  377. package/packages/multi-chat/setting/customerService/batchSelect.vue +403 -403
  378. package/packages/multi-chat/setting/customerService/index.vue +273 -273
  379. package/packages/multi-chat/setting/event/edit/condition.vue +128 -128
  380. package/packages/multi-chat/setting/event/edit/index.vue +437 -437
  381. package/packages/multi-chat/setting/event/edit/notice.vue +129 -129
  382. package/packages/multi-chat/setting/event/edit/strategy.vue +98 -98
  383. package/packages/multi-chat/setting/event/index.vue +249 -249
  384. package/packages/multi-chat/setting/index.vue +269 -269
  385. package/packages/multi-chat/setting/page.vue +14 -14
  386. package/packages/multi-chat/setting/sessionList/index.vue +412 -412
  387. package/packages/multi-chat/setting/sessionList/messageRecord.vue +372 -372
  388. package/packages/multi-chat/setting/userConfig/index.vue +124 -124
  389. package/packages/multi-chat/setting/worktime/index.vue +274 -274
  390. package/packages/multi-chat/store/actions.js +452 -452
  391. package/packages/multi-chat/store/getters.js +380 -380
  392. package/packages/multi-chat/store/helper.js +66 -66
  393. package/packages/multi-chat/store/index.js +50 -50
  394. package/packages/multi-chat/store/mutation.js +305 -305
  395. package/packages/multi-chat/store/state.js +120 -120
  396. package/packages/multi-chat/style/emoji.css +315 -315
  397. package/packages/multi-chat/style/message.mixin.less +38 -38
  398. package/packages/multi-chat/utils/chatSock.js +93 -93
  399. package/packages/multi-chat/utils/compressImage.js +115 -115
  400. package/packages/multi-chat/utils/emoji.json +68 -68
  401. package/packages/multi-chat/utils/index.js +259 -259
  402. package/packages/multi-chat/utils/observer-scroll.js +49 -49
  403. package/packages/multi-chat/utils/panelsetting.js +48 -48
  404. package/packages/multi-chat-client/index.js +7 -7
  405. package/packages/multi-chat-history/index.js +7 -7
  406. package/packages/multi-chat-record/index.js +7 -7
  407. package/packages/multi-chat-setting/index.js +7 -7
  408. package/packages/multi-chat-sip/index.js +6 -6
  409. package/packages/notification/index.js +8 -8
  410. package/packages/page-header/index.js +12 -12
  411. package/packages/page-header/src/PageHeader.jsx +11 -11
  412. package/packages/pagination/index.js +12 -12
  413. package/packages/pagination/src/Pagination.jsx +11 -11
  414. package/packages/popconfirm/index.js +12 -12
  415. package/packages/popconfirm/src/Popconfirm.jsx +11 -11
  416. package/packages/popover/index.js +12 -12
  417. package/packages/popover/src/Popover.jsx +11 -11
  418. package/packages/progress/index.js +12 -12
  419. package/packages/progress/src/Progress.jsx +11 -11
  420. package/packages/radio/index.js +33 -33
  421. package/packages/radio/src/Group.jsx +11 -11
  422. package/packages/radio/src/Radio.jsx +11 -11
  423. package/packages/radio/src/RadioButton.jsx +11 -11
  424. package/packages/radio/src/RadioImg/index.vue +124 -124
  425. package/packages/rate/index.js +12 -12
  426. package/packages/rate/src/Rate.jsx +11 -11
  427. package/packages/result/index.js +12 -12
  428. package/packages/result/src/Result.jsx +11 -11
  429. package/packages/row/index.js +12 -12
  430. package/packages/row/src/Row.jsx +11 -11
  431. package/packages/scale-container/index.js +8 -8
  432. package/packages/scale-container/src/ScaleContainer.vue +197 -197
  433. package/packages/scale-view/NoData.vue +81 -81
  434. package/packages/scale-view/answerParse.vue +133 -133
  435. package/packages/scale-view/customList.vue +801 -801
  436. package/packages/scale-view/data.js +80 -80
  437. package/packages/scale-view/evaluateCountdown.vue +155 -155
  438. package/packages/scale-view/evaluatePage.vue +202 -202
  439. package/packages/scale-view/formitem/data.js +3991 -3991
  440. package/packages/scale-view/formitem/index.js +7 -7
  441. package/packages/scale-view/formitem/r-address.vue +245 -245
  442. package/packages/scale-view/formitem/r-choice.vue +746 -746
  443. package/packages/scale-view/formitem/r-input.vue +93 -93
  444. package/packages/scale-view/formitem/r-prompt.vue +52 -52
  445. package/packages/scale-view/formitem/r-sign.vue +218 -218
  446. package/packages/scale-view/formitem/r-time.vue +285 -285
  447. package/packages/scale-view/formitem/r-upload-custom-list.vue +242 -242
  448. package/packages/scale-view/formitem/r-upload.vue +287 -287
  449. package/packages/scale-view/formitem/sign-com.vue +316 -316
  450. package/packages/scale-view/formitem/text-over-tooltip/TextOverTooltip.vue +98 -98
  451. package/packages/scale-view/index.js +17 -17
  452. package/packages/scale-view/mixin/NoData.js +38 -38
  453. package/packages/scale-view/mixin/addressVal.js +156 -156
  454. package/packages/scale-view/mixin/evaluate.js +146 -146
  455. package/packages/scale-view/mixin/index.js +337 -337
  456. package/packages/scale-view/mixin/judgeTypes.js +267 -267
  457. package/packages/scale-view/scaleView.vue +2017 -2017
  458. package/packages/select/index.js +27 -27
  459. package/packages/select/src/CustomSelect/index.vue +130 -130
  460. package/packages/select/src/OptGroup.jsx +11 -11
  461. package/packages/select/src/Option.jsx +11 -11
  462. package/packages/select/src/Select/Select.vue +231 -231
  463. package/packages/select/src/Select/index.js +12 -12
  464. package/packages/select/src/TableSelect/index.vue +514 -514
  465. package/packages/select-label/index.js +14 -14
  466. package/packages/select-label/label-classify.vue +129 -129
  467. package/packages/select-label/labelFormContent.vue +787 -787
  468. package/packages/select-label/select-label.vue +597 -581
  469. package/packages/select-person/index.js +10 -10
  470. package/packages/select-person/search-tree.vue +373 -373
  471. package/packages/select-person/select-person.vue +1703 -1696
  472. package/packages/shortcut-setter/index.js +12 -12
  473. package/packages/shortcut-setter/src/ShortcutSetter.vue +55 -55
  474. package/packages/shortcut-setter/src/ShortcutSetterItem.vue +85 -85
  475. package/packages/shortcut-setter/src/utils/index.js +63 -63
  476. package/packages/skeleton/index.js +12 -12
  477. package/packages/skeleton/src/Skeleton.jsx +11 -11
  478. package/packages/slider/index.js +12 -12
  479. package/packages/slider/src/Slider.jsx +11 -11
  480. package/packages/space/index.js +12 -12
  481. package/packages/space/src/Space.jsx +11 -11
  482. package/packages/spin/index.js +12 -12
  483. package/packages/spin/src/Spin.jsx +11 -11
  484. package/packages/statistic/index.js +18 -18
  485. package/packages/statistic/src/Countdown.jsx +11 -11
  486. package/packages/statistic/src/Statistic.jsx +11 -11
  487. package/packages/steps/index.js +18 -18
  488. package/packages/steps/src/Step.jsx +11 -11
  489. package/packages/steps/src/Steps.jsx +11 -11
  490. package/packages/switch/index.js +12 -12
  491. package/packages/switch/src/Switch.jsx +11 -11
  492. package/packages/table-filter/index.js +27 -27
  493. package/packages/table-filter/src/base-search-com/BaseSearch.vue +2622 -2630
  494. package/packages/table-filter/src/classification/Classification-com.vue +1760 -1760
  495. package/packages/table-filter/src/classification/search-class-name.vue +266 -266
  496. package/packages/table-filter/src/classification/search-professional-model.vue +680 -680
  497. package/packages/table-filter/src/components/TextOverTooltip.vue +120 -107
  498. package/packages/table-filter/src/components/age-com/index.vue +205 -205
  499. package/packages/table-filter/src/components/button-group/ButtonGroup.vue +162 -162
  500. package/packages/table-filter/src/components/button-icon/button-icon.js +33 -33
  501. package/packages/table-filter/src/components/button-icon/getBtnIcon.js +34 -34
  502. package/packages/table-filter/src/components/c-tree-select/tree-select.vue +336 -336
  503. package/packages/table-filter/src/components/checkbox-group/CheckboxGroup.vue +53 -0
  504. package/packages/table-filter/src/components/drop-button/drop-button.vue +224 -224
  505. package/packages/table-filter/src/components/drop-button/head-btn-icon.js +33 -33
  506. package/packages/table-filter/src/components/drop-view/drop-view.vue +89 -89
  507. package/packages/table-filter/src/components/multi-select/multi-select.vue +242 -236
  508. package/packages/table-filter/src/components/out-quick-search/out-quick-search.vue +232 -346
  509. package/packages/table-filter/src/components/range-age/index.vue +171 -172
  510. package/packages/table-filter/src/components/render-widget/components/CheckboxGroup.vue +51 -51
  511. package/packages/table-filter/src/components/render-widget/components/DateRangeQuick.vue +212 -0
  512. package/packages/table-filter/src/components/render-widget/components/NumberRange.vue +145 -0
  513. package/packages/table-filter/src/components/render-widget/components/Select.vue +50 -50
  514. package/packages/table-filter/src/components/render-widget/components/SelectDynamic.vue +304 -0
  515. package/packages/table-filter/src/components/render-widget/components/index.js +7 -7
  516. package/packages/table-filter/src/components/render-widget/enums.js +34 -29
  517. package/packages/table-filter/src/components/render-widget/index.vue +124 -91
  518. package/packages/table-filter/src/components/render-widget/mixins/dynamic-method.js +158 -0
  519. package/packages/table-filter/src/components/render-widget/widgetCfgMaps.js +245 -140
  520. package/packages/table-filter/src/components/search-condition/SearchCondition.vue +1907 -1907
  521. package/packages/table-filter/src/components/search-condition/fieldTypeList.js +169 -169
  522. package/packages/table-filter/src/components/search-filter/SearchFilter.vue +280 -278
  523. package/packages/table-filter/src/components/search-modal/set-classification.vue +336 -336
  524. package/packages/table-filter/src/components/table-modal/TableModal.vue +477 -477
  525. package/packages/table-filter/src/const/dataOptions.js +43 -43
  526. package/packages/table-filter/src/const/index.js +1 -1
  527. package/packages/table-filter/src/index.vue +584 -584
  528. package/packages/table-filter/src/mixins/mixins.js +773 -714
  529. package/packages/table-filter/src/mixins/out-quick-method.js +123 -0
  530. package/packages/table-filter/src/mixins/renderWidget.js +97 -89
  531. package/packages/table-filter/src/mixins/tableSearchCon.js +128 -128
  532. package/packages/table-filter/src/mixins/wordBookutils.js +113 -113
  533. package/packages/table-filter/src/quick-search/QuickSearch.vue +2190 -2167
  534. package/packages/tabs/index.js +18 -18
  535. package/packages/tabs/src/TabPane.jsx +11 -11
  536. package/packages/tabs/src/Tabs.jsx +11 -11
  537. package/packages/tag/index.js +21 -21
  538. package/packages/tag/src/CheckableTag.jsx +11 -11
  539. package/packages/tag/src/Tag.jsx +11 -11
  540. package/packages/tag/src/TagGroup.vue +621 -621
  541. package/packages/time-picker/index.js +12 -12
  542. package/packages/time-picker/src/TimePicker.jsx +11 -11
  543. package/packages/timeline/index.js +14 -14
  544. package/packages/timeline/src/Item.jsx +11 -11
  545. package/packages/timeline/src/Timeline.jsx +11 -11
  546. package/packages/tooltip/index.js +12 -12
  547. package/packages/tooltip/src/Tooltip.jsx +11 -11
  548. package/packages/transfer/index.js +12 -12
  549. package/packages/transfer/src/Transfer.jsx +11 -11
  550. package/packages/tree/index.js +18 -18
  551. package/packages/tree/src/Tree.jsx +11 -11
  552. package/packages/tree/src/TreeNode.jsx +11 -11
  553. package/packages/tree-select/index.js +18 -18
  554. package/packages/tree-select/src/TreeNode.jsx +11 -11
  555. package/packages/tree-select/src/TreeSelect.jsx +11 -11
  556. package/packages/upload/chunk-upload/chunk-upload-new.vue +1001 -1001
  557. package/packages/upload/chunk-upload/vod-chunk-upload.vue +749 -749
  558. package/packages/upload/chunk-upload/vod-upload-modal.vue +100 -100
  559. package/packages/upload/index.js +12 -12
  560. package/packages/upload/src/Upload.jsx +11 -11
  561. package/packages/verification-code/SlideVerify.vue +306 -306
  562. package/packages/verification-code/index.js +17 -17
  563. package/packages/verification-code/verification-code.vue +147 -147
  564. package/src/component/player-vod/index.vue +57 -57
  565. package/src/component/player-vod/player.vue +192 -192
  566. package/src/component/player-vod/video-list.vue +262 -262
  567. package/src/component/player-vod/video-modal.vue +128 -128
  568. package/src/component/select-options/index.vue +430 -430
  569. package/src/component/select-pages/index.vue +95 -95
  570. package/src/component/svg/index.vue +59 -59
  571. package/src/core/create.js +6 -6
  572. package/src/core/event.js +23 -23
  573. package/src/core/table-methods.js +444 -444
  574. package/src/directive/flexibleResize.js +151 -151
  575. package/src/directive/preventReClick.js +12 -12
  576. package/src/directive/scroll.js +230 -230
  577. package/src/global/variable.js +2 -2
  578. package/src/style/normalize.css +424 -424
  579. package/src/style/style.less +49 -49
  580. package/src/utils/UniRTCv2.js +626 -626
  581. package/src/utils/chatFetch.js +61 -61
  582. package/src/utils/clickoutside.js +75 -75
  583. package/src/utils/crypto.js +25 -25
  584. package/src/utils/index.js +81 -81
  585. package/src/utils/kty-sdk.js +582 -582
  586. package/src/utils/kty.min-1.0.0.js +14378 -14378
  587. package/src/utils/sip-device.js +79 -79
  588. package/src/utils/time-domain.js +249 -249
  589. package/src/utils/trtc.js +1 -1
  590. package/src/utils/utils-map.js +485 -485
  591. package/src/utils/vexutils.js +836 -836
  592. package/.idea/cnhis-design-vue.iml +0 -12
  593. package/.idea/codeStyles/Project.xml +0 -57
  594. package/.idea/codeStyles/codeStyleConfig.xml +0 -5
  595. package/.idea/git_toolbox_prj.xml +0 -15
  596. package/.idea/inspectionProfiles/Project_Default.xml +0 -6
  597. package/.idea/modules.xml +0 -8
  598. package/.idea/vcs.xml +0 -6
@@ -1,836 +1,836 @@
1
- import XEUtils from 'xe-utils';
2
- import moment from 'moment';
3
- // com内容来源于老项目
4
- const com = {
5
- parseCondition: function(conList, data, fieldList) {
6
- if (conList && conList.length > 0 && data && data.table) {
7
- for (let i = 0; i < conList.length; i++) {
8
- let conObj = conList[i];
9
- if (conObj && conObj.field_key && conObj.con) {
10
- let value = data.table[conObj.field_key];
11
- let fieldObj = XEUtils.getFieldByKey(conObj.field_key, fieldList);
12
- // 缺少fieldObj 或 value 则条件不成立 2020.09.09。
13
- if (!fieldObj || (!value && String(value) !== '0')) return false;
14
- if (!XEUtils.getConnection(conObj, value, fieldObj)) {
15
- return false;
16
- }
17
- }
18
- }
19
- }
20
- return true;
21
- },
22
- getFieldByKey: function(fieldKey, fieldList) {
23
- if (fieldList && fieldList.length > 0) {
24
- for (let i = 0; i < fieldList.length; i++) {
25
- let fobj = fieldList[i];
26
- if (fobj.columnName == fieldKey) {
27
- return fobj;
28
- }
29
- }
30
- }
31
- },
32
- getConnection: function(cObj, fVal, field) {
33
- let con = cObj.con;
34
- let value = cObj.value;
35
- // 修改 #['NULL','NOT_NULL'] 的判断: value => fval 2020-09-15.
36
- if ('NULL' == con) {
37
- if (fVal) {
38
- return false;
39
- }
40
- } else if ('NOT_NULL' == con) {
41
- if (!fVal) {
42
- return false;
43
- }
44
- }
45
-
46
- if ('TEXT' == field.fieldType) {
47
- if ('CL' == con) {
48
- if (fVal.indexOf(value) == -1) {
49
- return false;
50
- }
51
- } else if ('NC' == con) {
52
- if (fVal.indexOf(value) != -1) {
53
- return false;
54
- }
55
- } else if ('EQ' == con || 'QUOTE' == con) {
56
- if (value.indexOf('|#|') != -1) {
57
- for (let kw in value.split('|#|')) {
58
- if (fVal.indexOf(kw) == -1) {
59
- return false;
60
- }
61
- }
62
- } else {
63
- if (fVal != value) {
64
- return false;
65
- }
66
- }
67
- } else if ('NEQ' == con) {
68
- if (fVal == value) {
69
- return false;
70
- }
71
- }
72
- } else {
73
- if ('NUMBER' == field.fieldType) {
74
- if (!XEUtils.isNumber(fVal)) {
75
- return false;
76
- }
77
- if ('EQ' == con || 'QUOTE' == con) {
78
- if (XEUtils.isNumber(value)) {
79
- if (fVal * 1 != value * 1) {
80
- return false;
81
- }
82
- } else {
83
- if (!XEUtils.getBetween(value, 'number', fVal)) {
84
- return false;
85
- }
86
- }
87
- } else if ('NEQ' == con) {
88
- if (XEUtils.isNumber(value)) {
89
- if (fVal * 1 == value * 1) {
90
- return false;
91
- }
92
- }
93
- } else if ('BIG' == con) {
94
- if (XEUtils.isNumber(value)) {
95
- if (fVal * 1 <= value * 1) {
96
- return false;
97
- }
98
- }
99
- } else if ('LESS' == con) {
100
- if (XEUtils.isNumber(value)) {
101
- if (fVal * 1 >= value * 1) {
102
- return false;
103
- }
104
- }
105
- }
106
- } else {
107
- if (
108
- 'TODAY' == con ||
109
- 'TOMORROW' == con ||
110
- 'YESTERDAY' == con ||
111
- 'THIS_WEEK' == con ||
112
- 'NEXT_WEEK' == con ||
113
- 'UP_WEEK' == con ||
114
- 'THIS_MONTH' == con ||
115
- 'NEXT_MONTH' == con ||
116
- 'UP_MONTH' == con ||
117
- 'THIS_SEASON' == con ||
118
- 'NEXT_SEASON' == con ||
119
- 'UP_SEASON' == con ||
120
- 'THIS_YEAR' == con ||
121
- 'NEXT_YEAR' == con ||
122
- 'UP_YEAR' == con
123
- ) {
124
- if (XEUtils.isDate(fVal)) {
125
- let curDate = new Date();
126
- let startDate;
127
- let endDate;
128
- let oneDayTime = 24 * 60 * 60 * 1000;
129
- let fDate = XEUtils.convertDate(fVal);
130
- let curDateStr = XEUtils.toDateString(curDate, 'yyyy-MM-dd');
131
- if ('TODAY' == con) {
132
- startDate = XEUtils.convertDate(curDateStr + ' 00:00:00');
133
- endDate = XEUtils.convertDate(curDateStr + ' 23:59:59');
134
- } else if ('TOMORROW' == con) {
135
- let tomorrowDate = XEUtils.addDate(curDate, 1, 'D');
136
- let dateStr = tomorrowDate.format('yyyy-MM-dd');
137
- startDate = XEUtils.convertDate(dateStr + ' 00:00:00');
138
- endDate = XEUtils.convertDate(dateStr + ' 23:59:59');
139
- } else if ('YESTERDAY' == con) {
140
- let tomorrowDate = XEUtils.addDate(curDate, -1, 'D');
141
- let dateStr = tomorrowDate.format('yyyy-MM-dd');
142
- startDate = XEUtils.convertDate(dateStr + ' 00:00:00');
143
- endDate = XEUtils.convertDate(dateStr + ' 23:59:59');
144
- } else if ('THIS_WEEK' == con) {
145
- let day = curDate.getDay() || 7;
146
- let mondayTime = curDate.getTime() - (day - 1) * oneDayTime;
147
- let mundayTime = curDate.getTime() + (7 - day) * oneDayTime;
148
- startDate = new Date(mondayTime);
149
- endDate = new Date(mundayTime);
150
- } else if ('NEXT_WEEK' == con) {
151
- let sevenDays = XEUtils.addDate(curDate, 1, 'W');
152
- let day = sevenDays.getDay() || 7;
153
- let mondayTime = sevenDays.getTime() - (day - 1) * oneDayTime;
154
- let mundayTime = sevenDays.getTime() + (7 - day) * oneDayTime;
155
- startDate = new Date(mondayTime);
156
- endDate = new Date(mundayTime);
157
- } else if ('UP_WEEK' == con) {
158
- let sevenDays = XEUtils.addDate(curDate, -1, 'W');
159
- let day = sevenDays.getDay() || 7;
160
- let mondayTime = sevenDays.getTime() - (day - 1) * oneDayTime;
161
- let mundayTime = sevenDays.getTime() + (7 - day) * oneDayTime;
162
- startDate = new Date(mondayTime);
163
- endDate = new Date(mundayTime);
164
- } else if ('THIS_MONTH' == con) {
165
- let date = new Date();
166
- date.setDate(1);
167
- startDate = date;
168
- endDate = XEUtils.addDate(date, 1, 'M');
169
- } else if ('NEXT_MONTH' == con) {
170
- let date = new Date();
171
- date.setDate(1);
172
- startDate = XEUtils.addDate(date, 1, 'M');
173
- endDate = XEUtils.addDate(date, 2, 'M');
174
- } else if ('UP_MONTH' == con) {
175
- let date = new Date();
176
- date.setDate(1);
177
- startDate = XEUtils.addDate(date, -1, 'M');
178
- endDate = date;
179
- } else if ('THIS_SEASON' == con) {
180
- startDate = XEUtils.getCurSeasonFirstDay();
181
- endDate = XEUtils.addDate(startDate, 3, 'M');
182
- } else if ('NEXT_SEASON' == con) {
183
- startDate = XEUtils.addDate(XEUtils.getCurSeasonFirstDay(), 3, 'M');
184
- endDate = XEUtils.addDate(startDate, 3, 'M');
185
- } else if ('UP_SEASON' == con) {
186
- endDate = XEUtils.getCurSeasonFirstDay();
187
- startDate = XEUtils.addDate(endDate, -3, 'M');
188
- } else if ('THIS_YEAR' == con) {
189
- let date = new Date();
190
- startDate = new Date(date.getFullYear() + '/01/01');
191
- endDate = XEUtils.addDate(startDate, 1, 'Y');
192
- } else if ('NEXT_YEAR' == con) {
193
- let date = new Date();
194
- startDate = XEUtils.addDate(new Date(date.getFullYear() + '/01/01'), 1, 'Y');
195
- endDate = XEUtils.addDate(startDate, 1, 'Y');
196
- } else if ('UP_YEAR' == con) {
197
- let date = new Date();
198
- endDate = new Date(date.getFullYear() + '/01/01');
199
- startDate = XEUtils.addDate(endDate, -1, 'Y');
200
- }
201
- if (startDate && endDate) {
202
- if (!(startDate.getTime() <= fDate.getTime() && fDate.getTime() < endDate.getTime())) {
203
- return false;
204
- }
205
- }
206
- } else {
207
- return false;
208
- }
209
- } else if ('L_' == con || 'N_' == con || 'IN_THE_PAST' == con || 'IN_THE_FUTURE' == con || 'IN_THE_PAST_DI' == con || 'IN_THE_FUTURE_DI' == con) {
210
- if (cObj['unit'] && XEUtils.isNumber(value)) {
211
- if (XEUtils.isDate(fVal)) {
212
- let fDate = XEUtils.convertDate(fVal);
213
- let curDate = new Date();
214
- let unit = cObj['unit'];
215
- if ('DAY' == unit || 'WEEK' == unit || 'MONTH' == unit || 'QUARTER' == unit || 'YEAR' == unit || 'HOUR' == unit) {
216
- let type = 'D';
217
- if ('WEEK' == unit) {
218
- type = 'W';
219
- } else if ('MONTH' == unit) {
220
- type = 'M';
221
- } else if ('QUARTER' == unit) {
222
- type = 'Q';
223
- } else if ('YEAR' == unit) {
224
- type = 'Y';
225
- } else if ('HOUR' == unit) {
226
- type = 'H';
227
- }
228
- let count = value * 1;
229
- if ('L_' == con) {
230
- let targetDate = XEUtils.addDate(new Date(), count * -1, type);
231
- if (fDate.getTime() < targetDate.getTime()) {
232
- return false;
233
- }
234
- } else if ('N_' == con) {
235
- let targetDate = XEUtils.addDate(new Date(), count, type);
236
- if (fDate.getTime() > targetDate.getTime()) {
237
- return false;
238
- }
239
- } else if ('IN_THE_PAST' == con) {
240
- let curTime = fDate.getTime();
241
- let endTime = curDate.getTime();
242
- let startTime = XEUtils.addDate(curDate, count * -1, type).getTime();
243
- if (curTime < startTime || curTime > endTime) {
244
- return false;
245
- }
246
- } else if ('IN_THE_FUTURE' == con) {
247
- let curTime = fDate.getTime();
248
- let startTime = curDate.getTime();
249
- let endTime = XEUtils.addDate(curDate, count, type).getTime();
250
- if (curTime < startTime || curTime > endTime) {
251
- return false;
252
- }
253
- } else if ('IN_THE_PAST_DI' == con || 'IN_THE_FUTURE_DI' == con) {
254
- let curTime = fDate.getTime();
255
- let useType = con == 'IN_THE_FUTURE_DI' ? 'add' : 'subtract';
256
- let { startTime, endTime } = XEUtils.addDiDate(curDate, count, unit, useType);
257
- if (curTime < startTime || curTime > endTime) {
258
- return false;
259
- }
260
- }
261
- }
262
- } else {
263
- return false;
264
- }
265
- }
266
- } else if ('IN' == con) {
267
- if (XEUtils.isDate(fVal)) {
268
- let fDate = XEUtils.convertDate(fVal);
269
- if (!value) {
270
- if (cObj['start_val'] && cObj['end_val']) {
271
- let start_val = cObj['start_val'];
272
- let end_val = cObj['end_val'];
273
- if (start_val && end_val && XEUtils.isDate(start_val) && XEUtils.isDate(end_val)) {
274
- let startDate = XEUtils.convertDate(start_val);
275
- let endDate = XEUtils.convertDate(end_val);
276
- if (!(startDate.getTime() <= fDate.getTime() && fDate.getTime() < endDate.getTime())) {
277
- return false;
278
- }
279
- } else {
280
- return false;
281
- }
282
- } else if (cObj['start_val']) {
283
- let start_val = cObj['start_val'];
284
- if (XEUtils.isDate(start_val)) {
285
- let startDate = XEUtils.convertDate(start_val);
286
- if (!(startDate.getTime() <= fDate.getTime())) {
287
- return false;
288
- }
289
- } else {
290
- return false;
291
- }
292
- } else if (cObj['end_val']) {
293
- let end_val = cObj['end_val'];
294
- if (XEUtils.isDate(end_val)) {
295
- let endDate = XEUtils.convertDate(end_val);
296
- if (!(fDate.getTime() < endDate.getTime())) {
297
- return false;
298
- }
299
- } else {
300
- return false;
301
- }
302
- }
303
- }
304
- }
305
- }
306
- }
307
- }
308
- if ('compare' == con) {
309
- if ('TEXT' == field.fieldType) {
310
- if (value.indexOf('|#|') != -1) {
311
- for (let kw in value.split('|#|')) {
312
- if (fVal.indexOf(kw) == -1) {
313
- return false;
314
- }
315
- }
316
- } else {
317
- if (cObj['mk'] && 'like' == cObj['mk']) {
318
- if (fVal.indexOf(value) == -1) {
319
- return false;
320
- }
321
- } else {
322
- if (fVal.indexOf(value) == -1) {
323
- return false;
324
- }
325
- }
326
- }
327
- } else if ('NUMBER' == field.fieldType()) {
328
- if (XEUtils.isNumber(value) && XEUtils.isNumber(fVal)) {
329
- if (fVal * 1 != value * 1) {
330
- return false;
331
- }
332
- } else {
333
- return false;
334
- }
335
- } else {
336
- if (fVal != value) {
337
- return false;
338
- }
339
- }
340
- }
341
- return true;
342
- },
343
- getBetween: function(value, type, comVal) {
344
- if (value && value.indexOf('~') != -1 && value.split('~').length == 2) {
345
- let start = value.split('~')[0];
346
- let end = value.split('~')[1];
347
- if ('number' == type) {
348
- if (XEUtils.isNumber(start) && XEUtils.isNumber(end)) {
349
- return start * 1 <= comVal * 1 && comVal * 1 < end * 1;
350
- }
351
- }
352
- }
353
- },
354
- convertDate: function(str) {
355
- if (str) {
356
- if (str.indexOf('-') != -1) {
357
- str = str = str.replace(/-/g, '/');
358
- try {
359
- let date = new Date(str);
360
- return date;
361
- } catch (e) {
362
- console.log(e);
363
- }
364
- } else {
365
- try {
366
- let date = new Date(str);
367
- return date;
368
- } catch (e) {
369
- console.log(e);
370
- }
371
- }
372
- }
373
- },
374
- addDate: function(tempDate, days, unit) {
375
- let date = tempDate;
376
- if (['D', 'H', 'W'].includes(unit)) {
377
- if (tempDate && XEUtils.isValidDate(tempDate)) {
378
- date = date.getTime();
379
- }
380
- }
381
- if (unit == 'D') {
382
- return new Date(date + days * 24 * 3600 * 1000);
383
- } else if (unit == 'W') {
384
- return new Date(date + days * 7 * 24 * 3600 * 1000);
385
- } else if (unit == 'M') {
386
- let newDate = new Date(date);
387
- newDate.setMonth(date.getMonth() + days);
388
- return newDate;
389
- } else if (unit == 'Q') {
390
- let newDate = new Date(date);
391
- newDate.setMonth(date.getMonth() + days * 3);
392
- return newDate;
393
- } else if (unit == 'Y') {
394
- let newDate = new Date(date);
395
- newDate.setMonth(date.getMonth() + days * 12);
396
- return newDate;
397
- } else if (unit == 'H') {
398
- return new Date(date + days * 3600 * 1000);
399
- }
400
- },
401
- addDiDate: function(curDate, count, unit = 'day', type) {
402
- let useTime,
403
- res = {};
404
- let getUnit = unit.toLowerCase();
405
- let useUnit = getUnit + 's';
406
- if (type == 'add') {
407
- useTime = moment(curDate).add(count, useUnit);
408
- } else {
409
- useTime = moment(curDate).subtract(count, useUnit);
410
- }
411
- res.startTime = useTime.startOf(getUnit).valueOf();
412
- res.endTime = useTime.endOf(getUnit).valueOf();
413
- return res;
414
- },
415
- // 获取当前季度第一天
416
- getCurSeasonFirstDay: function() {
417
- let curDate = new Date();
418
- let year = curDate.getFullYear();
419
- let month = curDate.getMonth() + 1;
420
- if (month >= 1 && month <= 3) {
421
- return new Date(year + '/01/01');
422
- } else if (4 <= month && month <= 6) {
423
- return new Date(year + '/04/01');
424
- } else if (7 <= month && month <= 9) {
425
- return new Date(year + '/07/01');
426
- } else {
427
- return new Date(year + '/10/01');
428
- }
429
- },
430
- isNumber: function(val) {
431
- try {
432
- let i = val * 1 + 100;
433
- if (i > 0 || i < 0 || i == 0) {
434
- return true;
435
- }
436
- } catch (e) {
437
- console.log(e);
438
- }
439
- return false;
440
- },
441
- isDate: function(data) {
442
- if (isNaN(data) && !isNaN(Date.parse(data))) {
443
- return true;
444
- }
445
- return false;
446
- }
447
- };
448
- XEUtils.mixin({
449
- ...com,
450
- isJSON(str) {
451
- if (typeof str == 'string') {
452
- try {
453
- let obj = JSON.parse(str);
454
- if (typeof obj == 'object' && obj) {
455
- return true;
456
- } else {
457
- return false;
458
- }
459
- } catch (e) {
460
- return false;
461
- }
462
- }
463
- return false;
464
- },
465
- /**
466
- * 获取按钮自定义颜色
467
- * @param {string} v
468
- */
469
- getBtnStyle(v) {
470
- // custom_bg, white_bg, none_bg
471
- if (v.showStyle == 'white_bg') {
472
- return {
473
- 'border-color': v.color,
474
- color: v.color
475
- };
476
- } else if (v.showStyle == 'none_bg') {
477
- return {
478
- color: v.color
479
- };
480
- } else if (v.showStyle == 'only_icon') {
481
- return {
482
- 'background-color': v.color,
483
- 'border-color': v.color
484
- // color: v.color
485
- };
486
- }
487
- return {
488
- 'background-color': v.color,
489
- 'border-color': v.color
490
- };
491
- },
492
-
493
- oldColorMap(str) {
494
- let oldMap = {
495
- blue: 'blue',
496
- sky: 'skyblue',
497
- azure: 'azure',
498
- palegreen: 'palegreen',
499
- yellow: 'yellow',
500
- darkorange: 'darkorange',
501
- magenta: 'magenta',
502
- purple: 'purple',
503
- maroon: 'maroon',
504
- orange: 'orange',
505
- green: 'green',
506
- red: 'red',
507
- grey: 'grey'
508
- };
509
- if (!str || !oldMap[str]) return '';
510
- return oldMap[str];
511
- },
512
-
513
- validateBirthday(val, title, type) {
514
- let res = true;
515
- if (!type) return false;
516
- let regObj = {
517
- DAYReg: /^([0-9]|[1-9][0-9]|[1-2][0-9][0-9]|[3][0-5][0-9]|(360|361|363|362|364|365))$/,
518
- MONTHReg: /^(?:[0-9]|1[0-2])$/,
519
- YEARReg: /^(?:[1-9]?\d|100)$/
520
- };
521
- let testReg = `${type}Reg`;
522
- if (!regObj[testReg].test(+val)) {
523
- this.$message.warning(`${title}${this.$t('1.9.40')}`, 2);
524
- res = false;
525
- }
526
- return res;
527
- },
528
-
529
- handleImageSize(item, defaultHeight) {
530
- let res = {
531
- display: 'inline-block',
532
- height: defaultHeight
533
- };
534
- if (item.h) {
535
- res.height = item.h === 'adaptive' ? 'auto' : item.h + 'px';
536
- }
537
- if (item.w) {
538
- res.width = item.w === 'adaptive' ? 'auto' : item.w + 'px';
539
- }
540
- return res;
541
- },
542
-
543
- /**
544
- * 大数组复制
545
- * @param {*} arr 复制的数据
546
- * @param {*} size 每次操作的数据量
547
- * @returns {Array}
548
- */
549
- handleBigArrayCopy(arr, size = 1000) {
550
- if (!Array.isArray(arr)) return arr;
551
- let cSize = size || 1000;
552
- const list = XEUtils.chunk(arr, cSize);
553
-
554
- const copyFunc = (list = [], type = 'json') => {
555
- const obj = {
556
- json: v => JSON.parse(JSON.stringify(v)),
557
- clone: v => XEUtils.clone(v, true)
558
- };
559
- let copyList = [];
560
- list.forEach(v => {
561
- let rs = obj[type](v);
562
- copyList.push(rs);
563
- });
564
- return XEUtils.flatten(copyList);
565
- };
566
- let res = [];
567
- try {
568
- res = copyFunc(list, 'json');
569
- } catch (error) {
570
- // 防止数据大,使用JSON.stringify 超出字符串长度
571
- res = copyFunc(list, 'clone');
572
- }
573
- return res;
574
- },
575
-
576
- // color 获取 alpha
577
- getAlphafloat(a, alpha) {
578
- if (typeof a !== 'undefined') {
579
- return parseFloat((a / 256).toFixed(2));
580
- }
581
- if (typeof alpha !== 'undefined') {
582
- if (1 < alpha && alpha <= 100) {
583
- return parseFloat((alpha / 100).toFixed(2));
584
- }
585
- if (0 <= alpha && alpha <= 1) {
586
- return parseFloat(alpha.toFixed(2));
587
- }
588
- }
589
- return 1;
590
- },
591
-
592
- // hex 转 rgba
593
- hexToRGBA(hex, alpha) {
594
- const isValidHex = hex => /^#([A-Fa-f0-9]{3,4}){1,2}$/.test(hex);
595
- const getChunksFromString = (st, chunkSize) => st.match(new RegExp(`.{${chunkSize}}`, 'g'));
596
-
597
- const convertHexUnitTo256 = hexStr => parseInt(hexStr.repeat(2 / hexStr.length), 16);
598
-
599
- if (!isValidHex(hex)) {
600
- console.log('Invalid HEX');
601
- return '';
602
- }
603
- const chunkSize = Math.floor((hex.length - 1) / 3);
604
- const hexArr = getChunksFromString(hex.slice(1), chunkSize);
605
- const [r, g, b, a] = hexArr.map(convertHexUnitTo256);
606
- return {
607
- r: r,
608
- g: g,
609
- b: b,
610
- a: XEUtils.getAlphafloat(a, alpha)
611
- };
612
- },
613
-
614
- /**
615
- *
616
- * 时间转换
617
- * @param {type} type 时间戳类型
618
- * @param {time} time 时间戳
619
- */
620
- formatTime(type, time) {
621
- let format = '';
622
- if (!time) return '';
623
- switch (type) {
624
- case 'DATE':
625
- format = 'yyyy-MM-dd';
626
- break;
627
- case 'DATETIME':
628
- format = 'yyyy-MM-dd HH:mm:ss';
629
- break;
630
- case 'TIME':
631
- format = 'HH:mm:ss';
632
- break;
633
- case 'MOUTH':
634
- format = 'MM-dd';
635
- break;
636
- case 'DATETIMESTR':
637
- format = 'yyyy年M月dd日 HH:mm';
638
- break;
639
- case 'MOUTHTIME':
640
- format = 'M月d日 HH:mm';
641
- break;
642
- case 'HM':
643
- format = ' HH:mm';
644
- break;
645
- default:
646
- break;
647
- }
648
- return XEUtils.toDateString(time, format);
649
- },
650
- formatDate(date, isShowYear = false) {
651
- const today = new Date();
652
- const curDate = date || today.getTime();
653
-
654
- const todayStr = XEUtils.formatTime('DATE', today.getTime());
655
- const todayTimeStamp = XEUtils.convertDate(todayStr + ' 00:00:00').getTime();
656
- // const yesterdayTimeStamp = todayTimeStamp - 24 * 60 * 60 * 1000;
657
- const thisYear = today.getFullYear();
658
- const curYear = new Date(+curDate).getFullYear();
659
- if (curDate > todayTimeStamp) {
660
- return XEUtils.formatTime('TIME', curDate);
661
- }
662
- // else if (curDate > yesterdayTimeStamp) {
663
- // return "昨天 " + XEUtils.formatTime("TIME", curDate);
664
- // }
665
- else {
666
- if (!isShowYear) return XEUtils.formatTime('DATETIME', curDate);
667
- if (thisYear !== curYear) {
668
- return XEUtils.formatTime('DATETIMESTR', curDate);
669
- }
670
- return XEUtils.formatTime('MOUTHTIME', curDate);
671
- }
672
- },
673
- imgs2imgArr(imgs) {
674
- if (!imgs) return [];
675
-
676
- return imgs
677
- .replace(/(,)(data|http)/g, (match, p1, p2) => {
678
- return `|${p2}`;
679
- })
680
- .split('|');
681
- },
682
- filterOption(input, option, extraValue) {
683
- try {
684
- let text = option.componentOptions.children[0].text;
685
- let lowText = text.toLowerCase();
686
- let lowInput = input.toLowerCase();
687
- let extraText = extraValue?.toLowerCase() || '';
688
- let flag = false;
689
- var reg = /^[a-zA-Z]+$/;
690
- if (typeof text === 'string' && reg.test(input) && ''._toPinYin) {
691
- flag = lowText._toPinYin().indexOf(lowInput) >= 0 || (extraText && extraText._toPinYin().indexOf(lowInput) >= 0);
692
- }
693
- return flag || lowText.indexOf(lowInput) >= 0 || (extraText && extraText.indexOf(lowInput) >= 0);
694
- } catch (error) {
695
- return false;
696
- }
697
- },
698
-
699
- /**
700
- * 转换含有###的值
701
- * @param {*} item
702
- * @param {*} k key
703
- * @returns
704
- */
705
- stringToValue(item, k = 'value') {
706
- if (XEUtils.isString(item)) {
707
- if (item && item.startsWith('###{')) {
708
- let temp = JSON.parse(item.replace('###', ''));
709
- item = temp[k];
710
- }
711
- }
712
- return item;
713
- },
714
-
715
- notEmpty(text) {
716
- return XEUtils.isBoolean(text) || String(text) === '0' || !!text;
717
- },
718
-
719
- anyNotEmpty(text) {
720
- if (Array.isArray(text)) return text.length > 0;
721
- if (XEUtils.isObject(text)) return Object.keys(text || {}).length > 0;
722
- return XEUtils.notEmpty(text);
723
- },
724
-
725
- /**
726
- * 变量转换
727
- * @param {string} str
728
- * @param {object} obj
729
- * @param {string | number} noval // 没有值,默认赋值
730
- */
731
- handleSysParams(str, obj = {}, noval = '') {
732
- let p = {
733
- ...obj
734
- };
735
- const that = this;
736
- // 解析变量
737
- const getValList = (plsList = [], obj = {}) => {
738
- var l = [];
739
- var o = obj;
740
- plsList.forEach(v => {
741
- let c = v;
742
- // xx.xx
743
- if (v.includes('.')) {
744
- try {
745
- // 使用 eval 解析 'result.map.map.filed'
746
- eval(`c=o.${v}`);
747
- } catch (error) {
748
- c = '';
749
- }
750
- }
751
- if (XEUtils.notEmpty(c)) {
752
- l.push(c);
753
- }
754
- });
755
- return l;
756
- };
757
- const getVal = (t, r, k) => {
758
- return t.replace(r, function() {
759
- var pKey = arguments[1];
760
- // 切割
761
- var pls = pKey.split('!');
762
- // 取值
763
- var l = getValList(pls, p);
764
- var f = l.find(v => XEUtils.notEmpty(v));
765
- var res = f;
766
- res = XEUtils.notEmpty(res) ? res : noval;
767
- return res;
768
- });
769
- };
770
- if (typeof str === 'string') {
771
- if (str.includes('form')) {
772
- str = getVal(str, /\${(.*?)\}/g, 'form');
773
- }
774
- if (str.includes('sys')) {
775
- str = getVal(str, /\${(.*?)\}/g, 'sys');
776
- }
777
- if (str.includes('db')) {
778
- str = getVal(str, /\${(.*?)\}/g, 'db');
779
- }
780
- if (str.includes('table')) {
781
- str = getVal(str, /\${(.*?)\}/g, 'table');
782
- }
783
- if (str.includes('result')) {
784
- str = getVal(str, /\${(.*?)\}/g, 'result');
785
- }
786
- }
787
- return str;
788
- },
789
- /**
790
- * 去掉字符串两边的空格
791
- * @param {string} str
792
- * @return {string}
793
- */
794
- handleClearStrBlank(str) {
795
- if (typeof str === 'string') {
796
- return str.replace(/^\s*|\s*$/g, '');
797
- }
798
- return str;
799
- },
800
- // 数组对象去重
801
- uniqArrObj(arr, name) {
802
- let obj = {};
803
- return arr.reduce((cur, next) => {
804
- obj[next[name]] ? '' : (obj[next[name]] = true && cur.push(next));
805
- return cur;
806
- }, []);
807
- }
808
- });
809
-
810
- export default XEUtils;
811
-
812
- export { moment };
813
-
814
- export function formatReleaseTime(type, time) {
815
- if (time < 0) {
816
- return '';
817
- }
818
- let format = '';
819
- switch (type) {
820
- case 'DATE':
821
- format = 'yyyy-MM-dd';
822
- break;
823
- case 'DATETIMENew':
824
- format = 'yyyy-MM-dd HH:mm';
825
- break;
826
- case 'DATETIME':
827
- format = 'yyyy-MM-dd HH:mm:ss';
828
- break;
829
- case 'TIME':
830
- format = 'HH:mm:ss';
831
- break;
832
- default:
833
- break;
834
- }
835
- return XEUtils.toDateString(time, format);
836
- }
1
+ import XEUtils from 'xe-utils';
2
+ import moment from 'moment';
3
+ // com内容来源于老项目
4
+ const com = {
5
+ parseCondition: function(conList, data, fieldList) {
6
+ if (conList && conList.length > 0 && data && data.table) {
7
+ for (let i = 0; i < conList.length; i++) {
8
+ let conObj = conList[i];
9
+ if (conObj && conObj.field_key && conObj.con) {
10
+ let value = data.table[conObj.field_key];
11
+ let fieldObj = XEUtils.getFieldByKey(conObj.field_key, fieldList);
12
+ // 缺少fieldObj 或 value 则条件不成立 2020.09.09。
13
+ if (!fieldObj || (!value && String(value) !== '0')) return false;
14
+ if (!XEUtils.getConnection(conObj, value, fieldObj)) {
15
+ return false;
16
+ }
17
+ }
18
+ }
19
+ }
20
+ return true;
21
+ },
22
+ getFieldByKey: function(fieldKey, fieldList) {
23
+ if (fieldList && fieldList.length > 0) {
24
+ for (let i = 0; i < fieldList.length; i++) {
25
+ let fobj = fieldList[i];
26
+ if (fobj.columnName == fieldKey) {
27
+ return fobj;
28
+ }
29
+ }
30
+ }
31
+ },
32
+ getConnection: function(cObj, fVal, field) {
33
+ let con = cObj.con;
34
+ let value = cObj.value;
35
+ // 修改 #['NULL','NOT_NULL'] 的判断: value => fval 2020-09-15.
36
+ if ('NULL' == con) {
37
+ if (fVal) {
38
+ return false;
39
+ }
40
+ } else if ('NOT_NULL' == con) {
41
+ if (!fVal) {
42
+ return false;
43
+ }
44
+ }
45
+
46
+ if ('TEXT' == field.fieldType) {
47
+ if ('CL' == con) {
48
+ if (fVal.indexOf(value) == -1) {
49
+ return false;
50
+ }
51
+ } else if ('NC' == con) {
52
+ if (fVal.indexOf(value) != -1) {
53
+ return false;
54
+ }
55
+ } else if ('EQ' == con || 'QUOTE' == con) {
56
+ if (value.indexOf('|#|') != -1) {
57
+ for (let kw in value.split('|#|')) {
58
+ if (fVal.indexOf(kw) == -1) {
59
+ return false;
60
+ }
61
+ }
62
+ } else {
63
+ if (fVal != value) {
64
+ return false;
65
+ }
66
+ }
67
+ } else if ('NEQ' == con) {
68
+ if (fVal == value) {
69
+ return false;
70
+ }
71
+ }
72
+ } else {
73
+ if ('NUMBER' == field.fieldType) {
74
+ if (!XEUtils.isNumber(fVal)) {
75
+ return false;
76
+ }
77
+ if ('EQ' == con || 'QUOTE' == con) {
78
+ if (XEUtils.isNumber(value)) {
79
+ if (fVal * 1 != value * 1) {
80
+ return false;
81
+ }
82
+ } else {
83
+ if (!XEUtils.getBetween(value, 'number', fVal)) {
84
+ return false;
85
+ }
86
+ }
87
+ } else if ('NEQ' == con) {
88
+ if (XEUtils.isNumber(value)) {
89
+ if (fVal * 1 == value * 1) {
90
+ return false;
91
+ }
92
+ }
93
+ } else if ('BIG' == con) {
94
+ if (XEUtils.isNumber(value)) {
95
+ if (fVal * 1 <= value * 1) {
96
+ return false;
97
+ }
98
+ }
99
+ } else if ('LESS' == con) {
100
+ if (XEUtils.isNumber(value)) {
101
+ if (fVal * 1 >= value * 1) {
102
+ return false;
103
+ }
104
+ }
105
+ }
106
+ } else {
107
+ if (
108
+ 'TODAY' == con ||
109
+ 'TOMORROW' == con ||
110
+ 'YESTERDAY' == con ||
111
+ 'THIS_WEEK' == con ||
112
+ 'NEXT_WEEK' == con ||
113
+ 'UP_WEEK' == con ||
114
+ 'THIS_MONTH' == con ||
115
+ 'NEXT_MONTH' == con ||
116
+ 'UP_MONTH' == con ||
117
+ 'THIS_SEASON' == con ||
118
+ 'NEXT_SEASON' == con ||
119
+ 'UP_SEASON' == con ||
120
+ 'THIS_YEAR' == con ||
121
+ 'NEXT_YEAR' == con ||
122
+ 'UP_YEAR' == con
123
+ ) {
124
+ if (XEUtils.isDate(fVal)) {
125
+ let curDate = new Date();
126
+ let startDate;
127
+ let endDate;
128
+ let oneDayTime = 24 * 60 * 60 * 1000;
129
+ let fDate = XEUtils.convertDate(fVal);
130
+ let curDateStr = XEUtils.toDateString(curDate, 'yyyy-MM-dd');
131
+ if ('TODAY' == con) {
132
+ startDate = XEUtils.convertDate(curDateStr + ' 00:00:00');
133
+ endDate = XEUtils.convertDate(curDateStr + ' 23:59:59');
134
+ } else if ('TOMORROW' == con) {
135
+ let tomorrowDate = XEUtils.addDate(curDate, 1, 'D');
136
+ let dateStr = tomorrowDate.format('yyyy-MM-dd');
137
+ startDate = XEUtils.convertDate(dateStr + ' 00:00:00');
138
+ endDate = XEUtils.convertDate(dateStr + ' 23:59:59');
139
+ } else if ('YESTERDAY' == con) {
140
+ let tomorrowDate = XEUtils.addDate(curDate, -1, 'D');
141
+ let dateStr = tomorrowDate.format('yyyy-MM-dd');
142
+ startDate = XEUtils.convertDate(dateStr + ' 00:00:00');
143
+ endDate = XEUtils.convertDate(dateStr + ' 23:59:59');
144
+ } else if ('THIS_WEEK' == con) {
145
+ let day = curDate.getDay() || 7;
146
+ let mondayTime = curDate.getTime() - (day - 1) * oneDayTime;
147
+ let mundayTime = curDate.getTime() + (7 - day) * oneDayTime;
148
+ startDate = new Date(mondayTime);
149
+ endDate = new Date(mundayTime);
150
+ } else if ('NEXT_WEEK' == con) {
151
+ let sevenDays = XEUtils.addDate(curDate, 1, 'W');
152
+ let day = sevenDays.getDay() || 7;
153
+ let mondayTime = sevenDays.getTime() - (day - 1) * oneDayTime;
154
+ let mundayTime = sevenDays.getTime() + (7 - day) * oneDayTime;
155
+ startDate = new Date(mondayTime);
156
+ endDate = new Date(mundayTime);
157
+ } else if ('UP_WEEK' == con) {
158
+ let sevenDays = XEUtils.addDate(curDate, -1, 'W');
159
+ let day = sevenDays.getDay() || 7;
160
+ let mondayTime = sevenDays.getTime() - (day - 1) * oneDayTime;
161
+ let mundayTime = sevenDays.getTime() + (7 - day) * oneDayTime;
162
+ startDate = new Date(mondayTime);
163
+ endDate = new Date(mundayTime);
164
+ } else if ('THIS_MONTH' == con) {
165
+ let date = new Date();
166
+ date.setDate(1);
167
+ startDate = date;
168
+ endDate = XEUtils.addDate(date, 1, 'M');
169
+ } else if ('NEXT_MONTH' == con) {
170
+ let date = new Date();
171
+ date.setDate(1);
172
+ startDate = XEUtils.addDate(date, 1, 'M');
173
+ endDate = XEUtils.addDate(date, 2, 'M');
174
+ } else if ('UP_MONTH' == con) {
175
+ let date = new Date();
176
+ date.setDate(1);
177
+ startDate = XEUtils.addDate(date, -1, 'M');
178
+ endDate = date;
179
+ } else if ('THIS_SEASON' == con) {
180
+ startDate = XEUtils.getCurSeasonFirstDay();
181
+ endDate = XEUtils.addDate(startDate, 3, 'M');
182
+ } else if ('NEXT_SEASON' == con) {
183
+ startDate = XEUtils.addDate(XEUtils.getCurSeasonFirstDay(), 3, 'M');
184
+ endDate = XEUtils.addDate(startDate, 3, 'M');
185
+ } else if ('UP_SEASON' == con) {
186
+ endDate = XEUtils.getCurSeasonFirstDay();
187
+ startDate = XEUtils.addDate(endDate, -3, 'M');
188
+ } else if ('THIS_YEAR' == con) {
189
+ let date = new Date();
190
+ startDate = new Date(date.getFullYear() + '/01/01');
191
+ endDate = XEUtils.addDate(startDate, 1, 'Y');
192
+ } else if ('NEXT_YEAR' == con) {
193
+ let date = new Date();
194
+ startDate = XEUtils.addDate(new Date(date.getFullYear() + '/01/01'), 1, 'Y');
195
+ endDate = XEUtils.addDate(startDate, 1, 'Y');
196
+ } else if ('UP_YEAR' == con) {
197
+ let date = new Date();
198
+ endDate = new Date(date.getFullYear() + '/01/01');
199
+ startDate = XEUtils.addDate(endDate, -1, 'Y');
200
+ }
201
+ if (startDate && endDate) {
202
+ if (!(startDate.getTime() <= fDate.getTime() && fDate.getTime() < endDate.getTime())) {
203
+ return false;
204
+ }
205
+ }
206
+ } else {
207
+ return false;
208
+ }
209
+ } else if ('L_' == con || 'N_' == con || 'IN_THE_PAST' == con || 'IN_THE_FUTURE' == con || 'IN_THE_PAST_DI' == con || 'IN_THE_FUTURE_DI' == con) {
210
+ if (cObj['unit'] && XEUtils.isNumber(value)) {
211
+ if (XEUtils.isDate(fVal)) {
212
+ let fDate = XEUtils.convertDate(fVal);
213
+ let curDate = new Date();
214
+ let unit = cObj['unit'];
215
+ if ('DAY' == unit || 'WEEK' == unit || 'MONTH' == unit || 'QUARTER' == unit || 'YEAR' == unit || 'HOUR' == unit) {
216
+ let type = 'D';
217
+ if ('WEEK' == unit) {
218
+ type = 'W';
219
+ } else if ('MONTH' == unit) {
220
+ type = 'M';
221
+ } else if ('QUARTER' == unit) {
222
+ type = 'Q';
223
+ } else if ('YEAR' == unit) {
224
+ type = 'Y';
225
+ } else if ('HOUR' == unit) {
226
+ type = 'H';
227
+ }
228
+ let count = value * 1;
229
+ if ('L_' == con) {
230
+ let targetDate = XEUtils.addDate(new Date(), count * -1, type);
231
+ if (fDate.getTime() < targetDate.getTime()) {
232
+ return false;
233
+ }
234
+ } else if ('N_' == con) {
235
+ let targetDate = XEUtils.addDate(new Date(), count, type);
236
+ if (fDate.getTime() > targetDate.getTime()) {
237
+ return false;
238
+ }
239
+ } else if ('IN_THE_PAST' == con) {
240
+ let curTime = fDate.getTime();
241
+ let endTime = curDate.getTime();
242
+ let startTime = XEUtils.addDate(curDate, count * -1, type).getTime();
243
+ if (curTime < startTime || curTime > endTime) {
244
+ return false;
245
+ }
246
+ } else if ('IN_THE_FUTURE' == con) {
247
+ let curTime = fDate.getTime();
248
+ let startTime = curDate.getTime();
249
+ let endTime = XEUtils.addDate(curDate, count, type).getTime();
250
+ if (curTime < startTime || curTime > endTime) {
251
+ return false;
252
+ }
253
+ } else if ('IN_THE_PAST_DI' == con || 'IN_THE_FUTURE_DI' == con) {
254
+ let curTime = fDate.getTime();
255
+ let useType = con == 'IN_THE_FUTURE_DI' ? 'add' : 'subtract';
256
+ let { startTime, endTime } = XEUtils.addDiDate(curDate, count, unit, useType);
257
+ if (curTime < startTime || curTime > endTime) {
258
+ return false;
259
+ }
260
+ }
261
+ }
262
+ } else {
263
+ return false;
264
+ }
265
+ }
266
+ } else if ('IN' == con) {
267
+ if (XEUtils.isDate(fVal)) {
268
+ let fDate = XEUtils.convertDate(fVal);
269
+ if (!value) {
270
+ if (cObj['start_val'] && cObj['end_val']) {
271
+ let start_val = cObj['start_val'];
272
+ let end_val = cObj['end_val'];
273
+ if (start_val && end_val && XEUtils.isDate(start_val) && XEUtils.isDate(end_val)) {
274
+ let startDate = XEUtils.convertDate(start_val);
275
+ let endDate = XEUtils.convertDate(end_val);
276
+ if (!(startDate.getTime() <= fDate.getTime() && fDate.getTime() < endDate.getTime())) {
277
+ return false;
278
+ }
279
+ } else {
280
+ return false;
281
+ }
282
+ } else if (cObj['start_val']) {
283
+ let start_val = cObj['start_val'];
284
+ if (XEUtils.isDate(start_val)) {
285
+ let startDate = XEUtils.convertDate(start_val);
286
+ if (!(startDate.getTime() <= fDate.getTime())) {
287
+ return false;
288
+ }
289
+ } else {
290
+ return false;
291
+ }
292
+ } else if (cObj['end_val']) {
293
+ let end_val = cObj['end_val'];
294
+ if (XEUtils.isDate(end_val)) {
295
+ let endDate = XEUtils.convertDate(end_val);
296
+ if (!(fDate.getTime() < endDate.getTime())) {
297
+ return false;
298
+ }
299
+ } else {
300
+ return false;
301
+ }
302
+ }
303
+ }
304
+ }
305
+ }
306
+ }
307
+ }
308
+ if ('compare' == con) {
309
+ if ('TEXT' == field.fieldType) {
310
+ if (value.indexOf('|#|') != -1) {
311
+ for (let kw in value.split('|#|')) {
312
+ if (fVal.indexOf(kw) == -1) {
313
+ return false;
314
+ }
315
+ }
316
+ } else {
317
+ if (cObj['mk'] && 'like' == cObj['mk']) {
318
+ if (fVal.indexOf(value) == -1) {
319
+ return false;
320
+ }
321
+ } else {
322
+ if (fVal.indexOf(value) == -1) {
323
+ return false;
324
+ }
325
+ }
326
+ }
327
+ } else if ('NUMBER' == field.fieldType()) {
328
+ if (XEUtils.isNumber(value) && XEUtils.isNumber(fVal)) {
329
+ if (fVal * 1 != value * 1) {
330
+ return false;
331
+ }
332
+ } else {
333
+ return false;
334
+ }
335
+ } else {
336
+ if (fVal != value) {
337
+ return false;
338
+ }
339
+ }
340
+ }
341
+ return true;
342
+ },
343
+ getBetween: function(value, type, comVal) {
344
+ if (value && value.indexOf('~') != -1 && value.split('~').length == 2) {
345
+ let start = value.split('~')[0];
346
+ let end = value.split('~')[1];
347
+ if ('number' == type) {
348
+ if (XEUtils.isNumber(start) && XEUtils.isNumber(end)) {
349
+ return start * 1 <= comVal * 1 && comVal * 1 < end * 1;
350
+ }
351
+ }
352
+ }
353
+ },
354
+ convertDate: function(str) {
355
+ if (str) {
356
+ if (str.indexOf('-') != -1) {
357
+ str = str = str.replace(/-/g, '/');
358
+ try {
359
+ let date = new Date(str);
360
+ return date;
361
+ } catch (e) {
362
+ console.log(e);
363
+ }
364
+ } else {
365
+ try {
366
+ let date = new Date(str);
367
+ return date;
368
+ } catch (e) {
369
+ console.log(e);
370
+ }
371
+ }
372
+ }
373
+ },
374
+ addDate: function(tempDate, days, unit) {
375
+ let date = tempDate;
376
+ if (['D', 'H', 'W'].includes(unit)) {
377
+ if (tempDate && XEUtils.isValidDate(tempDate)) {
378
+ date = date.getTime();
379
+ }
380
+ }
381
+ if (unit == 'D') {
382
+ return new Date(date + days * 24 * 3600 * 1000);
383
+ } else if (unit == 'W') {
384
+ return new Date(date + days * 7 * 24 * 3600 * 1000);
385
+ } else if (unit == 'M') {
386
+ let newDate = new Date(date);
387
+ newDate.setMonth(date.getMonth() + days);
388
+ return newDate;
389
+ } else if (unit == 'Q') {
390
+ let newDate = new Date(date);
391
+ newDate.setMonth(date.getMonth() + days * 3);
392
+ return newDate;
393
+ } else if (unit == 'Y') {
394
+ let newDate = new Date(date);
395
+ newDate.setMonth(date.getMonth() + days * 12);
396
+ return newDate;
397
+ } else if (unit == 'H') {
398
+ return new Date(date + days * 3600 * 1000);
399
+ }
400
+ },
401
+ addDiDate: function(curDate, count, unit = 'day', type) {
402
+ let useTime,
403
+ res = {};
404
+ let getUnit = unit.toLowerCase();
405
+ let useUnit = getUnit + 's';
406
+ if (type == 'add') {
407
+ useTime = moment(curDate).add(count, useUnit);
408
+ } else {
409
+ useTime = moment(curDate).subtract(count, useUnit);
410
+ }
411
+ res.startTime = useTime.startOf(getUnit).valueOf();
412
+ res.endTime = useTime.endOf(getUnit).valueOf();
413
+ return res;
414
+ },
415
+ // 获取当前季度第一天
416
+ getCurSeasonFirstDay: function() {
417
+ let curDate = new Date();
418
+ let year = curDate.getFullYear();
419
+ let month = curDate.getMonth() + 1;
420
+ if (month >= 1 && month <= 3) {
421
+ return new Date(year + '/01/01');
422
+ } else if (4 <= month && month <= 6) {
423
+ return new Date(year + '/04/01');
424
+ } else if (7 <= month && month <= 9) {
425
+ return new Date(year + '/07/01');
426
+ } else {
427
+ return new Date(year + '/10/01');
428
+ }
429
+ },
430
+ isNumber: function(val) {
431
+ try {
432
+ let i = val * 1 + 100;
433
+ if (i > 0 || i < 0 || i == 0) {
434
+ return true;
435
+ }
436
+ } catch (e) {
437
+ console.log(e);
438
+ }
439
+ return false;
440
+ },
441
+ isDate: function(data) {
442
+ if (isNaN(data) && !isNaN(Date.parse(data))) {
443
+ return true;
444
+ }
445
+ return false;
446
+ }
447
+ };
448
+ XEUtils.mixin({
449
+ ...com,
450
+ isJSON(str) {
451
+ if (typeof str == 'string') {
452
+ try {
453
+ let obj = JSON.parse(str);
454
+ if (typeof obj == 'object' && obj) {
455
+ return true;
456
+ } else {
457
+ return false;
458
+ }
459
+ } catch (e) {
460
+ return false;
461
+ }
462
+ }
463
+ return false;
464
+ },
465
+ /**
466
+ * 获取按钮自定义颜色
467
+ * @param {string} v
468
+ */
469
+ getBtnStyle(v) {
470
+ // custom_bg, white_bg, none_bg
471
+ if (v.showStyle == 'white_bg') {
472
+ return {
473
+ 'border-color': v.color,
474
+ color: v.color
475
+ };
476
+ } else if (v.showStyle == 'none_bg') {
477
+ return {
478
+ color: v.color
479
+ };
480
+ } else if (v.showStyle == 'only_icon') {
481
+ return {
482
+ 'background-color': v.color,
483
+ 'border-color': v.color
484
+ // color: v.color
485
+ };
486
+ }
487
+ return {
488
+ 'background-color': v.color,
489
+ 'border-color': v.color
490
+ };
491
+ },
492
+
493
+ oldColorMap(str) {
494
+ let oldMap = {
495
+ blue: 'blue',
496
+ sky: 'skyblue',
497
+ azure: 'azure',
498
+ palegreen: 'palegreen',
499
+ yellow: 'yellow',
500
+ darkorange: 'darkorange',
501
+ magenta: 'magenta',
502
+ purple: 'purple',
503
+ maroon: 'maroon',
504
+ orange: 'orange',
505
+ green: 'green',
506
+ red: 'red',
507
+ grey: 'grey'
508
+ };
509
+ if (!str || !oldMap[str]) return '';
510
+ return oldMap[str];
511
+ },
512
+
513
+ validateBirthday(val, title, type) {
514
+ let res = true;
515
+ if (!type) return false;
516
+ let regObj = {
517
+ DAYReg: /^([0-9]|[1-9][0-9]|[1-2][0-9][0-9]|[3][0-5][0-9]|(360|361|363|362|364|365))$/,
518
+ MONTHReg: /^(?:[0-9]|1[0-2])$/,
519
+ YEARReg: /^(?:[1-9]?\d|100)$/
520
+ };
521
+ let testReg = `${type}Reg`;
522
+ if (!regObj[testReg].test(+val)) {
523
+ this.$message.warning(`${title}${this.$t('1.9.40')}`, 2);
524
+ res = false;
525
+ }
526
+ return res;
527
+ },
528
+
529
+ handleImageSize(item, defaultHeight) {
530
+ let res = {
531
+ display: 'inline-block',
532
+ height: defaultHeight
533
+ };
534
+ if (item.h) {
535
+ res.height = item.h === 'adaptive' ? 'auto' : item.h + 'px';
536
+ }
537
+ if (item.w) {
538
+ res.width = item.w === 'adaptive' ? 'auto' : item.w + 'px';
539
+ }
540
+ return res;
541
+ },
542
+
543
+ /**
544
+ * 大数组复制
545
+ * @param {*} arr 复制的数据
546
+ * @param {*} size 每次操作的数据量
547
+ * @returns {Array}
548
+ */
549
+ handleBigArrayCopy(arr, size = 1000) {
550
+ if (!Array.isArray(arr)) return arr;
551
+ let cSize = size || 1000;
552
+ const list = XEUtils.chunk(arr, cSize);
553
+
554
+ const copyFunc = (list = [], type = 'json') => {
555
+ const obj = {
556
+ json: v => JSON.parse(JSON.stringify(v)),
557
+ clone: v => XEUtils.clone(v, true)
558
+ };
559
+ let copyList = [];
560
+ list.forEach(v => {
561
+ let rs = obj[type](v);
562
+ copyList.push(rs);
563
+ });
564
+ return XEUtils.flatten(copyList);
565
+ };
566
+ let res = [];
567
+ try {
568
+ res = copyFunc(list, 'json');
569
+ } catch (error) {
570
+ // 防止数据大,使用JSON.stringify 超出字符串长度
571
+ res = copyFunc(list, 'clone');
572
+ }
573
+ return res;
574
+ },
575
+
576
+ // color 获取 alpha
577
+ getAlphafloat(a, alpha) {
578
+ if (typeof a !== 'undefined') {
579
+ return parseFloat((a / 256).toFixed(2));
580
+ }
581
+ if (typeof alpha !== 'undefined') {
582
+ if (1 < alpha && alpha <= 100) {
583
+ return parseFloat((alpha / 100).toFixed(2));
584
+ }
585
+ if (0 <= alpha && alpha <= 1) {
586
+ return parseFloat(alpha.toFixed(2));
587
+ }
588
+ }
589
+ return 1;
590
+ },
591
+
592
+ // hex 转 rgba
593
+ hexToRGBA(hex, alpha) {
594
+ const isValidHex = hex => /^#([A-Fa-f0-9]{3,4}){1,2}$/.test(hex);
595
+ const getChunksFromString = (st, chunkSize) => st.match(new RegExp(`.{${chunkSize}}`, 'g'));
596
+
597
+ const convertHexUnitTo256 = hexStr => parseInt(hexStr.repeat(2 / hexStr.length), 16);
598
+
599
+ if (!isValidHex(hex)) {
600
+ console.log('Invalid HEX');
601
+ return '';
602
+ }
603
+ const chunkSize = Math.floor((hex.length - 1) / 3);
604
+ const hexArr = getChunksFromString(hex.slice(1), chunkSize);
605
+ const [r, g, b, a] = hexArr.map(convertHexUnitTo256);
606
+ return {
607
+ r: r,
608
+ g: g,
609
+ b: b,
610
+ a: XEUtils.getAlphafloat(a, alpha)
611
+ };
612
+ },
613
+
614
+ /**
615
+ *
616
+ * 时间转换
617
+ * @param {type} type 时间戳类型
618
+ * @param {time} time 时间戳
619
+ */
620
+ formatTime(type, time) {
621
+ let format = '';
622
+ if (!time) return '';
623
+ switch (type) {
624
+ case 'DATE':
625
+ format = 'yyyy-MM-dd';
626
+ break;
627
+ case 'DATETIME':
628
+ format = 'yyyy-MM-dd HH:mm:ss';
629
+ break;
630
+ case 'TIME':
631
+ format = 'HH:mm:ss';
632
+ break;
633
+ case 'MOUTH':
634
+ format = 'MM-dd';
635
+ break;
636
+ case 'DATETIMESTR':
637
+ format = 'yyyy年M月dd日 HH:mm';
638
+ break;
639
+ case 'MOUTHTIME':
640
+ format = 'M月d日 HH:mm';
641
+ break;
642
+ case 'HM':
643
+ format = ' HH:mm';
644
+ break;
645
+ default:
646
+ break;
647
+ }
648
+ return XEUtils.toDateString(time, format);
649
+ },
650
+ formatDate(date, isShowYear = false) {
651
+ const today = new Date();
652
+ const curDate = date || today.getTime();
653
+
654
+ const todayStr = XEUtils.formatTime('DATE', today.getTime());
655
+ const todayTimeStamp = XEUtils.convertDate(todayStr + ' 00:00:00').getTime();
656
+ // const yesterdayTimeStamp = todayTimeStamp - 24 * 60 * 60 * 1000;
657
+ const thisYear = today.getFullYear();
658
+ const curYear = new Date(+curDate).getFullYear();
659
+ if (curDate > todayTimeStamp) {
660
+ return XEUtils.formatTime('TIME', curDate);
661
+ }
662
+ // else if (curDate > yesterdayTimeStamp) {
663
+ // return "昨天 " + XEUtils.formatTime("TIME", curDate);
664
+ // }
665
+ else {
666
+ if (!isShowYear) return XEUtils.formatTime('DATETIME', curDate);
667
+ if (thisYear !== curYear) {
668
+ return XEUtils.formatTime('DATETIMESTR', curDate);
669
+ }
670
+ return XEUtils.formatTime('MOUTHTIME', curDate);
671
+ }
672
+ },
673
+ imgs2imgArr(imgs) {
674
+ if (!imgs) return [];
675
+
676
+ return imgs
677
+ .replace(/(,)(data|http)/g, (match, p1, p2) => {
678
+ return `|${p2}`;
679
+ })
680
+ .split('|');
681
+ },
682
+ filterOption(input, option, extraValue) {
683
+ try {
684
+ let text = option.componentOptions.children[0].text;
685
+ let lowText = text.toLowerCase();
686
+ let lowInput = input.toLowerCase();
687
+ let extraText = extraValue?.toLowerCase() || '';
688
+ let flag = false;
689
+ var reg = /^[a-zA-Z]+$/;
690
+ if (typeof text === 'string' && reg.test(input) && ''._toPinYin) {
691
+ flag = lowText._toPinYin().indexOf(lowInput) >= 0 || (extraText && extraText._toPinYin().indexOf(lowInput) >= 0);
692
+ }
693
+ return flag || lowText.indexOf(lowInput) >= 0 || (extraText && extraText.indexOf(lowInput) >= 0);
694
+ } catch (error) {
695
+ return false;
696
+ }
697
+ },
698
+
699
+ /**
700
+ * 转换含有###的值
701
+ * @param {*} item
702
+ * @param {*} k key
703
+ * @returns
704
+ */
705
+ stringToValue(item, k = 'value') {
706
+ if (XEUtils.isString(item)) {
707
+ if (item && item.startsWith('###{')) {
708
+ let temp = JSON.parse(item.replace('###', ''));
709
+ item = temp[k];
710
+ }
711
+ }
712
+ return item;
713
+ },
714
+
715
+ notEmpty(text) {
716
+ return XEUtils.isBoolean(text) || String(text) === '0' || !!text;
717
+ },
718
+
719
+ anyNotEmpty(text) {
720
+ if (Array.isArray(text)) return text.length > 0;
721
+ if (XEUtils.isObject(text)) return Object.keys(text || {}).length > 0;
722
+ return XEUtils.notEmpty(text);
723
+ },
724
+
725
+ /**
726
+ * 变量转换
727
+ * @param {string} str
728
+ * @param {object} obj
729
+ * @param {string | number} noval // 没有值,默认赋值
730
+ */
731
+ handleSysParams(str, obj = {}, noval = '') {
732
+ let p = {
733
+ ...obj
734
+ };
735
+ const that = this;
736
+ // 解析变量
737
+ const getValList = (plsList = [], obj = {}) => {
738
+ var l = [];
739
+ var o = obj;
740
+ plsList.forEach(v => {
741
+ let c = v;
742
+ // xx.xx
743
+ if (v.includes('.')) {
744
+ try {
745
+ // 使用 eval 解析 'result.map.map.filed'
746
+ eval(`c=o.${v}`);
747
+ } catch (error) {
748
+ c = '';
749
+ }
750
+ }
751
+ if (XEUtils.notEmpty(c)) {
752
+ l.push(c);
753
+ }
754
+ });
755
+ return l;
756
+ };
757
+ const getVal = (t, r, k) => {
758
+ return t.replace(r, function() {
759
+ var pKey = arguments[1];
760
+ // 切割
761
+ var pls = pKey.split('!');
762
+ // 取值
763
+ var l = getValList(pls, p);
764
+ var f = l.find(v => XEUtils.notEmpty(v));
765
+ var res = f;
766
+ res = XEUtils.notEmpty(res) ? res : noval;
767
+ return res;
768
+ });
769
+ };
770
+ if (typeof str === 'string') {
771
+ if (str.includes('form')) {
772
+ str = getVal(str, /\${(.*?)\}/g, 'form');
773
+ }
774
+ if (str.includes('sys')) {
775
+ str = getVal(str, /\${(.*?)\}/g, 'sys');
776
+ }
777
+ if (str.includes('db')) {
778
+ str = getVal(str, /\${(.*?)\}/g, 'db');
779
+ }
780
+ if (str.includes('table')) {
781
+ str = getVal(str, /\${(.*?)\}/g, 'table');
782
+ }
783
+ if (str.includes('result')) {
784
+ str = getVal(str, /\${(.*?)\}/g, 'result');
785
+ }
786
+ }
787
+ return str;
788
+ },
789
+ /**
790
+ * 去掉字符串两边的空格
791
+ * @param {string} str
792
+ * @return {string}
793
+ */
794
+ handleClearStrBlank(str) {
795
+ if (typeof str === 'string') {
796
+ return str.replace(/^\s*|\s*$/g, '');
797
+ }
798
+ return str;
799
+ },
800
+ // 数组对象去重
801
+ uniqArrObj(arr, name) {
802
+ let obj = {};
803
+ return arr.reduce((cur, next) => {
804
+ obj[next[name]] ? '' : (obj[next[name]] = true && cur.push(next));
805
+ return cur;
806
+ }, []);
807
+ }
808
+ });
809
+
810
+ export default XEUtils;
811
+
812
+ export { moment };
813
+
814
+ export function formatReleaseTime(type, time) {
815
+ if (time < 0) {
816
+ return '';
817
+ }
818
+ let format = '';
819
+ switch (type) {
820
+ case 'DATE':
821
+ format = 'yyyy-MM-dd';
822
+ break;
823
+ case 'DATETIMENew':
824
+ format = 'yyyy-MM-dd HH:mm';
825
+ break;
826
+ case 'DATETIME':
827
+ format = 'yyyy-MM-dd HH:mm:ss';
828
+ break;
829
+ case 'TIME':
830
+ format = 'HH:mm:ss';
831
+ break;
832
+ default:
833
+ break;
834
+ }
835
+ return XEUtils.toDateString(time, format);
836
+ }