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
@@ -0,0 +1,25 @@
1
+ import { type Ref } from 'vue';
2
+ interface Position {
3
+ x: number;
4
+ y: number;
5
+ }
6
+ type PositionStr = 'center' | 'top-right';
7
+ interface UseDraggableOptions {
8
+ handle?: Ref<HTMLElement | null>;
9
+ initialPosition?: PositionStr;
10
+ onDragStart?: (position: Position) => void;
11
+ onDrag?: (position: Position) => void;
12
+ onDragEnd?: (position: Position) => void;
13
+ }
14
+ export declare function useDraggable(target: Ref<HTMLElement | null>, options?: UseDraggableOptions): {
15
+ style: Ref<{
16
+ left: string;
17
+ top: string;
18
+ }>;
19
+ position: {
20
+ x: Ref<number>;
21
+ y: Ref<number>;
22
+ };
23
+ changePosition: (position?: PositionStr) => void;
24
+ };
25
+ export {};
@@ -0,0 +1,160 @@
1
+ import { ref, onMounted, onBeforeUnmount } from 'vue';
2
+
3
+ function useDraggable(target, options = {}) {
4
+ const x = ref(0);
5
+ const y = ref(0);
6
+ const isDragging = ref(false);
7
+ const startPos = ref({
8
+ x: 0,
9
+ y: 0
10
+ });
11
+ const startMousePos = ref({
12
+ x: 0,
13
+ y: 0
14
+ });
15
+ const style = ref({
16
+ left: `${x.value}px`,
17
+ top: `${y.value}px`
18
+ });
19
+ const updatePosition = () => {
20
+ style.value = {
21
+ left: `${x.value}px`,
22
+ top: `${y.value}px`
23
+ };
24
+ };
25
+ const centerElement = () => {
26
+ if (!target.value)
27
+ return;
28
+ const {
29
+ width: width1,
30
+ height: height1
31
+ } = target.value.getBoundingClientRect();
32
+ const {
33
+ width: width2,
34
+ height: height2
35
+ } = getHiddenElementRect(target.value);
36
+ const width = width1 || width2 || 0;
37
+ const height = height1 || height2 || 0;
38
+ x.value = window.innerWidth / 2 - width / 2;
39
+ y.value = window.innerHeight / 2 - height / 2;
40
+ updatePosition();
41
+ };
42
+ const topRightElement = () => {
43
+ if (!target.value)
44
+ return;
45
+ const {
46
+ width: width1
47
+ } = target.value.getBoundingClientRect();
48
+ const {
49
+ width: width2
50
+ } = getHiddenElementRect(target.value);
51
+ const width = width1 || width2 || 0;
52
+ x.value = window.innerWidth - width - 20;
53
+ y.value = 20;
54
+ updatePosition();
55
+ };
56
+ const handlePosition = () => {
57
+ changePosition(options.initialPosition);
58
+ };
59
+ const changePosition = (position) => {
60
+ if (!position)
61
+ return;
62
+ if (position === "center") {
63
+ centerElement();
64
+ } else if (position === "top-right") {
65
+ topRightElement();
66
+ }
67
+ };
68
+ const clamp = (val, min, max) => Math.max(min, Math.min(val, max));
69
+ const onMouseDown = (e) => {
70
+ var _a;
71
+ if (!target.value)
72
+ return;
73
+ isDragging.value = true;
74
+ startMousePos.value = {
75
+ x: e.clientX,
76
+ y: e.clientY
77
+ };
78
+ startPos.value = {
79
+ x: x.value,
80
+ y: y.value
81
+ };
82
+ (_a = options.onDragStart) == null ? void 0 : _a.call(options, {
83
+ x: x.value,
84
+ y: y.value
85
+ });
86
+ e.preventDefault();
87
+ document.body.style.userSelect = "none";
88
+ };
89
+ const onMouseMove = (e) => {
90
+ var _a;
91
+ if (!isDragging.value || !target.value)
92
+ return;
93
+ const dx = e.clientX - startMousePos.value.x;
94
+ const dy = e.clientY - startMousePos.value.y;
95
+ const {
96
+ width,
97
+ height
98
+ } = target.value.getBoundingClientRect();
99
+ const minX = 0;
100
+ const minY = 0;
101
+ const maxX = window.innerWidth - width;
102
+ const maxY = window.innerHeight - height;
103
+ x.value = clamp(startPos.value.x + dx, minX, maxX);
104
+ y.value = clamp(startPos.value.y + dy, minY, maxY);
105
+ updatePosition();
106
+ (_a = options.onDrag) == null ? void 0 : _a.call(options, {
107
+ x: x.value,
108
+ y: y.value
109
+ });
110
+ };
111
+ const onMouseUp = () => {
112
+ var _a;
113
+ if (!isDragging.value)
114
+ return;
115
+ isDragging.value = false;
116
+ document.body.style.userSelect = "";
117
+ (_a = options.onDragEnd) == null ? void 0 : _a.call(options, {
118
+ x: x.value,
119
+ y: y.value
120
+ });
121
+ };
122
+ onMounted(() => {
123
+ var _a, _b;
124
+ const handle = (_b = (_a = options.handle) == null ? void 0 : _a.value) != null ? _b : target.value;
125
+ if (!handle)
126
+ return;
127
+ handlePosition();
128
+ handle.addEventListener("mousedown", onMouseDown);
129
+ document.addEventListener("mousemove", onMouseMove);
130
+ document.addEventListener("mouseup", onMouseUp);
131
+ window.addEventListener("resize", handlePosition);
132
+ });
133
+ onBeforeUnmount(() => {
134
+ var _a, _b;
135
+ const handle = (_b = (_a = options.handle) == null ? void 0 : _a.value) != null ? _b : target.value;
136
+ if (!handle)
137
+ return;
138
+ handle.removeEventListener("mousedown", onMouseDown);
139
+ document.removeEventListener("mousemove", onMouseMove);
140
+ document.removeEventListener("mouseup", onMouseUp);
141
+ window.removeEventListener("resize", handlePosition);
142
+ });
143
+ return {
144
+ style,
145
+ position: {
146
+ x,
147
+ y
148
+ },
149
+ changePosition
150
+ };
151
+ }
152
+ function getHiddenElementRect(element) {
153
+ const styles = window.getComputedStyle(element);
154
+ return {
155
+ width: parseFloat(styles.width),
156
+ height: parseFloat(styles.height)
157
+ };
158
+ }
159
+
160
+ export { useDraggable };
@@ -9,8 +9,7 @@ export declare function listSort(list: AnyObject[]): AnyObject[];
9
9
  export declare function transformMessage(content: AnyObject): any;
