cnhis-design-vue 3.3.3-beta.3 → 3.3.3-beta.30

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 (197) hide show
  1. package/README.md +87 -87
  2. package/es/components/audio-sdk/index.d.ts +18 -16
  3. package/es/components/audio-sdk/src/Index.vue.d.ts +18 -16
  4. package/es/components/audio-sdk/src/Index.vue2.js +47 -12
  5. package/es/components/audio-sdk/src/audioSDK.js +1 -1
  6. package/es/components/audio-sdk/src/components/recording-modal.vue.d.ts +6 -6
  7. package/es/components/audio-sdk/src/components/recording.vue.d.ts +6 -6
  8. package/es/components/audio-sdk/src/components/recording.vue2.js +17 -3
  9. package/es/components/base-search/index.d.ts +3 -0
  10. package/es/components/base-search/src/index.vue.d.ts +3 -0
  11. package/es/components/big-table/src/components/NoData.vue2.js +8 -1
  12. package/es/components/big-table/src/hooks/useTableParse.js +8 -1
  13. package/es/components/button-print/src/components/NewPrintComponent.vue2.js +3 -0
  14. package/es/components/button-print/src/components/OldPrintComponent.vue2.js +1 -1
  15. package/es/components/callback/src/components/render/popupMaps.d.ts +13 -0
  16. package/es/components/card-reader-sdk-cn/src/henan/index.js +8 -1
  17. package/es/components/classification/index.d.ts +56 -6
  18. package/es/components/classification/src/components/search-filter/index.vue.d.ts +56 -6
  19. package/es/components/classification/src/components/set-classification/index.vue.d.ts +56 -6
  20. package/es/components/classification/src/components/table-modal/index.vue.d.ts +3 -0
  21. package/es/components/classification/src/index.vue.d.ts +56 -6
  22. package/es/components/date-picker/src/DatePicker.vue2.js +8 -1
  23. package/es/components/expand-field/index.d.ts +792 -1
  24. package/es/components/expand-field/src/components/FormItemPerson.vue.d.ts +792 -1
  25. package/es/components/expand-field/src/components/PersonModal.vue.d.ts +792 -1
  26. package/es/components/expand-field/src/components/form.vue.d.ts +792 -1
  27. package/es/components/expand-field/src/components/form.vue2.js +8 -1
  28. package/es/components/expand-field/src/index.vue.d.ts +792 -1
  29. package/es/components/field-editor/index.d.ts +13 -0
  30. package/es/components/field-editor/src/FieldEditor.vue.d.ts +13 -0
  31. package/es/components/field-editor/src/FieldEditor.vue2.js +2 -1
  32. package/es/components/field-editor/src/fields.d.ts +1 -0
  33. package/es/components/field-editor/src/fields.js +6 -0
  34. package/es/components/field-set/src/FieldColor.vue.d.ts +2 -0
  35. package/es/components/field-set/src/FieldFilter.vue.d.ts +2 -0
  36. package/es/components/field-set/src/FieldSet.vue.d.ts +34 -0
  37. package/es/components/field-set/src/FieldSet.vue2.js +118 -69
  38. package/es/components/field-set/src/Index.vue2.js +8 -3
  39. package/es/components/field-set/src/TableStyle.vue2.js +2 -2
  40. package/es/components/field-set/src/constants/index.d.ts +1 -1
  41. package/es/components/field-set/src/types/index.d.ts +1 -0
  42. package/es/components/field-set/style/index.css +1 -1
  43. package/es/components/form-config/index.d.ts +39 -0
  44. package/es/components/form-config/src/FormConfig.vue.d.ts +39 -0
  45. package/es/components/form-config/src/components/FormConfigCreator.vue.d.ts +13 -0
  46. package/es/components/form-config/src/components/FormConfigEdit.vue.d.ts +13 -0
  47. package/es/components/form-config/src/components/FormConfigEventSetting.vue.d.ts +13 -0
  48. package/es/components/form-config/src/components/FormConfigEventSetting.vue2.js +9 -2
  49. package/es/components/form-render/index.d.ts +13 -0
  50. package/es/components/form-render/src/FormRender.vue.d.ts +13 -0
  51. package/es/components/form-render/src/FormRender.vue2.js +4 -0
  52. package/es/components/form-render/src/FormRenderWrapper.vue.d.ts +13 -0
  53. package/es/components/form-render/src/components/renderer/formItem.js +8 -1
  54. package/es/components/form-render/src/hooks/useBusinessBinding.d.ts +12 -3
  55. package/es/components/form-render/src/hooks/useBusinessBinding.js +7 -7
  56. package/es/components/form-render/src/hooks/useFormContext.js +1 -1
  57. package/es/components/form-render/src/hooks/useFormValidator.js +8 -1
  58. package/es/components/form-render/src/hooks/useLowCodeReactions.js +2 -1
  59. package/es/components/form-render/src/utils/business.d.ts +3 -1
  60. package/es/components/form-render/src/utils/business.js +7 -1
  61. package/es/components/iho-chat/index.d.ts +25 -5
  62. package/es/components/iho-chat/src/Index.vue.d.ts +25 -5
  63. package/es/components/iho-chat/src/components/ChatFile.vue.d.ts +2 -2
  64. package/es/components/iho-chat/src/components/ChatFile.vue2.js +5 -15
  65. package/es/components/iho-chat/src/components/ChatFooter.vue.d.ts +5 -1
  66. package/es/components/iho-chat/src/components/ChatFooter.vue2.js +53 -14
  67. package/es/components/iho-chat/src/components/ChatHeader.vue.d.ts +2 -2
  68. package/es/components/iho-chat/src/components/ChatHeader.vue2.js +3 -2
  69. package/es/components/iho-chat/src/components/ChatMain.vue.d.ts +3 -3
  70. package/es/components/iho-chat/src/components/ChatMain.vue2.js +7 -15
  71. package/es/components/iho-chat/src/components/ChatRecord.vue.d.ts +2 -2
  72. package/es/components/iho-chat/src/components/ChatRecord.vue2.js +3 -3
  73. package/es/components/iho-chat/src/components/ContextMenu.js +3 -11
  74. package/es/components/iho-chat/src/components/MessageMergeForward.vue.d.ts +2 -2
  75. package/es/components/iho-chat/src/components/MessageMergeForward.vue2.js +3 -3
  76. package/es/components/iho-chat/src/components/MultipleVideo.vue.d.ts +16 -0
  77. package/es/components/iho-chat/src/components/MultipleVideo.vue2.js +112 -53
  78. package/es/components/iho-chat/src/components/PersonProfile.vue2.js +1 -1
  79. package/es/components/iho-chat/src/hooks/index.d.ts +1 -0
  80. package/es/components/iho-chat/src/hooks/index.js +1 -0
  81. package/es/components/iho-chat/src/hooks/useData.js +2 -7
  82. package/es/components/iho-chat/src/hooks/useDraggable.d.ts +25 -0
  83. package/es/components/iho-chat/src/hooks/useDraggable.js +160 -0
  84. package/es/components/iho-chat/src/utils/index.d.ts +2 -3
  85. package/es/components/iho-chat/src/utils/index.js +20 -39
  86. package/es/components/iho-chat/style/index.css +1 -1
  87. package/es/components/iho-table/src/plugins/filterRenderPlugin/filter.vue2.js +8 -1
  88. package/es/components/iho-table/src/plugins/headerPlugin/index.js +5 -2
  89. package/es/components/index.css +1 -1
  90. package/es/components/info-header/index.d.ts +26 -0
  91. package/es/components/info-header/src/InfoHeader.vue.d.ts +26 -0
  92. package/es/components/info-header/src/components/infoDescription/index.vue.d.ts +13 -0
  93. package/es/components/info-header/src/components/patientInfo/index.vue.d.ts +13 -0
  94. package/es/components/info-header/src/components/patientInfo/index.vue2.js +16 -2
  95. package/es/components/quick-search/index.d.ts +2 -0
  96. package/es/components/quick-search/src/index.vue.d.ts +2 -0
  97. package/es/components/scale-view/index.d.ts +53 -3
  98. package/es/components/scale-view/src/ScaleView.vue.d.ts +56 -5
  99. package/es/components/scale-view/src/ScaleView.vue2.js +79 -4
  100. package/es/components/scale-view/src/components/AnswerParse.vue.d.ts +5 -0
  101. package/es/components/scale-view/src/components/AnswerParse.vue2.js +74 -8
  102. package/es/components/scale-view/src/components/EvaluateCountdown.vue.d.ts +3 -0
  103. package/es/components/scale-view/src/components/EvaluateCountdown.vue2.js +26 -2
  104. package/es/components/scale-view/src/components/EvaluatePage.vue.d.ts +3 -0
  105. package/es/components/scale-view/src/components/EvaluatePage.vue2.js +27 -6
  106. package/es/components/scale-view/src/components/NoData.vue2.js +9 -3
  107. package/es/components/scale-view/src/components/ScaleScore.d.ts +1 -1
  108. package/es/components/scale-view/src/components/ScaleScore.js +45 -3
  109. package/es/components/scale-view/src/components/formitem/r-checkbox.js +16 -2
  110. package/es/components/scale-view/src/components/formitem/r-sign.js +32 -4
  111. package/es/components/scale-view/src/components/formitem/r-upload.js +65 -7
  112. package/es/components/scale-view/src/components/formitem/sign-com.js +8 -1
  113. package/es/components/scale-view/src/hooks/scaleview-computed.js +18 -3
  114. package/es/components/scale-view/src/hooks/scaleview-init.js +24 -3
  115. package/es/components/scale-view/src/hooks/scaleview-methods.js +40 -5
  116. package/es/components/scale-view/src/hooks/scaleview-props.d.ts +8 -0
  117. package/es/components/scale-view/src/hooks/scaleview-props.js +8 -0
  118. package/es/components/scale-view/src/hooks/scaleview-submit.d.ts +2 -1
  119. package/es/components/scale-view/src/hooks/scaleview-submit.js +64 -8
  120. package/es/components/scale-view/src/hooks/scaleview-validate.d.ts +1 -1
  121. package/es/components/scale-view/src/hooks/scaleview-validate.js +157 -24
  122. package/es/components/scale-view/src/hooks/use-evaluate.js +16 -2
  123. package/es/components/scale-view/src/hooks/use-noData.js +33 -5
  124. package/es/components/scale-view/src/utils/judge-types.d.ts +2 -1
  125. package/es/components/scale-view/src/utils/judge-types.js +10 -10
  126. package/es/components/scale-view/src/utils/watch-form-change.d.ts +13 -0
  127. package/es/components/scale-view/src/utils/watch-form-change.js +71 -0
  128. package/es/components/select-person/index.d.ts +792 -1
  129. package/es/components/select-person/src/SelectPerson.vue.d.ts +434 -341
  130. package/es/components/select-person/src/SelectPerson.vue2.js +521 -675
  131. package/es/components/select-person/src/SelectPersonRole.vue.d.ts +630 -0
  132. package/es/components/select-person/src/SelectPersonRole.vue.js +6 -0
  133. package/es/components/select-person/src/SelectPersonRole.vue2.js +942 -0
  134. package/es/components/select-person/src/components/GroupItem.vue.d.ts +19 -0
  135. package/es/components/select-person/src/components/GroupItem.vue.js +6 -0
  136. package/es/components/select-person/src/components/GroupItem.vue2.js +37 -0
  137. package/es/components/select-person/src/components/SearchGroupList.vue.d.ts +214 -0
  138. package/es/components/select-person/src/components/SearchGroupList.vue.js +6 -0
  139. package/es/components/select-person/src/components/SearchGroupList.vue2.js +145 -0
  140. package/es/components/select-person/src/components/SearchMultiple.vue2.js +1 -1
  141. package/es/components/select-person/src/components/SearchOrgAndStaff.vue2.js +21 -12
  142. package/es/components/select-person/src/components/TagItem.vue.d.ts +43 -0
  143. package/es/components/select-person/src/components/TagItem.vue.js +6 -0
  144. package/es/components/select-person/src/components/TagItem.vue2.js +40 -0
  145. package/es/components/select-person/src/index.vue.d.ts +793 -1
  146. package/es/components/select-person/src/index.vue2.js +21 -4
  147. package/es/components/select-person/src/types/index.d.ts +35 -0
  148. package/es/components/select-person/src/types/index.js +1 -0
  149. package/es/components/select-person/src/utils/index.d.ts +3 -0
  150. package/es/components/select-person/src/utils/index.js +29 -8
  151. package/es/components/select-person/style/index.css +1 -1
  152. package/es/components/shortcut-setter/index.d.ts +13 -0
  153. package/es/components/shortcut-setter/src/ShortcutSetter.vue.d.ts +13 -0
  154. package/es/components/table-filter/src/components/bi-filter/ValueCfg.vue.d.ts +1 -0
  155. package/es/components/table-filter/src/components/bi-filter/components/SelectFilter.vue.d.ts +1 -0
  156. package/es/components/table-filter/src/components/bi-filter/components/index.d.ts +1 -0
  157. package/es/components/table-filter/src/components/bi-filter/index.vue.d.ts +1 -0
  158. package/es/components/table-filter/src/components/classify-filter/ValueCfg.vue.d.ts +54 -6
  159. package/es/components/table-filter/src/components/classify-filter/ValueCfg.vue2.js +26 -10
  160. package/es/components/table-filter/src/components/classify-filter/components/Date.vue.d.ts +17 -2
  161. package/es/components/table-filter/src/components/classify-filter/components/Date.vue2.js +37 -2
  162. package/es/components/table-filter/src/components/classify-filter/components/DateRange.vue.d.ts +18 -2
  163. package/es/components/table-filter/src/components/classify-filter/components/DateRange.vue2.js +44 -1
  164. package/es/components/table-filter/src/components/classify-filter/components/SelectFilter.vue.d.ts +1 -0
  165. package/es/components/table-filter/src/components/classify-filter/components/index.d.ts +36 -4
  166. package/es/components/table-filter/src/components/classify-filter/hooks/useFilterConditions.js +2 -1
  167. package/es/components/table-filter/src/components/classify-filter/index.vue.d.ts +55 -6
  168. package/es/components/table-filter/src/components/classify-filter/index.vue2.js +6 -3
  169. package/es/components/table-filter/src/components/render-widget/components/DateInner.vue.d.ts +1 -1
  170. package/es/components/table-filter/src/components/render-widget/components/DateOut.vue2.js +12 -1
  171. package/es/components/table-filter/src/components/render-widget/components/DateQuickBtn/index.vue.d.ts +1 -1
  172. package/es/components/table-filter/src/components/render-widget/components/DateQuickBtn/index.vue2.js +25 -6
  173. package/es/components/table-filter/src/components/render-widget/components/DateRangeInner.vue.d.ts +1 -1
  174. package/es/components/table-filter/src/components/render-widget/components/DateRangeOut.vue2.js +12 -1
  175. package/es/components/table-filter/src/components/render-widget/components/index.d.ts +2 -2
  176. package/es/components/table-filter/src/components/render-widget/widgetCfgMaps.d.ts +2 -2
  177. package/es/components/table-filter/src/hooks/useAdvanced.d.ts +2 -0
  178. package/es/components/table-filter/src/hooks/useAdvanced.js +20 -3
  179. package/es/components/table-filter/src/hooks/useRenderWidget.js +4 -0
  180. package/es/components/table-filter/src/tool/date.d.ts +3 -0
  181. package/es/components/table-filter/src/tool/date.js +139 -0
  182. package/es/components/table-filter/src/tool/transformData.d.ts +1 -0
  183. package/es/components/table-filter/src/tool/transformData.js +11 -8
  184. package/es/components/table-filter/src/types/enums.d.ts +1 -0
  185. package/es/components/table-filter/src/types/enums.js +2 -1
  186. package/es/components/table-filter/src/types/index.d.ts +12 -0
  187. package/es/components/vod-chunk-upload/index.d.ts +3 -0
  188. package/es/components/vod-chunk-upload/src/chunk-upload-new.vue.d.ts +1 -29
  189. package/es/components/vod-chunk-upload/src/chunk-upload-new.vue2.js +109 -11
  190. package/es/components/vod-chunk-upload/src/hooks/upload-computed.js +15 -1
  191. package/es/components/vod-chunk-upload/src/hooks/upload-data.js +72 -9
  192. package/es/components/vod-chunk-upload/src/vod-chunk-upload/vod-chunk-upload.vue.d.ts +3 -0
  193. package/es/components/vod-chunk-upload/src/vod-chunk-upload/vod-chunk-upload.vue2.js +75 -9
  194. package/es/env.d.ts +25 -25
  195. package/es/shared/hooks/selectHooks/useSearchContent.js +1 -1
  196. package/es/shared/package.json.js +1 -1
  197. package/package.json +3 -3
