cnhis-design-vue 3.2.4-beta.2 → 3.2.4-beta.21

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 (344) hide show
  1. package/README.md +87 -87
  2. package/es/components/biunique-chat/index.d.ts +84 -23
  3. package/es/components/biunique-chat/src/Index.vue.d.ts +84 -23
  4. package/es/components/biunique-chat/src/Index.vue2.js +1 -1
  5. package/es/components/biunique-chat/src/api/index.d.ts +2 -0
  6. package/es/components/biunique-chat/src/api/index.js +1 -1
  7. package/es/components/biunique-chat/src/components/ChatFile.vue.d.ts +26 -8
  8. package/es/components/biunique-chat/src/components/ChatFile.vue2.js +1 -1
  9. package/es/components/biunique-chat/src/components/ChatFooter.vue2.js +1 -1
  10. package/es/components/biunique-chat/src/components/ChatHeader.vue.d.ts +76 -18
  11. package/es/components/biunique-chat/src/components/ChatHeader.vue2.js +1 -1
  12. package/es/components/biunique-chat/src/components/ChatMain.vue.d.ts +4 -2
  13. package/es/components/biunique-chat/src/components/ChatMain.vue2.js +1 -1
  14. package/es/components/biunique-chat/src/components/ChatRecord.vue.d.ts +50 -8
  15. package/es/components/biunique-chat/src/components/ChatRecord.vue2.js +1 -1
  16. package/es/components/biunique-chat/src/components/ChatSearch.vue.d.ts +3 -1
  17. package/es/components/biunique-chat/src/components/ChatSearch.vue2.js +1 -1
  18. package/es/components/biunique-chat/src/components/ChatSet.vue.d.ts +1 -1
  19. package/es/components/biunique-chat/src/components/ChatSet.vue2.js +1 -1
  20. package/es/components/biunique-chat/src/components/MessageTemplate.vue2.js +1 -1
  21. package/es/components/biunique-chat/src/components/PersonProfile.vue.d.ts +1 -1
  22. package/es/components/biunique-chat/src/components/SiderList.vue.d.ts +1 -1
  23. package/es/components/biunique-chat/src/components/SiderList.vue2.js +1 -1
  24. package/es/components/biunique-chat/src/hooks/useScrollLoading.d.ts +1 -1
  25. package/es/components/biunique-chat/src/hooks/useScrollLoading.js +1 -1
  26. package/es/components/biunique-chat/src/hooks/useSession.d.ts +1 -1
  27. package/es/components/biunique-chat/src/hooks/useSession.js +1 -1
  28. package/es/components/biunique-chat/src/utils/index.d.ts +1 -0
  29. package/es/components/biunique-chat/src/utils/index.js +1 -1
  30. package/es/components/biunique-chat/style/index.css +1 -1
  31. package/es/components/callback/src/components/render/popupMaps.d.ts +20 -0
  32. package/es/components/card-reader-sdk/src/cardReaderSDK.js +1 -1
  33. package/es/components/card-reader-sdk/src/constants/index.d.ts +92 -0
  34. package/es/components/card-reader-sdk/src/constants/index.js +1 -1
  35. package/es/components/classification/src/components/table-modal/index.vue.d.ts +3 -0
  36. package/es/components/classification/src/index.vue.d.ts +3 -3
  37. package/es/components/date-picker/src/DatePicker.vue2.js +1 -1
  38. package/es/components/default-page/index.d.ts +0 -1
  39. package/es/components/default-page/src/constants/index.d.ts +4 -0
  40. package/es/components/default-page/src/constants/index.js +1 -1
  41. package/es/components/default-page/src/index.vue.d.ts +0 -1
  42. package/es/components/default-page/src/index.vue2.js +1 -1
  43. package/es/components/default-page/style/index.css +1 -1
  44. package/es/components/field-set/src/FieldColor.vue.d.ts +2 -2
  45. package/es/components/field-set/src/FieldSet.vue.d.ts +1 -1
  46. package/es/components/field-set/src/components/Row.vue.d.ts +1 -1
  47. package/es/components/field-set/src/components/edit-dialog.vue.d.ts +1 -1
  48. package/es/components/form-config/index.d.ts +59 -0
  49. package/es/components/form-config/src/FormConfig.vue.d.ts +59 -0
  50. package/es/components/form-config/src/components/FormConfigCreator.vue.d.ts +20 -0
  51. package/es/components/form-config/src/components/FormConfigEdit.vue.d.ts +29 -0
  52. package/es/components/form-render/index.d.ts +20 -0
  53. package/es/components/form-render/index.js +1 -1
  54. package/es/components/form-render/src/FormRender.vue.d.ts +20 -0
  55. package/es/components/form-render/src/FormRender.vue2.js +1 -1
  56. package/es/components/form-render/src/FormRenderWrapper.vue.d.ts +20 -0
  57. package/es/components/form-render/src/components/renderer/formItem.d.ts +14 -0
  58. package/es/components/form-render/src/components/renderer/formItem.js +1 -1
  59. package/es/components/form-render/src/components/renderer/lineBar/FormCollapse.vue.d.ts +2 -0
  60. package/es/components/form-render/src/components/renderer/lineBar/index.d.ts +2 -0
  61. package/es/components/form-render/src/constants/index.d.ts +2 -1
  62. package/es/components/form-render/src/constants/index.js +1 -1
  63. package/es/components/form-render/src/hooks/useComplexOptions.js +1 -1
  64. package/es/components/form-render/src/hooks/useFieldListAdaptor.js +1 -1
  65. package/es/components/form-render/src/hooks/useFieldNormalize.d.ts +4 -0
  66. package/es/components/form-render/src/hooks/useFieldNormalize.js +1 -1
  67. package/es/components/form-render/src/types/fieldItem.d.ts +1 -0
  68. package/es/components/form-render/src/types/index.d.ts +2 -0
  69. package/es/components/form-render/src/utils/dom.js +1 -1
  70. package/es/components/form-render/src/utils/schema.d.ts +1 -0
  71. package/es/components/form-render/src/utils/schema.js +1 -1
  72. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/dateRendererPlugin/editDate.vue2.js +1 -1
  73. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/selectRendererPlugin/index.js +1 -1
  74. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/separateRendererPlugin/index.js +1 -1
  75. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/separateRendererPlugin/separateUtils.js +1 -1
  76. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/timeRendererPlugin/editTime.vue.d.ts +1 -0
  77. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/timeRendererPlugin/editTime.vue2.js +1 -1
  78. package/es/components/iho-table/src/plugins/rendererPlugins/widgets/seqRendererPlugin.js +1 -1
  79. package/es/components/iho-table/src/plugins/rowDragPlugin.js +1 -1
  80. package/es/components/iho-table/src/types/index.d.ts +2 -0
  81. package/es/components/index.css +1 -1
  82. package/es/components/index.d.ts +2 -1
  83. package/es/components/index.js +1 -1
  84. package/es/components/info-header/index.d.ts +50 -0
  85. package/es/components/info-header/src/InfoHeader.vue.d.ts +50 -0
  86. package/es/components/info-header/src/components/infoDescription/DescriptionItem.vue.d.ts +2 -0
  87. package/es/components/info-header/src/components/infoDescription/DescriptionList.vue.d.ts +2 -0
  88. package/es/components/info-header/src/components/infoDescription/index.vue.d.ts +22 -0
  89. package/es/components/info-header/src/components/patientInfo/index.vue.d.ts +20 -0
  90. package/es/components/scale-view/src/ScaleView.vue2.js +1 -1
  91. package/es/components/search-cascader/src/SearchCascader.vue2.js +1 -1
  92. package/es/components/select-label/src/LabelFormContent.vue2.js +1 -1
  93. package/es/components/select-person/src/SearchMultiple.vue.d.ts +6 -0
  94. package/es/components/shortcut-setter/index.d.ts +21 -0
  95. package/es/components/shortcut-setter/src/ShortcutSetter.vue.d.ts +21 -0
  96. package/es/components/tooth-bitmap/index.d.ts +42 -0
  97. package/es/components/tooth-bitmap/index.js +1 -0
  98. package/es/components/tooth-bitmap/src/ToothBitmap.vue.d.ts +42 -0
  99. package/es/components/tooth-bitmap/src/ToothBitmap.vue.js +1 -0
  100. package/es/components/tooth-bitmap/src/ToothBitmap.vue2.js +1 -0
  101. package/es/components/tooth-bitmap/style/index.css +1 -0
  102. package/es/env.d.ts +25 -25
  103. package/es/shared/assets/img/defaultCover/10review_successful.png.js +1 -1
  104. package/es/shared/assets/img/defaultCover/11review_fail.png.js +1 -1
  105. package/es/shared/assets/img/defaultCover/12no_setting.png.js +1 -1
  106. package/es/shared/assets/img/defaultCover/13no_menu_setting.png.js +1 -0
  107. package/es/shared/assets/img/defaultCover/14no_call_setting.png.js +1 -0
  108. package/es/shared/assets/img/defaultCover/15no_use_tag.png.js +1 -0
  109. package/es/shared/assets/img/defaultCover/16no_table_data.png.js +1 -0
  110. package/es/shared/assets/img/defaultCover/1location.png.js +1 -1
  111. package/es/shared/assets/img/defaultCover/2notfound.png.js +1 -1
  112. package/es/shared/assets/img/defaultCover/3loading.png.js +1 -1
  113. package/es/shared/assets/img/defaultCover/4no_permission.png.js +1 -1
  114. package/es/shared/assets/img/defaultCover/5no_data.png.js +1 -1
  115. package/es/shared/assets/img/defaultCover/6no_network.png.js +1 -1
  116. package/es/shared/assets/img/defaultCover/7no_doctor.png.js +1 -1
  117. package/es/shared/assets/img/defaultCover/8system_error.png.js +1 -1
  118. package/es/shared/assets/img/defaultCover/9system_upgrade.png.js +1 -1
  119. package/es/shared/assets/img/emoji/emotion_001.png.js +1 -1
  120. package/es/shared/assets/img/emoji/emotion_002.png.js +1 -1
  121. package/es/shared/assets/img/emoji/emotion_003.png.js +1 -1
  122. package/es/shared/assets/img/emoji/emotion_004.png.js +1 -1
  123. package/es/shared/assets/img/emoji/emotion_005.png.js +1 -1
  124. package/es/shared/assets/img/emoji/emotion_006.png.js +1 -1
  125. package/es/shared/assets/img/emoji/emotion_007.png.js +1 -1
  126. package/es/shared/assets/img/emoji/emotion_008.png.js +1 -1
  127. package/es/shared/assets/img/emoji/emotion_009.png.js +1 -1
  128. package/es/shared/assets/img/emoji/emotion_010.png.js +1 -1
  129. package/es/shared/assets/img/emoji/emotion_011.png.js +1 -1
  130. package/es/shared/assets/img/emoji/emotion_012.png.js +1 -1
  131. package/es/shared/assets/img/emoji/emotion_013.png.js +1 -1
  132. package/es/shared/assets/img/emoji/emotion_014.png.js +1 -1
  133. package/es/shared/assets/img/emoji/emotion_015.png.js +1 -1
  134. package/es/shared/assets/img/emoji/emotion_016.png.js +1 -1
  135. package/es/shared/assets/img/emoji/emotion_017.png.js +1 -1
  136. package/es/shared/assets/img/emoji/emotion_018.png.js +1 -1
  137. package/es/shared/assets/img/emoji/emotion_019.png.js +1 -1
  138. package/es/shared/assets/img/emoji/emotion_020.png.js +1 -1
  139. package/es/shared/assets/img/emoji/emotion_021.png.js +1 -1
  140. package/es/shared/assets/img/emoji/emotion_022.png.js +1 -1
  141. package/es/shared/assets/img/emoji/emotion_023.png.js +1 -1
  142. package/es/shared/assets/img/emoji/emotion_024.png.js +1 -1
  143. package/es/shared/assets/img/emoji/emotion_025.png.js +1 -1
  144. package/es/shared/assets/img/emoji/emotion_026.png.js +1 -1
  145. package/es/shared/assets/img/emoji/emotion_027.png.js +1 -1
  146. package/es/shared/assets/img/emoji/emotion_028.png.js +1 -1
  147. package/es/shared/assets/img/emoji/emotion_029.png.js +1 -1
  148. package/es/shared/assets/img/emoji/emotion_030.png.js +1 -1
  149. package/es/shared/assets/img/emoji/emotion_031.png.js +1 -1
  150. package/es/shared/assets/img/emoji/emotion_032.png.js +1 -1
  151. package/es/shared/assets/img/emoji/emotion_033.png.js +1 -1
  152. package/es/shared/assets/img/emoji/emotion_034.png.js +1 -1
  153. package/es/shared/assets/img/emoji/emotion_035.png.js +1 -1
  154. package/es/shared/assets/img/emoji/emotion_036.png.js +1 -1
  155. package/es/shared/assets/img/emoji/emotion_037.png.js +1 -1
  156. package/es/shared/assets/img/emoji/emotion_038.png.js +1 -1
  157. package/es/shared/assets/img/emoji/emotion_039.png.js +1 -1
  158. package/es/shared/assets/img/emoji/emotion_040.png.js +1 -1
  159. package/es/shared/assets/img/emoji/emotion_041.png.js +1 -1
  160. package/es/shared/assets/img/emoji/emotion_042.png.js +1 -1
  161. package/es/shared/assets/img/emoji/emotion_043.png.js +1 -1
  162. package/es/shared/assets/img/emoji/emotion_044.png.js +1 -1
  163. package/es/shared/assets/img/emoji/emotion_045.png.js +1 -1
  164. package/es/shared/assets/img/emoji/emotion_046.png.js +1 -1
  165. package/es/shared/assets/img/emoji/emotion_047.png.js +1 -1
  166. package/es/shared/assets/img/emoji/emotion_048.png.js +1 -1
  167. package/es/shared/assets/img/emoji/emotion_049.png.js +1 -1
  168. package/es/shared/assets/img/emoji/emotion_050.png.js +1 -1
  169. package/es/shared/assets/img/emoji/emotion_051.png.js +1 -1
  170. package/es/shared/assets/img/emoji/emotion_052.png.js +1 -1
  171. package/es/shared/assets/img/emoji/emotion_053.png.js +1 -1
  172. package/es/shared/assets/img/emoji/emotion_054.png.js +1 -1
  173. package/es/shared/assets/img/emoji/emotion_055.png.js +1 -1
  174. package/es/shared/assets/img/emoji/emotion_056.png.js +1 -1
  175. package/es/shared/assets/img/emoji/emotion_057.png.js +1 -1
  176. package/es/shared/assets/img/emoji/emotion_058.png.js +1 -1
  177. package/es/shared/assets/img/emoji/emotion_059.png.js +1 -1
  178. package/es/shared/assets/img/emoji/emotion_060.png.js +1 -1
  179. package/es/shared/assets/img/emoji/emotion_061.png.js +1 -1
  180. package/es/shared/assets/img/emoji/emotion_062.png.js +1 -1
  181. package/es/shared/assets/img/emoji/emotion_063.png.js +1 -1
  182. package/es/shared/assets/img/emoji/emotion_064.png.js +1 -1
  183. package/es/shared/assets/img/emoji/emotion_065.png.js +1 -1
  184. package/es/shared/assets/img/emoji/emotion_066.png.js +1 -1
  185. package/es/shared/assets/img/emoji/emotion_067.png.js +1 -1
  186. package/es/shared/assets/img/emoji/emotion_068.png.js +1 -1
  187. package/es/shared/assets/img/emoji/emotion_069.png.js +1 -1
  188. package/es/shared/assets/img/emoji/emotion_070.png.js +1 -1
  189. package/es/shared/assets/img/emoji/emotion_071.png.js +1 -1
  190. package/es/shared/assets/img/emoji/emotion_072.png.js +1 -1
  191. package/es/shared/assets/img/emoji/emotion_073.png.js +1 -1
  192. package/es/shared/assets/img/emoji/emotion_074.png.js +1 -1
  193. package/es/shared/assets/img/emoji/emotion_075.png.js +1 -1
  194. package/es/shared/assets/img/emoji/emotion_076.png.js +1 -1
  195. package/es/shared/assets/img/emoji/emotion_077.png.js +1 -1
  196. package/es/shared/assets/img/emoji/emotion_078.png.js +1 -1
  197. package/es/shared/assets/img/emoji/emotion_079.png.js +1 -1
  198. package/es/shared/assets/img/emoji/emotion_080.png.js +1 -1
  199. package/es/shared/assets/img/emoji/emotion_081.png.js +1 -1
  200. package/es/shared/assets/img/emoji/emotion_082.png.js +1 -1
  201. package/es/shared/assets/img/emoji/emotion_083.png.js +1 -1
  202. package/es/shared/assets/img/emoji/emotion_084.png.js +1 -1
  203. package/es/shared/assets/img/emoji/emotion_085.png.js +1 -1
  204. package/es/shared/assets/img/emoji/emotion_086.png.js +1 -1
  205. package/es/shared/assets/img/emoji/emotion_087.png.js +1 -1
  206. package/es/shared/assets/img/emoji/emotion_088.png.js +1 -1
  207. package/es/shared/assets/img/emoji/emotion_089.png.js +1 -1
  208. package/es/shared/assets/img/emoji/emotion_090.png.js +1 -1
  209. package/es/shared/assets/img/emoji/emotion_091.png.js +1 -1
  210. package/es/shared/assets/img/emoji/emotion_092.png.js +1 -1
  211. package/es/shared/assets/img/emoji/emotion_093.png.js +1 -1
  212. package/es/shared/assets/img/emoji/emotion_094.png.js +1 -1
  213. package/es/shared/assets/img/emoji/emotion_095.png.js +1 -1
  214. package/es/shared/assets/img/emoji/emotion_096.png.js +1 -1
  215. package/es/shared/assets/img/emoji/emotion_097.png.js +1 -1
  216. package/es/shared/assets/img/emoji/emotion_098.png.js +1 -1
  217. package/es/shared/assets/img/emoji/emotion_099.png.js +1 -1
  218. package/es/shared/assets/img/emoji/emotion_100.png.js +1 -1
  219. package/es/shared/assets/img/emoji/emotion_101.png.js +1 -1
  220. package/es/shared/assets/img/emoji/emotion_102.png.js +1 -1
  221. package/es/shared/assets/img/emoji/emotion_103.png.js +1 -1
  222. package/es/shared/assets/img/emoji/emotion_104.png.js +1 -1
  223. package/es/shared/assets/img/emoji/emotion_105.png.js +1 -1
  224. package/es/shared/assets/img/emoji/emotion_106.png.js +1 -1
  225. package/es/shared/assets/img/emoji/emotion_107.png.js +1 -1
  226. package/es/shared/assets/img/emoji/emotion_108.png.js +1 -1
  227. package/es/shared/assets/img/emoji/emotion_109.png.js +1 -1
  228. package/es/shared/assets/img/emoji/emotion_110.png.js +1 -1
  229. package/es/shared/assets/img/emoji/emotion_111.png.js +1 -1
  230. package/es/shared/assets/img/emoji/emotion_112.png.js +1 -1
  231. package/es/shared/assets/img/emoji/emotion_113.png.js +1 -1
  232. package/es/shared/assets/img/emoji/emotion_114.png.js +1 -1
  233. package/es/shared/assets/img/emoji/emotion_115.png.js +1 -1
  234. package/es/shared/assets/img/emoji/emotion_116.png.js +1 -1
  235. package/es/shared/assets/img/emoji/emotion_117.png.js +1 -1
  236. package/es/shared/assets/img/emoji/emotion_118.png.js +1 -1
  237. package/es/shared/assets/img/emoji/emotion_119.png.js +1 -1
  238. package/es/shared/assets/img/emoji/emotion_120.png.js +1 -1
  239. package/es/shared/assets/img/emoji/emotion_121.png.js +1 -1
  240. package/es/shared/assets/img/emoji/emotion_122.png.js +1 -1
  241. package/es/shared/assets/img/emoji/emotion_123.png.js +1 -1
  242. package/es/shared/assets/img/emoji/emotion_124.png.js +1 -1
  243. package/es/shared/assets/img/emoji/emotion_125.png.js +1 -1
  244. package/es/shared/assets/img/emoji/emotion_126.png.js +1 -1
  245. package/es/shared/assets/img/emoji/emotion_127.png.js +1 -1
  246. package/es/shared/assets/img/emoji/emotion_128.png.js +1 -1
  247. package/es/shared/assets/img/emoji/emotion_129.png.js +1 -1
  248. package/es/shared/assets/img/emoji/emotion_130.png.js +1 -1
  249. package/es/shared/assets/img/emoji/emotion_131.png.js +1 -1
  250. package/es/shared/assets/img/emoji/emotion_132.png.js +1 -1
  251. package/es/shared/assets/img/emoji/emotion_133.png.js +1 -1
  252. package/es/shared/assets/img/emoji/emotion_134.png.js +1 -1
  253. package/es/shared/assets/img/emoji/emotion_135.png.js +1 -1
  254. package/es/shared/assets/img/emoji/emotion_136.png.js +1 -1
  255. package/es/shared/assets/img/emoji/emotion_137.png.js +1 -1
  256. package/es/shared/assets/img/emoji/emotion_138.png.js +1 -1
  257. package/es/shared/assets/img/emoji/emotion_139.png.js +1 -1
  258. package/es/shared/assets/img/emoji/emotion_140.png.js +1 -1
  259. package/es/shared/assets/img/emoji/emotion_141.png.js +1 -1
  260. package/es/shared/assets/img/emoji/emotion_142.png.js +1 -1
  261. package/es/shared/assets/img/emoji/emotion_143.png.js +1 -1
  262. package/es/shared/assets/img/emoji/emotion_144.png.js +1 -1
  263. package/es/shared/assets/img/emoji/emotion_145.png.js +1 -1
  264. package/es/shared/assets/img/emoji/emotion_146.png.js +1 -1
  265. package/es/shared/assets/img/emoji/emotion_147.png.js +1 -1
  266. package/es/shared/assets/img/emoji/emotion_148.png.js +1 -1
  267. package/es/shared/assets/img/emoji/emotion_149.png.js +1 -1
  268. package/es/shared/assets/img/emoji/emotion_150.png.js +1 -1
  269. package/es/shared/assets/img/emoji/emotion_151.png.js +1 -1
  270. package/es/shared/assets/img/emoji/emotion_152.png.js +1 -1
  271. package/es/shared/assets/img/emoji/emotion_153.png.js +1 -1
  272. package/es/shared/assets/img/emoji/emotion_154.png.js +1 -1
  273. package/es/shared/assets/img/emoji/emotion_155.png.js +1 -1
  274. package/es/shared/assets/img/emoji/emotion_156.png.js +1 -1
  275. package/es/shared/assets/img/emoji/emotion_157.png.js +1 -1
  276. package/es/shared/assets/img/emoji/emotion_158.png.js +1 -1
  277. package/es/shared/assets/img/emoji/emotion_159.png.js +1 -1
  278. package/es/shared/assets/img/emoji/emotion_160.png.js +1 -1
  279. package/es/shared/assets/img/emoji/emotion_161.png.js +1 -1
  280. package/es/shared/assets/img/emoji/emotion_162.png.js +1 -1
  281. package/es/shared/assets/img/emoji/emotion_163.png.js +1 -1
  282. package/es/shared/assets/img/emoji/emotion_164.png.js +1 -1
  283. package/es/shared/assets/img/emoji/emotion_165.png.js +1 -1
  284. package/es/shared/assets/img/emoji/emotion_166.png.js +1 -1
  285. package/es/shared/assets/img/emoji/emotion_167.png.js +1 -1
  286. package/es/shared/assets/img/failure.png.js +1 -1
  287. package/es/shared/assets/img/no-permission.png.js +1 -1
  288. package/es/shared/assets/img/nodata.png.js +1 -1
  289. package/es/shared/assets/img/notfound.png.js +1 -1
  290. package/es/shared/assets/img/qr.png.js +1 -1
  291. package/es/shared/assets/img/success.png.js +1 -1
  292. package/es/shared/assets/img/table_style_2.png.js +1 -1
  293. package/es/shared/assets/img/tooth/l-b-1.png.js +1 -0
  294. package/es/shared/assets/img/tooth/l-b-2.png.js +1 -0
  295. package/es/shared/assets/img/tooth/l-b-3.png.js +1 -0
  296. package/es/shared/assets/img/tooth/l-b-4.png.js +1 -0
  297. package/es/shared/assets/img/tooth/l-b-5.png.js +1 -0
  298. package/es/shared/assets/img/tooth/l-b-6.png.js +1 -0
  299. package/es/shared/assets/img/tooth/l-b-7.png.js +1 -0
  300. package/es/shared/assets/img/tooth/l-b-8.png.js +1 -0
  301. package/es/shared/assets/img/tooth/l-t-1.png.js +1 -0
  302. package/es/shared/assets/img/tooth/l-t-2.png.js +1 -0
  303. package/es/shared/assets/img/tooth/l-t-3.png.js +1 -0
  304. package/es/shared/assets/img/tooth/l-t-4.png.js +1 -0
  305. package/es/shared/assets/img/tooth/l-t-5.png.js +1 -0
  306. package/es/shared/assets/img/tooth/l-t-6.png.js +1 -0
  307. package/es/shared/assets/img/tooth/l-t-7.png.js +1 -0
  308. package/es/shared/assets/img/tooth/l-t-8.png.js +1 -0
  309. package/es/shared/assets/img/tooth/r-b-1.png.js +1 -0
  310. package/es/shared/assets/img/tooth/r-b-2.png.js +1 -0
  311. package/es/shared/assets/img/tooth/r-b-3.png.js +1 -0
  312. package/es/shared/assets/img/tooth/r-b-4.png.js +1 -0
  313. package/es/shared/assets/img/tooth/r-b-5.png.js +1 -0
  314. package/es/shared/assets/img/tooth/r-b-6.png.js +1 -0
  315. package/es/shared/assets/img/tooth/r-b-7.png.js +1 -0
  316. package/es/shared/assets/img/tooth/r-b-8.png.js +1 -0
  317. package/es/shared/assets/img/tooth/r-t-1.png.js +1 -0
  318. package/es/shared/assets/img/tooth/r-t-2.png.js +1 -0
  319. package/es/shared/assets/img/tooth/r-t-3.png.js +1 -0
  320. package/es/shared/assets/img/tooth/r-t-4.png.js +1 -0
  321. package/es/shared/assets/img/tooth/r-t-5.png.js +1 -0
  322. package/es/shared/assets/img/tooth/r-t-6.png.js +1 -0
  323. package/es/shared/assets/img/tooth/r-t-7.png.js +1 -0
  324. package/es/shared/assets/img/tooth/r-t-8.png.js +1 -0
  325. package/es/shared/assets/img/video.png.js +1 -1
  326. package/es/shared/assets/img/video_default_cover.png.js +1 -1
  327. package/es/shared/assets/img/xb_big.png.js +1 -1
  328. package/es/shared/assets/img/xb_small.png.js +1 -1
  329. package/es/shared/hooks/useAsyncQueue/index.d.ts +1 -1
  330. package/es/shared/hooks/useFormRequest/index.d.ts +1 -0
  331. package/es/shared/hooks/useFormRequest/index.js +1 -1
  332. package/es/shared/hooks/useFormRequest/types.d.ts +2 -0
  333. package/es/shared/hooks/useLevelSearchCascader.js +1 -1
  334. package/es/shared/package.json.js +1 -1
  335. package/es/shared/utils/index.d.ts +1 -0
  336. package/es/shared/utils/index.js +1 -1
  337. package/package.json +2 -2
  338. package/es/components/bpmn-workflow/src/BpmnWorkflow.d.ts +0 -0
  339. package/es/components/bpmn-workflow/types/BpmnViewer.d.ts +0 -1
  340. package/es/components/bpmn-workflow/types/ModelingModule.d.ts +0 -1
  341. package/es/components/bpmn-workflow/types/MoveCanvasModule.d.ts +0 -1
  342. package/es/shared/components/VueDraggable/src/vuedraggable.d.ts +0 -86
  343. package/es/shared/utils/fabricjs/index.d.ts +0 -6823
  344. package/es/shared/utils/tapable/index.d.ts +0 -139
