@kyfe/ks-query-table 0.0.9 → 0.0.10

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 (315) hide show
  1. package/{qt-npm/ks-query-table.common.js → index.js} +1 -1
  2. package/{qt-npm/ks-query-table.umd.js → ks-query-table.umd.js} +1 -1
  3. package/{qt-npm/ks-query-table.umd.min.js → ks-query-table.umd.min.js} +1 -1
  4. package/{qt-npm/ks-query-table.umd.min.js.map → ks-query-table.umd.min.js.map} +1 -1
  5. package/package.json +10 -81
  6. package/.bitmap +0 -38
  7. package/.editorconfig +0 -5
  8. package/.env.dev +0 -2
  9. package/.env.gray +0 -2
  10. package/.env.prod +0 -2
  11. package/.env.stg +0 -3
  12. package/.env.uat +0 -2
  13. package/.eslintignore +0 -1
  14. package/.eslintrc.js +0 -25
  15. package/.gitmodules +0 -4
  16. package/.prettierrc +0 -11
  17. package/README.md +0 -6
  18. package/babel.config.js +0 -10
  19. package/build-apm.sh +0 -9
  20. package/build.sh +0 -16
  21. package/config/index.js +0 -20
  22. package/jsconfig.json +0 -7
  23. package/kuasheng-sdk/index.js +0 -80
  24. package/kuasheng-sdk/lib/assets.js +0 -304
  25. package/kuasheng-sdk/lib/context.js +0 -199
  26. package/kuasheng-sdk/lib/layout.js +0 -346
  27. package/kuasheng-sdk/lib/location.js +0 -46
  28. package/kuasheng-sdk/lib/media.js +0 -342
  29. package/kuasheng-sdk/lib/navigation.js +0 -30
  30. package/kuasheng-sdk/lib/request.js +0 -76
  31. package/kuasheng-sdk/lib/system.js +0 -190
  32. package/kuasheng-sdk/lib/userinfo.js +0 -98
  33. package/kuasheng-sdk/util/check.js +0 -102
  34. package/kuasheng-sdk/util/config.js +0 -47
  35. package/kuasheng-sdk/util/device.js +0 -25
  36. package/kuasheng-sdk/util/error.js +0 -19
  37. package/kuasheng-sdk/util/funtional.js +0 -153
  38. package/kuasheng-sdk/util/mixin.js +0 -36
  39. package/kuasheng-sdk/util/requestUtil.js +0 -41
  40. package/kuasheng-sdk/util/response.js +0 -33
  41. package/kuasheng-sdk/util/warn.js +0 -35
  42. package/kuasheng-ui/CHANGELOG.md +0 -9
  43. package/kuasheng-ui/components/card.vue +0 -57
  44. package/kuasheng-ui/components/ks-area-select/README.md +0 -43
  45. package/kuasheng-ui/components/ks-area-select/area-picker.vue +0 -554
  46. package/kuasheng-ui/components/ks-area-select/area-search.vue +0 -363
  47. package/kuasheng-ui/components/ks-area-select/areas-pop.vue +0 -56
  48. package/kuasheng-ui/components/ks-area-select/common.js +0 -183
  49. package/kuasheng-ui/components/ks-area-select/index.vue +0 -355
  50. package/kuasheng-ui/components/ks-area-select/mixins.js +0 -216
  51. package/kuasheng-ui/components/ks-area-single-select/README.md +0 -50
  52. package/kuasheng-ui/components/ks-area-single-select/hot-city.js +0 -45
  53. package/kuasheng-ui/components/ks-area-single-select/index.vue +0 -324
  54. package/kuasheng-ui/components/ks-calendar/index.vue +0 -269
  55. package/kuasheng-ui/components/ks-call-phone/call-tips.vue +0 -70
  56. package/kuasheng-ui/components/ks-call-phone/call.vue +0 -178
  57. package/kuasheng-ui/components/ks-call-phone/index.js +0 -48
  58. package/kuasheng-ui/components/ks-call-phone/index.vue +0 -131
  59. package/kuasheng-ui/components/ks-call-phone//345/221/274/345/217/253/347/273/204/344/273/266.md +0 -0
  60. package/kuasheng-ui/components/ks-date-picker/README.md +0 -23
  61. package/kuasheng-ui/components/ks-date-picker/date-picker-bottom.vue +0 -123
  62. package/kuasheng-ui/components/ks-date-picker/date-picker-dropdown.vue +0 -80
  63. package/kuasheng-ui/components/ks-date-picker/date-picker-right.vue +0 -87
  64. package/kuasheng-ui/components/ks-date-picker/date-picker-top.vue +0 -88
  65. package/kuasheng-ui/components/ks-date-picker/date-picker.js +0 -15
  66. package/kuasheng-ui/components/ks-date-picker/date-range-select.vue +0 -92
  67. package/kuasheng-ui/components/ks-date-picker/date-select.vue +0 -65
  68. package/kuasheng-ui/components/ks-date-picker/date-week-month.vue +0 -131
  69. package/kuasheng-ui/components/ks-date-picker/index.js +0 -12
  70. package/kuasheng-ui/components/ks-date-picker/mixin.js +0 -92
  71. package/kuasheng-ui/components/ks-date-picker/month-range-select.vue +0 -129
  72. package/kuasheng-ui/components/ks-date-picker/month-select.vue +0 -85
  73. package/kuasheng-ui/components/ks-date-picker/quarter-select.vue +0 -94
  74. package/kuasheng-ui/components/ks-date-picker/style.less +0 -121
  75. package/kuasheng-ui/components/ks-date-picker/utils.js +0 -109
  76. package/kuasheng-ui/components/ks-date-picker/week-select.vue +0 -99
  77. package/kuasheng-ui/components/ks-decrypt/index.vue +0 -159
  78. package/kuasheng-ui/components/ks-employee/README.md +0 -78
  79. package/kuasheng-ui/components/ks-employee/employee-input.vue +0 -173
  80. package/kuasheng-ui/components/ks-employee/employee-list.vue +0 -662
  81. package/kuasheng-ui/components/ks-employee/employee-popup.vue +0 -197
  82. package/kuasheng-ui/components/ks-employee/employee-search.vue +0 -250
  83. package/kuasheng-ui/components/ks-employee/employee-selected.vue +0 -173
  84. package/kuasheng-ui/components/ks-employee/index.js +0 -17
  85. package/kuasheng-ui/components/ks-employee/package-lock.json +0 -5
  86. package/kuasheng-ui/components/ks-employee/package.json +0 -15
  87. package/kuasheng-ui/components/ks-employee/yarn.lock +0 -4
  88. package/kuasheng-ui/components/ks-field-money/index.js +0 -8
  89. package/kuasheng-ui/components/ks-field-money/index.vue +0 -212
  90. package/kuasheng-ui/components/ks-field-money/package.json +0 -11
  91. package/kuasheng-ui/components/ks-field-money/utils.js +0 -65
  92. 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
  93. package/kuasheng-ui/components/ks-history-search/history-input.vue +0 -131
  94. package/kuasheng-ui/components/ks-history-search/history-list.vue +0 -188
  95. package/kuasheng-ui/components/ks-history-search/img/delete.png +0 -0
  96. package/kuasheng-ui/components/ks-history-search/index.js +0 -9
  97. package/kuasheng-ui/components/ks-history-search/index.vue +0 -125
  98. package/kuasheng-ui/components/ks-history-search/package-lock.json +0 -5
  99. package/kuasheng-ui/components/ks-history-search/package.json +0 -15
  100. package/kuasheng-ui/components/ks-history-search/utils.js +0 -35
  101. package/kuasheng-ui/components/ks-input-search/index.vue +0 -106
  102. package/kuasheng-ui/components/ks-list/index.vue +0 -75
  103. package/kuasheng-ui/components/ks-loading/index.js +0 -16
  104. package/kuasheng-ui/components/ks-month/index.vue +0 -47
  105. package/kuasheng-ui/components/ks-month/package.json +0 -3
  106. package/kuasheng-ui/components/ks-month/range.vue +0 -172
  107. package/kuasheng-ui/components/ks-month/single.vue +0 -136
  108. package/kuasheng-ui/components/ks-month/style.less +0 -125
  109. package/kuasheng-ui/components/ks-month/utils.js +0 -35
  110. package/kuasheng-ui/components/ks-nav/index.vue +0 -264
  111. package/kuasheng-ui/components/ks-nav-bar.js +0 -35
  112. package/kuasheng-ui/components/ks-org/ks-org-tree.vue +0 -247
  113. package/kuasheng-ui/components/ks-org/ks-popup-tree.vue +0 -154
  114. package/kuasheng-ui/components/ks-org/ks-tree-input.vue +0 -240
  115. package/kuasheng-ui/components/ks-org/ks-tree-node.vue +0 -94
  116. package/kuasheng-ui/components/ks-org/ks-tree.vue +0 -229
  117. package/kuasheng-ui/components/ks-org/utils.js +0 -54
  118. package/kuasheng-ui/components/ks-popover/index.vue +0 -457
  119. package/kuasheng-ui/components/ks-popover/mixin.js +0 -28
  120. package/kuasheng-ui/components/ks-popover/utils.js +0 -60
  121. package/kuasheng-ui/components/ks-pull-refresh/index.vue +0 -43
  122. package/kuasheng-ui/components/ks-quarter/index.vue +0 -256
  123. package/kuasheng-ui/components/ks-table/README.md +0 -103
  124. package/kuasheng-ui/components/ks-table/cell.vue +0 -31
  125. package/kuasheng-ui/components/ks-table/index.js +0 -8
  126. package/kuasheng-ui/components/ks-table/index.less +0 -486
  127. package/kuasheng-ui/components/ks-table/index.vue +0 -1088
  128. package/kuasheng-ui/components/ks-table/package.json +0 -12
  129. package/kuasheng-ui/components/ks-table/release.md +0 -7
  130. package/kuasheng-ui/components/ks-toast.js +0 -35
  131. package/kuasheng-ui/components/ks-upload/index.vue +0 -174
  132. package/kuasheng-ui/components/ks-user-access.vue +0 -229
  133. package/kuasheng-ui/components/no-data/README.md +0 -45
  134. package/kuasheng-ui/components/no-data/image.js +0 -1
  135. package/kuasheng-ui/components/no-data/index.vue +0 -83
  136. package/kuasheng-ui/components/notice-bar.vue +0 -16
  137. package/kuasheng-ui/components/steps.js +0 -11
  138. package/kuasheng-ui/components/tabs.vue +0 -40
  139. package/kuasheng-ui/index.js +0 -239
  140. package/kuasheng-ui/patch/datetime-picker/datetimePicker.md +0 -0
  141. package/kuasheng-ui/patch/datetime-picker/index.js +0 -46
  142. package/kuasheng-ui/patch/datetime-picker/utils.js +0 -78
  143. package/kuasheng-ui/patch/field/field.md +0 -1
  144. package/kuasheng-ui/patch/field/index.js +0 -122
  145. package/kuasheng-ui/patch/field/utils.js +0 -36
  146. package/kuasheng-ui/patch/form/form.md +0 -7
  147. package/kuasheng-ui/patch/form/index.js +0 -106
  148. package/kuasheng-ui/patch/index.js +0 -12
  149. package/kuasheng-ui/patch/pagination/index.js +0 -78
  150. package/kuasheng-ui/style/animation-ui.less +0 -31
  151. package/kuasheng-ui/style/font/number/font-number1.otf +0 -0
  152. package/kuasheng-ui/style/font/number/font-number2.ttf +0 -0
  153. package/kuasheng-ui/style/images/checked.svg +0 -1
  154. package/kuasheng-ui/style/images/success.svg +0 -1
  155. package/kuasheng-ui/style/index.less +0 -6
  156. package/kuasheng-ui/style/kuasheng-ui.less +0 -207
  157. package/kuasheng-ui/style/reset-vant.less +0 -307
  158. package/kuasheng-ui/style/vant-var.less +0 -138
  159. package/kuasheng-ui/utils/apis.js +0 -17
  160. package/kuasheng-ui/utils/axios-adapter.js +0 -47
  161. package/kuasheng-ui/utils/bem.js +0 -39
  162. package/kuasheng-ui/utils/bus.js +0 -97
  163. package/kuasheng-ui/utils/common.js +0 -88
  164. package/kuasheng-ui/utils/decrypt/config.js +0 -12
  165. package/kuasheng-ui/utils/decrypt/decrypt-api.js +0 -139
  166. package/kuasheng-ui/utils/decrypt/index.js +0 -6
  167. package/kuasheng-ui/utils/decrypt/mask.js +0 -36
  168. package/kuasheng-ui/utils/decrypt/virtual.js +0 -44
  169. package/kuasheng-ui/utils/directive.js +0 -57
  170. package/kuasheng-ui/utils/directive.md +0 -23
  171. package/kuasheng-ui/utils/drcheck-plugin.js +0 -219
  172. package/kuasheng-ui/utils/error-plugin.js +0 -88
  173. package/kuasheng-ui/utils/filter.js +0 -149
  174. package/kuasheng-ui/utils/http-interceptors.js +0 -18
  175. package/kuasheng-ui/utils/http.js +0 -140
  176. package/kuasheng-ui/utils/index.js +0 -5
  177. package/kuasheng-ui/utils/init-event.js +0 -20
  178. package/kuasheng-ui/utils/log.js +0 -309
  179. package/kuasheng-ui/utils/token.js +0 -9
  180. package/kuasheng-ui/utils/type.js +0 -45
  181. package/kuasheng-ui/utils/validate.js +0 -20
  182. package/kuasheng-ui/utils/watermark.js +0 -67
  183. package/kuasheng-ui/version.js +0 -1
  184. package/ky-apm/client.js +0 -37
  185. package/ky-apm/customHttp.js +0 -38
  186. package/ky-apm/index.js +0 -68
  187. package/ky-apm/plugins/performance.js +0 -84
  188. package/ky-apm/plugins/self-error.js +0 -26
  189. package/ky-apm/warn-log.js +0 -3
  190. package/plugin/ks-chii-webpack-html/index.js +0 -53
  191. package/plugin/ks-chii-webpack-html/package.json +0 -16
  192. package/postcss.config.js +0 -15
  193. package/public/capsule-positon.js +0 -50
  194. package/public/fonts/DingTalkJinBuTi.ttf +0 -0
  195. package/public/framework/axios@0.19.0.min.js +0 -9
  196. package/public/framework/fastclick@1.0.6.min.js +0 -1
  197. package/public/framework/iconfont/iconfont.css +0 -91
  198. package/public/framework/iconfont/iconfont.js +0 -1
  199. package/public/framework/iconfont/iconfont.json +0 -142
  200. package/public/framework/iconfont/iconfont.ttf +0 -0
  201. package/public/framework/iconfont/iconfont.woff +0 -0
  202. package/public/framework/iconfont/iconfont.woff2 +0 -0
  203. package/public/framework/vant@2.5.6.min.js +0 -7
  204. package/public/framework/vue-router@3.1.3.min.js +0 -6
  205. package/public/framework/vue@2.6.10.runtime.min.js +0 -6
  206. package/public/framework/vuex@3.1.1.min.js +0 -6
  207. package/public/index.html +0 -260
  208. package/public/ks@3.0.8.umd.min.js +0 -1
  209. package/public/ksui@4.0.27.umd.min.js +0 -10
  210. package/public/status-bar-preset.js +0 -39
  211. package/qt-npm/package.json +0 -13
  212. package/src/App.vue +0 -204
  213. package/src/common/README.md +0 -94
  214. package/src/common/http/axios-adapter.js +0 -47
  215. package/src/common/http/common.js +0 -88
  216. package/src/common/http/http-interceptors.js +0 -18
  217. package/src/common/http/http-lock.js +0 -45
  218. package/src/common/http/index.js +0 -163
  219. package/src/common/http/token.js +0 -9
  220. package/src/common/styles/font/AlibabaSans102Ver2-Md.ttf +0 -0
  221. package/src/common/styles/font.less +0 -12
  222. package/src/common/styles/variables.less +0 -43
  223. package/src/common/utils/index.js +0 -1
  224. package/src/common/utils/platform/README.md +0 -1
  225. package/src/common/utils/platform/android/.gitkeep +0 -0
  226. package/src/common/utils/platform/core/index.js +0 -24
  227. package/src/common/utils/platform/index.js +0 -164
  228. package/src/common/utils/platform/ios/.gitkeep +0 -0
  229. package/src/common/utils/platform/subscribe/helper.js +0 -38
  230. package/src/common/utils/platform/subscribe/index.js +0 -204
  231. package/src/common/utils/platform/subscribe/table-animation.js +0 -75
  232. package/src/config/index.js +0 -31
  233. package/src/config.js +0 -1
  234. package/src/main.js +0 -73
  235. package/src/router.js +0 -52
  236. package/src/view/home/config.js +0 -101
  237. package/src/view/home/demo1.vue +0 -223
  238. package/src/view/home/demo2.vue +0 -124
  239. package/src/view/home/demo3.vue +0 -51
  240. package/src/view/home/demo4.vue +0 -139
  241. package/src/view/home/index.vue +0 -97
  242. package/src/view/home/query-table/README.md +0 -45
  243. package/src/view/home/query-table/api/index.js +0 -12
  244. package/src/view/home/query-table/assets/horizontal-back.svg +0 -1
  245. package/src/view/home/query-table/components/pe-table/cell.js +0 -184
  246. package/src/view/home/query-table/components/pe-table/collapse.js +0 -334
  247. package/src/view/home/query-table/components/pe-table/empty.vue +0 -48
  248. package/src/view/home/query-table/components/pe-table/header.js +0 -328
  249. package/src/view/home/query-table/components/pe-table/images/abnormal.png +0 -0
  250. package/src/view/home/query-table/components/pe-table/images/empty.png +0 -0
  251. package/src/view/home/query-table/components/pe-table/images/fold.svg +0 -1
  252. package/src/view/home/query-table/components/pe-table/images/sort.svg +0 -1
  253. package/src/view/home/query-table/components/pe-table/images/sorting.svg +0 -1
  254. package/src/view/home/query-table/components/pe-table/images/unfold.svg +0 -1
  255. package/src/view/home/query-table/components/pe-table/index.vue +0 -841
  256. package/src/view/home/query-table/components/pe-table/load-more.js +0 -46
  257. package/src/view/home/query-table/components/pe-table/props/index.js +0 -193
  258. package/src/view/home/query-table/components/pe-table/row.vue +0 -118
  259. package/src/view/home/query-table/components/pe-table/scrollbar.js +0 -424
  260. package/src/view/home/query-table/components/pe-table/stretch-damping.js +0 -112
  261. package/src/view/home/query-table/components/pe-table/style/cell.less +0 -89
  262. package/src/view/home/query-table/components/pe-table/style/empty.less +0 -48
  263. package/src/view/home/query-table/components/pe-table/style/header.less +0 -141
  264. package/src/view/home/query-table/components/pe-table/style/index.less +0 -88
  265. package/src/view/home/query-table/components/pe-table/style/load-more.less +0 -61
  266. package/src/view/home/query-table/components/pe-table/style/row.less +0 -6
  267. package/src/view/home/query-table/components/pe-table/table-loading.vue +0 -119
  268. package/src/view/home/query-table/components/pe-table/table-total.vue +0 -53
  269. package/src/view/home/query-table/components/pe-table/utils/animate.js +0 -80
  270. package/src/view/home/query-table/components/pe-table/utils/columns.js +0 -290
  271. package/src/view/home/query-table/components/pe-table/utils/data.js +0 -12
  272. package/src/view/home/query-table/components/pe-table/utils/fixed.js +0 -69
  273. package/src/view/home/query-table/components/pe-table/utils/formatter.js +0 -327
  274. package/src/view/home/query-table/components/pe-table/utils/render-cells.js +0 -424
  275. package/src/view/home/query-table/components/pe-table/utils/slot.js +0 -28
  276. package/src/view/home/query-table/components/pe-table/utils/tools.js +0 -84
  277. package/src/view/home/query-table/components/pe-table/utils/touch-scroll.js +0 -417
  278. package/src/view/home/query-table/components/query-table/index.vue +0 -496
  279. package/src/view/home/query-table/components/query-table/mixins/column-mixin.js +0 -102
  280. package/src/view/home/query-table/components/query-table/mixins/column-setting.js +0 -143
  281. package/src/view/home/query-table/components/query-table/mixins/data-mixin.js +0 -511
  282. package/src/view/home/query-table/components/query-table/mixins/pagination-mixin.js +0 -26
  283. package/src/view/home/query-table/components/query-table/mixins/table-fixed.js +0 -115
  284. package/src/view/home/query-table/components/query-table/mixins/table-horizontal.js +0 -118
  285. package/src/view/home/query-table/components/table-horizontal.vue +0 -99
  286. package/src/view/home/query-table/components/table-pagination.vue +0 -32
  287. package/src/view/home/query-table/components/table-settings/assets/arrpw-up.svg +0 -1
  288. package/src/view/home/query-table/components/table-settings/assets/disabled-down.svg +0 -1
  289. package/src/view/home/query-table/components/table-settings/assets/disabled-up.svg +0 -1
  290. package/src/view/home/query-table/components/table-settings/assets/down.svg +0 -1
  291. package/src/view/home/query-table/components/table-settings/assets/up.svg +0 -1
  292. package/src/view/home/query-table/components/table-settings/index.less +0 -294
  293. package/src/view/home/query-table/components/table-settings/index.vue +0 -260
  294. package/src/view/home/query-table/components/table-settings/settings.vue +0 -479
  295. package/src/view/home/query-table/components/table-settings/test.js +0 -626
  296. package/src/view/home/query-table/components/table-settings//344/270/252/346/200/247/350/256/276/347/275/256.md +0 -0
  297. package/src/view/home/query-table/components/tooltip.js +0 -124
  298. package/src/view/home/query-table/hooks/use-cache-promise.js +0 -27
  299. package/src/view/home/query-table/hooks/use-column-config.js +0 -190
  300. package/src/view/home/query-table/hooks/use-encryption.js +0 -0
  301. package/src/view/home/query-table/hooks/use-generic-search.js +0 -95
  302. package/src/view/home/query-table/index.js +0 -7
  303. package/src/view/home/query-table/store/column-store.js +0 -0
  304. package/src/view/home/query-table/styles/table.less +0 -24
  305. package/src/view/home/query-table/utils/column.js +0 -36
  306. package/src/view/home/query-table/utils/config.js +0 -12
  307. package/src/view/home/query-table/utils/encryption.js +0 -32
  308. package/src/view/home/query-table/utils/http.js +0 -1
  309. package/src/view/home/query-table/utils/localStorage.js +0 -35
  310. package/src/view/home//351/246/226/351/241/265.md +0 -0
  311. package/src/web.js +0 -99
  312. package/vue.config.js +0 -128
  313. /package/{qt-npm/ks-query-table.common.js.map → ks-query-table.common.js.map} +0 -0
  314. /package/{qt-npm/ks-query-table.css → ks-query-table.css} +0 -0
  315. /package/{qt-npm/ks-query-table.umd.js.map → ks-query-table.umd.js.map} +0 -0
