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

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 (244) hide show
  1. package/es/components/audio-sdk/index.d.ts +18 -16
  2. package/es/components/audio-sdk/src/Index.vue.d.ts +18 -16
  3. package/es/components/audio-sdk/src/Index.vue2.js +47 -12
  4. package/es/components/audio-sdk/src/audioSDK.js +1 -1
  5. package/es/components/audio-sdk/src/components/recording-modal.vue.d.ts +6 -6
  6. package/es/components/audio-sdk/src/components/recording.vue.d.ts +6 -6
  7. package/es/components/audio-sdk/src/components/recording.vue2.js +17 -3
  8. package/es/components/base-search/index.d.ts +3 -0
  9. package/es/components/base-search/src/index.vue.d.ts +3 -0
  10. package/es/components/big-table/src/components/NoData.vue2.js +8 -1
  11. package/es/components/big-table/src/hooks/useTableParse.js +8 -1
  12. package/es/components/button-print/index.d.ts +9 -3
  13. package/es/components/button-print/src/ButtonPrint.vue.d.ts +9 -3
  14. package/es/components/button-print/src/ButtonPrint.vue2.js +6 -1
  15. package/es/components/button-print/src/components/NewPrintComponent.vue.d.ts +11 -4
  16. package/es/components/button-print/src/components/NewPrintComponent.vue2.js +113 -16
  17. package/es/components/button-print/src/components/OldPrintComponent.vue2.js +9 -3
  18. package/es/components/button-print/src/utils/print.d.ts +3 -3
  19. package/es/components/button-print/src/utils/print.js +36 -23
  20. package/es/components/button-print/style/index.css +1 -1
  21. package/es/components/callback/src/components/render/popupMaps.d.ts +18 -0
  22. package/es/components/card-reader-sdk-cn/src/henan/index.js +8 -1
  23. package/es/components/classification/index.d.ts +56 -6
  24. package/es/components/classification/src/components/search-filter/index.vue.d.ts +56 -6
  25. package/es/components/classification/src/components/set-classification/index.vue.d.ts +56 -6
  26. package/es/components/classification/src/index.vue.d.ts +56 -6
  27. package/es/components/date-picker/src/DatePicker.vue2.js +8 -1
  28. package/es/components/expand-field/index.d.ts +792 -1
  29. package/es/components/expand-field/src/components/FormItemPerson.vue.d.ts +792 -1
  30. package/es/components/expand-field/src/components/PersonModal.vue.d.ts +792 -1
  31. package/es/components/expand-field/src/components/form.vue.d.ts +792 -1
  32. package/es/components/expand-field/src/components/form.vue2.js +8 -1
  33. package/es/components/expand-field/src/index.vue.d.ts +792 -1
  34. package/es/components/fabric-chart/src/hooks/birthProcess/useBirthProcess.js +3 -1
  35. package/es/components/field-editor/index.d.ts +18 -0
  36. package/es/components/field-editor/src/FieldEditor.vue.d.ts +18 -0
  37. package/es/components/field-editor/src/FieldEditor.vue2.js +2 -1
  38. package/es/components/field-editor/src/fields.d.ts +1 -0
  39. package/es/components/field-editor/src/fields.js +6 -0
  40. package/es/components/field-set/src/FieldColor.vue.d.ts +10 -5
  41. package/es/components/field-set/src/FieldFilter.vue.d.ts +10 -5
  42. package/es/components/field-set/src/FieldSet.vue.d.ts +43 -6
  43. package/es/components/field-set/src/FieldSet.vue2.js +118 -69
  44. package/es/components/field-set/src/Index.vue2.js +8 -3
  45. package/es/components/field-set/src/TableStyle.vue2.js +2 -2
  46. package/es/components/field-set/src/components/table-row.vue.d.ts +6 -5
  47. package/es/components/field-set/src/components/table-row.vue2.js +21 -6
  48. package/es/components/field-set/src/constants/index.d.ts +1 -1
  49. package/es/components/field-set/src/types/index.d.ts +2 -0
  50. package/es/components/field-set/style/index.css +1 -1
  51. package/es/components/form-config/index.d.ts +102 -0
  52. package/es/components/form-config/src/FormConfig.vue.d.ts +102 -0
  53. package/es/components/form-config/src/components/FormConfigCreator.vue.d.ts +18 -0
  54. package/es/components/form-config/src/components/FormConfigEdit.vue.d.ts +63 -0
  55. package/es/components/form-config/src/components/FormConfigEdit.vue2.js +4 -4
  56. package/es/components/form-config/src/components/FormConfigEventSetting.vue.d.ts +18 -0
  57. package/es/components/form-config/src/components/FormConfigEventSetting.vue2.js +9 -2
  58. package/es/components/form-config/src/constants/index.d.ts +31 -1
  59. package/es/components/form-config/src/constants/index.js +150 -1
  60. package/es/components/form-config/src/hooks/useConfigurationField.d.ts +2 -2
  61. package/es/components/form-config/src/hooks/useConfigurationField.js +53 -6
  62. package/es/components/form-config/src/hooks/useLocale.d.ts +6 -0
  63. package/es/components/form-config/src/hooks/useLocale.js +34 -0
  64. package/es/components/form-config/src/types/index.d.ts +12 -0
  65. package/es/components/form-render/index.d.ts +18 -0
  66. package/es/components/form-render/src/FormRender.vue.d.ts +18 -0
  67. package/es/components/form-render/src/FormRender.vue2.js +5 -0
  68. package/es/components/form-render/src/FormRenderWrapper.vue.d.ts +18 -0
  69. package/es/components/form-render/src/components/renderer/formItem.d.ts +2 -0
  70. package/es/components/form-render/src/components/renderer/formItem.js +17 -3
  71. package/es/components/form-render/src/components/renderer/levelSearchCascader/index.js +4 -2
  72. package/es/components/form-render/src/components/renderer/lineBar/FormCollapse.vue.d.ts +1 -0
  73. package/es/components/form-render/src/components/renderer/lineBar/index.d.ts +1 -0
  74. package/es/components/form-render/src/components/renderer/searchCascade.js +3 -0
  75. package/es/components/form-render/src/hooks/useBusinessBinding.d.ts +12 -3
  76. package/es/components/form-render/src/hooks/useBusinessBinding.js +7 -7
  77. package/es/components/form-render/src/hooks/useFieldListAdaptor.js +5 -2
  78. package/es/components/form-render/src/hooks/useFieldNormalize.d.ts +2 -0
  79. package/es/components/form-render/src/hooks/useFieldNormalize.js +15 -0
  80. package/es/components/form-render/src/hooks/useFormContext.js +1 -1
  81. package/es/components/form-render/src/hooks/useFormValidator.js +8 -1
  82. package/es/components/form-render/src/hooks/useLowCodeReactions.js +2 -1
  83. package/es/components/form-render/src/types/index.d.ts +1 -0
  84. package/es/components/form-render/src/utils/business.d.ts +3 -1
  85. package/es/components/form-render/src/utils/business.js +7 -1
  86. package/es/components/iho-chat/index.d.ts +861 -49
  87. package/es/components/iho-chat/src/Index.vue.d.ts +861 -49
  88. package/es/components/iho-chat/src/components/ChatAdd.vue.d.ts +24 -1
  89. package/es/components/iho-chat/src/components/ChatFile.vue.d.ts +181 -8
  90. package/es/components/iho-chat/src/components/ChatFile.vue2.js +51 -41
  91. package/es/components/iho-chat/src/components/ChatFooter.vue.d.ts +66 -6
  92. package/es/components/iho-chat/src/components/ChatFooter.vue2.js +154 -57
  93. package/es/components/iho-chat/src/components/ChatHeader.vue.d.ts +329 -15
  94. package/es/components/iho-chat/src/components/ChatHeader.vue2.js +21 -19
  95. package/es/components/iho-chat/src/components/ChatMain.vue.d.ts +235 -20
  96. package/es/components/iho-chat/src/components/ChatMain.vue2.js +298 -279
  97. package/es/components/iho-chat/src/components/ChatRecord.vue.d.ts +51 -5
  98. package/es/components/iho-chat/src/components/ChatRecord.vue2.js +3 -3
  99. package/es/components/iho-chat/src/components/ChatSearch.vue.d.ts +24 -1
  100. package/es/components/iho-chat/src/components/ChatSet.vue.d.ts +48 -2
  101. package/es/components/iho-chat/src/components/ContextMenu.js +34 -27
  102. package/es/components/iho-chat/src/components/ImageLightbox.vue.d.ts +104 -0
  103. package/es/components/iho-chat/src/components/ImageLightbox.vue.js +6 -0
  104. package/es/components/iho-chat/src/components/ImageLightbox.vue2.js +307 -0
  105. package/es/components/iho-chat/src/components/MessageEvent.vue.d.ts +24 -1
  106. package/es/components/iho-chat/src/components/MessageMergeForward.vue.d.ts +53 -6
  107. package/es/components/iho-chat/src/components/MessageMergeForward.vue2.js +3 -3
  108. package/es/components/iho-chat/src/components/MultipleVideo.vue.d.ts +64 -2
  109. package/es/components/iho-chat/src/components/MultipleVideo.vue2.js +112 -53
  110. package/es/components/iho-chat/src/components/PersonProfile.vue.d.ts +24 -1
  111. package/es/components/iho-chat/src/components/SelectLabel.vue.d.ts +1 -1
  112. package/es/components/iho-chat/src/components/SiderList.vue.d.ts +24 -1
  113. package/es/components/iho-chat/src/components/Video.vue.d.ts +24 -1
  114. package/es/components/iho-chat/src/hooks/index.d.ts +1 -0
  115. package/es/components/iho-chat/src/hooks/index.js +1 -0
  116. package/es/components/iho-chat/src/hooks/useData.d.ts +51 -4
  117. package/es/components/iho-chat/src/hooks/useData.js +2 -7
  118. package/es/components/iho-chat/src/hooks/useDraggable.d.ts +25 -0
  119. package/es/components/iho-chat/src/hooks/useDraggable.js +160 -0
  120. package/es/components/iho-chat/src/hooks/useVideo.d.ts +24 -1
  121. package/es/components/iho-chat/src/types/index.d.ts +37 -1
  122. package/es/components/iho-chat/src/utils/emoji.d.ts +1 -1
  123. package/es/components/iho-chat/src/utils/emoji.js +1 -1
  124. package/es/components/iho-chat/src/utils/index.d.ts +3 -3
  125. package/es/components/iho-chat/src/utils/index.js +27 -39
  126. package/es/components/iho-chat/style/index.css +1 -1
  127. package/es/components/iho-table/src/plugins/filterRenderPlugin/filter.vue2.js +8 -1
  128. package/es/components/iho-table/src/plugins/headerPlugin/index.js +5 -2
  129. package/es/components/iho-table/src/plugins/highLightSetPlugin.js +2 -1
  130. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/selectRendererPlugin/editSelect.js +1 -1
  131. package/es/components/index.css +1 -1
  132. package/es/components/info-header/index.d.ts +41 -0
  133. package/es/components/info-header/src/InfoHeader.vue.d.ts +41 -0
  134. package/es/components/info-header/src/components/infoDescription/DescriptionItem.vue.d.ts +1 -0
  135. package/es/components/info-header/src/components/infoDescription/DescriptionItem.vue2.js +56 -22
  136. package/es/components/info-header/src/components/infoDescription/DescriptionList.vue.d.ts +1 -0
  137. package/es/components/info-header/src/components/infoDescription/index.vue.d.ts +19 -0
  138. package/es/components/info-header/src/components/patientInfo/index.vue.d.ts +18 -0
  139. package/es/components/info-header/src/components/patientInfo/index.vue2.js +16 -2
  140. package/es/components/quick-search/index.d.ts +2 -0
  141. package/es/components/quick-search/src/index.vue.d.ts +2 -0
  142. package/es/components/scale-view/index.d.ts +67 -17
  143. package/es/components/scale-view/src/ScaleView.vue.d.ts +70 -19
  144. package/es/components/scale-view/src/ScaleView.vue2.js +84 -10
  145. package/es/components/scale-view/src/components/AnswerParse.vue.d.ts +5 -0
  146. package/es/components/scale-view/src/components/AnswerParse.vue2.js +74 -8
  147. package/es/components/scale-view/src/components/EvaluateCountdown.vue.d.ts +10 -7
  148. package/es/components/scale-view/src/components/EvaluateCountdown.vue2.js +28 -4
  149. package/es/components/scale-view/src/components/EvaluatePage.vue.d.ts +10 -7
  150. package/es/components/scale-view/src/components/EvaluatePage.vue2.js +29 -8
  151. package/es/components/scale-view/src/components/NoData.vue2.js +9 -3
  152. package/es/components/scale-view/src/components/ScaleScore.d.ts +1 -1
  153. package/es/components/scale-view/src/components/ScaleScore.js +47 -4
  154. package/es/components/scale-view/src/components/formitem/r-checkbox.js +20 -2
  155. package/es/components/scale-view/src/components/formitem/r-radio.js +2 -0
  156. package/es/components/scale-view/src/components/formitem/r-sign.js +32 -4
  157. package/es/components/scale-view/src/components/formitem/r-upload.js +65 -7
  158. package/es/components/scale-view/src/components/formitem/sign-com.js +8 -1
  159. package/es/components/scale-view/src/hooks/scaleview-computed.js +20 -5
  160. package/es/components/scale-view/src/hooks/scaleview-init.js +24 -3
  161. package/es/components/scale-view/src/hooks/scaleview-methods.js +40 -5
  162. package/es/components/scale-view/src/hooks/scaleview-props.d.ts +8 -0
  163. package/es/components/scale-view/src/hooks/scaleview-props.js +8 -0
  164. package/es/components/scale-view/src/hooks/scaleview-submit.d.ts +2 -1
  165. package/es/components/scale-view/src/hooks/scaleview-submit.js +64 -8
  166. package/es/components/scale-view/src/hooks/scaleview-validate.d.ts +1 -1
  167. package/es/components/scale-view/src/hooks/scaleview-validate.js +157 -24
  168. package/es/components/scale-view/src/hooks/use-evaluate.js +16 -2
  169. package/es/components/scale-view/src/hooks/use-noData.js +33 -5
  170. package/es/components/scale-view/src/utils/judge-types.d.ts +2 -1
  171. package/es/components/scale-view/src/utils/judge-types.js +10 -10
  172. package/es/components/scale-view/src/utils/watch-form-change.d.ts +13 -0
  173. package/es/components/scale-view/src/utils/watch-form-change.js +71 -0
  174. package/es/components/scale-view/style/index.css +1 -1
  175. package/es/components/select-person/index.d.ts +792 -1
  176. package/es/components/select-person/src/SelectPerson.vue.d.ts +434 -341
  177. package/es/components/select-person/src/SelectPerson.vue2.js +521 -675
  178. package/es/components/select-person/src/SelectPersonRole.vue.d.ts +630 -0
  179. package/es/components/select-person/src/SelectPersonRole.vue.js +6 -0
  180. package/es/components/select-person/src/SelectPersonRole.vue2.js +942 -0
  181. package/es/components/select-person/src/components/GroupItem.vue.d.ts +19 -0
  182. package/es/components/select-person/src/components/GroupItem.vue.js +6 -0
  183. package/es/components/select-person/src/components/GroupItem.vue2.js +37 -0
  184. package/es/components/select-person/src/components/SearchGroupList.vue.d.ts +214 -0
  185. package/es/components/select-person/src/components/SearchGroupList.vue.js +6 -0
  186. package/es/components/select-person/src/components/SearchGroupList.vue2.js +145 -0
  187. package/es/components/select-person/src/components/SearchMultiple.vue2.js +1 -1
  188. package/es/components/select-person/src/components/SearchOrgAndStaff.vue2.js +21 -12
  189. package/es/components/select-person/src/components/TagItem.vue.d.ts +43 -0
  190. package/es/components/select-person/src/components/TagItem.vue.js +6 -0
  191. package/es/components/select-person/src/components/TagItem.vue2.js +40 -0
  192. package/es/components/select-person/src/index.vue.d.ts +793 -1
  193. package/es/components/select-person/src/index.vue2.js +21 -4
  194. package/es/components/select-person/src/types/index.d.ts +35 -0
  195. package/es/components/select-person/src/types/index.js +1 -0
  196. package/es/components/select-person/src/utils/index.d.ts +3 -0
  197. package/es/components/select-person/src/utils/index.js +29 -8
  198. package/es/components/select-person/style/index.css +1 -1
  199. package/es/components/shortcut-setter/index.d.ts +18 -0
  200. package/es/components/shortcut-setter/src/ShortcutSetter.vue.d.ts +18 -0
  201. package/es/components/table-filter/src/components/bi-filter/ValueCfg.vue.d.ts +1 -0
  202. package/es/components/table-filter/src/components/bi-filter/components/SelectFilter.vue.d.ts +1 -0
  203. package/es/components/table-filter/src/components/bi-filter/components/index.d.ts +1 -0
  204. package/es/components/table-filter/src/components/bi-filter/index.vue.d.ts +1 -0
  205. package/es/components/table-filter/src/components/classify-filter/ValueCfg.vue.d.ts +54 -6
  206. package/es/components/table-filter/src/components/classify-filter/ValueCfg.vue2.js +26 -10
  207. package/es/components/table-filter/src/components/classify-filter/components/Date.vue.d.ts +17 -2
  208. package/es/components/table-filter/src/components/classify-filter/components/Date.vue2.js +37 -2
  209. package/es/components/table-filter/src/components/classify-filter/components/DateRange.vue.d.ts +18 -2
  210. package/es/components/table-filter/src/components/classify-filter/components/DateRange.vue2.js +44 -1
  211. package/es/components/table-filter/src/components/classify-filter/components/SelectFilter.vue.d.ts +1 -0
  212. package/es/components/table-filter/src/components/classify-filter/components/index.d.ts +36 -4
  213. package/es/components/table-filter/src/components/classify-filter/hooks/useFilterConditions.js +2 -1
  214. package/es/components/table-filter/src/components/classify-filter/index.vue.d.ts +55 -6
  215. package/es/components/table-filter/src/components/classify-filter/index.vue2.js +6 -3
  216. package/es/components/table-filter/src/components/render-widget/components/DateInner.vue.d.ts +1 -1
  217. package/es/components/table-filter/src/components/render-widget/components/DateOut.vue2.js +12 -1
  218. package/es/components/table-filter/src/components/render-widget/components/DateQuickBtn/index.vue.d.ts +1 -1
  219. package/es/components/table-filter/src/components/render-widget/components/DateQuickBtn/index.vue2.js +25 -6
  220. package/es/components/table-filter/src/components/render-widget/components/DateRangeInner.vue.d.ts +1 -1
  221. package/es/components/table-filter/src/components/render-widget/components/DateRangeOut.vue2.js +12 -1
  222. package/es/components/table-filter/src/components/render-widget/components/index.d.ts +2 -2
  223. package/es/components/table-filter/src/components/render-widget/widgetCfgMaps.d.ts +2 -2
  224. package/es/components/table-filter/src/hooks/useAdvanced.d.ts +2 -0
  225. package/es/components/table-filter/src/hooks/useAdvanced.js +20 -3
  226. package/es/components/table-filter/src/hooks/useRenderWidget.js +4 -0
  227. package/es/components/table-filter/src/tool/date.d.ts +3 -0
  228. package/es/components/table-filter/src/tool/date.js +139 -0
  229. package/es/components/table-filter/src/tool/transformData.d.ts +1 -0
  230. package/es/components/table-filter/src/tool/transformData.js +11 -8
  231. package/es/components/table-filter/src/types/enums.d.ts +1 -0
  232. package/es/components/table-filter/src/types/enums.js +2 -1
  233. package/es/components/table-filter/src/types/index.d.ts +12 -0
  234. package/es/components/vod-chunk-upload/index.d.ts +3 -0
  235. package/es/components/vod-chunk-upload/src/chunk-upload-new.vue.d.ts +1 -29
  236. package/es/components/vod-chunk-upload/src/chunk-upload-new.vue2.js +109 -11
  237. package/es/components/vod-chunk-upload/src/hooks/upload-computed.js +15 -1
  238. package/es/components/vod-chunk-upload/src/hooks/upload-data.js +72 -9
  239. package/es/components/vod-chunk-upload/src/vod-chunk-upload/vod-chunk-upload.vue.d.ts +3 -0
  240. package/es/components/vod-chunk-upload/src/vod-chunk-upload/vod-chunk-upload.vue2.js +75 -9
  241. package/es/shared/hooks/selectHooks/useSearchContent.js +1 -1
  242. package/es/shared/hooks/useLevelSearchCascader.js +3 -3
  243. package/es/shared/package.json.js +1 -1
  244. package/package.json +4 -3