@@ -5,23 +5,37 @@ declare const _default: import("vue").DefineComponent<{
5
5
  type: StringConstructor;
6
6
  default: string;
7
7
  };
8
+ visible: {
9
+ type: BooleanConstructor;
10
+ };
8
11
  }, {
9
12
  props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
10
13
  type: {
11
14
  type: StringConstructor;
12
15
  default: string;
13
16
  };
17
+ visible: {
18
+ type: BooleanConstructor;
19
+ };
14
20
  }>> & {}>>;
15
- imageList: {
21
+ state: import("../types").IState;
22
+ imageList: import("vue").Ref<AnyObject[]>;
23
+ fileList: import("vue").Ref<AnyObject[]>;
24
+ imageRef: import("vue").Ref<any>;
25
+ fileRef: import("vue").Ref<any>;
26
+ keyword: import("vue").Ref<any>;
27
+ handleInput: () => void;
28
+ currentInfo: {
29
+ page: number;
30
+ hasMore: boolean;
31
+ lastSendTime: string;
32
+ };
33
+ handleSearch: () => Promise<void>;
34
+ formatImageList: (data: AnyObject[]) => {
16
35
  label: string;
17
- data: string[];
18
- }[];
19
- fileList: {
20
- name: string;
21
- size: string;
22
- time: string;
23
- sender: string;
36
+ list: unknown;
24
37
  }[];
38
+ resetAndSearch: () => void;
25
39
  title: import("vue").ComputedRef<"聊天图片" | "聊天文件">;
26
40
  getDetail: (item: AnyObject) => string;
27
41
  NModal: any;
@@ -235,7 +249,11 @@ declare const _default: import("vue").DefineComponent<{
235
249
  type: StringConstructor;
236
250
  default: string;
237
251
  };
252
+ visible: {
253
+ type: BooleanConstructor;
254
+ };
238
255
  }>>, {
239
256
  type: string;
257
+ visible: boolean;
240
258
  }>;