10
10
  export declare function getAVTime(msg: string): string;
11
11
  export declare function simplifyMessage(lastMessage: AnyObject): any;
12
- export declare function downloadFile(url: string, filename: string): void;
13
- export declare function getFileSize(url: string): Promise<unknown>;
12
+ export declare function downloadFile(msg: string): void;
14
13
  export declare function base64ToFile(base64: string): Promise<File | undefined>;
15
14
  export declare function isAudioOrVideoMessage(message: AnyObject): boolean;
16
15
  export declare function formatSeconds(seconds: number): string;
@@ -18,7 +17,7 @@ export declare function isGroup(session: AnyObject): boolean;
18
17
  export declare function getForwardTitle(content: AnyObject): string | undefined;
19
18
  export declare function isDoctorRole(type: string): boolean;
20
19
  export declare function getRoleName(type: string): string;
21
- export declare function getFileDetails(msg: string, type: string): any;
22
20
  export declare function getFileType(msg: string): string;
23
21
  export declare function getDetail(item: AnyObject, isShowSize?: boolean): string;
24
22
  export declare function showAudioAndVideoRecord(chatMessageType: string): "语音通话" | "视频通话";
23
+ export declare function formatJsonstr(obj: AnyObject | string, type: string): any;
@@ -177,44 +177,24 @@ function simplifyMessage(lastMessage) {
177
177
  return "[\u6D88\u606F]";
178
178
  }
179
179
  }
