@kyfe/ks-query-table 0.0.22 → 0.0.23

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 (311) hide show
  1. package/index.js +11 -0
  2. package/package.json +10 -81
  3. package/.bitmap +0 -38
  4. package/.editorconfig +0 -5
  5. package/.env.dev +0 -2
  6. package/.env.gray +0 -2
  7. package/.env.prod +0 -2
  8. package/.env.stg +0 -3
  9. package/.env.uat +0 -2
  10. package/.eslintignore +0 -1
  11. package/.eslintrc.js +0 -25
  12. package/.gitmodules +0 -4
  13. package/.prettierrc +0 -11
  14. package/README.md +0 -15
  15. package/babel.config.js +0 -10
  16. package/build-apm.sh +0 -9
  17. package/build.sh +0 -16
  18. package/config/index.js +0 -20
  19. package/jsconfig.json +0 -7
  20. package/kuasheng-sdk/index.js +0 -80
  21. package/kuasheng-sdk/lib/assets.js +0 -304
  22. package/kuasheng-sdk/lib/context.js +0 -199
  23. package/kuasheng-sdk/lib/layout.js +0 -346
  24. package/kuasheng-sdk/lib/location.js +0 -46
  25. package/kuasheng-sdk/lib/media.js +0 -342
  26. package/kuasheng-sdk/lib/navigation.js +0 -30
  27. package/kuasheng-sdk/lib/request.js +0 -76
  28. package/kuasheng-sdk/lib/system.js +0 -190
  29. package/kuasheng-sdk/lib/userinfo.js +0 -98
  30. package/kuasheng-sdk/util/check.js +0 -102
  31. package/kuasheng-sdk/util/config.js +0 -47
  32. package/kuasheng-sdk/util/device.js +0 -25
  33. package/kuasheng-sdk/util/error.js +0 -19
  34. package/kuasheng-sdk/util/funtional.js +0 -153
  35. package/kuasheng-sdk/util/mixin.js +0 -36
  36. package/kuasheng-sdk/util/requestUtil.js +0 -41
  37. package/kuasheng-sdk/util/response.js +0 -33
  38. package/kuasheng-sdk/util/warn.js +0 -35
  39. package/kuasheng-ui/CHANGELOG.md +0 -9
  40. package/kuasheng-ui/components/card.vue +0 -57
  41. package/kuasheng-ui/components/ks-area-select/README.md +0 -43
  42. package/kuasheng-ui/components/ks-area-select/area-picker.vue +0 -554
  43. package/kuasheng-ui/components/ks-area-select/area-search.vue +0 -363
  44. package/kuasheng-ui/components/ks-area-select/areas-pop.vue +0 -56
  45. package/kuasheng-ui/components/ks-area-select/common.js +0 -183
  46. package/kuasheng-ui/components/ks-area-select/index.vue +0 -355
  47. package/kuasheng-ui/components/ks-area-select/mixins.js +0 -216
  48. package/kuasheng-ui/components/ks-area-single-select/README.md +0 -50
  49. package/kuasheng-ui/components/ks-area-single-select/hot-city.js +0 -45
  50. package/kuasheng-ui/components/ks-area-single-select/index.vue +0 -324
  51. package/kuasheng-ui/components/ks-calendar/index.vue +0 -269
  52. package/kuasheng-ui/components/ks-call-phone/call-tips.vue +0 -70
  53. package/kuasheng-ui/components/ks-call-phone/call.vue +0 -178
  54. package/kuasheng-ui/components/ks-call-phone/index.js +0 -48
  55. package/kuasheng-ui/components/ks-call-phone/index.vue +0 -131
  56. package/kuasheng-ui/components/ks-call-phone//345/221/274/345/217/253/347/273/204/344/273/266.md +0 -0
  57. package/kuasheng-ui/components/ks-date-picker/README.md +0 -23
  58. package/kuasheng-ui/components/ks-date-picker/date-picker-bottom.vue +0 -123
  59. package/kuasheng-ui/components/ks-date-picker/date-picker-dropdown.vue +0 -80
  60. package/kuasheng-ui/components/ks-date-picker/date-picker-right.vue +0 -87
  61. package/kuasheng-ui/components/ks-date-picker/date-picker-top.vue +0 -88
  62. package/kuasheng-ui/components/ks-date-picker/date-picker.js +0 -15
  63. package/kuasheng-ui/components/ks-date-picker/date-range-select.vue +0 -92
  64. package/kuasheng-ui/components/ks-date-picker/date-select.vue +0 -65
  65. package/kuasheng-ui/components/ks-date-picker/date-week-month.vue +0 -131
  66. package/kuasheng-ui/components/ks-date-picker/index.js +0 -12
  67. package/kuasheng-ui/components/ks-date-picker/mixin.js +0 -92
  68. package/kuasheng-ui/components/ks-date-picker/month-range-select.vue +0 -129
  69. package/kuasheng-ui/components/ks-date-picker/month-select.vue +0 -85
  70. package/kuasheng-ui/components/ks-date-picker/quarter-select.vue +0 -94
  71. package/kuasheng-ui/components/ks-date-picker/style.less +0 -121
  72. package/kuasheng-ui/components/ks-date-picker/utils.js +0 -109
  73. package/kuasheng-ui/components/ks-date-picker/week-select.vue +0 -99
  74. package/kuasheng-ui/components/ks-decrypt/index.vue +0 -159
  75. package/kuasheng-ui/components/ks-employee/README.md +0 -78
  76. package/kuasheng-ui/components/ks-employee/employee-input.vue +0 -173
  77. package/kuasheng-ui/components/ks-employee/employee-list.vue +0 -662
  78. package/kuasheng-ui/components/ks-employee/employee-popup.vue +0 -197
  79. package/kuasheng-ui/components/ks-employee/employee-search.vue +0 -250
  80. package/kuasheng-ui/components/ks-employee/employee-selected.vue +0 -173
  81. package/kuasheng-ui/components/ks-employee/index.js +0 -17
  82. package/kuasheng-ui/components/ks-employee/package-lock.json +0 -5
  83. package/kuasheng-ui/components/ks-employee/package.json +0 -15
  84. package/kuasheng-ui/components/ks-employee/yarn.lock +0 -4
  85. package/kuasheng-ui/components/ks-field-money/index.js +0 -8
  86. package/kuasheng-ui/components/ks-field-money/index.vue +0 -212
  87. package/kuasheng-ui/components/ks-field-money/package.json +0 -11
  88. package/kuasheng-ui/components/ks-field-money/utils.js +0 -65
  89. 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
  90. package/kuasheng-ui/components/ks-history-search/history-input.vue +0 -131
  91. package/kuasheng-ui/components/ks-history-search/history-list.vue +0 -188
  92. package/kuasheng-ui/components/ks-history-search/img/delete.png +0 -0
  93. package/kuasheng-ui/components/ks-history-search/index.js +0 -9
  94. package/kuasheng-ui/components/ks-history-search/index.vue +0 -125
  95. package/kuasheng-ui/components/ks-history-search/package-lock.json +0 -5
  96. package/kuasheng-ui/components/ks-history-search/package.json +0 -15
  97. package/kuasheng-ui/components/ks-history-search/utils.js +0 -35
  98. package/kuasheng-ui/components/ks-input-search/index.vue +0 -106
  99. package/kuasheng-ui/components/ks-list/index.vue +0 -75
  100. package/kuasheng-ui/components/ks-loading/index.js +0 -16
  101. package/kuasheng-ui/components/ks-month/index.vue +0 -47
  102. package/kuasheng-ui/components/ks-month/package.json +0 -3
  103. package/kuasheng-ui/components/ks-month/range.vue +0 -172
  104. package/kuasheng-ui/components/ks-month/single.vue +0 -136
  105. package/kuasheng-ui/components/ks-month/style.less +0 -125
  106. package/kuasheng-ui/components/ks-month/utils.js +0 -35
  107. package/kuasheng-ui/components/ks-nav/index.vue +0 -264
  108. package/kuasheng-ui/components/ks-nav-bar.js +0 -35
  109. package/kuasheng-ui/components/ks-org/ks-org-tree.vue +0 -247
  110. package/kuasheng-ui/components/ks-org/ks-popup-tree.vue +0 -154
  111. package/kuasheng-ui/components/ks-org/ks-tree-input.vue +0 -240
  112. package/kuasheng-ui/components/ks-org/ks-tree-node.vue +0 -94
  113. package/kuasheng-ui/components/ks-org/ks-tree.vue +0 -229
  114. package/kuasheng-ui/components/ks-org/utils.js +0 -54
  115. package/kuasheng-ui/components/ks-popover/index.vue +0 -457
  116. package/kuasheng-ui/components/ks-popover/mixin.js +0 -28
  117. package/kuasheng-ui/components/ks-popover/utils.js +0 -60
  118. package/kuasheng-ui/components/ks-pull-refresh/index.vue +0 -43
  119. package/kuasheng-ui/components/ks-quarter/index.vue +0 -256
  120. package/kuasheng-ui/components/ks-table/README.md +0 -103
  121. package/kuasheng-ui/components/ks-table/cell.vue +0 -31
  122. package/kuasheng-ui/components/ks-table/index.js +0 -8
  123. package/kuasheng-ui/components/ks-table/index.less +0 -486
  124. package/kuasheng-ui/components/ks-table/index.vue +0 -1088
  125. package/kuasheng-ui/components/ks-table/package.json +0 -12
  126. package/kuasheng-ui/components/ks-table/release.md +0 -7
  127. package/kuasheng-ui/components/ks-toast.js +0 -35
  128. package/kuasheng-ui/components/ks-upload/index.vue +0 -174
  129. package/kuasheng-ui/components/ks-user-access.vue +0 -229
  130. package/kuasheng-ui/components/no-data/README.md +0 -45
  131. package/kuasheng-ui/components/no-data/image.js +0 -1
  132. package/kuasheng-ui/components/no-data/index.vue +0 -83
  133. package/kuasheng-ui/components/notice-bar.vue +0 -16
  134. package/kuasheng-ui/components/steps.js +0 -11
  135. package/kuasheng-ui/components/tabs.vue +0 -40
  136. package/kuasheng-ui/index.js +0 -239
  137. package/kuasheng-ui/patch/datetime-picker/datetimePicker.md +0 -0
  138. package/kuasheng-ui/patch/datetime-picker/index.js +0 -46
  139. package/kuasheng-ui/patch/datetime-picker/utils.js +0 -78
  140. package/kuasheng-ui/patch/field/field.md +0 -1
  141. package/kuasheng-ui/patch/field/index.js +0 -122
  142. package/kuasheng-ui/patch/field/utils.js +0 -36
  143. package/kuasheng-ui/patch/form/form.md +0 -7
  144. package/kuasheng-ui/patch/form/index.js +0 -106
  145. package/kuasheng-ui/patch/index.js +0 -12
  146. package/kuasheng-ui/patch/pagination/index.js +0 -78
  147. package/kuasheng-ui/style/animation-ui.less +0 -31
  148. package/kuasheng-ui/style/font/number/font-number1.otf +0 -0
  149. package/kuasheng-ui/style/font/number/font-number2.ttf +0 -0
  150. package/kuasheng-ui/style/images/checked.svg +0 -1
  151. package/kuasheng-ui/style/images/success.svg +0 -1
  152. package/kuasheng-ui/style/index.less +0 -6
  153. package/kuasheng-ui/style/kuasheng-ui.less +0 -207
  154. package/kuasheng-ui/style/reset-vant.less +0 -307
  155. package/kuasheng-ui/style/vant-var.less +0 -138
  156. package/kuasheng-ui/utils/apis.js +0 -17
  157. package/kuasheng-ui/utils/axios-adapter.js +0 -47
  158. package/kuasheng-ui/utils/bem.js +0 -39
  159. package/kuasheng-ui/utils/bus.js +0 -97
  160. package/kuasheng-ui/utils/common.js +0 -88
  161. package/kuasheng-ui/utils/decrypt/config.js +0 -12
  162. package/kuasheng-ui/utils/decrypt/decrypt-api.js +0 -139
  163. package/kuasheng-ui/utils/decrypt/index.js +0 -6
  164. package/kuasheng-ui/utils/decrypt/mask.js +0 -36
  165. package/kuasheng-ui/utils/decrypt/virtual.js +0 -44
  166. package/kuasheng-ui/utils/directive.js +0 -57
  167. package/kuasheng-ui/utils/directive.md +0 -23
  168. package/kuasheng-ui/utils/drcheck-plugin.js +0 -219
  169. package/kuasheng-ui/utils/error-plugin.js +0 -88
  170. package/kuasheng-ui/utils/filter.js +0 -149
  171. package/kuasheng-ui/utils/http-interceptors.js +0 -18
  172. package/kuasheng-ui/utils/http.js +0 -140
  173. package/kuasheng-ui/utils/index.js +0 -5
  174. package/kuasheng-ui/utils/init-event.js +0 -20
  175. package/kuasheng-ui/utils/log.js +0 -309
  176. package/kuasheng-ui/utils/token.js +0 -9
  177. package/kuasheng-ui/utils/type.js +0 -45
  178. package/kuasheng-ui/utils/validate.js +0 -20
  179. package/kuasheng-ui/utils/watermark.js +0 -67
  180. package/kuasheng-ui/version.js +0 -1
  181. package/ky-apm/client.js +0 -37
  182. package/ky-apm/customHttp.js +0 -38
  183. package/ky-apm/index.js +0 -68
  184. package/ky-apm/plugins/performance.js +0 -84
  185. package/ky-apm/plugins/self-error.js +0 -26
  186. package/ky-apm/warn-log.js +0 -3
  187. package/plugin/ks-chii-webpack-html/index.js +0 -53
  188. package/plugin/ks-chii-webpack-html/package.json +0 -16
  189. package/postcss.config.js +0 -15
  190. package/public/capsule-positon.js +0 -50
  191. package/public/fonts/DingTalkJinBuTi.ttf +0 -0
  192. package/public/framework/axios@0.19.0.min.js +0 -9
  193. package/public/framework/fastclick@1.0.6.min.js +0 -1
  194. package/public/framework/iconfont/iconfont.css +0 -91
  195. package/public/framework/iconfont/iconfont.js +0 -1
  196. package/public/framework/iconfont/iconfont.json +0 -142
  197. package/public/framework/iconfont/iconfont.ttf +0 -0
  198. package/public/framework/iconfont/iconfont.woff +0 -0
  199. package/public/framework/iconfont/iconfont.woff2 +0 -0
  200. package/public/framework/vant@2.5.6.min.js +0 -7
  201. package/public/framework/vue-router@3.1.3.min.js +0 -6
  202. package/public/framework/vue@2.6.10.runtime.min.js +0 -6
  203. package/public/framework/vuex@3.1.1.min.js +0 -6
  204. package/public/index.html +0 -260
  205. package/public/ks@3.0.8.umd.min.js +0 -1
  206. package/public/ksui@4.0.27.umd.min.js +0 -10
  207. package/public/status-bar-preset.js +0 -39
  208. package/qt-npm/index.js +0 -11
  209. package/qt-npm/package.json +0 -13
  210. package/src/App.vue +0 -204
  211. package/src/README.md +0 -15
  212. package/src/common/README.md +0 -94
  213. package/src/common/http/axios-adapter.js +0 -47
  214. package/src/common/http/common.js +0 -88
  215. package/src/common/http/http-interceptors.js +0 -18
  216. package/src/common/http/http-lock.js +0 -45
  217. package/src/common/http/index.js +0 -163
  218. package/src/common/http/token.js +0 -9
  219. package/src/common/styles/font/AlibabaSans102Ver2-Md.ttf +0 -0
  220. package/src/common/styles/font.less +0 -12
  221. package/src/common/styles/variables.less +0 -43
  222. package/src/common/utils/index.js +0 -1
  223. package/src/common/utils/platform/README.md +0 -1
  224. package/src/common/utils/platform/android/.gitkeep +0 -0
  225. package/src/common/utils/platform/core/index.js +0 -24
  226. package/src/common/utils/platform/index.js +0 -164
  227. package/src/common/utils/platform/ios/.gitkeep +0 -0
  228. package/src/common/utils/platform/subscribe/helper.js +0 -38
  229. package/src/common/utils/platform/subscribe/index.js +0 -204
  230. package/src/common/utils/platform/subscribe/table-animation.js +0 -75
  231. package/src/config/index.js +0 -31
  232. package/src/config.js +0 -1
  233. package/src/main.js +0 -73
  234. package/src/router.js +0 -52
  235. package/src/view/home/config.js +0 -101
  236. package/src/view/home/demo1.vue +0 -223
  237. package/src/view/home/demo2.vue +0 -124
  238. package/src/view/home/demo3.vue +0 -51
  239. package/src/view/home/demo4.vue +0 -140
  240. package/src/view/home/index.vue +0 -97
  241. package/src/view/home/query-table/README.md +0 -45
  242. package/src/view/home/query-table/api/index.js +0 -12
  243. package/src/view/home/query-table/assets/horizontal-back.svg +0 -1
  244. package/src/view/home/query-table/components/pe-table/cell.js +0 -181
  245. package/src/view/home/query-table/components/pe-table/collapse.js +0 -334
  246. package/src/view/home/query-table/components/pe-table/empty.vue +0 -48
  247. package/src/view/home/query-table/components/pe-table/header.js +0 -328
  248. package/src/view/home/query-table/components/pe-table/images/abnormal.png +0 -0
  249. package/src/view/home/query-table/components/pe-table/images/empty.png +0 -0
  250. package/src/view/home/query-table/components/pe-table/images/fold.svg +0 -1
  251. package/src/view/home/query-table/components/pe-table/images/sort.svg +0 -1
  252. package/src/view/home/query-table/components/pe-table/images/sorting.svg +0 -1
  253. package/src/view/home/query-table/components/pe-table/images/unfold.svg +0 -1
  254. package/src/view/home/query-table/components/pe-table/index.vue +0 -847
  255. package/src/view/home/query-table/components/pe-table/load-more.js +0 -46
  256. package/src/view/home/query-table/components/pe-table/props/index.js +0 -193
  257. package/src/view/home/query-table/components/pe-table/row.vue +0 -118
  258. package/src/view/home/query-table/components/pe-table/scrollbar.js +0 -424
  259. package/src/view/home/query-table/components/pe-table/stretch-damping.js +0 -112
  260. package/src/view/home/query-table/components/pe-table/style/cell.less +0 -89
  261. package/src/view/home/query-table/components/pe-table/style/empty.less +0 -48
  262. package/src/view/home/query-table/components/pe-table/style/header.less +0 -141
  263. package/src/view/home/query-table/components/pe-table/style/index.less +0 -88
  264. package/src/view/home/query-table/components/pe-table/style/load-more.less +0 -61
  265. package/src/view/home/query-table/components/pe-table/style/row.less +0 -6
  266. package/src/view/home/query-table/components/pe-table/table-loading.vue +0 -120
  267. package/src/view/home/query-table/components/pe-table/table-total.vue +0 -57
  268. package/src/view/home/query-table/components/pe-table/utils/animate.js +0 -80
  269. package/src/view/home/query-table/components/pe-table/utils/columns.js +0 -290
  270. package/src/view/home/query-table/components/pe-table/utils/data.js +0 -12
  271. package/src/view/home/query-table/components/pe-table/utils/fixed.js +0 -69
  272. package/src/view/home/query-table/components/pe-table/utils/formatter.js +0 -327
  273. package/src/view/home/query-table/components/pe-table/utils/render-cells.js +0 -424
  274. package/src/view/home/query-table/components/pe-table/utils/slot.js +0 -28
  275. package/src/view/home/query-table/components/pe-table/utils/tools.js +0 -84
  276. package/src/view/home/query-table/components/pe-table/utils/touch-scroll.js +0 -417
  277. package/src/view/home/query-table/components/query-table/index.vue +0 -497
  278. package/src/view/home/query-table/components/query-table/mixins/column-mixin.js +0 -102
  279. package/src/view/home/query-table/components/query-table/mixins/column-setting.js +0 -143
  280. package/src/view/home/query-table/components/query-table/mixins/data-mixin.js +0 -519
  281. package/src/view/home/query-table/components/query-table/mixins/pagination-mixin.js +0 -26
  282. package/src/view/home/query-table/components/query-table/mixins/table-fixed.js +0 -130
  283. package/src/view/home/query-table/components/query-table/mixins/table-horizontal.js +0 -119
  284. package/src/view/home/query-table/components/table-horizontal.vue +0 -99
  285. package/src/view/home/query-table/components/table-pagination.vue +0 -32
  286. package/src/view/home/query-table/components/table-settings/assets/arrpw-up.svg +0 -1
  287. package/src/view/home/query-table/components/table-settings/assets/disabled-down.svg +0 -1
  288. package/src/view/home/query-table/components/table-settings/assets/disabled-up.svg +0 -1
  289. package/src/view/home/query-table/components/table-settings/assets/down.svg +0 -1
  290. package/src/view/home/query-table/components/table-settings/assets/up.svg +0 -1
  291. package/src/view/home/query-table/components/table-settings/index.less +0 -294
  292. package/src/view/home/query-table/components/table-settings/index.vue +0 -260
  293. package/src/view/home/query-table/components/table-settings/settings.vue +0 -479
  294. package/src/view/home/query-table/components/table-settings/test.js +0 -626
  295. package/src/view/home/query-table/components/table-settings//344/270/252/346/200/247/350/256/276/347/275/256.md +0 -0
  296. package/src/view/home/query-table/components/tooltip.js +0 -124
  297. package/src/view/home/query-table/hooks/use-cache-promise.js +0 -27
  298. package/src/view/home/query-table/hooks/use-column-config.js +0 -190
  299. package/src/view/home/query-table/hooks/use-encryption.js +0 -0
  300. package/src/view/home/query-table/hooks/use-generic-search.js +0 -95
  301. package/src/view/home/query-table/index.js +0 -7
  302. package/src/view/home/query-table/store/column-store.js +0 -0
  303. package/src/view/home/query-table/styles/table.less +0 -24
  304. package/src/view/home/query-table/utils/column.js +0 -36
  305. package/src/view/home/query-table/utils/config.js +0 -12
  306. package/src/view/home/query-table/utils/encryption.js +0 -32
  307. package/src/view/home/query-table/utils/http.js +0 -1
  308. package/src/view/home/query-table/utils/localStorage.js +0 -35
  309. package/src/view/home//351/246/226/351/241/265.md +0 -0
  310. package/src/web.js +0 -99
  311. package/vue.config.js +0 -131
