cnhis-design-vue 3.2.10-beta.7 → 3.2.10-beta.8
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/es/components/audio-sdk/src/audioSDK.d.ts +24 -22
- package/es/components/audio-sdk/src/audioSDK.js +1 -1
- package/es/components/audio-sdk/src/components/{recording.vue.d.ts → recordingDialog.vue.d.ts} +18 -8
- package/es/components/audio-sdk/src/components/recordingDialog.vue.js +1 -0
- package/es/components/audio-sdk/src/components/recordingDialog.vue2.js +1 -0
- package/es/components/audio-sdk/src/utils/recordingDialog.d.ts +11 -0
- package/es/components/audio-sdk/src/utils/recordingDialog.js +1 -0
- package/es/components/classification/src/components/table-modal/index.vue.d.ts +0 -3
- package/es/components/field-set/src/FieldColor.vue.d.ts +4 -4
- package/es/components/field-set/src/FieldFilter.vue.d.ts +4 -4
- package/es/components/field-set/src/FieldSet.vue.d.ts +5 -5
- package/es/components/field-set/src/components/table-row.vue.d.ts +4 -4
- package/es/components/iho-chat/src/components/ChatMain.vue2.js +1 -1
- package/es/components/iho-chat/src/components/PersonProfile.vue2.js +1 -1
- package/es/components/scale-view/src/ScaleView.vue2.js +1 -1
- package/es/components/table-filter/src/hooks/useAdvanced.js +1 -1
- package/es/components/table-filter/src/hooks/useRenderWidget.js +1 -1
- package/es/env.d.ts +25 -25
- package/es/shared/package.json.js +1 -1
- package/package.json +2 -2
- package/es/components/audio-sdk/src/components/recording.vue.js +0 -1
- package/es/components/audio-sdk/src/components/recording.vue2.js +0 -1
- package/es/components/audio-sdk/src/utils/recordingModal.d.ts +0 -10
- package/es/components/audio-sdk/src/utils/recordingModal.js +0 -1
@@ -1,40 +1,42 @@
|
|
1
1
|
import { ComponentInternalInstance } from 'vue';
|
2
2
|
import 'recorder-core/src/engine/mp3';
|
3
3
|
import 'recorder-core/src/engine/mp3-engine';
|
4
|
+
import { AnyObject } from '../../../shared/types';
|
4
5
|
export default class AudioSDK {
|
5
|
-
static instance: AudioSDK | null;
|
6
|
-
static sendInterval: number;
|
7
|
-
private recordingModal;
|
8
|
-
private webSocket;
|
9
|
-
private messageHandlerQueue;
|
10
6
|
private recorder;
|
7
|
+
private recordingDialog;
|
11
8
|
private contentRef;
|
9
|
+
private realTimeRecognition;
|
10
|
+
private allowPunctuationMark;
|
11
|
+
private timed;
|
12
|
+
private timer;
|
12
13
|
private realTimeSendStartTime;
|
13
14
|
private realTimeSendBytesChunks;
|
14
15
|
private realTimeSendClearPrevBufferIdx;
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
isReady: boolean;
|
16
|
+
static instance: AudioSDK | null;
|
17
|
+
static serverUrl: string;
|
18
|
+
static sendInterval: number;
|
19
19
|
constructor();
|
20
|
-
static create(): AudioSDK;
|
20
|
+
static create(option?: AnyObject): AudioSDK;
|
21
21
|
private initRecorder;
|
22
|
-
private onProcess;
|
23
22
|
private takeoffEncodeChunk;
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
start(instance: ComponentInternalInstance, option?: {
|
23
|
+
private onProcess;
|
24
|
+
private recorderOpen;
|
25
|
+
recorderStart(instance: ComponentInternalInstance, { onStop, allowPunctuationMark, realTimeRecognition, timed }: {
|
26
|
+
onStop: () => any;
|
29
27
|
realTimeRecognition?: boolean;
|
30
28
|
allowPunctuationMark?: boolean;
|
31
29
|
timed?: number;
|
32
|
-
}): Promise<
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
private
|
30
|
+
}): Promise<{
|
31
|
+
result: string;
|
32
|
+
}>;
|
33
|
+
recorderStop(): Promise<AnyObject>;
|
34
|
+
private toAudioRecognition;
|
37
35
|
private reset;
|
38
36
|
destroy(): void;
|
39
|
-
static
|
37
|
+
static audioRecognition(params: FormData): Promise<import("axios").AxiosResponse<any, any>>;
|
38
|
+
static audioRevise(params: {
|
39
|
+
file_id: string;
|
40
|
+
audio_txt: string;
|
41
|
+
}): Promise<import("axios").AxiosResponse<any, any>>;
|
40
42
|
}
|
@@ -1 +1 @@
|
|
1
|
-
import{ref as e}from"vue";import t from"recorder-core";import"recorder-core/src/engine/mp3";import"recorder-core/src/engine/mp3-engine";import{
|
1
|
+
import{ref as e}from"vue";import t from"axios";import r from"recorder-core";import"recorder-core/src/engine/mp3";import"recorder-core/src/engine/mp3-engine";import{uuidGenerator as i}from"../../../shared/utils/index.js";import{RecordingDialog as s}from"./utils/recordingDialog.js";const n=class{constructor(){if(this.recorder=null,this.recordingDialog=new s,this.contentRef=e(""),this.realTimeRecognition=!1,this.allowPunctuationMark=!0,this.timed=0,this.timer=null,this.realTimeSendStartTime=0,this.realTimeSendBytesChunks=[],this.realTimeSendClearPrevBufferIdx=0,n.instance)return n.instance;n.instance=this}static create(e){return(null==e?void 0:e.serverUrl)&&(this.serverUrl=e.serverUrl),new n}initRecorder(){this.recorder=r({type:"mp3",sampleRate:16e3,bitRate:16,...this.realTimeRecognition?{onProcess:this.onProcess.bind(this),takeoffEncodeChunk:this.takeoffEncodeChunk.bind(this)}:{}})}async takeoffEncodeChunk(e){e&&this.realTimeSendBytesChunks.push(e);const t=Date.now();if(t-this.realTimeSendStartTime<n.sendInterval)return;this.realTimeSendStartTime=t;let r=0;for(let e=0;e<this.realTimeSendBytesChunks.length;e++)r+=this.realTimeSendBytesChunks[e].length;const i=new Uint8Array(r);for(let e=0,t=0;e<this.realTimeSendBytesChunks.length;e++){const r=this.realTimeSendBytesChunks[e];i.set(r,t),t+=r.length}if(this.realTimeSendBytesChunks=[],i.length>0){const e=new Blob([i],{type:"audio/mp3"}),{text:t}=await this.toAudioRecognition(e);this.contentRef.value+=t}}async onProcess(e,t,r,i,s){0===this.realTimeSendStartTime&&(this.realTimeSendStartTime=Date.now(),this.realTimeSendBytesChunks=[],this.realTimeSendClearPrevBufferIdx=0);for(let t=this.realTimeSendClearPrevBufferIdx;t<s;t++)e[t]=null;this.realTimeSendClearPrevBufferIdx=s}async recorderOpen(){return this.recorder||this.initRecorder(),new Promise(((e,t)=>{this.recorder.open((()=>{e({})}),((e,r)=>{t({result:"fail",msg:e,isUserNotAllow:r})}))}))}async recorderStart(e,{onStop:t,allowPunctuationMark:r=!0,realTimeRecognition:i=!1,timed:s=0}){this.realTimeRecognition=i,this.allowPunctuationMark=r,this.timed=1e3*s,this.timed&&(this.timer=setTimeout((()=>{t()}),this.timed));try{return await this.recorderOpen(),this.recorder.start(),this.recordingDialog.show(e,{contentRef:this.contentRef,after:()=>t()}),Promise.resolve({result:"success"})}catch(e){return Promise.reject(e)}}recorderStop(){return this.recorder?(this.recordingDialog.hide(),new Promise(((e,t)=>{if(this.realTimeRecognition){const t={file_id:"",text:this.contentRef.value};return e({result:"success",data:t}),void this.destroy()}this.recorder.stop((async(t,r)=>{const i=await this.toAudioRecognition(t);e({result:"success",duration:r,data:i}),this.destroy()}),(e=>{t({result:"fail",msg:e}),this.destroy()}))}))):Promise.reject({result:"fail",msg:"请先打开麦克风录音"})}async toAudioRecognition(e){var t;const r=new File([e],`${i()}.mp3`,{type:e.type}),s=new FormData;s.append("audio",r);const o={file_id:"",text:""};try{const{data:e}=await n.audioRecognition(s);!this.allowPunctuationMark&&"success"===e.msg&&(null==(t=e.data)?void 0:t.text)&&(e.data.text=e.data.text.replace(/[??,。,.\s]/g,""),Object.assign(o,e.data))}catch(e){console.log(e)}return o}reset(){this.realTimeSendStartTime=0,this.contentRef.value="",this.timer&&(clearTimeout(this.timer),this.timer=null),this.timed=0}destroy(){var e;null==(e=this.recorder)||e.close(),this.recorder=null,this.reset()}static async audioRecognition(e){return await t.post(`${this.serverUrl}/audio/recognition`,e,{headers:{"Content-Type":"multipart/form-data"}})}static async audioRevise(e){return await t.post(`${this.serverUrl}/audio/revise`,e)}};let o=n;o.serverUrl="",o.sendInterval=1500;export{o as default};
|
package/es/components/audio-sdk/src/components/{recording.vue.d.ts → recordingDialog.vue.d.ts}
RENAMED
@@ -1,4 +1,8 @@
|
|
1
1
|
declare const _default: import("vue").DefineComponent<{
|
2
|
+
visible: {
|
3
|
+
type: BooleanConstructor;
|
4
|
+
default: boolean;
|
5
|
+
};
|
2
6
|
content: {
|
3
7
|
type: StringConstructor;
|
4
8
|
default: string;
|
@@ -6,26 +10,32 @@ declare const _default: import("vue").DefineComponent<{
|
|
6
10
|
}, {
|
7
11
|
cssVars: import("vue").ComputedRef<import("../../../../shared/types").AnyObject>;
|
8
12
|
props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
|
13
|
+
visible: {
|
14
|
+
type: BooleanConstructor;
|
15
|
+
default: boolean;
|
16
|
+
};
|
9
17
|
content: {
|
10
18
|
type: StringConstructor;
|
11
19
|
default: string;
|
12
20
|
};
|
13
|
-
}>> & {
|
14
|
-
|
15
|
-
|
16
|
-
emit: (event: "close", ...args: any[]) => void;
|
21
|
+
}>> & {}>>;
|
22
|
+
showModal: import("vue").Ref<boolean>;
|
23
|
+
handleKeydown: (event: KeyboardEvent) => void;
|
17
24
|
close: () => void;
|
18
25
|
NModal: any;
|
19
26
|
NIcon: any;
|
20
27
|
Mic: 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<{}>>, {}>;
|
21
|
-
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin,
|
28
|
+
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
29
|
+
visible: {
|
30
|
+
type: BooleanConstructor;
|
31
|
+
default: boolean;
|
32
|
+
};
|
22
33
|
content: {
|
23
34
|
type: StringConstructor;
|
24
35
|
default: string;
|
25
36
|
};
|
26
|
-
}
|
27
|
-
|
28
|
-
}, {
|
37
|
+
}>>, {
|
38
|
+
visible: boolean;
|
29
39
|
content: string;
|
30
40
|
}>;
|
31
41
|
export default _default;
|
@@ -0,0 +1 @@
|
|
1
|
+
import r from"./recordingDialog.vue2.js";import e from"../../../../_virtual/_plugin-vue_export-helper.js";var o=e(r,[["__file","recordingDialog.vue"]]);export{o as default};
|
@@ -0,0 +1 @@
|
|
1
|
+
import{defineComponent as e,ref as o,onMounted as s,watch as t,openBlock as n,createBlock as i,unref as r,normalizeStyle as a,withCtx as c,createElementVNode as l,toDisplayString as p,createVNode as u}from"vue";import{NModal as d,NIcon as m}from"naive-ui";import{Mic as v}from"@vicons/ionicons5";import{useTheme as f}from"../../../../shared/hooks/useTheme.js";import"@vueuse/core";import"date-fns";import"lodash-es";import"@vue/shared";import"../../../../shared/utils/index.js";import"@vueuse/shared";import"../../../../shared/hooks/selectHooks/useSearchContent.js";import"../../../../shared/hooks/useScrollLoading.js";const h={class:"c-recording-wrapper"},k={class:"content"},y=l("div",{class:"animation"},null,-1),w=l("p",{class:"tip"},"按下空格键停止录音",-1);var g=e({__name:"recordingDialog",props:{visible:{type:Boolean,default:!1},content:{type:String,default:""}},setup(e){const g=e,j=f(),S=o(!0);function b(e){" "!==e.key&&"Space"!==e.code||(e.preventDefault(),x())}function x(){S.value=!1,document.removeEventListener("keydown",b)}return s((()=>{document.addEventListener("keydown",b)})),t((()=>g.visible),(e=>{S.value=e})),(o,s)=>(n(),i(r(d),{show:S.value,"onUpdate:show":s[0]||(s[0]=e=>S.value=e),style:a(r(j)),onEsc:x,onMaskClick:x},{default:c((()=>[l("div",h,[l("p",k,p(e.content||"正在聆听..."),1),y,l("div",{class:"icon-box",onClick:x},[u(r(m),{size:"60",color:"#fff",component:r(v)},null,8,["component"])]),w])])),_:1},8,["show","style"]))}});export{g as default};
|
@@ -0,0 +1,11 @@
|
|
1
|
+
import { ComponentInternalInstance, Ref } from 'vue';
|
2
|
+
export declare class RecordingDialog {
|
3
|
+
rendered: boolean;
|
4
|
+
target: HTMLElement | null;
|
5
|
+
static createMsg(message: string): string;
|
6
|
+
show(instance: ComponentInternalInstance, { contentRef, after }: {
|
7
|
+
contentRef: Ref<string>;
|
8
|
+
after: () => void;
|
9
|
+
}): Promise<string>;
|
10
|
+
hide(): void;
|
11
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
import{ref as e,render as t,createVNode as r,withCtx as n,nextTick as i}from"vue";import{createProviderWrapper as s}from"../../../../shared/utils/index.js";import o from"../components/recordingDialog.vue.js";class a{constructor(){this.rendered=!1,this.target=null}static createMsg(e){return`[PreviewDialog] ${e}`}show(l,{contentRef:d,after:u}){return this.rendered?Promise.reject(a.createMsg("请勿重复打开弹窗")):new Promise(((a,c)=>{this.rendered=!0;const h=document.createElement("div"),m=e(!1),v=s(l);t(r(v,null,{default:n((()=>r(o,{to:h,content:d.value,visible:m.value,onAfterLeave:()=>function(e){if(!e.parentElement)return;g.hide(),u(),a("success")}(h)},null)),l)}),h);const g=this;var p;p=h,document.body.appendChild(p),g.target=p,i((()=>m.value=!0))}))}hide(){var e;(null==(e=this.target)?void 0:e.parentElement)&&(this.rendered=!1,this.target.parentElement.removeChild(this.target),this.target=null)}}export{a as RecordingDialog};
|
@@ -527,12 +527,12 @@ declare const _default: import("vue").DefineComponent<{
|
|
527
527
|
}>;
|
528
528
|
developMode: boolean;
|
529
529
|
draggable: boolean;
|
530
|
-
|
531
|
-
isFieldSet: boolean;
|
532
|
-
hideExpressionOption: AnyObject[];
|
530
|
+
isHighlightRow: boolean;
|
533
531
|
idx: number;
|
534
532
|
isHighlight: boolean;
|
535
|
-
|
533
|
+
isFieldSet: boolean;
|
534
|
+
fieldDescribeMode: "column" | "tooltip";
|
535
|
+
hideExpressionOption: AnyObject[];
|
536
536
|
}>;
|
537
537
|
EditDialog: import("vue").DefineComponent<{
|
538
538
|
visible: {
|
@@ -549,12 +549,12 @@ declare const _default: import("vue").DefineComponent<{
|
|
549
549
|
}>;
|
550
550
|
developMode: boolean;
|
551
551
|
draggable: boolean;
|
552
|
-
|
553
|
-
isFieldSet: boolean;
|
554
|
-
hideExpressionOption: AnyObject[];
|
552
|
+
isHighlightRow: boolean;
|
555
553
|
idx: number;
|
556
554
|
isHighlight: boolean;
|
557
|
-
|
555
|
+
isFieldSet: boolean;
|
556
|
+
fieldDescribeMode: "column" | "tooltip";
|
557
|
+
hideExpressionOption: AnyObject[];
|
558
558
|
}>;
|
559
559
|
setStyle: typeof setStyle;
|
560
560
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("close" | "save" | "reset")[], "close" | "save" | "reset", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
@@ -717,12 +717,12 @@ declare const _default: import("vue").DefineComponent<{
|
|
717
717
|
}>;
|
718
718
|
developMode: boolean;
|
719
719
|
draggable: boolean;
|
720
|
-
|
721
|
-
isFieldSet: boolean;
|
722
|
-
hideExpressionOption: AnyObject[];
|
720
|
+
isHighlightRow: boolean;
|
723
721
|
idx: number;
|
724
722
|
isHighlight: boolean;
|
725
|
-
|
723
|
+
isFieldSet: boolean;
|
724
|
+
fieldDescribeMode: "column" | "tooltip";
|
725
|
+
hideExpressionOption: AnyObject[];
|
726
726
|
}>;
|
727
727
|
isArray: {
|
728
728
|
(value?: any): value is any[];
|
@@ -852,9 +852,9 @@ declare const _default: import("vue").DefineComponent<{
|
|
852
852
|
showSeq: boolean;
|
853
853
|
developMode: boolean;
|
854
854
|
footerFlag: boolean;
|
855
|
+
fieldDescribeMode: "column" | "tooltip";
|
855
856
|
customColumns: FieldSetColumnItem[];
|
856
857
|
showSortPriority: boolean;
|
857
858
|
showHeadFilter: boolean;
|
858
|
-
fieldDescribeMode: "column" | "tooltip";
|
859
859
|
}>;
|
860
860
|
export default _default;
|
@@ -380,11 +380,11 @@ declare const _default: import("vue").DefineComponent<{
|
|
380
380
|
}>;
|
381
381
|
developMode: boolean;
|
382
382
|
draggable: boolean;
|
383
|
-
|
384
|
-
isFieldSet: boolean;
|
385
|
-
hideExpressionOption: AnyObject[];
|
383
|
+
isHighlightRow: boolean;
|
386
384
|
idx: number;
|
387
385
|
isHighlight: boolean;
|
388
|
-
|
386
|
+
isFieldSet: boolean;
|
387
|
+
fieldDescribeMode: "column" | "tooltip";
|
388
|
+
hideExpressionOption: AnyObject[];
|
389
389
|
}>;
|
390
390
|
export default _default;
|
@@ -1 +1 @@
|
|
1
|
-
import{defineComponent as e,ref as t,computed as n,watch as s,openBlock as o,createElementBlock as i,normalizeClass as r,unref as a,normalizeStyle as c,createVNode as l,withCtx as u,Fragment as m,renderList as p,toDisplayString as d,createCommentVNode as f,createBlock as g,createElementVNode as v,createTextVNode as y,withModifiers as h,nextTick as T}from"vue";import{NImageGroup as M,NButton as k,NAvatar as _,NImage as x,NIcon as I,NSpace as C,NButtonGroup as w,NTooltip as S}from"naive-ui";import{format as j}from"date-fns";import{getHistoryRecordApi as E,readMessageApi as L}from"../api/index.js";import{useState as b}from"../hooks/useState.js";import{useSession as A}from"../hooks/useSession.js";import{MESSAGE_TYPE as z}from"../constants/index.js";import"trtc-sdk-v5";import{isAudioOrVideoMessage as H,simplifyMessage as D,getAVTime as R,downloadFile as N}from"../utils/index.js";import{first as O,last as P}from"lodash-es";import q from"./PersonProfile.vue.js";import B from"./MessageTemplate.vue.js";import{emojis as J}from"../utils/emoji.js";import W from"./ContextMenu.js";import U from"./ChatAdd.vue.js";import"../../../../shared/utils/index.js";import"@vueuse/core";import"@vue/shared";import"@vueuse/shared";import"../../../../shared/hooks/selectHooks/useSearchContent.js";import{CallOutline as X,VideocamOutline as F,DocumentSharp as G,ChatbubbleEllipsesOutline as K,EllipsisHorizontal as Y,ArrowDownSharp as $}from"@vicons/ionicons5";import{useScrollLoading as Q}from"../../../../shared/hooks/useScrollLoading.js";const V={key:0,class:"tip-text"},Z={key:1,class:"tip-text"},ee={key:2,class:"message-box"},te={key:0,class:"content-box"},ne={class:"name-box"},se=["data-time"],oe=["onContextmenu"],ie={key:0,class:"reference-content"},re=["innerHTML"],ae=["src"],ce=["innerHTML"],le=["innerHTML"],ue={style:{"margin-left":"8px"}},me={class:"size"};var pe=e({__name:"ChatMain",setup(e){const pe=t(),{state:de,setMsgList:fe,relayMessage:ge}=b(),{setCurrentSessionItem:ve,isGroupChat:ye}=A(de),he=t(),Te=t(!1),Me=t({left:0,top:0}),ke=t(),_e=t(),xe={page:0,hasMore:!0,lastSendTime:j(new Date,"yyyy-MM-dd HH:mm:ss")},Ie=n((()=>({"--c-tip-top":ye.value?"1px":"-20px","--c-tip-gap":ye.value?"10px":"0px"})));function Ce({nodes:e}){var t,n;const{_ctx:s}=null==(t=e.download)?void 0:t.children,o=s?null==(n=null==s?void 0:s.proxy)?void 0:n.previewSrc:"";return[e.prev,e.next,e.rotateCounterclockwise,e.rotateClockwise,e.resizeToOriginalSize,e.zoomOut,e.zoomIn,l(S,null,{trigger:()=>l(I,{style:"cursor: pointer",color:"rgba(255, 255, 255, 0.75",size:24,component:$,onClick:()=>o&&N(o,"img")},null),default:()=>"下载"}),e.close]}async function we(){try{if(!xe.hasMore)return;xe.page++;const e=await E({sessionKey:de.currentSessionItem.sessionKey,page:xe.page,lastSendTime:xe.lastSendTime});if(!Array.isArray(e)||0===e.length)return xe.hasMore=!1,console.log("接口返回不是一个数组,或者没有更多消息了");const t=O(e).id;xe.lastSendTime=P(e).sendTime,fe(xe.page>1?[...de.msgList,...e]:e),1===xe.page&&de.currentSessionItem.unreadNum&&(await L({chatType:de.currentSessionItem.chatType,messageIdSet:[t],receiver:de.userInfo.id,sender:de.currentSessionItem.receiver}),ve({unreadNum:0}))}catch(e){console.log(e)}}async function Se(e,t){ke.value=t,async function(e){var t,n,s,o,i,r;Te.value=!0,await T();const{clientX:a,clientY:c}=e,{width:l=0,height:u=0,left:m=0,top:p=0}=(null==(t=pe.value)?void 0:t.getBoundingClientRect())||{},d=null!=(o=null==(s=null==(n=he.value)?void 0:n.$el)?void 0:s.getBoundingClientRect().height)?o:220,f=null!=(r=null==(i=pe.value)?void 0:i.scrollTop)?r:0,g=5,v={};a<=m+l/2?v.left=a-m+g+"px":v.right=m+l-a-g+"px";c-p<d/2?v.top=f+g+"px":p+u-c<=d/2?v.bottom=Math.abs(f)+g+"px":v.top=f+c-p-d/2+"px";Me.value=v}(e)}function je(e){const{chatMessageType:t,messageTemplate:n}=e.content;return t!==z.TEMPLATE||!!n}function Ee(e){const{chatMessageType:t}=e.content;return e.sender===de.userInfo.id&&Date.now()-new Date(e.sendTime).getTime()<864e5&&[z.TEXT,z.EMOJI].includes(t)}function Le(e){const{chatMessageType:t,msg:n=""}=e.content;if(t===z.BLEND){const e=n.match(/<img[^>]*>/gi);return!e||!e.length}return t&&[z.TEXT,z.EMOJI].includes(t)}function be(e){const{chatMessageType:t,msg:n=""}=e.content,s=n.match(/<img[^>]*>/gi);return t===z.BLEND&&s&&s.length}function Ae(e,t){var n,s;const{chatMessageType:o,messageTemplate:i}=e.content;if(o===z.TEMPLATE)return"system"===t?2==(null==(n=null==i?void 0:i.setting)?void 0:n.style.id):2!=(null==(s=null==i?void 0:i.setting)?void 0:s.style.id)}function ze(e){var t,n;const{chatMessageType:s,messageTemplate:o}=e;return s===z.TEMPLATE&&3==(null==(n=null==(t=null==o?void 0:o.setting)?void 0:t.style)?void 0:n.id)}function He(e,t){var n;const s=new Date(e.sendTime).getTime(),o=null==(n=de.msgList[t+1])?void 0:n.sendTime;if(o){return s-new Date(o).getTime()>3e5}return!0}function De(e){de.currentReferenceMsg=e,de.currentReferenceMsg.content.referenceContent=null,Object.assign(de.currentReferenceMsg,{chatType:de.currentSessionItem.chatType,receiver:de.currentSessionItem.receiver,receiverAvatar:de.currentSessionItem.avatar,receiverName:de.currentSessionItem.name})}function Re(e,t){var n;"reply"!==e?"relay"===e&&(null==(n=_e.value)||n.click()):De(t)}function Ne(e,t){const n=de.msgList.find((e=>e.id===ke.value));ge({checkedIds:e,remark:t,content:n.content})}return Q(pe,(()=>{we()}),"top",(()=>{Te.value=!1})),s((()=>de.id),(e=>{e&&(de.currentReferenceMsg=null,Object.assign(xe,{page:0,hasMore:!0,lastSendTime:j(new Date,"yyyy-MM-dd HH:mm:ss")}),we())}),{immediate:!0}),s((()=>de.isAppendMsg),(e=>{e&&(fe([de.currentMsg,...de.msgList]),async function(){var e,t,n;await T();const s=null!=(t=null==(e=pe.value)?void 0:e.scrollHeight)?t:0;null==(n=pe.value)||n.scrollTo({top:s,behavior:"auto"})}(),de.isAppendMsg=!1)}),{immediate:!0}),(e,t)=>(o(),i("div",{class:r(["chat-main",{"home-bg":!a(de).id}]),ref_key:"chatMainRef",ref:pe,style:c(a(Ie))},[l(a(M),{"show-toolbar-tooltip":"","render-toolbar":Ce},{default:u((()=>[(o(!0),i(m,null,p(a(de).msgList,((e,t)=>(o(),i(m,{key:e.id},[je(e)?(o(),i("div",{key:0,class:r(["message-item",{"message-item--mine":e.sender==a(de).userInfo.id}])},[He(e,t)?(o(),i("p",V,d(e.__sendTime),1)):f("v-if",!0),Ae(e,"system")||"WITHDRAWN"===e.status?(o(),i(m,{key:1},[Ae(e,"system")?(o(),g(B,{key:0,data:e},null,8,["data"])):f("v-if",!0),"WITHDRAWN"===e.status?(o(),i("p",Z,[v("span",null,d(e.sender==a(de).userInfo.id?"你":e.senderName)+"撤回了一条消息",1),Ee(e)?(o(),g(a(k),{key:0,size:"tiny",style:{color:"var(--c-primary-color)","margin-left":"5px"},text:"",onClick:()=>function(e){de.currentReEditMsg=e}(e)},{default:u((()=>[y(" 重新编辑 ")])),_:2},1032,["onClick"])):f("v-if",!0)])):f("v-if",!0)],64)):(o(),i("div",ee,[l(q,{"user-id":e.sender,placement:e.sender==a(de).userInfo.id?"left":"right"},{trigger:u((()=>[l(a(_),{round:"",size:38,src:e.senderAvatar},null,8,["src"])])),_:2},1032,["user-id","placement"]),e.content?(o(),i("div",te,[v("div",ne,[v("span",{class:"name","data-time":e.__time},d(a(ye)?e.senderName:""),9,se)]),v("div",{class:r(["content",{emoji:e.content.chatMessageType===a(z).EMOJI,template:e.content.chatMessageType===a(z).TEMPLATE,"template--3":ze(e.content),"audio-video":a(H)(e.content),file:e.content.chatMessageType===a(z).FILE}]),onContextmenu:h((t=>Se(t,e.id)),["prevent"])},[Le(e)?(o(),i(m,{key:0},[e.content.referenceContent?(o(),i("div",ie,[v("span",null,d(e.content.referenceContent.senderName)+":",1),v("pre",{innerHTML:a(D)(e.content.referenceContent.content)},null,8,re)])):f("v-if",!0),e.content.chatMessageType===a(z).EMOJI?(o(),i("img",{key:1,class:r([e.content.referenceContent?"emoji--min":"emoji--big"]),src:a(J).findEmoji(e.__content)},null,10,ae)):(o(),i("pre",{key:2,innerHTML:e.__content},null,8,ce))],64)):f("v-if",!0),be(e)?(o(),i("pre",{key:1,innerHTML:e.__content},null,8,le)):f("v-if",!0),Ae(e,"template")?(o(),g(B,{key:2,data:e},null,8,["data"])):f("v-if",!0),e.content.chatMessageType===a(z).IMAGE?(o(),g(a(x),{key:3,width:"240",src:e.__content},null,8,["src"])):f("v-if",!0),a(H)(e.content)?(o(),i(m,{key:4},[l(a(I),{class:r({"is-audio":e.content.chatMessageType===a(z).AUDIO}),component:e.content.chatMessageType===a(z).AUDIO?a(X):a(F)},null,8,["class","component"]),v("span",ue,d(a(R)(e.__content)),1)],64)):f("v-if",!0),e.content.chatMessageType===a(z).FILE?(o(),g(a(C),{key:5,"wrap-item":!1},{default:u((()=>[l(a(I),{class:"icon-file",size:"40",component:a(G)},null,8,["component"]),l(a(C),{"wrap-item":!1,vertical:"",justify:"space-between",style:{"row-gap":"0"}},{default:u((()=>[v("span",null,d(e.__content),1),v("span",me,d(e.__size),1)])),_:2},1024)])),_:2},1024)):f("v-if",!0),l(a(w),{class:"quick-menu"},{default:u((()=>[a(H)(e.content)?f("v-if",!0):(o(),i(m,{key:0},[f(' <n-button quaternary size="tiny">\
|
1
|
+
import{defineComponent as e,ref as t,computed as n,watch as s,openBlock as o,createElementBlock as i,normalizeClass as r,unref as a,normalizeStyle as c,createVNode as l,withCtx as u,Fragment as m,renderList as p,toDisplayString as d,createCommentVNode as f,createBlock as g,createElementVNode as v,createTextVNode as y,withModifiers as h,nextTick as T}from"vue";import{NImageGroup as M,NButton as k,NAvatar as _,NImage as x,NIcon as I,NSpace as C,NButtonGroup as w,NTooltip as S}from"naive-ui";import{format as j}from"date-fns";import{getHistoryRecordApi as E,readMessageApi as L}from"../api/index.js";import{useState as b}from"../hooks/useState.js";import{useSession as A}from"../hooks/useSession.js";import{MESSAGE_TYPE as z}from"../constants/index.js";import"trtc-sdk-v5";import{isAudioOrVideoMessage as H,simplifyMessage as D,getAVTime as R,downloadFile as N}from"../utils/index.js";import{first as O,last as P}from"lodash-es";import q from"./PersonProfile.vue.js";import B from"./MessageTemplate.vue.js";import{emojis as J}from"../utils/emoji.js";import W from"./ContextMenu.js";import U from"./ChatAdd.vue.js";import"../../../../shared/utils/index.js";import"@vueuse/core";import"@vue/shared";import"@vueuse/shared";import"../../../../shared/hooks/selectHooks/useSearchContent.js";import{CallOutline as X,VideocamOutline as F,DocumentSharp as G,ChatbubbleEllipsesOutline as K,EllipsisHorizontal as Y,ArrowDownSharp as $}from"@vicons/ionicons5";import{useScrollLoading as Q}from"../../../../shared/hooks/useScrollLoading.js";const V={key:0,class:"tip-text"},Z={key:1,class:"tip-text"},ee={key:2,class:"message-box"},te={key:0,class:"content-box"},ne={class:"name-box"},se=["data-time"],oe=["onContextmenu"],ie={key:0,class:"reference-content"},re=["innerHTML"],ae=["src"],ce=["innerHTML"],le=["innerHTML"],ue={style:{"margin-left":"8px"}},me={class:"size"};var pe=e({__name:"ChatMain",setup(e){const pe=t(),{state:de,setMsgList:fe,relayMessage:ge}=b(),{setCurrentSessionItem:ve,isGroupChat:ye}=A(de),he=t(),Te=t(!1),Me=t({left:0,top:0}),ke=t(),_e=t(),xe={page:0,hasMore:!0,lastSendTime:j(new Date,"yyyy-MM-dd HH:mm:ss")},Ie=n((()=>({"--c-tip-top":ye.value?"1px":"-20px","--c-tip-gap":ye.value?"10px":"0px"})));function Ce({nodes:e}){var t,n;const{_ctx:s}=null==(t=e.download)?void 0:t.children,o=s?null==(n=null==s?void 0:s.proxy)?void 0:n.previewSrc:"";return[e.prev,e.next,e.rotateCounterclockwise,e.rotateClockwise,e.resizeToOriginalSize,e.zoomOut,e.zoomIn,l(S,null,{trigger:()=>l(I,{style:"cursor: pointer",color:"rgba(255, 255, 255, 0.75",size:24,component:$,onClick:()=>o&&N(o,"img")},null),default:()=>"下载"}),e.close]}async function we(){try{if(!xe.hasMore)return;xe.page++;const e=await E({sessionKey:de.currentSessionItem.sessionKey,page:xe.page,lastSendTime:xe.lastSendTime});if(!Array.isArray(e)||0===e.length)return xe.hasMore=!1,console.log("接口返回不是一个数组,或者没有更多消息了");const t=O(e).id;xe.lastSendTime=P(e).sendTime,fe(xe.page>1?[...de.msgList,...e]:e),1===xe.page&&de.currentSessionItem.unreadNum&&(await L({chatType:de.currentSessionItem.chatType,messageIdSet:[t],receiver:de.userInfo.id,sender:de.currentSessionItem.receiver}),ve({unreadNum:0}))}catch(e){console.log(e)}}async function Se(e,t){ke.value=t,async function(e){var t,n,s,o,i,r;Te.value=!0,await T();const{clientX:a,clientY:c}=e,{width:l=0,height:u=0,left:m=0,top:p=0}=(null==(t=pe.value)?void 0:t.getBoundingClientRect())||{},d=null!=(o=null==(s=null==(n=he.value)?void 0:n.$el)?void 0:s.getBoundingClientRect().height)?o:220,f=null!=(r=null==(i=pe.value)?void 0:i.scrollTop)?r:0,g=5,v={};a<=m+l/2?v.left=a-m+g+"px":v.right=m+l-a-g+"px";c-p<d/2?v.top=f+g+"px":p+u-c<=d/2?v.bottom=Math.abs(f)+g+"px":v.top=f+c-p-d/2+"px";Me.value=v}(e)}function je(e){const{chatMessageType:t,messageTemplate:n}=e.content;return t!==z.TEMPLATE||!!n}function Ee(e){const{chatMessageType:t}=e.content;return e.sender===de.userInfo.id&&Date.now()-new Date(e.sendTime).getTime()<864e5&&[z.TEXT,z.EMOJI].includes(t)}function Le(e){const{chatMessageType:t,msg:n=""}=e.content;if(t===z.BLEND){const e=n.match(/<img[^>]*>/gi);return!e||!e.length}return t&&[z.TEXT,z.EMOJI].includes(t)}function be(e){const{chatMessageType:t,msg:n=""}=e.content,s=n.match(/<img[^>]*>/gi);return t===z.BLEND&&s&&s.length}function Ae(e,t){var n,s;const{chatMessageType:o,messageTemplate:i}=e.content;if(o===z.TEMPLATE)return"system"===t?2==(null==(n=null==i?void 0:i.setting)?void 0:n.style.id):2!=(null==(s=null==i?void 0:i.setting)?void 0:s.style.id)}function ze(e){var t,n;const{chatMessageType:s,messageTemplate:o}=e;return s===z.TEMPLATE&&3==(null==(n=null==(t=null==o?void 0:o.setting)?void 0:t.style)?void 0:n.id)}function He(e,t){var n;const s=new Date(e.sendTime).getTime(),o=null==(n=de.msgList[t+1])?void 0:n.sendTime;if(o){return s-new Date(o).getTime()>3e5}return!0}function De(e){de.currentReferenceMsg=e,de.currentReferenceMsg.content.referenceContent=null,Object.assign(de.currentReferenceMsg,{chatType:de.currentSessionItem.chatType,receiver:de.currentSessionItem.receiver,receiverAvatar:de.currentSessionItem.avatar,receiverName:de.currentSessionItem.name})}function Re(e,t){var n;"reply"!==e?"relay"===e&&(null==(n=_e.value)||n.click()):De(t)}function Ne(e,t){const n=de.msgList.find((e=>e.id===ke.value));ge({checkedIds:e,remark:t,content:n.content})}return Q(pe,(()=>{we()}),"top",(()=>{Te.value=!1})),s((()=>de.id),(e=>{e&&(de.currentReferenceMsg=null,Object.assign(xe,{page:0,hasMore:!0,lastSendTime:j(new Date,"yyyy-MM-dd HH:mm:ss")}),we())}),{immediate:!0}),s((()=>de.isAppendMsg),(e=>{e&&(fe([de.currentMsg,...de.msgList]),async function(){var e,t,n;await T();const s=null!=(t=null==(e=pe.value)?void 0:e.scrollHeight)?t:0;null==(n=pe.value)||n.scrollTo({top:s,behavior:"auto"})}(),de.isAppendMsg=!1)}),{immediate:!0}),(e,t)=>(o(),i("div",{class:r(["chat-main",{"home-bg":!a(de).id}]),ref_key:"chatMainRef",ref:pe,style:c(a(Ie))},[l(a(M),{"show-toolbar-tooltip":"","render-toolbar":Ce},{default:u((()=>[(o(!0),i(m,null,p(a(de).msgList,((e,t)=>(o(),i(m,{key:e.id},[je(e)?(o(),i("div",{key:0,class:r(["message-item",{"message-item--mine":e.sender==a(de).userInfo.id}])},[He(e,t)?(o(),i("p",V,d(e.__sendTime),1)):f("v-if",!0),Ae(e,"system")||"WITHDRAWN"===e.status?(o(),i(m,{key:1},[Ae(e,"system")?(o(),g(B,{key:0,data:e},null,8,["data"])):f("v-if",!0),"WITHDRAWN"===e.status?(o(),i("p",Z,[v("span",null,d(e.sender==a(de).userInfo.id?"你":e.senderName)+"撤回了一条消息",1),Ee(e)?(o(),g(a(k),{key:0,size:"tiny",style:{color:"var(--c-primary-color)","margin-left":"5px"},text:"",onClick:()=>function(e){de.currentReEditMsg=e}(e)},{default:u((()=>[y(" 重新编辑 ")])),_:2},1032,["onClick"])):f("v-if",!0)])):f("v-if",!0)],64)):(o(),i("div",ee,[l(q,{"user-id":e.sender,placement:e.sender==a(de).userInfo.id?"left":"right"},{trigger:u((()=>[l(a(_),{round:"",size:38,src:e.senderAvatar},null,8,["src"])])),_:2},1032,["user-id","placement"]),e.content?(o(),i("div",te,[v("div",ne,[v("span",{class:"name","data-time":e.__time},d(a(ye)?e.senderName:""),9,se)]),v("div",{class:r(["content",{emoji:e.content.chatMessageType===a(z).EMOJI,template:e.content.chatMessageType===a(z).TEMPLATE,"template--3":ze(e.content),"audio-video":a(H)(e.content),file:e.content.chatMessageType===a(z).FILE}]),onContextmenu:h((t=>Se(t,e.id)),["prevent"])},[Le(e)?(o(),i(m,{key:0},[e.content.referenceContent?(o(),i("div",ie,[v("span",null,d(e.content.referenceContent.senderName)+":",1),v("pre",{innerHTML:a(D)(e.content.referenceContent.content)},null,8,re)])):f("v-if",!0),e.content.chatMessageType===a(z).EMOJI?(o(),i("img",{key:1,class:r([e.content.referenceContent?"emoji--min":"emoji--big"]),src:a(J).findEmoji(e.__content)},null,10,ae)):(o(),i("pre",{key:2,innerHTML:e.__content},null,8,ce))],64)):f("v-if",!0),be(e)?(o(),i("pre",{key:1,innerHTML:e.__content},null,8,le)):f("v-if",!0),Ae(e,"template")?(o(),g(B,{key:2,data:e},null,8,["data"])):f("v-if",!0),e.content.chatMessageType===a(z).IMAGE?(o(),g(a(x),{key:3,width:"240",src:e.__content},null,8,["src"])):f("v-if",!0),a(H)(e.content)?(o(),i(m,{key:4},[l(a(I),{class:r({"is-audio":e.content.chatMessageType===a(z).AUDIO}),component:e.content.chatMessageType===a(z).AUDIO?a(X):a(F)},null,8,["class","component"]),v("span",ue,d(a(R)(e.__content)),1)],64)):f("v-if",!0),e.content.chatMessageType===a(z).FILE?(o(),g(a(C),{key:5,"wrap-item":!1},{default:u((()=>[l(a(I),{class:"icon-file",size:"40",component:a(G)},null,8,["component"]),l(a(C),{"wrap-item":!1,vertical:"",justify:"space-between",style:{"row-gap":"0"}},{default:u((()=>[v("span",null,d(e.__content),1),v("span",me,d(e.__size),1)])),_:2},1024)])),_:2},1024)):f("v-if",!0),l(a(w),{class:"quick-menu"},{default:u((()=>[a(H)(e.content)?f("v-if",!0):(o(),i(m,{key:0},[f(' <n-button quaternary size="tiny">\n\t\t\t\t\t\t\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<i class="chat--iconfont chat--icon-face" />\n\t\t\t\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t\t\t\t</n-button> '),l(a(k),{quaternary:"",size:"tiny",onClick:()=>De(e)},{icon:u((()=>[l(a(I),{size:"17",component:a(K)},null,8,["component"])])),_:2},1032,["onClick"])],64)),l(a(k),{quaternary:"",size:"tiny",onClick:t=>Se(t,e.id)},{icon:u((()=>[l(a(I),{size:"14",component:a(Y)},null,8,["component"])])),_:2},1032,["onClick"])])),_:2},1024)],42,oe)])):f("v-if",!0)]))],2)):f("v-if",!0)],64)))),128))])),_:1}),l(a(W),{ref_key:"contextmenuRef",ref:he,show:Te.value,"onUpdate:show":t[0]||(t[0]=e=>Te.value=e),position:Me.value,"msg-id":ke.value,onSelect:Re},null,8,["show","position","msg-id"]),l(U,{title:"转发消息",mode:"relay",onComfirm:Ne},{trigger:u((()=>[v("span",{style:{display:"none"},ref_key:"relayTriggerRef",ref:_e},"转发",512)])),_:1})],6))}});export{pe as default};
|
@@ -1 +1 @@
|
|
1
|
-
import{defineComponent as t,ref as e,reactive as a,computed as o,openBlock as l,createBlock as
|
1
|
+
import{defineComponent as t,ref as e,reactive as a,computed as o,openBlock as l,createBlock as n,unref as s,withCtx as r,renderSlot as i,createElementBlock as c,Fragment as u,withDirectives as d,createElementVNode as p,createVNode as m,createCommentVNode as v,toDisplayString as f,createTextVNode as g,renderList as y,vShow as k}from"vue";import{NPopover as h,NAvatar as b,NButton as w,NIcon as j}from"naive-ui";import{ChatbubbleEllipses as C,EyeOffOutline as I,EyeOutline as _,Close as x}from"@vicons/ionicons5";import{useState as z}from"../hooks/useState.js";import{useSession as N}from"../hooks/useSession.js";import{CHAT_TYPE as S}from"../constants/index.js";import"trtc-sdk-v5";import"date-fns";import"lodash-es";import"../utils/emoji.js";import"../../../../shared/utils/index.js";import{openSessionApi as $,getUserDetailApi as D}from"../api/index.js";const E={class:"person-profile-main"},L={class:"left"},P={class:"profile"},q={class:"profile__text"},B={class:"right"},G={class:"right__content"},O={class:"label"},T={class:"content"};var U=t({__name:"PersonProfile",props:{userId:{type:String,required:!0},disabled:{type:Boolean,default:!1}},emits:["close"],setup(t,{emit:U}){const A=t,{state:F}=z(),{openSession:H}=N(F),J=e(!1),K=e(!1),M=e(!1),Q=a({}),R=[{label:"机构",value:"",key:"orgName"},{label:"姓名",value:"",key:"name"},{label:"归属科室",value:"",key:"deptName"},{label:"业务科室",value:"",key:"businessDeptNames"},{label:"手机号",value:"",key:"phone"},{label:"岗位",value:"",key:"post"},{label:"工号",value:"",key:"jobId"},{label:"性别",value:"",key:"orgName"}],V=o((()=>(Q.id&&R.forEach((t=>{const{key:e}=t;t.value=Q[e]})),R)));async function W(){J.value=!1;let t=F.sessionList.find((t=>t.receiver===A.userId));if(!t)try{t=await $({chatType:S.SINGLE,receiver:A.userId,sender:F.userInfo.id})}catch(t){console.log("error :>> ",t)}t&&H(t),U("close")}async function X(t){if(!t)return;const e=await D({userId:A.userId});(null==e?void 0:e.id)?Object.assign(Q,e):Q.id=""}function Y(t){const{key:e,value:a}=t;return"phone"!==e||M.value?a:(a||"").replace(/(\d{3})\d{4}(\d{4})/,"$1****$2")}return(e,a)=>(l(),n(s(h),{raw:"",class:"person-profile-wrapper",show:J.value,"onUpdate:show":[a[3]||(a[3]=t=>J.value=t),X],trigger:t.disabled?"manual":"click","show-arrow":!1,to:"body",shift:""},{trigger:r((()=>[i(e.$slots,"trigger")])),default:r((()=>[Q.id?(l(),c(u,{key:0},[d(p("div",E,[p("div",L,[p("div",P,[m(s(b),{src:Q.avatar,bordered:"",round:"",size:100,onClickCapture:a[0]||(a[0]=t=>K.value=!0)},null,8,["src"]),v(' <n-upload abstract accept="image/*" @change="onChange">\n\t\t\t\t\t\t\t<n-upload-trigger #="{ handleClick }" abstract>\n\t\t\t\t\t\t\t\t<n-button\n\t\t\t\t\t\t\t\t\tcircle\n\t\t\t\t\t\t\t\t\tsecondary\n\t\t\t\t\t\t\t\t\tclass="edit-avatar"\n\t\t\t\t\t\t\t\t\tv-show="userDetail.id === state.userInfo.id"\n\t\t\t\t\t\t\t\t\t@click="handleClick"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t\t\t\t<n-icon size="16" color="#666666" :component="Camera" />\n\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t</n-button>\n\t\t\t\t\t\t\t</n-upload-trigger>\n\t\t\t\t\t\t</n-upload> '),p("div",q,[p("h4",null,f(Q.name),1),p("p",null,f(Q.orgName),1)]),m(s(w),{strong:"",secondary:"",onClick:W},{default:r((()=>[m(s(j),{size:"13",color:"#666666",component:s(C),style:{"margin-right":"6px"}},null,8,["component"]),g(" 发消息 ")])),_:1})])]),p("div",B,[p("div",G,[(l(!0),c(u,null,y(s(V),((t,e)=>(l(),c("div",{class:"info-item",key:e},[p("span",O,f(t.label),1),p("div",T,[p("span",null,f(Y(t)),1),"phone"===t.key&&Y(t)?(l(),n(s(j),{key:0,size:"16",color:"#666666",component:M.value?s(I):s(_),style:{"margin-left":"10px"},onClick:a[1]||(a[1]=t=>M.value=!M.value)},null,8,["component"])):v("v-if",!0)])])))),128))])])],512),[[k,!K.value]]),d(p("div",{class:"large-avatar",onClick:a[2]||(a[2]=t=>K.value=!1)},[m(s(w),{circle:"",size:"small",secondary:""},{icon:r((()=>[m(s(j),{size:24,component:s(x),color:"#fff"},null,8,["component"])])),_:1}),m(s(b),{size:310,round:"",src:Q.avatar},null,8,["src"])],512),[[k,K.value]])],64)):v("v-if",!0)])),_:3},8,["show","trigger"]))}});export{U as default};
|
@@ -1 +1 @@
|
|
1
|
-
import{defineComponent as e,reactive as o,ref as t,watch as a,nextTick as n,openBlock as s,createElementBlock as i,normalizeClass as l,unref as r,createCommentVNode as m,Fragment as c,createBlock as u,mergeProps as d,createElementVNode as p,normalizeStyle as f,createVNode as v,withCtx as g,renderList as h,toDisplayString as k,createTextVNode as y,resolveDynamicComponent as w,renderSlot as S}from"vue";import b from"./hooks/use-noData.js";import{ScaleViewProps as C}from"./hooks/scaleview-props.js";import{getScaleViewState as D}from"./hooks/scaleview-state.js";import{ScaleViewComputed as E}from"./hooks/scaleview-computed.js";import{ScaleViewInit as j}from"./hooks/scaleview-init.js";import{ScaleViewSubmit as _}from"./hooks/scaleview-submit.js";import{ScaleViewMethods as x}from"./hooks/scaleview-methods.js";import{handleQueryParams as F,isCollection as P}from"./utils/judge-types.js";import{useEvent as q}from"./hooks/use-event.js";import"xe-utils";import"moment";import L from"../../../shared/utils/vexutilsExpand.js";import N from"./components/NoData.vue.js";import R from"./components/EvaluateCountdown.vue.js";import A from"./components/EvaluatePage.vue.js";import M from"./components/AnswerParse.vue.js";import O from"./components/ScaleScore.js";import T from"./components/DescribeContent.vue.js";import{NForm as V,NFormItem as I,NButton as B}from"naive-ui";const J=["innerHTML"],G={key:0,class:"required-text"},W={key:1,class:"evalute-label"},H=["onClick"],Q=p("i",{class:"scale-view-iconfont icon-scale-view-dengpao"},null,-1),$={key:1,class:"footer"};var z=e({__name:"ScaleView",props:C,emits:["onCloseSetting","submitNoRequest","onSubmit","startWriteScale"],setup(e,{expose:C,emit:z}){const K=e,{ScaleViewState:U}=D(),X=o(U),Y=t(null),Z=t(null),ee=t(null),{noDataState:oe,setNoData:te,resetNodata:ae}=b(),ne=F(),{showEvatip:se,isFormBoldOpen:ie,scaleStyle:le,handlePageClass:re,isShowItem:me,handleShowQuestionNumber:ce,hasScore:ue,isPreviewScale:de,showEvaluateEntry:pe,showEvaluateCoundownPage:fe,showScaleFooter:ve,isCancelBtn:ge,isSaveBtn:he,showEvaluateLabel:ke,showAnswerParse:ye,propsConfig:we,evaluatePageProps:Se,evaluateCountdownProps:be,isEvaluetaResSituation:Ce,disableEdit:De,desStart:Ee,desEnd:je,desContent:_e}=E(K,X,{query:ne,scaleViewDom:Y}),{initForm:xe}=j(K,X,z,{query:ne}),{submitMethod:Fe,onSubmitData:Pe,onSubmitForm:qe,handleScoreJson:Le}=_(K,X,z,{query:ne,formRef:ee,countdownDom:Z}),{nextLogicEvent:Ne,handleDynamicDataRelation:Re}=q(K,X),{scaleChange:Ae,labelChange:Me,vodFileList:Oe,writeGuage:Te,closeEvaluateCountdown:Ve,showEvaTipModal:Ie}=x(K,X,z,{nextLogicEvent:Ne,handleDynamicDataRelation:Re,isPreviewScale:de,submitMethod:Fe,isEvaluetaResSituation:Ce,handleScoreJson:Le,disableEdit:De});(()=>{let{id:e}=ne;e&&(X.shareId=e)})();const Be=e=>{try{ae(),xe(e)}catch(e){console.log(e,"--error"),X.spinning=!1,X.hasFrontAddress=!1,te(!0,null==e?void 0:e.resultMsg,null==e?void 0:e.result)}};a((()=>K.ids),((e,o)=>{o?e.guage_id&&e.guage_id!=o.guage_id&&Be(e):e.guage_id&&Be(e)}),{immediate:!0}),a((()=>K.guageData),(e=>{if(!e||!Object.keys(e||{}).length)return;X.form={},X.formArray=[];const o=JSON.parse(JSON.stringify(e));n((()=>{xe(o)}))}),{immediate:!0});const Je=L.debounce(Pe,300),Ge=()=>{z("onCloseSetting")};return C({getScaleData:()=>({...X}),onSubmitForm:qe,cancel:Ge}),(e,o)=>(s(),i("div",{class:l(["c-scale-view-block",{"c-scale-view-block-hasfooter":r(ve)}]),ref_key:"scaleViewDom",ref:Y},[m(' <template v-if="state.spinning">\
|
1
|
+
import{defineComponent as e,reactive as o,ref as t,watch as a,nextTick as n,openBlock as s,createElementBlock as i,normalizeClass as l,unref as r,createCommentVNode as m,Fragment as c,createBlock as u,mergeProps as d,createElementVNode as p,normalizeStyle as f,createVNode as v,withCtx as g,renderList as h,toDisplayString as k,createTextVNode as y,resolveDynamicComponent as w,renderSlot as S}from"vue";import b from"./hooks/use-noData.js";import{ScaleViewProps as C}from"./hooks/scaleview-props.js";import{getScaleViewState as D}from"./hooks/scaleview-state.js";import{ScaleViewComputed as E}from"./hooks/scaleview-computed.js";import{ScaleViewInit as j}from"./hooks/scaleview-init.js";import{ScaleViewSubmit as _}from"./hooks/scaleview-submit.js";import{ScaleViewMethods as x}from"./hooks/scaleview-methods.js";import{handleQueryParams as F,isCollection as P}from"./utils/judge-types.js";import{useEvent as q}from"./hooks/use-event.js";import"xe-utils";import"moment";import L from"../../../shared/utils/vexutilsExpand.js";import N from"./components/NoData.vue.js";import R from"./components/EvaluateCountdown.vue.js";import A from"./components/EvaluatePage.vue.js";import M from"./components/AnswerParse.vue.js";import O from"./components/ScaleScore.js";import T from"./components/DescribeContent.vue.js";import{NForm as V,NFormItem as I,NButton as B}from"naive-ui";const J=["innerHTML"],G={key:0,class:"required-text"},W={key:1,class:"evalute-label"},H=["onClick"],Q=p("i",{class:"scale-view-iconfont icon-scale-view-dengpao"},null,-1),$={key:1,class:"footer"};var z=e({__name:"ScaleView",props:C,emits:["onCloseSetting","submitNoRequest","onSubmit","startWriteScale"],setup(e,{expose:C,emit:z}){const K=e,{ScaleViewState:U}=D(),X=o(U),Y=t(null),Z=t(null),ee=t(null),{noDataState:oe,setNoData:te,resetNodata:ae}=b(),ne=F(),{showEvatip:se,isFormBoldOpen:ie,scaleStyle:le,handlePageClass:re,isShowItem:me,handleShowQuestionNumber:ce,hasScore:ue,isPreviewScale:de,showEvaluateEntry:pe,showEvaluateCoundownPage:fe,showScaleFooter:ve,isCancelBtn:ge,isSaveBtn:he,showEvaluateLabel:ke,showAnswerParse:ye,propsConfig:we,evaluatePageProps:Se,evaluateCountdownProps:be,isEvaluetaResSituation:Ce,disableEdit:De,desStart:Ee,desEnd:je,desContent:_e}=E(K,X,{query:ne,scaleViewDom:Y}),{initForm:xe}=j(K,X,z,{query:ne}),{submitMethod:Fe,onSubmitData:Pe,onSubmitForm:qe,handleScoreJson:Le}=_(K,X,z,{query:ne,formRef:ee,countdownDom:Z}),{nextLogicEvent:Ne,handleDynamicDataRelation:Re}=q(K,X),{scaleChange:Ae,labelChange:Me,vodFileList:Oe,writeGuage:Te,closeEvaluateCountdown:Ve,showEvaTipModal:Ie}=x(K,X,z,{nextLogicEvent:Ne,handleDynamicDataRelation:Re,isPreviewScale:de,submitMethod:Fe,isEvaluetaResSituation:Ce,handleScoreJson:Le,disableEdit:De});(()=>{let{id:e}=ne;e&&(X.shareId=e)})();const Be=e=>{try{ae(),xe(e)}catch(e){console.log(e,"--error"),X.spinning=!1,X.hasFrontAddress=!1,te(!0,null==e?void 0:e.resultMsg,null==e?void 0:e.result)}};a((()=>K.ids),((e,o)=>{o?e.guage_id&&e.guage_id!=o.guage_id&&Be(e):e.guage_id&&Be(e)}),{immediate:!0}),a((()=>K.guageData),(e=>{if(!e||!Object.keys(e||{}).length)return;X.form={},X.formArray=[];const o=JSON.parse(JSON.stringify(e));n((()=>{xe(o)}))}),{immediate:!0});const Je=L.debounce(Pe,300),Ge=()=>{z("onCloseSetting")};return C({getScaleData:()=>({...X}),onSubmitForm:qe,cancel:Ge}),(e,o)=>(s(),i("div",{class:l(["c-scale-view-block",{"c-scale-view-block-hasfooter":r(ve)}]),ref_key:"scaleViewDom",ref:Y},[m(' <template v-if="state.spinning">\n <n-spin :show="state.spinning" description="加载中"></n-spin>\n </template> '),X.spinning||X.hasFrontAddress?m("v-if",!0):(s(),i(c,{key:0},[r(oe).noData?(s(),u(N,{key:0,noDataImg:r(oe).noDataImg,noDataTip:r(oe).noDataTip},null,8,["noDataImg","noDataTip"])):(s(),i(c,{key:1},[r(pe)?(s(),u(A,d({key:0},r(Se),{onWriteGuage:r(Te)}),null,16,["onWriteGuage"])):(s(),i(c,{key:1},[r(fe)?(s(),u(R,d({key:0,ref_key:"countdownDom",ref:Z},r(be),{onCloseEvaluateCountdown:r(Ve)}),null,16,["onCloseEvaluateCountdown"])):m("v-if",!0),p("div",{class:l(["scale-container",{"scale-container-nopadding":r(re),"scale-container-hasfooter":r(ve)}]),style:f(r(le))},[r(ue)?(s(),u(r(O),{key:0,config:X.config,maxScore:X.maxScore},null,8,["config","maxScore"])):m("v-if",!0),r(Ee)?(s(),u(T,{key:1,content:r(_e)},null,8,["content"])):m("v-if",!0),v(r(V),{ref_key:"formRef",ref:ee,model:X.form,rules:X.rules,"require-mark-placement":"left",class:"main"},{default:g((()=>[(s(!0),i(c,null,h(X.formArray,((e,o)=>(s(),i(c,{key:(e.id||e.seq)+o},[r(me)(e)?(s(),u(r(I),{key:0,path:e.val_key,"show-label":!r(P)(e.type),class:"c-scle-form-item"},{label:g((()=>[p("span",{class:l({"scale-label-required":r(ie)(e)}),innerHTML:r(ce)(e)},null,10,J),r(ie)(e)?(s(),i("span",G,"(必填)")):m("v-if",!0),r(ke)(e)?(s(),i("span",W,k(r(ke)(e)),1)):m("v-if",!0),r(se)(e)?(s(),i("span",{key:2,class:"evalute-tip",onClick:o=>r(Ie)(e)},[Q,y(" 查看提示 ")],8,H)):m("v-if",!0)])),default:g((()=>[(s(),u(w(e.renderCom),d(r(we)(e,o),{key:(e.id||e.seq)+o,onScaleChange:r(Ae),onOnChange:o=>r(Me)(o,e),onVodFileList:r(Oe)}),null,16,["onScaleChange","onOnChange","onVodFileList"])),r(ye)(e)?(s(),u(M,{key:0,item:e},null,8,["item"])):m("v-if",!0)])),_:2},1032,["path","show-label"])):m("v-if",!0)],64)))),128))])),_:1},8,["model","rules"]),r(je)?(s(),u(T,{key:2,content:r(_e)},null,8,["content"])):m("v-if",!0)],6),r(ve)?(s(),i("div",$,[m(" 分享的链接 隐藏取消按钮 "),r(ge)?(s(),u(r(B),{key:0,onClick:Ge},{default:g((()=>[y("取消")])),_:1})):m("v-if",!0),r(he)?(s(),u(r(B),{key:1,onClick:r(Je),disabled:X.banSubmit,type:"primary"},{default:g((()=>[y(" 保存 ")])),_:1},8,["onClick","disabled"])):m("v-if",!0),S(e.$slots,"extendBtn")])):m("v-if",!0)],64))],64))],64))],2))}});export{z as default};
|
@@ -1 +1 @@
|
|
1
|
-
import{WidgetOptionEnums as e,WidgetTypeEnums as n,selectModeEnums as t,WidgetValEnums as i}from"../types/enums.js";import{isString as l}from"lodash-es";import{formatDateRangeInfo as
|
1
|
+
import{WidgetOptionEnums as e,WidgetTypeEnums as n,selectModeEnums as t,WidgetValEnums as i}from"../types/enums.js";import{isString as l}from"lodash-es";import{formatDateRangeInfo as o,presetValToTimestamp as a}from"../components/render-widget/helpers/presetValToTimestamp.js";import{DatePresetValEnums as E}from"../components/render-widget/enums.js";const u={[e.RADIO]:"0",[e.MULTIPLE]:"1",[e.ALL]:"0",[e.SELECT_TIME]:"1",[e.PAST_TIME]:"2",[e.FUTURE_TIME]:"3"};function r(){return{transformData:function(i,l){return i.map((i=>{var o,a,E,r,s;const{optionInfo:d={list:[],manualMapping:!0,dynamicOptionInfo:{},showWholeOption:!1,showMode:"DROPDOWN"},type:T,defaultValue:c,optionType:p,filterExplicit:y,rangeFilter:f,componentProps:m}=i,v={},C=function(e){var n;return{title:e.title,alias:e.customTitle,isShowSearch:e.isShowSearch?1:0,filterExplicit:e.filterExplicit?1:0,explicitRequired:e.explicitRequired?1:0,advanceOptionSetting:e.optionType?u[e.optionType]:"",placeholder:e.remark,advanceColWidth:e.width,accurateSearch:e.accurateSearch?e.accurateSearch:{},extendKey:null!=(n=e.extendKey)?n:""}}(i);let L,S,A=T;y?(L=T!==n.SELECT&&T!==n.SELECTTREE||p!==e.MULTIPLE?null==(o=null==c?void 0:c.valueList)?void 0:o[0]:null==c?void 0:c.valueList,S=null==c?void 0:c.unit,T===n.LABEL&&(A="SELECTLABEL",L=null==c?void 0:c.valueList),T===n.DATE&&(A="DATE_OUT"),T===n.DATE_TIME&&(A="DATETIME_OUT"),T===n.SELECT&&(null==d?void 0:d.manualMapping)&&(null==d?void 0:d.showMode)==t.TILE&&(A="CHECKBOX_GROUP")):T===n.SELECT&&(null==d?void 0:d.list)&&(null==d?void 0:d.list.length)<10&&(A="CHECKBOX_GROUP"),f&&(T===n.INPUT_NUMBER&&(A="INPUTNUMBER_RANGE"),T===n.DATE&&(A=y?"DATE_RANGE_OUT":"DATE_RANGE_INNER"),T===n.DATE_TIME&&(A=y?"DATETIME_RANGE_OUT":"DATETIME_RANGE_INNER")),T===n.SELECT&&!1===(null==d?void 0:d.manualMapping)&&(A=n.SELECTDYNAMIC),T===n.SELECT&&(null==(E=null==(a=null==d?void 0:d.dynamicOptionInfo)?void 0:a.treeInfo)?void 0:E.enable)&&(A=n.SELECTTREEDYNAMIC);const M={isRender:!0,widgetType:A,originType:T,valueList:T===n.SELECTTREE?null==d?void 0:d.list:null==(r=null==d?void 0:d.list)?void 0:r.map((({name:e,value:n})=>({value:n,label:e}))),defaultValue:L,defValueUnit:S,optionSetting:p,multiple:p===e.MULTIPLE||A===n.SELECTLABEL,manualMapping:null==d?void 0:d.manualMapping,showWholeOption:null==d?void 0:d.showWholeOption,dynamicOptionInfo:null==d?void 0:d.dynamicOptionInfo,classifyStr:null==c?void 0:c.classifyStr,linkageFieldKeys:null!=(s=null==c?void 0:c.linkageFieldKeys)?s:[]};return{...C,fieldType:i.dataType,columnName:i.name,settingObj:v,setting:JSON.stringify(v),widgetCfg:M,rangeFilter:f,componentProps:m,unit:null!=S?S:"",isAccurateSearchVal:!1,_extendData:null!=l?l:{}}}))},getCacheDef:function(e,t){const{widgetType:i,widgetCfg:l}=e;return[n.SELECT,n.CHECKBOX_GROUP,n.SELECTDYNAMIC,n.SELECTTREE,n.SELECTTREEDYNAMIC].includes(i)&&l.multiple?t:t[0]},transformClassifyChild:function(e,t){const i={};return e&&e.length>0&&e.forEach((e=>{const l=e.field_key;let u="";const r=t.find((e=>e.name===l));if(r)if(e.value&&(u=Array.isArray(e.value)&&r.type===n.SELECT?e.value:e.value.toString()),e.unit&&e.unit!==E.CUSTOM&&(r.type===n.DATE&&(u=r.rangeFilter?o(e.unit,"YYYY-MM-DD",r.optionType):a(e.unit,"YYYY-MM-DD")),r.type===n.DATE_TIME&&(u=r.rangeFilter?o(e.unit,"YYYY-MM-DD HH:mm:ss",r.optionType):a(e.unit,"YYYY-MM-DD HH:mm:ss"))),null==r?void 0:r.extendKey){i[r.extendKey]||(i[r.extendKey]=[]);const n={field_key:e.field_key,con:e.con,value:u,type:r.type};i[r.extendKey].push(n)}else i[l]=u})),i},transformParams:function(e){const t={},o=[n.SELECT,n.SELECTDYNAMIC,n.CHECKBOX_GROUP,n.SELECTTREE,n.SELECTTREEDYNAMIC];return e&&e.length>0&&e.forEach((e=>{let n="";const a=e.field_key;if(e.value&&(n=o.includes(e.widgetType)||e.value&&e.value.length>1?e.value.map((e=>l(e)&&e.includes("&")?e.split("&")[1]:e)):e.value.toString()),!(Array.isArray(n)&&n.length>0&&n.includes(i.WHOLE)))if(Object.keys(e).includes("isAccurateSearch")&&(t[e.accurateSearchKey]=e.isAccurateSearch?1:0),null==e?void 0:e.extendKey){t[e.extendKey]||(t[e.extendKey]=[]);const i={field_key:a,con:e.con,value:n,type:e.originType};t[e.extendKey].push(i)}else t[a]=n})),t}}}export{r as default};
|
@@ -1 +1 @@
|
|
1
|
-
import{WidgetCfgMaps as e}from"../components/render-widget/widgetCfgMaps.js";import{WidgetTypeEnums as t,WidgetOptionEnums as n}from"../types/enums.js";const r=[t.CHECKBOX_GROUP,t.DATE,t.DATE_TIME,t.DATE_RANGE_INNER,t.DATETIME_RANGE_INNER,t.LABEL];function i(){function i(e){var t;return null==(t=e.widgetCfg)?void 0:t.isRender}async function u(t){const{widgetType:r,defaultValue:i,defValueUnit:u,optionSetting:a,multiple:l}=t.widgetCfg||{},c=e.get(r);let d;if(c){const{setDefaultValue:e}=c;e&&(d=await e(i,u,{optSetting:null!=a?a:n.ALL,multiple:l,_cfg:t}))}return d}return{isRender:i,getDefValByRenderWidget:u,initRenderWidgetCfg:async function(e){const t=i(e);if(!t)return t;const{widgetType:n}=e.widgetCfg||{};return e._frontId||(e._frontId="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(e=>{const t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)}))),e.isRender=t,e.widgetType=n,e.con="EQ",r.includes(n)&&(e._isBlock=!0),1==e.filterExplicit&&(e.value=await u(e)),t},getRenderSearchConObj:function(e){if(!i(e))return null;const{columnName:t,con:n,value:r,widgetType:u,unit:a=""}=e,
|
1
|
+
import{WidgetCfgMaps as e}from"../components/render-widget/widgetCfgMaps.js";import{WidgetTypeEnums as t,WidgetOptionEnums as n}from"../types/enums.js";const r=[t.CHECKBOX_GROUP,t.DATE,t.DATE_TIME,t.DATE_RANGE_INNER,t.DATETIME_RANGE_INNER,t.LABEL];function i(){function i(e){var t;return null==(t=e.widgetCfg)?void 0:t.isRender}async function u(t){const{widgetType:r,defaultValue:i,defValueUnit:u,optionSetting:a,multiple:l}=t.widgetCfg||{},c=e.get(r);let d;if(c){const{setDefaultValue:e}=c;e&&(d=await e(i,u,{optSetting:null!=a?a:n.ALL,multiple:l,_cfg:t}))}return d}return{isRender:i,getDefValByRenderWidget:u,initRenderWidgetCfg:async function(e){const t=i(e);if(!t)return t;const{widgetType:n}=e.widgetCfg||{};return e._frontId||(e._frontId="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(e=>{const t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)}))),e.isRender=t,e.widgetType=n,e.con="EQ",r.includes(n)&&(e._isBlock=!0),1==e.filterExplicit&&(e.value=await u(e)),t},getRenderSearchConObj:function(e){if(!i(e))return null;const{columnName:t,con:n,value:r,widgetType:u,unit:a="",widgetCfg:l}=e,c=Array.isArray(r)?r:r?[r]:[],d={widgetType:u,field_key:t,con:n,value:c.length>0?c:null,unit:a,originType:(null==l?void 0:l.originType)||""};return e.accurateSearch.switchEnable&&(d.isAccurateSearch=e.isAccurateSearchVal,d.accurateSearchKey=e.accurateSearch.searchKey),(null==e?void 0:e.extendKey)&&(d.extendKey=e.extendKey),d},getDefValByRenderConObj:function(e,n){if(!i(n))return null;const{widgetType:r,multiple:u}=n.widgetCfg||{},{value:a}=e;return r!==t.SELECT&&r!==t.CHECKBOX_GROUP||!u?Array.isArray(a)?a[0]:a:Array.isArray(a)?a:a?[a]:[]},isExistDefValByRenderWidget:function(e){const{defaultValue:t,defValueUnit:n}=e.widgetCfg||{};return!(!t&&!n)},resetRenderWidgetValue:function(e){const t=i(e);return t?(e.value=null,e.unit="",t):t}}}export{i as default};
|
package/es/env.d.ts
CHANGED
@@ -1,25 +1,25 @@
|
|
1
|
-
/// <reference types="vite/client" />
|
2
|
-
|
3
|
-
interface ImportMetaEnv {
|
4
|
-
readonly VITE_APP_TYPE: string;
|
5
|
-
// 更多环境变量...
|
6
|
-
}
|
7
|
-
|
8
|
-
interface ImportMeta {
|
9
|
-
readonly env: ImportMetaEnv;
|
10
|
-
}
|
11
|
-
|
12
|
-
declare module '*.vue' {
|
13
|
-
// @ts-ignore
|
14
|
-
import type { App, defineComponent } from 'vue';
|
15
|
-
// // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/ban-types
|
16
|
-
// // const component: DefineComponent<{}, {}, any>
|
17
|
-
const component: ReturnType<typeof defineComponent> & {
|
18
|
-
install(app: App): void;
|
19
|
-
};
|
20
|
-
// @ts-ignore
|
21
|
-
export default component;
|
22
|
-
}
|
23
|
-
|
24
|
-
declare module '*.js';
|
25
|
-
|
1
|
+
/// <reference types="vite/client" />
|
2
|
+
|
3
|
+
interface ImportMetaEnv {
|
4
|
+
readonly VITE_APP_TYPE: string;
|
5
|
+
// 更多环境变量...
|
6
|
+
}
|
7
|
+
|
8
|
+
interface ImportMeta {
|
9
|
+
readonly env: ImportMetaEnv;
|
10
|
+
}
|
11
|
+
|
12
|
+
declare module '*.vue' {
|
13
|
+
// @ts-ignore
|
14
|
+
import type { App, defineComponent } from 'vue';
|
15
|
+
// // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/ban-types
|
16
|
+
// // const component: DefineComponent<{}, {}, any>
|
17
|
+
const component: ReturnType<typeof defineComponent> & {
|
18
|
+
install(app: App): void;
|
19
|
+
};
|
20
|
+
// @ts-ignore
|
21
|
+
export default component;
|
22
|
+
}
|
23
|
+
|
24
|
+
declare module '*.js';
|
25
|
+
|
@@ -1 +1 @@
|
|
1
|
-
var e="@cnhis-design-vue/shared",i="3.2.10-beta.
|
1
|
+
var e="@cnhis-design-vue/shared",i="3.2.10-beta.8",s="index.ts",n={"naive-ui":"^2.30.0",vue:"^3.2.0"},a={"@vicons/ionicons5":"^0.12.0","lodash-es":"^4.17.21",moment:"^2.29.1","video.js":"^7.19.2","videojs-contrib-hls":"^5.15.0",viewerjs:"^1.10.5","xe-utils":"^3.5.4"},d={name:e,version:"3.2.10-beta.8",private:!0,main:"index.ts",peerDependencies:n,dependencies:a};export{d as default,a as dependencies,s as main,e as name,n as peerDependencies,i as version};
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "cnhis-design-vue",
|
3
|
-
"version": "3.2.10-beta.
|
3
|
+
"version": "3.2.10-beta.8",
|
4
4
|
"license": "ISC",
|
5
5
|
"module": "./es/components/index.js",
|
6
6
|
"main": "./es/components/index.js",
|
@@ -72,5 +72,5 @@
|
|
72
72
|
"iOS 7",
|
73
73
|
"last 3 iOS versions"
|
74
74
|
],
|
75
|
-
"gitHead": "
|
75
|
+
"gitHead": "7b636cf294c929147eb460f67ebfd991811a7e29"
|
76
76
|
}
|
@@ -1 +0,0 @@
|
|
1
|
-
import r from"./recording.vue2.js";import e from"../../../../_virtual/_plugin-vue_export-helper.js";var o=e(r,[["__file","recording.vue"]]);export{o as default};
|
@@ -1 +0,0 @@
|
|
1
|
-
import{defineComponent as o,openBlock as e,createBlock as s,unref as t,normalizeStyle as r,withCtx as i,createElementVNode as n,toDisplayString as c,createVNode as a}from"vue";import{NModal as p,NIcon as l}from"naive-ui";import{Mic as m}from"@vicons/ionicons5";import{useTheme as u}from"../../../../shared/hooks/useTheme.js";import"@vueuse/core";import"date-fns";import"lodash-es";import"@vue/shared";import"../../../../shared/utils/index.js";import"@vueuse/shared";import"../../../../shared/hooks/selectHooks/useSearchContent.js";import"../../../../shared/hooks/useScrollLoading.js";const d={class:"c-recording-wrapper"},f={class:"content"},h=n("div",{class:"animation"},null,-1),v=n("p",{class:"tip"},"按下空格键停止录音",-1);var k=o({__name:"recording",props:{content:{type:String,default:""}},emits:["close"],setup(o,{emit:k}){const g=u();function j(){k("close")}return(u,k)=>(e(),s(t(p),{style:r(t(g))},{default:i((()=>[n("div",d,[n("p",f,c(o.content||"正在聆听..."),1),h,n("div",{class:"icon-box",onClick:j},[a(t(l),{size:"60",color:"#fff",component:t(m)},null,8,["component"])]),v])])),_:1},8,["style"]))}});export{k as default};
|
@@ -1,10 +0,0 @@
|
|
1
|
-
import { ComponentInternalInstance, Ref } from 'vue';
|
2
|
-
export declare class RecordingModal {
|
3
|
-
rendered: boolean;
|
4
|
-
target: HTMLElement | null;
|
5
|
-
show(instance: ComponentInternalInstance, { contentRef, onClose }: {
|
6
|
-
contentRef: Ref<string>;
|
7
|
-
onClose: () => void;
|
8
|
-
}): void;
|
9
|
-
hide(): void;
|
10
|
-
}
|
@@ -1 +0,0 @@
|
|
1
|
-
import{ref as e,render as t,createVNode as n,withCtx as r,nextTick as o}from"vue";import{createProviderWrapper as s}from"../../../../shared/utils/index.js";import l from"../components/recording.vue.js";class i{constructor(){this.rendered=!1,this.target=null}show(i,{contentRef:d,onClose:a}){if(this.rendered)return;this.rendered=!0;const u=document.createElement("div"),h=e(!1),c=s(i);t(n(c,null,{default:r((()=>n(l,{to:u,content:d.value,show:h.value,"onUpdate:show":e=>h.value=e,onClose:()=>p(),onAfterLeave:()=>p()},null)),i)}),u);const m=this;var v;function p(){a()}v=u,document.body.appendChild(v),m.target=v,o((()=>h.value=!0))}hide(){var e;(null==(e=this.target)?void 0:e.parentElement)&&(this.rendered=!1,this.target.parentElement.removeChild(this.target),this.target=null)}}export{i as RecordingModal};
|