cnhis-design-vue 3.2.7-beta.10 → 3.2.7-beta.11

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 (21) hide show
  1. package/es/components/classification/index.d.ts +2 -1
  2. package/es/components/classification/src/components/search-filter/index.vue.d.ts +2 -1
  3. package/es/components/classification/src/components/set-classification/index.vue.d.ts +2 -1
  4. package/es/components/classification/src/components/table-modal/index.vue.d.ts +0 -3
  5. package/es/components/classification/src/index.vue.d.ts +2 -1
  6. package/es/components/field-set/src/FieldSet.vue.d.ts +1 -1
  7. package/es/components/iho-chat/src/components/ChatAdd.vue2.js +1 -1
  8. package/es/components/iho-chat/src/components/ChatFooter.vue2.js +1 -1
  9. package/es/components/iho-chat/src/components/ChatMain.vue2.js +1 -1
  10. package/es/components/scale-view/src/ScaleView.vue2.js +1 -1
  11. package/es/components/table-filter/src/components/classify-filter/ValueCfg.vue.d.ts +2 -1
  12. package/es/components/table-filter/src/components/classify-filter/components/SelectDynamic.vue.d.ts +2 -1
  13. package/es/components/table-filter/src/components/classify-filter/components/SelectDynamic.vue2.js +1 -1
  14. package/es/components/table-filter/src/components/classify-filter/components/index.d.ts +2 -1
  15. package/es/components/table-filter/src/components/classify-filter/hooks/useFilterConditions.js +1 -1
  16. package/es/components/table-filter/src/components/classify-filter/index.vue.d.ts +2 -1
  17. package/es/components/table-filter/src/tool/transformData.js +1 -1
  18. package/es/components/table-filter/src/types/index.d.ts +1 -0
  19. package/es/env.d.ts +25 -25
  20. package/es/shared/package.json.js +1 -1
  21. package/package.json +2 -2