241
259
  export default _default;
@@ -1 +1 @@
1
- import{defineComponent as t,computed as i,openBlock as a,createBlock as e,unref as m,withCtx as c,createElementBlock as s,createVNode as p,Fragment as o,renderList as l,createElementVNode as n,toDisplayString as u}from"vue";import{NModal as d,NImageGroup as f,NImage as h,NInput as r,NIcon as g}from"naive-ui";import{SearchOutline as b,OpenOutline as y,DownloadOutline as w}from"@vicons/ionicons5";const G={key:0,class:"c-chat-dialog__content c-chat-image-wrapper"},v={class:"label"},E={class:"image-box"},P={key:1,class:"c-chat-dialog__content c-chat-file-wrapper"},_={class:"file-list-box"},x={class:"text"},J={class:"name"},k={class:"detail"},C={class:"opt-box"};var z=t({__name:"ChatFile",props:{type:{type:String,default:"image"}},setup(t){const z=t,j=[{label:"本周",data:["https://cdn.cnhis.cc/1204564363755786242/03014.jpg","https://img1.baidu.com/it/u=1068679326,1387532038&fm=253&fmt=auto&app=120&f=JPEG?w=500&h=664","https://img0.baidu.com/it/u=2417241712,2153529446&fm=253&fmt=auto&app=138&f=JPEG?w=501&h=500"]},{label:"本月",data:["https://img1.baidu.com/it/u=1068679326,1387532038&fm=253&fmt=auto&app=120&f=JPEG?w=500&h=664","https://img0.baidu.com/it/u=2417241712,2153529446&fm=253&fmt=auto&app=138&f=JPEG?w=501&h=500","https://himg.bdimg.com/sys/portrait/item/public.1.f50c02bd.y9WGGCP1aqCEf85wL6yrng?tt=1706769350037"]},{label:"2024年01月",data:["https://cdn.cnhis.cc/1204564363755786242/03014.jpg","https://img1.baidu.com/it/u=1068679326,1387532038&fm=253&fmt=auto&app=120&f=JPEG?w=500&h=664","https://img0.baidu.com/it/u=2417241712,2153529446&fm=253&fmt=auto&app=138&f=JPEG?w=501&h=500","https://himg.bdimg.com/sys/portrait/item/public.1.f50c02bd.y9WGGCP1aqCEf85wL6yrng?tt=1706769350037","https://cdn.cnhis.cc/1204564363755786242/03014.jpg","https://img1.baidu.com/it/u=1068679326,1387532038&fm=253&fmt=auto&app=120&f=JPEG?w=500&h=664","https://img0.baidu.com/it/u=2417241712,2153529446&fm=253&fmt=auto&app=138&f=JPEG?w=501&h=500","https://himg.bdimg.com/sys/portrait/item/public.1.f50c02bd.y9WGGCP1aqCEf85wL6yrng?tt=1706769350037"]}],q=[{name:"问的那个1.docx",size:"8kb",time:"2024/01/01 10:30",sender:"大傻子(质控部)"},{name:"问的那个21.docx",size:"8kb",time:"2024/01/01 10:30",sender:"大傻子(质控2部)"}],L=i((()=>"image"===z.type?"聊天图片":"聊天文件"));function W(t){const{size:i,time:a,sender:e}=t;return`${i}.${a}.${e}`}return(i,z)=>(a(),e(m(d),{preset:"dialog",title:m(L),"show-icon":!1,class:"c-chat-dialog"},{default:c((()=>["image"===t.type?(a(),s("div",G,[p(m(f),null,{default:c((()=>[(a(),s(o,null,l(j,(t=>n("div",{class:"image-item",key:t.label},[n("span",v,u(t.label),1),n("div",E,[(a(!0),s(o,null,l(t.data,((t,i)=>(a(),e(m(h),{key:i,width:"80",height:"80",src:t},null,8,["src"])))),128))])]))),64))])),_:1})])):(a(),s("div",P,[p(m(r),{placeholder:"搜索文件"},{prefix:c((()=>[p(m(g),{component:m(b)},null,8,["component"])])),_:1}),n("div",_,[(a(),s(o,null,l(q,((t,i)=>n("div",{class:"file-item",key:i},[p(m(g),{component:m(b)},null,8,["component"]),n("div",x,[n("span",J,u(t.name),1),n("span",k,u(W(t)),1)]),n("div",C,[p(m(g),{size:16,component:m(y)},null,8,["component"]),p(m(g),{size:16,component:m(w)},null,8,["component"])])]))),64))])]))])),_:1},8,["title"]))}});export{z as default};
1
+ import{defineComponent as e,ref as t,computed as a,watch as o,openBlock as s,createBlock as i,unref as n,withCtx as l,withDirectives as r,createElementVNode as c,createVNode as m,createElementBlock as p,Fragment as d,renderList as u,toDisplayString as y,vShow as f}from"vue";import{NModal as g,NImageGroup as v,NImage as h,NInput as b,NIcon as w}from"naive-ui";import{SearchOutline as M,OpenOutline as _,DownloadOutline as k}from"@vicons/ionicons5";import{searchChatRecordApi as I}from"../api/index.js";import{useScrollLoading as S}from"../hooks/useScrollLoading.js";import{format as T,isSameWeek as x,isSameMonth as j}from"date-fns";import{useState as A}from"../hooks/useState.js";import{last as z}from"lodash-es";import"../utils/emoji.js";import{useDebounceFn as D}from"@vueuse/core";const H={class:"label"},L={class:"image-box"},E={class:"c-chat-dialog__content c-chat-file-wrapper"},$={class:"text"},F={class:"name"},K={class:"detail"},O={class:"opt-box"};var R=e({__name:"ChatFile",props:{type:{type:String,default:"image"},visible:{type:Boolean}},setup(e){const R=e,{state:B}=A(),C=t([]),G=t([{name:"问的那个1.docx",size:"8kb",time:"2024/01/01 10:30",sender:"大傻子(质控部)"},{name:"问的那个21.docx",size:"8kb",time:"2024/01/01 10:30",sender:"大傻子(质控2部)"}]),U=t(),q=t(),J=t(),N=D(V,500),P={page:0,hasMore:!0,lastSendTime:T(new Date,"yyyy-MM-dd HH:mm:ss")};async function Q(){var e;try{if(!P.hasMore)return;P.page++;const t=await I({orgId:B.orgId,keyword:J.value,endTime:"",startTime:"",lastSendTime:P.lastSendTime,memberIdSet:[],page:P.page,recordType:"image"===R.type?"IMAGE":"FILE",sessionKey:B.currentSessionItem.sessionKey,userId:B.userInfo.id});Array.isArray(t)&&0!==t.length&&Array.isArray(t[0].recordList)||(P.hasMore=!1,console.log("接口返回不是一个数组,或者没有更多消息了"));let a=t||[];if(Array.isArray(t)&&t.length>0&&(a=t[0].recordList),P.lastSendTime=null==(e=z(a))?void 0:e.sendTime,"image"===R.type){const e=function(e){const t={};e.forEach((e=>{const a=new Date(e.sendTime);let o=T(a,"yyyy年MM月");x(a,new Date)?o="本周":j(a,new Date)&&(o="本月"),t[o]||(t[o]=[]),t[o].push(e.content.msg)}));return Object.entries(t).map((([e,t])=>({label:e,list:t})))}(a);C.value=P.page>1?C.value.concat(e):e}}catch(e){console.log(e)}}function V(){Object.assign(P,{page:0,hasMore:!0,lastSendTime:T(new Date,"yyyy-MM-dd HH:mm:ss")}),Q()}S(U,(()=>{Q()})),S(q,(()=>{Q()}));const W=a((()=>"image"===R.type?"聊天图片":"聊天文件"));function X(e){const{size:t,time:a,sender:o}=e;return`${t}.${a}.${o}`}return o((()=>R.visible),(e=>{e?V():J.value=""})),(t,a)=>(s(),i(n(g),{preset:"dialog",title:n(W),"show-icon":!1,"auto-focus":!1,class:"c-chat-dialog"},{default:l((()=>[r(c("div",{class:"c-chat-dialog__content c-chat-image-wrapper",ref_key:"imageRef",ref:U},[m(n(v),{"show-toolbar-tooltip":""},{default:l((()=>[(s(!0),p(d,null,u(C.value,(e=>(s(),p("div",{class:"image-item",key:e.label},[c("span",H,y(e.label),1),c("div",L,[(s(!0),p(d,null,u(e.list,(e=>(s(),i(n(h),{key:e,width:"80",height:"80",src:e},null,8,["src"])))),128))])])))),128))])),_:1})],512),[[f,"image"===e.type]]),r(c("div",E,[m(n(b),{placeholder:"搜索文件",value:J.value,"onUpdate:value":a[0]||(a[0]=e=>J.value=e),valueModifiers:{trim:!0},onInput:n(N)},{prefix:l((()=>[m(n(w),{component:n(M)},null,8,["component"])])),_:1},8,["value","onInput"]),c("div",{class:"file-list-box",ref_key:"fileRef",ref:q},[(s(!0),p(d,null,u(G.value,((e,t)=>(s(),p("div",{class:"file-item",key:t},[m(n(w),{component:n(M)},null,8,["component"]),c("div",$,[c("span",F,y(e.name),1),c("span",K,y(X(e)),1)]),c("div",O,[m(n(w),{size:16,component:n(_)},null,8,["component"]),m(n(w),{size:16,component:n(k)},null,8,["component"])])])))),128))],512)],512),[[f,"image"!==e.type]])])),_:1},8,["title"]))}});export{R as default};
@@ -1 +1 @@
1
- import{defineComponent as t,ref as e,withDirectives as n,openBlock as s,createElementBlock as i,normalizeStyle as a,unref as o,createElementVNode as l,createVNode as c,withCtx as r,createCommentVNode as u,Fragment as d,renderList as f,createBlock as p,createTextVNode as m,toDisplayString as g,vShow as h}from"vue";import{NPopover as v,NTooltip as y,NUpload as M,NUploadTrigger as k,NButton as x}from"naive-ui";import{format as C}from"date-fns";import{useState as T}from"../hooks/useState.js";import{useSession as b}from"../hooks/useSession.js";import{images as w,alt as E}from"../utils/emoji.js";import{MESSAGE_TYPE as I}from"../constants/index.js";import{uploadFileApi as _}from"../api/index.js";const S={class:"tool-box"},j=l("span",null,[l("i",{class:"chat--iconfont chat--icon-face"})],-1),L={class:"emoji-box"},F=l("span",null,"默认表情",-1),K={class:"list-box"},D=["onClick"],H=["src"],J=[l("i",{class:"chat--iconfont chat--icon-good"},null,-1)],N=["onClick"],O=[l("i",{class:"chat--iconfont chat--icon-image"},null,-1)],A=["onClick"],G=[l("i",{class:"chat--iconfont chat--icon-folder"},null,-1)],U={class:"btn-box"},X=l("span",{class:"tip"},"Enter 发送, Shift + Enter 换行",-1);var z=t({__name:"ChatFooter",setup(t){const z=e(),B=e(""),{state:R,stompClient:q}=T(),{setCurrentSessionItem:P}=b(R),Q=e(!1);function V(t){["Enter"].includes(t.key)&&(function(t){return t.altKey||t.ctrlKey||t.metaKey||t.shiftKey}(t)||(t.preventDefault(),Z()))}function W(){var t,e;B.value=(null==(e=null==(t=z.value)?void 0:t.innerText)?void 0:e.trim())||""}async function Y(t,e){const{file:n,name:s}=t.file,i=new FormData;i.append("sender",R.userInfo.id),i.append("file",n);const a=await _(i);if(!a)return console.log("上传失败");$({chatMessageType:e,msg:e===I.FILE?s:a,url:a})}function Z(){if(!(B.value.length>2e3))return B.value?void $({msg:B.value}):console.log("请输入内容");console.log("请控制在2000字以内")}async function $(t){const{chatMessageType:e=I.TEXT,msg:n,url:s}=t,i={msg:n,chatMessageType:e};e===I.FILE&&(i.fileUrl=s),[I.TEXT,I.BLEND].includes(e)&&(z.value.innerHTML="",B.value="");const a=C(new Date,"yyyy-MM-dd HH:mm:ss");R.currentMsg={content:i,sender:R.userInfo.id,id:"",sendTime:a,sending:!0,fail:!1},R.isAppendMsg=!0,P({lastMessageSendTime:a,lastMessage:i,sortTime:a});try{q.value.send("/app/chat/send",{},JSON.stringify({chatType:"SINGLE",content:i,receiver:R.currentSessionItem.receiver})),R.currentMsg={...R.currentMsg,fail:!1}}catch(t){R.currentMsg={...R.currentMsg,fail:!0}}finally{R.currentMsg={...R.currentMsg,sending:!1}}}return(t,e)=>n((s(),i("section",{class:"chat-footer",style:a({cursor:o(R).id?"default":"not-allowed"})},[l("div",S,[c(o(v),{show:Q.value,"onUpdate:show":e[0]||(e[0]=t=>Q.value=t),placement:"top",trigger:"click","show-arrow":!1,"display-directive":"show",delay:0},{trigger:r((()=>[j])),default:r((()=>[l("div",L,[u(' <span>最近使用</span>\n\t\t\t\t\t<div class="list-box">\n\t\t\t\t\t\t<template v-for="(img, index) in images" :key="index">\n\t\t\t\t\t\t\t<i>\n\t\t\t\t\t\t\t\t<img :src="img" />\n\t\t\t\t\t\t\t</i>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</div> '),F,l("div",K,[(s(!0),i(d,null,f(o(w),((t,e)=>(s(),i(d,{key:e},[e>0?(s(),p(o(y),{key:0,"show-arrow":!1,trigger:"hover"},{trigger:r((()=>[l("i",{onClick:()=>function(t){Q.value=!1,$({chatMessageType:I.EMOJI,msg:t})}(e)},[l("img",{src:t},null,8,H)],8,D)])),default:r((()=>[m(" "+g(o(E)[e-1]||"微笑"),1)])),_:2},1024)):u("v-if",!0)],64)))),128))])])])),_:1},8,["show"]),l("span",{onClick:e[1]||(e[1]=()=>$({chatMessageType:o(I).EMOJI,msg:0}))},J),c(o(M),{abstract:"",multiple:"",accept:"image/*",onChange:e[2]||(e[2]=t=>Y(t,o(I).IMAGE))},{default:r((()=>[c(o(k),{abstract:""},{default:r((({handleClick:t})=>[l("span",{onClick:t},O,8,N)])),_:1})])),_:1}),c(o(M),{abstract:"",multiple:"",accept:"video/*,.pdf,.doc.docx,,.zip,.xlsx,.txt",onChange:e[3]||(e[3]=t=>Y(t,o(I).FILE))},{default:r((()=>[c(o(k),{abstract:""},{default:r((({handleClick:t})=>[l("span",{onClick:t},G,8,A)])),_:1})])),_:1})]),n(l("div",{ref_key:"inputRef",ref:z,class:"input-box",contenteditable:"",onKeydown:V,onInput:W},null,544),[[h,o(R).id]]),l("div",U,[X,c(o(x),{type:"primary",round:"",disabled:!B.value,onClick:Z},{default:r((()=>[m("发送")])),_:1},8,["disabled"])])],4)),[[h,o(R).id]])}});export{z as default};
1
+ import{defineComponent as t,ref as e,withDirectives as n,openBlock as s,createElementBlock as i,normalizeStyle as a,unref as o,createElementVNode as l,createVNode as r,withCtx as c,createCommentVNode as u,Fragment as d,renderList as f,createBlock as p,createTextVNode as m,toDisplayString as g,vShow as h}from"vue";import{NPopover as v,NTooltip as y,NUpload as M,NUploadTrigger as k,NButton as x}from"naive-ui";import{format as C}from"date-fns";import{useState as T}from"../hooks/useState.js";import{useSession as b}from"../hooks/useSession.js";import{images as w,alt as E}from"../utils/emoji.js";import{MESSAGE_TYPE as I}from"../constants/index.js";import{uploadFileApi as _}from"../api/index.js";const S={class:"tool-box"},j=l("span",null,[l("i",{class:"chat--iconfont chat--icon-face"})],-1),L={class:"emoji-box"},F=l("span",null,"默认表情",-1),K={class:"list-box"},D=["onClick"],H=["src"],J=[l("i",{class:"chat--iconfont chat--icon-good"},null,-1)],N=["onClick"],O=[l("i",{class:"chat--iconfont chat--icon-image"},null,-1)],A=["onClick"],G=[l("i",{class:"chat--iconfont chat--icon-folder"},null,-1)],U={class:"btn-box"},X=l("span",{class:"tip"},"Enter 发送, Shift + Enter 换行",-1);var z=t({__name:"ChatFooter",setup(t){const z=e(),B=e(""),{state:R,stompClient:q}=T(),{setCurrentSessionItem:P}=b(R),Q=e(!1);function V(t){["Enter"].includes(t.key)&&(function(t){return t.altKey||t.ctrlKey||t.metaKey||t.shiftKey}(t)||(t.preventDefault(),Z()))}function W(){var t,e;B.value=(null==(e=null==(t=z.value)?void 0:t.innerText)?void 0:e.trim())||""}async function Y(t,e){const{file:n,name:s}=t.file,i=new FormData;i.append("sender",R.userInfo.id),i.append("file",n);const a=await _(i);if(!a)return console.log("上传失败");$({chatMessageType:e,msg:e===I.FILE?s:a,url:a})}function Z(){if(!(B.value.length>2e3))return B.value?void $({msg:B.value}):console.log("请输入内容");console.log("请控制在2000字以内")}async function $(t){const{chatMessageType:e=I.TEXT,msg:n,url:s}=t,i={msg:n,chatMessageType:e};e===I.FILE&&(i.fileUrl=s),[I.TEXT,I.BLEND].includes(e)&&(z.value.innerHTML="",B.value="");const a=C(new Date,"yyyy-MM-dd HH:mm:ss");R.currentMsg={content:i,sender:R.userInfo.id,id:"",sendTime:a,sending:!0,fail:!1},R.isAppendMsg=!0,P({lastMessageSendTime:a,lastMessage:i,sortTime:a});try{q.value.send("/app/chat/send",{},JSON.stringify({chatType:"SINGLE",content:i,receiver:R.currentSessionItem.receiver})),R.currentMsg={...R.currentMsg,fail:!1}}catch(t){R.currentMsg={...R.currentMsg,fail:!0}}finally{R.currentMsg={...R.currentMsg,sending:!1}}}return(t,e)=>n((s(),i("section",{class:"chat-footer",style:a({cursor:o(R).id?"default":"not-allowed"})},[l("div",S,[r(o(v),{show:Q.value,"onUpdate:show":e[0]||(e[0]=t=>Q.value=t),placement:"top",trigger:"click","show-arrow":!1,"display-directive":"show",delay:0},{trigger:c((()=>[j])),default:c((()=>[l("div",L,[u(' <span>最近使用</span>\r\n\t\t\t\t\t<div class="list-box">\r\n\t\t\t\t\t\t<template v-for="(img, index) in images" :key="index">\r\n\t\t\t\t\t\t\t<i>\r\n\t\t\t\t\t\t\t\t<img :src="img" />\r\n\t\t\t\t\t\t\t</i>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</div> '),F,l("div",K,[(s(!0),i(d,null,f(o(w),((t,e)=>(s(),i(d,{key:e},[e>0?(s(),p(o(y),{key:0,"show-arrow":!1,trigger:"hover"},{trigger:c((()=>[l("i",{onClick:()=>function(t){Q.value=!1,$({chatMessageType:I.EMOJI,msg:t})}(e)},[l("img",{src:t},null,8,H)],8,D)])),default:c((()=>[m(" "+g(o(E)[e-1]||"微笑"),1)])),_:2},1024)):u("v-if",!0)],64)))),128))])])])),_:1},8,["show"]),l("span",{onClick:e[1]||(e[1]=()=>$({chatMessageType:o(I).EMOJI,msg:0}))},J),r(o(M),{abstract:"",multiple:"",accept:"image/*",onChange:e[2]||(e[2]=t=>Y(t,o(I).IMAGE))},{default:c((()=>[r(o(k),{abstract:""},{default:c((({handleClick:t})=>[l("span",{onClick:t},O,8,N)])),_:1})])),_:1}),r(o(M),{abstract:"",multiple:"",accept:"video/*,.pdf,.doc.docx,,.zip,.xlsx,.txt",onChange:e[3]||(e[3]=t=>Y(t,o(I).FILE))},{default:c((()=>[r(o(k),{abstract:""},{default:c((({handleClick:t})=>[l("span",{onClick:t},G,8,A)])),_:1})])),_:1})]),n(l("div",{ref_key:"inputRef",ref:z,class:"input-box",contenteditable:"",onKeydown:V,onInput:W},null,544),[[h,o(R).id]]),l("div",U,[X,r(o(x),{type:"primary",round:"",disabled:!B.value,onClick:Z},{default:c((()=>[m("发送")])),_:1},8,["disabled"])])],4)),[[h,o(R).id]])}});export{z as default};
@@ -23,7 +23,7 @@ declare const _default: import("vue").DefineComponent<{}, {
23
23
  }>>;