@@ -1,4 +1,4 @@
1
- import { createElementVNode, defineComponent, ref, computed, watch, withDirectives, openBlock, createElementBlock, normalizeStyle, unref, createVNode, withCtx, Fragment, toDisplayString, createCommentVNode, renderList, createBlock, createTextVNode, mergeProps, renderSlot, vShow } from 'vue';
1
+ import { createElementVNode, defineComponent, ref, computed, onMounted, onBeforeUnmount, watch, withDirectives, openBlock, createElementBlock, normalizeStyle, unref, createVNode, withCtx, Fragment, toDisplayString, createCommentVNode, renderList, createBlock, createTextVNode, mergeProps, renderSlot, vShow } from 'vue';
2
2
  import { NButton, NIcon, NTooltip, NPopover, NUpload, NUploadTrigger } from 'naive-ui';
3
3
  import ChatAdd from './ChatAdd.vue.js';
4
4
  import { useData } from '../hooks/useData.js';
@@ -6,11 +6,12 @@ import 'stompjs';
6
6
  import 'sockjs-client/dist/sockjs.min.js';
7
7
  import { MESSAGE_TYPE, AV_STATUS } from '../constants/index.js';
8
8
  import { uploadFileApi } from '../api/index.js';
9
- import { simplifyMessage, base64ToFile } from '../utils/index.js';
9
+ import { simplifyMessage, base64ToFile, removeImgBySrc } from '../utils/index.js';
10
10
  import { xor, uniq, isObject, trim, cloneDeep } from 'lodash-es';