@@ -1,43 +0,0 @@
1
- #### API接口
2
- 行政区划区域模糊搜索: address.regioninfo.getAreaAddress
3
-
4
- 行政区划五级联想查询: address.addressBgTerritory.getMultiLevelThinkList
5
-
6
- 根据districtId查询各级info及各级兄弟节点(数据回填): address.regionInfo.getInfoByDistrictId
7
-
8
-
9
-
10
- #### Attributes
11
- 参数 | 说明 | 类型 | 可选值 | 默认值
12
- -----------|--------|--------|--------|--------
13
- areaData | 初始值 | Array | 示例: [{districtName: ‘广东省-深圳市', districtID: 'XZ2-229 ’,simpleName:‘深圳市'}] | []
14
- hotList | 热门地区列表 | Array | 示例: [{districtName: ‘广东省-深圳市', districtID: 'XZ2-229 ’,simpleName:‘深圳市'}] | -
15
- levelOptions | 为每一层级的配置,详情见levelOptions | Array[Object] | 示例:[{ name: '省/直辖市', disabled: true, allSelectDisabled: true }, { name: '城市', disabled: false, allSelectDisabled: true }] | [{ name: '省/直辖市' },{ name: '城市' },{ name: '区/县' },{ name: '镇/街道'}]
16
- maxlength | 最大选择地区数 | Number | - | -
17
- readOnly | 只读 | Boolean | true/false | false
18
- placeholder | 搜索占位提示文字 | String | - | 请输入搜索内容
19
- selectPlaceholder | 选择中标签占位提示文字 | String | - | 请选择区域
20
- isArea | 是否展示大区 | Boolean | Boolean | false
21
-
22
-
23
- #### Events
24
- 事件名称 | 说明 | 回调参数
25
- -----------|--------|--------
26
- change | change事件的回调 | 选中的地址数组
27
- close | close事件的回调 | 点击确定时触发
28
-
29
-
30
- #### 方法
31
- 方法名称 | 说明 | 参数 | 返回值
32
- -----------|--------|--------|--------
33
- onSubmit | 触发组件提交操作 | - | -
34
- onReset | 组件数据清空,初始化 | - | -
35
- closePop | 关闭所有popover弹框,回到区域选择首页,比如搜索、所有选中展开弹框等 | - | -
36
-
37
-
38
- #### levelOptions
39
- 配置项名称 | 配置项说明 | 是否必须 | 默认值
40
- -----------|--------|--------|--------
41
- name | 层级名称 | 是 | 层级名称
42
- disabled | 屏蔽当前层级选择 | 否 | false
43
- allSelectDisabled | 屏蔽当前层级全选(全国/不限) | 否 | false
@@ -1,554 +0,0 @@
1
- <template>
2
- <div class="ks-area-picker" ref="addressBox">
3
- <div class="ks-area-picker-container">
4
- <van-swipe ref="areaSwipeRef" class="area-picker-swipe" :loop="false" :width="swipeWidth" :show-indicators="false" @change="onSwipeChange">
5
- <van-swipe-item class="area-swipe-item" v-for="(zoomItem, zoomIndex) in levelOptions" :key="zoomIndex">
6
- <div :class="[`area-list area-list-${zoomIndex}`]">
7
- <div :class="['area-list-title', { 'select-color': selectData[zoomIndex].length > 0 }]">{{ zoomItem.name }}</div>
8
- <div class="area-list-content">
9
- <div
10
- :class="['list-item', `list-item-${v.index}`, { 'is-choose': v.isChoose, 'read-only': readOnly }]"
11
- v-for="v in selectData[zoomIndex]"
12
- v-show="v.index > 0 || !zoomItem.allSelectDisabled"
13
- :key="v.districtID"
14
- >
15
- <div class="item-choose" @click="showChildren(v, v.index, zoomIndex, false, true)">
16
- <div class="address-name" :title="v.districtName">{{ v.simpleName || v.districtName }}</div>
17
- <i
18
- class="checkbox-item"
19
- v-show="!zoomItem.disabled"
20
- :class="{ 'partial-checked': v.isIndeterminate, 'no-checked': !v.isChecked, 'all-checked': v.isChecked }"
21
- @click.stop="checkboxClick(v, v.index, zoomIndex)"
22
- ></i>
23
- </div>
24
- </div>
25
- </div>
26
- </div>
27
- </van-swipe-item>
28
- </van-swipe>
29
- </div>
30
- </div>
31
- </template>
32
- <script>
33
- import { getRegionTreeData, cloneDeep } from './common'
34
- import mixins from './mixins'
35
- export default {
36
- name: 'area-picker',
37
- props: {
38
- // 下拉搜索前的事件fetch
39
- beforeSearch: {
40
- type: Function
41
- },
42
- level: {
43
- type: Number
44
- },
45
- // 是否包括大区
46
- isArea: {
47
- type: Boolean,
48
- default: false
49
- },
50
- // 添加区域前的事件fetch
51
- beforeAdd: {
52
- type: Function
53
- }
54
- },
55
- mixins: [mixins],
56
- computed: {
57
- maxlength() {
58
- return this.$parent.maxlength
59
- },
60
- readOnly() {
61
- return this.$parent.readOnly
62
- },
63
- areaData() {
64
- return this.$parent.areaData
65
- },
66
- checkedData() {
67
- return this.$parent.checkedData
68
- },
69
- idMap() {
70
- return this.$parent.idMap
71
- },
72
- levelOptions() {
73
- return this.$parent.levelOptions
74
- }
75
- },
76
- watch: {
77
- areaData(val) {
78
- if (this.setDataTimer) {
79
- clearTimeout(this.setDataTimer)
80
- this.setDataTimer = null
81
- }
82
- this.setDataTimer = setTimeout(() => {
83
- this.clearAll()
84
- if (val) {
85
- this.showHistoryDataChecked(cloneDeep(this.areaData || []))
86
- }
87
- }, 100)
88
- }
89
- },
90
- data() {
91
- // const level = this.titles.length
92
- return {
93
- currentSwipeIndex: 0,
94
- swipeWidth: this.level > 2 ? document.body.clientWidth / 3 : document.body.clientWidth / 2,
95
- areaTree: getRegionTreeData(this.isArea),
96
- checkedListData: [],
97
- selectData: new Array(this.level).fill([]),
98
- lastCheckedData: []
99
- }
100
- },
101
- async mounted() {
102
- await this.getAreaData()
103
- if (this.areaData && this.areaData.length) {
104
- this.showHistoryDataChecked(cloneDeep(this.areaData || []))
105
- }
106
- },
107
- methods: {
108
- onSwipeChange(index) {
109
- this.currentSwipeIndex = index
110
- },
111
- switchSwipeIndex(zoomIndex) {
112
- if (this.level > 3) {
113
- const diffOffset = zoomIndex - this.currentSwipeIndex
114
- if (diffOffset === 2 && zoomIndex > 1 && zoomIndex < this.level - 1) {
115
- this.$refs.areaSwipeRef.next()
116
- }
117
- if (diffOffset === 0 && zoomIndex > 0) {
118
- this.$refs.areaSwipeRef.prev()
119
- }
120
- }
121
- },
122
- async checkboxClick(item, vIndex, zoomIndex) {
123
- this.switchSwipeIndex(zoomIndex)
124
- if (this.readOnly) return
125
- if (vIndex === 0 && zoomIndex === 0) {
126
- const oldChecked = item.isChecked
127
- this.clearAll()
128
- item.isChecked = !oldChecked
129
- item.isIndeterminate = false
130
- return
131
- }
132
- if (!item.isChecked || item.isIndeterminate) {
133
- item.isChecked = true
134
- item.isIndeterminate = false
135
- await this.changeCheckBox(true, item, vIndex, zoomIndex, true)
136
- return
137
- }
138
- item.isChecked = false
139
- item.isIndeterminate = false
140
- await this.changeCheckBox(false, item, vIndex, zoomIndex)
141
- },
142
- getAreaData() {
143
- const areaList = this.areaTree.childrenNode
144
- const childrenData = [this.areaTree, ...areaList]
145
- this.$parent.idMap = new Map()
146
- this.idMap.set(this.areaTree.districtID, this.areaTree)
147
- this.$set(this.selectData, [0], childrenData)
148
- areaList.map(item => {
149
- item._parent = this.areaTree
150
- this.idMap.set(item.districtID, item)
151
- })
152
- },
153
- isMaxLength() {
154
- if (this.maxlength) {
155
- if (this.checkedData.length >= this.maxlength) {
156
- vant.Toast(`最多选择${this.maxlength}个地区`)
157
- return true
158
- }
159
- return false
160
- }
161
- return false
162
- },
163
- // 回写数据到连级菜单中
164
- async showHistoryDataChecked(val) {
165
- const idArry = []
166
- // 过滤已有数据查询
167
- const rootDisabled = this.levelOptions[0].disabled
168
- for (let i = val.length - 1; i >= 0; i--) {
169
- const item = val[i]
170
- const mapItem = this.idMap.get(item.districtID)
171
- if (!mapItem) {
172
- idArry.push(item.districtID)
173
- } else {
174
- if (mapItem && mapItem._erpZoom === 0 && !rootDisabled) {
175
- if (!mapItem.isChecked) {
176
- if (
177
- !this.checkedData.some(v => {
178
- return v.districtID === mapItem.districtID
179
- })
180
- ) {
181
- await this.checkboxClick(mapItem, mapItem.index, 0)
182
- }
183
- }
184
- val.splice(i, 1)
185
- }
186
- }
187
- }
188
- await this.getAreaLinkData(idArry, this.idMap, this.areaTree)
189
- val &&
190
- val.map((item, itemIndex) => {
191
- const checkedItem = this.idMap.get(item.districtID)
192
- if (checkedItem) {
193
- this.changeCheckBox(true, checkedItem, 1)
194
- if (itemIndex === val.length - 1) {
195
- this.openAddressLink(checkedItem, this.selectData)
196
- for (let i = checkedItem._erpZoom + 1; i < this.level; i++) {
197
- const childNode = this.selectData[i]
198
- childNode &&
199
- childNode.length &&
200
- childNode.forEach(node => {
201
- node.isChoose = false
202
- })
203
-
204
- if (checkedItem._erpZoom === i - 1 && checkedItem.childrenNode && checkedItem.childrenNode.length) {
205
- this.$set(this.selectData, [i], [...checkedItem.childrenNode])
206
- } else {
207
- this.$set(this.selectData, [i], [])
208
- }
209
- }
210
- }
211
- } else {
212
- // 不存在的情况需要获取上级链路数据
213
- this.checkedData.push(item)
214
- }
215
- })
216
- // setTimeout(() => {
217
- // const nodes = Array.from(this.$refs.addressBox.querySelectorAll('.is-choose'))
218
- // const length = nodes && nodes.length
219
- // if (length) {
220
- // nodes.reverse().forEach(node => node.scrollIntoView({ block: 'center', inline: 'center' }))
221
- // if (length > 3) {
222
- // this.$refs.areaSwipeRef.next()
223
- // } else {
224
- // if (this.currentSwipeIndex) {
225
- // this.$refs.areaSwipeRef.prev()
226
- // }
227
- // }
228
- // }
229
- // }, 200)
230
- },
231
- // 递归打开最后一个城市
232
- async showChildren(v, index, key, rootChecked, isClick) {
233
- if (key === this.level - 1) {
234
- this.checkboxClick(v, index, key)
235
- return
236
- }
237
- isClick && this.switchSwipeIndex(key)
238
- if (key >= this.level - 1) {
239
- return
240
- }
241
- if (index === 0 && key === 0) {
242
- for (let i = key + 1; i < this.level; i++) {
243
- const childNode = this.selectData[i]
244
- childNode &&
245
- childNode.length &&
246
- childNode.forEach(node => {
247
- node.isChoose = false
248
- })
249
- this.$set(this.selectData, [i], [])
250
- }
251
- v.childrenNode.map(k => {
252
- k.isChoose = false
253
- })
254
- return false
255
- }
256
- v._parent &&
257
- v._parent.childrenNode.map(k => {
258
- k.isChoose = false
259
- })
260
- let data
261
- v.isChoose = true
262
- if (v.childrenNode && v.childrenNode.length) {
263
- data = v.childrenNode
264
- } else {
265
- data = await this.getAreaChildren(this.idMap, v, key + 1, rootChecked)
266
- }
267
- const childrenData = index === 0 ? [] : data
268
- for (let i = key + 1; i < this.level; i++) {
269
- const childNode = this.selectData[i]
270
- childNode &&
271
- childNode.length &&
272
- childNode.forEach(node => {
273
- node.isChoose = false
274
- })
275
- this.selectData[i] = []
276
- }
277
- this.$set(this.selectData, [key + 1], childrenData)
278
- },
279
- // tag删除操作
280
- deleteName(item) {
281
- // 选择联动地区移除
282
- const indexKey = this.selectData[item._erpZoom].indexOf(item)
283
- item.isChecked = false
284
- this.changeCheckBox(false, item, indexKey, item._erpZoom)
285
- },
286
- // 删除所有操作
287
- clearAll() {
288
- this.checkedListData = []
289
- this.$parent.checkedData = []
290
- this.selectData = new Array(this.level).fill([])
291
- const areaList = this.areaTree.childrenNode
292
- const childrenData = [this.areaTree, ...areaList]
293
- this.$set(this.selectData, [0], childrenData)
294
- this.clearStatus(this.areaTree)
295
- if (this.currentSwipeIndex) {
296
- this.$refs.areaSwipeRef.prev()
297
- }
298
- },
299
- // 连级特殊处理
300
- specialSet(item, itemIndex, type) {
301
- if (item.districtID !== 'all') {
302
- this.areaTree.isChecked = false
303
- }
304
- if (itemIndex === 0) {
305
- if (item._parent) {
306
- item._parent.isChecked = true
307
- item._parent.isIndeterminate = false
308
- }
309
- } else {
310
- if (item.childrenNode) {
311
- item.childrenNode[0] && (item.childrenNode[0].isChecked = type)
312
- }
313
- }
314
- },
315
- // 连级勾选handler
316
- async changeCheckBox(type, item, itemIndex, key, rootChecked) {
317
- try {
318
- if (type) {
319
- // 检测重复数据return和检测超出最大限制
320
- if (item.districtID !== 'all') {
321
- const isMax = this.isMaxLength()
322
- if (isMax) {
323
- item.isChecked = false
324
- return false
325
- }
326
- }
327
- await this.checkoutBeforeAdd(item, true)
328
- const repeatItem = this.getRepeat(item, true)
329
- if (repeatItem) {
330
- item.isChecked = false
331
- // vant.Toast(`已添加过${repeatItem.simpleName || repeatItem.districtName}`)
332
- return
333
- }
334
- }
335
- // step1 递归清除当前节点子集中的所有选中数据
336
- this.clearChildren(item)
337
- // step2 展示下级(同步获取接口数据)
338
- type && !isNaN(key) && (await this.showChildren(item, itemIndex, Number(key), rootChecked))
339
-
340
- // step3 同级展示操作
341
- this.setPeer(item, itemIndex, type)
342
- // step4 特殊情况处理
343
- this.specialSet(item, itemIndex, type)
344
- // step5 递归设置上层节点展示状态
345
- this.setFather(item)
346
-
347
- this.lastCheckedData = cloneDeep(this.checkedListData)
348
- this.checkedListData = []
349
-
350
- // step6 获取tree数据中被选中的数据
351
- this.getChecked(this.areaTree)
352
-
353
- // step7 push或者delete数据
354
- this.getAddOrDeleteItems(type)
355
- } catch (err) {
356
- // console.error(err)
357
- }
358
- },
359
- // 对比上次的数据判断新增或删除的数据
360
- getAddOrDeleteItems() {
361
- this.checkedListData.map(item => {
362
- const sameItem = this.lastCheckedData.find(key => {
363
- return key.districtID === item.districtID
364
- })
365
- if (!sameItem) {
366
- this.checkedData.push(item)
367
- }
368
- })
369
- this.lastCheckedData.map(item => {
370
- const sameItem = this.checkedListData.find(key => {
371
- return key.districtID === item.districtID
372
- })
373
- if (!sameItem) {
374
- const index = this.checkedData.findIndex(v => {
375
- return v.districtID === item.districtID
376
- })
377
- if (index >= 0) {
378
- this.checkedData.splice(index, 1)
379
- }
380
- }
381
- })
382
- },
383
- // 获取连级数据中被选中的值
384
- getChecked(item) {
385
- // 选中全国
386
- if (item.districtID === 'all' && item.isChecked) {
387
- this.clearAll()
388
- item.isChecked = true
389
- this.checkedListData.push(item)
390
- return
391
- }
392
- item.childrenNode &&
393
- item.childrenNode.map((v, vIndex) => {
394
- if (v.isChecked || v.isChoose || v.isIndeterminate) {
395
- if (v._erpZoom === 0) {
396
- if (v.isChecked) {
397
- const isAllChecked = v.childrenNode && v.childrenNode.length && v.childrenNode[0].isChecked
398
- isAllChecked && this.checkedListData.push(v)
399
- }
400
- this.getChecked(v)
401
- } else {
402
- if (vIndex !== 0) {
403
- if (v.isChecked) {
404
- if (v.childrenNode && v.childrenNode.length) {
405
- const isAllChecked = v.childrenNode[0].isChecked
406
- isAllChecked && this.checkedListData.push(v)
407
- } else {
408
- this.checkedListData.push(v)
409
- }
410
- }
411
- this.getChecked(v)
412
- }
413
- }
414
- }
415
- })
416
- },
417
- // 获取重复item
418
- getRepeat(item) {
419
- return this.checkedData.find(v => {
420
- return v.districtID === item.districtID
421
- })
422
- },
423
- // 取消联级菜单的全国勾选
424
- cancelCheckedAll() {
425
- if (this.areaTree.isChecked) {
426
- // 全国被选中去掉勾选,去除勾选数据
427
- this.areaTree.isChecked = false
428
- this.$parent.checkedData = []
429
- }
430
- },
431
- async checkoutBeforeAdd(item, cancelChecked) {
432
- if (this.beforeAdd) {
433
- const checkedData = cloneDeep(this.checkedData)
434
- const result = this.beforeAdd(item, checkedData)
435
- if (result) {
436
- cancelChecked && (item.isChecked = false)
437
- // throw new Error('checkoutBeforeAdd break')
438
- }
439
- }
440
- },
441
- saveArea() {
442
- // 保存操作
443
- const data = cloneDeep(this.checkedData)
444
- this.$emit('change', data)
445
- }
446
- }
447
- }
448
- </script>
449
- <style lang="less" scoped>
450
- .ks-area-picker {
451
- position: relative;
452
- width: 100%;
453
- height: 100%;
454
- font-size: 14px;
455
- overflow: hidden;
456
- border-top: 1px solid #f8f8f9;
457
- .ks-area-picker-container {
458
- font-size: 12px;
459
- height: 100%;
460
- width: 100%;
461
- white-space: nowrap;
462
- .area-picker-swipe {
463
- height: 100%;
464
- .van-swipe__track {
465
- .area-swipe-item {
466
- .area-list {
467
- // flex: 1;
468
- // width: 0;
469
- width: 100%;
470
- background: #fff;
471
- // flex-direction: column;
472
- display: inline-block;
473
- vertical-align: top; //用来调整偏移位置
474
- height: 100%;
475
- position: relative;
476
- .area-list-title {
477
- padding-left: 16px;
478
- border-bottom: 1px solid #ebedf0;
479
- color: #858793;
480
- font-size: 14px;
481
- font-family: PingFangSC, PingFangSC-Regular;
482
- line-height: 42px;
483
- }
484
- .select-color {
485
- color: #323233;
486
- border-color: #165DFF;
487
- font-weight: bold;
488
- }
489
- .area-list-content {
490
- height: calc(100% - 43px);
491
- border: 1px solid #f8f8f9;
492
- overflow-y: auto;
493
- .list-item {
494
- width: 100%;
495
- cursor: pointer;
496
- padding: 0 0 0 16px;
497
- box-sizing: border-box;
498
- &:hover {
499
- background: #f8f8f9;
500
- }
501
- .item-choose {
502
- display: flex;
503
- justify-content: space-between;
504
- .address-name {
505
- flex: 1;
506
- line-height: 48px;
507
- // display: inline-flex;
508
- overflow: hidden;
509
- text-overflow: ellipsis;
510
- white-space: nowrap;
511
- font-size: 14px;
512
- font-family: PingFangSC, PingFangSC-Regular;
513
- }
514
- .checkbox-item {
515
- width: 14px;
516
- height: 14px;
517
- padding: 17px 12px 17px 10px;
518
- background-image: url('https://erphostjs.kye-erp.com/kuasheng-h5/assets/ks-area-select/notChecked.svg');
519
- background-repeat: no-repeat;
520
- background-size: 14px 14px;
521
- background-position: 11px 17px;
522
- box-sizing: content-box;
523
- }
524
- .partial-checked {
525
- background-image: url('https://erphostjs.kye-erp.com/kuasheng-h5/pe/notAllChecked.svg');
526
- }
527
- .all-checked {
528
- background-image: url('https://erphostjs.kye-erp.com/kuasheng-h5/pe/allChecked.svg');
529
- }
530
- }
531
- }
532
- .is-choose {
533
- background: #f8f8f9;
534
- &:hover {
535
- background: #f8f8f9;
536
- }
537
- }
538
- .read-only {
539
- filter: grayscale(100%);
540
- background: #ebebed;
541
- .item-choose {
542
- .checkbox-item {
543
- filter: brightness(0.8);
544
- }
545
- }
546
- }
547
- }
548
- }
549
- }
550
- }
551
- }
552
- }
553
- }
554
- </style>