@@ -6,7 +6,7 @@ import { useData } from '../hooks/useData.js';
6
6
  import 'stompjs';
7
7
  import 'sockjs-client/dist/sockjs.min.js';
8
8
  import { MESSAGE_TYPE } from '../constants/index.js';
9
- import { isAudioOrVideoMessage, simplifyMessage, getForwardTitle, getAVTime, downloadFile } from '../utils/index.js';
9
+ import { isAudioOrVideoMessage, simplifyMessage, getForwardTitle, formatJsonstr, getAVTime, downloadFile } from '../utils/index.js';
10
10
  import { first, last, isArray, toString } from 'lodash-es';
11
11
  import 'trtc-sdk-v5';
12
12
  import MessageTemplate from './MessageTemplate.vue.js';
@@ -130,7 +130,10 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
130
130
  "color": "rgba(255, 255, 255, 0.75",
131
131
  "size": 24,
132
132
  "component": ArrowDownSharp,
133
- "onClick": () => src && downloadFile(src, "img")
133
+ "onClick": () => src && downloadFile(JSON.stringify({
134
+ fileUrl: src,
135
+ fileName: "image"
136
+ }))
134
137
  }, null),
135
138
  default: () => function() {
136
139
  var _a2, _b2, _c;
@@ -142,17 +145,6 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
142
145
  }()
