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.
- package/README.md +87 -87
- package/es/components/audio-sdk/index.d.ts +18 -16
- package/es/components/audio-sdk/src/Index.vue.d.ts +18 -16
- package/es/components/audio-sdk/src/Index.vue2.js +47 -12
- package/es/components/audio-sdk/src/audioSDK.js +1 -1
- package/es/components/audio-sdk/src/components/recording-modal.vue.d.ts +6 -6
- package/es/components/audio-sdk/src/components/recording.vue.d.ts +6 -6
- package/es/components/audio-sdk/src/components/recording.vue2.js +17 -3
- package/es/components/base-search/index.d.ts +3 -0
- package/es/components/base-search/src/index.vue.d.ts +3 -0
- package/es/components/big-table/src/components/NoData.vue2.js +8 -1
- package/es/components/big-table/src/hooks/useTableParse.js +8 -1
- package/es/components/button-print/src/components/NewPrintComponent.vue2.js +3 -0
- package/es/components/button-print/src/components/OldPrintComponent.vue2.js +1 -1
- package/es/components/callback/src/components/render/popupMaps.d.ts +13 -0
- package/es/components/card-reader-sdk-cn/src/henan/index.js +8 -1
- package/es/components/classification/index.d.ts +56 -6
- package/es/components/classification/src/components/search-filter/index.vue.d.ts +56 -6
- package/es/components/classification/src/components/set-classification/index.vue.d.ts +56 -6
- package/es/components/classification/src/components/table-modal/index.vue.d.ts +3 -0
- package/es/components/classification/src/index.vue.d.ts +56 -6
- package/es/components/date-picker/src/DatePicker.vue2.js +8 -1
- package/es/components/expand-field/index.d.ts +792 -1
- package/es/components/expand-field/src/components/FormItemPerson.vue.d.ts +792 -1
- package/es/components/expand-field/src/components/PersonModal.vue.d.ts +792 -1
- package/es/components/expand-field/src/components/form.vue.d.ts +792 -1
- package/es/components/expand-field/src/components/form.vue2.js +8 -1
- package/es/components/expand-field/src/index.vue.d.ts +792 -1
- package/es/components/field-editor/index.d.ts +13 -0
- package/es/components/field-editor/src/FieldEditor.vue.d.ts +13 -0
- package/es/components/field-editor/src/FieldEditor.vue2.js +2 -1
- package/es/components/field-editor/src/fields.d.ts +1 -0
- package/es/components/field-editor/src/fields.js +6 -0
- package/es/components/field-set/src/FieldColor.vue.d.ts +2 -0
- package/es/components/field-set/src/FieldFilter.vue.d.ts +2 -0
- package/es/components/field-set/src/FieldSet.vue.d.ts +34 -0
- package/es/components/field-set/src/FieldSet.vue2.js +118 -69
- package/es/components/field-set/src/Index.vue2.js +8 -3
- package/es/components/field-set/src/TableStyle.vue2.js +2 -2
- package/es/components/field-set/src/constants/index.d.ts +1 -1
- package/es/components/field-set/src/types/index.d.ts +1 -0
- package/es/components/field-set/style/index.css +1 -1
- package/es/components/form-config/index.d.ts +39 -0
- package/es/components/form-config/src/FormConfig.vue.d.ts +39 -0
- package/es/components/form-config/src/components/FormConfigCreator.vue.d.ts +13 -0
- package/es/components/form-config/src/components/FormConfigEdit.vue.d.ts +13 -0
- package/es/components/form-config/src/components/FormConfigEventSetting.vue.d.ts +13 -0
- package/es/components/form-config/src/components/FormConfigEventSetting.vue2.js +9 -2
- package/es/components/form-render/index.d.ts +13 -0
- package/es/components/form-render/src/FormRender.vue.d.ts +13 -0
- package/es/components/form-render/src/FormRender.vue2.js +4 -0
- package/es/components/form-render/src/FormRenderWrapper.vue.d.ts +13 -0
- package/es/components/form-render/src/components/renderer/formItem.js +8 -1
- package/es/components/form-render/src/hooks/useBusinessBinding.d.ts +12 -3
- package/es/components/form-render/src/hooks/useBusinessBinding.js +7 -7
- package/es/components/form-render/src/hooks/useFormContext.js +1 -1
- package/es/components/form-render/src/hooks/useFormValidator.js +8 -1
- package/es/components/form-render/src/hooks/useLowCodeReactions.js +2 -1
- package/es/components/form-render/src/utils/business.d.ts +3 -1
- package/es/components/form-render/src/utils/business.js +7 -1
- package/es/components/iho-chat/index.d.ts +25 -5
- package/es/components/iho-chat/src/Index.vue.d.ts +25 -5
- package/es/components/iho-chat/src/components/ChatFile.vue.d.ts +2 -2
- package/es/components/iho-chat/src/components/ChatFile.vue2.js +5 -15
- package/es/components/iho-chat/src/components/ChatFooter.vue.d.ts +5 -1
- package/es/components/iho-chat/src/components/ChatFooter.vue2.js +53 -14
- package/es/components/iho-chat/src/components/ChatHeader.vue.d.ts +2 -2
- package/es/components/iho-chat/src/components/ChatHeader.vue2.js +3 -2
- package/es/components/iho-chat/src/components/ChatMain.vue.d.ts +3 -3
- package/es/components/iho-chat/src/components/ChatMain.vue2.js +7 -15
- package/es/components/iho-chat/src/components/ChatRecord.vue.d.ts +2 -2
- package/es/components/iho-chat/src/components/ChatRecord.vue2.js +3 -3
- package/es/components/iho-chat/src/components/ContextMenu.js +3 -11
- package/es/components/iho-chat/src/components/MessageMergeForward.vue.d.ts +2 -2
- package/es/components/iho-chat/src/components/MessageMergeForward.vue2.js +3 -3
- package/es/components/iho-chat/src/components/MultipleVideo.vue.d.ts +16 -0
- package/es/components/iho-chat/src/components/MultipleVideo.vue2.js +112 -53
- package/es/components/iho-chat/src/components/PersonProfile.vue2.js +1 -1
- package/es/components/iho-chat/src/hooks/index.d.ts +1 -0
- package/es/components/iho-chat/src/hooks/index.js +1 -0
- package/es/components/iho-chat/src/hooks/useData.js +2 -7
- package/es/components/iho-chat/src/hooks/useDraggable.d.ts +25 -0
- package/es/components/iho-chat/src/hooks/useDraggable.js +160 -0
- package/es/components/iho-chat/src/utils/index.d.ts +2 -3
- package/es/components/iho-chat/src/utils/index.js +20 -39
- package/es/components/iho-chat/style/index.css +1 -1
- package/es/components/iho-table/src/plugins/filterRenderPlugin/filter.vue2.js +8 -1
- package/es/components/iho-table/src/plugins/headerPlugin/index.js +5 -2
- package/es/components/index.css +1 -1
- package/es/components/info-header/index.d.ts +26 -0
- package/es/components/info-header/src/InfoHeader.vue.d.ts +26 -0
- package/es/components/info-header/src/components/infoDescription/index.vue.d.ts +13 -0
- package/es/components/info-header/src/components/patientInfo/index.vue.d.ts +13 -0
- package/es/components/info-header/src/components/patientInfo/index.vue2.js +16 -2
- package/es/components/quick-search/index.d.ts +2 -0
- package/es/components/quick-search/src/index.vue.d.ts +2 -0
- package/es/components/scale-view/index.d.ts +53 -3
- package/es/components/scale-view/src/ScaleView.vue.d.ts +56 -5
- package/es/components/scale-view/src/ScaleView.vue2.js +79 -4
- package/es/components/scale-view/src/components/AnswerParse.vue.d.ts +5 -0
- package/es/components/scale-view/src/components/AnswerParse.vue2.js +74 -8
- package/es/components/scale-view/src/components/EvaluateCountdown.vue.d.ts +3 -0
- package/es/components/scale-view/src/components/EvaluateCountdown.vue2.js +26 -2
- package/es/components/scale-view/src/components/EvaluatePage.vue.d.ts +3 -0
- package/es/components/scale-view/src/components/EvaluatePage.vue2.js +27 -6
- package/es/components/scale-view/src/components/NoData.vue2.js +9 -3
- package/es/components/scale-view/src/components/ScaleScore.d.ts +1 -1
- package/es/components/scale-view/src/components/ScaleScore.js +45 -3
- package/es/components/scale-view/src/components/formitem/r-checkbox.js +16 -2
- package/es/components/scale-view/src/components/formitem/r-sign.js +32 -4
- package/es/components/scale-view/src/components/formitem/r-upload.js +65 -7
- package/es/components/scale-view/src/components/formitem/sign-com.js +8 -1
- package/es/components/scale-view/src/hooks/scaleview-computed.js +18 -3
- package/es/components/scale-view/src/hooks/scaleview-init.js +24 -3
- package/es/components/scale-view/src/hooks/scaleview-methods.js +40 -5
- package/es/components/scale-view/src/hooks/scaleview-props.d.ts +8 -0
- package/es/components/scale-view/src/hooks/scaleview-props.js +8 -0
- package/es/components/scale-view/src/hooks/scaleview-submit.d.ts +2 -1
- package/es/components/scale-view/src/hooks/scaleview-submit.js +64 -8
- package/es/components/scale-view/src/hooks/scaleview-validate.d.ts +1 -1
- package/es/components/scale-view/src/hooks/scaleview-validate.js +157 -24
- package/es/components/scale-view/src/hooks/use-evaluate.js +16 -2
- package/es/components/scale-view/src/hooks/use-noData.js +33 -5
- package/es/components/scale-view/src/utils/judge-types.d.ts +2 -1
- package/es/components/scale-view/src/utils/judge-types.js +10 -10
- package/es/components/scale-view/src/utils/watch-form-change.d.ts +13 -0
- package/es/components/scale-view/src/utils/watch-form-change.js +71 -0
- package/es/components/select-person/index.d.ts +792 -1
- package/es/components/select-person/src/SelectPerson.vue.d.ts +434 -341
- package/es/components/select-person/src/SelectPerson.vue2.js +521 -675
- package/es/components/select-person/src/SelectPersonRole.vue.d.ts +630 -0
- package/es/components/select-person/src/SelectPersonRole.vue.js +6 -0
- package/es/components/select-person/src/SelectPersonRole.vue2.js +942 -0
- package/es/components/select-person/src/components/GroupItem.vue.d.ts +19 -0
- package/es/components/select-person/src/components/GroupItem.vue.js +6 -0
- package/es/components/select-person/src/components/GroupItem.vue2.js +37 -0
- package/es/components/select-person/src/components/SearchGroupList.vue.d.ts +214 -0
- package/es/components/select-person/src/components/SearchGroupList.vue.js +6 -0
- package/es/components/select-person/src/components/SearchGroupList.vue2.js +145 -0
- package/es/components/select-person/src/components/SearchMultiple.vue2.js +1 -1
- package/es/components/select-person/src/components/SearchOrgAndStaff.vue2.js +21 -12
- package/es/components/select-person/src/components/TagItem.vue.d.ts +43 -0
- package/es/components/select-person/src/components/TagItem.vue.js +6 -0
- package/es/components/select-person/src/components/TagItem.vue2.js +40 -0
- package/es/components/select-person/src/index.vue.d.ts +793 -1
- package/es/components/select-person/src/index.vue2.js +21 -4
- package/es/components/select-person/src/types/index.d.ts +35 -0
- package/es/components/select-person/src/types/index.js +1 -0
- package/es/components/select-person/src/utils/index.d.ts +3 -0
- package/es/components/select-person/src/utils/index.js +29 -8
- package/es/components/select-person/style/index.css +1 -1
- package/es/components/shortcut-setter/index.d.ts +13 -0
- package/es/components/shortcut-setter/src/ShortcutSetter.vue.d.ts +13 -0
- package/es/components/table-filter/src/components/bi-filter/ValueCfg.vue.d.ts +1 -0
- package/es/components/table-filter/src/components/bi-filter/components/SelectFilter.vue.d.ts +1 -0
- package/es/components/table-filter/src/components/bi-filter/components/index.d.ts +1 -0
- package/es/components/table-filter/src/components/bi-filter/index.vue.d.ts +1 -0
- package/es/components/table-filter/src/components/classify-filter/ValueCfg.vue.d.ts +54 -6
- package/es/components/table-filter/src/components/classify-filter/ValueCfg.vue2.js +26 -10
- package/es/components/table-filter/src/components/classify-filter/components/Date.vue.d.ts +17 -2
- package/es/components/table-filter/src/components/classify-filter/components/Date.vue2.js +37 -2
- package/es/components/table-filter/src/components/classify-filter/components/DateRange.vue.d.ts +18 -2
- package/es/components/table-filter/src/components/classify-filter/components/DateRange.vue2.js +44 -1
- package/es/components/table-filter/src/components/classify-filter/components/SelectFilter.vue.d.ts +1 -0
- package/es/components/table-filter/src/components/classify-filter/components/index.d.ts +36 -4
- package/es/components/table-filter/src/components/classify-filter/hooks/useFilterConditions.js +2 -1
- package/es/components/table-filter/src/components/classify-filter/index.vue.d.ts +55 -6
- package/es/components/table-filter/src/components/classify-filter/index.vue2.js +6 -3
- package/es/components/table-filter/src/components/render-widget/components/DateInner.vue.d.ts +1 -1
- package/es/components/table-filter/src/components/render-widget/components/DateOut.vue2.js +12 -1
- package/es/components/table-filter/src/components/render-widget/components/DateQuickBtn/index.vue.d.ts +1 -1
- package/es/components/table-filter/src/components/render-widget/components/DateQuickBtn/index.vue2.js +25 -6
- package/es/components/table-filter/src/components/render-widget/components/DateRangeInner.vue.d.ts +1 -1
- package/es/components/table-filter/src/components/render-widget/components/DateRangeOut.vue2.js +12 -1
- package/es/components/table-filter/src/components/render-widget/components/index.d.ts +2 -2
- package/es/components/table-filter/src/components/render-widget/widgetCfgMaps.d.ts +2 -2
- package/es/components/table-filter/src/hooks/useAdvanced.d.ts +2 -0
- package/es/components/table-filter/src/hooks/useAdvanced.js +20 -3
- package/es/components/table-filter/src/hooks/useRenderWidget.js +4 -0
- package/es/components/table-filter/src/tool/date.d.ts +3 -0
- package/es/components/table-filter/src/tool/date.js +139 -0
- package/es/components/table-filter/src/tool/transformData.d.ts +1 -0
- package/es/components/table-filter/src/tool/transformData.js +11 -8
- package/es/components/table-filter/src/types/enums.d.ts +1 -0
- package/es/components/table-filter/src/types/enums.js +2 -1
- package/es/components/table-filter/src/types/index.d.ts +12 -0
- package/es/components/vod-chunk-upload/index.d.ts +3 -0
- package/es/components/vod-chunk-upload/src/chunk-upload-new.vue.d.ts +1 -29
- package/es/components/vod-chunk-upload/src/chunk-upload-new.vue2.js +109 -11
- package/es/components/vod-chunk-upload/src/hooks/upload-computed.js +15 -1
- package/es/components/vod-chunk-upload/src/hooks/upload-data.js +72 -9
- package/es/components/vod-chunk-upload/src/vod-chunk-upload/vod-chunk-upload.vue.d.ts +3 -0
- package/es/components/vod-chunk-upload/src/vod-chunk-upload/vod-chunk-upload.vue2.js +75 -9
- package/es/env.d.ts +25 -25
- package/es/shared/hooks/selectHooks/useSearchContent.js +1 -1
- package/es/shared/package.json.js +1 -1
- 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(
|
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(
|
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",
|
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 =
|
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
|
-
|
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
|
-
|
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,
|
305
|
+
export { $message, base64ToFile, downloadFile, formatJsonstr, formatSeconds, formatTime, getAVTime, getDetail, getFileType, getForwardTitle, getRoleName, isAudioOrVideoMessage, isDoctorRole, isGroup, listSort, showAudioAndVideoRecord, simplifyMessage, transformMessage };
|