@@ -1,662 +0,0 @@
1
- <template>
2
- <div class="ks-employee-list-box">
3
- <div class="ks-employee-list-content" :style="{ height: multiple ? 'calc(100% - 50px)' : '100%' }">
4
- <div class="history" v-if="historyList.length">
5
- <div class="title">
6
- <span>搜索历史</span>
7
- <img @click="clearAll" src="https://erphostjs.kye-erp.com/kuasheng-h5/assets/ks-employee/delete.png" />
8
- </div>
9
- <div class="list-row">
10
- <div class="row" v-for="(item, index) in historyList" :key="index">
11
- <div :class="{'row-context': true, 'history-item-disabled': item._disabledItem || historySelected(item)}" @click="selectHistory(item)">
12
- <slot name="historyListInfo" :item="item">
13
- <div class="context-left">
14
- <img class="avatar" :src="item.headUrl + imgSize" />
15
- <span class="name">{{ item.employeeName }}-{{ item.position }}</span>
16
- </div>
17
- <div class="work-context" v-if="item.workingContent">
18
- <img :src="item.workingIconUrl" />
19
- {{ item.workingContent }}
20
- </div>
21
- <div class="work-status half-pixel-border" v-if="item.workType" :style="workStatusStyle(item)">
22
- <span class="border-block" :style="workStatusStyle(item)"></span>
23
- {{ getWorkText(item.workType) }}
24
- </div>
25
- </slot>
26
- <div class="close" @click.stop="deleteRecord(item)">
27
- <img src="https://erphostjs.kye-erp.com/kuasheng-h5/assets/ks-employee/close.png" />
28
- </div>
29
- </div>
30
- </div>
31
- </div>
32
- </div>
33
- <div class="list" v-else>
34
- <div class="lis-loading" v-if="loadding">
35
- <ks-loading size="16px">加载中...</ks-loading>
36
- </div>
37
- <div class="cell-box" v-if="searchList.length > 0 && !loadding">
38
- <div class="cell" v-for="(item, index) in searchList" :key="index" @click="handleSelect(item)">
39
- <div class="cell-checked" v-if="multiple">
40
- <img v-if="item._disabledItem" class="radio-icon" src="https://erphostjs.kye-erp.com/kuasheng-h5/assets/ks-employee/disabled-user.png" />
41
- <img v-else-if="item._isChecked" class="radio-icon" src="https://erphostjs.kye-erp.com/kuasheng-h5/pe/radio-sel.png" />
42
- <img v-else class="radio-icon" src="https://erphostjs.kye-erp.com/kuasheng-h5/assets/ks-employee/radio.png" />
43
- </div>
44
- <img :class="{'employee-img': true, 'employee-img-disabled': item._disabledItem}" :src="item.headUrl + imgSize" alt="" />
45
- <slot name="employeeListInfo" :item="item">
46
- <div class="info">
47
- <div class="info-top">
48
- <div :class="{'info-name': true, 'info-name-disabled': item._disabledItem}" v-if="item.$name" v-html="item.$name"></div>
49
- <div class="info-name" v-else>{{ item.employeeName }}</div>
50
- <div class="info-tag">
51
- <div class="work-context" v-if="item.workingContent">
52
- <img :src="item.workingIconUrl" />
53
- {{ item.workingContent }}
54
- </div>
55
- <div class="work-status half-pixel-border" v-if="item.workType" :style="workStatusStyle(item)">
56
- <span class="border-block" :style="workStatusStyle(item)"></span>
57
- {{ getWorkText(item.workType) }}
58
- </div>
59
- </div>
60
- </div>
61
- <div :class="{'info-deparetment': true, 'info-deparetment-disabled': item._disabledItem}" >{{ item.departmentName }}</div>
62
- </div>
63
- </slot>
64
- </div>
65
- </div>
66
- <div v-else-if="!searchList.length && isNoData && !loadding" class="no-data-container">
67
- <img class="no-data" src="https://erphostjs.kye-erp.com/kuasheng-h5/pe/empty-image/NoContent.png" />
68
- <div>没有找到“<span class="no-data-text-color">{{ inputSearchVal }}</span>”相关结果</div>
69
- </div>
70
- </div>
71
- </div>
72
- <div class="ks-employee-list-footer" v-if="multiple">
73
- <div class="select-text" @click="openSelected">
74
- 已选:
75
- <div :class="{'select-num':true, 'select-color': selectValue.length > 0}">
76
- {{ selectValue.length }}
77
- <span v-if="limit">/{{ limit }}</span>
78
- </div>
79
-
80
- </div>
81
- <van-button type="primary" @click="confirm">完成</van-button>
82
- </div>
83
- </div>
84
- </template>
85
- <script>
86
- const Dialog = window.vant && window.vant.Dialog
87
- export default {
88
- name: 'ks-employee-list',
89
- props: {
90
- showHistory: {
91
- type: Boolean,
92
- default: true
93
- },
94
- value: {
95
- type: Array,
96
- default: () => {
97
- return []
98
- }
99
- },
100
- // 最大选择数
101
- limit: Number,
102
- limitTips: {
103
- type:String,
104
- default: '超过最大勾选人数'
105
- },
106
- // 菜单id
107
- menuId: {
108
- type: String,
109
- default: ''
110
- },
111
- // 是否多选
112
- multiple: {
113
- type: Boolean,
114
- default: false
115
- },
116
- // 多选重复添加的提示文案
117
- repeatText: {
118
- type: String,
119
- default: '请勿重复添加'
120
- },
121
- selected: {
122
- type: Function
123
- },
124
- historyListHandler: {
125
- type: Function
126
- },
127
- searchListHandler: {
128
- type: Function
129
- },
130
- disabledItemClick: {
131
- type: Function
132
- },
133
- searchParams: {
134
- type: Object,
135
- default: () => {},
136
- }
137
- },
138
- data() {
139
- return {
140
- imgSize: '?imageView2/1/w/132/h/132/q/90',
141
- selectValue: this.value,
142
- historyList: [],
143
- searchList: [],
144
- inputSearchVal: '',
145
- isNoData: false,
146
- loadding: false,
147
- workStatusList: []
148
- }
149
- },
150
- watch: {
151
- value(val) {
152
- this.selectValue = val
153
- }
154
- },
155
- async mounted() {
156
- await this.getWorkConfigData()
157
- await this.getHistory()
158
- },
159
- methods: {
160
- getWorkText(type) {
161
- const workItem = this.workStatusList && this.workStatusList.find(status => status.workType === type)
162
- return (workItem && workItem.workTypeWord) || ''
163
- },
164
- async getWorkConfigData() {
165
- const res = await this.$http('kuasheng.ksWorkType.getWorkTypeList', 10184, {})
166
- this.workStatusList = res
167
- },
168
- // ARGB => RGBA
169
- ArgbtoRgba(color) {
170
- const parseColorString = function(color) {
171
- let hex = color.slice(1)
172
- let a = 1
173
- if (hex.length === 8) {
174
- a = parseInt(hex.slice(6), 16) / 255
175
- hex = hex.slice(0, 6)
176
- }
177
- const bigint = parseInt(hex, 16);
178
- return {
179
- r: (bigint >> 16) & 255,
180
- g: (bigint >> 8) & 255,
181
- b: bigint & 255,
182
- a,
183
- }
184
- }
185
- const toRgbaString = function (colorObj, n = 10) {
186
- const { r, g, b, a = 1 } = colorObj
187
- return `rgba(${r},${g},${b},${Math.floor(a * n ) / n})`
188
- }
189
- const rgbaColor = `#${color.slice(3, 9)}${color.slice(1, 3)}`
190
- const colorObj = parseColorString(rgbaColor)
191
- return toRgbaString(colorObj)
192
- },
193
- workStatusStyle(item) {
194
- const workStatus = this.workStatusList && this.workStatusList.find(status => status.workType === item.workType)
195
- return {
196
- color: workStatus && this.ArgbtoRgba(workStatus.foreColor),
197
- 'background-color': workStatus && this.ArgbtoRgba(workStatus.bgColor),
198
- 'border-color': workStatus && this.ArgbtoRgba(workStatus.borderColor)
199
- }
200
- },
201
- async getHistory() {
202
- if (!this.showHistory) {
203
- return
204
- }
205
- try {
206
- const list = await this.$http('kuasheng.search.appSearchRecord.list', 10184, {
207
- menuId: this.menuId
208
- })
209
- this.historyList = list
210
- if (list && list.length) {
211
- const ids = list.map(item => item.employeeNumber)
212
- const workList = await this.getWorkData(ids)
213
- const newList = list.map(item => {
214
- const workItem = workList.find(work => work.employeeNumber === item.employeeNumber)
215
- if (workItem) {
216
- item = { ...item, ...workItem }
217
- }
218
- return item
219
- })
220
- if (this.historyListHandler && typeof this.historyListHandler === 'function' ) {
221
- this.historyList = this.historyListHandler(newList)
222
- } else {
223
- this.historyList = newList
224
- }
225
- }
226
- this.searchList = []
227
- } catch (error) {
228
- console.log(error)
229
- }
230
- },
231
- async getWorkData(ids) {
232
- if (ids && ids.length) {
233
- const workDataList = await this.$http('kuasheng.nimTeam.workingContent', 10184, {
234
- employeeNumbers: ids
235
- })
236
- return workDataList
237
- }
238
- },
239
- deleteSelect(item) {
240
- const hasItem = this.searchList.find(cell => cell.employeeNumber === item.employeeNumber)
241
- if (hasItem) {
242
- hasItem._isChecked = false
243
- }
244
- },
245
- async getSearch(val) {
246
- if (val === '') {
247
- this.isNoData = false
248
- this.getHistory()
249
- return
250
- }
251
- try {
252
- this.inputSearchVal = val
253
- this.loadding = true
254
- this.historyList = []
255
- let res = await this.$http('kuasheng.ksBookVersion.contactSearch', 10184, {
256
- keywords: val,
257
- ...this.searchParams,
258
- })
259
- this.loadding = false
260
- const selectNumberArry = this.selectValue.map(v => v.employeeNumber)
261
- const reg = new RegExp(val, 'gi')
262
- let listItem =
263
- res &&
264
- res.map(item => {
265
- if (selectNumberArry.includes(item.employeeNumber)) {
266
- item._isChecked = true
267
- } else {
268
- item._isChecked = false
269
- }
270
- let $name = item.employeeName && item.employeeName.replace(reg, value => `<span style="color: #165DFF;">${value}</span>`)
271
- item.$name = $name
272
- return item
273
- })
274
- if (this.searchListHandler && typeof this.searchListHandler === 'function' ) {
275
- this.searchList = await this.searchListHandler(listItem)
276
- } else {
277
- this.searchList = listItem
278
- }
279
- const ids = res.map(item => item.employeeNumber)
280
- if (!this.searchList.length) {
281
- this.isNoData = true
282
- }
283
- const workList = await this.getWorkData(ids)
284
- if (workList && workList.length) {
285
- this.searchList =
286
- this.searchList &&
287
- this.searchList.map(item => {
288
- const workItem = workList.find(work => work.employeeNumber === item.employeeNumber)
289
- if (workItem) {
290
- item = { ...item, ...workItem }
291
- }
292
- return item
293
- })
294
- }
295
- } catch (error) {
296
- this.loadding = false
297
- console.log(error)
298
- }
299
- },
300
- selectHistory(item) {
301
- const selectItem = {
302
- ...item,
303
- employeeName: item.position ? `${item.employeeName}-${item.position}` : item.employeeName
304
- }
305
- this.handleSelect(selectItem)
306
- },
307
- historySelected(item) {
308
- return this.selectValue.find(i => i.id === item.id)
309
- },
310
- async handleSelect(item, type) {
311
- try {
312
- console.log(this.$props)
313
- if (item._disabledItem) {
314
- this.disabledItemClick && this.disabledItemClick(item)
315
- return
316
- }
317
- const selectCb = this.selected
318
- if (selectCb && typeof selectCb === 'function') {
319
- const _selected = await selectCb(item)
320
- if (_selected === true) {
321
- return Promise.resolve(false)
322
- }
323
- }
324
- this.$emit('selectItem', item, type)
325
- if (this.multiple) {
326
- // 多选
327
- if (item._isChecked) {
328
- const itemIndex = this.selectValue.findIndex(cell => cell.employeeNumber === item.employeeNumber)
329
- item._isChecked = !item._isChecked
330
- this.selectValue.splice(itemIndex, 1)
331
- } else {
332
- const hasItem = this.selectValue.find(cell => cell.employeeNumber === item.employeeNumber)
333
- if(this.limit && this.selectValue.length >= this.limit){
334
- window.vant.Toast(this.limitTips)
335
- return
336
- }
337
- if (hasItem) {
338
- window.vant.Toast(this.repeatText)
339
- return
340
- }
341
- item._isChecked = !item._isChecked
342
- this.selectValue.push(item)
343
- this.$emit('input', this.selectValue)
344
- this.$nextTick(() => {
345
- // 数组插入后,头像平移到最右边
346
- this.$emit('_moveHeadRight')
347
- })
348
- }
349
- } else {
350
- // 单选
351
- this.selectValue = [item]
352
- this.confirm()
353
- }
354
- } catch (error) {
355
- console.log(error)
356
- }
357
- },
358
- // 删除记录
359
- async deleteRecord(item) {
360
- await this.addHistoryRecord([item], 0)
361
- await this.getHistory()
362
- window.vant.Toast('删除成功!')
363
- },
364
- async addHistoryRecord(list, type) {
365
- try {
366
- if (!list.length) {
367
- return
368
- }
369
- const recordList = list.map(item => {
370
- return {
371
- employeeNumber: item.employeeNumber,
372
- state: type
373
- }
374
- })
375
- await this.$http('kuasheng.search.appSearchRecord.change', 10184, {
376
- menuId: this.menuId,
377
- changeDataList: recordList
378
- })
379
- } catch (error) {
380
- console.log(error)
381
- }
382
- },
383
- openSelected() {
384
- if (this.selectValue.length > 0) {
385
- this.$emit('openSelect')
386
- }
387
- },
388
- confirm() {
389
- this.addHistoryRecord(this.selectValue, 1)
390
- this.getHistory()
391
- this.$emit('input', this.selectValue)
392
- this.$emit('confirm', this.selectValue)
393
- this.$emit('clearInput')
394
- },
395
- async clearAll() {
396
- try {
397
- Dialog.confirm({
398
- title:"清空搜索历史",
399
- message: "确认清空全部搜索历史?"
400
- }).then(async () => {
401
- await this.$http('kuasheng.search.appSearchRecord.deleteAll', 10184, {
402
- menuId: this.menuId
403
- })
404
- this.getHistory()
405
- window.vant.Toast('删除成功!')
406
- })
407
- } catch (error) {
408
- console.log(error)
409
- }
410
- }
411
- }
412
- }
413
- </script>
414
- <style lang="less" scoped>
415
- .ks-employee-list-box {
416
- width: 100%;
417
- height: 100%;
418
- overflow: hidden;
419
- box-sizing: border-box;
420
- }
421
- .ks-employee-list-content {
422
- background-color: #f4f6fa;
423
- overflow: hidden;
424
- box-sizing: border-box;
425
- .history {
426
- height: 100%;
427
- box-sizing: border-box;
428
- padding: 10px 16px 6px 16px;
429
- background-color: #fff;
430
- .title {
431
- height: 32px;
432
- display: flex;
433
- align-items: center;
434
- justify-content: space-between;
435
- color: #1b2240;
436
- font-weight: 500;
437
- font-size: 14px;
438
- img {
439
- width: 16px;
440
- height: 16px;
441
- }
442
- }
443
- .list-row {
444
- max-height: calc(100% - 32px);
445
- overflow-y: auto;
446
- -webkit-overflow-scrolling: touch;
447
- .row {
448
- height: 34px;
449
- width: 100%;
450
- display: flex;
451
- align-items: center;
452
- margin-top: 10px;
453
- &:last-child {
454
- margin-bottom: 30px;
455
- }
456
- .row-context {
457
- width: 100%;
458
- display: flex;
459
- justify-content: space-between;
460
- align-items: center;
461
- color: #03050D;
462
- .context-left {
463
- display: flex;
464
- align-items: center;
465
- flex: 1;
466
- width: 0;
467
- .name {
468
- overflow: hidden;
469
- text-overflow: ellipsis;
470
- white-space: nowrap;
471
- }
472
- }
473
- .avatar {
474
- width: 24px;
475
- height: 24px;
476
- border-radius: 4px;
477
- margin-right: 8px;
478
- display: inline-block;
479
- vertical-align: middle;
480
- }
481
- .close {
482
- width: 18px;
483
- height: 18px;
484
- border-radius: 50%;
485
- background-color: #f0f0f5;
486
- display: flex;
487
- align-items: center;
488
- justify-content: center;
489
- margin-left: 8px;
490
- img {
491
- width: 14px;
492
- height: 14px;
493
- }
494
- }
495
- }
496
- .history-item-disabled {
497
- color: #B0B3BF;
498
- .avatar {
499
- opacity: 0.6;
500
- }
501
- }
502
- span {
503
- font-size: 14px;
504
- vertical-align: middle;
505
- }
506
- }
507
- }
508
- }
509
- .list {
510
- height: 100%;
511
- font-size: 16px;
512
- background: #fff;
513
- overflow-y: auto;
514
- -webkit-overflow-scrolling: touch;
515
- .lis-loading {
516
- text-align: center;
517
- margin-top: 20px;
518
- }
519
- .cell {
520
- display: flex;
521
- align-items: center;
522
- padding: 10px 16px 10px 14px;
523
- // border-bottom: 1px solid #ebedf5;
524
- &-checked {
525
- margin-right: 10px;
526
- .radio-icon {
527
- width: 20px;
528
- height: 20px;
529
- }
530
- }
531
- .employee-img {
532
- width: 36px;
533
- height: 36px;
534
- border-radius: 6px;
535
- margin-right: 10px;
536
- }
537
- .employee-img-disabled {
538
- opacity: 0.6;
539
- }
540
- .info {
541
- display: flex;
542
- flex: 1;
543
- width: 0;
544
- flex-direction: column;
545
- justify-content: space-around;
546
- .info-top {
547
- display: flex;
548
- flex: 1;
549
- flex-direction: row;
550
- justify-content: space-between;
551
- .info-tag {
552
- display: flex;
553
- flex-direction: row;
554
- align-items: center;
555
- flex: none;
556
- }
557
- }
558
- &-name {
559
- flex: 1;
560
- color: #03050D;
561
- font-size: 14px;
562
- overflow: hidden;
563
- text-overflow: ellipsis;
564
- white-space: nowrap;
565
- }
566
- &-name-disabled {
567
- opacity: 0.4;
568
- }
569
- &-deparetment {
570
- font-size: 12px;
571
- color: #858793;
572
- }
573
- &-deparetment-disabled {
574
- opacity: 0.4;
575
- }
576
- }
577
- }
578
- .cell:active {
579
- background-color:#F8f8f8;
580
- }
581
- }
582
- .no-data-container {
583
- display: flex;
584
- align-items: center;
585
- justify-content: center;
586
- color: #b0b3bf;
587
- flex-direction: column;
588
- width: 100%;
589
- }
590
- .no-data {
591
- width: 120px;
592
- height: 120px;
593
- &-text-color {
594
- color: #165DFF;
595
- }
596
- }
597
- .work-status {
598
- border-radius: 2px;
599
- font-size: 10px;
600
- text-align: center;
601
- line-height: 12px;
602
- margin-left: 4px;
603
- //border: 0.5px solid rgba(154, 156, 176, 0.25);
604
- padding: 2px;
605
- flex: none;
606
- }
607
- .half-pixel-border{
608
- position: relative;
609
- .border-block{
610
- position: absolute;
611
- width: calc(200% + 1px);
612
- height: calc(200% + 1px);
613
- top: -1px;
614
- left: -1px;
615
- right: 0;
616
- bottom: 0;
617
- border: 1px solid rgba(154, 156, 176, 0.25);
618
- transform: scale(0.5);
619
- transform-origin: 0 0;
620
- border-radius: 4px;
621
- pointer-events: none; /* 防止覆盖按钮的交互区域 */
622
- }
623
- }
624
- .work-context {
625
- border-radius: 2px;
626
- font-size: 10px;
627
- margin-left: 4px;
628
- background: rgba(177, 188, 207, 0.1);
629
- box-shadow: 0 0 0 1px rgba(154, 156, 176, 0.2);
630
- color: #6e6d72;
631
- line-height: 12px;
632
- padding: 2px;
633
- display: flex;
634
- flex: none;
635
- img {
636
- width: 12px;
637
- height: 12px;
638
- margin-right: 2px;
639
- }
640
- }
641
- }
642
- .ks-employee-list-footer {
643
- background: #ffffff;
644
- border-top: 1px solid #e8edf5;
645
- height: 50px;
646
- display: flex;
647
- box-sizing: border-box;
648
- justify-content: space-between;
649
- align-items: center;
650
- padding: 0 16px;
651
- .select-text {
652
- display: flex;
653
- line-height: 18px;
654
- .select-num {
655
- font-size: 14px;
656
- }
657
- .select-color {
658
- color: #165DFF;
659
- }
660
- }
661
- }
662
- </style>