143
146
  }), nodes.close];
144
147
  }
145
- function formatImage(obj, type) {
146
- try {
147
- if (typeof obj === "string") {
148
- const objParse = JSON.parse(obj);
149
- return objParse[type];
150
- }
151
- return obj[type];
152
- } catch (error) {
153
- return obj;
154
- }
155
- }
156
148
  async function getHistoryRecord() {
157
149
  try {
158
150
  if (!pageInfo.hasMore)
@@ -490,7 +482,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
490
482
  }), 128))])], 8, _hoisted_14)) : createCommentVNode("v-if", true), item.content.chatMessageType === unref(MESSAGE_TYPE).IMAGE ? (openBlock(), createBlock(unref(NImage), {
491
483
  key: 4,
492
484
  width: "240",
493
- src: formatImage(item.__content, "fileUrl"),
485
+ src: unref(formatJsonstr)(item.__content, "fileUrl"),
494
486
  onClick: _cache[0] || (_cache[0] = (event) => event.stopPropagation())
495
487
  }, null, 8, ["src"])) : createCommentVNode("v-if", true), unref(isAudioOrVideoMessage)(item.content) ? (openBlock(), createElementBlock(Fragment, {
496
488
  key: 5
@@ -515,7 +507,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
515
507
  "row-gap": "0"
516
508
  }
517
509
  }, {
518
- default: withCtx(() => [createElementVNode("span", null, toDisplayString(formatImage(item.__content, "fileName")), 1), createElementVNode("span", _hoisted_19, toDisplayString(item.__size), 1)]),
510
+ default: withCtx(() => [createElementVNode("span", null, toDisplayString(unref(formatJsonstr)(item.__content, "fileName")), 1), createElementVNode("span", _hoisted_19, toDisplayString(unref(formatJsonstr)(item.__content, "fileSize")), 1)]),
519
511
  _: 2
520
512
  }, 1024)]),
521
513
  _: 2
@@ -1,6 +1,6 @@
1
1
  import { PropType } from 'vue';
2
2
  import { AnyObject } from '../../../../shared/types';
3
- import { formatTime, isDoctorRole, getRoleName, getFileDetails, getFileType, getDetail, showAudioAndVideoRecord, getForwardTitle, simplifyMessage } from '../utils';
3
+ import { formatTime, isDoctorRole, getRoleName, formatJsonstr, getFileType, getDetail, showAudioAndVideoRecord, getForwardTitle, simplifyMessage } from '../utils';
4
4
  import { MESSAGE_TYPE } from '../constants';
