cnhis-design-vue 3.3.3-release.0 → 3.3.3-release.13

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 (293) hide show
  1. package/README.md +87 -87
  2. package/es/components/audio-sdk/index.d.ts +18 -16
  3. package/es/components/audio-sdk/src/Index.vue.d.ts +18 -16
  4. package/es/components/audio-sdk/src/Index.vue2.js +47 -12
  5. package/es/components/audio-sdk/src/audioSDK.js +1 -1
  6. package/es/components/audio-sdk/src/components/recording-modal.vue.d.ts +6 -6
  7. package/es/components/audio-sdk/src/components/recording.vue.d.ts +6 -6
  8. package/es/components/audio-sdk/src/components/recording.vue2.js +17 -3
  9. package/es/components/base-search/index.d.ts +3 -0
  10. package/es/components/base-search/src/index.vue.d.ts +3 -0
  11. package/es/components/big-table/src/components/NoData.vue2.js +8 -1
  12. package/es/components/big-table/src/hooks/useTableParse.js +8 -1
  13. package/es/components/button-print/index.d.ts +69 -3
  14. package/es/components/button-print/src/ButtonPrint.vue.d.ts +69 -3
  15. package/es/components/button-print/src/ButtonPrint.vue2.js +12 -1
  16. package/es/components/button-print/src/components/NewPrintComponent.vue.d.ts +29 -4
  17. package/es/components/button-print/src/components/NewPrintComponent.vue2.js +121 -16
  18. package/es/components/button-print/src/components/OldPrintComponent.vue.d.ts +18 -0
  19. package/es/components/button-print/src/components/OldPrintComponent.vue2.js +17 -3
  20. package/es/components/button-print/src/utils/print.d.ts +6 -4
  21. package/es/components/button-print/src/utils/print.js +201 -27
  22. package/es/components/button-print/style/index.css +1 -1
  23. package/es/components/callback/src/components/render/popupMaps.d.ts +18 -0
  24. package/es/components/card-reader-sdk-cn/src/henan/index.js +8 -1
  25. package/es/components/classification/index.d.ts +56 -6
  26. package/es/components/classification/src/components/search-filter/index.vue.d.ts +56 -6
  27. package/es/components/classification/src/components/set-classification/index.vue.d.ts +56 -6
  28. package/es/components/classification/src/components/table-modal/index.vue.d.ts +0 -3
  29. package/es/components/classification/src/index.vue.d.ts +56 -6
  30. package/es/components/date-picker/src/DatePicker.vue2.js +8 -1
  31. package/es/components/expand-field/index.d.ts +792 -1
  32. package/es/components/expand-field/src/components/FormItemPerson.vue.d.ts +792 -1
  33. package/es/components/expand-field/src/components/PersonModal.vue.d.ts +792 -1
  34. package/es/components/expand-field/src/components/form.vue.d.ts +792 -1
  35. package/es/components/expand-field/src/components/form.vue2.js +8 -1
  36. package/es/components/expand-field/src/index.vue.d.ts +792 -1
  37. package/es/components/fabric-chart/src/hooks/birthProcess/useBirthProcess.js +3 -1
  38. package/es/components/field-editor/index.d.ts +18 -0
  39. package/es/components/field-editor/src/FieldEditor.vue.d.ts +18 -0
  40. package/es/components/field-editor/src/FieldEditor.vue2.js +2 -1
  41. package/es/components/field-editor/src/fields.d.ts +1 -0
  42. package/es/components/field-editor/src/fields.js +6 -0
  43. package/es/components/field-set/src/FieldColor.vue.d.ts +6 -1
  44. package/es/components/field-set/src/FieldFilter.vue.d.ts +6 -1
  45. package/es/components/field-set/src/FieldSet.vue.d.ts +38 -1
  46. package/es/components/field-set/src/FieldSet.vue2.js +118 -69
  47. package/es/components/field-set/src/Index.vue2.js +8 -3
  48. package/es/components/field-set/src/TableStyle.vue2.js +2 -2
  49. package/es/components/field-set/src/components/table-row.vue.d.ts +2 -1
  50. package/es/components/field-set/src/components/table-row.vue2.js +21 -6
  51. package/es/components/field-set/src/constants/index.d.ts +1 -1
  52. package/es/components/field-set/src/types/index.d.ts +3 -1
  53. package/es/components/field-set/style/index.css +1 -1
  54. package/es/components/form-config/index.d.ts +102 -0
  55. package/es/components/form-config/src/FormConfig.vue.d.ts +102 -0
  56. package/es/components/form-config/src/components/FormConfigCreator.vue.d.ts +18 -0
  57. package/es/components/form-config/src/components/FormConfigEdit.vue.d.ts +63 -0
  58. package/es/components/form-config/src/components/FormConfigEdit.vue2.js +4 -4
  59. package/es/components/form-config/src/components/FormConfigEventSetting.vue.d.ts +18 -0
  60. package/es/components/form-config/src/components/FormConfigEventSetting.vue2.js +9 -2
  61. package/es/components/form-config/src/constants/index.d.ts +31 -1
  62. package/es/components/form-config/src/constants/index.js +150 -1
  63. package/es/components/form-config/src/hooks/useConfigurationField.d.ts +2 -2
  64. package/es/components/form-config/src/hooks/useConfigurationField.js +53 -6
  65. package/es/components/form-config/src/hooks/useLocale.d.ts +6 -0
  66. package/es/components/form-config/src/hooks/useLocale.js +34 -0
  67. package/es/components/form-config/src/types/index.d.ts +12 -0
  68. package/es/components/form-render/index.d.ts +18 -0
  69. package/es/components/form-render/src/FormRender.vue.d.ts +18 -0
  70. package/es/components/form-render/src/FormRender.vue2.js +5 -0
  71. package/es/components/form-render/src/FormRenderWrapper.vue.d.ts +18 -0
  72. package/es/components/form-render/src/components/renderer/formItem.d.ts +2 -0
  73. package/es/components/form-render/src/components/renderer/formItem.js +17 -3
  74. package/es/components/form-render/src/components/renderer/levelSearchCascader/index.js +4 -2
  75. package/es/components/form-render/src/components/renderer/lineBar/FormCollapse.vue.d.ts +1 -0
  76. package/es/components/form-render/src/components/renderer/lineBar/index.d.ts +1 -0
  77. package/es/components/form-render/src/components/renderer/radio_checkbox.js +2 -1
  78. package/es/components/form-render/src/components/renderer/searchCascade.js +3 -0
  79. package/es/components/form-render/src/hooks/useBusinessBinding.d.ts +12 -3
  80. package/es/components/form-render/src/hooks/useBusinessBinding.js +7 -7
  81. package/es/components/form-render/src/hooks/useFieldListAdaptor.js +5 -2
  82. package/es/components/form-render/src/hooks/useFieldNormalize.d.ts +2 -0
  83. package/es/components/form-render/src/hooks/useFieldNormalize.js +15 -0
  84. package/es/components/form-render/src/hooks/useFormContext.js +1 -1
  85. package/es/components/form-render/src/hooks/useFormValidator.js +8 -1
  86. package/es/components/form-render/src/hooks/useLowCodeReactions.js +2 -1
  87. package/es/components/form-render/src/types/index.d.ts +1 -0
  88. package/es/components/form-render/src/utils/business.d.ts +3 -1
  89. package/es/components/form-render/src/utils/business.js +7 -1
  90. package/es/components/iho-chat/index.d.ts +901 -98
  91. package/es/components/iho-chat/src/Index.vue.d.ts +901 -98
  92. package/es/components/iho-chat/src/components/ChatAdd.vue.d.ts +24 -1
  93. package/es/components/iho-chat/src/components/ChatFile.vue.d.ts +181 -8
  94. package/es/components/iho-chat/src/components/ChatFile.vue2.js +51 -41
  95. package/es/components/iho-chat/src/components/ChatFooter.vue.d.ts +66 -6
  96. package/es/components/iho-chat/src/components/ChatFooter.vue2.js +158 -57
  97. package/es/components/iho-chat/src/components/ChatHeader.vue.d.ts +329 -15
  98. package/es/components/iho-chat/src/components/ChatHeader.vue2.js +21 -19
  99. package/es/components/iho-chat/src/components/ChatMain.vue.d.ts +235 -20
  100. package/es/components/iho-chat/src/components/ChatMain.vue2.js +298 -279
  101. package/es/components/iho-chat/src/components/ChatRecord.vue.d.ts +51 -5
  102. package/es/components/iho-chat/src/components/ChatRecord.vue2.js +3 -3
  103. package/es/components/iho-chat/src/components/ChatSearch.vue.d.ts +24 -1
  104. package/es/components/iho-chat/src/components/ChatSet.vue.d.ts +48 -2
  105. package/es/components/iho-chat/src/components/ContextMenu.js +34 -27
  106. package/es/components/iho-chat/src/components/ImageLightbox.vue.d.ts +104 -0
  107. package/es/components/iho-chat/src/components/ImageLightbox.vue.js +6 -0
  108. package/es/components/iho-chat/src/components/ImageLightbox.vue2.js +307 -0
  109. package/es/components/iho-chat/src/components/MessageEvent.vue.d.ts +24 -1
  110. package/es/components/iho-chat/src/components/MessageMergeForward.vue.d.ts +53 -6
  111. package/es/components/iho-chat/src/components/MessageMergeForward.vue2.js +3 -3
  112. package/es/components/iho-chat/src/components/MultipleVideo.vue.d.ts +93 -30
  113. package/es/components/iho-chat/src/components/MultipleVideo.vue2.js +349 -143
  114. package/es/components/iho-chat/src/components/PersonProfile.vue.d.ts +24 -1
  115. package/es/components/iho-chat/src/components/PersonProfile.vue2.js +1 -1
  116. package/es/components/iho-chat/src/components/SelectLabel.vue.d.ts +1 -1
  117. package/es/components/iho-chat/src/components/SiderList.vue.d.ts +24 -1
  118. package/es/components/iho-chat/src/components/Video.vue.d.ts +38 -25
  119. package/es/components/iho-chat/src/components/Video.vue2.js +35 -40
  120. package/es/components/iho-chat/src/hooks/index.d.ts +1 -0
  121. package/es/components/iho-chat/src/hooks/index.js +1 -0
  122. package/es/components/iho-chat/src/hooks/useData.d.ts +51 -4
  123. package/es/components/iho-chat/src/hooks/useData.js +2 -7
  124. package/es/components/iho-chat/src/hooks/useDraggable.d.ts +25 -0
  125. package/es/components/iho-chat/src/hooks/useDraggable.js +160 -0
  126. package/es/components/iho-chat/src/hooks/useVideo.d.ts +78 -11
  127. package/es/components/iho-chat/src/hooks/useVideo.js +422 -44
  128. package/es/components/iho-chat/src/types/index.d.ts +37 -1
  129. package/es/components/iho-chat/src/utils/emoji.d.ts +1 -1
  130. package/es/components/iho-chat/src/utils/emoji.js +1 -1
  131. package/es/components/iho-chat/src/utils/index.d.ts +4 -3
  132. package/es/components/iho-chat/src/utils/index.js +33 -39
  133. package/es/components/iho-chat/style/index.css +1 -1
  134. package/es/components/iho-table/src/plugins/filterRenderPlugin/filter.vue2.js +8 -1
  135. package/es/components/iho-table/src/plugins/headerPlugin/index.js +5 -2
  136. package/es/components/iho-table/src/plugins/highLightSetPlugin.js +2 -1
  137. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/selectRendererPlugin/editSelect.js +1 -1
  138. package/es/components/index.css +1 -1
  139. package/es/components/index.d.ts +2 -0
  140. package/es/components/index.js +1 -0
  141. package/es/components/info-header/index.d.ts +41 -0
  142. package/es/components/info-header/src/InfoHeader.vue.d.ts +41 -0
  143. package/es/components/info-header/src/components/infoDescription/DescriptionItem.vue.d.ts +1 -0
  144. package/es/components/info-header/src/components/infoDescription/DescriptionItem.vue2.js +56 -22
  145. package/es/components/info-header/src/components/infoDescription/DescriptionList.vue.d.ts +1 -0
  146. package/es/components/info-header/src/components/infoDescription/index.vue.d.ts +19 -0
  147. package/es/components/info-header/src/components/patientInfo/index.vue.d.ts +18 -0
  148. package/es/components/info-header/src/components/patientInfo/index.vue2.js +16 -2
  149. package/es/components/keyboard/index.d.ts +8 -0
  150. package/es/components/keyboard/src/Keyboard.vue.d.ts +8 -0
  151. package/es/components/keyboard/src/Keyboard.vue2.js +33 -9
  152. package/es/components/keyboard/src/components/NumberPanel.vue.d.ts +3 -0
  153. package/es/components/keyboard/src/components/NumberPanel.vue2.js +27 -7
  154. package/es/components/keyboard/src/types.d.ts +17 -0
  155. package/es/components/keyboard/src/types.js +1 -0
  156. package/es/components/quick-search/index.d.ts +2 -0
  157. package/es/components/quick-search/src/index.vue.d.ts +2 -0
  158. package/es/components/scale-view/index.d.ts +80 -17
  159. package/es/components/scale-view/src/ScaleView.vue.d.ts +83 -19
  160. package/es/components/scale-view/src/ScaleView.vue2.js +84 -10
  161. package/es/components/scale-view/src/components/AnswerParse.vue.d.ts +5 -0
  162. package/es/components/scale-view/src/components/AnswerParse.vue2.js +74 -8
  163. package/es/components/scale-view/src/components/EvaluateCountdown.vue.d.ts +10 -7
  164. package/es/components/scale-view/src/components/EvaluateCountdown.vue2.js +28 -4
  165. package/es/components/scale-view/src/components/EvaluatePage.vue.d.ts +10 -7
  166. package/es/components/scale-view/src/components/EvaluatePage.vue2.js +29 -8
  167. package/es/components/scale-view/src/components/NoData.vue2.js +9 -3
  168. package/es/components/scale-view/src/components/ScaleScore.d.ts +1 -1
  169. package/es/components/scale-view/src/components/ScaleScore.js +47 -4
  170. package/es/components/scale-view/src/components/formitem/r-checkbox.js +20 -2
  171. package/es/components/scale-view/src/components/formitem/r-radio.js +2 -0
  172. package/es/components/scale-view/src/components/formitem/r-sign.js +32 -4
  173. package/es/components/scale-view/src/components/formitem/r-upload.js +65 -7
  174. package/es/components/scale-view/src/components/formitem/sign-com.js +8 -1
  175. package/es/components/scale-view/src/hooks/scaleview-computed.js +22 -6
  176. package/es/components/scale-view/src/hooks/scaleview-init.js +24 -3
  177. package/es/components/scale-view/src/hooks/scaleview-methods.js +40 -5
  178. package/es/components/scale-view/src/hooks/scaleview-props.d.ts +12 -0
  179. package/es/components/scale-view/src/hooks/scaleview-props.js +12 -0
  180. package/es/components/scale-view/src/hooks/scaleview-submit.d.ts +2 -1
  181. package/es/components/scale-view/src/hooks/scaleview-submit.js +64 -8
  182. package/es/components/scale-view/src/hooks/scaleview-validate.d.ts +1 -1
  183. package/es/components/scale-view/src/hooks/scaleview-validate.js +157 -24
  184. package/es/components/scale-view/src/hooks/use-evaluate.js +16 -2
  185. package/es/components/scale-view/src/hooks/use-noData.js +33 -5
  186. package/es/components/scale-view/src/utils/judge-types.d.ts +2 -1
  187. package/es/components/scale-view/src/utils/judge-types.js +10 -10
  188. package/es/components/scale-view/src/utils/watch-form-change.d.ts +13 -0
  189. package/es/components/scale-view/src/utils/watch-form-change.js +71 -0
  190. package/es/components/scale-view/style/index.css +1 -1
  191. package/es/components/select-person/index.d.ts +792 -1
  192. package/es/components/select-person/src/SelectPerson.vue.d.ts +434 -341
  193. package/es/components/select-person/src/SelectPerson.vue2.js +521 -675
  194. package/es/components/select-person/src/SelectPersonRole.vue.d.ts +630 -0
  195. package/es/components/select-person/src/SelectPersonRole.vue.js +6 -0
  196. package/es/components/select-person/src/SelectPersonRole.vue2.js +942 -0
  197. package/es/components/select-person/src/components/GroupItem.vue.d.ts +19 -0
  198. package/es/components/select-person/src/components/GroupItem.vue.js +6 -0
  199. package/es/components/select-person/src/components/GroupItem.vue2.js +37 -0
  200. package/es/components/select-person/src/components/SearchGroupList.vue.d.ts +214 -0
  201. package/es/components/select-person/src/components/SearchGroupList.vue.js +6 -0
  202. package/es/components/select-person/src/components/SearchGroupList.vue2.js +145 -0
  203. package/es/components/select-person/src/components/SearchMultiple.vue2.js +1 -1
  204. package/es/components/select-person/src/components/SearchOrgAndStaff.vue2.js +21 -12
  205. package/es/components/select-person/src/components/TagItem.vue.d.ts +43 -0
  206. package/es/components/select-person/src/components/TagItem.vue.js +6 -0
  207. package/es/components/select-person/src/components/TagItem.vue2.js +40 -0
  208. package/es/components/select-person/src/index.vue.d.ts +793 -1
  209. package/es/components/select-person/src/index.vue2.js +21 -4
  210. package/es/components/select-person/src/types/index.d.ts +35 -0
  211. package/es/components/select-person/src/types/index.js +1 -0
  212. package/es/components/select-person/src/utils/index.d.ts +3 -0
  213. package/es/components/select-person/src/utils/index.js +29 -8
  214. package/es/components/select-person/style/index.css +1 -1
  215. package/es/components/shortcut-setter/index.d.ts +18 -0
  216. package/es/components/shortcut-setter/src/ShortcutSetter.vue.d.ts +18 -0
  217. package/es/components/table-filter/src/components/bi-filter/ValueCfg.vue.d.ts +1 -0
  218. package/es/components/table-filter/src/components/bi-filter/components/SelectFilter.vue.d.ts +1 -0
  219. package/es/components/table-filter/src/components/bi-filter/components/index.d.ts +1 -0
  220. package/es/components/table-filter/src/components/bi-filter/index.vue.d.ts +1 -0
  221. package/es/components/table-filter/src/components/classify-filter/ValueCfg.vue.d.ts +54 -6
  222. package/es/components/table-filter/src/components/classify-filter/ValueCfg.vue2.js +26 -10
  223. package/es/components/table-filter/src/components/classify-filter/components/Date.vue.d.ts +17 -2
  224. package/es/components/table-filter/src/components/classify-filter/components/Date.vue2.js +37 -2
  225. package/es/components/table-filter/src/components/classify-filter/components/DateRange.vue.d.ts +18 -2
  226. package/es/components/table-filter/src/components/classify-filter/components/DateRange.vue2.js +44 -1
  227. package/es/components/table-filter/src/components/classify-filter/components/SelectFilter.vue.d.ts +1 -0
  228. package/es/components/table-filter/src/components/classify-filter/components/index.d.ts +36 -4
  229. package/es/components/table-filter/src/components/classify-filter/hooks/useFilterConditions.js +2 -1
  230. package/es/components/table-filter/src/components/classify-filter/index.vue.d.ts +55 -6
  231. package/es/components/table-filter/src/components/classify-filter/index.vue2.js +6 -3
  232. package/es/components/table-filter/src/components/render-widget/components/DateInner.vue.d.ts +1 -1
  233. package/es/components/table-filter/src/components/render-widget/components/DateOut.vue2.js +12 -1
  234. package/es/components/table-filter/src/components/render-widget/components/DateQuickBtn/index.vue.d.ts +1 -1
  235. package/es/components/table-filter/src/components/render-widget/components/DateQuickBtn/index.vue2.js +25 -6
  236. package/es/components/table-filter/src/components/render-widget/components/DateRangeInner.vue.d.ts +1 -1
  237. package/es/components/table-filter/src/components/render-widget/components/DateRangeOut.vue2.js +12 -1
  238. package/es/components/table-filter/src/components/render-widget/components/index.d.ts +2 -2
  239. package/es/components/table-filter/src/components/render-widget/helpers/dateExtraMap.js +32 -4
  240. package/es/components/table-filter/src/components/render-widget/widgetCfgMaps.d.ts +2 -2
  241. package/es/components/table-filter/src/hooks/useAdvanced.d.ts +2 -0
  242. package/es/components/table-filter/src/hooks/useAdvanced.js +20 -3
  243. package/es/components/table-filter/src/hooks/useRenderWidget.js +4 -0
  244. package/es/components/table-filter/src/tool/baseOptions.js +8 -1
  245. package/es/components/table-filter/src/tool/date.d.ts +3 -0
  246. package/es/components/table-filter/src/tool/date.js +139 -0
  247. package/es/components/table-filter/src/tool/transformData.d.ts +1 -0
  248. package/es/components/table-filter/src/tool/transformData.js +11 -8
  249. package/es/components/table-filter/src/types/enums.d.ts +1 -0
  250. package/es/components/table-filter/src/types/enums.js +2 -1
  251. package/es/components/table-filter/src/types/index.d.ts +12 -0
  252. package/es/components/vertify/index.d.ts +1 -0
  253. package/es/components/vertify/index.js +1 -0
  254. package/es/components/vertify/src/components/IdentityVerification.vue.d.ts +89 -0
  255. package/es/components/vertify/src/components/IdentityVerification.vue.js +6 -0
  256. package/es/components/vertify/src/components/IdentityVerification.vue2.js +256 -0
  257. package/es/components/vertify/src/utils/dialog.d.ts +7 -0
  258. package/es/components/vertify/src/utils/dialog.js +73 -0
  259. package/es/components/vertify/src/utils/index.d.ts +11 -0
  260. package/es/components/vertify/src/utils/index.js +24 -0
  261. package/es/components/vod-chunk-upload/index.d.ts +16 -0
  262. package/es/components/vod-chunk-upload/src/chunk-upload-new.vue.d.ts +20 -31
  263. package/es/components/vod-chunk-upload/src/chunk-upload-new.vue2.js +205 -78
  264. package/es/components/vod-chunk-upload/src/hooks/upload-computed.d.ts +1 -0
  265. package/es/components/vod-chunk-upload/src/hooks/upload-computed.js +35 -4
  266. package/es/components/vod-chunk-upload/src/hooks/upload-data.d.ts +4 -0
  267. package/es/components/vod-chunk-upload/src/hooks/upload-data.js +78 -11
  268. package/es/components/vod-chunk-upload/src/vod-chunk-upload/vod-chunk-upload.vue.d.ts +16 -0
  269. package/es/components/vod-chunk-upload/src/vod-chunk-upload/vod-chunk-upload.vue2.js +81 -10
  270. package/es/components/vod-chunk-upload/style/index.css +1 -1
  271. package/es/env.d.ts +25 -25
  272. package/es/shared/assets/img/defaultCover/10review_successful.png.js +1 -1
  273. package/es/shared/assets/img/defaultCover/11review_fail.png.js +1 -1
  274. package/es/shared/assets/img/defaultCover/12no_setting.png.js +1 -1
  275. package/es/shared/assets/img/defaultCover/13no_menu_setting.png.js +1 -1
  276. package/es/shared/assets/img/defaultCover/14no_call_setting.png.js +1 -1
  277. package/es/shared/assets/img/defaultCover/15no_use_tag.png.js +1 -1
  278. package/es/shared/assets/img/defaultCover/16no_table_data.png.js +1 -1
  279. package/es/shared/assets/img/defaultCover/1location.png.js +1 -1
  280. package/es/shared/assets/img/defaultCover/2notfound.png.js +1 -1
  281. package/es/shared/assets/img/defaultCover/3loading.png.js +1 -1
  282. package/es/shared/assets/img/defaultCover/4no_permission.png.js +1 -1
  283. package/es/shared/assets/img/defaultCover/5no_data.png.js +1 -1
  284. package/es/shared/assets/img/defaultCover/6no_network.png.js +1 -1
  285. package/es/shared/assets/img/defaultCover/7no_doctor.png.js +1 -1
  286. package/es/shared/assets/img/defaultCover/8system_error.png.js +1 -1
  287. package/es/shared/assets/img/defaultCover/9system_upgrade.png.js +1 -1
  288. package/es/shared/components/InputNumberSlash/InputNumberSlash.js +1 -1
  289. package/es/shared/hooks/selectHooks/useSearchContent.js +1 -1
  290. package/es/shared/hooks/useLevelSearchCascader.js +3 -3
  291. package/es/shared/package.json.js +1 -1
  292. package/es/shared/utils/fabricjs/index.js +1 -1
  293. package/package.json +4 -3