11
11
  import 'trtc-sdk-v5';
12
12
  import { emojis } from '../utils/emoji.js';
13
- import { CloseOutline, CloseCircleOutline, CallOutline, VideocamOutline } from '@vicons/ionicons5';
13
+ import { CloseOutline, CloseCircleOutline, HappyOutline, ImageOutline, FolderOutline, CallOutline, VideocamOutline } from '@vicons/ionicons5';
14
+ import { ThumbsUp } from '@vicons/carbon';
14
15
  import { uuidGenerator } from '../../../../shared/utils/index.js';
15
16
  import { useStorage } from '@vueuse/core';
16
17
 
@@ -43,10 +44,7 @@ const _hoisted_10 = ["innerHTML"];
43
44
  const _hoisted_11 = {
44
45
  class: "tool-box"
45
46
  };
46
- const _hoisted_12 = /* @__PURE__ */ createElementVNode("i", {
47
- class: "chat--iconfont chat--icon-face"
48
- }, null, -1);
49
- const _hoisted_13 = /* @__PURE__ */ createElementVNode("span", null, function() {
47
+ const _hoisted_12 = /* @__PURE__ */ createElementVNode("span", null, function() {
50
48
  var _a, _b, _c;
51
49
  try {
52
50
  return ((_a = window.getLanguageByCode) == null ? void 0 : _a.call(window, "10010.1.51")) || ((_c = (_b = window.top) == null ? void 0 : _b.getLanguageByCode) == null ? void 0 : _c.call(_b, "10010.1.51")) || "\u6700\u8FD1\u4F7F\u7528";
@@ -54,14 +52,14 @@ const _hoisted_13 = /* @__PURE__ */ createElementVNode("span", null, function()
54
52
  return "\u6700\u8FD1\u4F7F\u7528";
55
53
  }
56
54
  }(), -1);
57
- const _hoisted_14 = {
55
+ const _hoisted_13 = {
58
56
  class: "list-box",
59
57
  style: {
60
58
  "margin-bottom": "8px"
61
59
  }
62
60
  };
63
- const _hoisted_15 = ["src"];
64
- const _hoisted_16 = /* @__PURE__ */ createElementVNode("span", null, function() {
61
+ const _hoisted_14 = ["src"];
62
+ const _hoisted_15 = /* @__PURE__ */ createElementVNode("span", null, function() {
65
63
  var _a, _b, _c;
66
64
  try {
67
65
  return ((_a = window.getLanguageByCode) == null ? void 0 : _a.call(window, "10010.1.52")) || ((_c = (_b = window.top) == null ? void 0 : _b.getLanguageByCode) == null ? void 0 : _c.call(_b, "10010.1.52")) || "\u9ED8\u8BA4\u8868\u60C5";
@@ -69,29 +67,21 @@ const _hoisted_16 = /* @__PURE__ */ createElementVNode("span", null, function()
69
67
  return "\u9ED8\u8BA4\u8868\u60C5";
70
68
  }
71
69
  }(), -1);
72
- const _hoisted_17 = {
70
+ const _hoisted_16 = {
73
71
  class: "list-box"
74
72
  };
75
- const _hoisted_18 = ["src"];
76
- const _hoisted_19 = /* @__PURE__ */ createElementVNode("i", {
77
- class: "chat--iconfont chat--icon-good"
78
- }, null, -1);
79
- const _hoisted_20 = /* @__PURE__ */ createElementVNode("i", {
80
- class: "chat--iconfont chat--icon-image"
81
- }, null, -1);
82
- const _hoisted_21 = /* @__PURE__ */ createElementVNode("i", {
83
- class: "chat--iconfont chat--icon-folder"
84
- }, null, -1);
85
- const _hoisted_22 = ["contenteditable"];
86
- const _hoisted_23 = {
73
+ const _hoisted_17 = ["src"];
74
+ const _hoisted_18 = ["contenteditable"];
75
+ const _hoisted_19 = {
87
76
  class: "btn-box"
88
77
  };
89
- const _hoisted_24 = /* @__PURE__ */ createElementVNode("span", {
78
+ const _hoisted_20 = /* @__PURE__ */ createElementVNode("span", {
90
79
  class: "tip"
91
80
  }, "Enter \u53D1\u9001, Ctrl + Enter \u6362\u884C", -1);
92
81
  var _sfc_main = /* @__PURE__ */ defineComponent({
93
82
  __name: "ChatFooter",
94
83
  setup(__props) {
84
+ const SPACE_PLACEHOLDER = '<span style="display: inline-block;width: 1px;user-select: none;" data-space="true"></span>';
95
85
  const inputRef = ref();
96
86
  const {
97
87
  state,
@@ -109,8 +99,9 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
109
99
  defaultValue: [state.userInfo]
110
100
  };
111
101
  });
112
- const btnDisabled = computed(() => !content.value.replace(/(&nbsp;|\s|<br>)+/g, ""));
102
+ const sendBtnDisabled = computed(() => !content.value.replace(/(&nbsp;|\s|<br>|<span[^>]*data-space="true"[^>]*>[\s\S]*?<\/span>)+/g, ""));
113
103
  const isForwardDisabled = computed(() => !state.msgList.some((msgItem) => msgItem.checked));
104
+ const callBtnDisabled = computed(() => state.showVideo || state.showMultipleVideo);
114
105
  function handleCall(chatMessageType, checkedIds = []) {
115
106
  const uuid = uuidGenerator();
116
107
  const _checkedIds = [];
@@ -153,20 +144,38 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
153
144
  }
154
145
  function handleInput() {
155
146
  var _a;
147
+ if (!inputRef.value)
148
+ return;
156
149
  content.value = ((_a = inputRef.value) == null ? void 0 : _a.innerHTML) || "";
150
+ insertSpace();
157
151
  }
158
152
  function selectEmoji(name) {
159
153
  var _a;
160
154
  commonEmoticons.value.unshift(name);
161
155
  commonEmoticons.value = uniq(commonEmoticons.value).slice(0, 26);
156
+ if (!inputRef.value)
157
+ return;
162
158
  (_a = inputRef.value) == null ? void 0 : _a.focus();
159
+ insertSpace();
163
160
  document.execCommand("insertHTML", false, `<img data-msg=${name} data-type=${MESSAGE_TYPE.EMOJI} class="emoji--min" src=${emojis.findEmoji(name)} />`);
164
161
  }
162
+ function insertSpace() {
163
+ if (!inputRef.value)
164
+ return;
165
+ if (!inputRef.value.innerHTML || inputRef.value.innerHTML === "<br>") {
166
+ Array.from(inputRef.value.childNodes).forEach((child) => child.remove());
167
+ document.execCommand("insertHTML", false, SPACE_PLACEHOLDER);
168
+ }
169
+ }
165
170
  async function doUpdateFile(file) {
166
- const formData = new FormData();
167
- formData.append("sender", state.userInfo.id);
168
- formData.append("file", file);
169
- return await uploadFileApi(formData);
171
+ try {
172
+ const formData = new FormData();
173
+ formData.append("sender", state.userInfo.id);
174
+ formData.append("file", file);
175
+ return await uploadFileApi(formData);
176
+ } catch (error) {
177
+ return "";
178
+ }
170
179
  }
171
180
  async function fileChange(options, chatMessageType) {
172
181
  const {
@@ -175,7 +184,14 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
175
184
  } = options.file;
176
185
  const data = await doUpdateFile(file);
177
186
  if (!data)
178
- return console.log("\u4E0A\u4F20\u5931\u8D25");
187
+ return console.log(function() {
188
+ var _a, _b, _c;
189
+ try {
190
+ return ((_a = window.getLanguageByCode) == null ? void 0 : _a.call(window, "10010.1.641")) || ((_c = (_b = window.top) == null ? void 0 : _b.getLanguageByCode) == null ? void 0 : _c.call(_b, "10010.1.641")) || "\u4E0A\u4F20\u5931\u8D25";
191
+ } catch (e) {
192
+ return "\u4E0A\u4F20\u5931\u8D25";
193
+ }
194
+ }());
179
195
  doSendMessage({
180
196
  chatMessageType,
181
197
  msg: isObject(data) ? JSON.stringify(data) : chatMessageType === MESSAGE_TYPE.FILE ? name : data,
@@ -183,13 +199,14 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
183
199
  });
184
200
  }
185
201
  async function handleMsgSend() {
202
+ if (sendBtnDisabled.value)
203
+ return console.log("\u8BF7\u8F93\u5165\u5185\u5BB9");
204
+ removeSpace();
186
205
  const {
187
206
  innerHTML = "",
188
207
  innerText = "",
189
208
  outerText = ""
190
209
  } = inputRef.value || {};
191
- if (btnDisabled.value)
192
- return console.log("\u8BF7\u8F93\u5165\u5185\u5BB9");
193
210
  let chatMessageType = MESSAGE_TYPE.TEXT;
194
211
  let msg = "";
195
212
  if (innerHTML) {
@@ -207,13 +224,26 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
207
224
  } else {
208
225
  chatMessageType = MESSAGE_TYPE.IMAGE;
209
226
  const match = innerHTML.match(/src\s*=\s*"([^"]*)"/);
210
- if (match) {
211
- const file = await base64ToFile(match[1]);
212
- if (file) {
213
- const data = await doUpdateFile(file);
214
- if (data) {
215
- msg = isObject(data) ? JSON.stringify(data) : data;
227
+ if (match == null ? void 0 : match.length) {
228
+ if (match[1].startsWith("data:")) {
229
+ const file = await base64ToFile(match[1]);
230
+ if (file) {
231
+ const data = await doUpdateFile(file);
232
+ if (data) {
233
+ msg = isObject(data) ? JSON.stringify(data) : data;
234
+ }
216
235
  }
236
+ } else {
237
+ const filenameMatch = innerHTML.match(/data-filename\s*=\s*"([^"]*)"/);
238
+ const fileName = filenameMatch ? filenameMatch[1] : "";
239
+ const filesizeMatch = innerHTML.match(/data-filesize\s*=\s*"([^"]*)"/);
240
+ const fileSize = filesizeMatch ? filesizeMatch[1] : "";
241
+ const fileUrl = match[1];
242
+ msg = JSON.stringify({
243
+ fileUrl,
244
+ fileName,
245
+ fileSize
246
+ });
217
247
  }
218
248
  }
219
249
  }
@@ -233,7 +263,13 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
233
263
  const file = await base64ToFile(srcMatch[1]);
234
264
  if (file) {
235
265
  const data = await doUpdateFile(file);
236
- msg = msg.replace(srcMatch[1], data || "");
266
+ if (!(data == null ? void 0 : data.fileUrl)) {
267
+ console.log("\u4E0A\u4F20\u56FE\u7247\u5931\u8D25 ==>");
268
+ msg = removeImgBySrc(msg, srcMatch[1]);
269
+ continue;
270
+ }
271
+ const newImgTag = msgList[i].replace(srcMatch[1], data.fileUrl).replace(/<img/, `<img data-clicked='1' data-msg='${JSON.stringify(data)}'`);
272
+ msg = msg.replace(msgList[i], newImgTag);
237
273
  }
238
274
  }
239
275
  }
@@ -251,6 +287,12 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
251
287
  origin: "btn"
252
288
  });
253
289
  }
290
+ function removeSpace() {
291
+ if (!inputRef.value)
292
+ return;
293
+ const spaceHolders = inputRef.value.querySelectorAll('[data-space="true"]');
294
+ spaceHolders.forEach((space) => space.remove());
295
+ }
254
296
  async function doSendMessage(contentInfo) {
255
297
  const {
256
298
  chatMessageType = MESSAGE_TYPE.TEXT,
@@ -262,7 +304,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
262
304
  msg,
263
305
  chatMessageType
264
306
  };
265
- if (chatMessageType === MESSAGE_TYPE.FILE) {
307
+ if ([MESSAGE_TYPE.FILE, MESSAGE_TYPE.IMAGE].includes(chatMessageType)) {
266
308
  _content.fileUrl = url;
267
309
  }
268
310
  if (origin === "btn") {
@@ -280,7 +322,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
280
322
  }
281
323
  function clearInput() {
282
324
  if (inputRef.value) {
283
- inputRef.value.innerHTML = "";
325
+ inputRef.value.innerHTML = SPACE_PLACEHOLDER;
284
326
  }
285
327
  content.value = "";
286
328
  }
@@ -315,6 +357,45 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
315
357
  });
316
358
  state.isForward = false;
317
359
  }
360
+ function handleFilePaste(event) {
361
+ var _a;
362
+ const files = ((_a = event.clipboardData) == null ? void 0 : _a.files) ? Array.from(event.clipboardData.files) : [];
363
+ if (files.length === 1 && files[0].type.startsWith("image/")) {
364
+ const file = files[0];
365
+ if (file.type.startsWith("image/")) {
366
+ const reader = new FileReader();
367
+ reader.onload = function(e) {
368
+ var _a2;
369
+ if (!((_a2 = e.target) == null ? void 0 : _a2.result))
370
+ return;
371
+ document.execCommand("insertHTML", false, `<img src=${e.target.result} />`);
372
+ };
373
+ reader.readAsDataURL(file);
374
+ }
375
+ } else {
376
+ for (let i = 0, len = files.length; i < len; i++) {
377
+ const file = files[i];
378
+ const type = file.type.startsWith("image/") ? MESSAGE_TYPE.IMAGE : MESSAGE_TYPE.FILE;
379
+ fileChange({
380
+ file: {
381
+ file,
382
+ name: file.name
383
+ }
384
+ }, type);
385
+ }
386
+ }
387
+ }
388
+ onMounted(() => {
389
+ if (inputRef.value) {
390
+ inputRef.value.innerHTML = SPACE_PLACEHOLDER;
391
+ document.addEventListener("paste", handleFilePaste);
392
+ }
393
+ });
394
+ onBeforeUnmount(() => {
395
+ if (inputRef.value) {
396
+ document.removeEventListener("paste", handleFilePaste);
397
+ }
398
+ });
318
399
  watch(() => [state.currentReferenceMsg, state.currentReEditMsg], ([currentReferenceMsg, currentReEditMsg]) => {
319
400
  var _a;
320
401
  if (currentReferenceMsg || currentReEditMsg) {
@@ -420,12 +501,15 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
420
501
  quaternary: "",
421
502
  size: "tiny"
422
503
  }, {
423
- icon: withCtx(() => [_hoisted_12]),
504
+ icon: withCtx(() => [createVNode(unref(NIcon), {
505
+ size: "18",
506
+ component: unref(HappyOutline)
507
+ }, null, 8, ["component"])]),
424
508
  _: 1
425
509
  })]),
426
510
  default: withCtx(() => [unref(commonEmoticons).length > 0 ? (openBlock(), createElementBlock(Fragment, {
427
511
  key: 0
428
- }, [_hoisted_13, createElementVNode("div", _hoisted_14, [(openBlock(true), createElementBlock(Fragment, null, renderList(unref(commonEmoticons), (name) => {
512
+ }, [_hoisted_12, createElementVNode("div", _hoisted_13, [(openBlock(true), createElementBlock(Fragment, null, renderList(unref(commonEmoticons), (name) => {
429
513
  return openBlock(), createBlock(unref(NTooltip), {
430
514
  key: name,
431
515
  "show-arrow": false
@@ -437,13 +521,13 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
437
521
  }, {
438
522
  icon: withCtx(() => [createElementVNode("img", {
439
523
  src: unref(emojis).findEmoji(name)
440
- }, null, 8, _hoisted_15)]),
524
+ }, null, 8, _hoisted_14)]),
441
525
  _: 2
442
526
  }, 1032, ["onClick"])]),
443
527
  default: withCtx(() => [createTextVNode(" " + toDisplayString(name), 1)]),
444
528
  _: 2
445
529
  }, 1024);
446
- }), 128))])], 64)) : createCommentVNode("v-if", true), _hoisted_16, createElementVNode("div", _hoisted_17, [(openBlock(true), createElementBlock(Fragment, null, renderList(unref(emojis).default, ([name, emoji]) => {
530
+ }), 128))])], 64)) : createCommentVNode("v-if", true), _hoisted_15, createElementVNode("div", _hoisted_16, [(openBlock(true), createElementBlock(Fragment, null, renderList(unref(emojis).default, ([name, emoji]) => {
447
531
  return openBlock(), createBlock(unref(NTooltip), {
448
532
  key: name,
449
533
  "show-arrow": false
@@ -455,7 +539,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
455
539
  }, {
456
540
  icon: withCtx(() => [createElementVNode("img", {
457
541
  src: emoji
458
- }, null, 8, _hoisted_18)]),
542
+ }, null, 8, _hoisted_17)]),
459
543
  _: 2
460
544
  }, 1032, ["onClick"])]),
461
545
  default: withCtx(() => [createTextVNode(" " + toDisplayString(name), 1)]),
@@ -484,7 +568,10 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
484
568
  msg: 0
485
569
  }))