5
5
  declare const _default: import("vue").DefineComponent<{
6
6
  visible: {
@@ -213,7 +213,7 @@ declare const _default: import("vue").DefineComponent<{
213
213
  formatTime: typeof formatTime;
214
214
  isDoctorRole: typeof isDoctorRole;
215
215
  getRoleName: typeof getRoleName;
216
- getFileDetails: typeof getFileDetails;
216
+ formatJsonstr: typeof formatJsonstr;
217
217
  getFileType: typeof getFileType;
218
218
  getDetail: typeof getDetail;
219
219
  showAudioAndVideoRecord: typeof showAudioAndVideoRecord;
@@ -6,7 +6,7 @@ import 'stompjs';
6
6
  import 'sockjs-client/dist/sockjs.min.js';
7
7
  import { MESSAGE_TYPE } from '../constants/index.js';
8
8
  import { searchChatRecordApi } from '../api/index.js';
9
- import { transformMessage, isDoctorRole, getRoleName, formatTime, getFileDetails, getFileType, getDetail, showAudioAndVideoRecord, getForwardTitle, simplifyMessage } from '../utils/index.js';
9
+ import { transformMessage, isDoctorRole, getRoleName, formatTime, formatJsonstr, getFileType, getDetail, showAudioAndVideoRecord, getForwardTitle, simplifyMessage } from '../utils/index.js';
10
10
  import { last, isArray } from 'lodash-es';
11
11
  import 'trtc-sdk-v5';
12
12
  import DatePicker from '../../../date-picker/index.js';
@@ -369,10 +369,10 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
369
369
  class: normalizeClass(["iho-chatRole", unref(isDoctorRole)(item.roleInfo) ? "isDoctor" : ""])
370
370
  }, toDisplayString(unref(getRoleName)(item.roleInfo)), 3), [[vShow, unref(getRoleName)(item.roleInfo)]])]), createElementVNode("span", _hoisted_9, toDisplayString(unref(formatTime)(item.sendTime).recordTime), 1)]), createElementVNode("div", _hoisted_10, [item.content.chatMessageType === unref(MESSAGE_TYPE).IMAGE ? (openBlock(), createElementBlock("img", {
371
371
  key: 0,
372
- src: unref(getFileDetails)(item.__content, "fileUrl")
372
+ src: unref(formatJsonstr)(item.__content, "fileUrl")
373
373
  }, null, 8, _hoisted_11)) : item.content.chatMessageType === unref(MESSAGE_TYPE).FILE ? (openBlock(), createElementBlock(Fragment, {
374
374
  key: 1
375
- }, [createElementVNode("span", _hoisted_12, toDisplayString(unref(getFileType)(item.__content)), 1), createElementVNode("div", _hoisted_13, [createElementVNode("span", _hoisted_14, toDisplayString(unref(getFileDetails)(item.__content, "fileName")), 1), createElementVNode("span", _hoisted_15, toDisplayString(unref(getDetail)(item)), 1)])], 64)) : item.content.chatMessageType === unref(MESSAGE_TYPE).EMOJI ? (openBlock(), createElementBlock("img", {
375
+ }, [createElementVNode("span", _hoisted_12, toDisplayString(unref(getFileType)(item.__content)), 1), createElementVNode("div", _hoisted_13, [createElementVNode("span", _hoisted_14, toDisplayString(unref(formatJsonstr)(item.__content, "fileName")), 1), createElementVNode("span", _hoisted_15, toDisplayString(unref(getDetail)(item)), 1)])], 64)) : item.content.chatMessageType === unref(MESSAGE_TYPE).EMOJI ? (openBlock(), createElementBlock("img", {
376
376
  key: 2,
377
377
  class: "emoji",
378
378
  src: unref(emojis).findEmoji(item.__content)
@@ -7,7 +7,7 @@ import 'stompjs';
7
7
  import 'sockjs-client/dist/sockjs.min.js';
8
8
  import { STATUS, MESSAGE_TYPE } from '../constants/index.js';
9
9
  import { recallMessageApi } from '../api/index.js';
10
- import { isAudioOrVideoMessage, $message, downloadFile, getFileDetails } from '../utils/index.js';
10
+ import { isAudioOrVideoMessage, $message, downloadFile, formatJsonstr } from '../utils/index.js';
11
11
  import 'lodash-es';
12
12
  import 'trtc-sdk-v5';
13
13
  import { emojis } from '../utils/emoji.js';
@@ -192,7 +192,7 @@ var ContextMenu = /* @__PURE__ */ defineComponent({
192
192
  } else {
193
193
  let data;
194
194
  if ([MESSAGE_TYPE.EMOJI, MESSAGE_TYPE.IMAGE].includes(chatMessageType)) {
195
- const url = chatMessageType === MESSAGE_TYPE.EMOJI ? emojis.findEmoji(content.msg) : getFileDetails(content.msg, "fileUrl");
195
+ const url = chatMessageType === MESSAGE_TYPE.EMOJI ? emojis.findEmoji(content.msg) : formatJsonstr(content.msg, "fileUrl");
196
196
  data = `<img data-msg=${chatMessageType === MESSAGE_TYPE.EMOJI ? content.msg : ""} data-type=${chatMessageType} class=${chatMessageType === MESSAGE_TYPE.EMOJI ? "emoji--min" : "chat-image-copy"} src=${url} />`;
197
197
  } else if (chatMessageType === MESSAGE_TYPE.BLEND) {
198
198
  data = __content;
@@ -211,15 +211,7 @@ var ContextMenu = /* @__PURE__ */ defineComponent({
211
211
  }
212
212
  return;
213
213
  case "download": {
214
- let {
215
- fileUrl: url,
216
- msg: fileName
217
- } = content;
218
- if (chatMessageType === MESSAGE_TYPE.IMAGE) {
219
- url = fileName;
220
- fileName = fileName.match(/\/([^\/?#]+)$/)[1];
221
- }
222
- downloadFile(url, fileName);
214
+ downloadFile(__content);
223
215
  return;
224
216
  }
225
217
  case "withdraw": {
@@ -1,5 +1,5 @@
1
1
  import { AnyObject } from '../../../../shared/types';
2
- import { formatTime, getForwardTitle, isDoctorRole, getRoleName, getFileDetails, getFileType, getDetail, showAudioAndVideoRecord, simplifyMessage } from '../utils';
2
+ import { formatTime, getForwardTitle, isDoctorRole, getRoleName, formatJsonstr, getFileType, getDetail, showAudioAndVideoRecord, simplifyMessage } from '../utils';
3
3
  import { MESSAGE_TYPE } from '../constants';
4
4
  declare const _default: import("vue").DefineComponent<{
5
5
  id: {
@@ -54,7 +54,7 @@ declare const _default: import("vue").DefineComponent<{
54
54
  getForwardTitle: typeof getForwardTitle;
55
55
  isDoctorRole: typeof isDoctorRole;
56
56
  getRoleName: typeof getRoleName;
57
- getFileDetails: typeof getFileDetails;
57
+ formatJsonstr: typeof formatJsonstr;
58
58
  getFileType: typeof getFileType;
59
59
  getDetail: typeof getDetail;
60
60
  showAudioAndVideoRecord: typeof showAudioAndVideoRecord;
@@ -5,7 +5,7 @@ import 'stompjs';
5
5
  import 'sockjs-client/dist/sockjs.min.js';
6
6
  import { MESSAGE_TYPE } from '../constants/index.js';
7
7
  import '../api/index.js';
8
- import { transformMessage, getForwardTitle, isDoctorRole, getRoleName, formatTime, getFileDetails, getFileType, getDetail, showAudioAndVideoRecord, simplifyMessage } from '../utils/index.js';
8
+ import { transformMessage, getForwardTitle, isDoctorRole, getRoleName, formatTime, formatJsonstr, getFileType, getDetail, showAudioAndVideoRecord, simplifyMessage } from '../utils/index.js';
9
9
  import { isArray } from 'lodash-es';
10
10
  import 'trtc-sdk-v5';
11
11
  import { emojis } from '../utils/emoji.js';
@@ -116,10 +116,10 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
116
116
  }
117
117
  }, toDisplayString(unref(getRoleName)(item.roleInfo)), 3), [[vShow, unref(getRoleName)(item.roleInfo)]])]), createElementVNode("span", null, toDisplayString(unref(formatTime)(item.sendTime).recordTime), 1)]), createElementVNode("div", _hoisted_5, [item.content.chatMessageType === unref(MESSAGE_TYPE).IMAGE ? (openBlock(), createElementBlock("img", {
118
118
  key: 0,
119
- src: unref(getFileDetails)(item.__content, "fileUrl")
119
+ src: unref(formatJsonstr)(item.__content, "fileUrl")
120
120
  }, null, 8, _hoisted_6)) : item.content.chatMessageType === unref(MESSAGE_TYPE).FILE ? (openBlock(), createElementBlock(Fragment, {
121
121
  key: 1
122
- }, [createElementVNode("span", _hoisted_7, toDisplayString(unref(getFileType)(item.__content)), 1), createElementVNode("div", _hoisted_8, [createElementVNode("span", _hoisted_9, toDisplayString(unref(getFileDetails)(item.__content, "fileName")), 1), createElementVNode("span", _hoisted_10, toDisplayString(unref(getDetail)(item)), 1)])], 64)) : item.content.chatMessageType === unref(MESSAGE_TYPE).EMOJI ? (openBlock(), createElementBlock("img", {
122
+ }, [createElementVNode("span", _hoisted_7, toDisplayString(unref(getFileType)(item.__content)), 1), createElementVNode("div", _hoisted_8, [createElementVNode("span", _hoisted_9, toDisplayString(unref(formatJsonstr)(item.__content, "fileName")), 1), createElementVNode("span", _hoisted_10, toDisplayString(unref(getDetail)(item)), 1)])], 64)) : item.content.chatMessageType === unref(MESSAGE_TYPE).EMOJI ? (openBlock(), createElementBlock("img", {
123
123
  key: 2,
124
124
  class: "emoji",
125
125
  src: unref(emojis).findEmoji(item.__content)
@@ -67,8 +67,22 @@ declare const _default: import("vue").DefineComponent<{}, {
67
67
  handleRemoteVideoAvailable: import("../../../../shared/types").AnyFn;
68
68
  }) => void;
69
69
  isConnect: import("vue").Ref<boolean>;
70
+ wrapperRef: import("vue").Ref<HTMLElement | null>;
71
+ handleRef: import("vue").Ref<HTMLElement | null>;
72
+ isMaxSize: import("vue").Ref<boolean>;
73
+ miniWrapperRef: import("vue").Ref<HTMLElement | null>;
70
74
  callUser: import("vue").ComputedRef<any>;
71
75
  title: import("vue").ComputedRef<string>;
76
+ style: import("vue").Ref<{
77
+ left: string;
78
+ top: string;
79
+ }>;
80
+ changePosition: (position?: ("center" | "top-right") | undefined) => void;
81
+ miniStyle: import("vue").Ref<{
82
+ left: string;
83
+ top: string;
84
+ }>;
85
+ changeMiniPosition: (position?: ("center" | "top-right") | undefined) => void;
72
86
  handleAddPerson: ({ checkedIds, checkedOptions }: {
73
87
  checkedIds: string[];
74
88
  checkedOptions: AnyObject[];
@@ -83,6 +97,7 @@ declare const _default: import("vue").DefineComponent<{}, {
83
97
  handleRemoteUserExit: (event: any) => void;
84
98
  handleError: (error: any) => void;
85
99
  NButton: any;
100
+ NAvatar: any;
86
101
  NIcon: any;
87
102
  ChatAdd: import("vue").DefineComponent<{
88
103
  title: {
@@ -285,5 +300,6 @@ declare const _default: import("vue").DefineComponent<{}, {
285
300
  PersonAdd: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
286
301
  MicOff: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
287
302
  Close: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
303
+ ResizeOutline: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
288
304
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
289
305
  export default _default;
@@ -1,7 +1,7 @@
1
- import { createElementVNode, defineComponent, ref, computed, onBeforeUnmount, openBlock, createElementBlock, withDirectives, toDisplayString, unref, vShow, createVNode, withCtx, Fragment, renderList, createCommentVNode, createTextVNode, nextTick } from 'vue';
2
- import { NButton, NIcon } from 'naive-ui';
1
+ import { createElementVNode, defineComponent, ref, computed, watch, onBeforeUnmount, openBlock, createElementBlock, Fragment, withDirectives, normalizeStyle, unref, toDisplayString, vShow, createVNode, withCtx, renderList, createCommentVNode, createTextVNode, nextTick } from 'vue';
2
+ import { NButton, NIcon, NAvatar } from 'naive-ui';
3
3
  import ChatAdd from './ChatAdd.vue.js';
4
- import { Close, Mic, MicOff, Videocam, VideocamOff, Call, PersonAdd } from '@vicons/ionicons5';
4
+ import { Close, Mic, MicOff, Videocam, VideocamOff, Call, PersonAdd, ResizeOutline } from '@vicons/ionicons5';
5
5
  import { getUserDetailApi } from '../api/index.js';
6
6
  import '@vueuse/core';
7
7
  import { $message } from '../utils/index.js';
@@ -16,32 +16,30 @@ import '../../../../shared/hooks/useScrollLoading.js';
16
16
  import 'stompjs';
17
17
  import 'sockjs-client/dist/sockjs.min.js';
18
18
  import { useVideo } from '../hooks/useVideo.js';
19
+ import { useDraggable } from '../hooks/useDraggable.js';
19
20
  import TRTC from 'trtc-sdk-v5';
20
21
 
21
22
  const _hoisted_1 = {
22
- class: "video-wrapper video-wrapper--multiple"
23
+ class: "top-right-btns"
23
24
  };
24
25
  const _hoisted_2 = {
25
- class: "video-header"
26
- };
27
- const _hoisted_3 = {
28
26
  key: 0,
29
27
  class: "video-main"
30
28
  };
31
- const _hoisted_4 = {
29
+ const _hoisted_3 = {
32
30
  class: "video-main__left"
33
31
  };
34
- const _hoisted_5 = ["data-name"];
35
- const _hoisted_6 = {
32
+ const _hoisted_4 = ["data-name"];
33
+ const _hoisted_5 = {
36
34
  class: "video-bottom"
37
35
  };
38
- const _hoisted_7 = {
36
+ const _hoisted_6 = {
39
37
  class: "btn-group"
40
38
  };
41
- const _hoisted_8 = {
39
+ const _hoisted_7 = {
42
40
  class: "btn"
43
41
  };
44
- const _hoisted_9 = /* @__PURE__ */ createElementVNode("span", {
42
+ const _hoisted_8 = /* @__PURE__ */ createElementVNode("span", {
45
43
  class: "text"
46
44
  }, function() {
47
45
  var _a, _b, _c;
@@ -51,10 +49,10 @@ const _hoisted_9 = /* @__PURE__ */ createElementVNode("span", {
51
49
  return "\u9759\u97F3";
52
50
  }
53
51
  }(), -1);
54
- const _hoisted_10 = {
52
+ const _hoisted_9 = {
55
53
  class: "btn"
56
54
  };
57
- const _hoisted_11 = /* @__PURE__ */ createElementVNode("span", {
55
+ const _hoisted_10 = /* @__PURE__ */ createElementVNode("span", {
58
56
  class: "text"
59
57
  }, function() {
60
58
  var _a, _b, _c;
@@ -64,7 +62,7 @@ const _hoisted_11 = /* @__PURE__ */ createElementVNode("span", {
64
62
  return "\u6444\u50CF\u5934";
65
63
  }
66
64
  }(), -1);
67
- const _hoisted_12 = /* @__PURE__ */ createElementVNode("span", {
65
+ const _hoisted_11 = /* @__PURE__ */ createElementVNode("span", {
68
66
  class: "text"
69
67
  }, function() {
70
68
  var _a, _b, _c;
@@ -74,10 +72,10 @@ const _hoisted_12 = /* @__PURE__ */ createElementVNode("span", {
74
72
  return "\u7ED3\u675F\u4F1A\u8BCA";
75
73
  }
76
74
  }(), -1);
77
- const _hoisted_13 = {
75
+ const _hoisted_12 = {
78
76
  class: "btn"
79
77
  };
80
- const _hoisted_14 = /* @__PURE__ */ createElementVNode("span", {
78
+ const _hoisted_13 = /* @__PURE__ */ createElementVNode("span", {
81
79
  class: "text"
82
80
  }, function() {
83
81
  var _a, _b, _c;
@@ -87,35 +85,35 @@ const _hoisted_14 = /* @__PURE__ */ createElementVNode("span", {
87
85
  return "\u6DFB\u52A0\u53C2\u4F1A\u4EBA";
88
86
  }
89
87
  }(), -1);
90
- const _hoisted_15 = {
88
+ const _hoisted_14 = {
91
89
  class: "video-main__right"
92
90
  };
93
- const _hoisted_16 = ["id", "data-name"];
94
- const _hoisted_17 = {
91
+ const _hoisted_15 = ["id", "data-name"];
92
+ const _hoisted_16 = {
95
93
  class: "user"
96
94
  };
97
- const _hoisted_18 = {
95
+ const _hoisted_17 = {
98
96
  class: "name"
99
97
  };
100
- const _hoisted_19 = {
98
+ const _hoisted_18 = {
101
99
  key: 0,
102
100
  class: "tip"
103
101
  };
104
- const _hoisted_20 = {
102
+ const _hoisted_19 = {
105
103
  key: 0,
106
104
  class: "calling-box"
107
105
  };
108
- const _hoisted_21 = {
106
+ const _hoisted_20 = {
109
107
  class: "btn-box"
110
108
  };
111
- const _hoisted_22 = {
109
+ const _hoisted_21 = {
112
110
  key: 1,
113
111
  class: "opt-btn"
114
112
  };
115
- const _hoisted_23 = {
113
+ const _hoisted_22 = {
116
114
  class: "btn"
117
115
  };
118
- const _hoisted_24 = /* @__PURE__ */ createElementVNode("span", null, function() {
116
+ const _hoisted_23 = /* @__PURE__ */ createElementVNode("span", null, function() {
119
117
  var _a, _b, _c;
120
118
  try {
121
119
  return ((_a = window.getLanguageByCode) == null ? void 0 : _a.call(window, "10010.1.113")) || ((_c = (_b = window.top) == null ? void 0 : _b.getLanguageByCode) == null ? void 0 : _c.call(_b, "10010.1.113")) || "\u62D2\u63A5";
@@ -123,10 +121,10 @@ const _hoisted_24 = /* @__PURE__ */ createElementVNode("span", null, function()
123
121
  return "\u62D2\u63A5";
124
122
  }
125
123
  }(), -1);
126
- const _hoisted_25 = {
124
+ const _hoisted_24 = {
127
125
  class: "btn"
128
126
  };
129
- const _hoisted_26 = /* @__PURE__ */ createElementVNode("span", null, function() {
127
+ const _hoisted_25 = /* @__PURE__ */ createElementVNode("span", null, function() {
130
128
  var _a, _b, _c;
131
129
  try {
132
130
  return ((_a = window.getLanguageByCode) == null ? void 0 : _a.call(window, "10010.1.114")) || ((_c = (_b = window.top) == null ? void 0 : _b.getLanguageByCode) == null ? void 0 : _c.call(_b, "10010.1.114")) || "\u63A5\u542C";
@@ -134,6 +132,12 @@ const _hoisted_26 = /* @__PURE__ */ createElementVNode("span", null, function()
134
132
  return "\u63A5\u542C";
135
133
  }
136
134
  }(), -1);
135
+ const _hoisted_26 = {
136
+ class: "header"
137
+ };
138
+ const _hoisted_27 = {
139
+ class: "content"
140
+ };
137
141
  var _sfc_main = /* @__PURE__ */ defineComponent({
138
142
  __name: "MultipleVideo",
139
143
  setup(__props) {
@@ -158,6 +162,10 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
158
162
  uninstallEventHandlers
159
163
  } = useVideo();
160
164
  const isConnect = ref(false);
165
+ const wrapperRef = ref(null);
166
+ const handleRef = ref(null);
167
+ const isMaxSize = ref(true);
168
+ const miniWrapperRef = ref(null);
161
169
  const callUser = computed(() => isCall.value ? state.userInfo.name : state.currentAVMsg.sendName);
162
170
  const title = computed(() => {
163
171
  if (!isConnect.value)
@@ -165,6 +173,24 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
165
173
  const count = isCall.value ? `\uFF08${remoteUsers.value.length + 1}/${state.currentAVMsg.checkedIds.length + 1}\uFF09` : "";
166
174
  return `${callUser.value}\u53D1\u8D77\u7684${messageTypeText.value}\u4F1A\u8BCA${count} ${timing.value}`;
167
175
  });
176
+ const {
177
+ style,
178
+ changePosition
179
+ } = useDraggable(wrapperRef, {
180
+ initialPosition: "center",
181
+ handle: handleRef
182
+ });
183
+ const {
184
+ style: miniStyle,
185
+ changePosition: changeMiniPosition
186
+ } = useDraggable(miniWrapperRef);
187
+ watch(() => isMaxSize.value, (val) => {
188
+ if (val) {
189
+ changePosition("center");
190
+ } else {
191
+ changeMiniPosition("top-right");
192
+ }
193
+ });
168
194
  function handleAddPerson({
169
195
  checkedIds,
170
196
  checkedOptions
@@ -315,24 +341,38 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
315
341
  handleExit();
316
342
  });
317
343
  return (_ctx, _cache) => {
318
- return openBlock(), createElementBlock("div", _hoisted_1, [createElementVNode("div", _hoisted_2, [withDirectives(createElementVNode("span", {
344
+ return openBlock(), createElementBlock(Fragment, null, [withDirectives(createElementVNode("div", {
345
+ class: "video-wrapper video-wrapper--multiple",
346
+ ref_key: "wrapperRef",
347
+ ref: wrapperRef,
348
+ style: normalizeStyle(unref(style))
349
+ }, [createElementVNode("div", {
350
+ class: "video-header",
351
+ ref_key: "handleRef",
352
+ ref: handleRef
353
+ }, [withDirectives(createElementVNode("span", {
319
354
  class: "title"
320
- }, toDisplayString(unref(title)), 513), [[vShow, isConnect.value]]), createVNode(unref(NButton), {
355
+ }, toDisplayString(unref(title)), 513), [[vShow, isConnect.value]]), createElementVNode("div", _hoisted_1, [createVNode(unref(NButton), {
321
356
  quaternary: "",
322
- circle: "",
357
+ size: "tiny",
358
+ class: "custom-btn",
359
+ onClick: _cache[0] || (_cache[0] = () => isMaxSize.value = false)
360
+ }), createVNode(unref(NButton), {
361
+ text: "",
323
362
  color: "#ffffffcc",
324
363
  onClick: handleExit
325
364
  }, {
326
- icon: withCtx(() => [createVNode(unref(NIcon), {
365
+ default: withCtx(() => [createVNode(unref(NIcon), {
366
+ size: "18",
327
367
  component: unref(Close)
328
368
  }, null, 8, ["component"])]),
329
369
  _: 1
330
- })]), isConnect.value ? (openBlock(), createElementBlock("div", _hoisted_3, [createElementVNode("div", _hoisted_4, [createElementVNode("div", {
370
+ })])], 512), isConnect.value ? (openBlock(), createElementBlock("div", _hoisted_2, [createElementVNode("div", _hoisted_3, [createElementVNode("div", {
331
371
  ref_key: "selfVideoRef",
332
372
  ref: selfVideoRef,
333
373
  class: "video-view",
334
374
  "data-name": unref(state).userInfo.name
335
- }, null, 8, _hoisted_5), createElementVNode("div", _hoisted_6, [createElementVNode("div", _hoisted_7, [createElementVNode("div", _hoisted_8, [createVNode(unref(NButton), {
375
+ }, null, 8, _hoisted_4), createElementVNode("div", _hoisted_5, [createElementVNode("div", _hoisted_6, [createElementVNode("div", _hoisted_7, [createVNode(unref(NButton), {
336
376
  text: "",
337
377
  color: !unref(voiceClose) ? "#fff" : "#000",
338
378
  onClick: unref(toggleAudio)
@@ -341,7 +381,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
341
381
  component: !unref(voiceClose) ? unref(Mic) : unref(MicOff)
342
382
  }, null, 8, ["component"])]),
343
383
  _: 1
344
- }, 8, ["color", "onClick"]), _hoisted_9]), createElementVNode("div", _hoisted_10, [createVNode(unref(NButton), {
384
+ }, 8, ["color", "onClick"]), _hoisted_8]), createElementVNode("div", _hoisted_9, [createVNode(unref(NButton), {
345
385
  text: "",
346
386
  color: !unref(videocamClose) ? "#fff" : "#000",
347
387
  disabled: unref(isAudio),
@@ -351,7 +391,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
351
391
  component: !unref(videocamClose) ? unref(Videocam) : unref(VideocamOff)
352
392
  }, null, 8, ["component"])]),
353
393
  _: 1
354
- }, 8, ["color", "disabled", "onClick"]), _hoisted_11]), createElementVNode("div", {
394
+ }, 8, ["color", "disabled", "onClick"]), _hoisted_10]), createElementVNode("div", {
355
395
  class: "btn",
356
396
  onClick: handleExit
357
397
  }, [createVNode(unref(NButton), {
@@ -363,11 +403,11 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
363
403
  component: unref(Call)
364
404
  }, null, 8, ["component"])]),
365
405
  _: 1
366
- }), _hoisted_12]), createVNode(ChatAdd, {
406
+ }), _hoisted_11]), createVNode(ChatAdd, {
367
407
  onComfirm: handleAddPerson,
368
408
  disabledIds: unref(state).currentAVMsg.checkedIds
369
409
  }, {
370
- trigger: withCtx(() => [createElementVNode("div", _hoisted_13, [createVNode(unref(NButton), {
410
+ trigger: withCtx(() => [createElementVNode("div", _hoisted_12, [createVNode(unref(NButton), {
371
411
  text: "",
372
412
  color: "#fff"
373
413
  }, {
@@ -375,18 +415,18 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
375
415
  component: unref(PersonAdd)
376
416
  }, null, 8, ["component"])]),
377
417
  _: 1
378
- }), _hoisted_14])]),
418
+ }), _hoisted_13])]),
379
419
  _: 1
380
- }, 8, ["disabledIds"])])])]), createElementVNode("div", _hoisted_15, [(openBlock(true), createElementBlock(Fragment, null, renderList(remoteUsers.value, (user) => {
420
+ }, 8, ["disabledIds"])])])]), createElementVNode("div", _hoisted_14, [(openBlock(true), createElementBlock(Fragment, null, renderList(remoteUsers.value, (user) => {
381
421
  return openBlock(), createElementBlock("div", {
382
422
  key: user.id,
383
423
  id: user.id,
384
424
  class: "video-view",
385
425
  "data-name": user.name
386
- }, null, 8, _hoisted_16);
426
+ }, null, 8, _hoisted_15);
387
427
  }), 128))])])) : (openBlock(), createElementBlock(Fragment, {
388
428
  key: 1
389
- }, [createElementVNode("div", _hoisted_17, [createElementVNode("span", _hoisted_18, toDisplayString(unref(callUser)) + function() {
429
+ }, [createElementVNode("div", _hoisted_16, [createElementVNode("span", _hoisted_17, toDisplayString(unref(callUser)) + function() {
390
430
  var _a, _b, _c;
391
431
  try {
392
432
  return ((_a = window.getLanguageByCode) == null ? void 0 : _a.call(window, "10010.1.108")) || ((_c = (_b = window.top) == null ? void 0 : _b.getLanguageByCode) == null ? void 0 : _c.call(_b, "10010.1.108")) || "\u53D1\u8D77\u7684";
@@ -400,7 +440,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
400
440
  } catch (e) {
401
441
  return "\u4F1A\u8BAE";
402
442
  }
403
- }(), 1), !unref(isCall) ? (openBlock(), createElementBlock("span", _hoisted_19, function() {
443
+ }(), 1), !unref(isCall) ? (openBlock(), createElementBlock("span", _hoisted_18, function() {
404
444
  var _a, _b, _c;
405
445
  try {
406
446
  return ((_a = window.getLanguageByCode) == null ? void 0 : _a.call(window, "10010.1.110")) || ((_c = (_b = window.top) == null ? void 0 : _b.getLanguageByCode) == null ? void 0 : _c.call(_b, "10010.1.110")) || "\u9080\u8BF7\u4F60\u52A0\u5165";
@@ -414,7 +454,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
414
454
  } catch (e) {
415
455
  return "\u4F1A\u8BAE";
416
456
  }
417
- }(), 1)) : createCommentVNode("v-if", true)]), unref(isCall) ? (openBlock(), createElementBlock("div", _hoisted_20, [createVNode(ChatAdd, {
457
+ }(), 1)) : createCommentVNode("v-if", true)]), unref(isCall) ? (openBlock(), createElementBlock("div", _hoisted_19, [createVNode(ChatAdd, {
418
458
  onComfirm: handleAddPerson,
419
459
  disabledIds: unref(state).currentAVMsg.checkedIds
420
460
  }, {
@@ -459,10 +499,10 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
459
499
  }
460
500
  }())]),
461
501
  _: 1
462
- }), createElementVNode("div", _hoisted_21, [createVNode(unref(NButton), {
502
+ }), createElementVNode("div", _hoisted_20, [createVNode(unref(NButton), {
463
503
  color: "#000",
464
504
  round: "",
465
- onClick: _cache[0] || (_cache[0] = ($event) => voiceClose.value = !unref(voiceClose))
505
+ onClick: _cache[1] || (_cache[1] = ($event) => voiceClose.value = !unref(voiceClose))
466
506
  }, {
467
507
  icon: withCtx(() => [createVNode(unref(NIcon), {
468
508
  component: unref(voiceClose) ? unref(MicOff) : unref(Mic)
@@ -471,25 +511,25 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
471
511
  }), createVNode(unref(NButton), {
472
512
  color: "#000",
473
513
  round: "",
474
- onClick: _cache[1] || (_cache[1] = ($event) => videocamClose.value = !unref(videocamClose)),
514
+ onClick: _cache[2] || (_cache[2] = ($event) => videocamClose.value = !unref(videocamClose)),
475
515
  disabled: unref(isAudio)
476
516
  }, {
477
517
  icon: withCtx(() => [createVNode(unref(NIcon), {
478
518
  component: unref(videocamClose) ? unref(VideocamOff) : unref(Videocam)
479
519
  }, null, 8, ["component"])]),
480
520
  _: 1
481
- }, 8, ["disabled"])])])) : (openBlock(), createElementBlock("div", _hoisted_22, [createElementVNode("div", _hoisted_23, [createVNode(unref(NButton), {
521
+ }, 8, ["disabled"])])])) : (openBlock(), createElementBlock("div", _hoisted_21, [createElementVNode("div", _hoisted_22, [createVNode(unref(NButton), {
482
522
  circle: "",
483
523
  color: "#f17568",
484
524
  class: "btn--rotate",
485
- onClick: _cache[2] || (_cache[2] = () => unref(state).showMultipleVideo = false)
525
+ onClick: _cache[3] || (_cache[3] = () => unref(state).showMultipleVideo = false)
486
526
  }, {
487
527
  icon: withCtx(() => [createVNode(unref(NIcon), {
488
528
  size: "30",
489
529
  component: unref(Call)
490
530
  }, null, 8, ["component"])]),
491
531
  _: 1
492
- }), _hoisted_24]), createElementVNode("div", _hoisted_25, [createVNode(unref(NButton), {
532
+ }), _hoisted_23]), createElementVNode("div", _hoisted_24, [createVNode(unref(NButton), {
493
533
  circle: "",
494
534
  color: "#2ac98b",
495
535
  onClick: handleEnter
@@ -499,7 +539,26 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
499
539
  component: unref(Call)
500
540
  }, null, 8, ["component"])]),
501
541
  _: 1
502
- }), _hoisted_26])]))], 64))]);
542
+ }), _hoisted_25])]))], 64))], 4), [[vShow, isMaxSize.value]]), withDirectives(createElementVNode("div", {
543
+ class: "video-wrapper video-wrapper--mini",
544
+ ref_key: "miniWrapperRef",
545
+ ref: miniWrapperRef,
546
+ style: normalizeStyle(unref(miniStyle))
547
+ }, [createElementVNode("div", _hoisted_26, [createVNode(unref(NButton), {
548
+ text: "",
549
+ color: "#ffffffcc",
550
+ onClick: _cache[4] || (_cache[4] = () => isMaxSize.value = true)
551
+ }, {
552
+ default: withCtx(() => [createVNode(unref(NIcon), {
553
+ size: "18",
554
+ component: unref(ResizeOutline)
555
+ }, null, 8, ["component"])]),
556
+ _: 1
557
+ })]), createElementVNode("div", _hoisted_27, [createVNode(unref(NAvatar), {
558
+ round: "",
559
+ size: 48,
560
+ src: unref(state).userInfo.avatar
561
+ }, null, 8, ["src"])])], 4), [[vShow, !isMaxSize.value]])], 64);
503
562
  };
504
563
  }
505
564
  });
@@ -225,7 +225,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
225
225
  round: "",
226
226
  size: 100,
227
227
  onClickCapture: _cache[0] || (_cache[0] = ($event) => showLargeAvatar.value = true)
228
- }, null, 8, ["src"]), createCommentVNode(' <n-upload abstract accept="image/*" @change="onChange">\n <n-upload-trigger #="{ handleClick }" abstract>\n <n-button\n circle\n secondary\n class="edit-avatar"\n v-show="userDetail.id === state.userInfo.id"\n @click="handleClick"\n >\n <template #icon>\n <n-icon size="16" color="#666666" :component="Camera" />\n </template>\n </n-button>\n </n-upload-trigger>\n </n-upload> '), createElementVNode("div", _hoisted_4, [createElementVNode("h4", null, [createElementVNode("label", _hoisted_5, toDisplayString(userDetail.name), 1), withDirectives(createElementVNode("label", {
228
+ }, null, 8, ["src"]), createCommentVNode(' <n-upload abstract accept="image/*" @change="onChange">\r\n <n-upload-trigger #="{ handleClick }" abstract>\r\n <n-button\r\n circle\r\n secondary\r\n class="edit-avatar"\r\n v-show="userDetail.id === state.userInfo.id"\r\n @click="handleClick"\r\n >\r\n <template #icon>\r\n <n-icon size="16" color="#666666" :component="Camera" />\r\n </template>\r\n </n-button>\r\n </n-upload-trigger>\r\n </n-upload> '), createElementVNode("div", _hoisted_4, [createElementVNode("h4", null, [createElementVNode("label", _hoisted_5, toDisplayString(userDetail.name), 1), withDirectives(createElementVNode("label", {
229
229
  class: normalizeClass(["iho-chatRole", unref(isDoctorRole)(userDetail.roleInfo) ? "isDoctor" : ""])
230
230
  }, toDisplayString(unref(getRoleName)(userDetail.roleInfo)), 3), [[vShow, unref(getRoleName)(userDetail.roleInfo)]])]), createElementVNode("p", null, toDisplayString(userDetail.orgName), 1)]), createVNode(unref(NButton), {
231
231
  strong: "",
@@ -1,3 +1,4 @@
1
1
  export * from './useData';
2
2
  export * from './useWebSocket';
3
3
  export * from './useVideo';
4
+ export * from './useDraggable';
@@ -1,3 +1,4 @@
1
1
  export { InjectionIChatData, initData, useData } from './useData.js';
2
2
  export { useWebSocket } from './useWebSocket.js';
3
3
  export { useVideo } from './useVideo.js';
4
+ export { useDraggable } from './useDraggable.js';
@@ -1,9 +1,9 @@
1
1
  import { ref, reactive, computed, watch, toRef, inject, toRaw } from 'vue';
2
2
  import { openSessionApi, updateStatusApi, groupUserApi } from '../api/index.js';
3
3
  import { promiseTimeout, useIntervalFn } from '@vueuse/core';
4
- import { isGroup, listSort, formatTime, transformMessage, getFileSize, $message, simplifyMessage } from '../utils/index.js';
4
+ import { isGroup, listSort, formatTime, transformMessage, $message, simplifyMessage } from '../utils/index.js';
5
5
  import { cloneDeep, remove, isArray, uniqBy } from 'lodash-es';
6
- import { STATUS, MESSAGE_TYPE, CHAT_TYPE } from '../constants/index.js';
6
+ import { STATUS, CHAT_TYPE, MESSAGE_TYPE } from '../constants/index.js';
7
7
  import { useTheme } from '../../../../shared/hooks/useTheme.js';
8
8
  import 'date-fns';
9
9
  import '@vue/shared';
@@ -139,11 +139,6 @@ function initData(props, emit) {
139
139
  __content: transformMessage(item.content),
140
140
  __sendTime: formatTime(item.sendTime).recordTime
141
141
  });
142
- if (item.content.chatMessageType === MESSAGE_TYPE.FILE && !item.__size) {
143
- getFileSize(item.content.fileUrl).then((size) => {
144
- item.__size = size;
145
- });
146
- }
147
142
  });
148
143
  if (needUpdateTime()) {
149
144
  resume();