@@ -1,26 +1,27 @@
1
- import { defineComponent, inject, ref, computed, reactive, watch, openBlock, createBlock, unref, withCtx, createVNode, createElementVNode, createCommentVNode, renderSlot, withKeys, createTextVNode, toDisplayString, createElementBlock, Fragment, renderList, withDirectives, vShow, mergeProps, normalizeStyle } from 'vue';
2
- import { NGrid, NGi, NSpace, NInputGroup, NInput, NIcon, NButton, NTag, NCheckbox, NEmpty, NTree } from 'naive-ui';
3
- import { CloseCircleSharp } from '@vicons/ionicons5';
4
- import { searchFilterTree, getExpandedKeys } from './utils/index.js';
5
- import { cloneDeep, union, remove } from 'lodash-es';
6
- import { SelectItemTypesConfig, SelectRoleEnumsConfig, SearchTypeConfig } from './types/enums.js';
7
- import SearchMultiple from './components/SearchMultiple.vue.js';
8
- import SearchOrgAndStaff from './components/SearchOrgAndStaff.vue.js';
1
+ import { defineComponent, inject, ref, shallowRef, computed, watch, openBlock, createBlock, unref, withCtx, createVNode, createElementVNode, normalizeStyle, createCommentVNode, renderSlot, withKeys, createTextVNode, toDisplayString, withDirectives, vShow, createElementBlock, mergeProps, Fragment, renderList, normalizeProps, guardReactiveProps } from 'vue';
2
+ import { useMessage, NGrid, NGi, NInputGroup, NInput, NButton, NCheckbox, NTree, NSpace, NPopover } from 'naive-ui';
3
+ import { getAllChildren, searchBasisTree, getExpandedKeys } from './utils/index.js';
4
+ import { union, remove } from 'lodash-es';
5
+ import SearchGroupList from './components/SearchGroupList.vue.js';
6
+ import TagItem from './components/TagItem.vue.js';
7
+ import DefaultPage from '../../default-page/index.js';
9
8
  import { InjectionSelectPersonEmits } from './constants/index.js';