486
570
  }, {
487
- icon: withCtx(() => [_hoisted_19]),
571
+ icon: withCtx(() => [createVNode(unref(NIcon), {
572
+ size: "18",
573
+ component: unref(ThumbsUp)
574
+ }, null, 8, ["component"])]),
488
575
  _: 1
489
576
  })]),
490
577
  default: withCtx(() => [createTextVNode(function() {
@@ -515,7 +602,10 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
515
602
  size: "tiny",
516
603
  onClick: handleClick
517
604
  }, {
518
- icon: withCtx(() => [_hoisted_20]),
605
+ icon: withCtx(() => [createVNode(unref(NIcon), {
606
+ size: "18",
607
+ component: unref(ImageOutline)
608
+ }, null, 8, ["component"])]),
519
609
  _: 2
520
610
  }, 1032, ["onClick"])]),
521
611
  default: withCtx(() => [createTextVNode(function() {
@@ -550,7 +640,10 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
550
640
  size: "tiny",
551
641
  onClick: handleClick
552
642
  }, {
553
- icon: withCtx(() => [_hoisted_21]),
643
+ icon: withCtx(() => [createVNode(unref(NIcon), {
644
+ size: "18",
645
+ component: unref(FolderOutline)
646
+ }, null, 8, ["component"])]),
554
647
  _: 2
555
648
  }, 1032, ["onClick"])]),