24
24
  emit: (event: "close", ...args: any[]) => void;
25
25
  state: import("../types").IState;
26
- openSession: (item: AnyObject) => void;
26
+ openSession: (item: AnyObject) => Promise<void>;
27
27
  showUserDetail: import("vue").Ref<boolean>;
28
28
  showLargeAvatar: import("vue").Ref<boolean>;
29
29
  showPhone: import("vue").Ref<boolean>;
@@ -278,7 +278,7 @@ declare const _default: import("vue").DefineComponent<{}, {
278
278
  }>>;
279
279
  emit: (event: "close", ...args: any[]) => void;
280
280
  state: import("../types").IState;
281
- openSession: (item: AnyObject) => void;
281
+ openSession: (item: AnyObject) => Promise<void>;
282
282
  showUserDetail: import("vue").Ref<boolean>;
283
283
  showLargeAvatar: import("vue").Ref<boolean>;
284
284
  showPhone: import("vue").Ref<boolean>;
@@ -332,23 +332,37 @@ declare const _default: import("vue").DefineComponent<{}, {
332
332
  type: StringConstructor;
333
333
  default: string;
334
334
  };
335
+ visible: {
336
+ type: BooleanConstructor;
337
+ };
335
338
  }, {
336
339
  props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
337
340
  type: {
338
341
  type: StringConstructor;
339
342
  default: string;
340
343
  };
344
+ visible: {
345
+ type: BooleanConstructor;
346
+ };
341
347
  }>> & {}>>;
342
- imageList: {
348
+ state: import("../types").IState;
349
+ imageList: import("vue").Ref<AnyObject[]>;
350
+ fileList: import("vue").Ref<AnyObject[]>;
351
+ imageRef: import("vue").Ref<any>;
352
+ fileRef: import("vue").Ref<any>;
353
+ keyword: import("vue").Ref<any>;
354
+ handleInput: () => void;
355
+ currentInfo: {
356
+ page: number;
357
+ hasMore: boolean;
358
+ lastSendTime: string;
359
+ };
360
+ handleSearch: () => Promise<void>;
361
+ formatImageList: (data: AnyObject[]) => {
343
362
  label: string;
344
- data: string[];
345
- }[];
346
- fileList: {
347
- name: string;
348
- size: string;
349
- time: string;
350
- sender: string;
363
+ list: unknown;
351
364
  }[];
365
+ resetAndSearch: () => void;
352
366
  title: import("vue").ComputedRef<"聊天图片" | "聊天文件">;
353
367
  getDetail: (item: AnyObject) => string;
354
368
  NModal: any;
@@ -562,23 +576,47 @@ declare const _default: import("vue").DefineComponent<{}, {
562
576
  type: StringConstructor;
563
577
  default: string;
564
578
  };
579
+ visible: {
580
+ type: BooleanConstructor;
581
+ };
565
582
  }>>, {
566
583
  type: string;
584
+ visible: boolean;
567
585
  }>;