10
9
 
11
10
  const _hoisted_1 = {
12
11
  class: "search-box"
13
12
  };
14
13
  const _hoisted_2 = {
15
- key: 0,
16
- class: "select-type-tags"
14
+ key: 2,
15
+ class: "c-select-person__hide"
17
16
  };
18
17
  const _hoisted_3 = {
19
- key: 4,
20
- class: "tree-content"
18
+ key: 0
21
19
  };
22
20
  const _hoisted_4 = {
23
- key: 0
21
+ class: "c-select-person__containerRight"
22
+ };
23
+ const _hoisted_5 = {
24
+ class: "c-select-person__popover"
24
25
  };
25
26
  var _sfc_main = /* @__PURE__ */ defineComponent({
26
27
  __name: "SelectPerson",
@@ -95,22 +96,6 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
95
96
  type: Function,
96
97
  default: () => Promise.resolve([])
97
98
  },
98
- showSelectType: {
99
- type: Boolean,
100
- default: false
101
- },
102
- roleData: {
103
- type: Array,
104
- default: () => []
105
- },
106
- roleFields: {
107
- type: Object,
108
- default: () => ({
109
- label: "name",
110
- key: "id",
111
- children: "children"
112
- })
113
- },
114
99
  forceShowSelectAll: {
115
100
  type: Boolean
116
101
  },
@@ -119,532 +104,359 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
119
104
  },
120
105
  onlyForwardCascade: {
121
106
  type: Boolean
107
+ },
108
+ height: {
109
+ type: String
110
+ },
111
+ hideLeaf: {
112
+ type: Boolean,
113
+ default: false
114
+ },
115
+ itemKey: {
116
+ type: Function,
117
+ default: void 0
118
+ },
119
+ showTagHover: {
120
+ type: Boolean,
121
+ default: false
122
122
  }
123
123
  },
