@kyfe/ks-query-table 0.0.21 → 0.0.22

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 (310) hide show
  1. package/.bitmap +38 -0
  2. package/.editorconfig +5 -0
  3. package/.env.dev +2 -0
  4. package/.env.gray +2 -0
  5. package/.env.prod +2 -0
  6. package/.env.stg +3 -0
  7. package/.env.uat +2 -0
  8. package/.eslintignore +1 -0
  9. package/.eslintrc.js +25 -0
  10. package/.gitmodules +4 -0
  11. package/.prettierrc +11 -0
  12. package/README.md +15 -0
  13. package/babel.config.js +10 -0
  14. package/build-apm.sh +9 -0
  15. package/build.sh +16 -0
  16. package/config/index.js +20 -0
  17. package/jsconfig.json +7 -0
  18. package/kuasheng-sdk/index.js +80 -0
  19. package/kuasheng-sdk/lib/assets.js +304 -0
  20. package/kuasheng-sdk/lib/context.js +199 -0
  21. package/kuasheng-sdk/lib/layout.js +346 -0
  22. package/kuasheng-sdk/lib/location.js +46 -0
  23. package/kuasheng-sdk/lib/media.js +342 -0
  24. package/kuasheng-sdk/lib/navigation.js +30 -0
  25. package/kuasheng-sdk/lib/request.js +76 -0
  26. package/kuasheng-sdk/lib/system.js +190 -0
  27. package/kuasheng-sdk/lib/userinfo.js +98 -0
  28. package/kuasheng-sdk/util/check.js +102 -0
  29. package/kuasheng-sdk/util/config.js +47 -0
  30. package/kuasheng-sdk/util/device.js +25 -0
  31. package/kuasheng-sdk/util/error.js +19 -0
  32. package/kuasheng-sdk/util/funtional.js +153 -0
  33. package/kuasheng-sdk/util/mixin.js +36 -0
  34. package/kuasheng-sdk/util/requestUtil.js +41 -0
  35. package/kuasheng-sdk/util/response.js +33 -0
  36. package/kuasheng-sdk/util/warn.js +35 -0
  37. package/kuasheng-ui/CHANGELOG.md +9 -0
  38. package/kuasheng-ui/components/card.vue +57 -0
  39. package/kuasheng-ui/components/ks-area-select/README.md +43 -0
  40. package/kuasheng-ui/components/ks-area-select/area-picker.vue +554 -0
  41. package/kuasheng-ui/components/ks-area-select/area-search.vue +363 -0
  42. package/kuasheng-ui/components/ks-area-select/areas-pop.vue +56 -0
  43. package/kuasheng-ui/components/ks-area-select/common.js +183 -0
  44. package/kuasheng-ui/components/ks-area-select/index.vue +355 -0
  45. package/kuasheng-ui/components/ks-area-select/mixins.js +216 -0
  46. package/kuasheng-ui/components/ks-area-single-select/README.md +50 -0
  47. package/kuasheng-ui/components/ks-area-single-select/hot-city.js +45 -0
  48. package/kuasheng-ui/components/ks-area-single-select/index.vue +324 -0
  49. package/kuasheng-ui/components/ks-calendar/index.vue +269 -0
  50. package/kuasheng-ui/components/ks-call-phone/call-tips.vue +70 -0
  51. package/kuasheng-ui/components/ks-call-phone/call.vue +178 -0
  52. package/kuasheng-ui/components/ks-call-phone/index.js +48 -0
  53. package/kuasheng-ui/components/ks-call-phone/index.vue +131 -0
  54. package/kuasheng-ui/components/ks-call-phone//345/221/274/345/217/253/347/273/204/344/273/266.md +0 -0
  55. package/kuasheng-ui/components/ks-date-picker/README.md +23 -0
  56. package/kuasheng-ui/components/ks-date-picker/date-picker-bottom.vue +123 -0
  57. package/kuasheng-ui/components/ks-date-picker/date-picker-dropdown.vue +80 -0
  58. package/kuasheng-ui/components/ks-date-picker/date-picker-right.vue +87 -0
  59. package/kuasheng-ui/components/ks-date-picker/date-picker-top.vue +88 -0
  60. package/kuasheng-ui/components/ks-date-picker/date-picker.js +15 -0
  61. package/kuasheng-ui/components/ks-date-picker/date-range-select.vue +92 -0
  62. package/kuasheng-ui/components/ks-date-picker/date-select.vue +65 -0
  63. package/kuasheng-ui/components/ks-date-picker/date-week-month.vue +131 -0
  64. package/kuasheng-ui/components/ks-date-picker/index.js +12 -0
  65. package/kuasheng-ui/components/ks-date-picker/mixin.js +92 -0
  66. package/kuasheng-ui/components/ks-date-picker/month-range-select.vue +129 -0
  67. package/kuasheng-ui/components/ks-date-picker/month-select.vue +85 -0
  68. package/kuasheng-ui/components/ks-date-picker/quarter-select.vue +94 -0
  69. package/kuasheng-ui/components/ks-date-picker/style.less +121 -0
  70. package/kuasheng-ui/components/ks-date-picker/utils.js +109 -0
  71. package/kuasheng-ui/components/ks-date-picker/week-select.vue +99 -0
  72. package/kuasheng-ui/components/ks-decrypt/index.vue +159 -0
  73. package/kuasheng-ui/components/ks-employee/README.md +78 -0
  74. package/kuasheng-ui/components/ks-employee/employee-input.vue +173 -0
  75. package/kuasheng-ui/components/ks-employee/employee-list.vue +662 -0
  76. package/kuasheng-ui/components/ks-employee/employee-popup.vue +197 -0
  77. package/kuasheng-ui/components/ks-employee/employee-search.vue +250 -0
  78. package/kuasheng-ui/components/ks-employee/employee-selected.vue +173 -0
  79. package/kuasheng-ui/components/ks-employee/index.js +17 -0
  80. package/kuasheng-ui/components/ks-employee/package-lock.json +5 -0
  81. package/kuasheng-ui/components/ks-employee/package.json +15 -0
  82. package/kuasheng-ui/components/ks-employee/yarn.lock +4 -0
  83. package/kuasheng-ui/components/ks-field-money/index.js +8 -0
  84. package/kuasheng-ui/components/ks-field-money/index.vue +212 -0
  85. package/kuasheng-ui/components/ks-field-money/package.json +11 -0
  86. package/kuasheng-ui/components/ks-field-money/utils.js +65 -0
  87. package/kuasheng-ui/components/ks-field-money//351/207/221/351/242/235/350/275/254/346/215/242/345/231/250.md +0 -0
  88. package/kuasheng-ui/components/ks-history-search/history-input.vue +131 -0
  89. package/kuasheng-ui/components/ks-history-search/history-list.vue +188 -0
  90. package/kuasheng-ui/components/ks-history-search/img/delete.png +0 -0
  91. package/kuasheng-ui/components/ks-history-search/index.js +9 -0
  92. package/kuasheng-ui/components/ks-history-search/index.vue +125 -0
  93. package/kuasheng-ui/components/ks-history-search/package-lock.json +5 -0
  94. package/kuasheng-ui/components/ks-history-search/package.json +15 -0
  95. package/kuasheng-ui/components/ks-history-search/utils.js +35 -0
  96. package/kuasheng-ui/components/ks-input-search/index.vue +106 -0
  97. package/kuasheng-ui/components/ks-list/index.vue +75 -0
  98. package/kuasheng-ui/components/ks-loading/index.js +16 -0
  99. package/kuasheng-ui/components/ks-month/index.vue +47 -0
  100. package/kuasheng-ui/components/ks-month/package.json +3 -0
  101. package/kuasheng-ui/components/ks-month/range.vue +172 -0
  102. package/kuasheng-ui/components/ks-month/single.vue +136 -0
  103. package/kuasheng-ui/components/ks-month/style.less +125 -0
  104. package/kuasheng-ui/components/ks-month/utils.js +35 -0
  105. package/kuasheng-ui/components/ks-nav/index.vue +264 -0
  106. package/kuasheng-ui/components/ks-nav-bar.js +35 -0
  107. package/kuasheng-ui/components/ks-org/ks-org-tree.vue +247 -0
  108. package/kuasheng-ui/components/ks-org/ks-popup-tree.vue +154 -0
  109. package/kuasheng-ui/components/ks-org/ks-tree-input.vue +240 -0
  110. package/kuasheng-ui/components/ks-org/ks-tree-node.vue +94 -0
  111. package/kuasheng-ui/components/ks-org/ks-tree.vue +229 -0
  112. package/kuasheng-ui/components/ks-org/utils.js +54 -0
  113. package/kuasheng-ui/components/ks-popover/index.vue +457 -0
  114. package/kuasheng-ui/components/ks-popover/mixin.js +28 -0
  115. package/kuasheng-ui/components/ks-popover/utils.js +60 -0
  116. package/kuasheng-ui/components/ks-pull-refresh/index.vue +43 -0
  117. package/kuasheng-ui/components/ks-quarter/index.vue +256 -0
  118. package/kuasheng-ui/components/ks-table/README.md +103 -0
  119. package/kuasheng-ui/components/ks-table/cell.vue +31 -0
  120. package/kuasheng-ui/components/ks-table/index.js +8 -0
  121. package/kuasheng-ui/components/ks-table/index.less +486 -0
  122. package/kuasheng-ui/components/ks-table/index.vue +1088 -0
  123. package/kuasheng-ui/components/ks-table/package.json +12 -0
  124. package/kuasheng-ui/components/ks-table/release.md +7 -0
  125. package/kuasheng-ui/components/ks-toast.js +35 -0
  126. package/kuasheng-ui/components/ks-upload/index.vue +174 -0
  127. package/kuasheng-ui/components/ks-user-access.vue +229 -0
  128. package/kuasheng-ui/components/no-data/README.md +45 -0
  129. package/kuasheng-ui/components/no-data/image.js +1 -0
  130. package/kuasheng-ui/components/no-data/index.vue +83 -0
  131. package/kuasheng-ui/components/notice-bar.vue +16 -0
  132. package/kuasheng-ui/components/steps.js +11 -0
  133. package/kuasheng-ui/components/tabs.vue +40 -0
  134. package/kuasheng-ui/index.js +239 -0
  135. package/kuasheng-ui/patch/datetime-picker/datetimePicker.md +0 -0
  136. package/kuasheng-ui/patch/datetime-picker/index.js +46 -0
  137. package/kuasheng-ui/patch/datetime-picker/utils.js +78 -0
  138. package/kuasheng-ui/patch/field/field.md +1 -0
  139. package/kuasheng-ui/patch/field/index.js +122 -0
  140. package/kuasheng-ui/patch/field/utils.js +36 -0
  141. package/kuasheng-ui/patch/form/form.md +7 -0
  142. package/kuasheng-ui/patch/form/index.js +106 -0
  143. package/kuasheng-ui/patch/index.js +12 -0
  144. package/kuasheng-ui/patch/pagination/index.js +78 -0
  145. package/kuasheng-ui/style/animation-ui.less +31 -0
  146. package/kuasheng-ui/style/font/number/font-number1.otf +0 -0
  147. package/kuasheng-ui/style/font/number/font-number2.ttf +0 -0
  148. package/kuasheng-ui/style/images/checked.svg +1 -0
  149. package/kuasheng-ui/style/images/success.svg +1 -0
  150. package/kuasheng-ui/style/index.less +6 -0
  151. package/kuasheng-ui/style/kuasheng-ui.less +207 -0
  152. package/kuasheng-ui/style/reset-vant.less +307 -0
  153. package/kuasheng-ui/style/vant-var.less +138 -0
  154. package/kuasheng-ui/utils/apis.js +17 -0
  155. package/kuasheng-ui/utils/axios-adapter.js +47 -0
  156. package/kuasheng-ui/utils/bem.js +39 -0
  157. package/kuasheng-ui/utils/bus.js +97 -0
  158. package/kuasheng-ui/utils/common.js +88 -0
  159. package/kuasheng-ui/utils/decrypt/config.js +12 -0
  160. package/kuasheng-ui/utils/decrypt/decrypt-api.js +139 -0
  161. package/kuasheng-ui/utils/decrypt/index.js +6 -0
  162. package/kuasheng-ui/utils/decrypt/mask.js +36 -0
  163. package/kuasheng-ui/utils/decrypt/virtual.js +44 -0
  164. package/kuasheng-ui/utils/directive.js +57 -0
  165. package/kuasheng-ui/utils/directive.md +23 -0
  166. package/kuasheng-ui/utils/drcheck-plugin.js +219 -0
  167. package/kuasheng-ui/utils/error-plugin.js +88 -0
  168. package/kuasheng-ui/utils/filter.js +149 -0
  169. package/kuasheng-ui/utils/http-interceptors.js +18 -0
  170. package/kuasheng-ui/utils/http.js +140 -0
  171. package/kuasheng-ui/utils/index.js +5 -0
  172. package/kuasheng-ui/utils/init-event.js +20 -0
  173. package/kuasheng-ui/utils/log.js +309 -0
  174. package/kuasheng-ui/utils/token.js +9 -0
  175. package/kuasheng-ui/utils/type.js +45 -0
  176. package/kuasheng-ui/utils/validate.js +20 -0
  177. package/kuasheng-ui/utils/watermark.js +67 -0
  178. package/kuasheng-ui/version.js +1 -0
  179. package/ky-apm/client.js +37 -0
  180. package/ky-apm/customHttp.js +38 -0
  181. package/ky-apm/index.js +68 -0
  182. package/ky-apm/plugins/performance.js +84 -0
  183. package/ky-apm/plugins/self-error.js +26 -0
  184. package/ky-apm/warn-log.js +3 -0
  185. package/package.json +81 -10
  186. package/plugin/ks-chii-webpack-html/index.js +53 -0
  187. package/plugin/ks-chii-webpack-html/package.json +16 -0
  188. package/postcss.config.js +15 -0
  189. package/public/capsule-positon.js +50 -0
  190. package/public/fonts/DingTalkJinBuTi.ttf +0 -0
  191. package/public/framework/axios@0.19.0.min.js +9 -0
  192. package/public/framework/fastclick@1.0.6.min.js +1 -0
  193. package/public/framework/iconfont/iconfont.css +91 -0
  194. package/public/framework/iconfont/iconfont.js +1 -0
  195. package/public/framework/iconfont/iconfont.json +142 -0
  196. package/public/framework/iconfont/iconfont.ttf +0 -0
  197. package/public/framework/iconfont/iconfont.woff +0 -0
  198. package/public/framework/iconfont/iconfont.woff2 +0 -0
  199. package/public/framework/vant@2.5.6.min.js +7 -0
  200. package/public/framework/vue-router@3.1.3.min.js +6 -0
  201. package/public/framework/vue@2.6.10.runtime.min.js +6 -0
  202. package/public/framework/vuex@3.1.1.min.js +6 -0
  203. package/public/index.html +260 -0
  204. package/public/ks@3.0.8.umd.min.js +1 -0
  205. package/public/ksui@4.0.27.umd.min.js +10 -0
  206. package/public/status-bar-preset.js +39 -0
  207. package/{index.js → qt-npm/index.js} +3 -3
  208. package/qt-npm/package.json +13 -0
  209. package/src/App.vue +204 -0
  210. package/src/README.md +15 -0
  211. package/src/common/README.md +94 -0
  212. package/src/common/http/axios-adapter.js +47 -0
  213. package/src/common/http/common.js +88 -0
  214. package/src/common/http/http-interceptors.js +18 -0
  215. package/src/common/http/http-lock.js +45 -0
  216. package/src/common/http/index.js +163 -0
  217. package/src/common/http/token.js +9 -0
  218. package/src/common/styles/font/AlibabaSans102Ver2-Md.ttf +0 -0
  219. package/src/common/styles/font.less +12 -0
  220. package/src/common/styles/variables.less +43 -0
  221. package/src/common/utils/index.js +1 -0
  222. package/src/common/utils/platform/README.md +1 -0
  223. package/src/common/utils/platform/android/.gitkeep +0 -0
  224. package/src/common/utils/platform/core/index.js +24 -0
  225. package/src/common/utils/platform/index.js +164 -0
  226. package/src/common/utils/platform/ios/.gitkeep +0 -0
  227. package/src/common/utils/platform/subscribe/helper.js +38 -0
  228. package/src/common/utils/platform/subscribe/index.js +204 -0
  229. package/src/common/utils/platform/subscribe/table-animation.js +75 -0
  230. package/src/config/index.js +31 -0
  231. package/src/config.js +1 -0
  232. package/src/main.js +73 -0
  233. package/src/router.js +52 -0
  234. package/src/view/home/config.js +101 -0
  235. package/src/view/home/demo1.vue +223 -0
  236. package/src/view/home/demo2.vue +124 -0
  237. package/src/view/home/demo3.vue +51 -0
  238. package/src/view/home/demo4.vue +140 -0
  239. package/src/view/home/index.vue +97 -0
  240. package/src/view/home/query-table/README.md +45 -0
  241. package/src/view/home/query-table/api/index.js +12 -0
  242. package/src/view/home/query-table/assets/horizontal-back.svg +1 -0
  243. package/src/view/home/query-table/components/pe-table/cell.js +181 -0
  244. package/src/view/home/query-table/components/pe-table/collapse.js +334 -0
  245. package/src/view/home/query-table/components/pe-table/empty.vue +48 -0
  246. package/src/view/home/query-table/components/pe-table/header.js +328 -0
  247. package/src/view/home/query-table/components/pe-table/images/abnormal.png +0 -0
  248. package/src/view/home/query-table/components/pe-table/images/empty.png +0 -0
  249. package/src/view/home/query-table/components/pe-table/images/fold.svg +1 -0
  250. package/src/view/home/query-table/components/pe-table/images/sort.svg +1 -0
  251. package/src/view/home/query-table/components/pe-table/images/sorting.svg +1 -0
  252. package/src/view/home/query-table/components/pe-table/images/unfold.svg +1 -0
  253. package/src/view/home/query-table/components/pe-table/index.vue +847 -0
  254. package/src/view/home/query-table/components/pe-table/load-more.js +46 -0
  255. package/src/view/home/query-table/components/pe-table/props/index.js +193 -0
  256. package/src/view/home/query-table/components/pe-table/row.vue +118 -0
  257. package/src/view/home/query-table/components/pe-table/scrollbar.js +424 -0
  258. package/src/view/home/query-table/components/pe-table/stretch-damping.js +112 -0
  259. package/src/view/home/query-table/components/pe-table/style/cell.less +89 -0
  260. package/src/view/home/query-table/components/pe-table/style/empty.less +48 -0
  261. package/src/view/home/query-table/components/pe-table/style/header.less +141 -0
  262. package/src/view/home/query-table/components/pe-table/style/index.less +88 -0
  263. package/src/view/home/query-table/components/pe-table/style/load-more.less +61 -0
  264. package/src/view/home/query-table/components/pe-table/style/row.less +6 -0
  265. package/src/view/home/query-table/components/pe-table/table-loading.vue +120 -0
  266. package/src/view/home/query-table/components/pe-table/table-total.vue +57 -0
  267. package/src/view/home/query-table/components/pe-table/utils/animate.js +80 -0
  268. package/src/view/home/query-table/components/pe-table/utils/columns.js +290 -0
  269. package/src/view/home/query-table/components/pe-table/utils/data.js +12 -0
  270. package/src/view/home/query-table/components/pe-table/utils/fixed.js +69 -0
  271. package/src/view/home/query-table/components/pe-table/utils/formatter.js +327 -0
  272. package/src/view/home/query-table/components/pe-table/utils/render-cells.js +424 -0
  273. package/src/view/home/query-table/components/pe-table/utils/slot.js +28 -0
  274. package/src/view/home/query-table/components/pe-table/utils/tools.js +84 -0
  275. package/src/view/home/query-table/components/pe-table/utils/touch-scroll.js +417 -0
  276. package/src/view/home/query-table/components/query-table/index.vue +497 -0
  277. package/src/view/home/query-table/components/query-table/mixins/column-mixin.js +102 -0
  278. package/src/view/home/query-table/components/query-table/mixins/column-setting.js +143 -0
  279. package/src/view/home/query-table/components/query-table/mixins/data-mixin.js +519 -0
  280. package/src/view/home/query-table/components/query-table/mixins/pagination-mixin.js +26 -0
  281. package/src/view/home/query-table/components/query-table/mixins/table-fixed.js +130 -0
  282. package/src/view/home/query-table/components/query-table/mixins/table-horizontal.js +119 -0
  283. package/src/view/home/query-table/components/table-horizontal.vue +99 -0
  284. package/src/view/home/query-table/components/table-pagination.vue +32 -0
  285. package/src/view/home/query-table/components/table-settings/assets/arrpw-up.svg +1 -0
  286. package/src/view/home/query-table/components/table-settings/assets/disabled-down.svg +1 -0
  287. package/src/view/home/query-table/components/table-settings/assets/disabled-up.svg +1 -0
  288. package/src/view/home/query-table/components/table-settings/assets/down.svg +1 -0
  289. package/src/view/home/query-table/components/table-settings/assets/up.svg +1 -0
  290. package/src/view/home/query-table/components/table-settings/index.less +294 -0
  291. package/src/view/home/query-table/components/table-settings/index.vue +260 -0
  292. package/src/view/home/query-table/components/table-settings/settings.vue +479 -0
  293. package/src/view/home/query-table/components/table-settings/test.js +626 -0
  294. package/src/view/home/query-table/components/table-settings//344/270/252/346/200/247/350/256/276/347/275/256.md +0 -0
  295. package/src/view/home/query-table/components/tooltip.js +124 -0
  296. package/src/view/home/query-table/hooks/use-cache-promise.js +27 -0
  297. package/src/view/home/query-table/hooks/use-column-config.js +190 -0
  298. package/src/view/home/query-table/hooks/use-encryption.js +0 -0
  299. package/src/view/home/query-table/hooks/use-generic-search.js +95 -0
  300. package/src/view/home/query-table/index.js +7 -0
  301. package/src/view/home/query-table/store/column-store.js +0 -0
  302. package/src/view/home/query-table/styles/table.less +24 -0
  303. package/src/view/home/query-table/utils/column.js +36 -0
  304. package/src/view/home/query-table/utils/config.js +12 -0
  305. package/src/view/home/query-table/utils/encryption.js +32 -0
  306. package/src/view/home/query-table/utils/http.js +1 -0
  307. package/src/view/home/query-table/utils/localStorage.js +35 -0
  308. package/src/view/home//351/246/226/351/241/265.md +0 -0
  309. package/src/web.js +99 -0
  310. package/vue.config.js +131 -0