180
- function downloadFile(url, filename) {
180
+ function downloadFile(msg) {
181
+ const fileName = formatJsonstr(msg, "fileName");
182
+ const fileUrl = formatJsonstr(msg, "fileUrl");
181
183
  const x = new XMLHttpRequest();
182
- x.open("GET", url, true);
184
+ x.open("GET", fileUrl, true);
183
185
  x.responseType = "blob";
184
186
  x.onload = function(e) {
185
187
  if (x.status === 200) {
186
188
  const _url = window.URL.createObjectURL(x.response);
187
189
  const a = document.createElement("a");
188
190
  a.href = _url;
189
- a.download = filename;
191
+ a.download = fileName;
190
192
  a.dispatchEvent(new MouseEvent("click"));
191
193
  window.URL.revokeObjectURL(_url);
192
194
  }
193
195
  };
194
196
  x.send();
195
197
  }
196
- function getFileSize(url) {
197
- return new Promise((resolve, reject) => {
198
- const x = new XMLHttpRequest();
199
- x.open("HEAD", url, true);
200
- x.onreadystatechange = () => {
201
- var _a;
202
- if (x.readyState === 4 && x.status === 200) {
203
- let size = (_a = x.getResponseHeader("Content-Length")) != null ? _a : 0;
204
- const _size = +size;
205
- if (_size > 1024 * 1024) {
206
- size = (_size / (1024 * 1024)).toFixed(2) + "M";
207
- } else if (_size > 1024) {
208
- size = (_size / 1024).toFixed(2) + "K";
209
- } else {
210
- size = size + "B";
211
- }
212
- resolve(size);
213
- }
214
- };
215
- x.send();
216
- });
217
- }
218
198
  async function base64ToFile(base64) {
219
199
  try {
220
200
  const res = await fetch(base64);
@@ -272,17 +252,6 @@ function getRoleName(type) {
272
252
  }
273
253
  return roleName;
274
254
  }
275
- function getFileDetails(msg, type) {
276
- try {
277
- const parseMsg = JSON.parse(msg);
278
- if (parseMsg) {
279
- return parseMsg[type];
280
- }
281
- return "";
282
- } catch (error) {
283
- return msg || "";
284
- }
285
- }
286
255
  function getFileType(msg) {
287
256
  const dotIndex = msg.lastIndexOf(".");
288
257
  if (dotIndex !== -1) {
@@ -293,13 +262,14 @@ function getFileType(msg) {
293
262
  }
294
263
  function getDetail(item, isShowSize) {
295
264
  const {
296
- size,
265
+ content = {},
297
266
  sendTime,
298
267
  senderName
299
268
  } = item;
300
269
  const details = `${format(new Date(sendTime), "yyyy/MM/dd HH:mm")} ${senderName}`;
301
270
  if (isShowSize) {
302
- return `${size} \xB7 ${details}`;
271
+ const fileSize = formatJsonstr(content.msg, "fileSize");
272
+ return `${fileSize} \xB7 ${details}`;
303
273
  }
304
274
  return details;
305
275
  }
@@ -320,5 +290,16 @@ function showAudioAndVideoRecord(chatMessageType) {
320
290
  }
321
291
  }();
322
292
  }
293
+ function formatJsonstr(obj, type) {
294
+ try {
295
+ if (typeof obj === "string") {
296
+ const objParse = JSON.parse(obj);
297
+ return objParse[type];
298
+ }
299
+ return obj[type];
300
+ } catch (error) {
301
+ return obj;
302
+ }
303
+ }
323
304
 
324
- export { $message, base64ToFile, downloadFile, formatSeconds, formatTime, getAVTime, getDetail, getFileDetails, getFileSize, getFileType, getForwardTitle, getRoleName, isAudioOrVideoMessage, isDoctorRole, isGroup, listSort, showAudioAndVideoRecord, simplifyMessage, transformMessage };
305
+ export { $message, base64ToFile, downloadFile, formatJsonstr, formatSeconds, formatTime, getAVTime, getDetail, getFileType, getForwardTitle, getRoleName, isAudioOrVideoMessage, isDoctorRole, isGroup, listSort, showAudioAndVideoRecord, simplifyMessage, transformMessage };