124
124
  setup(__props, {
125
125
  expose
126
126
  }) {
127
127
  const props = __props;
128
- const searchFilterBase = {
129
- isOpen: false,
130
- multiple: false,
131
- customTitles: [function() {
132
- var _a, _b, _c;
133
- try {
134
- return ((_a = window.getLanguageByCode) == null ? void 0 : _a.call(window, "10010.1.510")) || ((_c = (_b = window.top) == null ? void 0 : _b.getLanguageByCode) == null ? void 0 : _c.call(_b, "10010.1.510")) || "\u8054\u7CFB\u4EBA";
135
- } catch (e) {
136
- return "\u8054\u7CFB\u4EBA";
137
- }
138
- }(), function() {
139
- var _a, _b, _c;
140
- try {
141
- return ((_a = window.getLanguageByCode) == null ? void 0 : _a.call(window, "10010.1.511")) || ((_c = (_b = window.top) == null ? void 0 : _b.getLanguageByCode) == null ? void 0 : _c.call(_b, "10010.1.511")) || "\u90E8\u95E8";
142
- } catch (e) {
143
- return "\u90E8\u95E8";
144
- }
145
- }()],
146
- itemHeight: 250
147
- };
148
- const labelList = [{
149
- key: "main",
150
- label: function() {
151
- var _a, _b, _c;
152
- try {
153
- return ((_a = window.getLanguageByCode) == null ? void 0 : _a.call(window, "10010.1.512")) || ((_c = (_b = window.top) == null ? void 0 : _b.getLanguageByCode) == null ? void 0 : _c.call(_b, "10010.1.512")) || "\u9009\u4EBA\u5458";
154
- } catch (e) {
155
- return "\u9009\u4EBA\u5458";
156
- }
157
- }()
158
- }, {
159
- key: "dept",
160
- label: function() {
161
- var _a, _b, _c;
162
- try {
163
- return ((_a = window.getLanguageByCode) == null ? void 0 : _a.call(window, "10010.1.513")) || ((_c = (_b = window.top) == null ? void 0 : _b.getLanguageByCode) == null ? void 0 : _c.call(_b, "10010.1.513")) || "\u9009\u79D1\u5BA4";
164
- } catch (e) {
165
- return "\u9009\u79D1\u5BA4";
166
- }
167
- }()
168
- }, {
169
- key: "role",
170
- label: function() {
171
- var _a, _b, _c;
172
- try {
173
- return ((_a = window.getLanguageByCode) == null ? void 0 : _a.call(window, "10010.1.514")) || ((_c = (_b = window.top) == null ? void 0 : _b.getLanguageByCode) == null ? void 0 : _c.call(_b, "10010.1.514")) || "\u9009\u89D2\u8272";
174
- } catch (e) {
175
- return "\u9009\u89D2\u8272";
176
- }
177
- }()
178
- }];
179
- const labelListName = {
180
- dept: function() {
181
- var _a, _b, _c;
182
- try {
183
- return ((_a = window.getLanguageByCode) == null ? void 0 : _a.call(window, "10010.1.202")) || ((_c = (_b = window.top) == null ? void 0 : _b.getLanguageByCode) == null ? void 0 : _c.call(_b, "10010.1.202")) || "\u79D1\u5BA4";
184
- } catch (e) {
185
- return "\u79D1\u5BA4";
186
- }
187
- }(),
188
- role: function() {
189
- var _a, _b, _c;
190
- try {
191
- return ((_a = window.getLanguageByCode) == null ? void 0 : _a.call(window, "10010.1.515")) || ((_c = (_b = window.top) == null ? void 0 : _b.getLanguageByCode) == null ? void 0 : _c.call(_b, "10010.1.515")) || "\u89D2\u8272";
192
- } catch (e) {
193
- return "\u89D2\u8272";
194
- }
195
- }()
196
- };
128
+ const $message = useMessage();
197
129
  const emit = inject(InjectionSelectPersonEmits);
198
130
  const keyword = ref("");
199
131
  const checkedAll = ref(false);
200
132
  const checkedKeys = ref([]);
201
133
  const expandedKeys = ref([]);
202
- const treeData = ref([]);
203
- const tagData = ref([]);
204
- const initTagData = ref([]);
134
+ const treeData = shallowRef([]);
135
+ const treeAsyncData = ref([]);
136
+ const searchTreeData = shallowRef([]);
137
+ const searchData = shallowRef([]);
138
+ const treeMap = /* @__PURE__ */ new Map();
205
139
  const isSearch = ref(false);
206
- const allCheckedTreeKeys = ref([]);
140
+ const remoteDefaultList = ref([]);
207
141
  const isRemote = computed(() => props.queryLoadChildData ? true : false);
208
142
  const checkStrategyResult = computed(() => {
209
143
  var _a, _b;
210
144
  return (_b = (_a = props == null ? void 0 : props.treeSetting) == null ? void 0 : _a.checkStrategy) != null ? _b : "child";
211
145
  });
212
146
  const isSearchFilter = computed(() => (props == null ? void 0 : props.searchFilter) && Object.keys(props == null ? void 0 : props.searchFilter).length > 0);
213
- const curSelectKey = ref("main");
214
- const mergeSearchFilter = computed(() => {
215
- if (isSearchFilter.value) {
216
- return {
217
- ...cloneDeep(searchFilterBase),
218
- ...props.searchFilter
219
- };
220
- }
221
- return cloneDeep(searchFilterBase);
147
+ const isShowGroupList = computed(() => {
148
+ const isInnerMultiple = (props == null ? void 0 : props.searchInner) && (props == null ? void 0 : props.multiple);
149
+ return checkStrategyResult.value === "parent" && (isSearchFilter.value || isInnerMultiple);
222
150
  });
223
- const wordbookChildExpandkeys = computed(() => {
224
- var _a, _b;
225
- return (_b = (_a = props == null ? void 0 : props.wordbookChild) == null ? void 0 : _a.user_expand_keys) != null ? _b : [];
226
- });
227
- const styleObject = computed(() => {
228
- return {
229
- height: props.multiple ? "342px" : "308px"
230
- };
151
+ const showType = computed(() => {
152
+ const isInnerMultiple = (props == null ? void 0 : props.searchInner) && (props == null ? void 0 : props.multiple);
153
+ return isSearchFilter.value ? "searchGroup" : isInnerMultiple ? "searchChild" : "";
231
154
  });
232
155
  const caculateTagData = computed(() => {
233
- if (props.showSelectType) {
234
- const mainItems = checkedTagsMiddle.main.filter((item) => {
235
- item.itemType = SelectItemTypesConfig.PERSON;
236
- if (!props.uncheckableField)
237
- return item[attrType.value] == SelectRoleEnumsConfig.STAFF;
238
- return item[attrType.value] == SelectRoleEnumsConfig.STAFF && !item[props.uncheckableField];
239
- });
240
- const deptItems = checkedTagsMiddle.dept.filter((item) => {
241
- item.itemType = SelectItemTypesConfig.DEPT;
242
- if (!props.uncheckableField)
243
- return item[attrType.value] == SelectRoleEnumsConfig.DEPT;
244
- return item[attrType.value] == SelectRoleEnumsConfig.DEPT && !item[props.uncheckableField];
245
- });
246
- const roleItems = checkedTagsMiddle.role.filter((item) => {
247
- item.itemType = SelectItemTypesConfig.ROLE;
248
- if (!props.uncheckableField)
249
- return item;
250
- return !item[props.uncheckableField];
251
- });
252
- return uniqArrObj([...mainItems, ...deptItems, ...roleItems], "key");
156
+ const re = checkedKeys.value.map((key) => {
157
+ return treeMap.get(key);
158
+ }).filter((tag) => !props.uncheckableField || props.uncheckableField && !tag.originItem[props.uncheckableField]);
159
+ if (isRemote.value) {
160
+ return [...remoteDefaultList.value, ...re];
253
161
  }
254
- let lasetTagData = [];
255
- checkedKeys.value.forEach((key) => {
256
- for (let i = 0, len = tagData.value.length; i < len; i++) {
257
- const tag = tagData.value[i];
258
- if (tag.key == key) {
259
- if (!props.uncheckableField || props.uncheckableField && !tag.originItem[props.uncheckableField])
260
- lasetTagData.push(tag);
261
- break;
262
- }
263
- }
264
- });
265
- return lasetTagData;
266
- });
267
- const treeDataMiddle = reactive({
268
- main: [],
269
- dept: [],
270
- role: [],
271
- temp: []
272
- });
273
- const checkedKeysMiddle = reactive({
274
- main: [],
275
- dept: [],
276
- role: []
277
- });
278
- const checkedTagsMiddle = reactive({
279
- main: [],
280
- dept: [],
281
- role: []
162
+ return re;
282
163
  });
283
- const allCheckedKeysMiddle = reactive({
284
- main: [],
285
- dept: [],
286
- role: []
164
+ const renderTreeData = computed(() => {
165
+ if (isRemote.value)
166
+ return treeAsyncData.value;
167
+ if (isSearch.value && !isShowGroupList.value)
168
+ return searchTreeData.value;
169
+ return treeData.value;
287
170
  });
288
- const attrType = computed(() => {
171
+ function initTreeData() {
289
172
  var _a;
290
- return ((_a = props.wordbook) == null ? void 0 : _a.type) || "type";
291
- });
292
- const keyStr = computed(() => props.wordbookChild.user_id_obj || props.wordbook.parent_id_obj || Date.now());
293
- function getTreeDataMiddleData() {
294
- const tempData = cloneDeep(transformData(props.data));
295
- treeDataMiddle.main = treeDataMiddle.temp = tempData;
296
- getMainData(treeDataMiddle.temp, null, (tree) => {
297
- allCheckedKeysMiddle.main.push(tree.key);
298
- });
299
- allCheckedTreeKeys.value = allCheckedKeysMiddle.main;
300
- treeDataMiddle.dept = getDeptData(cloneDeep(tempData), (tree) => {
301
- allCheckedKeysMiddle.dept.push(tree.key);
302
- });
303
- treeDataMiddle.role = getRoleData(cloneDeep(props.roleData), (tree) => {
304
- allCheckedKeysMiddle.role.push(tree.key);
305
- });
306
- }
307
- function getDeptData(list, cb) {
308
- return list.filter((item) => {
309
- var _a;
310
- if (props.showSelectType && ((_a = item.children) == null ? void 0 : _a.length)) {
311
- item.children = getDeptData(item.children, cb);
312
- }
313
- const isFilter = item[attrType.value] == SelectRoleEnumsConfig.DEPT;
314
- if (isFilter) {
315
- setAllCheckedKeys(item, cb);
316
- }
317
- return isFilter;
318
- });
319
- }
320
- function getRoleData(list, cb) {
173
+ treeMap.clear();
321
174
  const {
322
- label,
323
- key,
324
- children = "children"
325
- } = props.roleFields;
326
- return list.map((item) => {
327
- var _a;
328
- item.key = item[key];
329
- item.label = item.title = item[label];
330
- if ((_a = item[children]) == null ? void 0 : _a.length) {
331
- item.children = getRoleData(item[children], cb);
332
- }
333
- setAllCheckedKeys(item, cb);
334
- return item;
175
+ itemKey,
176
+ hideLeaf
177
+ } = props;
178
+ const tempData = transformData(props.data, null, {
179
+ enter(node) {
180
+ node.key = itemKey ? itemKey(node.originItem) : node.key;
181
+ treeMap.set(node.key, node);
182
+ },
183
+ leave: hideLeaf ? (node) => {
184
+ var _a2;
185
+ if (!node.leaf && ((_a2 = node.children) == null ? void 0 : _a2.length)) {
186
+ const children = node.children.filter((val) => !val.leaf);
187
+ node.children = children.length ? children : void 0;
188
+ }
189
+ } : void 0
335
190
  });
336
- }
337
- function onHandleLabelChange(item) {
338
- curSelectKey.value = item.key;
339
- treeData.value = treeDataMiddle.temp = treeDataMiddle[item.key];
340
- checkedKeys.value = checkedKeysMiddle[item.key];
341
- allCheckedTreeKeys.value = allCheckedKeysMiddle[item.key];
342
- }
343
- function setSelectTagData(tree, operatorType) {
344
- var _a, _b;
345
- const keyName = ["main", "dept"].includes(operatorType) ? keyStr.value : (_a = props.roleFields) == null ? void 0 : _a.key;
346
- for (let i = 0, len = tree.length; i < len; i++) {
347
- const item = tree[i];
348
- const initTagKeys = initTagData.value.map((tag) => tag.key);
349
- checkedKeysMiddle[operatorType].includes(item.key) && !initTagKeys.includes(item.key) && checkedTagsMiddle[operatorType].push({
350
- ...item,
351
- key: item[keyName]
191
+ isRemote.value ? treeAsyncData.value = tempData.treeItems : treeData.value = tempData.treeItems;
192
+ if (isRemote.value) {
193
+ remoteDefaultList.value = (_a = props == null ? void 0 : props.defaultList) == null ? void 0 : _a.map((tag) => {
194
+ return {
195
+ ...tag,
196
+ label: tag.name
197
+ };
352
198
  });
353
- ((_b = item.children) == null ? void 0 : _b.length) && setSelectTagData(item.children, operatorType);
354
- }
355
- }
356
- function uniqArrObj(arr, name) {
357
- let obj = {};
358
- return arr.reduce((cur, next) => {
359
- obj[next[name]] ? "" : obj[next[name]] = cur.push(next);
360
- return cur;
361
- }, []);
362
- }
363
- function init() {
364
- getTreeDataMiddleData();
365
- treeData.value = treeDataMiddle.temp;
366
- if (props.defaultList.length > 0) {
367
- if (isRemote.value) {
368
- props.defaultList.forEach((key) => checkedKeys.value.push(key.key));
369
- tagData.value = cloneDeep(props.defaultList);
370
- initTagData.value = cloneDeep(props.defaultList);
371
- } else {
372
- if (props.showSelectType) {
373
- const curType = curSelectKey.value;
374
- props.defaultList.forEach((tag) => {
375
- if (tag["itemType"] === SelectItemTypesConfig.PERSON) {
376
- checkedKeysMiddle.main.push(tag[keyStr.value]);
377
- checkedTagsMiddle.main.push(tag);
378
- }
379
- if (tag["itemType"] === SelectItemTypesConfig.DEPT) {
380
- checkedKeysMiddle.dept.push(tag[keyStr.value]);
381
- checkedTagsMiddle.dept.push(tag);
382
- }
383
- if (tag["itemType"] === SelectItemTypesConfig.ROLE) {
384
- checkedKeysMiddle.role.push(tag[props.roleFields.key]);
385
- checkedTagsMiddle.role.push(tag);
386
- }
387
- });
388
- checkedKeys.value = checkedKeysMiddle[curType];
389
- return;
390
- }
391
- props.defaultList.forEach((key) => checkedKeys.value.push(key));
392
- setTagData(treeDataMiddle.temp);
393
- }
394
- }
395
- }
396
- function getMainData(tree, parentNode, cb) {
397
- var _a, _b;
398
- for (let i = 0, len = tree.length; i < len; i++) {
399
- const item = tree[i];
400
- let title_expand_strs = wordbookChildExpandkeys.value.reduce((acc, current) => {
401
- const currentValue = item[current] ? `${item[current]}\uFF0C` : "";
402
- return acc + currentValue;
403
- }, "");
404
- item.title_expand_strs = title_expand_strs.slice(0, -1);
405
- item.title = getLabelName(item);
406
- item.label = getLabelName(item);
407
- item.parentNode = parentNode;
408
- if (!item.key)
409
- item.key = item[props.wordbookChild.user_id_obj] || item[props.wordbook.parent_id_obj] || Date.now();
410
- if ((_a = item.children) == null ? void 0 : _a.length) {
411
- getMainData(item.children, item, cb);
412
- setDisabled(item);
413
- } else if (((_b = item.children) == null ? void 0 : _b.length) === 0) {
414
- Reflect.deleteProperty(item, "children");
415
- }
416
- setAllCheckedKeys(item, cb);
417
- }
418
- }
419
- function setAllCheckedKeys(tree, cb) {
420
- var _a, _b;
421
- const checkStrategy = (_b = (_a = props == null ? void 0 : props.treeSetting) == null ? void 0 : _a.checkStrategy) != null ? _b : "child";
422
- switch (checkStrategy) {
423
- case "child":
424
- setAllCheckedKeysWithChild(tree, cb);
425
- break;
426
- case "parent":
427
- setAllCheckedKeysWithParent(tree, cb);
428
- break;
429
- case "all":
430
- setAllCheckedKeysWithAll(tree, cb);
431
- break;
432
- }
433
- }
434
- function setAllCheckedKeysWithChild(item, cb) {
435
- if (!item.disabled && !item.children && item.key) {
436
- cb && cb(item);
437
- }
438
- }
439
- function setAllCheckedKeysWithParent(item, cb) {
440
- if (!item.disabled && !item.tempTitle && item.key) {
441
- cb && cb(item);
442
- }
443
- }
444
- function setAllCheckedKeysWithAll(item, cb) {
445
- if (!item.disabled && item.key) {
446
- cb && cb(item);
447
199
  }
200
+ checkedKeys.value = props.defaultList.filter((k) => treeMap.has(k));
448
201
  }
449
202
  async function queryLoadChildNode(node) {
203
+ var _a;
450
204
  if (props.queryLoadChildData) {
205
+ const {
206
+ itemKey,
207
+ hideLeaf
208
+ } = props;
451
209
  const curNode = await props.queryLoadChildData(node);
452
- if (curNode.children) {
453
- curNode.children = curNode.children.map((childNode) => {
454
- return {
455
- ...childNode,
456
- tempTitle: curNode.tempTitle ? `${curNode.title}/${curNode.tempTitle}` : curNode.title
457
- };
210
+ if ((_a = curNode == null ? void 0 : curNode.children) == null ? void 0 : _a.length) {
211
+ const tempData = transformData(curNode.children, curNode, {
212
+ enter(node2) {
213
+ node2.key = itemKey ? itemKey(node2.originItem) : node2.key;
214
+ treeMap.set(node2.key, node2);
215
+ },
216
+ leave: hideLeaf ? (node2) => {
217
+ var _a2;
218
+ if (!node2.leaf && ((_a2 = node2.children) == null ? void 0 : _a2.length)) {
219
+ const children = node2.children.filter((val) => !val.leaf);
220
+ node2.children = children.length ? children : void 0;
221
+ }
222
+ } : void 0
458
223
  });
224
+ curNode.children = tempData.treeItems;
459
225
  }
460
226
  return curNode;
461
227
  }
462
228
  return node;
463
229
  }
464
- function setDisabled(data) {
465
- var _a;
466
- const isDisabled = (_a = data.children) == null ? void 0 : _a.every((item) => item.disabled);
467
- if (isDisabled)
468
- data.disabled = true;
469
- }
470
230
  function renderLabel({
471
231
  option
472
232
  }) {
473
233
  var _a, _b;
474
- if (((_a = option.children) == null ? void 0 : _a.length) || isRemote.value && !(option == null ? void 0 : option.isLeaf)) {
475
- const count = props.wordbook.user_count_obj ? option[props.wordbook.user_count_obj] || "" : "";
476
- const countText = count ? `(${count})` : "";
477
- const labelStr = `${option.title}${countText}`;
234
+ if (((_a = option.children) == null ? void 0 : _a.length) || isRemote.value && !(option == null ? void 0 : option.leaf)) {
235
+ const countText = option.count ? `(${option.count})` : "";
236
+ const labelStr = `${option.label}${countText}`;
478
237
  return createVNode("span", {
479
238
  "title": labelStr
480
239
  }, [labelStr]);
481
240
  } else {
482
- const title_expand_strs = (_b = option.title_expand_strs) != null ? _b : "";
241
+ const labelExpand = (_b = option.labelExpand) != null ? _b : "";
483
242
  return createVNode("p", {
484
243
  "class": "user_item"
485
244
  }, [createVNode("span", {
486
- "title": option.title
487
- }, [option.title]), createVNode("span", {
245
+ "title": option.label
246
+ }, [option.label]), createVNode("span", {
488
247
  "class": "user_item_expand",
489
- "title": title_expand_strs
490
- }, [title_expand_strs])]);
248
+ "title": labelExpand
249
+ }, [labelExpand])]);
491
250
  }
492
251
  }
493
- function getLabelName(option) {
494
- return option[props.wordbookChild.user_name_obj] || option[props.wordbook.parent_name_obj] || option["orgName"] || option["title"] || "";
495
- }
496
- function transformData(trees) {
252
+ function getChildren(tag) {
497
253
  var _a;
498
- for (let index = 0, len = trees.length; index < len; index++) {
499
- const tree = trees[index];
500
- const childrenKey = props.wordbook.children || "children";
501
- if ((_a = tree[childrenKey]) == null ? void 0 : _a.length) {
502
- const items = calculateRootItems(tree[childrenKey], []);
503
- tree.innerItemsNum = items.length;
504
- tree.innerLeafs = items;
505
- tree.children = transformData(tree[childrenKey]);
254
+ const {
255
+ children: childrenKey = "children"
256
+ } = props.wordbook;
257
+ if (!tag || !(tag == null ? void 0 : tag.originItem) || !((_a = tag == null ? void 0 : tag.originItem[childrenKey]) == null ? void 0 : _a.length))
258
+ return [];
259
+ const {
260
+ itemKey,
261
+ hideLeaf
262
+ } = props;
263
+ const tempData = transformData(tag.originItem[childrenKey], tag, {
264
+ enter(node) {
265
+ node.key = itemKey ? itemKey(node.originItem) : node.key;
266
+ treeMap.set(node.key, node);
506
267
  }
507
- }
508
- if (!props.showSelectType)
509
- return transformParentNodeName(trees, "");
510
- return trees;
268
+ });
269
+ return getAllChildren(tempData.treeItems, childrenKey);
511
270
  }
512
- function calculateRootItems(trees, items) {
513
- var _a;
514
- for (let index = 0, len = trees.length; index < len; index++) {
515
- const tree = trees[index];
516
- if ((_a = tree.children) == null ? void 0 : _a.length) {
517
- calculateRootItems(tree.children, items);
271
+ function transformData(trees, parentNode, visitor) {
272
+ const {
273
+ children: childrenKey = "children",
274
+ parent_id_obj = "key",
275
+ parent_name_obj = "label",
276
+ user_count_obj = "count",
277
+ empty_enable
278
+ } = props.wordbook;
279
+ const {
280
+ user_id_obj,
281
+ user_name_obj,
282
+ leaf_field,
283
+ leaf_value,
284
+ user_expand_keys
285
+ } = props.wordbookChild;
286
+ let leafCount = 0;
287
+ const {
288
+ label: parentLabel = "",
289
+ parentName = "",
290
+ disabled,
291
+ key: parentKey
292
+ } = parentNode || {};
293
+ const {
294
+ enter,
295
+ leave
296
+ } = visitor || {};
297
+ const treeItems = trees.map((item) => {
298
+ const children = item[childrenKey];
299
+ const isLeaf = item.isLeaf !== void 0 ? item.isLeaf : leaf_field && leaf_value ? item[leaf_field] === leaf_value : !Array.isArray(children) || (children == null ? void 0 : children.length) === 0;
300
+ const tree = {
301
+ key: item[parent_id_obj] || item[user_id_obj] || (item == null ? void 0 : item.key),
302
+ label: item[parent_name_obj] || item[user_name_obj] || (item == null ? void 0 : item.title),
303
+ name: item[parent_name_obj] || item[user_name_obj] || (item == null ? void 0 : item.title),
304
+ count: item[user_count_obj],
305
+ labelExpand: "",
306
+ parentKey,
307
+ parentName: parentLabel + (parentName ? parentLabel ? `/${parentName}` : parentName : ""),
308
+ innerItemsNum: 0,
309
+ children: void 0,
310
+ originItem: item,
311
+ leaf: isLeaf,
312
+ disabled: disabled || item.disabled
313
+ };
314
+ if (isRemote.value)
315
+ tree.isLeaf = isLeaf;
316
+ enter && enter(tree);
317
+ if (isLeaf) {
318
+ if (Array.isArray(user_expand_keys)) {
319
+ tree.labelExpand = user_expand_keys.reduce((acc, key) => {
320
+ const str = item[key];
321
+ return str ? acc ? `${acc}\uFF0C${str}` : str : acc;
322
+ }, "");
323
+ }
324
+ if (!tree.disabled) {
325
+ leafCount++;
326
+ }
518
327
  } else {
519
- !tree.disabled && items.push(tree);
328
+ if (children == null ? void 0 : children.length) {
329
+ const childData = transformData(children, tree, visitor);
330
+ if (childData.treeItems.length) {
331
+ tree.children = childData.treeItems;
332
+ }
333
+ tree.innerItemsNum += childData.leafCount;
334
+ leafCount += tree.innerItemsNum;
335
+ }
336
+ if (!empty_enable && tree.innerItemsNum == 0 && !isRemote.value)
337
+ tree.disabled = true;
520
338
  }
521
- }
522
- return items;
523
- }
524
- function transformParentNodeName(trees, tempContent) {
525
- if (!trees || trees.length === 0)
526
- return [];
527
- return trees.map((tree) => {
528
- var _a;
529
- const tempName = getLabelName(tree);
530
- const tempTitle = tempContent ? `${tempName}/${tempContent}` : tempName;
531
- return {
532
- ...tree,
533
- tempTitle: tempContent,
534
- children: ((_a = tree.children) == null ? void 0 : _a.length) ? transformParentNodeName(tree == null ? void 0 : tree.children, tempTitle) : []
535
- };
339
+ leave && leave(tree);
340
+ return tree;
536
341
  });
537
- }
538
- function searchSetting() {
539
- const settings = {
540
- [SearchTypeConfig.SEARCH_ORG_STAFF]: isSearchFilter.value,
541
- [SearchTypeConfig.SEARCH_ORG]: props.searchInner
342
+ return {
343
+ treeItems,
344
+ leafCount
542
345
  };
543
- const result = Object.keys(settings).find((attr) => settings[attr]);
544
- return result != null ? result : "";
545
346
  }
546
347
  async function onSearch() {
547
- var _a, _b;
348
+ var _a, _b, _c, _d;
548
349
  const filterKey = (_b = (_a = props == null ? void 0 : props.wordbook) == null ? void 0 : _a.filter_key) != null ? _b : "keyword";
549
- isSearch.value = !!keyword.value.trim();
550
- if (!isRemote.value) {
551
- const curAttr = searchSetting();
552
- treeData.value = searchFilterTree(curAttr, treeDataMiddle.temp, keyword.value, filterKey);
553
- } else {
554
- treeData.value = await props.queryTreeSearch(keyword.value);
555
- }
556
- expandedKeys.value = treeData.value.length && keyword.value ? getExpandedKeys(treeData.value) : [];
557
- }
558
- function setTreeCheckd(tree, checked) {
559
- switch (checkStrategyResult.value) {
560
- case "child":
561
- setCheckdWithChild(tree, checked);
562
- break;
563
- case "parent":
564
- setCheckdWithParent(tree, checked);
565
- break;
566
- case "all":
567
- setCheckdWithAll(tree, checked);
568
- break;
350
+ const kw = keyword.value.trim();
351
+ isSearch.value = !!kw;
352
+ if (!kw) {
353
+ searchData.value = [];
354
+ return;
569
355
  }
570
- }
571
- function setCheckdWithChild(tree, checked) {
572
- for (let i = 0, len = tree.length; i < len; i++) {
573
- const item = tree[i];
574
- if (!item.disabled && (!item.children || item.isLeaf)) {
575
- if (checked && !checkedKeys.value.includes(item.key)) {
576
- checkedKeys.value.push(item.key);
356
+ function flatFilter(nodes) {
357
+ var _a2, _b2;
358
+ const result = [];
359
+ const stack = [...nodes];
360
+ while (stack.length) {
361
+ const node = stack.pop();
362
+ if (node.disabled)
363
+ continue;
364
+ const label = (_a2 = node.label) != null ? _a2 : "";
365
+ const labelExpand = (_b2 = node.labelExpand) != null ? _b2 : "";
366
+ const originItem = node.originItem;
367
+ const match = label.includes(kw) || labelExpand.includes(kw) || originItem && originItem[filterKey] && String(originItem[filterKey]).includes(kw);
368
+ if (match) {
369
+ result.push(node);
577
370
  }
578
- if (!checked) {
579
- const keyIndex = checkedKeys.value.findIndex((key) => key === item.key);
580
- checkedKeys.value.splice(keyIndex, 1);
371
+ if (node.children && node.children.length > 0) {
372
+ stack.push(...node.children);
581
373
  }
582
374
  }
583
- item.children && setTreeCheckd(item.children, checked);
375
+ return result == null ? void 0 : result.reverse();
376
+ }
377
+ if (!isRemote.value) {
378
+ if (isSearch.value && !isShowGroupList.value) {
379
+ const filterKey2 = (_d = (_c = props == null ? void 0 : props.wordbook) == null ? void 0 : _c.filter_key) != null ? _d : "keyword";
380
+ const data = searchBasisTree(treeData.value, kw, filterKey2);
381
+ searchTreeData.value = data;
382
+ expandedKeys.value = searchTreeData.value.length ? getExpandedKeys(searchTreeData.value) : [];
383
+ return;
384
+ }
385
+ const flatResult = flatFilter(treeData.value);
386
+ const parentList = [];
387
+ const childList = [];
388
+ flatResult.forEach((item) => item.leaf ? childList.push(item) : parentList.push(item));
389
+ const searchFilter = {
390
+ ...props.searchFilter
391
+ };
392
+ const customTitles = searchFilter.customTitles || [""];
393
+ const values = [childList, parentList];
394
+ searchData.value = customTitles.map((title, i) => ({
395
+ title,
396
+ data: values[i] || []
397
+ })).filter((val) => val.data.length);
398
+ } else {
399
+ const {
400
+ itemKey,
401
+ hideLeaf
402
+ } = props;
403
+ const data = await props.queryTreeSearch(keyword.value);
404
+ const tempData = transformData(data || [], null, {
405
+ enter(node) {
406
+ node.key = itemKey ? itemKey(node.originItem) : node.key;
407
+ treeMap.set(node.key, node);
408
+ },
409
+ leave: hideLeaf ? (node) => {
410
+ var _a2;
411
+ if (!node.leaf && ((_a2 = node.children) == null ? void 0 : _a2.length)) {
412
+ const children = node.children.filter((val) => !val.leaf);
413
+ node.children = children.length ? children : void 0;
414
+ }
415
+ } : void 0
416
+ });
417
+ treeAsyncData.value = tempData.treeItems;
584
418
  }
585
419
  }
586
- function setCheckdWithParent(tree, checked) {
587
- checkedKeys.value = [];
420
+ function getAllKeys(tree, strategy) {
421
+ const keys = [];
422
+ const recursion = strategy != "parent";
588
423
  for (let i = 0, len = tree.length; i < len; i++) {
589
424
  const item = tree[i];
590
- if (!item.disabled && !item.tempTitle) {
591
- if (checked && !checkedKeys.value.includes(item.key)) {
592
- checkedKeys.value.push(item.key);
425
+ if (!item.disabled && item.key) {
426
+ if (!recursion || strategy == "all" || !item.children) {
427
+ keys.push(item.key);
593
428
  }
594
- if (!checked) {
595
- const keyIndex = checkedKeys.value.findIndex((key) => key === item.key);
596
- checkedKeys.value.splice(keyIndex, 1);
429
+ if (recursion && item.children) {
430
+ keys.push(...getAllKeys(item.children, strategy));
597
431
  }
598
432
  }
599
433
  }
434
+ return keys;
600
435
  }
601
- function setCheckdWithAll(tree, checked) {
436
+ function getParentKeys(node, map) {
602
437
  var _a;
603
- let newKeys = checkedKeys.value;
604
- for (let i = 0, len = tree.length; i < len; i++) {
605
- const item = tree[i];
606
- if (!item.disabled) {
607
- if (checked) {
608
- newKeys = union(newKeys, [item.key]);
609
- } else {
610
- remove(newKeys, (key) => [item.key].includes(key));
611
- }
612
- }
613
- if ((_a = item.children) == null ? void 0 : _a.length) {
614
- const flattenKeys = getFlattenKeys(item.children);
615
- if (checked) {
616
- newKeys = union(newKeys, flattenKeys);
617
- } else {
618
- remove(newKeys, (key) => flattenKeys.includes(key));
619
- }
620
- }
438
+ const parents = [];
439
+ let parentKey = node.parentKey;
440
+ while (parentKey) {
441
+ parents.push(parentKey);
442
+ parentKey = (_a = map.get(parentKey)) == null ? void 0 : _a.parentKey;
621
443
  }
622
- if (props.showSelectType) {
623
- const curType = curSelectKey.value;
624
- checkedKeys.value = checkedKeysMiddle[curType] = newKeys;
625
- return;
626
- } else {
627
- checkedKeys.value = newKeys;
444
+ return parents;
445
+ }
446
+ function getTopLevelCheckedKey(node, checked, map) {
447
+ const parent = map.get(node.parentKey);
448
+ if (parent) {
449
+ checked.add(node.key);
450
+ const children = parent.children || [];
451
+ const result = children.every((item) => item.disabled ? true : checked.has(item.key));
452
+ if (result) {
453
+ return getTopLevelCheckedKey(parent, checked, map);
454
+ }
628
455
  }
456
+ return node.key;
629
457
  }
630
458
  function checkedAllChange(checked) {
631
- setTreeCheckd(treeData.value, checked);
632
- }
633
- function setTagData(tree) {
634
- var _a;
635
- for (let i = 0, len = tree.length; i < len; i++) {
636
- const item = tree[i];
637
- const initTagKeys = initTagData.value.map((tag) => tag.key);
638
- checkedKeys.value.includes(item.key) && !initTagKeys.includes(item.key) && tagData.value.push({
639
- key: item.key,
640
- name: item.title,
641
- parentName: item.tempTitle,
642
- innerItemsNum: item.innerItemsNum,
643
- innerLeafs: item.innerLeafs,
644
- originItem: item
645
- });
646
- ((_a = item.children) == null ? void 0 : _a.length) && setTagData(item.children);
647
- }
459
+ checkedKeys.value = checked ? getAllKeys(treeData.value, checkStrategyResult.value) : [];
648
460
  }
649
461
  function getFlattenKeys(tree) {
650
462
  const arr = [];
@@ -677,105 +489,154 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
677
489
  }
678
490
  }
679
491
  }
680
- if (props.showSelectType) {
681
- const curType = curSelectKey.value;
682
- checkedKeys.value = checkedKeysMiddle[curType] = newKeys;
683
- return;
684
- } else {
685
- checkedKeys.value = newKeys;
686
- }
687
- }
688
- function setCheckedAll() {
689
- if (props.showSelectType) {
690
- checkedAll.value = allCheckedTreeKeys.value.every((key) => checkedKeys.value.findIndex((checkedKey) => checkedKey === key) > -1);
691
- return;
492
+ checkedKeys.value = newKeys;
493
+ if (!keys.length) {
494
+ checkedAll.value = false;
692
495
  }
693
- checkedAll.value = allCheckedTreeKeys.value.every((key) => tagData.value.findIndex((tag) => tag.key === key) > -1);
694
496
  }
695
497
  function clearAll() {
696
- Object.keys(checkedKeysMiddle).forEach((key) => {
697
- checkedKeysMiddle[key] = checkedTagsMiddle[key] = [];
698
- });
498
+ checkedAll.value = false;
699
499
  checkedKeys.value = [];
500
+ remoteDefaultList.value = [];
700
501
  }
701
- function closeTag(tag) {
702
- if (props.showSelectType) {
703
- const tagType = tag.itemType === SelectItemTypesConfig.PERSON ? "main" : tag.itemType;
704
- checkedKeysMiddle[tagType] = checkedKeysMiddle[tagType].filter((key) => key !== tag.key);
705
- checkedTagsMiddle[tagType] = initTagData.value.filter((tag2) => checkedKeysMiddle[tagType].includes(tag2.key));
706
- setSelectTagData(treeDataMiddle[tagType], tagType);
707
- if (curSelectKey.value == tagType)
708
- checkedKeys.value = checkedKeysMiddle[tagType];
502
+ function updateChecked(key, checked) {
503
+ if (isRemote.value) {
504
+ remoteDefaultList.value = remoteDefaultList.value.filter((item) => item.key !== key);
505
+ }
506
+ const node = treeMap.get(key);
507
+ if (!node)
709
508
  return;
509
+ if (!props.multiple) {
510
+ return updateTreeChecked(checked ? [key] : [], void 0, {
511
+ node,
512
+ action: checked ? "check" : "uncheck"
513
+ });
710
514
  }
711
- checkedKeys.value = checkedKeys.value.filter((key) => key !== tag.key);
712
- }
713
- function notifyCheck(keys) {
714
- checkedKeys.value = keys;
715
- }
716
- function notifySearchClear() {
717
- keyword.value = "";
718
- setTimeout(() => {
719
- onSearch();
515
+ const keys = checkedKeys.value;
516
+ const map = new Set(keys);
517
+ if (checked) {
518
+ const targetKey = getTopLevelCheckedKey(node, new Set(keys), treeMap);
519
+ const allKeys = getAllKeys([treeMap.get(targetKey)], "all");
520
+ if (checkStrategyResult.value === "all") {
521
+ allKeys.forEach((k) => map.add(k));
522
+ } else {
523
+ allKeys.forEach((k) => map.delete(k));
524
+ if (checkStrategyResult.value === "child") {
525
+ getAllKeys([treeMap.get(targetKey)], "child").forEach((k) => map.add(k));
526
+ } else {
527
+ map.add(targetKey);
528
+ }
529
+ }
530
+ } else {
531
+ getParentKeys(node, treeMap).forEach((k) => map.delete(k));
532
+ getAllKeys([treeMap.get(key)], "all").forEach((k) => map.delete(k));
533
+ }
534
+ updateTreeChecked(Array.from(map), void 0, {
535
+ node,
536
+ action: checked ? "check" : "uncheck"
720
537
  });
721
538
  }
722
- function getCheckWithLevel() {
723
- var _a;
724
- if (props.showSelectType) {
725
- return (_a = caculateTagData.value) != null ? _a : [];
539
+ function notifyCheck(key, isChecked = true) {
540
+ const node = treeMap.get(key);
541
+ if (!node)
542
+ return;
543
+ if (!isChecked) {
544
+ updateChecked(key, isChecked);
545
+ return;
726
546
  }
727
- const keys = checkedKeys.value;
728
- const checkResult = tagData.value.filter((tree) => {
729
- if (!props.uncheckableField)
730
- return keys.includes(tree.key);
731
- return keys.includes(tree.key) && !tree.originItem[props.uncheckableField];
732
- });
733
- return checkResult != null ? checkResult : [];
547
+ const has = checkedKeys.value.includes(key);
548
+ if (has) {
549
+ $message.info(`${node.label}\u5DF2\u88AB\u9009\u62E9`);
550
+ return;
551
+ }
552
+ if (node.disabled) {
553
+ $message.info(`${node.label}\u5DF2\u88AB\u7981\u7528`);
554
+ return;
555
+ }
556
+ const hasParent = props.multiple && getParentKeys(node, treeMap).find((key2) => checkedKeys.value.includes(key2));
557
+ if (hasParent) {
558
+ $message.info(`${node.label}\u5DF2\u5B58\u5728\u4E8E${treeMap.get(hasParent).label}\u4E2D`);
559
+ return;
560
+ }
561
+ if (!props.multiple) {
562
+ keyword.value = "";
563
+ checkSearchClear("");
564
+ }
565
+ updateChecked(key, isChecked);
566
+ }
567
+ function checkSearchClear(kw) {
568
+ if (!kw) {
569
+ isSearch.value = false;
570
+ }
571
+ }
572
+ function getCheckWithLevel(strategy, hideLeaf) {
573
+ const getCheckedKeys = (map2, strategy2) => {
574
+ const visited = /* @__PURE__ */ new Set();
575
+ const checked = new Set(checkedKeys.value);
576
+ const result = [];
577
+ checkedKeys.value.forEach((k) => {
578
+ const node = !visited.has(k) && map2.get(k);
579
+ if (node) {
580
+ const key = getTopLevelCheckedKey(node, checked, map2);
581
+ const target = !visited.has(key) && map2.get(key);
582
+ visited.add(key);
583
+ if (target)
584
+ result.push(...getAllKeys([target], strategy2));
585
+ }
586
+ });
587
+ return result;
588
+ };
589
+ const createMap = (hideLeaf2) => {
590
+ const itemKey = props.itemKey;
591
+ const result = /* @__PURE__ */ new Map();
592
+ transformData(props.data, null, {
593
+ enter(node) {
594
+ node.key = itemKey ? itemKey(node.originItem) : node.key;
595
+ result.set(node.key, node);
596
+ },
597
+ leave: hideLeaf2 ? (node) => {
598
+ var _a;
599
+ if (!node.leaf && ((_a = node.children) == null ? void 0 : _a.length)) {
600
+ const children = node.children.filter((val) => !val.leaf);
601
+ node.children = children.length ? children : void 0;
602
+ }
603
+ } : void 0
604
+ });
605
+ return result;
606
+ };
607
+ strategy = strategy || checkStrategyResult.value;
608
+ hideLeaf = hideLeaf != null ? hideLeaf : props.hideLeaf;
609
+ const same = hideLeaf === props.hideLeaf && strategy === checkStrategyResult.value;
610
+ const map = same ? treeMap : createMap(hideLeaf);
611
+ const keys = same ? checkedKeys.value : getCheckedKeys(map, strategy);
612
+ return keys.map((k) => {
613
+ const node = map.get(k);
614
+ const parent = node.parentKey ? map.get(node.parentKey) : void 0;
615
+ return {
616
+ ...node,
617
+ parentNode: parent
618
+ };
619
+ }).filter((tag) => !props.uncheckableField || props.uncheckableField && !tag.originItem[props.uncheckableField]);
734
620
  }
735
621
  function resetParams() {
736
622
  keyword.value = "";
737
623
  checkedAll.value = isSearch.value = false;
738
624
  checkedKeys.value = [];
739
625
  expandedKeys.value = [];
740
- treeData.value = [];
741
- tagData.value = [];
742
- initTagData.value = [];
743
- allCheckedTreeKeys.value = [];
626
+ treeData.value = treeAsyncData.value = [];
744
627
  }
745
628
  watch(() => props.data, (value) => {
746
629
  resetParams();
747
- init();
630
+ initTreeData();
748
631
  }, {
749
632
  immediate: true
750
633
  });
751
634
  watch(() => checkedKeys, (value) => {
752
- if (props.showSelectType) {
753
- const curType = curSelectKey.value;
754
- checkedTagsMiddle[curType] = initTagData.value.filter((tag) => value.value.includes(tag.key));
755
- setSelectTagData(treeDataMiddle[curType], curType);
756
- setCheckedAll();
757
- const checkTagKeys = caculateTagData.value.map((tag) => tag.key);
758
- emit("check", checkTagKeys);
759
- emit("checkWithLevel", caculateTagData.value);
760
- return;
761
- }
762
- tagData.value = initTagData.value.filter((tag) => value.value.includes(tag.key));
763
- setTagData(isRemote.value ? treeData.value : treeDataMiddle.temp);
764
- const checkResult = tagData.value.filter((tree) => {
765
- if (!props.uncheckableField)
766
- return value.value.includes(tree.key);
767
- return value.value.includes(tree.key) && !tree.originItem[props.uncheckableField];
768
- });
769
635
  emit("check", value.value);
770
- emit("checkWithLevel", checkResult);
636
+ emit("checkWithLevel", caculateTagData.value);
771
637
  }, {
772
638
  deep: true
773
639
  });
774
- watch(() => keyword.value, (searchValue) => {
775
- if (!searchValue) {
776
- notifySearchClear();
777
- }
778
- });
779
640
  expose({
780
641
  getCheckWithLevel
781
642
  });
@@ -785,78 +646,71 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
785
646
  class: "c-select-person"
786
647
  }, {
787
648
  default: withCtx(() => [createVNode(unref(NGi), null, {
788
- default: withCtx(() => [createVNode(unref(NSpace), {
789
- vertical: "",
790
- style: {
791
- "padding-right": "12px",
792
- "border-right": "1px solid #e8e8e8"
793
- }
794
- }, {
795
- default: withCtx(() => [createElementVNode("div", _hoisted_1, [createCommentVNode(" \u641C\u7D22\u5DE6\u4FA7\u8FC7\u6EE4\u7B5B\u9009\u63D2\u69FD "), renderSlot(_ctx.$slots, "filter"), createVNode(unref(NInputGroup), null, {
796
- default: withCtx(() => [createCommentVNode(" clearable "), createVNode(unref(NInput), {
797
- class: "search-input",
798
- value: keyword.value,
799
- "onUpdate:value": _cache[0] || (_cache[0] = ($event) => keyword.value = $event),
800
- placeholder: __props.searchPlaceholder,
801
- onKeyup: withKeys(onSearch, ["enter"])
802
- }, {
803
- suffix: withCtx(() => [keyword.value ? (openBlock(), createBlock(unref(NIcon), {
804
- key: 0,
805
- class: "search-clear",
806
- component: unref(CloseCircleSharp),
807
- size: "16",
808
- onClick: notifySearchClear
809
- }, null, 8, ["component"])) : createCommentVNode("v-if", true)]),
810
- _: 1
811
- }, 8, ["value", "placeholder", "onKeyup"]), createVNode(unref(NButton), {
812
- type: "primary",
813
- onClick: onSearch
814
- }, {
815
- default: withCtx(() => [createTextVNode(toDisplayString(__props.searchButtonText), 1)]),
816
- _: 1
817
- })]),
818
- _: 1
819
- })]), __props.showSelectType ? (openBlock(), createElementBlock("div", _hoisted_2, [(openBlock(), createElementBlock(Fragment, null, renderList(labelList, (item) => {
820
- return createVNode(unref(NTag), {
821
- round: "",
822
- checkable: "",
823
- checked: curSelectKey.value === item.key,
824
- key: item.key,
825
- "onUpdate:checked": ($event) => onHandleLabelChange(item)
826
- }, {
827
- default: withCtx(() => [createTextVNode(toDisplayString(item.label), 1)]),
828
- _: 2
829
- }, 1032, ["checked", "onUpdate:checked"]);
830
- }), 64))])) : createCommentVNode("v-if", true), __props.multiple && !isSearch.value ? withDirectives((openBlock(), createBlock(unref(NCheckbox), {
831
- key: 1,
832
- checked: checkedAll.value,
833
- "onUpdate:checked": [_cache[1] || (_cache[1] = ($event) => checkedAll.value = $event), checkedAllChange]
649
+ default: withCtx(() => [createElementVNode("div", {
650
+ class: "c-select-person__container",
651
+ style: normalizeStyle(`padding-right: 12px;border-right: 1px solid #e8e8e8;height: ${__props.height}`)
652
+ }, [createElementVNode("div", _hoisted_1, [createCommentVNode(" \u641C\u7D22\u5DE6\u4FA7\u8FC7\u6EE4\u7B5B\u9009\u63D2\u69FD "), renderSlot(_ctx.$slots, "filter"), createVNode(unref(NInputGroup), null, {
653
+ default: withCtx(() => [createVNode(unref(NInput), {
654
+ class: "search-input",
655
+ clearable: "",
656
+ value: keyword.value,
657
+ "onUpdate:value": [_cache[0] || (_cache[0] = ($event) => keyword.value = $event), checkSearchClear],
658
+ placeholder: __props.searchPlaceholder,
659
+ onKeyup: withKeys(onSearch, ["enter"])
660
+ }, null, 8, ["value", "placeholder", "onKeyup"]), createVNode(unref(NButton), {
661
+ type: "primary",
662
+ onClick: onSearch
834
663
  }, {
835
- default: withCtx(() => [createTextVNode(function() {
836
- var _a, _b, _c;
837
- try {
838
- return ((_a = window.getLanguageByCode) == null ? void 0 : _a.call(window, "10010.1.37")) || ((_c = (_b = window.top) == null ? void 0 : _b.getLanguageByCode) == null ? void 0 : _c.call(_b, "10010.1.37")) || "\u5168\u9009";
839
- } catch (e) {
840
- return "\u5168\u9009";
841
- }
842
- }())]),
664
+ default: withCtx(() => [createTextVNode(toDisplayString(__props.searchButtonText), 1)]),
843
665
  _: 1
844
- }, 8, ["checked"])), [[vShow, __props.forceShowSelectAll || allCheckedTreeKeys.value.length < 1e3]]) : createCommentVNode("v-if", true), createCommentVNode(" \u652F\u6301\u9009\u4EBA "), __props.searchInner && __props.multiple && isSearch.value && unref(checkStrategyResult) === "parent" ? (openBlock(), createBlock(SearchMultiple, {
845
- key: 2,
846
- treeData: treeData.value,
847
- checkedKeys: checkedKeys.value,
848
- onNotifyCheck: notifyCheck
849
- }, null, 8, ["treeData", "checkedKeys"])) : unref(isSearchFilter) && isSearch.value && unref(checkStrategyResult) === "parent" ? (openBlock(), createElementBlock(Fragment, {
850
- key: 3
851
- }, [createCommentVNode(" \u540C\u65F6\u517C\u5BB9\u9009\u4EBA\u548C\u9009\u90E8\u95E8 "), createCommentVNode(` v-else-if="isSearchFilter && multiple && isSearch && checkStrategyResult === 'parent'" `), createVNode(SearchOrgAndStaff, {
852
- treeData: treeData.value,
853
- checkedKeys: checkedKeys.value,
854
- searchFilter: unref(mergeSearchFilter),
855
- isMultiple: __props.multiple,
856
- onNotifyCheck: notifyCheck,
857
- onNotifyClear: notifySearchClear
858
- }, null, 8, ["treeData", "checkedKeys", "searchFilter", "isMultiple"])], 2112)) : (openBlock(), createElementBlock("div", _hoisted_3, [treeData.value.length === 0 ? (openBlock(), createBlock(unref(NEmpty), {
859
- key: 0,
666
+ })]),
667
+ _: 1
668
+ })]), __props.multiple && !isSearch.value && unref(treeData).length > 0 ? withDirectives((openBlock(), createBlock(unref(NCheckbox), {
669
+ key: 0,
670
+ checked: checkedAll.value,
671
+ "onUpdate:checked": [_cache[1] || (_cache[1] = ($event) => checkedAll.value = $event), checkedAllChange]
672
+ }, {
673
+ default: withCtx(() => [createTextVNode(function() {
674
+ var _a, _b, _c;
675
+ try {
676
+ return ((_a = window.getLanguageByCode) == null ? void 0 : _a.call(window, "10010.1.37")) || ((_c = (_b = window.top) == null ? void 0 : _b.getLanguageByCode) == null ? void 0 : _c.call(_b, "10010.1.37")) || "\u5168\u9009";
677
+ } catch (e) {
678
+ return "\u5168\u9009";
679
+ }
680
+ }())]),
681
+ _: 1
682
+ }, 8, ["checked"])), [[vShow, __props.forceShowSelectAll]]) : createCommentVNode("v-if", true), createCommentVNode(" \u540C\u65F6\u517C\u5BB9\u9009\u4EBA\u548C\u9009\u90E8\u95E8 "), isSearch.value && unref(isShowGroupList) ? (openBlock(), createBlock(SearchGroupList, {
683
+ key: 1,
684
+ class: "c-select-person__hide",
685
+ type: unref(showType),
686
+ data: unref(searchData),
687
+ showTagHover: __props.showTagHover,
688
+ getChildren,
689
+ onChecked: notifyCheck
690
+ }, null, 8, ["type", "data", "showTagHover"])) : (openBlock(), createElementBlock("div", _hoisted_2, [createVNode(unref(NTree), mergeProps({
691
+ "expanded-keys": expandedKeys.value,
692
+ "onUpdate:expanded-keys": _cache[2] || (_cache[2] = ($event) => expandedKeys.value = $event),
693
+ "selected-keys": checkedKeys.value,
694
+ "onUpdate:selected-keys": _cache[3] || (_cache[3] = ($event) => checkedKeys.value = $event),
695
+ style: {
696
+ "height": "100%"
697
+ },
698
+ "checked-keys": checkedKeys.value,
699
+ checkable: __props.multiple,
700
+ selectable: !__props.multiple,
701
+ data: unref(renderTreeData),
702
+ "render-label": renderLabel,
703
+ "virtual-scroll": "",
704
+ cascade: !__props.onlyForwardCascade,
705
+ "allow-checking-not-loaded": "",
706
+ "check-strategy": "child"
707
+ }, __props.treeSetting, {
708
+ class: "c-select-person__scroll",
709
+ "onUpdate:checkedKeys": updateTreeChecked,
710
+ onLoad: queryLoadChildNode
711
+ }), {
712
+ empty: withCtx(() => [createVNode(unref(DefaultPage), {
713
+ type: "16",
860
714
  description: function() {
861
715
  var _a, _b, _c;
862
716
  try {
@@ -865,72 +719,64 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
865
719
  return "\u6682\u65E0\u6570\u636E";
866
720
  }
867
721
  }()
868
- })) : (openBlock(), createBlock(unref(NTree), mergeProps({
869
- key: 1,
870
- "virtual-scroll": "",
871
- class: "c-select-person__scroll",
872
- "checked-keys": checkedKeys.value,
873
- "expanded-keys": expandedKeys.value,
874
- "onUpdate:expanded-keys": _cache[2] || (_cache[2] = ($event) => expandedKeys.value = $event),
875
- checkable: __props.multiple,
876
- cascade: !__props.onlyForwardCascade,
877
- "allow-checking-not-loaded": "",
878
- selectable: !__props.multiple,
879
- "selected-keys": checkedKeys.value,
880
- "onUpdate:selected-keys": _cache[3] || (_cache[3] = ($event) => checkedKeys.value = $event),
881
- data: treeData.value,
882
- "check-strategy": "child",
883
- "render-label": renderLabel
884
- }, __props.treeSetting, {
885
- "onUpdate:checkedKeys": updateTreeChecked,
886
- onLoad: queryLoadChildNode
887
- }), null, 16, ["checked-keys", "expanded-keys", "checkable", "cascade", "selectable", "selected-keys", "data"]))]))]),
888
- _: 3
889
- })]),
722
+ })]),
723
+ _: 1
724
+ }, 16, ["expanded-keys", "selected-keys", "checked-keys", "checkable", "selectable", "data", "cascade"])]))], 4)]),
890
725
  _: 3
891
726
  }), createVNode(unref(NGi), null, {
892
- default: withCtx(() => [createVNode(unref(NSpace), {
893
- vertical: "",
727
+ default: withCtx(() => [createElementVNode("div", {
728
+ class: "c-select-person__container",
729
+ style: normalizeStyle(`padding-left: 12px;height:${__props.height}`)
730
+ }, [createVNode(unref(NSpace), {
731
+ justify: "space-between",
894
732
  style: {
895
- "padding-left": "12px"
733
+ "margin-bottom": "20px"
896
734
  }
897
735
  }, {
898
- default: withCtx(() => [createVNode(unref(NSpace), {
899
- justify: "space-between",
900
- style: {
901
- "margin-bottom": "20px"
736
+ default: withCtx(() => [__props.showCount ? (openBlock(), createElementBlock("span", _hoisted_3, "\u5DF2\u9009\u62E9\uFF1A" + toDisplayString(unref(caculateTagData).length), 1)) : createCommentVNode("v-if", true), __props.showClear ? (openBlock(), createElementBlock("span", {
737
+ key: 1,
738
+ class: "c-select-person__clear-btn",
739
+ onClick: clearAll
740
+ }, function() {
741
+ var _a, _b, _c;
742
+ try {
743
+ return ((_a = window.getLanguageByCode) == null ? void 0 : _a.call(window, "10010.1.509")) || ((_c = (_b = window.top) == null ? void 0 : _b.getLanguageByCode) == null ? void 0 : _c.call(_b, "10010.1.509")) || "\u6E05\u7A7A";
744
+ } catch (e) {
745
+ return "\u6E05\u7A7A";
902
746
  }
747
+ }())) : createCommentVNode("v-if", true)]),
748
+ _: 1
749
+ }), createElementVNode("div", _hoisted_4, [(openBlock(true), createElementBlock(Fragment, null, renderList(unref(caculateTagData), (tag) => {
750
+ return openBlock(), createElementBlock(Fragment, {
751
+ key: tag.key
752
+ }, [__props.showTagHover && tag.innerItemsNum > 0 ? (openBlock(), createBlock(unref(NPopover), {
753
+ key: 0,
754
+ trigger: "hover"
903
755
  }, {
904
- default: withCtx(() => [__props.showCount ? (openBlock(), createElementBlock("span", _hoisted_4, "\u5DF2\u9009\u62E9\uFF1A" + toDisplayString(unref(caculateTagData).length), 1)) : createCommentVNode("v-if", true), __props.showClear ? (openBlock(), createElementBlock("span", {
905
- key: 1,
906
- class: "c-select-person__clear-btn",
907
- onClick: clearAll
908
- }, function() {
909
- var _a, _b, _c;
910
- try {
911
- return ((_a = window.getLanguageByCode) == null ? void 0 : _a.call(window, "10010.1.509")) || ((_c = (_b = window.top) == null ? void 0 : _b.getLanguageByCode) == null ? void 0 : _c.call(_b, "10010.1.509")) || "\u6E05\u7A7A";
912
- } catch (e) {
913
- return "\u6E05\u7A7A";
914
- }
915
- }())) : createCommentVNode("v-if", true)]),
916
- _: 1
917
- }), createElementVNode("div", {
918
- class: "c-select-person__scroll",
919
- style: normalizeStyle(unref(styleObject))
920
- }, [(openBlock(true), createElementBlock(Fragment, null, renderList(unref(caculateTagData), (tag) => {
921
- return openBlock(), createElementBlock("span", {
922
- class: "c-select-person__tag-item",
923
- key: tag.key
924
- }, [createCommentVNode(" \u6807\u7B7E\u63D2\u69FD "), renderSlot(_ctx.$slots, "tag", {
925
- tag
926
- }, () => [createTextVNode(toDisplayString(tag.name) + " " + toDisplayString(tag.parentName ? `(${tag.parentName})` : "") + " " + toDisplayString(tag.innerItemsNum ? `(${tag.innerItemsNum}\u4EBA)` : "") + " " + toDisplayString(__props.showSelectType && labelListName[tag.itemType] ? `(${labelListName[tag.itemType]})` : ""), 1)]), createVNode(unref(NIcon), {
927
- class: "tag-close",
928
- component: unref(CloseCircleSharp),
929
- onClick: ($event) => closeTag(tag)
930
- }, null, 8, ["component", "onClick"])]);
931
- }), 128))], 4)]),
932
- _: 3
933
- })]),
756
+ trigger: withCtx(() => [createVNode(TagItem, {
757
+ tag,
758
+ onUnchecked: updateChecked
759
+ }, {
760
+ tag: withCtx((filterProps) => [renderSlot(_ctx.$slots, "tag", normalizeProps(guardReactiveProps(filterProps)))]),
761
+ _: 2
762
+ }, 1032, ["tag"])]),
763
+ default: withCtx(() => [createElementVNode("div", _hoisted_5, [(openBlock(true), createElementBlock(Fragment, null, renderList(getChildren(tag), (childTag) => {
764
+ return openBlock(), createBlock(TagItem, {
765
+ key: childTag.key,
766
+ tag: childTag,
767
+ showClose: false
768
+ }, null, 8, ["tag"]);
769
+ }), 128))])]),
770
+ _: 2
771
+ }, 1024)) : (openBlock(), createBlock(TagItem, {
772
+ key: 1,
773
+ tag,
774
+ onUnchecked: updateChecked
775
+ }, {
776
+ tag: withCtx((filterProps) => [renderSlot(_ctx.$slots, "tag", normalizeProps(guardReactiveProps(filterProps)))]),
777
+ _: 2
778
+ }, 1032, ["tag"]))], 64);
779
+ }), 128))])], 4)]),
934
780
  _: 3
935
781
  })]),
936
782
  _: 3