568
- ChatRecord: import("vue").DefineComponent<{}, {
586
+ ChatRecord: import("vue").DefineComponent<{
587
+ visible: {
588
+ type: BooleanConstructor;
589
+ };
590
+ }, {
569
591
  tagColor: {
570
592
  color: string;
571
593
  textColor: string;
572
594
  };
595
+ props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
596
+ visible: {
597
+ type: BooleanConstructor;
598
+ };
599
+ }>> & {}>>;
573
600
  state: import("../types").IState;
574
- options: {
575
- label: any;
576
- value: any;
577
- avatar: any;
578
- }[];
579
- user: import("vue").Ref<never[]>;
601
+ recordRef: import("vue").Ref<any>;
602
+ recordList: import("vue").Ref<AnyObject[]>;
603
+ keyword: import("vue").Ref<any>;
604
+ memberList: import("vue").Ref<never[]>;
580
605
  startTime: import("vue").Ref<any>;
581
606
  endTime: import("vue").Ref<any>;
607
+ handleInput: () => void;
608
+ currentInfo: {
609
+ page: number;
610
+ hasMore: boolean;
611
+ lastSendTime: string;
612
+ };
613
+ handleSearch: () => Promise<void>;
614
+ options: import("vue").ComputedRef<AnyObject[]>;
615
+ resetAndSearch: () => void;
616
+ startDateDisabled: (ts: number) => boolean;
617
+ endDateDisabled: (ts: number) => boolean;
618
+ resetInfo: () => void;
619
+ handleCloseTag: (type: "end" | "start" | "member") => void;
582
620
  getPrefixCondition: () => (JSX.Element | null)[];
583
621
  renderLabel: (option: AnyObject) => JSX.Element;
584
622
  NModal: any;
@@ -587,6 +625,17 @@ declare const _default: import("vue").DefineComponent<{}, {
587
625
  NSelect: any;
588
626
  NAvatar: any;
589
627
  NPopover: any;
628
+ NInputGroup: import("vue").DefineComponent<{
629
+ [x: string]: never;
630
+ [x: number]: never;
631
+ [x: symbol]: never;
632
+ }, {
633
+ mergedClsPrefix: import("vue").ComputedRef<string>;
634
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
635
+ [x: string]: never;
636
+ [x: number]: never;
637
+ [x: symbol]: never;
638
+ }>>, {}>;
590
639
  DatePicker: import("../../../../shared/types").SFCWithInstall<import("vue").DefineComponent<{
591
640
  updateUnchangedValue: {
592
641
  type: BooleanConstructor;
@@ -664,6 +713,15 @@ declare const _default: import("vue").DefineComponent<{}, {
664
713
  }, {
665
714
  updateUnchangedValue: boolean;
666
715
  }>>;
667
- }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
716
+ formatTime: typeof import("../utils").formatTime;
717
+ MESSAGE_TYPE: typeof import("../constants").MESSAGE_TYPE;
718
+ images: import("vue").Ref<any[]>;
719
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
720
+ visible: {
721
+ type: BooleanConstructor;
722
+ };
723
+ }>>, {
724
+ visible: boolean;
725
+ }>;
668
726
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
669
727
  export default _default;
@@ -1 +1 @@
1
- import{defineComponent as e,ref as a,openBlock as o,createElementBlock as t,Fragment as s,withDirectives as i,createElementVNode as r,createVNode as c,unref as n,withCtx as l,toDisplayString as u,vShow as h}from"vue";import{NAvatar as m}from"naive-ui";import{useState as v}from"../hooks/useState.js";import d from"./PersonProfile.vue.js";import f from"./ChatSet.vue.js";import p from"./ChatFile.vue.js";import w from"./ChatRecord.vue.js";const C={class:"chat-header box-shadow"},_={class:"chat-header__left"},g={class:"name"},j={class:"chat-header__right"};var k=e({__name:"ChatHeader",setup(e){const{state:k}=v(),S=a(!1),I=a(!1),U=a("image"),x=a(!1);function y(e){U.value=e,I.value=!0}return(e,a)=>(o(),t(s,null,[i(r("section",C,[r("div",_,[c(d,{"user-id":n(k).currentSessionItem.receiver},{trigger:l((()=>[c(n(m),{round:"",size:30,src:n(k).currentSessionItem.avatar},null,8,["src"])])),_:1},8,["user-id"]),r("span",g,u(n(k).currentSessionItem.name),1)]),r("div",j,[r("i",{class:"chat--iconfont chat--icon-image",onClick:a[0]||(a[0]=()=>y("image"))}),r("i",{class:"chat--iconfont chat--icon-folder",onClick:a[1]||(a[1]=()=>y("file"))}),r("i",{class:"chat--iconfont chat--icon-list-search",onClick:a[2]||(a[2]=e=>x.value=!0)}),r("i",{class:"chat--iconfont chat--icon-set",onClick:a[3]||(a[3]=e=>S.value=!0)})])],512),[[h,n(k).id]]),c(f,{show:S.value,"onUpdate:show":a[4]||(a[4]=e=>S.value=e)},null,8,["show"]),c(p,{show:I.value,"onUpdate:show":a[5]||(a[5]=e=>I.value=e),type:U.value},null,8,["show","type"]),c(w,{show:x.value,"onUpdate:show":a[6]||(a[6]=e=>x.value=e)},null,8,["show"])],64))}});export{k as default};
1
+ import{defineComponent as e,ref as a,openBlock as o,createElementBlock as s,Fragment as t,unref as i,createElementVNode as l,createVNode as r,withCtx as c,toDisplayString as n,createCommentVNode as u}from"vue";import{NAvatar as h}from"naive-ui";import{useState as v}from"../hooks/useState.js";import m from"./PersonProfile.vue.js";import f from"./ChatSet.vue.js";import d from"./ChatFile.vue.js";import p from"./ChatRecord.vue.js";const w={key:0,class:"chat-header box-shadow"},C={class:"chat-header__left"},_={class:"name"},g={class:"chat-header__right"};var k=e({__name:"ChatHeader",setup(e){const{state:k}=v(),b=a(!1),j=a(!1),S=a("image"),y=a(!1);function I(e){S.value=e,j.value=!0}return(e,a)=>(o(),s(t,null,[i(k).id?(o(),s("section",w,[l("div",C,[r(m,{"user-id":i(k).currentSessionItem.receiver},{trigger:c((()=>[r(i(h),{round:"",size:30,src:i(k).currentSessionItem.avatar},null,8,["src"])])),_:1},8,["user-id"]),l("span",_,n(i(k).currentSessionItem.name),1)]),l("div",g,[l("i",{class:"chat--iconfont chat--icon-image",onClick:a[0]||(a[0]=()=>I("image"))}),l("i",{class:"chat--iconfont chat--icon-folder",onClick:a[1]||(a[1]=()=>I("file"))}),l("i",{class:"chat--iconfont chat--icon-list-search",onClick:a[2]||(a[2]=e=>y.value=!0)}),l("i",{class:"chat--iconfont chat--icon-set",onClick:a[3]||(a[3]=e=>b.value=!0)})])])):u("v-if",!0),r(f,{show:b.value,"onUpdate:show":a[4]||(a[4]=e=>b.value=e)},null,8,["show"]),r(d,{show:j.value,"onUpdate:show":a[5]||(a[5]=e=>j.value=e),type:S.value,visible:j.value},null,8,["show","type","visible"]),r(p,{show:y.value,"onUpdate:show":a[6]||(a[6]=e=>y.value=e),visible:y.value},null,8,["show","visible"])],64))}});export{k as default};
@@ -1,9 +1,11 @@
1
1
  import { AnyObject } from '../../../../shared/types';
2
+ import { formatTime } from '../utils';
2
3
  import { MESSAGE_TYPE } from '../constants';
3
4
  declare const _default: import("vue").DefineComponent<{}, {
4
5
  chatMainRef: import("vue").Ref<HTMLElement | undefined>;
5
6
  state: import("../types").IState;
6
7
  setMsgList: (list?: AnyObject[]) => void;
8
+ setCurrentSessionItem: (item: AnyObject) => void;
7
9
  currentInfo: {
8
10
  page: number;
9
11
  hasMore: boolean;
@@ -15,7 +17,6 @@ declare const _default: import("vue").DefineComponent<{}, {
15
17
  isTemplate3: (content: AnyObject) => boolean;
16
18
  needShowTime: (item: AnyObject, index: number) => boolean;
17
19
  setScrollToButtom: () => Promise<void>;
18
- getIntervalMsgTime: (time: string) => string;
19
20
  resetInfo: () => void;
20
21
  handleDownload: (url: string, filename: string) => void;
21
22
  NAvatar: any;
@@ -235,7 +236,7 @@ declare const _default: import("vue").DefineComponent<{}, {
235
236
  }>>;
236
237
  emit: (event: "close", ...args: any[]) => void;
237
238
  state: import("../types").IState;
238
- openSession: (item: AnyObject) => void;
239
+ openSession: (item: AnyObject) => Promise<void>;
239
240
  showUserDetail: import("vue").Ref<boolean>;
240
241
  showLargeAvatar: import("vue").Ref<boolean>;
241
242
  showPhone: import("vue").Ref<boolean>;
@@ -362,6 +363,7 @@ declare const _default: import("vue").DefineComponent<{}, {
362
363
  };
363
364
  }>>, {}>;
364
365
  images: import("vue").Ref<any[]>;
366
+ formatTime: typeof formatTime;
365
367
  MESSAGE_TYPE: typeof MESSAGE_TYPE;
366
368
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
367
369
  export default _default;
@@ -1 +1 @@
1
- import{defineComponent as e,ref as t,watch as n,openBlock as s,createElementBlock as o,normalizeClass as i,unref as a,createVNode as r,withCtx as l,Fragment as c,renderList as m,toDisplayString as d,createCommentVNode as u,createBlock as p,withModifiers as f}from"vue";import{NImageGroup as g,NAvatar as y,NImage as T}from"naive-ui";import{format as v,isToday as M,isYesterday as h}from"date-fns";import{getHistoryRecordApi as k}from"../api/index.js";import{useState as L}from"../hooks/useState.js";import{last as E,isNumber as _}from"lodash-es";import H from"./PersonProfile.vue.js";import w from"./MessageTemplate.vue.js";import{images as j}from"../utils/emoji.js";import{MESSAGE_TYPE as A}from"../constants/index.js";import{useScrollLoading as b}from"../hooks/useScrollLoading.js";const S={key:0,class:"time"},D={key:2,class:"message-box"},I=["data-time"],P=["innerHTML"],R=["src"],U=["href","onClick"];var O=e({__name:"ChatMain",setup(e){const O=t(),{state:x,setMsgList:C}=L(),F={page:0,hasMore:!0,lastSendTime:v(new Date,"yyyy-MM-dd HH:mm:ss")};async function G(){try{if(!F.hasMore)return;F.page++;const e=await k({sessionKey:x.currentSessionItem.sessionKey,page:F.page,lastSendTime:F.lastSendTime});if(!Array.isArray(e)||0===e.length)return F.hasMore=!1,console.log("接口返回不是一个数组,或者没有更多消息了");F.lastSendTime=E(e).sendTime,C(F.page>1?[...e,...x.msgList]:e)}catch(e){console.log(e)}}function J(e){const{chatMessageType:t,messageTemplate:n}=e.content;return t!==A.TEMPLATE||!!n}function K(e,t){var n,s;const{chatMessageType:o,messageTemplate:i}=e.content;if(o===A.TEMPLATE)return"system"===t?2==(null==(n=null==i?void 0:i.setting)?void 0:n.style.id):2!=(null==(s=null==i?void 0:i.setting)?void 0:s.style.id)}function X(e){var t,n;const{chatMessageType:s,messageTemplate:o}=e;return s===A.TEMPLATE&&3==(null==(n=null==(t=null==o?void 0:o.setting)?void 0:t.style)?void 0:n.id)}function Y(e,t){var n;const s=_(e.sendTime)?e.sendTime:Date.parse(e.sendTime),o=null==(n=x.msgList[t-1])?void 0:n.sendTime;return s-(0===t?0:_(o)?o:Date.parse(o))>3e5}function q(e){const t=new Date(e),n=Date.now()-t.getTime();if(n<6e4)return"刚刚";if(n<36e5)return Math.ceil(n/1e3/60)+"分钟前";if(M(t))return"今天 "+v(t,"HH:mm");if(h(t))return"昨天 "+v(t,"HH:mm");{const e=t.getFullYear(),n=(new Date).getFullYear();return v(t,e<n?"yyyy年M月d日 HH:mm":"M月d日 HH:mm")}}return b(O,(()=>{G()}),"top"),n((()=>x.id),(e=>{e&&(Object.assign(F,{page:0,hasMore:!0,lastSendTime:v(new Date,"yyyy-MM-dd HH:mm:ss")}),G())}),{immediate:!0}),n((()=>x.isAppendMsg),(e=>{e&&(C([...x.msgList,x.currentMsg]),x.isAppendMsg=!1,async function(){var e,t,n;const s=null!=(t=null==(e=O.value)?void 0:e.scrollHeight)?t:0;null==(n=O.value)||n.scrollTo({top:s,behavior:"auto"})}())}),{immediate:!0}),(e,t)=>(s(),o("div",{class:i(["chat-main",{"home-bg":!a(x).id}]),ref_key:"chatMainRef",ref:O},[r(a(g),{"show-toolbar-tooltip":""},{default:l((()=>[(s(!0),o(c,null,m(a(x).msgList,((e,t)=>(s(),o(c,{key:t},[J(e)?(s(),o("div",{key:0,class:i(["message-item",{"message-item--mine":e.sender==a(x).userInfo.id}])},[Y(e,t)?(s(),o("p",S,d(q(e.sendTime)),1)):u("v-if",!0),K(e,"system")?(s(),p(w,{key:1,data:e},null,8,["data"])):(s(),o("div",D,[r(H,{"user-id":e.sender},{trigger:l((()=>[r(a(y),{round:"",size:38,src:e.senderAvatar},null,8,["src"])])),_:2},1032,["user-id"]),e.content?(s(),o("div",{key:0,class:i(["content",{emoji:e.content.chatMessageType===a(A).EMOJI,template:e.content.chatMessageType===a(A).TEMPLATE,"template--3":X(e.content)}]),"data-time":e.__time},[e.content.chatMessageType===a(A).TEXT?(s(),o("pre",{key:0,innerHTML:e.__content},null,8,P)):u("v-if",!0),e.content.chatMessageType===a(A).EMOJI?(s(),o("img",{key:1,src:a(j)[e.__content]},null,8,R)):u("v-if",!0),K(e,"template")?(s(),p(w,{key:2,data:e},null,8,["data"])):u("v-if",!0),e.content.chatMessageType===a(A).IMAGE?(s(),p(a(T),{key:3,width:"240",src:e.__content},null,8,["src"])):u("v-if",!0),e.content.chatMessageType===a(A).FILE?(s(),o("a",{key:4,href:e.content.fileUrl,onClick:f((()=>function(e,t){const n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="blob",n.onload=function(s){if(200===n.status){const s=window.URL.createObjectURL(n.response),o=document.createElement("a");o.href=s,o.download=t,o.dispatchEvent(new MouseEvent("click")),window.URL.revokeObjectURL(e)}},n.send()}(e.content.fileUrl,e.__content)),["prevent"])},d(e.__content),9,U)):u("v-if",!0)],10,I)):u("v-if",!0)]))],2)):u("v-if",!0)],64)))),128))])),_:1})],2))}});export{O as default};
1
+ import{defineComponent as e,ref as t,watch as s,openBlock as n,createElementBlock as o,normalizeClass as i,unref as a,createVNode as r,withCtx as c,Fragment as l,renderList as m,toDisplayString as d,createCommentVNode as u,createBlock as p,withModifiers as f}from"vue";import{NImageGroup as g,NAvatar as y,NImage as T}from"naive-ui";import{format as v}from"date-fns";import{getHistoryRecordApi as M,readMessageApi as h}from"../api/index.js";import{useState as k}from"../hooks/useState.js";import{useSession as L}from"../hooks/useSession.js";import{first as E,last as _,isNumber as j}from"lodash-es";import S from"./PersonProfile.vue.js";import w from"./MessageTemplate.vue.js";import{images as I}from"../utils/emoji.js";import{formatTime as A}from"../utils/index.js";import{MESSAGE_TYPE as b}from"../constants/index.js";import{useScrollLoading as H}from"../hooks/useScrollLoading.js";const P={key:0,class:"time"},R={key:2,class:"message-box"},U=["data-time"],x=["innerHTML"],O=["src"],C=["href","onClick"];var D=e({__name:"ChatMain",setup(e){const D=t(),{state:G,setMsgList:N}=k(),{setCurrentSessionItem:J}=L(G),K={page:0,hasMore:!0,lastSendTime:v(new Date,"yyyy-MM-dd HH:mm:ss")};async function X(){try{if(!K.hasMore)return;K.page++;const e=await M({sessionKey:G.currentSessionItem.sessionKey,page:K.page,lastSendTime:K.lastSendTime});if(!Array.isArray(e)||0===e.length)return K.hasMore=!1,console.log("接口返回不是一个数组,或者没有更多消息了");const t=E(e).id;K.lastSendTime=_(e).sendTime,N(K.page>1?[...e,...G.msgList]:e),1===K.page&&G.currentSessionItem.unreadNum&&(await h({chatType:"SINGLE",messageIdSet:[t],receiver:G.userInfo.id,sender:G.currentSessionItem.receiver}),J({unreadNum:0}))}catch(e){console.log(e)}}function q(e){const{chatMessageType:t,messageTemplate:s}=e.content;return t!==b.TEMPLATE||!!s}function z(e,t){var s,n;const{chatMessageType:o,messageTemplate:i}=e.content;if(o===b.TEMPLATE)return"system"===t?2==(null==(s=null==i?void 0:i.setting)?void 0:s.style.id):2!=(null==(n=null==i?void 0:i.setting)?void 0:n.style.id)}function F(e){var t,s;const{chatMessageType:n,messageTemplate:o}=e;return n===b.TEMPLATE&&3==(null==(s=null==(t=null==o?void 0:o.setting)?void 0:t.style)?void 0:s.id)}function B(e,t){var s;const n=j(e.sendTime)?e.sendTime:Date.parse(e.sendTime),o=null==(s=G.msgList[t-1])?void 0:s.sendTime;return n-(0===t?0:j(o)?o:Date.parse(o))>3e5}return H(D,(()=>{X()}),"top"),s((()=>G.id),(e=>{e&&(Object.assign(K,{page:0,hasMore:!0,lastSendTime:v(new Date,"yyyy-MM-dd HH:mm:ss")}),X())}),{immediate:!0}),s((()=>G.isAppendMsg),(e=>{e&&(N([...G.msgList,G.currentMsg]),G.isAppendMsg=!1,async function(){var e,t,s;const n=null!=(t=null==(e=D.value)?void 0:e.scrollHeight)?t:0;null==(s=D.value)||s.scrollTo({top:n,behavior:"auto"})}())}),{immediate:!0}),(e,t)=>(n(),o("div",{class:i(["chat-main",{"home-bg":!a(G).id}]),ref_key:"chatMainRef",ref:D},[r(a(g),{"show-toolbar-tooltip":""},{default:c((()=>[(n(!0),o(l,null,m(a(G).msgList,((e,t)=>(n(),o(l,{key:t},[q(e)?(n(),o("div",{key:0,class:i(["message-item",{"message-item--mine":e.sender==a(G).userInfo.id}])},[B(e,t)?(n(),o("p",P,d(a(A)(e.sendTime).recordTime),1)):u("v-if",!0),z(e,"system")?(n(),p(w,{key:1,data:e},null,8,["data"])):(n(),o("div",R,[r(S,{"user-id":e.sender},{trigger:c((()=>[r(a(y),{round:"",size:38,src:e.senderAvatar},null,8,["src"])])),_:2},1032,["user-id"]),e.content?(n(),o("div",{key:0,class:i(["content",{emoji:e.content.chatMessageType===a(b).EMOJI,template:e.content.chatMessageType===a(b).TEMPLATE,"template--3":F(e.content)}]),"data-time":e.__time},[e.content.chatMessageType===a(b).TEXT?(n(),o("pre",{key:0,innerHTML:e.__content},null,8,x)):u("v-if",!0),e.content.chatMessageType===a(b).EMOJI?(n(),o("img",{key:1,src:a(I)[e.__content]},null,8,O)):u("v-if",!0),z(e,"template")?(n(),p(w,{key:2,data:e},null,8,["data"])):u("v-if",!0),e.content.chatMessageType===a(b).IMAGE?(n(),p(a(T),{key:3,width:"240",src:e.__content},null,8,["src"])):u("v-if",!0),e.content.chatMessageType===a(b).FILE?(n(),o("a",{key:4,href:e.content.fileUrl,onClick:f((()=>function(e,t){const s=new XMLHttpRequest;s.open("GET",e,!0),s.responseType="blob",s.onload=function(n){if(200===s.status){const n=window.URL.createObjectURL(s.response),o=document.createElement("a");o.href=n,o.download=t,o.dispatchEvent(new MouseEvent("click")),window.URL.revokeObjectURL(e)}},s.send()}(e.content.fileUrl,e.__content)),["prevent"])},d(e.__content),9,C)):u("v-if",!0)],10,U)):u("v-if",!0)]))],2)):u("v-if",!0)],64)))),128))])),_:1})],2))}});export{D as default};
@@ -1,19 +1,41 @@
1
1
  import { PropType } from 'vue';
2
2
  import { AnyObject } from '../../../../shared/types';
3
- declare const _default: import("vue").DefineComponent<{}, {
3
+ import { formatTime } from '../utils';
4
+ import { MESSAGE_TYPE } from '../constants';
5
+ declare const _default: import("vue").DefineComponent<{
6
+ visible: {
7
+ type: BooleanConstructor;
8
+ };
9
+ }, {
4
10
  tagColor: {
5
11
  color: string;
6
12
  textColor: string;
7
13
  };
14
+ props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
15
+ visible: {
16
+ type: BooleanConstructor;
17
+ };
18
+ }>> & {}>>;
8
19
  state: import("../types").IState;
9
- options: {
10
- label: any;
11
- value: any;
12
- avatar: any;
13
- }[];
14
- user: import("vue").Ref<never[]>;
20
+ recordRef: import("vue").Ref<any>;
21
+ recordList: import("vue").Ref<AnyObject[]>;
22
+ keyword: import("vue").Ref<any>;
23
+ memberList: import("vue").Ref<never[]>;
15
24
  startTime: import("vue").Ref<any>;
16
25
  endTime: import("vue").Ref<any>;
26
+ handleInput: () => void;
27
+ currentInfo: {
28
+ page: number;
29
+ hasMore: boolean;
30
+ lastSendTime: string;
31
+ };
32
+ handleSearch: () => Promise<void>;
33
+ options: import("vue").ComputedRef<AnyObject[]>;
34
+ resetAndSearch: () => void;
35
+ startDateDisabled: (ts: number) => boolean;
36
+ endDateDisabled: (ts: number) => boolean;
37
+ resetInfo: () => void;
38
+ handleCloseTag: (type: 'member' | 'start' | 'end') => void;
17
39
  getPrefixCondition: () => (JSX.Element | null)[];
18
40
  renderLabel: (option: AnyObject) => JSX.Element;
19
41
  NModal: any;
@@ -22,6 +44,17 @@ declare const _default: import("vue").DefineComponent<{}, {
22
44
  NSelect: any;
23
45
  NAvatar: any;
24
46
  NPopover: any;
47
+ NInputGroup: import("vue").DefineComponent<{
48
+ [x: string]: never;
49
+ [x: number]: never;
50
+ [x: symbol]: never;
51
+ }, {
52
+ mergedClsPrefix: import("vue").ComputedRef<string>;
53
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
54
+ [x: string]: never;
55
+ [x: number]: never;
56
+ [x: symbol]: never;
57
+ }>>, {}>;
25
58
  DatePicker: import("../../../../shared/types").SFCWithInstall<import("vue").DefineComponent<{
26
59
  updateUnchangedValue: {
27
60
  type: BooleanConstructor;
@@ -99,5 +132,14 @@ declare const _default: import("vue").DefineComponent<{}, {
99
132
  }, {
100
133
  updateUnchangedValue: boolean;
101
134
  }>>;
102
- }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
135
+ formatTime: typeof formatTime;
136
+ MESSAGE_TYPE: typeof MESSAGE_TYPE;
137
+ images: import("vue").Ref<any[]>;
138
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
139
+ visible: {
140
+ type: BooleanConstructor;
141
+ };
142
+ }>>, {
143
+ visible: boolean;
144
+ }>;
103
145
  export default _default;
@@ -1 +1 @@
1
- import{defineComponent as e,ref as l,openBlock as a,createBlock as t,unref as r,withCtx as s,createElementVNode as o,createVNode as n,resolveDynamicComponent as i,withDirectives as c,createTextVNode as u,toDisplayString as d,vShow as v,Fragment as m}from"vue";import{NModal as p,NInput as f,NAvatar as g,NSelect as b,NPopover as _,NTag as h,NIcon as x}from"naive-ui";import{SearchOutline as y}from"@vicons/ionicons5";import{useState as w}from"../hooks/useState.js";import I from"../../../date-picker/index.js";const k={class:"c-chat-dialog__content c-chat-record-wrapper"},S={class:"chat-record-box"},z={class:"chat-record-box__content"},U={class:"content-item"},j=o("div",{class:"msg-box"},[o("div",{class:"name-and-time"},[o("span",null,"大傻子(质控部)"),o("span",null,"今天14:30")]),o("div",{class:"content"},[o("p",{innerHTML:"内容内容"})])],-1),C={class:"content-item"},H=o("div",{class:"msg-box"},[o("div",{class:"name-and-time"},[o("span",null,"大傻子2号(质控部)"),o("span",null,"今天14:30")]),o("div",{class:"content"},[o("p",{innerHTML:"内容内容叭叭叭"})])],-1),L={class:"chat-record-box__filter"},M=o("span",{class:"filter-title"},"添加筛选条件",-1),T={class:"filter-item"},R=o("span",{class:"label"},"成员:",-1),q={class:"filter-item"},A=o("span",{class:"label"},"日期:",-1),B={class:"time-target"},D={class:"time-target__item"},E=o("span",null,"开始:",-1),F={class:"time-target__item"},G=o("span",null,"结束:",-1);var J=e({__name:"ChatRecord",setup(e){const J={color:"#fff",textColor:"#666"},{state:K}=w(),N=[{label:K.userInfo.name,value:K.userInfo.id,avatar:K.userInfo.avatar},{label:K.currentSessionItem.name,value:K.currentSessionItem.receiver,avatar:K.currentSessionItem.avatar}],O=l([]),P=l(),Q=l();function V(e){return n(m,null,[n("div",{style:"display: flex;align-items: center"},[n(g,{src:e.avatar,round:!0,size:"small"},null),n("span",{style:"margin-left: 10px"},[e.label])])])}return(e,l)=>(a(),t(r(p),{preset:"dialog",title:"聊天记录","show-icon":!1,class:"c-chat-dialog"},{default:s((()=>[o("div",k,[n(r(f),{placeholder:"搜索文件"},{prefix:s((()=>[(a(),t(i((()=>[n(x,{component:y,color:"#6666"},null),O.value.length>0?n(h,{closable:!0,bordered:!1,color:J,style:"margin-left: 10px"},{default:()=>[u("成员: "),O.value.length>1?O.value.length+"人":O.value[0]]}):null,P.value?n(h,{closable:!0,bordered:!1,color:J,style:"margin-left: 10px"},{default:()=>[u("起始时间: "),P.value]}):null,Q.value?n(h,{closable:!0,bordered:!1,color:J,style:"margin-left: 10px"},{default:()=>[u("结束时间: "),Q.value]}):null]))))])),_:1}),o("div",S,[o("div",z,[o("div",U,[n(r(g),{round:"",size:38}),j]),o("div",C,[n(r(g),{round:"",size:38}),H])]),o("div",L,[M,o("div",T,[R,n(r(b),{value:O.value,"onUpdate:value":l[0]||(l[0]=e=>O.value=e),multiple:"","max-tag-count":1,"render-label":V,options:N},null,8,["value"])]),o("div",q,[A,o("div",B,[n(r(_),{trigger:"click","show-arrow":!1},{trigger:s((()=>[o("div",D,[E,c(n(r(h),{bordered:!1,color:J,closable:""},{default:s((()=>[u(d(P.value),1)])),_:1},512),[[v,P.value]])])])),default:s((()=>[n(r(I),{"formatted-value":P.value,"onUpdate:formatted-value":l[1]||(l[1]=e=>P.value=e),type:"date",panel:"",clearable:""},null,8,["formatted-value"])])),_:1}),n(r(_),{trigger:"click","show-arrow":!1},{trigger:s((()=>[o("div",F,[G,c(n(r(h),{bordered:!1,color:J,closable:""},{default:s((()=>[u(d(Q.value),1)])),_:1},512),[[v,Q.value]])])])),default:s((()=>[n(r(I),{"formatted-value":Q.value,"onUpdate:formatted-value":l[2]||(l[2]=e=>Q.value=e),type:"date",panel:"",clearable:""},null,8,["formatted-value"])])),_:1})])])])])])])),_:1}))}});export{J as default};
1
+ import{defineComponent as e,ref as a,computed as l,watch as t,openBlock as s,createBlock as r,unref as n,withCtx as o,createElementVNode as i,createVNode as u,toDisplayString as c,resolveDynamicComponent as d,createElementBlock as v,Fragment as m,renderList as p,withDirectives as f,createTextVNode as g,vShow as y}from"vue";import{NModal as h,NAvatar as b,NInputGroup as _,NInput as T,NSelect as k,NPopover as M,NTag as x,NIcon as I}from"naive-ui";import{SearchOutline as w}from"@vicons/ionicons5";import{useState as S}from"../hooks/useState.js";import{transformMessage as j,formatTime as A}from"../utils/index.js";import{last as L}from"lodash-es";import C from"../../../date-picker/index.js";import{searchChatRecordApi as E}from"../api/index.js";import{useDebounceFn as H}from"@vueuse/core";import{format as z}from"date-fns";import{useScrollLoading as D}from"../hooks/useScrollLoading.js";import{MESSAGE_TYPE as U}from"../constants/index.js";import{images as K}from"../utils/emoji.js";const O={class:"c-chat-dialog__header"},R=i("span",{class:"left"},"聊天记录",-1),B={class:"center"},G={class:"c-chat-dialog__content c-chat-record-wrapper"},J={class:"chat-record-box"},N={class:"msg-box"},P={class:"name-and-time"},X={class:"content"},$=["src"],q=["src"],F=["innerHTML"],Q={key:1,class:"no-data"},V={class:"chat-record-box__filter"},W=i("span",{class:"filter-title"},"添加筛选条件",-1),Y={class:"filter-item"},Z=i("span",{class:"label"},"成员:",-1),ee={class:"filter-item"},ae=i("span",{class:"label"},"日期:",-1),le={class:"time-target"},te={class:"time-target__item"},se=i("span",null,"开始:",-1),re={class:"no-data"},ne={class:"time-target__item"},oe=i("span",null,"结束:",-1),ie={class:"no-data"};var ue=e({__name:"ChatRecord",props:{visible:{type:Boolean}},setup(e){const ue=e,ce={color:"#fff",textColor:"#666"},{state:de}=S(),ve=a(),me=a([]),pe=a(),fe=a([]),ge=a(),ye=a(),he=H(ke,500),be={page:0,hasMore:!0,lastSendTime:z(new Date,"yyyy-MM-dd HH:mm:ss")};async function _e(){var e;try{if(!be.hasMore)return;be.page++;const a=await E({orgId:de.orgId,keyword:pe.value,endTime:ye.value?ye.value+" 23:59:59":"",startTime:ge.value?ge.value+" 00:00:00":"",lastSendTime:be.lastSendTime,memberIdSet:fe.value,page:be.page,recordType:"ALL",sessionKey:de.currentSessionItem.sessionKey,userId:de.userInfo.id});Array.isArray(a)&&0!==a.length&&Array.isArray(a[0].recordList)||(be.hasMore=!1,console.log("接口返回不是一个数组,或者没有更多消息了"));let l=a||[];Array.isArray(a)&&a.length>0&&(l=a[0].recordList),be.lastSendTime=null==(e=L(l))?void 0:e.sendTime,l.forEach((e=>{var a,l,t,s,r;let n="";switch(e.content.chatMessageType){case U.TEXT:n=j(null==(a=e.content)?void 0:a.msg);break;case U.TEMPLATE:n=null==(s=null==(t=null==(l=e.content)?void 0:l.messageTemplate)?void 0:t.setting)?void 0:s.title;break;default:n=null==(r=e.content)?void 0:r.msg}e.__content=n})),me.value=be.page>1?me.value.concat(l):l}catch(e){console.log(e)}}D(ve,(()=>{_e()}));const Te=l((()=>[de.currentSessionItem]));function ke(){Object.assign(be,{page:0,hasMore:!0,lastSendTime:z(new Date,"yyyy-MM-dd HH:mm:ss")}),_e()}function Me(e){return!!ye.value&&e>Date.parse(`${ye.value} 23:59:59`)}function xe(e){return!!ge.value&&e<Date.parse(ge.value)}function Ie(e){switch(e){case"member":fe.value=[];break;case"start":ge.value=null;break;case"end":ye.value=null}}function we(e){return u(m,null,[u("div",{style:"display: flex;align-items: center"},[u(b,{src:e.avatar,round:!0,size:"small"},null),u("span",{style:"margin-left: 10px"},[e.name])])])}return t([()=>fe.value,()=>ge.value,()=>ye.value],(()=>{ue.visible&&ke()}),{deep:!0}),t((()=>ue.visible),(e=>{e?ke():(pe.value="",ye.value=null,ge.value=null,fe.value=[],me.value=[])})),(e,a)=>(s(),r(n(h),{preset:"dialog",title:"","show-icon":!1,"auto-focus":!1,class:"c-chat-dialog"},{header:o((()=>[i("div",O,[R,i("div",B,[u(n(b),{round:"",size:30,src:n(de).currentSessionItem.avatar},null,8,["src"]),i("span",null,c(n(de).currentSessionItem.name),1)])])])),default:o((()=>[i("div",G,[u(n(_),null,{default:o((()=>[(s(),r(d((()=>[u(I,{component:w,size:18,color:"#6666"},null),fe.value.length>0?u(x,{closable:!0,bordered:!1,color:ce,onClose:()=>Ie("member")},{default:()=>{var e;return[g("成员:")," ",fe.value.length>1?fe.value.length+"人":null==(e=Te.value.find((e=>e.receiver===fe.value[0])))?void 0:e.name]}}):null,ge.value?u(x,{closable:!0,bordered:!1,color:ce,onClose:()=>Ie("start")},{default:()=>[g("起始时间: "),ge.value]}):null,ye.value?u(x,{closable:!0,bordered:!1,color:ce,onClose:()=>Ie("end")},{default:()=>[g("结束时间: "),ye.value]}):null])))),u(n(T),{placeholder:"搜索",value:pe.value,"onUpdate:value":a[0]||(a[0]=e=>pe.value=e),valueModifiers:{trim:!0},onInput:n(he)},null,8,["value","onInput"])])),_:1}),i("div",J,[i("div",{class:"chat-record-box__content",ref_key:"recordRef",ref:ve},[me.value.length>0?(s(!0),v(m,{key:0},p(me.value,(e=>(s(),v("div",{class:"content-item",key:e.id},[u(n(b),{round:"",size:38,src:e.senderAvatar},null,8,["src"]),i("div",N,[i("div",P,[i("span",null,c(e.senderName),1),i("span",null,c(n(A)(e.sendTime).recordTime),1)]),i("div",X,[e.content.chatMessageType===n(U).IMAGE?(s(),v("img",{key:0,class:"img",src:e.__content},null,8,$)):e.content.chatMessageType===n(U).EMOJI?(s(),v("img",{key:1,class:"emoji",src:n(K)[e.__content]},null,8,q)):(s(),v("p",{key:2,innerHTML:e.__content},null,8,F))])])])))),128)):(s(),v("div",Q,"没有找到相关记录"))],512),i("div",V,[W,i("div",Y,[Z,u(n(k),{value:fe.value,"onUpdate:value":a[1]||(a[1]=e=>fe.value=e),multiple:"","max-tag-count":1,"render-label":we,options:n(Te),"value-field":"receiver"},null,8,["value","options"])]),i("div",ee,[ae,i("div",le,[u(n(M),{trigger:"click","show-arrow":!1},{trigger:o((()=>[i("div",te,[se,f(u(n(x),{bordered:!1,color:ce,closable:"",onClose:a[2]||(a[2]=()=>Ie("start"))},{default:o((()=>[g(c(ge.value),1)])),_:1},512),[[y,ge.value]]),f(i("span",re,"点击选择",512),[[y,!ge.value]])])])),default:o((()=>[u(n(C),{"formatted-value":ge.value,"onUpdate:formatted-value":a[3]||(a[3]=e=>ge.value=e),type:"date",panel:"",clearable:"","is-date-disabled":Me},null,8,["formatted-value"])])),_:1}),u(n(M),{trigger:"click","show-arrow":!1},{trigger:o((()=>[i("div",ne,[oe,f(u(n(x),{bordered:!1,color:ce,closable:"",onClose:a[4]||(a[4]=()=>Ie("end"))},{default:o((()=>[g(c(ye.value),1)])),_:1},512),[[y,ye.value]]),f(i("span",ie,"点击选择",512),[[y,!ye.value]])])])),default:o((()=>[u(n(C),{"formatted-value":ye.value,"onUpdate:formatted-value":a[5]||(a[5]=e=>ye.value=e),type:"date",panel:"",clearable:"","is-date-disabled":xe},null,8,["formatted-value"])])),_:1})])])])])])])),_:1}))}});export{ue as default};
@@ -1,10 +1,12 @@
1
1
  declare const _default: import("vue").DefineComponent<{}, {
2
+ cssVars: import("vue").ComputedRef<import("vue").CSSProperties>;
2
3
  inputRef: import("vue").Ref<any>;
3
4
  showSearch: import("vue").Ref<boolean>;
4
5
  keyword: import("vue").Ref<any>;
5
6
  userList: import("vue").Ref<any>;
6
7
  state: import("../types").IState;
7
- openSession: (item: import("../../..").AnyObject) => void;
8
+ openSession: (item: import("../../..").AnyObject) => Promise<void>;
9
+ handleInput: () => Promise<void>;
8
10
  handleSearch: () => Promise<void>;
9
11
  addSession: (userId: string) => Promise<void>;
10
12
  NPopover: any;
@@ -1 +1 @@
1
- import{defineComponent as e,ref as o,watch as a,nextTick as n,openBlock as r,createBlock as s,unref as l,withCtx as t,createVNode as i,createTextVNode as u,createElementVNode as c,withKeys as p,withModifiers as d,createElementBlock as v,Fragment as f,renderList as m,toDisplayString as h}from"vue";import{NPopover as w,NButton as y,NIcon as g,NInput as k,NAvatar as _}from"naive-ui";import{SearchOutline as S}from"@vicons/ionicons5";import{useState as I}from"../hooks/useState.js";import{useSession as j}from"../hooks/useSession.js";import{listUserApi as x,openSessionApi as C}from"../api/index.js";import{isArray as b}from"lodash-es";const z={class:"popover-search"},K={class:"user-list-wrapper"},U=["onClick"],E={class:"user-info"},G=c("span",null,"职务",-1),L=c("span",null,"部门",-1);var N=e({__name:"ChatSearch",setup(e){const N=o(),R=o(!1),T=o(),q=o(),{state:A}=I(),{openSession:B}=j(A);async function D(){const e=await x({orgId:A.orgId,keyword:T.value});b(e)&&(q.value=e)}return a((()=>R.value),(async e=>{var o;e&&(await n(),null==(o=N.value)||o.focus())})),(e,o)=>(r(),s(l(w),{show:R.value,"onUpdate:show":o[1]||(o[1]=e=>R.value=e),placement:"top",trigger:"click","display-directive":"show","show-arrow":!1,delay:0,overlap:""},{trigger:t((()=>[i(l(y),{color:"#d8dce34f",class:"search-trigger-btn"},{icon:t((()=>[i(l(g),{component:l(S),color:"#ffffff80"},null,8,["component"])])),default:t((()=>[u(" 搜索联系人 ")])),_:1})])),default:t((()=>[c("div",z,[i(l(k),{ref_key:"inputRef",ref:N,placeholder:"",size:"small",clearable:"",autofocus:"",round:"",onKeydown:p(d(D,["prevent"]),["enter"]),value:T.value,"onUpdate:value":o[0]||(o[0]=e=>T.value=e)},{prefix:t((()=>[i(l(g),{component:l(S)},null,8,["component"])])),_:1},8,["onKeydown","value"]),c("div",K,[(r(!0),v(f,null,m(q.value,(e=>(r(),v("div",{class:"user-item",key:e.id,onClick:()=>async function(e){R.value=!1;const o=await C({chatType:"SINGLE",receiver:e,sender:A.userInfo.id});B(o)}(e.id)},[i(l(_),{round:"",size:32,src:e.avatar},null,8,["src"]),c("div",E,[c("span",null,h(e.name),1),G,L])],8,U)))),128))])])])),_:1},8,["show"]))}});export{N as default};
1
+ import{defineComponent as e,ref as o,watch as s,nextTick as r,openBlock as a,createBlock as t,unref as n,withCtx as i,createVNode as l,createTextVNode as u,createElementVNode as f,normalizeStyle as c,createElementBlock as p,Fragment as m,renderList as v,toDisplayString as d}from"vue";import{NPopover as h,NButton as k,NIcon as w,NInput as y,NAvatar as g}from"naive-ui";import{SearchOutline as j}from"@vicons/ionicons5";import{useState as I}from"../hooks/useState.js";import{useSession as S}from"../hooks/useSession.js";import{listUserApi as _,openSessionApi as x}from"../api/index.js";import{isArray as C}from"lodash-es";import{useDebounceFn as b}from"@vueuse/core";import{useTheme as z}from"../../../../shared/hooks/useTheme.js";import"date-fns";import"@vue/shared";import"../../../../shared/utils/index.js";import"@vueuse/shared";import"../../../../shared/hooks/selectHooks/useSearchContent.js";const T={class:"user-list-wrapper"},U=["onClick"],D={class:"user-info"},E=f("span",null,"职务",-1),G=f("span",null,"部门",-1);var H=e({__name:"ChatSearch",setup(e){const H=z(),L=o(),M=o(!1),N=o(),R=o(),{state:q}=I(),{openSession:A}=S(q),B=b((async function(){if(!N.value)return void(R.value=[]);const e=await _({orgId:q.orgId,keyword:N.value});if(!C(e))return;R.value=e}),300);return s((()=>M.value),(async e=>{var o;e&&(await r(),null==(o=L.value)||o.focus())})),(e,o)=>(a(),t(n(h),{show:M.value,"onUpdate:show":o[1]||(o[1]=e=>M.value=e),placement:"top",trigger:"click","display-directive":"show","show-arrow":!1,delay:0,overlap:""},{trigger:i((()=>[l(n(k),{color:"#ffffff4D",class:"search-trigger-btn"},{icon:i((()=>[l(n(w),{component:n(j),color:"#ffffff80"},null,8,["component"])])),default:i((()=>[u(" 搜索联系人 ")])),_:1})])),default:i((()=>[f("div",{class:"popover-search",style:c(n(H))},[l(n(y),{ref_key:"inputRef",ref:L,size:"small",clearable:"",autofocus:"",value:N.value,"onUpdate:value":o[0]||(o[0]=e=>N.value=e),valueModifiers:{trim:!0},onInput:n(B)},{prefix:i((()=>[l(n(w),{color:"#ffffff80",component:n(j)},null,8,["component"])])),_:1},8,["value","onInput"]),f("div",T,[(a(!0),p(m,null,v(R.value,(e=>(a(),p("div",{class:"user-item",key:e.id,onClick:()=>async function(e){M.value=!1;const o=await x({chatType:"SINGLE",receiver:e,sender:q.userInfo.id});A(o)}(e.id)},[l(n(g),{round:"",size:32,src:e.avatar},null,8,["src"]),f("div",D,[f("span",null,d(e.name),1),E,G])],8,U)))),128))])],4)])),_:1},8,["show"]))}});export{H as default};
@@ -206,7 +206,7 @@ declare const _default: import("vue").DefineComponent<{}, {
206
206
  }>>;
207
207
  emit: (event: "close", ...args: any[]) => void;
208
208
  state: import("../types").IState;
209
- openSession: (item: AnyObject) => void;
209
+ openSession: (item: AnyObject) => Promise<void>;
210
210
  showUserDetail: import("vue").Ref<boolean>;
211
211
  showLargeAvatar: import("vue").Ref<boolean>;
212
212
  showPhone: import("vue").Ref<boolean>;
@@ -1 +1 @@
1
- import{defineComponent as e,useAttrs as s,openBlock as o,createBlock as t,unref as n,withCtx as i,createVNode as r,createElementVNode as a,toDisplayString as u}from"vue";import{NDrawer as c,NDrawerContent as l,NAvatar as m,NIcon as p,NSwitch as f}from"naive-ui";import{ChevronForwardOutline as d}from"@vicons/ionicons5";import{useState as v}from"../hooks/useState.js";import{useSession as h}from"../hooks/useSession.js";import g from"./PersonProfile.vue.js";import{toppingSessionApi as S}from"../api/index.js";import{isFunction as _}from"lodash-es";const I={class:"chat-set-wrapper"},w={class:"item user-info"},j={class:"item"},y=a("span",{class:"label"},"置顶聊天",-1);var b=e({__name:"ChatSet",setup(e){const b=s(),{state:k}=v(),{setCurrentSessionItem:C}=h(k);async function U(e){try{await S({sessionKey:k.currentSessionItem.sessionKey,id:k.currentSessionItem.id,topping:e}),C({topping:e})}catch(e){console.log(e)}}function x(){_(b["onUpdate:show"])&&b["onUpdate:show"](!1)}return(e,s)=>(o(),t(n(c),{width:320,"trap-focus":!1,"block-scroll":!1,to:".c-biunique-chat"},{default:i((()=>[r(n(l),{title:"聊天设置"},{default:i((()=>[a("div",I,[r(g,{"user-id":n(k).currentSessionItem.receiver,onClose:x},{trigger:i((()=>[a("div",w,[r(n(m),{round:"",size:40,src:n(k).currentSessionItem.avatar},null,8,["src"]),a("span",null,u(n(k).currentSessionItem.name),1),r(n(p),{size:24,component:n(d),class:"item__right"},null,8,["component"])])])),_:1},8,["user-id"]),a("div",j,[y,r(n(f),{value:n(k).userInfo.topping,"onUpdate:value":[s[0]||(s[0]=e=>n(k).userInfo.topping=e),U],class:"item__right"},null,8,["value"])])])])),_:1})])),_:1}))}});export{b as default};
1
+ import{defineComponent as e,useAttrs as s,openBlock as t,createBlock as o,unref as n,withCtx as i,createVNode as r,createElementVNode as a,toDisplayString as c}from"vue";import{NDrawer as u,NDrawerContent as m,NAvatar as l,NIcon as p,NSwitch as d}from"naive-ui";import{ChevronForwardOutline as f}from"@vicons/ionicons5";import{useState as v}from"../hooks/useState.js";import{useSession as h}from"../hooks/useSession.js";import S from"./PersonProfile.vue.js";import{toppingSessionApi as g}from"../api/index.js";import{isFunction as _}from"lodash-es";const I={class:"chat-set-wrapper"},w={class:"item user-info"},j={class:"item"},y=a("span",{class:"label"},"置顶聊天",-1);var b=e({__name:"ChatSet",setup(e){const b=s(),{state:k}=v(),{setCurrentSessionItem:C}=h(k);async function U(e){try{await g({sessionKey:k.currentSessionItem.sessionKey,id:k.currentSessionItem.id,topping:e}),C({topping:e})}catch(e){console.log(e)}}function x(){_(b["onUpdate:show"])&&b["onUpdate:show"](!1)}return(e,s)=>(t(),o(n(u),{width:320,"trap-focus":!1,"block-scroll":!1,to:".c-biunique-chat"},{default:i((()=>[r(n(m),{title:"聊天设置"},{default:i((()=>[a("div",I,[r(S,{"user-id":n(k).currentSessionItem.receiver,onClose:x},{trigger:i((()=>[a("div",w,[r(n(l),{round:"",size:40,src:n(k).currentSessionItem.avatar},null,8,["src"]),a("span",null,c(n(k).currentSessionItem.name),1),r(n(p),{size:24,component:n(f),class:"item__right"},null,8,["component"])])])),_:1},8,["user-id"]),a("div",j,[y,r(n(d),{value:n(k).currentSessionItem.topping,"onUpdate:value":[s[0]||(s[0]=e=>n(k).currentSessionItem.topping=e),U],class:"item__right"},null,8,["value"])])])])),_:1})])),_:1}))}});export{b as default};
@@ -1 +1 @@
1
- import{defineComponent as e,ref as t,computed as l,openBlock as s,createElementBlock as o,Fragment as n,unref as i,createElementVNode as a,toDisplayString as c,withModifiers as r,createBlock as d,createCommentVNode as m,renderList as u,withCtx as p,createTextVNode as v,normalizeClass as f,createVNode as y}from"vue";import{NIcon as g,NButton as k}from"naive-ui";import{ChevronForwardOutline as _,AlertCircleSharp as h}from"@vicons/ionicons5";import b from"../../../../shared/components/SvgIcon/SvgIcon.vue.js";import{useState as T}from"../hooks/useState.js";const C={class:"default-msg-template__header"},M={class:"title"},S={class:"default-msg-template__body"},E=["src"],H={class:"template-content"},L=["innerHTML"],N={key:0,class:"default-msg-template__btn-group"},w=a("i",{class:"chat--iconfont chat--icon-more"},null,-1),j={key:1,class:"describe-msg-template"},B={class:"describe-msg-template__header"},D={class:"title"},O={class:"txt"},x=a("i",{class:"chat--iconfont chat--icon-more"},null,-1),z={key:2,class:"system-msg-template"},F=["innerHTML"],I=["onClick"];var R=e({__name:"MessageTemplate",props:{data:{type:Object,required:!0}},setup(e){const R=e,q=t(),P=t(!0),{emit:V}=T(),W=l((()=>{if(!q.value)return!1;const{childNodes:e,clientWidth:t}=q.value;let l=0;for(let s=0;s<e.length;s++)if(e[s].nodeType===Node.ELEMENT_NODE){const t=parseFloat(window.getComputedStyle(e[s]).lineHeight);l+=e[s].scrollHeight/t}else if(e[s].nodeType===Node.TEXT_NODE){const o=e[s].nodeValue.trim();if(""!==o){const e=o.split(" "),s=Math.floor(t/parseFloat(window.getComputedStyle(q.value).fontSize));l+=Math.ceil(e.length/s)}}return l>6})),X=l((()=>R.data.content.messageTemplate.setting)),A=l((()=>X.value.serverSetting)),G=l((()=>(A.value.topRightButton||[])[0])),J=l((()=>{const e=(X.value.content||"").split("##").filter((e=>e));return e?e.map((e=>{const t=/\\n|\n|\r/g;return t.test(e)?e.replace(t,"<br>"):e})):[]})),K=l((()=>{var e;return(null==(e=A.value)?void 0:e.toolbar_button)||[]})),Q=l((()=>(A.value.bottomButton||[])[0])),U=l((()=>X.value.dbParamsList)),Y=l((()=>R.data.content.messageTemplateData));function Z(e){V("template-click",e,R.data)}return(e,t)=>(s(),o(n,null,[1==i(X).style.id?(s(),o("div",{key:0,class:"default-msg-template",onClick:t[2]||(t[2]=()=>Z(i(A)))},[a("div",C,[a("span",M,c(i(X).title),1),i(G)?(s(),o("span",{key:0,class:"btn",onClick:t[0]||(t[0]=r((()=>Z(i(G))),["stop"]))},c(i(G).title),1)):i(A).address?(s(),d(i(g),{key:1,component:i(_),color:"#969696"},null,8,["component"])):m("v-if",!0)]),a("div",S,[i(X).style.icon?(s(),d(i(b),{key:0,class:"logo","icon-class":i(X).style.icon},null,8,["icon-class"])):i(X).style.image?(s(),o("img",{key:1,class:"logo",src:i(X).style.image},null,8,E)):m("v-if",!0),a("div",H,[(s(!0),o(n,null,u(i(J),(e=>(s(),o("div",{key:e,innerHTML:e},null,8,L)))),128))])]),i(K)?(s(),o("div",N,[(s(!0),o(n,null,u(i(K),((e,t)=>(s(),d(i(k),{type:"primary",round:"",ghost:"",onClick:r((()=>Z(e)),["stop"]),key:t},{default:p((()=>[v(c(e.title),1)])),_:2},1032,["onClick"])))),128))])):m("v-if",!0),i(Q)?(s(),o("div",{key:1,class:"default-msg-template__footer",onClick:t[1]||(t[1]=r((()=>Z(i(Q))),["stop"]))},[v(c(i(Q).title)+" ",1),w])):m("v-if",!0)])):m("v-if",!0),3==i(X).style.id?(s(),o("div",j,[a("div",B,c(i(X).title),1),a("div",{class:f(["describe-msg-template__body",i(W)&&P.value?"overflow-hidden":""]),ref_key:"describeBodyRef",ref:q},[(s(!0),o(n,null,u(i(U),((e,t)=>(s(),o(n,{key:t},[a("div",D,c(e.desc),1),a("div",O,c(i(Y)[e.p_name]),1)],64)))),128))],2),i(W)?(s(),o("div",{key:0,class:f(["describe-msg-template__footer",P.value?"":"hidden"]),onClick:t[3]||(t[3]=()=>P.value=!1)},[v(" 展开全部 "),x],2)):m("v-if",!0)])):m("v-if",!0),2==i(X).style.id?(s(),o("div",z,[y(i(g),{component:i(h),color:"#ffc200",size:18},null,8,["component"]),a("span",{innerHTML:J.value.join("<br>")},null,8,F),(s(!0),o(n,null,u(i(K),((e,t)=>(s(),o("span",{class:"btn",onClick:()=>Z(e),key:t},c(e.title),9,I)))),128))])):m("v-if",!0)],64))}});export{R as default};
1
+ import{defineComponent as e,ref as t,computed as l,openBlock as s,createElementBlock as n,Fragment as o,unref as a,createElementVNode as i,toDisplayString as c,withModifiers as r,createBlock as d,createCommentVNode as m,renderList as u,withCtx as p,createTextVNode as v,normalizeClass as f,createVNode as g}from"vue";import{NIcon as y,NButton as k}from"naive-ui";import{ChevronForwardOutline as _,AlertCircleSharp as h}from"@vicons/ionicons5";import b from"../../../../shared/components/SvgIcon/SvgIcon.vue.js";import{useState as T}from"../hooks/useState.js";const C={class:"default-msg-template__header"},M={class:"title"},L={class:"default-msg-template__body"},S=["src"],E={class:"template-content"},H=["innerHTML"],N={key:0,class:"default-msg-template__btn-group"},w=i("i",{class:"chat--iconfont chat--icon-more"},null,-1),j={key:1,class:"describe-msg-template"},B={class:"describe-msg-template__header"},D={class:"title"},O={class:"txt"},x=i("i",{class:"chat--iconfont chat--icon-more"},null,-1),z={key:2,class:"system-msg-template"},F=["innerHTML"],I=["onClick"];var P=e({__name:"MessageTemplate",props:{data:{type:Object,required:!0}},setup(e){const P=e,R=t(),q=t(!0),{emit:V}=T(),W=l((()=>{if(!R.value)return!1;const{childNodes:e,clientWidth:t}=R.value;let l=0;for(let s=0;s<e.length;s++)if(e[s].nodeType===Node.ELEMENT_NODE){const t=parseFloat(window.getComputedStyle(e[s]).lineHeight);l+=e[s].scrollHeight/t}else if(e[s].nodeType===Node.TEXT_NODE){const n=e[s].nodeValue.trim();if(""!==n){const e=n.split(" "),s=Math.floor(t/parseFloat(window.getComputedStyle(R.value).fontSize));l+=Math.ceil(e.length/s)}}return l>6})),X=l((()=>P.data.content.messageTemplate.setting)),$=l((()=>X.value.serverSetting)),A=l((()=>($.value.topRightButton||[])[0])),G=l((()=>{const e=(X.value.content||"").split("##").filter((e=>e));if(!e)return[];const{dbParamsList:t}=X.value||{};return e.map((e=>(e||"").replace(/\\n|\n|\r/g,"<br>").replace(/\${(.*?)}/g,((e,l)=>{var s;if(0===(t||[]).length)return"";return(null==(s=t.find((e=>e.p_name===l)))?void 0:s.desc)||""}))))})),J=l((()=>{var e;return(null==(e=$.value)?void 0:e.toolbar_button)||[]})),K=l((()=>($.value.bottomButton||[])[0])),Q=l((()=>X.value.dbParamsList)),U=l((()=>P.data.content.messageTemplateData));function Y(e){V("template-click",e,P.data)}return(e,t)=>(s(),n(o,null,[1==a(X).style.id?(s(),n("div",{key:0,class:"default-msg-template",onClick:t[2]||(t[2]=()=>Y(a($)))},[i("div",C,[i("span",M,c(a(X).title),1),a(A)?(s(),n("span",{key:0,class:"btn",onClick:t[0]||(t[0]=r((()=>Y(a(A))),["stop"]))},c(a(A).title),1)):a($).address?(s(),d(a(y),{key:1,component:a(_),color:"#969696"},null,8,["component"])):m("v-if",!0)]),i("div",L,[a(X).style.icon?(s(),d(a(b),{key:0,class:"logo","icon-class":a(X).style.icon},null,8,["icon-class"])):a(X).style.image?(s(),n("img",{key:1,class:"logo",src:a(X).style.image},null,8,S)):m("v-if",!0),i("div",E,[(s(!0),n(o,null,u(a(G),(e=>(s(),n("div",{key:e,innerHTML:e},null,8,H)))),128))])]),a(J)?(s(),n("div",N,[(s(!0),n(o,null,u(a(J),((e,t)=>(s(),d(a(k),{type:"primary",round:"",ghost:"",onClick:r((()=>Y(e)),["stop"]),key:t},{default:p((()=>[v(c(e.title),1)])),_:2},1032,["onClick"])))),128))])):m("v-if",!0),a(K)?(s(),n("div",{key:1,class:"default-msg-template__footer",onClick:t[1]||(t[1]=r((()=>Y(a(K))),["stop"]))},[v(c(a(K).title)+" ",1),w])):m("v-if",!0)])):m("v-if",!0),3==a(X).style.id?(s(),n("div",j,[i("div",B,c(a(X).title),1),i("div",{class:f(["describe-msg-template__body",a(W)&&q.value?"overflow-hidden":""]),ref_key:"describeBodyRef",ref:R},[(s(!0),n(o,null,u(a(Q),((e,t)=>(s(),n(o,{key:t},[i("div",D,c(e.desc),1),i("div",O,c(a(U)[e.p_name]),1)],64)))),128))],2),a(W)?(s(),n("div",{key:0,class:f(["describe-msg-template__footer",q.value?"":"hidden"]),onClick:t[3]||(t[3]=()=>q.value=!1)},[v(" 展开全部 "),x],2)):m("v-if",!0)])):m("v-if",!0),2==a(X).style.id?(s(),n("div",z,[g(a(y),{component:a(h),color:"#ffc200",size:18},null,8,["component"]),i("span",{innerHTML:G.value.join("<br>")},null,8,F),(s(!0),n(o,null,u(a(J),((e,t)=>(s(),n("span",{class:"btn",onClick:()=>Y(e),key:t},c(e.title),9,I)))),128))])):m("v-if",!0)],64))}});export{P as default};
@@ -16,7 +16,7 @@ declare const _default: import("vue").DefineComponent<{
16
16
  }>>;
17
17
  emit: (event: "close", ...args: any[]) => void;
18
18
  state: import("../types").IState;
19
- openSession: (item: AnyObject) => void;
19
+ openSession: (item: AnyObject) => Promise<void>;
20
20
  showUserDetail: import("vue").Ref<boolean>;
21
21
  showLargeAvatar: import("vue").Ref<boolean>;
22
22
  showPhone: import("vue").Ref<boolean>;
@@ -15,7 +15,7 @@ declare const _default: import("vue").DefineComponent<{}, {
15
15
  currentFilterKey: import("vue").Ref<string>;
16
16
  state: import("../types").IState;
17
17
  emit: (event: string, ...args: any[]) => void;
18
- openSession: (item: AnyObject) => void;
18
+ openSession: (item: AnyObject) => Promise<void>;
19
19
  unreadTotal: import("vue").ComputedRef<number>;
20
20
  setSessionList: (list: AnyObject[]) => void;
21
21
  currentWidth: import("vue").ComputedRef<number>;