@@ -0,0 +1,239 @@
1
+ import version from './version.js'
2
+ import './style/index.less'
3
+ import { http, token } from './utils/http'
4
+ import { getToken, setToken } from './utils/token'
5
+ import { date, numberSplit, numberSplitFloat } from './utils/filter'
6
+ import { getMenuAuth, getLookup } from './utils/apis'
7
+ import log from './utils/log'
8
+ import bus from './utils/bus'
9
+ import { initEvent } from './utils/init-event'
10
+ import errorPlugin from './utils/error-plugin'
11
+ import installPatch from './patch/index.js'
12
+ import installToast from './components/ks-toast.js'
13
+ import { installDRCheck } from './utils/drcheck-plugin.js'
14
+ import { $utils } from './utils'
15
+
16
+ import Upload from './components/ks-upload/index'
17
+ import Card from './components/card'
18
+ // import Steps from './components/steps'
19
+ // import Progress from './components/progress'
20
+ import Tabs from './components/tabs'
21
+ import NoticeBar from './components/notice-bar'
22
+ import NoData from './components/no-data/index'
23
+ import KsNavBar from './components/ks-nav-bar'
24
+ import KsUserAccess from './components/ks-user-access'
25
+ import watermark, { customWatermark } from './utils/watermark'
26
+ import KsCalendar from './components/ks-calendar/index.vue'
27
+ import KsMonth from './components/ks-month/index.vue'
28
+ import KsQuarter from './components/ks-quarter/index.vue'
29
+ import KsDecrypt from './components/ks-decrypt/index.vue'
30
+ import callPhoneTool from './components/ks-call-phone/index.js'
31
+ import KsPullRefresh from './components/ks-pull-refresh/index.vue'
32
+ import KsList from './components/ks-list/index.vue'
33
+ import KsLoading from './components/ks-loading/index.js'
34
+ import KsInputSearch from './components/ks-input-search/index.vue'
35
+ import KsFieldMoney from './components/ks-field-money/index.vue'
36
+ import KsEmployee from './components/ks-employee/employee-search.vue'
37
+ import KsEmployeeInput from './components/ks-employee/employee-input.vue'
38
+ import KsEmployeeList from './components/ks-employee/employee-list.vue'
39
+ import KsEmployeePopup from './components/ks-employee/employee-popup.vue'
40
+ import KsHistorySearch from './components/ks-history-search/index.vue'
41
+ import KsAreaSelect from './components/ks-area-select/index.vue'
42
+ import KsAreaSingleSelect from './components/ks-area-single-select/index.vue'
43
+ // import KsTable from './components/ks-table/index.vue'
44
+ import KsOrgTreePop from './components/ks-org/ks-popup-tree.vue'
45
+ import KsOrgTree from './components/ks-org/ks-org-tree.vue'
46
+ import KsDatePicker from './components/ks-date-picker/index.js'
47
+ import KsNav from './components/ks-nav'
48
+ import KsCallPhone from './components/ks-call-phone/index.vue'
49
+ import KsPopover from './components/ks-popover/index.vue'
50
+
51
+ const vantComponents = [
52
+ 'action-sheet',
53
+ 'address-edit',
54
+ 'address-list',
55
+ 'area',
56
+ 'button',
57
+ 'cell',
58
+ 'cell-group',
59
+ 'checkbox',
60
+ 'checkbox-group',
61
+ 'circle',
62
+ 'col',
63
+ 'collapse',
64
+ 'collapse-item',
65
+ 'Contact-card',
66
+ 'contact-edit',
67
+ 'contact-list',
68
+ 'count-down',
69
+ 'coupon',
70
+ 'coupon-cell',
71
+ 'coupon-list',
72
+ 'datetime-picker',
73
+ 'dialog',
74
+ 'divider',
75
+ 'dropdown-item',
76
+ 'dropdown-menu',
77
+ 'field',
78
+ 'form',
79
+ 'goods-action',
80
+ 'goods-action-button',
81
+ 'goods-action-icon',
82
+ 'grid',
83
+ 'grid-item',
84
+ 'icon',
85
+ 'image',
86
+ 'image-preview',
87
+ 'index-anchor',
88
+ 'index-bar',
89
+ 'info',
90
+ // 'list',
91
+ // 'loading',
92
+ // 'nav-bar',
93
+ // 'notice-bar',
94
+ 'notify',
95
+ 'number-keyboard',
96
+ 'overlay',
97
+ 'pagination',
98
+ 'panel',
99
+ 'password-input',
100
+ 'picker',
101
+ 'popup',
102
+ 'progress',
103
+ 'pull-refresh',
104
+ 'radio',
105
+ 'radio-group',
106
+ 'rate',
107
+ 'row',
108
+ 'search',
109
+ 'sidebar',
110
+ 'sidebar-item',
111
+ 'skeleton',
112
+ 'sku',
113
+ 'slider',
114
+ // 'step',
115
+ // 'steps',
116
+ 'stepper',
117
+ 'sticky',
118
+ 'submit-bar',
119
+ 'swipe',
120
+ 'swipe-cell',
121
+ 'swipe-item',
122
+ 'switch',
123
+ 'switch-cell',
124
+ 'tab',
125
+ 'tabbar',
126
+ 'tabbar-item',
127
+ // 'tabs',
128
+ 'tag',
129
+ 'toast',
130
+ 'tree-select'
131
+ ]
132
+
133
+ let ksuiComponents = {}
134
+
135
+ vantComponents.forEach(item => {
136
+ ksuiComponents[item] = {
137
+ functional: true,
138
+ render(h, ctx) {
139
+ return h(`van-${item}`, ctx.data, ctx.children)
140
+ }
141
+ }
142
+ })
143
+
144
+ const vanField = {
145
+ functional: true,
146
+ render(h, ctx) {
147
+ return h(`van-field`, ctx.data, ctx.children && ctx.children.map(t => h(t.tag, t.data, t.children)))
148
+ }
149
+ }
150
+
151
+ ksuiComponents.field = vanField
152
+
153
+ ksuiComponents.upload = Upload
154
+ ksuiComponents.card = Card
155
+ // ksuiComponents.steps = Steps
156
+ // ksuiComponents.progress = Progress
157
+ ksuiComponents.tabs = Tabs
158
+ ksuiComponents.list = KsList
159
+ ksuiComponents['notice-bar'] = NoticeBar
160
+ ksuiComponents['pull-refresh'] = KsPullRefresh
161
+ ksuiComponents['no-data'] = NoData
162
+ ksuiComponents['user-access'] = KsUserAccess
163
+
164
+ // 包装vant组件s
165
+ const install = Vue => {
166
+ Object.keys(ksuiComponents).forEach(key => {
167
+ // console.log('key', key, ksuiComponents[key])
168
+ Vue.component(`ks-${key}`, ksuiComponents[key])
169
+ })
170
+ Vue.component('ks-loading', KsLoading)
171
+ Vue.component('ks-nav-bar', KsNavBar)
172
+ Vue.component('ks-nav', KsNav)
173
+ Vue.component('ks-calendar', KsCalendar)
174
+ Vue.component('ks-decrypt', KsDecrypt)
175
+ Vue.component('ks-month', KsMonth)
176
+ Vue.component('ks-quarter', KsQuarter)
177
+ Vue.component('ks-input-search', KsInputSearch)
178
+ Vue.component('ks-history-search', KsHistorySearch)
179
+ Vue.component('ks-employee', KsEmployee)
180
+ Vue.component('ks-employee-input', KsEmployeeInput)
181
+ Vue.component('ks-employee-list', KsEmployeeList)
182
+ Vue.component('ks-employee-popup', KsEmployeePopup)
183
+ Vue.component('ks-area-select', KsAreaSelect)
184
+ Vue.component('ks-area-single-select', KsAreaSingleSelect)
185
+ Vue.component('ks-org-tree-pop', KsOrgTreePop)
186
+ Vue.component('ks-org-tree', KsOrgTree)
187
+ Vue.component('ks-date-picker', KsDatePicker)
188
+ Vue.component('ks-call-phone', KsCallPhone)
189
+ Vue.component('ks-popover', KsPopover)
190
+ Vue.component('ks-field-money', KsFieldMoney)
191
+ // 过滤器
192
+ Vue.filter('date', date)
193
+ Vue.filter('numberSplit', numberSplit)
194
+ Vue.filter('numberSplitFloat', numberSplitFloat)
195
+ // 添加http到vue原型
196
+ Vue.prototype.$http = http
197
+ // 工具集合
198
+ Vue.prototype.$utils = $utils
199
+
200
+ Vue.prototype.$callPhone = callPhoneTool
201
+ // 错误日志插件初始化
202
+ // let err = new ErrorPlugin({type: 'H5'})
203
+ // err.vueErrorHandler(Vue)
204
+ }
205
+
206
+ // 对vant组件打补丁
207
+ installPatch()
208
+
209
+ installToast()
210
+
211
+ installDRCheck()
212
+
213
+ // 检查ks-sdk是否初始化成功
214
+ initEvent()
215
+
216
+ // 浏览器环境直接挂载插件
217
+ if (typeof window !== 'undefined' && window.Vue) {
218
+ install(window.Vue)
219
+ }
220
+
221
+ const ksui = {
222
+ install,
223
+ http,
224
+ token,
225
+ getToken,
226
+ setToken,
227
+ getMenuAuth,
228
+ getLookup,
229
+ log,
230
+ bus,
231
+ errorPlugin,
232
+ watermark,
233
+ customWatermark,
234
+ version,
235
+ $utils
236
+ }
237
+
238
+ console.log('[ksui] version: ' + version)
239
+ export default ksui
@@ -0,0 +1,46 @@
1
+ import { transform, padZero } from './utils'
2
+ function createDateTimePicker(DatetimePicker) {
3
+ return {
4
+ extends: DatetimePicker,
5
+ props: {
6
+ formatterDay: {
7
+ type: Boolean,
8
+ default: false
9
+ }
10
+ },
11
+ created() {
12
+ this.$watch(
13
+ 'formatterDay',
14
+ () => {
15
+ this.formatterDay && this.setFormatterDay()
16
+ },
17
+ {
18
+ immediate: true
19
+ }
20
+ )
21
+ },
22
+ methods: {
23
+ setFormatterDay () {
24
+ this.formatter = (type, val) => {
25
+ if (type === 'day' && this.value) {
26
+ const value = this.value
27
+ const y = `${value.getFullYear()}`
28
+ const m = `${padZero(value.getMonth() + 1)}`
29
+ const v = `${y}-${m}-${val}`
30
+ return transform(v, this.type)
31
+ }
32
+ return val
33
+ }
34
+ }
35
+ }
36
+ }
37
+ }
38
+
39
+ function installDatetimePicker() {
40
+ const DatetimePicker = window.vant && window.vant.DatetimePicker
41
+ if (DatetimePicker) {
42
+ Vue.component('van-datetime-picker', createDateTimePicker(DatetimePicker))
43
+ }
44
+ }
45
+
46
+ export default installDatetimePicker
@@ -0,0 +1,78 @@
1
+
2
+ export function padZero (num, targetLength = 2) {
3
+ let str = num + ''
4
+
5
+ while (str.length < targetLength) {
6
+ str = '0' + str
7
+ }
8
+
9
+ return str;
10
+ }
11
+
12
+
13
+ export const getCurrentWeek = (date) => {
14
+ let week = new Date(date).getDay()
15
+ switch(week) {
16
+ case 1:
17
+ week = '周一'
18
+ break
19
+ case 2:
20
+ week = '周二'
21
+ break
22
+ case 3:
23
+ week = '周三'
24
+ break
25
+ case 4:
26
+ week = '周四'
27
+ break
28
+ case 5:
29
+ week = '周五'
30
+ break
31
+ case 6:
32
+ week = '周六'
33
+ break
34
+ case 0:
35
+ week = '周日'
36
+ break
37
+ }
38
+ return week
39
+ }
40
+
41
+ export const dateMap = (() => {
42
+ const oneday = 1000 * 60 * 60 * 24 // 代表一天的毫秒数
43
+ const getTime = (times = 0) => {
44
+ let date = new Date(new Date().getTime() + oneday * times)
45
+ return `${date.getFullYear()}-${padZero(date.getMonth() + 1)}-${padZero(date.getDate())}`
46
+ }
47
+
48
+ return [
49
+ {
50
+ day: '前天',
51
+ date: getTime(-2)
52
+ },
53
+ {
54
+ day: '昨天',
55
+ date: getTime(-1)
56
+ },
57
+ {
58
+ day: '今天',
59
+ date: getTime()
60
+ },
61
+ {
62
+ day: '明天',
63
+ date: getTime(1)
64
+ },
65
+ {
66
+ day: '后天',
67
+ date: getTime(2)
68
+ }
69
+ ]
70
+ })()
71
+
72
+ export const transform = (value = '', type) => {
73
+ let _value = value
74
+ let obj = dateMap.find(v => v.date === _value)
75
+ const num = type === 'date' ? 8 : 5
76
+ return obj ? `${obj.day} ${getCurrentWeek(_value)}` : `${_value.substring(num)} ${getCurrentWeek(_value)}`
77
+ }
78
+
@@ -0,0 +1 @@
1
+
@@ -0,0 +1,122 @@
1
+ import { createBEM } from '../../utils/bem'
2
+ import { formatNumber, isDef } from './utils'
3
+ const bem = createBEM('van-field')
4
+
5
+ function randomCode(prefix = 'ks-field-', len = 6) {
6
+ const codeChars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
7
+ let res = prefix || ''
8
+ for (var i = 0; i < len; i++) {
9
+ const charIndex = Math.floor(Math.random() * 62)
10
+ res += codeChars.charAt(charIndex)
11
+ }
12
+ return res
13
+ }
14
+
15
+ function createField(field) {
16
+ return {
17
+ extends: field,
18
+ props: {
19
+ errorMessageVerticalAlign: {
20
+ type: String,
21
+ default: '',
22
+ },
23
+ name: {
24
+ type: String,
25
+ default: () => {
26
+ return randomCode()
27
+ },
28
+ },
29
+ },
30
+ methods: {
31
+ genMessage() {
32
+ if (!this.vanForm || this.vanForm.showErrorMessage === false) {
33
+ return
34
+ }
35
+ const message = this.errorMessage || this.validateMessage
36
+ if (message) {
37
+ const aligns = []
38
+ const errorMessageAlign = !this.vanForm.noErrorPop
39
+ ? this.getProp('errorMessageAlign') || this.getProp('inputAlign')
40
+ : this.getProp('errorMessageAlign')
41
+ const verticalAlign = !this.vanForm.noErrorPop && this.getProp('errorMessageVerticalAlign')
42
+ errorMessageAlign && aligns.push(errorMessageAlign)
43
+ verticalAlign && aligns.push(verticalAlign)
44
+ let className = 'error-message'
45
+ let isShow = true
46
+ if (!this.vanForm.noErrorPop) {
47
+ if (this.vanForm.errorFieldName === this.name) {
48
+ className = 'error-pop-message'
49
+ } else {
50
+ isShow = this.vanForm.showAllErrorMessage
51
+ }
52
+ }
53
+ return this.$createElement(
54
+ 'div',
55
+ {
56
+ directives: [
57
+ {
58
+ name: 'show',
59
+ value: isShow,
60
+ },
61
+ ],
62
+ class: bem(className, aligns),
63
+ },
64
+ [message]
65
+ )
66
+ } else {
67
+ if (!this.vanForm.noErrorPop && this.vanForm.errorFieldName === this.name) {
68
+ this.vanForm.errorFieldName = ''
69
+ }
70
+ }
71
+ },
72
+ /*
73
+ 重写内部format,解决type=number支持输入负数
74
+ */
75
+ format(target = this.$refs.input) {
76
+ if (!target) {
77
+ return;
78
+ }
79
+
80
+ let { value } = target;
81
+ const { maxlength } = this;
82
+
83
+ // native maxlength not work when type is number
84
+ if (isDef(maxlength) && value.length > maxlength) {
85
+ value = value.slice(0, maxlength);
86
+ target.value = value;
87
+ }
88
+
89
+ if (this.type === 'number' || this.type === 'digit') {
90
+ const originValue = value;
91
+ const allowDot = this.type === 'number';
92
+
93
+ value = formatNumber(value, allowDot);
94
+
95
+ if (value !== originValue) {
96
+ target.value = value;
97
+ }
98
+ }
99
+
100
+ if (this.formatter) {
101
+ const originValue = value;
102
+
103
+ value = this.formatter(value);
104
+
105
+ if (value !== originValue) {
106
+ target.value = value;
107
+ }
108
+ }
109
+ return value;
110
+ },
111
+ },
112
+ }
113
+ }
114
+
115
+ function installField() {
116
+ const field = window.vant && window.vant.Field
117
+ if (field) {
118
+ Vue.component('van-field', createField(field))
119
+ }
120
+ }
121
+
122
+ export default installField
@@ -0,0 +1,36 @@
1
+ function trimExtraChar(value, char, regExp) {
2
+ const index = value.indexOf(char);
3
+ if (index === -1) {
4
+ return value;
5
+ }
6
+ if (char === '-' && index !== 0) {
7
+ return value.slice(0, index);
8
+ }
9
+ return value.slice(0, index + 1) + value.slice(index).replace(regExp, '');
10
+ }
11
+
12
+ export function formatNumber(
13
+ value,
14
+ allowDot = true,
15
+ allowMinus = true,
16
+ ) {
17
+ if (allowDot) {
18
+ value = trimExtraChar(value, '.', /\./g);
19
+ } else {
20
+ value = value.split('.')[0];
21
+ }
22
+
23
+ if (allowMinus) {
24
+ value = trimExtraChar(value, '-', /-/g);
25
+ } else {
26
+ value = value.replace(/-/, '');
27
+ }
28
+
29
+ const regExp = allowDot ? /[^-0-9.]/g : /[^-0-9]/g;
30
+
31
+ return value.replace(regExp, '');
32
+ }
33
+
34
+ export function isDef(val) {
35
+ return val !== undefined && val !== null;
36
+ }
@@ -0,0 +1,7 @@
1
+ ### Props
2
+
3
+
4
+ | 参数 | 说明 | 类型 | 默认值 |
5
+ | ----------------------- | ------------------------------------------------------- | --------- | -------- |
6
+ | noErrorPop (3.0.19) | 是否禁用表单验证气泡提示,默认值为false,启用气泡提示 | boolean | false |
7
+ | popScrollToError (3.0.26) | 是否自动滚动到错误提示位置,默认值为true | boolean | true |
@@ -0,0 +1,106 @@
1
+ function createForm(form) {
2
+ return {
3
+ extends: form,
4
+ data() {
5
+ return {
6
+ errorFieldName: '',
7
+ }
8
+ },
9
+ props: {
10
+ noErrorPop: {
11
+ type: Boolean,
12
+ default: false,
13
+ },
14
+ popScrollToError: {
15
+ type: Boolean,
16
+ default: true,
17
+ },
18
+ showAllErrorMessage: {
19
+ type: Boolean,
20
+ default: false,
21
+ },
22
+ },
23
+ created() {
24
+ this.$on('failed', this.setErrorFieldName)
25
+ },
26
+ mounted() {
27
+ if (!this.noErrorPop) {
28
+ this.$nextTick(() => {
29
+ setTimeout(() => {
30
+ let className = ''
31
+ if (this.$el.className) {
32
+ className = this.$el.className + ' '
33
+ }
34
+ this.$el.className = className + 'ksui-form'
35
+ }, 50)
36
+ })
37
+ }
38
+ },
39
+ beforeDestroy() {
40
+ this.$off('failed', this.setErrorFieldName)
41
+ },
42
+ methods: {
43
+ setErrorFieldName(params) {
44
+ if (!this.noErrorPop && params && Array.isArray(params.errors) && params.errors.length > 0) {
45
+ this.errorFieldName = params.errors[0].name
46
+ if (this.popScrollToError) {
47
+ this.scrollToField(this.errorFieldName)
48
+ }
49
+ }
50
+ },
51
+ failHandler(errors) {
52
+ if (!Array.isArray(errors) || errors.length === 0) {
53
+ return
54
+ }
55
+ this.$emit("failed", {
56
+ values: this.getValues(),
57
+ errors
58
+ });
59
+
60
+ if (this.popScrollToError) {
61
+ this.scrollToField(errors[0].name);
62
+ }
63
+ },
64
+ validate (name, showErrorPop) {
65
+ if (name) {
66
+ return this.validateField(name, showErrorPop)
67
+ }
68
+
69
+ return this.validateFirst ? this.validateSeq() : this.validateAll()
70
+ },
71
+ validateField (name, showErrorPop) {
72
+ const that = this
73
+ const matched = that.fields.filter(function (item) {
74
+ return item.name === name
75
+ })
76
+
77
+ if (matched.length) {
78
+ return new Promise(function (resolve, reject) {
79
+ matched[0].validate().then(function (error) {
80
+ if (error) {
81
+ // 2023-02-20 单个字段校验,是否显示气泡展示
82
+ if (showErrorPop) {
83
+ that.errorFieldName = name
84
+ }
85
+ reject(error)
86
+ } else {
87
+ resolve()
88
+ }
89
+ })
90
+ })
91
+ }
92
+
93
+ return Promise.reject();
94
+ }
95
+ },
96
+ }
97
+ }
98
+
99
+ function installForm() {
100
+ const form = window.vant && window.vant.Form
101
+ if (form) {
102
+ Vue.component('van-form', createForm(form))
103
+ }
104
+ }
105
+
106
+ export default installForm
@@ -0,0 +1,12 @@
1
+ import installPagination from './pagination/index.js'
2
+ import installForm from './form/index.js'
3
+ import installField from './field/index.js'
4
+ import installDatetimePicker from './datetime-picker/index.js'
5
+
6
+
7
+ export default function installPatch() {
8
+ installPagination()
9
+ installForm()
10
+ installField()
11
+ installDatetimePicker()
12
+ }