@@ -1148,7 +1148,8 @@ declare const CClassification: SFCWithInstall<import("vue").DefineComponent<{
1148
1148
  isMultiple: import("vue").ComputedRef<boolean>;
1149
1149
  dynamicOptionInfos: import("vue").ComputedRef<any>;
1150
1150
  isLastPage: import("vue").ComputedRef<boolean>;
1151
- valueCp: import("vue").ComputedRef<string | number | any[]>;
1151
+ originList: import("vue").ComputedRef<any>;
1152
+ valueCp: import("vue").ComputedRef<any>;
1152
1153
  isInitRequest: import("vue").ComputedRef<boolean>;
1153
1154
  setOptionActive: (selectIds: string[]) => void;
1154
1155
  handleUpdateSelect: (value: string[] | null) => void;
@@ -612,7 +612,8 @@ declare const _default: import("vue").DefineComponent<{
612
612
  isMultiple: import("vue").ComputedRef<boolean>;
613
613
  dynamicOptionInfos: import("vue").ComputedRef<any>;
614
614
  isLastPage: import("vue").ComputedRef<boolean>;
615
- valueCp: import("vue").ComputedRef<string | number | any[]>;
615
+ originList: import("vue").ComputedRef<any>;
616
+ valueCp: import("vue").ComputedRef<any>;
616
617
  isInitRequest: import("vue").ComputedRef<boolean>;
617
618
  setOptionActive: (selectIds: string[]) => void;
618
619
  handleUpdateSelect: (value: string[] | null) => void;
@@ -906,7 +906,8 @@ declare const _default: import("vue").DefineComponent<{
906
906
  isMultiple: import("vue").ComputedRef<boolean>;
907
907
  dynamicOptionInfos: import("vue").ComputedRef<any>;
908
908
  isLastPage: import("vue").ComputedRef<boolean>;
909
- valueCp: import("vue").ComputedRef<string | number | any[]>;
909
+ originList: import("vue").ComputedRef<any>;
910
+ valueCp: import("vue").ComputedRef<any>;
910
911
  isInitRequest: import("vue").ComputedRef<boolean>;
911
912
  setOptionActive: (selectIds: string[]) => void;
912
913
  handleUpdateSelect: (value: string[] | null) => void;
@@ -175,9 +175,6 @@ declare const _default: import("vue").DefineComponent<{
175
175
  modelValue: unknown[];
176
176
  componentData: Record<string, any>;
177
177
  } & {
178
- /**
179
- * 改变弹窗大小
180
- */
181
178
  itemKey?: string | Function | undefined;
182
179
  }>, {
183
180
  move: Function;
@@ -1150,7 +1150,8 @@ declare const _default: import("vue").DefineComponent<{
1150
1150
  isMultiple: import("vue").ComputedRef<boolean>;
1151
1151
  dynamicOptionInfos: import("vue").ComputedRef<any>;
1152
1152
  isLastPage: import("vue").ComputedRef<boolean>;
1153
- valueCp: import("vue").ComputedRef<string | number | any[]>;
1153
+ originList: import("vue").ComputedRef<any>;
1154
+ valueCp: import("vue").ComputedRef<any>;
1154
1155
  isInitRequest: import("vue").ComputedRef<boolean>;
1155
1156
  setOptionActive: (selectIds: string[]) => void;
1156
1157
  handleUpdateSelect: (value: string[] | null) => void;
@@ -725,8 +725,8 @@ declare const _default: import("vue").DefineComponent<{
725
725
  showSeq: boolean;
726
726
  footerFlag: boolean;
727
727
  fieldDescribeMode: "column" | "tooltip";
728
- customColumns: FieldSetColumnItem[];
729
728
  showSearch: boolean;
729
+ customColumns: FieldSetColumnItem[];
730
730
  showSortPriority: boolean;
731
731
  showHeadFilter: boolean;
732
732
  }>;
@@ -1 +1 @@
1
- import{defineComponent as e,ref as t,computed as a,watch as l,openBlock as i,createElementBlock as n,Fragment as o,createVNode as u,unref as r,withCtx as s,createElementVNode as d,createCommentVNode as v,isRef as c,renderList as p,createBlock as f,resolveDynamicComponent as m,toDisplayString as h,renderSlot as b}from"vue";import{NModal as g,NInput as I,NCheckbox as k,NCheckboxGroup as x,NButton as y,NIcon as _,NSpace as w,NAvatar as S,NTag as j}from"naive-ui";import{AddOutline as U}from"@vicons/ionicons5";import{useState as A}from"../hooks/useState.js";import{listSort as C}from"../utils/index.js";import{union as V,unionBy as L,remove as G,isArray as T,uniqBy as z,cloneDeep as D}from"lodash-es";import{CHAT_TYPE as E}from"../constants/index.js";import{groupJoinApi as M,groupCreateApi as N}from"../api/index.js";import"trtc-sdk-v5";const O={class:"iho-chat-dialog__content iho-chat-add-wrapper"},P={key:0,class:"input-box"},$=d("span",null,"群名称:",-1),q={class:"transfer-box"},B={class:"transfer-box__left"},F={class:"user-list-box"},H={class:"transfer-box__right"},J={class:"checked-tag-box"};var K=e({__name:"ChatAdd",props:{title:{type:String,default:"添加新成员"},mode:{type:String,default:"select"},options:{type:Array},disabledIds:{type:Array,default:()=>[]},defaultValue:{type:Array}},emits:["comfirm"],setup(e,{emit:K}){const Q=e,{state:R}=A(),W=t(!1),X=t([]),Y=t([]),Z=t(""),ee=t([]),te=a((()=>V(Q.disabledIds,[R.userInfo.id]))),ae=a((()=>{var e,t;return(null==(e=R.sessionList)?void 0:e.length)?null==(t=C(R.sessionList).filter((e=>e.chatType===E.SINGLE)))?void 0:t.map((e=>({id:e.receiver,name:e.name,avatar:e.avatar}))):[]})),le=a((()=>X.value.length?X.value.map((e=>e.id)):[])),ie=a((()=>"create"===Q.mode?le.value.length<3:le.value.length<1)),ne=a({get:()=>ee.value.length===Y.value.filter((e=>!e.disabled)).length,set(e){const t=Y.value.filter((e=>!e.disabled));ee.value=e?t.map((e=>e.id)):[],e?X.value=L(X.value,t,"id"):G(X.value,(e=>t.map((e=>e.id)).includes(e.id)))}});async function oe(){switch(Q.mode){case"create":await N({creator:R.userInfo.id,memberIdSet:le.value,name:Z.value,orgId:R.orgId});break;case"join":await M({groupId:R.currentSessionItem.receiver,operator:R.userInfo.id,memberIdSet:le.value}),R.currentGroupUser.push(Y.value.filter((e=>le.value.includes(e.value))));break;default:K("comfirm",le.value)}W.value=!1}function ue(e,t){if("check"===t.actionType){const e=Y.value.find((e=>e.id===t.value));X.value.push(e)}else G(X.value,(e=>e.id===t.value))}function re(){return X.value.length>0?X.value.map((e=>u(j,{bordered:!1,closable:e.id!==R.userInfo.id,disabled:te.value.includes(e.id),onClose:()=>{return t=e.id,G(X.value,(e=>e.id===t)),void G(ee.value,(e=>e===t));var t}},{avatar:()=>u(S,{round:!0,src:e.avatar},null),default:()=>e.name}))):null}return l((()=>W.value),(e=>{if(!e)return;const t=T(Q.options)&&Q.options.length?Q.options:ae.value;Y.value=z(t,"id").map((e=>{var t;return{...e,disabled:null==(t=te.value)?void 0:t.includes(e.id)}})),T(Q.defaultValue)&&Q.defaultValue.length?X.value=D(Q.defaultValue):X.value=[]})),(t,a)=>(i(),n(o,null,[u(r(g),{preset:"dialog",title:e.title,"show-icon":!1,"auto-focus":!1,class:"iho-chat-dialog",show:W.value,"onUpdate:show":a[3]||(a[3]=e=>W.value=e),"negative-text":"取消","positive-text":"确定","positive-button-props":{disabled:r(ie)},onPositiveClick:oe},{default:s((()=>[d("div",O,["create"===e.mode?(i(),n("div",P,[$,u(r(I),{clearable:"",placeholder:"取个群名称方便后续搜索",value:Z.value,"onUpdate:value":a[0]||(a[0]=e=>Z.value=e),valueModifiers:{trim:!0}},null,8,["value"])])):v("v-if",!0),d("div",q,[d("div",B,[v(' <n-input placeholder="搜索">\r\n\t\t\t\t\t\t<template #prefix>\r\n\t\t\t\t\t\t\t<n-icon :component="SearchOutline" />\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</n-input> '),d("div",F,[u(r(k),{label:"全选",checked:r(ne),"onUpdate:checked":a[1]||(a[1]=e=>c(ne)?ne.value=e:null)},null,8,["checked"]),u(r(x),{value:ee.value,"onUpdate:value":[a[2]||(a[2]=e=>ee.value=e),ue]},{default:s((()=>[(i(!0),n(o,null,p(Y.value,(e=>(i(),f(r(k),{key:e.id,value:e.id,disabled:e.disabled},{default:s((()=>[(i(),f(m((()=>function({option:e}){return u(w,{align:"center",wrapItem:!1},{default:()=>[u(S,{src:e.avatar,round:!0,size:32},null),u("span",null,[e.name])]})}({option:e})))))])),_:2},1032,["value","disabled"])))),128))])),_:1},8,["value"])])]),d("div",H,[d("span",null,"已选择 "+h(r(le).length)+" 人",1),d("div",J,[(i(),f(m((()=>re()))))])])])])])),_:1},8,["title","show","positive-button-props"]),d("span",{class:"btn-wrapper",onClick:a[4]||(a[4]=e=>W.value=!0)},[b(t.$slots,"trigger",{},(()=>[u(r(y),{color:"#ffffff4D",class:"add-btn"},{icon:s((()=>[u(r(_),{component:r(U),color:"#fff"},null,8,["component"])])),_:1})]))])],64))}});export{K as default};
1
+ import{defineComponent as e,ref as t,computed as a,watch as l,openBlock as i,createElementBlock as n,Fragment as o,createVNode as u,unref as r,withCtx as s,createElementVNode as d,createCommentVNode as v,isRef as c,renderList as p,createBlock as f,resolveDynamicComponent as m,toDisplayString as h,renderSlot as b}from"vue";import{NModal as g,NInput as I,NCheckbox as k,NCheckboxGroup as x,NButton as y,NIcon as _,NSpace as w,NAvatar as S,NTag as j}from"naive-ui";import{AddOutline as U}from"@vicons/ionicons5";import{useState as A}from"../hooks/useState.js";import{listSort as C}from"../utils/index.js";import{union as V,unionBy as L,remove as G,isArray as T,uniqBy as z,cloneDeep as D}from"lodash-es";import{CHAT_TYPE as E}from"../constants/index.js";import{groupJoinApi as M,groupCreateApi as N}from"../api/index.js";import"trtc-sdk-v5";const O={class:"iho-chat-dialog__content iho-chat-add-wrapper"},P={key:0,class:"input-box"},$=d("span",null,"群名称:",-1),q={class:"transfer-box"},B={class:"transfer-box__left"},F={class:"user-list-box"},H={class:"transfer-box__right"},J={class:"checked-tag-box"};var K=e({__name:"ChatAdd",props:{title:{type:String,default:"添加新成员"},mode:{type:String,default:"select"},options:{type:Array},disabledIds:{type:Array,default:()=>[]},defaultValue:{type:Array}},emits:["comfirm"],setup(e,{emit:K}){const Q=e,{state:R}=A(),W=t(!1),X=t([]),Y=t([]),Z=t(""),ee=t([]),te=a((()=>V(Q.disabledIds,[R.userInfo.id]))),ae=a((()=>{var e,t;return(null==(e=R.sessionList)?void 0:e.length)?null==(t=C(R.sessionList).filter((e=>e.chatType===E.SINGLE)))?void 0:t.map((e=>({id:e.receiver,name:e.name,avatar:e.avatar}))):[]})),le=a((()=>X.value.length?X.value.map((e=>e.id)):[])),ie=a((()=>"create"===Q.mode?le.value.length<3:le.value.length<1)),ne=a({get:()=>ee.value.length===Y.value.filter((e=>!e.disabled)).length,set(e){const t=Y.value.filter((e=>!e.disabled));ee.value=e?t.map((e=>e.id)):[],e?X.value=L(X.value,t,"id"):G(X.value,(e=>t.map((e=>e.id)).includes(e.id)))}});async function oe(){switch(Q.mode){case"create":await N({creator:R.userInfo.id,memberIdSet:le.value,name:Z.value,orgId:R.orgId});break;case"join":await M({groupId:R.currentSessionItem.receiver,operator:R.userInfo.id,memberIdSet:le.value}),R.currentGroupUser.push(Y.value.filter((e=>le.value.includes(e.value))));break;default:K("comfirm",le.value)}W.value=!1}function ue(e,t){if("check"===t.actionType){const e=Y.value.find((e=>e.id===t.value));X.value.push(e)}else G(X.value,(e=>e.id===t.value))}function re(){return X.value.length>0?X.value.map((e=>u(j,{bordered:!1,closable:e.id!==R.userInfo.id,disabled:te.value.includes(e.id),onClose:()=>{return t=e.id,G(X.value,(e=>e.id===t)),void G(ee.value,(e=>e===t));var t}},{avatar:()=>u(S,{round:!0,src:e.avatar},null),default:()=>e.name}))):null}return l((()=>W.value),(e=>{if(!e)return;const t=T(Q.options)&&Q.options.length?Q.options:ae.value;Y.value=z(t,"id").map((e=>{var t;return{...e,disabled:null==(t=te.value)?void 0:t.includes(e.id)}})),T(Q.defaultValue)&&Q.defaultValue.length?X.value=D(Q.defaultValue):X.value=[]})),(t,a)=>(i(),n(o,null,[u(r(g),{preset:"dialog",title:e.title,"show-icon":!1,"auto-focus":!1,class:"iho-chat-dialog",show:W.value,"onUpdate:show":a[3]||(a[3]=e=>W.value=e),"negative-text":"取消","positive-text":"确定","positive-button-props":{disabled:r(ie)},onPositiveClick:oe},{default:s((()=>[d("div",O,["create"===e.mode?(i(),n("div",P,[$,u(r(I),{clearable:"",placeholder:"取个群名称方便后续搜索",value:Z.value,"onUpdate:value":a[0]||(a[0]=e=>Z.value=e),valueModifiers:{trim:!0}},null,8,["value"])])):v("v-if",!0),d("div",q,[d("div",B,[v(' <n-input placeholder="搜索">\n\t\t\t\t\t\t<template #prefix>\n\t\t\t\t\t\t\t<n-icon :component="SearchOutline" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</n-input> '),d("div",F,[u(r(k),{label:"全选",checked:r(ne),"onUpdate:checked":a[1]||(a[1]=e=>c(ne)?ne.value=e:null)},null,8,["checked"]),u(r(x),{value:ee.value,"onUpdate:value":[a[2]||(a[2]=e=>ee.value=e),ue]},{default:s((()=>[(i(!0),n(o,null,p(Y.value,(e=>(i(),f(r(k),{key:e.id,value:e.id,disabled:e.disabled},{default:s((()=>[(i(),f(m((()=>function({option:e}){return u(w,{align:"center",wrapItem:!1},{default:()=>[u(S,{src:e.avatar,round:!0,size:32},null),u("span",null,[e.name])]})}({option:e})))))])),_:2},1032,["value","disabled"])))),128))])),_:1},8,["value"])])]),d("div",H,[d("span",null,"已选择 "+h(r(le).length)+" 人",1),d("div",J,[(i(),f(m((()=>re()))))])])])])])),_:1},8,["title","show","positive-button-props"]),d("span",{class:"btn-wrapper",onClick:a[4]||(a[4]=e=>W.value=!0)},[b(t.$slots,"trigger",{},(()=>[u(r(y),{color:"#ffffff4D",class:"add-btn"},{icon:s((()=>[u(r(_),{component:r(U),color:"#fff"},null,8,["component"])])),_:1})]))])],64))}});export{K as default};
@@ -1 +1 @@
1
- import{defineComponent as e,ref as t,computed as n,watch as o,withDirectives as i,openBlock as s,createElementBlock as r,normalizeStyle as a,unref as c,createElementVNode as l,toDisplayString as u,createVNode as d,createCommentVNode as f,withCtx as m,Fragment as p,renderList as g,createBlock as y,createTextVNode as h,mergeProps as v,vShow as M}from"vue";import{NIcon as k,NPopover as C,NButton as _,NTooltip as x,NUpload as I,NUploadTrigger as b}from"naive-ui";import w from"./ChatAdd.vue.js";import{useState as T}from"../hooks/useState.js";import{useSession as z}from"../hooks/useSession.js";import{MESSAGE_TYPE as E,AV_STATUS as j}from"../constants/index.js";import"trtc-sdk-v5";import{simplifyMessage as R}from"../utils/index.js";import{emojis as q}from"../utils/emoji.js";import{uploadFileApi as L}from"../api/index.js";import{CloseCircleOutline as D,CallOutline as O,VideocamOutline as V}from"@vicons/ionicons5";import{xor as A,cloneDeep as F}from"lodash-es";import{uuidGenerator as K}from"../../../../shared/utils/index.js";const U={key:0,class:"reference-content-box"},S={class:"reference-content"},G=["innerHTML"],H={class:"tool-box"},N=l("i",{class:"chat--iconfont chat--icon-face"},null,-1),J={class:"emoji-box"},X=l("span",null,"默认表情",-1),B={class:"list-box"},P=["src"],Q=l("i",{class:"chat--iconfont chat--icon-good"},null,-1),W=l("i",{class:"chat--iconfont chat--icon-image"},null,-1),Y=l("i",{class:"chat--iconfont chat--icon-folder"},null,-1),Z={class:"btn-box"},$=l("span",{class:"tip"},"Enter 发送, Shift + Enter 换行",-1);var ee=e({__name:"ChatFooter",setup(e){const ee=t(),te=t(""),{state:ne,sendMessage:oe}=T(),{isGroupChat:ie}=z(ne),se=t(!1),re=n((()=>({options:ne.currentGroupUser,defaultValue:[ne.userInfo]})));function ae(e,t=[]){const n=K(),o=[],i=t.length>0;ne.showVideo||ne.showMultipleVideo||(i?(o.push(...A(t,[ne.userInfo.id])),Object.assign(ne.currentAVMsg,{callMode:"call",checkedIds:o,strRoomId:n,chatMessageType:e}),ne.showMultipleVideo=!0):oe({content:{chatMessageType:e,msg:"",avStatus:j.IN_CALL}}))}function ce(e){["Enter"].includes(e.key)&&(function(e){return e.altKey||e.ctrlKey||e.metaKey||e.shiftKey}(e)||(e.preventDefault(),de()))}function le(){var e,t;te.value=(null==(t=null==(e=ee.value)?void 0:e.innerText)?void 0:t.trim())||""}async function ue(e,t){const{file:n,name:o}=e.file,i=new FormData;i.append("sender",ne.userInfo.id),i.append("file",n);const s=await L(i);if(!s)return console.log("上传失败");fe({chatMessageType:t,msg:t===E.FILE?o:s,url:s})}function de(){if(!(te.value.length>2e3))return te.value?void fe({msg:te.value}):console.log("请输入内容");console.log("请控制在2000字以内")}async function fe(e){const{chatMessageType:t=E.TEXT,msg:n,url:o}=e,i={msg:n,chatMessageType:t};t===E.FILE&&(i.fileUrl=o),[E.TEXT,E.BLEND].includes(t)&&(ee.value.innerHTML="",te.value=""),ne.currentReferenceMsg&&(i.referenceContent=F(ne.currentReferenceMsg),ne.currentReferenceMsg=null),oe({content:i})}return o((()=>ne.currentReferenceMsg),(e=>{var t;e&&(null==(t=ee.value)||t.focus())})),(e,t)=>i((s(),r("section",{class:"chat-footer",style:a({cursor:c(ne).id?"default":"not-allowed"})},[c(ne).currentReferenceMsg?(s(),r("div",U,[l("div",S,[l("span",null,u(c(ne).currentReferenceMsg.senderName)+":",1),l("pre",{innerHTML:c(R)(c(ne).currentReferenceMsg.content)},null,8,G)]),d(c(k),{component:c(D),onClick:t[0]||(t[0]=()=>c(ne).currentReferenceMsg=null)},null,8,["component"])])):f("v-if",!0),l("div",H,[d(c(C),{show:se.value,"onUpdate:show":t[1]||(t[1]=e=>se.value=e),placement:"top",trigger:"click","show-arrow":!1,"display-directive":"show",delay:0},{trigger:m((()=>[d(c(_),{quaternary:"",size:"tiny"},{icon:m((()=>[N])),_:1})])),default:m((()=>[l("div",J,[f(' <span>最近使用</span>\r\n\t\t\t\t\t<div class="list-box">\r\n\t\t\t\t\t\t<template v-for="(img, index) in images" :key="index">\r\n\t\t\t\t\t\t\t<i>\r\n\t\t\t\t\t\t\t\t<img :src="img" />\r\n\t\t\t\t\t\t\t</i>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</div> '),X,l("div",B,[(s(!0),r(p,null,g(c(q).default,(([e,t])=>(s(),y(c(x),{key:e,"show-arrow":!1,trigger:"hover"},{trigger:m((()=>[d(c(_),{quaternary:"",size:"tiny",onClick:()=>function(e){se.value=!1,fe({chatMessageType:E.EMOJI,msg:e})}(e)},{icon:m((()=>[l("img",{src:t},null,8,P)])),_:2},1032,["onClick"])])),default:m((()=>[h(" "+u(e),1)])),_:2},1024)))),128))])])])),_:1},8,["show"]),d(c(_),{quaternary:"",size:"tiny",onClick:t[2]||(t[2]=()=>fe({chatMessageType:c(E).EMOJI,msg:0}))},{icon:m((()=>[Q])),_:1}),d(c(I),{abstract:"",multiple:"",accept:"image/*",onChange:t[3]||(t[3]=e=>ue(e,c(E).IMAGE))},{default:m((()=>[d(c(b),{abstract:""},{default:m((({handleClick:e})=>[d(c(_),{quaternary:"",size:"tiny",onClick:e},{icon:m((()=>[W])),_:2},1032,["onClick"])])),_:1})])),_:1}),d(c(I),{abstract:"",multiple:"",accept:"video/*,.pdf,.doc.docx,,.zip,.xlsx,.txt",onChange:t[4]||(t[4]=e=>ue(e,c(E).FILE))},{default:m((()=>[d(c(b),{abstract:""},{default:m((({handleClick:e})=>[d(c(_),{quaternary:"",size:"tiny",onClick:e},{icon:m((()=>[Y])),_:2},1032,["onClick"])])),_:1})])),_:1}),c(ie)?(s(),r(p,{key:0},[d(w,v(c(re),{onComfirm:t[5]||(t[5]=e=>ae(c(E).AUDIO,e))}),{trigger:m((()=>[d(c(_),{quaternary:"",size:"tiny"},{icon:m((()=>[d(c(k),{size:"18",component:c(O)},null,8,["component"])])),_:1})])),_:1},16),d(w,v(c(re),{onComfirm:t[6]||(t[6]=e=>ae(c(E).VIDEO,e))}),{trigger:m((()=>[d(c(_),{quaternary:"",size:"tiny"},{icon:m((()=>[d(c(k),{size:"20",component:c(V)},null,8,["component"])])),_:1})])),_:1},16)],64)):(s(),r(p,{key:1},[d(c(_),{quaternary:"",size:"tiny",onClick:t[7]||(t[7]=()=>ae(c(E).AUDIO))},{icon:m((()=>[d(c(k),{size:"18",component:c(O)},null,8,["component"])])),_:1}),d(c(_),{quaternary:"",size:"tiny",onClick:t[8]||(t[8]=()=>ae(c(E).VIDEO))},{icon:m((()=>[d(c(k),{size:"20",component:c(V)},null,8,["component"])])),_:1})],64))]),i(l("div",{ref_key:"inputRef",ref:ee,class:"input-box",contenteditable:"",onKeydown:ce,onInput:le},null,544),[[M,c(ne).id]]),l("div",Z,[$,d(c(_),{type:"primary",round:"",disabled:!te.value,onClick:de},{default:m((()=>[h("发送")])),_:1},8,["disabled"])])],4)),[[M,c(ne).id]])}});export{ee as default};
1
+ import{defineComponent as e,ref as t,computed as n,watch as o,withDirectives as i,openBlock as s,createElementBlock as r,normalizeStyle as a,unref as c,createElementVNode as l,toDisplayString as u,createVNode as d,createCommentVNode as f,withCtx as m,Fragment as p,renderList as g,createBlock as y,createTextVNode as h,mergeProps as v,vShow as M}from"vue";import{NIcon as k,NPopover as C,NButton as _,NTooltip as x,NUpload as I,NUploadTrigger as b}from"naive-ui";import w from"./ChatAdd.vue.js";import{useState as T}from"../hooks/useState.js";import{useSession as z}from"../hooks/useSession.js";import{MESSAGE_TYPE as E,AV_STATUS as j}from"../constants/index.js";import"trtc-sdk-v5";import{simplifyMessage as R}from"../utils/index.js";import{emojis as q}from"../utils/emoji.js";import{uploadFileApi as L}from"../api/index.js";import{CloseCircleOutline as D,CallOutline as O,VideocamOutline as V}from"@vicons/ionicons5";import{xor as A,cloneDeep as F}from"lodash-es";import{uuidGenerator as K}from"../../../../shared/utils/index.js";const U={key:0,class:"reference-content-box"},S={class:"reference-content"},G=["innerHTML"],H={class:"tool-box"},N=l("i",{class:"chat--iconfont chat--icon-face"},null,-1),J={class:"emoji-box"},X=l("span",null,"默认表情",-1),B={class:"list-box"},P=["src"],Q=l("i",{class:"chat--iconfont chat--icon-good"},null,-1),W=l("i",{class:"chat--iconfont chat--icon-image"},null,-1),Y=l("i",{class:"chat--iconfont chat--icon-folder"},null,-1),Z={class:"btn-box"},$=l("span",{class:"tip"},"Enter 发送, Shift + Enter 换行",-1);var ee=e({__name:"ChatFooter",setup(e){const ee=t(),te=t(""),{state:ne,sendMessage:oe}=T(),{isGroupChat:ie}=z(ne),se=t(!1),re=n((()=>({options:ne.currentGroupUser,defaultValue:[ne.userInfo]})));function ae(e,t=[]){const n=K(),o=[],i=t.length>0;ne.showVideo||ne.showMultipleVideo||(i?(o.push(...A(t,[ne.userInfo.id])),Object.assign(ne.currentAVMsg,{callMode:"call",checkedIds:o,strRoomId:n,chatMessageType:e}),ne.showMultipleVideo=!0):oe({content:{chatMessageType:e,msg:"",avStatus:j.IN_CALL}}))}function ce(e){["Enter"].includes(e.key)&&(function(e){return e.altKey||e.ctrlKey||e.metaKey||e.shiftKey}(e)||(e.preventDefault(),de()))}function le(){var e,t;te.value=(null==(t=null==(e=ee.value)?void 0:e.innerText)?void 0:t.trim())||""}async function ue(e,t){const{file:n,name:o}=e.file,i=new FormData;i.append("sender",ne.userInfo.id),i.append("file",n);const s=await L(i);if(!s)return console.log("上传失败");fe({chatMessageType:t,msg:t===E.FILE?o:s,url:s})}function de(){if(!(te.value.length>2e3))return te.value?void fe({msg:te.value}):console.log("请输入内容");console.log("请控制在2000字以内")}async function fe(e){const{chatMessageType:t=E.TEXT,msg:n,url:o}=e,i={msg:n,chatMessageType:t};t===E.FILE&&(i.fileUrl=o),[E.TEXT,E.BLEND].includes(t)&&(ee.value.innerHTML="",te.value=""),ne.currentReferenceMsg&&(i.referenceContent=F(ne.currentReferenceMsg),ne.currentReferenceMsg=null),oe({content:i})}return o((()=>ne.currentReferenceMsg),(e=>{var t;e&&(null==(t=ee.value)||t.focus())})),(e,t)=>i((s(),r("section",{class:"chat-footer",style:a({cursor:c(ne).id?"default":"not-allowed"})},[c(ne).currentReferenceMsg?(s(),r("div",U,[l("div",S,[l("span",null,u(c(ne).currentReferenceMsg.senderName)+":",1),l("pre",{innerHTML:c(R)(c(ne).currentReferenceMsg.content)},null,8,G)]),d(c(k),{component:c(D),onClick:t[0]||(t[0]=()=>c(ne).currentReferenceMsg=null)},null,8,["component"])])):f("v-if",!0),l("div",H,[d(c(C),{show:se.value,"onUpdate:show":t[1]||(t[1]=e=>se.value=e),placement:"top",trigger:"click","show-arrow":!1,"display-directive":"show",delay:0},{trigger:m((()=>[d(c(_),{quaternary:"",size:"tiny"},{icon:m((()=>[N])),_:1})])),default:m((()=>[l("div",J,[f(' <span>最近使用</span>\n\t\t\t\t\t<div class="list-box">\n\t\t\t\t\t\t<template v-for="(img, index) in images" :key="index">\n\t\t\t\t\t\t\t<i>\n\t\t\t\t\t\t\t\t<img :src="img" />\n\t\t\t\t\t\t\t</i>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</div> '),X,l("div",B,[(s(!0),r(p,null,g(c(q).default,(([e,t])=>(s(),y(c(x),{key:e,"show-arrow":!1,trigger:"hover"},{trigger:m((()=>[d(c(_),{quaternary:"",size:"tiny",onClick:()=>function(e){se.value=!1,fe({chatMessageType:E.EMOJI,msg:e})}(e)},{icon:m((()=>[l("img",{src:t},null,8,P)])),_:2},1032,["onClick"])])),default:m((()=>[h(" "+u(e),1)])),_:2},1024)))),128))])])])),_:1},8,["show"]),d(c(_),{quaternary:"",size:"tiny",onClick:t[2]||(t[2]=()=>fe({chatMessageType:c(E).EMOJI,msg:0}))},{icon:m((()=>[Q])),_:1}),d(c(I),{abstract:"",multiple:"",accept:"image/*",onChange:t[3]||(t[3]=e=>ue(e,c(E).IMAGE))},{default:m((()=>[d(c(b),{abstract:""},{default:m((({handleClick:e})=>[d(c(_),{quaternary:"",size:"tiny",onClick:e},{icon:m((()=>[W])),_:2},1032,["onClick"])])),_:1})])),_:1}),d(c(I),{abstract:"",multiple:"",accept:"video/*,.pdf,.doc.docx,,.zip,.xlsx,.txt",onChange:t[4]||(t[4]=e=>ue(e,c(E).FILE))},{default:m((()=>[d(c(b),{abstract:""},{default:m((({handleClick:e})=>[d(c(_),{quaternary:"",size:"tiny",onClick:e},{icon:m((()=>[Y])),_:2},1032,["onClick"])])),_:1})])),_:1}),c(ie)?(s(),r(p,{key:0},[d(w,v(c(re),{onComfirm:t[5]||(t[5]=e=>ae(c(E).AUDIO,e))}),{trigger:m((()=>[d(c(_),{quaternary:"",size:"tiny"},{icon:m((()=>[d(c(k),{size:"18",component:c(O)},null,8,["component"])])),_:1})])),_:1},16),d(w,v(c(re),{onComfirm:t[6]||(t[6]=e=>ae(c(E).VIDEO,e))}),{trigger:m((()=>[d(c(_),{quaternary:"",size:"tiny"},{icon:m((()=>[d(c(k),{size:"20",component:c(V)},null,8,["component"])])),_:1})])),_:1},16)],64)):(s(),r(p,{key:1},[d(c(_),{quaternary:"",size:"tiny",onClick:t[7]||(t[7]=()=>ae(c(E).AUDIO))},{icon:m((()=>[d(c(k),{size:"18",component:c(O)},null,8,["component"])])),_:1}),d(c(_),{quaternary:"",size:"tiny",onClick:t[8]||(t[8]=()=>ae(c(E).VIDEO))},{icon:m((()=>[d(c(k),{size:"20",component:c(V)},null,8,["component"])])),_:1})],64))]),i(l("div",{ref_key:"inputRef",ref:ee,class:"input-box",contenteditable:"",onKeydown:ce,onInput:le},null,544),[[M,c(ne).id]]),l("div",Z,[$,d(c(_),{type:"primary",round:"",disabled:!te.value,onClick:de},{default:m((()=>[h("发送")])),_:1},8,["disabled"])])],4)),[[M,c(ne).id]])}});export{ee as 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 a,unref as r,normalizeStyle as c,createVNode as l,withCtx as m,Fragment as u,renderList as p,toDisplayString as d,createCommentVNode as f,createBlock as v,createElementVNode as y,withModifiers as g}from"vue";import{NImageGroup as T,NAvatar as h,NImage as M,NIcon as k,NButtonGroup as _,NButton as I}from"naive-ui";import{format as S}from"date-fns";import{getHistoryRecordApi as x,readMessageApi as j}from"../api/index.js";import{useState as E}from"../hooks/useState.js";import{useSession as L}from"../hooks/useSession.js";import{MESSAGE_TYPE as A}from"../constants/index.js";import"trtc-sdk-v5";import{isAudioOrVideoMessage as C,simplifyMessage as b,getAVTime as w,downloadFile as H}from"../utils/index.js";import{first as z,last as D}from"lodash-es";import O from"./PersonProfile.vue.js";import P from"./MessageTemplate.vue.js";import{emojis as N}from"../utils/emoji.js";import U from"./ContextMenu.js";import{useScrollLoading as q}from"../hooks/useScrollLoading.js";import{CallOutline as R,VideocamOutline as G,ChatbubbleEllipsesOutline as J}from"@vicons/ionicons5";const K={key:0,class:"time"},F={key:2,class:"message-box"},X={key:0,class:"content-box"},B={class:"name-box"},Q=["data-time"],V=["onContextmenu"],W={key:0,class:"reference-content"},Y=["innerHTML"],Z=["innerHTML"],$=["src"],ee={style:{"margin-left":"8px"}},te=["href","onClick"];var ne=e({__name:"ChatMain",setup(e){const ne=t(),{state:se,setMsgList:oe}=E(),{setCurrentSessionItem:ie,isGroupChat:ae}=L(se),re=t(),ce=t(!1),le=t({left:0,top:0}),me=t(),ue={page:0,hasMore:!0,lastSendTime:S(new Date,"yyyy-MM-dd HH:mm:ss")},pe=n((()=>({"--c-tip-top":ae.value?"1px":"-20px","--c-tip-gap":ae.value?"10px":"0px"})));async function de(){try{if(!ue.hasMore)return;ue.page++;const e=await x({sessionKey:se.currentSessionItem.sessionKey,page:ue.page,lastSendTime:ue.lastSendTime});if(!Array.isArray(e)||0===e.length)return ue.hasMore=!1,console.log("接口返回不是一个数组,或者没有更多消息了");const t=z(e).id;ue.lastSendTime=D(e).sendTime,oe(ue.page>1?[...e,...se.msgList]:e),1===ue.page&&se.currentSessionItem.unreadNum&&(await j({chatType:se.currentSessionItem.chatType,messageIdSet:[t],receiver:se.userInfo.id,sender:se.currentSessionItem.receiver}),ie({unreadNum:0}))}catch(e){console.log(e)}}function fe(e){const{chatMessageType:t,messageTemplate:n}=e.content;return t!==A.TEMPLATE||!!n}function ve(e,t){var n,s;const{chatMessageType:o,messageTemplate:i}=e.content;if(o===A.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 ye(e){var t,n;const{chatMessageType:s,messageTemplate:o}=e;return s===A.TEMPLATE&&3==(null==(n=null==(t=null==o?void 0:o.setting)?void 0:t.style)?void 0:n.id)}function ge(e,t){var n;const s=new Date(e.sendTime).getTime(),o=null==(n=se.msgList[t+1])?void 0:n.sendTime;if(o){return s-new Date(o).getTime()>3e5}return!0}return q(ne,(()=>{de()}),"top",(()=>{ce.value=!1})),s((()=>se.id),(e=>{e&&(Object.assign(ue,{page:0,hasMore:!0,lastSendTime:S(new Date,"yyyy-MM-dd HH:mm:ss")}),de())}),{immediate:!0}),s((()=>se.isAppendMsg),(e=>{e&&(oe([...se.msgList,se.currentMsg]),se.isAppendMsg=!1,async function(){var e,t,n;const s=null!=(t=null==(e=ne.value)?void 0:e.scrollHeight)?t:0;null==(n=ne.value)||n.scrollTo({top:s,behavior:"auto"})}())}),{immediate:!0}),(e,t)=>(o(),i("div",{class:a(["chat-main",{"home-bg":!r(se).id}]),ref_key:"chatMainRef",ref:ne,style:c(r(pe))},[l(r(T),{"show-toolbar-tooltip":""},{default:m((()=>[(o(!0),i(u,null,p(r(se).msgList,((e,t)=>(o(),i(u,{key:e.id},[fe(e)?(o(),i("div",{key:0,class:a(["message-item",{"message-item--mine":e.sender==r(se).userInfo.id}])},[ge(e,t)?(o(),i("p",K,d(e.__sendTime),1)):f("v-if",!0),ve(e,"system")?(o(),v(P,{key:1,data:e},null,8,["data"])):(o(),i("div",F,[l(O,{"user-id":e.sender},{trigger:m((()=>[l(r(h),{round:"",size:38,src:e.senderAvatar},null,8,["src"])])),_:2},1032,["user-id"]),e.content?(o(),i("div",X,[y("div",B,[y("span",{class:"name","data-time":e.__time},d(r(ae)?e.senderName:""),9,Q)]),y("div",{class:a(["content",{emoji:e.content.chatMessageType===r(A).EMOJI,template:e.content.chatMessageType===r(A).TEMPLATE,"template--3":ye(e.content),"audio-video":r(C)(e.content)}]),onContextmenu:g((t=>async function(e,t){}(0,e.id)),["prevent"])},[e.content.chatMessageType===r(A).TEXT?(o(),i(u,{key:0},[e.content.referenceContent?(o(),i("div",W,[y("span",null,d(e.content.referenceContent.senderName)+":",1),y("pre",{innerHTML:r(b)(e.content.referenceContent.content)},null,8,Y)])):f("v-if",!0),y("pre",{innerHTML:e.__content},null,8,Z)],64)):f("v-if",!0),e.content.chatMessageType===r(A).EMOJI?(o(),i("img",{key:1,src:r(N).findEmoji(e.__content)},null,8,$)):f("v-if",!0),ve(e,"template")?(o(),v(P,{key:2,data:e},null,8,["data"])):f("v-if",!0),e.content.chatMessageType===r(A).IMAGE?(o(),v(r(M),{key:3,width:"240",src:e.__content},null,8,["src"])):f("v-if",!0),r(C)(e.content)?(o(),i(u,{key:4},[l(r(k),{class:a({"is-audio":e.content.chatMessageType===r(A).AUDIO}),component:e.content.chatMessageType===r(A).AUDIO?r(R):r(G)},null,8,["class","component"]),y("span",ee,d(r(w)(e.__content)),1)],64)):f("v-if",!0),e.content.chatMessageType===r(A).FILE?(o(),i("a",{key:5,href:e.content.fileUrl,onClick:g((()=>r(H)(e.content.fileUrl,e.__content)),["prevent"])},d(e.__content),9,te)):f("v-if",!0),l(r(_),{class:"quick-menu"},{default:m((()=>[f(' <n-button quaternary size="tiny">\r\n\t\t\t\t\t\t\t\t\t\t\t<template #icon>\r\n\t\t\t\t\t\t\t\t\t\t\t\t<i class="chat--iconfont chat--icon-face" />\r\n\t\t\t\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t\t\t\t</n-button> '),l(r(I),{quaternary:"",size:"tiny",onClick:()=>{return t=e,se.currentReferenceMsg=t,void Object.assign(se.currentReferenceMsg,{chatType:se.currentSessionItem.chatType,receiver:se.currentSessionItem.receiver,receiverAvatar:se.currentSessionItem.avatar,receiverName:se.currentSessionItem.name});var t}},{icon:m((()=>[l(r(k),{size:"17",component:r(J)},null,8,["component"])])),_:2},1032,["onClick"]),f(' <n-button quaternary size="tiny">\r\n\t\t\t\t\t\t\t\t\t\t\t<template #icon>\r\n\t\t\t\t\t\t\t\t\t\t\t\t<n-icon :component="EllipsisHorizontal" />\r\n\t\t\t\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t\t\t\t</n-button> ')])),_:2},1024)],42,V)])):f("v-if",!0)]))],2)):f("v-if",!0)],64)))),128))])),_:1}),l(r(U),{ref_key:"contextmenuRef",ref:re,show:ce.value,"onUpdate:show":t[0]||(t[0]=e=>ce.value=e),position:le.value,"msg-id":me.value},null,8,["show","position","msg-id"])],6))}});export{ne as default};
1
+ import{defineComponent as e,ref as t,computed as n,watch as s,openBlock as o,createElementBlock as i,normalizeClass as a,unref as r,normalizeStyle as c,createVNode as l,withCtx as m,Fragment as u,renderList as p,toDisplayString as d,createCommentVNode as f,createBlock as v,createElementVNode as y,withModifiers as g}from"vue";import{NImageGroup as T,NAvatar as h,NImage as M,NIcon as k,NButtonGroup as _,NButton as I}from"naive-ui";import{format as S}from"date-fns";import{getHistoryRecordApi as x,readMessageApi as j}from"../api/index.js";import{useState as E}from"../hooks/useState.js";import{useSession as L}from"../hooks/useSession.js";import{MESSAGE_TYPE as A}from"../constants/index.js";import"trtc-sdk-v5";import{isAudioOrVideoMessage as C,simplifyMessage as b,getAVTime as w,downloadFile as H}from"../utils/index.js";import{first as z,last as D}from"lodash-es";import O from"./PersonProfile.vue.js";import P from"./MessageTemplate.vue.js";import{emojis as N}from"../utils/emoji.js";import U from"./ContextMenu.js";import{useScrollLoading as q}from"../hooks/useScrollLoading.js";import{CallOutline as R,VideocamOutline as G,ChatbubbleEllipsesOutline as J}from"@vicons/ionicons5";const K={key:0,class:"time"},F={key:2,class:"message-box"},X={key:0,class:"content-box"},B={class:"name-box"},Q=["data-time"],V=["onContextmenu"],W={key:0,class:"reference-content"},Y=["innerHTML"],Z=["innerHTML"],$=["src"],ee={style:{"margin-left":"8px"}},te=["href","onClick"];var ne=e({__name:"ChatMain",setup(e){const ne=t(),{state:se,setMsgList:oe}=E(),{setCurrentSessionItem:ie,isGroupChat:ae}=L(se),re=t(),ce=t(!1),le=t({left:0,top:0}),me=t(),ue={page:0,hasMore:!0,lastSendTime:S(new Date,"yyyy-MM-dd HH:mm:ss")},pe=n((()=>({"--c-tip-top":ae.value?"1px":"-20px","--c-tip-gap":ae.value?"10px":"0px"})));async function de(){try{if(!ue.hasMore)return;ue.page++;const e=await x({sessionKey:se.currentSessionItem.sessionKey,page:ue.page,lastSendTime:ue.lastSendTime});if(!Array.isArray(e)||0===e.length)return ue.hasMore=!1,console.log("接口返回不是一个数组,或者没有更多消息了");const t=z(e).id;ue.lastSendTime=D(e).sendTime,oe(ue.page>1?[...e,...se.msgList]:e),1===ue.page&&se.currentSessionItem.unreadNum&&(await j({chatType:se.currentSessionItem.chatType,messageIdSet:[t],receiver:se.userInfo.id,sender:se.currentSessionItem.receiver}),ie({unreadNum:0}))}catch(e){console.log(e)}}function fe(e){const{chatMessageType:t,messageTemplate:n}=e.content;return t!==A.TEMPLATE||!!n}function ve(e,t){var n,s;const{chatMessageType:o,messageTemplate:i}=e.content;if(o===A.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 ye(e){var t,n;const{chatMessageType:s,messageTemplate:o}=e;return s===A.TEMPLATE&&3==(null==(n=null==(t=null==o?void 0:o.setting)?void 0:t.style)?void 0:n.id)}function ge(e,t){var n;const s=new Date(e.sendTime).getTime(),o=null==(n=se.msgList[t+1])?void 0:n.sendTime;if(o){return s-new Date(o).getTime()>3e5}return!0}return q(ne,(()=>{de()}),"top",(()=>{ce.value=!1})),s((()=>se.id),(e=>{e&&(Object.assign(ue,{page:0,hasMore:!0,lastSendTime:S(new Date,"yyyy-MM-dd HH:mm:ss")}),de())}),{immediate:!0}),s((()=>se.isAppendMsg),(e=>{e&&(oe([...se.msgList,se.currentMsg]),se.isAppendMsg=!1,async function(){var e,t,n;const s=null!=(t=null==(e=ne.value)?void 0:e.scrollHeight)?t:0;null==(n=ne.value)||n.scrollTo({top:s,behavior:"auto"})}())}),{immediate:!0}),(e,t)=>(o(),i("div",{class:a(["chat-main",{"home-bg":!r(se).id}]),ref_key:"chatMainRef",ref:ne,style:c(r(pe))},[l(r(T),{"show-toolbar-tooltip":""},{default:m((()=>[(o(!0),i(u,null,p(r(se).msgList,((e,t)=>(o(),i(u,{key:e.id},[fe(e)?(o(),i("div",{key:0,class:a(["message-item",{"message-item--mine":e.sender==r(se).userInfo.id}])},[ge(e,t)?(o(),i("p",K,d(e.__sendTime),1)):f("v-if",!0),ve(e,"system")?(o(),v(P,{key:1,data:e},null,8,["data"])):(o(),i("div",F,[l(O,{"user-id":e.sender},{trigger:m((()=>[l(r(h),{round:"",size:38,src:e.senderAvatar},null,8,["src"])])),_:2},1032,["user-id"]),e.content?(o(),i("div",X,[y("div",B,[y("span",{class:"name","data-time":e.__time},d(r(ae)?e.senderName:""),9,Q)]),y("div",{class:a(["content",{emoji:e.content.chatMessageType===r(A).EMOJI,template:e.content.chatMessageType===r(A).TEMPLATE,"template--3":ye(e.content),"audio-video":r(C)(e.content)}]),onContextmenu:g((t=>async function(e,t){}(0,e.id)),["prevent"])},[e.content.chatMessageType===r(A).TEXT?(o(),i(u,{key:0},[e.content.referenceContent?(o(),i("div",W,[y("span",null,d(e.content.referenceContent.senderName)+":",1),y("pre",{innerHTML:r(b)(e.content.referenceContent.content)},null,8,Y)])):f("v-if",!0),y("pre",{innerHTML:e.__content},null,8,Z)],64)):f("v-if",!0),e.content.chatMessageType===r(A).EMOJI?(o(),i("img",{key:1,src:r(N).findEmoji(e.__content)},null,8,$)):f("v-if",!0),ve(e,"template")?(o(),v(P,{key:2,data:e},null,8,["data"])):f("v-if",!0),e.content.chatMessageType===r(A).IMAGE?(o(),v(r(M),{key:3,width:"240",src:e.__content},null,8,["src"])):f("v-if",!0),r(C)(e.content)?(o(),i(u,{key:4},[l(r(k),{class:a({"is-audio":e.content.chatMessageType===r(A).AUDIO}),component:e.content.chatMessageType===r(A).AUDIO?r(R):r(G)},null,8,["class","component"]),y("span",ee,d(r(w)(e.__content)),1)],64)):f("v-if",!0),e.content.chatMessageType===r(A).FILE?(o(),i("a",{key:5,href:e.content.fileUrl,onClick:g((()=>r(H)(e.content.fileUrl,e.__content)),["prevent"])},d(e.__content),9,te)):f("v-if",!0),l(r(_),{class:"quick-menu"},{default:m((()=>[f(' <n-button quaternary size="tiny">\n\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<i class="chat--iconfont chat--icon-face" />\n\t\t\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t\t\t</n-button> '),l(r(I),{quaternary:"",size:"tiny",onClick:()=>{return t=e,se.currentReferenceMsg=t,void Object.assign(se.currentReferenceMsg,{chatType:se.currentSessionItem.chatType,receiver:se.currentSessionItem.receiver,receiverAvatar:se.currentSessionItem.avatar,receiverName:se.currentSessionItem.name});var t}},{icon:m((()=>[l(r(k),{size:"17",component:r(J)},null,8,["component"])])),_:2},1032,["onClick"]),f(' <n-button quaternary size="tiny">\n\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<n-icon :component="EllipsisHorizontal" />\n\t\t\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t\t\t</n-button> ')])),_:2},1024)],42,V)])):f("v-if",!0)]))],2)):f("v-if",!0)],64)))),128))])),_:1}),l(r(U),{ref_key:"contextmenuRef",ref:re,show:ce.value,"onUpdate:show":t[0]||(t[0]=e=>ce.value=e),position:le.value,"msg-id":me.value},null,8,["show","position","msg-id"])],6))}});export{ne 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 v,createVNode as f,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 I,NFormItem as B,NButton as J}from"naive-ui";const V=["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),{noDataState:ee,setNoData:oe,resetNodata:te}=b(),ae=F(),{showEvatip:ne,isFormBoldOpen:se,scaleStyle:ie,handlePageClass:le,isShowItem:re,handleShowQuestionNumber:me,hasScore:ce,isPreviewScale:ue,showEvaluateEntry:de,showEvaluateCoundownPage:pe,showScaleFooter:ve,isCancelBtn:fe,isSaveBtn:ge,showEvaluateLabel:he,showAnswerParse:ke,propsConfig:ye,evaluatePageProps:we,evaluateCountdownProps:Se,isEvaluetaResSituation:be,disableEdit:Ce,desStart:De,desEnd:Ee,desContent:je}=E(K,X,{query:ae}),{initForm:_e}=j(K,X,z,{query:ae}),{submitMethod:xe,onSubmitData:Fe,onSubmitForm:Pe,handleScoreJson:qe}=_(K,X,z,{query:ae,formRef:Z,countdownDom:Y}),{nextLogicEvent:Le,handleDynamicDataRelation:Ne}=q(K,X),{scaleChange:Re,labelChange:Ae,vodFileList:Me,writeGuage:Oe,closeEvaluateCountdown:Te,showEvaTipModal:Ie}=x(K,X,z,{nextLogicEvent:Le,handleDynamicDataRelation:Ne,isPreviewScale:ue,submitMethod:xe,isEvaluetaResSituation:be,handleScoreJson:qe,disableEdit:Ce});(()=>{let{id:e}=ae;e&&(X.shareId=e)})();const Be=e=>{try{te(),_e(e)}catch(e){console.log(e,"--error"),X.spinning=!1,X.hasFrontAddress=!1,oe(!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((()=>{_e(o)}))}),{immediate:!0});const Je=L.debounce(Fe,300),Ve=()=>{z("onCloseSetting")};return C({getScaleData:()=>({...X}),onSubmitForm:Pe,cancel:Ve}),(e,o)=>(s(),i("div",{class:l(["c-scale-view-block",{"c-scale-view-block-hasfooter":r(ve)}])},[m(' <template v-if="state.spinning">\r\n <n-spin :show="state.spinning" description="加载中"></n-spin>\r\n </template> '),X.spinning||X.hasFrontAddress?m("v-if",!0):(s(),i(c,{key:0},[r(ee).noData?(s(),u(N,{key:0,noDataImg:r(ee).noDataImg,noDataTip:r(ee).noDataTip},null,8,["noDataImg","noDataTip"])):(s(),i(c,{key:1},[r(de)?(s(),u(A,d({key:0},r(we),{onWriteGuage:r(Oe)}),null,16,["onWriteGuage"])):(s(),i(c,{key:1},[r(pe)?(s(),u(R,d({key:0,ref_key:"countdownDom",ref:Y},r(Se),{onCloseEvaluateCountdown:r(Te)}),null,16,["onCloseEvaluateCountdown"])):m("v-if",!0),p("div",{class:l(["scale-container",{"scale-container-nopadding":r(le),"scale-container-hasfooter":r(ve)}]),style:v(r(ie))},[r(ce)?(s(),u(r(O),{key:0,config:X.config,maxScore:X.maxScore},null,8,["config","maxScore"])):m("v-if",!0),r(De)?(s(),u(T,{key:1,content:r(je)},null,8,["content"])):m("v-if",!0),f(r(I),{ref_key:"formRef",ref:Z,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(re)(e)?(s(),u(r(B),{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(se)(e)}),innerHTML:r(me)(e)},null,10,V),r(se)(e)?(s(),i("span",G,"(必填)")):m("v-if",!0),r(he)(e)?(s(),i("span",W,k(r(he)(e)),1)):m("v-if",!0),r(ne)(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(ye)(e,o),{key:(e.id||e.seq)+o,onScaleChange:r(Re),onOnChange:o=>r(Ae)(o,e),onVodFileList:r(Me)}),null,16,["onScaleChange","onOnChange","onVodFileList"])),r(ke)(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(Ee)?(s(),u(T,{key:2,content:r(je)},null,8,["content"])):m("v-if",!0)],6),r(ve)?(s(),i("div",$,[m(" 分享的链接 隐藏取消按钮 "),r(fe)?(s(),u(r(J),{key:0,onClick:Ve},{default:g((()=>[y("取消")])),_:1})):m("v-if",!0),r(ge)?(s(),u(r(J),{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
+ 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 v,createVNode as f,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 I,NFormItem as B,NButton as J}from"naive-ui";const V=["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),{noDataState:ee,setNoData:oe,resetNodata:te}=b(),ae=F(),{showEvatip:ne,isFormBoldOpen:se,scaleStyle:ie,handlePageClass:le,isShowItem:re,handleShowQuestionNumber:me,hasScore:ce,isPreviewScale:ue,showEvaluateEntry:de,showEvaluateCoundownPage:pe,showScaleFooter:ve,isCancelBtn:fe,isSaveBtn:ge,showEvaluateLabel:he,showAnswerParse:ke,propsConfig:ye,evaluatePageProps:we,evaluateCountdownProps:Se,isEvaluetaResSituation:be,disableEdit:Ce,desStart:De,desEnd:Ee,desContent:je}=E(K,X,{query:ae}),{initForm:_e}=j(K,X,z,{query:ae}),{submitMethod:xe,onSubmitData:Fe,onSubmitForm:Pe,handleScoreJson:qe}=_(K,X,z,{query:ae,formRef:Z,countdownDom:Y}),{nextLogicEvent:Le,handleDynamicDataRelation:Ne}=q(K,X),{scaleChange:Re,labelChange:Ae,vodFileList:Me,writeGuage:Oe,closeEvaluateCountdown:Te,showEvaTipModal:Ie}=x(K,X,z,{nextLogicEvent:Le,handleDynamicDataRelation:Ne,isPreviewScale:ue,submitMethod:xe,isEvaluetaResSituation:be,handleScoreJson:qe,disableEdit:Ce});(()=>{let{id:e}=ae;e&&(X.shareId=e)})();const Be=e=>{try{te(),_e(e)}catch(e){console.log(e,"--error"),X.spinning=!1,X.hasFrontAddress=!1,oe(!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((()=>{_e(o)}))}),{immediate:!0});const Je=L.debounce(Fe,300),Ve=()=>{z("onCloseSetting")};return C({getScaleData:()=>({...X}),onSubmitForm:Pe,cancel:Ve}),(e,o)=>(s(),i("div",{class:l(["c-scale-view-block",{"c-scale-view-block-hasfooter":r(ve)}])},[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(ee).noData?(s(),u(N,{key:0,noDataImg:r(ee).noDataImg,noDataTip:r(ee).noDataTip},null,8,["noDataImg","noDataTip"])):(s(),i(c,{key:1},[r(de)?(s(),u(A,d({key:0},r(we),{onWriteGuage:r(Oe)}),null,16,["onWriteGuage"])):(s(),i(c,{key:1},[r(pe)?(s(),u(R,d({key:0,ref_key:"countdownDom",ref:Y},r(Se),{onCloseEvaluateCountdown:r(Te)}),null,16,["onCloseEvaluateCountdown"])):m("v-if",!0),p("div",{class:l(["scale-container",{"scale-container-nopadding":r(le),"scale-container-hasfooter":r(ve)}]),style:v(r(ie))},[r(ce)?(s(),u(r(O),{key:0,config:X.config,maxScore:X.maxScore},null,8,["config","maxScore"])):m("v-if",!0),r(De)?(s(),u(T,{key:1,content:r(je)},null,8,["content"])):m("v-if",!0),f(r(I),{ref_key:"formRef",ref:Z,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(re)(e)?(s(),u(r(B),{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(se)(e)}),innerHTML:r(me)(e)},null,10,V),r(se)(e)?(s(),i("span",G,"(必填)")):m("v-if",!0),r(he)(e)?(s(),i("span",W,k(r(he)(e)),1)):m("v-if",!0),r(ne)(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(ye)(e,o),{key:(e.id||e.seq)+o,onScaleChange:r(Re),onOnChange:o=>r(Ae)(o,e),onVodFileList:r(Me)}),null,16,["onScaleChange","onOnChange","onVodFileList"])),r(ke)(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(Ee)?(s(),u(T,{key:2,content:r(je)},null,8,["content"])):m("v-if",!0)],6),r(ve)?(s(),i("div",$,[m(" 分享的链接 隐藏取消按钮 "),r(fe)?(s(),u(r(J),{key:0,onClick:Ve},{default:g((()=>[y("取消")])),_:1})):m("v-if",!0),r(ge)?(s(),u(r(J),{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};
@@ -430,7 +430,8 @@ declare const _default: import("vue").DefineComponent<{
430
430
  isMultiple: import("vue").ComputedRef<boolean>;
431
431
  dynamicOptionInfos: import("vue").ComputedRef<any>;
432
432
  isLastPage: import("vue").ComputedRef<boolean>;
433
- valueCp: import("vue").ComputedRef<string | number | any[]>;
433
+ originList: import("vue").ComputedRef<any>;
434
+ valueCp: import("vue").ComputedRef<any>;
434
435
  isInitRequest: import("vue").ComputedRef<boolean>;
435
436
  setOptionActive: (selectIds: string[]) => void;
436
437
  handleUpdateSelect: (value: string[] | null) => void;
@@ -38,7 +38,8 @@ declare const _default: import("vue").DefineComponent<{
38
38
  isMultiple: import("vue").ComputedRef<boolean>;
39
39
  dynamicOptionInfos: import("vue").ComputedRef<any>;
40
40
  isLastPage: import("vue").ComputedRef<boolean>;
41
- valueCp: import("vue").ComputedRef<string | number | any[]>;
41
+ originList: import("vue").ComputedRef<any>;
42
+ valueCp: import("vue").ComputedRef<any>;
42
43
  isInitRequest: import("vue").ComputedRef<boolean>;
43
44
  setOptionActive: (selectIds: string[]) => void;
44
45
  handleUpdateSelect: (value: string[] | null) => void;
@@ -1 +1 @@
1
- import{defineComponent as e,ref as a,inject as l,computed as t,openBlock as n,createBlock as u,unref as o,isRef as i,withModifiers as r,withCtx as s,createVNode as c,h as d}from"vue";import{useMessage as v,NSelect as p,NTag as m}from"naive-ui";import{WidgetOptionEnums as f,WidgetValEnums as y}from"../../../types/enums.js";import{useDebounceFn as g}from"@vueuse/core";import h from"../../../hooks/useAsyncData.js";import{InjectionFilterApiConfig as V,InjectionClassifyFilterList as b}from"../../../constants/index.js";import{judgmentVariable as w}from"../../render-widget/helpers/setDefaultValue.js";import O from"../../render-widget/components/SelectDynamicOption/index.vue.js";import{isEqual as S}from"lodash-es";var k=e({__name:"SelectDynamic",props:{paramCfg:{type:Object,default:null},modelValue:{type:[Array,String,Number],default:null}},emits:["update:modelValue"],setup(e,{emit:k}){const L=e,P=v(),{getDynamicSelectData:j}=h(),C=a(!1),A=l(V),x=l(b),D=a(0),I={class:"select-dynamic-popover"},K=a(1),T=a(),E=a([]),U=a(),_=t((()=>{var e;return null==(e=L.paramCfg)?void 0:e.optionSetting})),M=t((()=>_.value===f.MULTIPLE)),N=t((()=>{const{dynamicOptionInfo:e={}}=L.paramCfg.optionInfo;return e})),$=t((()=>D.value>0&&K.value>=D.value)),F=t((()=>{var e;if(Array.isArray(L.modelValue)&&L.modelValue.length>0){const e=L.modelValue;if(H(e),!M.value&&1==e.length){const a=E.value.find((a=>a.value===e[0]));return JSON.stringify(a)}return E.value.filter((a=>e.includes(a.value)))}return H([]),null!=(e=L.modelValue)?e:null})),J=t((()=>{if(Object.keys(N.value).length>0){const{defaultParams:e=[]}=N.value;return!w(e)}return!0}));function H(e){E.value.forEach((a=>{a.actived=!1,Array.isArray(e)&&e.includes(a.value)&&(a.actived=!0)}))}function W(e){var a;const{defaultValue:l}=L.paramCfg._rawData;(null==(a=null==l?void 0:l.linkageFieldKeys)?void 0:a.length)>0&&l.linkageFieldKeys.forEach((e=>{const a=x.value.find((a=>a.key===e));a&&a.value&&(a.value=a.presetVal=null)})),S(L.modelValue,e)||k("update:modelValue",e)}async function q(e){K.value=e,await z(U.value,K.value)}async function z(e,a){try{if(Object.keys(N.value).length>0){const{autograph:l,dataSourceId:t,dataSourceType:n,filterKeys:u,defaultParams:o=[],showKeys:i,valueKey:r}=N.value;let s={wordbookId:t,autograph:l,wordbookType:n,fieldKeys:u,page:a};u.length>0&&(s[u[0]]=e),C.value=!0;if(w(o)){const e=o.map((e=>e.value)).filter((e=>e.includes("${")));e.map((e=>e.match(/\$\{(.+?)\}/)[1])).forEach((e=>{const a=x.value.find((a=>a.key===e));a&&a.value&&a.value!==y.WHOLE&&(s[e]=a.value)}))}let c=await j(s,A);if(c){const{fieldList:e=[],rows:a=[],total:l=0}=c.map,t=a.map((e=>({...e,label:e[i[0]],value:e[r]})));return T.value=null!=e?e:[],E.value=null!=t?t:[],D.value=l,t}}}catch(e){P.error(`异步数据源下拉框数据请求失败:${e}`),console.log(e)}finally{C.value=!1}}const B=g((async e=>{await async function(e){U.value=e.trim(),K.value=1,await z(U.value,K.value)}(e)}),300);async function G(){Object.keys(N.value).length>0&&A&&await z("",K.value)}async function Q(){k("update:modelValue",null),await G()}function R(e){e&&G()}function X({option:e,handleClose:a}){if(M.value){const l=e.value;return d(m,{style:{padding:"0 8px"},closable:!0,onClose:e=>{if(e.stopPropagation(),a(),Array.isArray(L.modelValue)&&L.modelValue.length>0){const e=L.modelValue,a=e.indexOf(l.value);if(a>-1){const l=e.splice(0,a);k("update:modelValue",l.length>0?l:null)}}}},{default:()=>d("div",l.label)})}const l=e.value?JSON.parse(e.value):{label:""};return d("div",l.label)}return J.value&&G(),(e,a)=>(n(),u(o(p),{id:"select-dynamic-popover",style:{width:"200px"},value:o(F),"onUpdate:value":a[0]||(a[0]=e=>i(F)?F.value=e:null),remote:"",clearable:"",filterable:"",to:"body",maxTagCount:"responsive",loading:C.value,multiple:o(M),menuProps:I,"render-tag":X,onSearch:o(B),onClear:Q,"onUpdate:show":R,onClick:a[1]||(a[1]=r((()=>{}),["stop"]))},{empty:s((()=>[c(O,{dynamicOptionInfo:o(N),fieldTitleList:T.value,optionList:E.value,isMultiple:o(M),curPage:K.value,isLastPage:o($),onUpdateSelect:W,onUpdatePage:q},null,8,["dynamicOptionInfo","fieldTitleList","optionList","isMultiple","curPage","isLastPage"])])),_:1},8,["value","loading","multiple","onSearch"]))}});export{k as default};
1
+ import{defineComponent as e,ref as a,inject as l,computed as t,watch as n,openBlock as u,createBlock as o,unref as i,isRef as r,withModifiers as s,withCtx as d,createVNode as v,h as c}from"vue";import{useMessage as p,NSelect as m,NTag as f}from"naive-ui";import{WidgetOptionEnums as y,WidgetValEnums as g}from"../../../types/enums.js";import{useDebounceFn as h}from"@vueuse/core";import V from"../../../hooks/useAsyncData.js";import{InjectionFilterApiConfig as b,InjectionClassifyFilterList as w}from"../../../constants/index.js";import{judgmentVariable as k}from"../../render-widget/helpers/setDefaultValue.js";import L from"../../render-widget/components/SelectDynamicOption/index.vue.js";import{isEqual as O}from"lodash-es";var S=e({__name:"SelectDynamic",props:{paramCfg:{type:Object,default:null},modelValue:{type:[Array,String,Number],default:null}},emits:["update:modelValue"],setup(e,{emit:S}){const C=e,A=p(),{getDynamicSelectData:P}=V(),j=a(!1),x=l(b),D=l(w),I=a(0),K={class:"select-dynamic-popover"},T=a(1),_=a(),E=a([]),U=a(),M=t((()=>{var e;return null==(e=C.paramCfg)?void 0:e.optionSetting})),N=t((()=>M.value===y.MULTIPLE)),$=t((()=>{const{dynamicOptionInfo:e={}}=C.paramCfg.optionInfo;return e})),B=t((()=>I.value>0&&T.value>=I.value)),F=t((()=>{if(E.value.length>0)return E.value;const e=D.value.find((e=>e.key===C.paramCfg.p_name));return e&&e.value&&e.dynamicBaseList||[]})),J=t((()=>{var e;if(Array.isArray(C.modelValue)&&C.modelValue.length>0){const e=C.modelValue;if(W(e),!N.value&&1==e.length){const a=F.value.find((a=>a.value===e[0]));return JSON.stringify(a)}return F.value.filter((a=>e.includes(a.value)))}return W([]),null!=(e=C.modelValue)?e:null})),H=t((()=>{if(Object.keys($.value).length>0){const{defaultParams:e=[]}=$.value;return!k(e)}return!0}));function W(e){E.value.forEach((a=>{a.actived=!1,Array.isArray(e)&&e.includes(a.value)&&(a.actived=!0)}))}function q(e){var a;const{defaultValue:l}=C.paramCfg._rawData;(null==(a=null==l?void 0:l.linkageFieldKeys)?void 0:a.length)>0&&l.linkageFieldKeys.forEach((e=>{const a=D.value.find((a=>a.key===e));a&&a.value&&(a.value=a.presetVal=null)})),O(C.modelValue,e)||S("update:modelValue",e)}async function z(e){T.value=e,await G(U.value,T.value)}async function G(e,a){try{if(Object.keys($.value).length>0){const{autograph:l,dataSourceId:t,dataSourceType:n,filterKeys:u,defaultParams:o=[],showKeys:i,valueKey:r}=$.value;let s={wordbookId:t,autograph:l,wordbookType:n,fieldKeys:u,page:a};u.length>0&&(s[u[0]]=e),j.value=!0;if(k(o)){const e=o.map((e=>e.value)).filter((e=>e.includes("${")));e.map((e=>e.match(/\$\{(.+?)\}/)[1])).forEach((e=>{const a=D.value.find((a=>a.key===e));a&&a.value&&a.value!==g.WHOLE&&(s[e]=a.value)}))}let d=await P(s,x);if(d){const{fieldList:e=[],rows:a=[],total:l=0}=d.map,t=a.map((e=>({...e,label:e[i[0]],value:e[r]})));return _.value=null!=e?e:[],E.value=null!=t?t:[],I.value=l,t}}}catch(e){A.error(`异步数据源下拉框数据请求失败:${e}`),console.log(e)}finally{j.value=!1}}const Q=h((async e=>{await async function(e){U.value=e.trim(),T.value=1,await G(U.value,T.value)}(e)}),300);async function R(){Object.keys($.value).length>0&&x&&await G("",T.value)}async function X(){S("update:modelValue",null),await R()}function Y(e){e&&R()}function Z({option:e,handleClose:a}){if(N.value){const l=e.value;return c(f,{style:{padding:"0 8px"},closable:!0,onClose:e=>{if(e.stopPropagation(),a(),Array.isArray(C.modelValue)&&C.modelValue.length>0){const e=C.modelValue,a=e.indexOf(l.value);if(a>-1){const l=e.splice(0,a);S("update:modelValue",l.length>0?l:null)}}}},{default:()=>c("div",l.label)})}const l=e.value?JSON.parse(e.value):{label:""};return c("div",l.label)}return n((()=>C.modelValue),(e=>{let a=[];Array.isArray(e)&&e.length>0&&(N.value||1!=e.length||(a=F.value.filter((a=>a.value===e[0]))),a=F.value.filter((a=>e.includes(a.value))));const l=D.value.find((e=>e.key===C.paramCfg.p_name));l&&l.value&&(l.dynamicBaseList=a)}),{immediate:!0,deep:!0}),H.value&&R(),(e,a)=>(u(),o(i(m),{id:"select-dynamic-popover",style:{width:"200px"},value:i(J),"onUpdate:value":a[0]||(a[0]=e=>r(J)?J.value=e:null),remote:"",clearable:"",filterable:"",to:"body",maxTagCount:"responsive",loading:j.value,multiple:i(N),menuProps:K,"render-tag":Z,onSearch:i(Q),onClear:X,"onUpdate:show":Y,onClick:a[1]||(a[1]=s((()=>{}),["stop"]))},{empty:d((()=>[v(L,{dynamicOptionInfo:i($),fieldTitleList:_.value,optionList:E.value,isMultiple:i(N),curPage:T.value,isLastPage:i(B),onUpdateSelect:q,onUpdatePage:z},null,8,["dynamicOptionInfo","fieldTitleList","optionList","isMultiple","curPage","isLastPage"])])),_:1},8,["value","loading","multiple","onSearch"]))}});export{S as default};
@@ -387,7 +387,8 @@ declare const SelectDynamic: import("vue").DefineComponent<{
387
387
  isMultiple: import("vue").ComputedRef<boolean>;
388
388
  dynamicOptionInfos: import("vue").ComputedRef<any>;
389
389
  isLastPage: import("vue").ComputedRef<boolean>;
390
- valueCp: import("vue").ComputedRef<string | number | any[]>;
390
+ originList: import("vue").ComputedRef<any>;
391
+ valueCp: import("vue").ComputedRef<any>;
391
392
  isInitRequest: import("vue").ComputedRef<boolean>;
392
393
  setOptionActive: (selectIds: string[]) => void;
393
394
  handleUpdateSelect: (value: string[] | null) => void;
@@ -1 +1 @@
1
- import{reactive as a,computed as t,toRaw as e,unref as n}from"vue";import{ConditionEnums as l,WidgetTypeEnums as o,WidgetOptionEnums as r}from"../../../types/enums.js";import{transformConditions as i,transformRawConditions as u,transformDataToFront as s}from"../../../tool/transformData.js";const c=(c,p,d)=>{const m=a({params:[]}),v=t((()=>m.params.map((({p_name:a,title:t})=>({label:t||a,value:a}))))),y=a=>m.params.find((t=>t.p_name===a)),C=(a,t)=>{const e=c.value[a];e&&(e.condition=t,(a=>{var t,e,n,l;const o=y(a.key);(null==(e=null==(t=o._rawData)?void 0:t.accurateSearch)?void 0:e.switchEnable)&&(a.isAccurateSearch=!0,a.accurateSearchKey=null==(l=null==(n=o._rawData)?void 0:n.accurateSearch)?void 0:l.searchKey)})(e),(a=>{const t=y(a.key);a.value=(null==t?void 0:t.type)!==o.SELECT&&(null==t?void 0:t.type)!==o.SELECTDYNAMIC||(null==t?void 0:t.optionSetting)!==r.MULTIPLE?null:[],a.presetVal=a.timeVal=null})(e))};return{State:m,paramOptions:v,addFilterCondition:()=>{c.value.push({key:null,condition:null,value:null,presetVal:null})},delFilterCondition:a=>{c.value.splice(a,1)},updateKey:(a,t)=>{const e=c.value[a];e&&(e.key=t,C(a,l.EQUAL))},updateCondition:C,getParamCfg:y,initFilterConditions:async(a,t)=>{const n=await(async a=>{try{return s(d,p)}catch(a){return[]}})();m.params=n,c.value=i(t,e(m.params))},getRawFilterConditions:()=>u(n(c))}};export{c as useFilterConditions};
1
+ import{reactive as a,computed as t,toRaw as e,unref as n}from"vue";import{ConditionEnums as l,WidgetTypeEnums as i,WidgetOptionEnums as o}from"../../../types/enums.js";import{transformConditions as r,transformRawConditions as u,transformDataToFront as s}from"../../../tool/transformData.js";const c=(c,p,d)=>{const m=a({params:[]}),v=t((()=>m.params.map((({p_name:a,title:t})=>({label:t||a,value:a}))))),y=a=>m.params.find((t=>t.p_name===a)),C=(a,t)=>{const e=c.value[a];e&&(e.condition=t,(a=>{var t,e,n,l;const i=y(a.key);(null==(e=null==(t=i._rawData)?void 0:t.accurateSearch)?void 0:e.switchEnable)&&(a.isAccurateSearch=!0,a.accurateSearchKey=null==(l=null==(n=i._rawData)?void 0:n.accurateSearch)?void 0:l.searchKey)})(e),(a=>{const t=y(a.key);a.value=(null==t?void 0:t.type)!==i.SELECT&&(null==t?void 0:t.type)!==i.SELECTDYNAMIC||(null==t?void 0:t.optionSetting)!==o.MULTIPLE?null:[],a.presetVal=a.timeVal=null})(e))};return{State:m,paramOptions:v,addFilterCondition:()=>{c.value.push({key:null,condition:null,value:null,presetVal:null,dynamicBaseList:[]})},delFilterCondition:a=>{c.value.splice(a,1)},updateKey:(a,t)=>{const e=c.value[a];e&&(e.key=t,C(a,l.EQUAL))},updateCondition:C,getParamCfg:y,initFilterConditions:async(a,t)=>{const n=await(async a=>{try{return s(d,p)}catch(a){return[]}})();m.params=n,c.value=r(t,e(m.params))},getRawFilterConditions:()=>u(n(c))}};export{c as useFilterConditions};
@@ -554,7 +554,8 @@ declare const _default: import("vue").DefineComponent<{
554
554
  isMultiple: import("vue").ComputedRef<boolean>;
555
555
  dynamicOptionInfos: import("vue").ComputedRef<any>;
556
556
  isLastPage: import("vue").ComputedRef<boolean>;
557
- valueCp: import("vue").ComputedRef<string | number | any[]>;
557
+ originList: import("vue").ComputedRef<any>;
558
+ valueCp: import("vue").ComputedRef<any>;
558
559
  isInitRequest: import("vue").ComputedRef<boolean>;
559
560
  setOptionActive: (selectIds: string[]) => void;
560
561
  handleUpdateSelect: (value: string[] | null) => void;
@@ -1 +1 @@
1
- import{DataTypeEnums as e,WidgetTypeEnums as t,WidgetOptionEnums as l}from"../types/enums.js";const a=(a,i=[])=>a===e.API?i.map((e=>{var i,n,u,r,p,o,c,d,y,s,v,E;const m=null!=(n=null==(i=e.optionInfo)?void 0:i.list)?n:[];let f=e.type;return e.type===t.LABEL&&(f=t.SELECTLABEL),e.type===t.SELECT&&!1===(null==(u=null==e?void 0:e.optionInfo)?void 0:u.manualMapping)&&(f=t.SELECTDYNAMIC),e.rangeFilter&&(e.type===t.INPUT_NUMBER&&(f=t.INPUTNUMBER_RANGE),e.type===t.DATE&&(f=t.DATE_RANGE_INNER),e.type===t.DATE_TIME&&(f=t.DATETIME_RANGE_INNER)),{dataType:a,p_name:e.name,p_type:e.dataType,title:e.title,customTitle:e.customTitle,type:f,optionSetting:e.optionType,openAdvancedFilter:e.isShowSearch,filterOutDisplay:e.filterExplicit,filterOutRequired:e.explicitRequired,width:e.width,defValCfg:{value:e.type===t.SELECT&&e.optionType===l.MULTIPLE?null!=(p=null==(r=e.defaultValue)?void 0:r.valueList)?p:[]:null!=(d=null==(c=null==(o=e.defaultValue)?void 0:o.valueList)?void 0:c[0])?d:null,presetVal:e.type===t.SELECT&&e.optionType===l.MULTIPLE?(null==(y=e.defaultValue)?void 0:y.unit)?[null==(s=e.defaultValue)?void 0:s.unit]:[]:null!=(E=null==(v=e.defaultValue)?void 0:v.unit)?E:null},mappingConfig:{mappingMethod:null,mapping:m.map((({name:e,value:t})=>({label:e,value:t})))},remark:e.remark,optionInfo:e.optionInfo,_rawData:e}})):[],i=t=>t.map((t=>{var l;const{title:a,customTitle:i,openAdvancedFilter:n,filterOutDisplay:u,filterOutRequired:r,width:p,optionSetting:o,defValCfg:c,mappingConfig:d,remark:y,_rawData:s}=t,{value:v,presetVal:E}=c,{mapping:m}=d;if(t.dataType===e.API){const{p_name:e,p_type:c,type:d}=t;return{...s,name:e,title:a,customTitle:i,type:d,dataType:c,isShowSearch:n,filterExplicit:u,explicitRequired:r,width:p,optionType:o,defaultValue:{valueList:Array.isArray(v)?v:v?[v]:[],unit:Array.isArray(E)?E[0]:E},optionInfo:{manualMapping:null==(l=null==s?void 0:s.optionInfo)?void 0:l.manualMapping,list:m.map((({label:e,value:t})=>({name:e,value:t})))},remark:y}}return null})).filter((e=>!!e)),n=(e,a)=>e.map((e=>{var i,n;const u=((e,t)=>t.find((t=>t.p_name===e)))(e.field_key,a);let r=e.value;r&&!Array.isArray(r)&&(r=[r]);const p=(null==u?void 0:u.type)!==t.SELECT&&(null==u?void 0:u.type)!==t.SELECTDYNAMIC||(null==u?void 0:u.optionSetting)!==l.MULTIPLE?null!=(i=null==r?void 0:r[0])?i:null:null!=r?r:[],o={key:e.field_key,condition:e.con,value:p,presetVal:null!=(n=e.unit)?n:null};return Object.keys(e).includes("isAccurateSearch")&&(o.isAccurateSearch=e.isAccurateSearch,o.accurateSearchKey=e.accurateSearchKey),o})),u=e=>e.map((e=>{const t={field_key:e.key,con:e.condition,value:Array.isArray(e.value)?e.value:e.value?[e.value]:[],unit:e.presetVal};return Object.keys(e).includes("isAccurateSearch")&&(t.isAccurateSearch=e.isAccurateSearch,t.accurateSearchKey=e.accurateSearchKey),t}));export{n as transformConditions,i as transformDataToEnd,a as transformDataToFront,u as transformRawConditions};
1
+ import{DataTypeEnums as e,WidgetTypeEnums as t,WidgetOptionEnums as l}from"../types/enums.js";const a=(a,i=[])=>a===e.API?i.map((e=>{var i,n,u,r,p,o,c,d,s,y,v,m;const E=null!=(n=null==(i=e.optionInfo)?void 0:i.list)?n:[];let f=e.type;return e.type===t.LABEL&&(f=t.SELECTLABEL),e.type===t.SELECT&&!1===(null==(u=null==e?void 0:e.optionInfo)?void 0:u.manualMapping)&&(f=t.SELECTDYNAMIC),e.rangeFilter&&(e.type===t.INPUT_NUMBER&&(f=t.INPUTNUMBER_RANGE),e.type===t.DATE&&(f=t.DATE_RANGE_INNER),e.type===t.DATE_TIME&&(f=t.DATETIME_RANGE_INNER)),{dataType:a,p_name:e.name,p_type:e.dataType,title:e.title,customTitle:e.customTitle,type:f,optionSetting:e.optionType,openAdvancedFilter:e.isShowSearch,filterOutDisplay:e.filterExplicit,filterOutRequired:e.explicitRequired,width:e.width,defValCfg:{value:e.type===t.SELECT&&e.optionType===l.MULTIPLE?null!=(p=null==(r=e.defaultValue)?void 0:r.valueList)?p:[]:null!=(d=null==(c=null==(o=e.defaultValue)?void 0:o.valueList)?void 0:c[0])?d:null,presetVal:e.type===t.SELECT&&e.optionType===l.MULTIPLE?(null==(s=e.defaultValue)?void 0:s.unit)?[null==(y=e.defaultValue)?void 0:y.unit]:[]:null!=(m=null==(v=e.defaultValue)?void 0:v.unit)?m:null},mappingConfig:{mappingMethod:null,mapping:E.map((({name:e,value:t})=>({label:e,value:t})))},remark:e.remark,optionInfo:e.optionInfo,_rawData:e}})):[],i=t=>t.map((t=>{var l;const{title:a,customTitle:i,openAdvancedFilter:n,filterOutDisplay:u,filterOutRequired:r,width:p,optionSetting:o,defValCfg:c,mappingConfig:d,remark:s,_rawData:y}=t,{value:v,presetVal:m}=c,{mapping:E}=d;if(t.dataType===e.API){const{p_name:e,p_type:c,type:d}=t;return{...y,name:e,title:a,customTitle:i,type:d,dataType:c,isShowSearch:n,filterExplicit:u,explicitRequired:r,width:p,optionType:o,defaultValue:{valueList:Array.isArray(v)?v:v?[v]:[],unit:Array.isArray(m)?m[0]:m},optionInfo:{manualMapping:null==(l=null==y?void 0:y.optionInfo)?void 0:l.manualMapping,list:E.map((({label:e,value:t})=>({name:e,value:t})))},remark:s}}return null})).filter((e=>!!e)),n=(e,a)=>e.map((e=>{var i,n,u;const r=((e,t)=>t.find((t=>t.p_name===e)))(e.field_key,a);let p=e.value;p&&!Array.isArray(p)&&(p=[p]);const o=(null==r?void 0:r.type)!==t.SELECT&&(null==r?void 0:r.type)!==t.SELECTDYNAMIC||(null==r?void 0:r.optionSetting)!==l.MULTIPLE?null!=(i=null==p?void 0:p[0])?i:null:null!=p?p:[],c={key:e.field_key,condition:e.con,value:o,presetVal:null!=(n=e.unit)?n:null,dynamicBaseList:null!=(u=null==e?void 0:e.dynamicBaseList)?u:[]};return Object.keys(e).includes("isAccurateSearch")&&(c.isAccurateSearch=e.isAccurateSearch,c.accurateSearchKey=e.accurateSearchKey),c})),u=e=>e.map((e=>{const t={field_key:e.key,con:e.condition,value:Array.isArray(e.value)?e.value:e.value?[e.value]:[],unit:e.presetVal,dynamicBaseList:e.dynamicBaseList||[]};return Object.keys(e).includes("isAccurateSearch")&&(t.isAccurateSearch=e.isAccurateSearch,t.accurateSearchKey=e.accurateSearchKey),t}));export{n as transformConditions,i as transformDataToEnd,a as transformDataToFront,u as transformRawConditions};
@@ -90,6 +90,7 @@ export type ISearchConfigType = {
90
90
  wordbookValueList?: any;
91
91
  isAccurateSearch?: boolean;
92
92
  accurateSearchKey?: string;
93
+ dynamicBaseList?: any[];
93
94
  };
94
95
  export type ITreeDataType = {
95
96
  name: string;
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.7-beta.10",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.7-beta.10",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};
1
+ var e="@cnhis-design-vue/shared",i="3.2.7-beta.11",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.7-beta.11",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.7-beta.10",
3
+ "version": "3.2.7-beta.11",
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": "7d40447f6732f9d13e8a1e76a6e53dbf902ac85f"
75
+ "gitHead": "ace4c20d60b689eb3d3c8793860bda603dffdc72"
76
76
  }