556
649
  default: withCtx(() => [createTextVNode(function() {
@@ -578,14 +671,15 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
578
671
  }, {
579
672
  trigger: withCtx(() => [createVNode(unref(NButton), {
580
673
  quaternary: "",
581
- size: "tiny"
674
+ size: "tiny",
675
+ disabled: unref(callBtnDisabled)
582
676
  }, {
583
677
  icon: withCtx(() => [createVNode(unref(NIcon), {
584
678
  size: "18",
585
679
  component: unref(CallOutline)
586
680
  }, null, 8, ["component"])]),
587
681
  _: 1
588
- })]),
682
+ }, 8, ["disabled"])]),
589
683
  default: withCtx(() => [createTextVNode(function() {
590
684
  var _a, _b, _c;
591
685
  try {
@@ -605,14 +699,15 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
605
699
  }, {
606
700
  trigger: withCtx(() => [createVNode(unref(NButton), {
607
701
  quaternary: "",
608
- size: "tiny"
702
+ size: "tiny",
703
+ disabled: unref(callBtnDisabled)
609
704
  }, {
610
705
  icon: withCtx(() => [createVNode(unref(NIcon), {
611
706
  size: "20",
612
707
  component: unref(VideocamOutline)
613
708
  }, null, 8, ["component"])]),
614
709
  _: 1
615
- })]),
710
+ }, 8, ["disabled"])]),
616
711
  default: withCtx(() => [createTextVNode(function() {
617
712
  var _a, _b, _c;
618
713
  try {
@@ -632,6 +727,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
632
727
  trigger: withCtx(() => [createVNode(unref(NButton), {
633
728
  quaternary: "",
634
729
  size: "tiny",
730
+ disabled: unref(callBtnDisabled),
635
731
  onClick: _cache[9] || (_cache[9] = () => handleCall(unref(MESSAGE_TYPE).AUDIO))
636
732
  }, {
637
733
  icon: withCtx(() => [createVNode(unref(NIcon), {
@@ -639,7 +735,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
639
735
  component: unref(CallOutline)
640
736
  }, null, 8, ["component"])]),
641
737
  _: 1
642
- })]),
738
+ }, 8, ["disabled"])]),
643
739
  default: withCtx(() => [createTextVNode(function() {
644
740
  var _a, _b, _c;
645
741
  try {
@@ -655,6 +751,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
655
751
  trigger: withCtx(() => [createVNode(unref(NButton), {
656
752
  quaternary: "",
657
753
  size: "tiny",
754
+ disabled: unref(callBtnDisabled),
658
755
  onClick: _cache[10] || (_cache[10] = () => handleCall(unref(MESSAGE_TYPE).VIDEO))
659
756
  }, {
660
757
  icon: withCtx(() => [createVNode(unref(NIcon), {
@@ -662,7 +759,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
662
759
  component: unref(VideocamOutline)
663
760
  }, null, 8, ["component"])]),
664
761
  _: 1
665
- })]),
762
+ }, 8, ["disabled"])]),
666
763
  default: withCtx(() => [createTextVNode(function() {
667
764
  var _a, _b, _c;
668
765
  try {
@@ -679,10 +776,10 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
679
776
  contenteditable: !unref(isEnded),
680
777
  onKeydown: handleKeyDown,
681
778
  onInput: handleInput
682
- }, null, 40, _hoisted_22), [[vShow, unref(state).id]]), createElementVNode("div", _hoisted_23, [_hoisted_24, createVNode(unref(NButton), {
779
+ }, null, 40, _hoisted_18), [[vShow, unref(state).id]]), createElementVNode("div", _hoisted_19, [_hoisted_20, createVNode(unref(NButton), {
683
780
  type: "primary",
684
781
  round: "",
685
- disabled: unref(btnDisabled),
782
+ disabled: unref(sendBtnDisabled),
686
783
  onClick: handleMsgSend
687
784
  }, {
688
785
  default: withCtx(() => [createTextVNode(function() {