cnhis-design-vue 3.2.14-beta.26 → 3.2.14-beta.29

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 (29) hide show
  1. package/es/components/button-print/src/components/NewPrintComponent.vue2.js +1 -1
  2. package/es/components/calendar/index.d.ts +4 -4
  3. package/es/components/calendar/src/Calendar.vue.d.ts +4 -4
  4. package/es/components/classification/src/components/table-modal/index.vue.d.ts +3 -0
  5. package/es/components/fabric-chart/index.d.ts +6 -4
  6. package/es/components/fabric-chart/src/FabricChart.vue.d.ts +6 -4
  7. package/es/components/fabric-chart/src/FabricChart.vue2.js +1 -1
  8. package/es/components/fabric-chart/src/hooks/surgicalAnesthesia/useTop.js +1 -1
  9. package/es/components/iho-chat/index.d.ts +23 -2
  10. package/es/components/iho-chat/src/Index.vue.d.ts +23 -2
  11. package/es/components/iho-chat/src/components/ChatMain.vue2.js +1 -1
  12. package/es/components/iho-chat/src/components/ChatSearch.vue.d.ts +40 -19
  13. package/es/components/iho-chat/src/components/ChatSearch.vue2.js +1 -1
  14. package/es/components/iho-chat/src/components/MultipleVideo.vue2.js +1 -1
  15. package/es/components/iho-chat/src/components/PersonProfile.vue2.js +1 -1
  16. package/es/components/iho-chat/src/components/SiderList.vue.d.ts +3 -0
  17. package/es/components/iho-chat/src/components/SiderList.vue2.js +1 -1
  18. package/es/components/iho-chat/src/constants/index.d.ts +1 -2
  19. package/es/components/iho-chat/src/constants/index.js +1 -1
  20. package/es/components/iho-chat/src/hooks/useData.js +1 -1
  21. package/es/components/iho-chat/src/hooks/useSearchUserList.js +1 -1
  22. package/es/components/iho-chat/src/utils/index.d.ts +1 -0
  23. package/es/components/iho-chat/src/utils/index.js +1 -1
  24. package/es/components/iho-chat/style/index.css +1 -1
  25. package/es/components/index.css +1 -1
  26. package/es/components/scale-view/src/ScaleView.vue2.js +1 -1
  27. package/es/env.d.ts +25 -25
  28. package/es/shared/package.json.js +1 -1
  29. package/package.json +76 -76
@@ -1 +1 @@
1
- import{createElementVNode as e,defineComponent as t,inject as n,ref as i,reactive as a,computed as r,onMounted as l,onBeforeUnmount as o,watch as s,openBlock as u,createElementBlock as d,Fragment as c,createCommentVNode as p,createVNode as m,unref as v,withCtx as g,renderList as y,createBlock as f,mergeProps as w,createTextVNode as h,toDisplayString as k,isRef as b,renderSlot as P,withModifiers as C,normalizeClass as S}from"vue";import{isObject as L}from"@vue/shared";import{useMessage as I,NButtonGroup as O,NDropdown as T,NButton as j,NIcon as M,NPopover as x,NCheckbox as E,NDivider as F}from"naive-ui";import{PrintOutline as B,SettingsOutline as N,ChevronDownSharp as _,ArrowForwardOutline as D}from"@vicons/ionicons5";import{InjectionButtonPrintEmits as R}from"../constants/index.js";import{Print as J}from"../utils/print.js";import{isIReport as U}from"../utils/browserPrint.js";import z from"./IdentityVerification.vue.js";import{format as A}from"date-fns";import"../api.js";import"../../../shortcut-provider/index.js";import{encapBrowserLog as K}from"../../../../shared/utils/index.js";import{useShortcuts as V}from"../../../shortcut-provider/src/hooks/useShortcuts.js";var G,q,Y,H,$,Q,W;const X={class:"newprint-button-outer"},Z={key:0,class:"newprint-button-outer__shortcut"},ee=e("span",{class:"label bold"},(null==(G=window.getLanguageByCode)?void 0:G.call(window,"10010.1.477"))||"外显设置",-1),te={class:"newprint-button-poperOver"},ne={class:"print-lite"},ie={class:"label bold"},ae={class:"print-li"},re={class:"print-lite"},le={key:0,class:"newprint-button-outer__shortcut"},oe={class:"newprint-button-poperOver"},se=["onMouseenter","onClick"],ue={class:"label bold"},de={class:"newprint-button-poperOver"},ce={class:"print-lite"},pe={class:"label bold"},me={class:"print-li"},ve={class:"print-lite"},ge=["onClick"],ye={key:0,class:"newprint-button-outer__shortcut"},fe={class:"newprint-button-poperOver"},we=["onMouseenter"],he={class:"print-lite"},ke=["onClick"];var be=t({__name:"NewPrintComponent",props:{printParams:{type:Array},params:{default:()=>[],type:Array},btnText:{default:(null==(q=window.getLanguageByCode)?void 0:q.call(window,"10010.1.478"))||"打印",type:String},printText:{default:(null==(Y=window.getLanguageByCode)?void 0:Y.call(window,"10010.1.479"))||"直接打印",type:String},previewText:{default:(null==(H=window.getLanguageByCode)?void 0:H.call(window,"10010.1.480"))||"打印预览",type:String},pdfLoadText:{default:(null==($=window.getLanguageByCode)?void 0:$.call(window,"10010.1.481"))||"下载pdf",type:String},formatEditText:{default:(null==(Q=window.getLanguageByCode)?void 0:Q.call(window,"10010.1.482"))||"格式编辑",type:String},prevFn:{default:()=>Promise.resolve(),type:Function},queryPrintFormatByNumber:{default:()=>Promise.resolve({}),type:Function},queryTemplateParams:{default:()=>Promise.resolve({}),type:Function},strategy:{default:"MULTI",type:String},clickPrevFn:{default:()=>Promise.resolve(!0),type:Function},noDataMsg:{default:(null==(W=window.getLanguageByCode)?void 0:W.call(window,"10010.1.483"))||"请选中需要打印的数据",type:String},token:{type:String},printdlgshow:{default:"0",type:String},btnprint:{type:String,default:"1"},directPrint:{type:Boolean,default:!1},externalOptionConfig:{type:Object,default:()=>({})},signature:{type:String},showLoading:{type:Boolean,default:!0},hideButtons:{type:Array,default:()=>[]},printCopies:{type:Number},resolution:{type:Number},newPrintSetting:{type:Object,default:()=>({isShowPrintAll:!0,printAllType:1,isShowOutSetting:!0,customProps:{},outerPrintKeys:[],defaultFormatId:"",shortcut:{},buttonProps:{}})},svrUpdateIp:{type:String}},setup(t,{expose:G}){var q,Y,H;const $=t,Q=String(navigator.platform).toLowerCase().includes("linux"),W=[{label:(null==(q=window.getLanguageByCode)?void 0:q.call(window,"10010.1.476"))||"分割线",key:"divider"},{label:(null==(Y=window.getLanguageByCode)?void 0:Y.call(window,"10010.1.477"))||"外显设置",key:"outSetting"}],be=I();let Pe;const Ce=n(R),Se=i(""),Le=a({spinning:!1,visible:!1,formatList:[],templateParams:[],printParams:[],originParams:{},currentFormatId:"",identityVerification:{visible:!1},isInited:!1,watchPrintParamsReformatFn:null,spinTimer:null,isClickOuterPrint:!1,curPrintParamList:[],iReportExecuteMode:1}),Ie=i({});let Oe=i([]),Te=i([{label:$.previewText,key:"previewText"},{label:$.pdfLoadText,key:"downloadPdf"},{label:$.formatEditText,key:"formatEditText"},{label:(null==(H=window.getLanguageByCode)?void 0:H.call(window,"10010.1.484"))||"重置打印机",key:"resetPrinter"}]);const je=a({oneMouseType:"",oneClickType:"",twoMouseType:""}),Me=a({oneShow:!1,isOperation:!1,isOutSetting:!1}),xe=i([]),Ee=i([]),Fe=r((()=>{if(!Le.currentFormatId)return{};let e=Le.currentFormatId;return Le.formatList.find((t=>t.id===e))}));r((()=>{var e,t;return(null==(e=Fe.value)?void 0:e.name)||(null==(t=window.getLanguageByCode)?void 0:t.call(window,"10010.1.485"))||"格式选择"}));const Be=r((()=>{let e=Le.formatList.find((e=>e.id===Le.currentFormatId));return null==e?void 0:e.templateId})),Ne=r((()=>{let e=Le.formatList.find((e=>e.id===Le.currentFormatId));return null==e?void 0:e.number})),_e=r((()=>{var e;return null==(e=$.newPrintSetting)?void 0:e.isShowPrintAll})),De=r((()=>{var e;return null==(e=$.newPrintSetting)?void 0:e.isShowOutSetting})),Re=r((()=>{var e;return(null==(e=$.newPrintSetting)?void 0:e.customProps)||{}})),Je=r((()=>{var e;return(null==(e=$.newPrintSetting)?void 0:e.defaultFormatId)||""})),Ue=r((()=>{var e;return(null==(e=$.newPrintSetting)?void 0:e.printAllType)||1})),ze=r((()=>{var e;return(null==(e=$.newPrintSetting)?void 0:e.shortcut)||{}})),Ae=r((()=>{var e;return(null==(e=$.newPrintSetting)?void 0:e.buttonProps)||{}})),Ke=r((()=>{var e,t;const n=Object.keys(ze.value);if(n.length>0){if(Je.value&&n.includes(Je.value))return(null==(e=ze.value[Je.value])?void 0:e.shortcutLabel)||"";if(n.includes("all"))return(null==(t=ze.value.all)?void 0:t.shortcutLabel)||""}return""})),Ve=r((()=>{const e=W.map((e=>e.key));return Oe.value.filter((t=>!e.includes(t.key)))})),Ge=r({get:()=>Ve.value.every((e=>e.selected)),set(e){Ve.value.forEach((t=>{t.selected=e}))}}),qe=async()=>{var e,t;(null==(t=null==(e=$.newPrintSetting)?void 0:e.outerPrintKeys)?void 0:t.length)||await kt(),Me.oneShow=!0},Ye=async e=>{if($.directPrint){if(Le.spinning)return;return"button"===e?void(_e.value?await Ct():Je.value?async function(e){await kt(!1);const t=xe.value.find((t=>t.key==e));t&&ot(t.templateCode,t.templateId,t.key,!1)}(Je.value):qe()):qe()}return qe()},He=(e,t)=>Le.printParams[t.templateCode]?U(t.key)&&(Q||2==Le.iReportExecuteMode)?e.filter((e=>"formatEditText"!=e.key)):e:[],$e=(e,t)=>{je[e]=t},Qe=()=>{xe.value=Oe.value.filter((e=>!e.selected)),Ee.value=Ve.value.filter((e=>e.selected)),Xe("oneShow"),Xe("isOutSetting"),Ce("saveOuterPrint",Ee.value)},We=e=>{Me[e]=!0},Xe=e=>{je.oneClickType="",Me[e]=!1,"isOutSetting"==e&&(Me.isOutSetting=!1)},Ze=(e,t)=>{rt(!1);let n={type:t,formatId:Le.currentFormatId,templateId:(null==e?void 0:e.templateId)||Be.value,templateCode:(null==e?void 0:e.templateCode)||Ne.value};K({type:"进入成功的回调",info:n},"PRINT-SDK"),Ce("success",e,n)},et=e=>{rt(!1),K({type:"进入失败的回调",res:e},"PRINT-SDK"),Ce("error",e),L(e)&&"notInstalledApp"===e.type&&be.error(e.message)},tt=e=>{rt(!1),Ce("cancel",e)},nt=e=>{var t;const n={message:(null==(t=window.getLanguageByCode)?void 0:t.call(window,"10010.1.486"))||"前置条件执行错误",type:e,preExecution:!0};Ce("error",n)},it=()=>JSON.stringify({...$.token?{token:$.token}:{}}),at=(e=[],t)=>{var n,i;let a={},r={};if((null==(n=Le.templateParams[t].customizeDataset)?void 0:n.length)>0){const t=(null==(i=Object.keys(e[0].datasetData||{}))?void 0:i[0])||"",n=JSON.stringify(e.map((e=>JSON.parse(e.datasetData[t]))));r={datasetData:{}},r.datasetData[t]=n}else Object.keys(e[0]).forEach((t=>{r[t]=[],e.forEach((e=>{r[t].includes(e[t])||r[t].push(e[t])})),r[t]=r[t].join(",")}));return a=Object.assign({},JSON.parse(it()),Re.value,r),JSON.stringify(a)},rt=(e,t)=>{if(Le.isClickOuterPrint){if(e&&t){const n=Ee.value.find((e=>e.key==t));return void(n&&(n.isLoading=e))}Ee.value.forEach((e=>{e.isLoading=!1}))}else Le.spinning=e},lt=()=>Le.isClickOuterPrint?Ee.value.some((e=>e.isLoading)):Le.spinning,ot=(e,t,n,i)=>{const a=Le.printParams[e];if(!a)return;Le.isClickOuterPrint=i,Le.currentFormatId=n;const r=Le.originParams[e]||[];st(a,e,t,n,r)},st=async(e=[],t,n,i,a=[],r)=>{let l=e.length;const o=async e=>{try{--l<=0&&Ze(e,"print")}catch(e){console.log("error",e)}};$.showLoading&&lt()&&!r||(rt(!0,i),$.prevFn("print",{formatId:i,templateId:n}).then((()=>{Le.curPrintParamList=e;const r={formatId:i,iReportExecuteMode:Le.iReportExecuteMode,templateId:n,authorizationKey:Se.value,printdlgshow:$.printdlgshow,signature:$.signature,copies:$.printCopies,svrUpdateIp:$.svrUpdateIp};if("MULTI"===$.strategy)for(let t=0;t<e.length;t++){t>0&&(r.printdlgshow="0");const n=JSON.stringify(Object.assign({},JSON.parse(it()),Re.value,e[t]));Pe.printDirect({...r,params:n},o,et,tt)}else Pe.printDirect({...r,params:at(e,t)},(e=>{e.params=a,e.templateCode=t,e.templateId=n,Ze(e,"print")}),et,tt)})).catch((()=>{nt("print"),rt(!1)})).finally((()=>{Le.visible=!1})))},ut=async(e,{templateCode:t,templateId:n,key:i},a)=>{const r=Le.printParams[t];if(r)switch(Le.isClickOuterPrint=a,Le.currentFormatId=i,e){case"previewText":(async(e=[],t,n,i)=>{$.showLoading&&lt()||(rt(!0,i),$.prevFn("preview",{formatId:i,templateId:n}).then((()=>{Le.curPrintParamList=e;const a=JSON.stringify(Object.assign({},JSON.parse(it()),Re.value,e[0])),r="MULTI"===$.strategy?a:at(e,t),l={formatId:i,templateId:n,iReportExecuteMode:Le.iReportExecuteMode,authorizationKey:Se.value,params:r,btnprint:$.btnprint,signature:$.signature};Pe.preview(l,(e=>{Ze(e,"preview")}),et)})).catch((()=>{nt("preview"),rt(!1)})).finally((()=>{Le.visible=!1})))})(r,t,n,i);break;case"formatEditText":((e=[],t,n,i)=>{$.showLoading&&lt()||(rt(!0,i),$.prevFn("edit",{formatId:i,templateId:n}).then((()=>{Le.curPrintParamList=e,Le.currentFormatId=i,Le.identityVerification.visible=!0})).catch((()=>{nt("edit")})).finally((()=>{rt(!1)})))})(r,0,n,i);break;case"downloadPdf":(async(e=[],t,n,i)=>{$.showLoading&&lt()||(rt(!0,i),$.prevFn("download",{formatId:i,templateId:n}).then((()=>{Le.curPrintParamList=e;const a=JSON.stringify(Object.assign({},JSON.parse(it()),Re.value,e[0])),r="MULTI"===$.strategy?a:at(e,t),l={formatId:i,templateId:n,iReportExecuteMode:Le.iReportExecuteMode,authorizationKey:Se.value,print:{print:"1",type:"1",resolution:null==$?void 0:$.resolution},params:r,signature:$.signature};Pe.downloadPDF(l,(e=>Ze(e,"preview")),et)})).catch((()=>{nt("download"),rt(!1)})).finally((()=>{Le.visible=!1})))})(r,t,n,i);break;case"resetPrinter":(async(e=[],t,n,i)=>{var a,r,l;if(!$.showLoading||!lt()){rt(!0,i);try{const e=await Pe.resetPrinter(i,Le.iReportExecuteMode);if(rt(!1),"success"==(null==e?void 0:e.result))return void be.success((null==e?void 0:e.message)||(null==(a=window.getLanguageByCode)?void 0:a.call(window,"10010.1.487"))||"重置打印机成功");be.warning((null==e?void 0:e.message)||(null==(r=window.getLanguageByCode)?void 0:r.call(window,"10010.1.488"))||"重置打印机失败")}catch(e){rt(!1),be.warning((null==e?void 0:e.message)||(null==(l=window.getLanguageByCode)?void 0:l.call(window,"10010.1.488"))||"重置打印机失败")}}})(r,0,0,i)}},dt=()=>{},ct=(e,t=[])=>{let n={};return(t=t||[]).forEach((t=>{n=Object.assign({},gt(n,t,e))})),n},pt=(e,t=[])=>{let n={};return(t=t||[]).forEach((t=>{n=Object.assign({},yt(n,t,e))})),n},mt=(e,t,n)=>{const i={};return t.forEach((t=>{let a=((e,t)=>{const n={DATE:"yyyy-MM-dd",DATETIME:"yyyy-MM-dd HH:mm:ss"};let i=t;return Object.keys(n).includes(e.type)&&t&&t instanceof Date&&(i=A(t,n[e.type])),(null==e?void 0:e.defaultValue)||i})(t,e[t[n]]);e[t[n]]&&a&&(i[t[n]]=a)})),i},vt=({customizeDataset:e=[],param:t=[]},n={})=>{let i={};return e.forEach((e=>{const t=e.dataSetting[0].selectFieldList;i.datasetData||(i.datasetData={}),i.datasetData[e.name]=JSON.stringify(mt(n,t,"fieldName"))})),i=Object.assign({},i,mt(n,t,"key")),i},gt=(e,t,n)=>{if(t.templateNumbers){for(let i=0;i<t.templateNumbers.length;i++){const a=t.templateNumbers[i],r=n[a];if(!r)return e;e[a]||(e[a]=[]),e[a].push(vt(r,t))}return e}const i=Object.keys(n);for(let a=0;a<i.length;a++){const r=i[a],l=n[r];if(!l)return e;e[r]||(e[r]=[]),e[r].push(vt(l,t))}return e},yt=(e,t,n)=>{if(t.templateNumbers){for(let i=0;i<t.templateNumbers.length;i++){const a=t.templateNumbers[i];if(!n[a])return e;e[a]||(e[a]=[]),e[a].push(t)}return e}const i=Object.keys(n);for(let a=0;a<i.length;a++){const r=i[a];if(!n[r])return e;e[r]||(e[r]=[]),e[r].push(t)}return e},ft=async e=>{var t;Le.formatList=e?(e=>{let t=[];return e&&e.forEach((e=>{if(!e.format)return!1;t.push(...e.format.map((t=>Object.assign({},t,{templateName:e.name}))))})),t})(e.obj):[],Le.iReportExecuteMode=(null==(t=null==e?void 0:e.obj)?void 0:t.length)>0&&e.obj[0].iReportExecuteMode||1,(()=>{var e,t,n;const i=Object.keys(ze.value),a=Le.formatList.map((e=>{const t={templateCode:e.number,templateId:e.templateId,label:e.name,key:e.id,selected:!1,isLoading:!1};if(i.includes(e.id)){const n=ze.value[e.id];n&&(t.shortcutLabel=n.shortcutLabel)}return t}));Oe.value.unshift(...a),De.value&&Oe.value.push(...W),(null==(t=null==(e=$.newPrintSetting)?void 0:e.outerPrintKeys)?void 0:t.length)>0&&(Oe.value.forEach((e=>{var t;(null==(t=$.newPrintSetting)?void 0:t.outerPrintKeys.includes(e.key))&&(e.selected=!0)})),Ee.value=Oe.value.filter((e=>e.selected))),xe.value=Oe.value.filter((e=>!e.selected)),$.hideButtons.length>0&&(Te.value=Te.value.filter((e=>!$.hideButtons.includes(e.key))));const r=sessionStorage.getItem("portal");if(r){const e=JSON.parse(r),t=(null==(n=null==e?void 0:e.user)?void 0:n.currentRoleResourceObj)||{},i=Object.keys(t);i.includes("RY7.2.21.1.M2.G94181E")||(Te.value=Te.value.filter((e=>"downloadPdf"!=e.key))),i.includes("RY7.2.21.1.M2.G33633A")||(Te.value=Te.value.filter((e=>"formatEditText"!=e.key))),i.includes("RY7.2.21.1.M2.G99314S")||(Te.value=Te.value.filter((e=>"resetPrinter"!=e.key)))}})(),Le.templateParams=(e=>{let t={};return e&&e.forEach((e=>{if(!e.templateConfig)return!1;t[e.number]=e.templateConfig})),t})(e.obj),Le.printParams=ct(Le.templateParams,$.params),Le.originParams=pt(Le.templateParams,$.params),ht()},wt=async()=>{var e;if(Le.isInited)return!0;Le.isInited=!0,Le.spinning=!0,(()=>{if(Pe)return!1;Pe=new J})();const t=await $.queryPrintFormatByNumber();return await ft(t),(null==(e=t.obj)?void 0:e.length)>0&&(Se.value=t.obj[0].authorizationKey||""),Le.spinning=!1,!0},ht=async()=>{const e=Object.keys(ze.value);if(e.length>0)for(let t=0;t<e.length;t++){const n=e[t],i=ze.value[n],{stop:a,signature:r}=V().register({label:i.code,shortcutSignature:i.shortcutKey,operation:["state","reset"],callback(){"all"==n&&Ye("button");const e=Ve.value.map((e=>e.key)),t=Le.originParams;if(e.includes(n)){const e=Ve.value.find((e=>e.key==n));if(e){const n=Le.printParams[null==e?void 0:e.templateCode],i=t[null==e?void 0:e.templateCode]||[];st(n,e.templateCode,e.templateId,e.key,i)}}}});Ie.value[n]=a}},kt=async(e=!0)=>{if(await $.clickPrevFn()){if(!Le.visible){if(!await wt())return!1}e&&(Le.visible=!Le.visible)}},bt=e=>{if(Le.identityVerification.visible=!1,U(Le.currentFormatId))return Ze({result:"success",message:""},"edit");const t=JSON.stringify(Object.assign({},JSON.parse(it()),Re.value,Le.curPrintParamList[0])),n="MULTI"===$.strategy?t:at(Le.curPrintParamList,Ne.value),i={formatId:Le.currentFormatId,templateId:Be.value,params:n,token:e};Pe.editPrintFormat(i,(e=>{Ze(e,"edit")}),et)},Pt=(e,t)=>{const n=Ee.value[t+1];return t<Ee.value.length-1&&!Le.printParams[e.templateCode]&&Le.printParams[n.templateCode]};async function Ct(){await kt(!1),(()=>{const e=Object.keys(Le.printParams);Le.isClickOuterPrint=!1;const t=Le.originParams;if(1==Ue.value)for(let n=0;n<e.length;n++){const i=e[n],a=Le.printParams[i],r=t[i]||[],l=Le.formatList.filter((e=>e.number==i));l&&l.length>0&&l.forEach((e=>{Le.currentFormatId=e.id,st(a,e.number,e.templateId,e.id,r,!0)}))}2==Ue.value&&Ee.value.forEach((e=>{const n=Le.printParams[e.templateCode],i=t[e.templateCode]||[];Le.currentFormatId=e.key,st(n,e.templateCode,e.templateId,e.key,i,!0)}))})()}return l((()=>{Le.isInited=!1})),o((()=>{const e=Object.keys(Ie.value);e.length>0&&e.forEach((e=>{Ie.value[e]&&Ie.value[e]()}))})),s((()=>$.params),(e=>{Object.keys(Le.templateParams).length>0&&(Le.printParams=ct(Le.templateParams,$.params),Le.originParams=pt(Le.templateParams,$.params))}),{deep:!0}),s((()=>{var e;return null==(e=$.newPrintSetting)?void 0:e.outerPrintKeys}),(async e=>{(null==e?void 0:e.length)>0&&await kt(!1)}),{deep:!0,immediate:!0}),G({directPrint:Ct}),(n,i)=>(u(),d(c,null,[e("div",X,[p(" 外显按钮集合 "),m(v(O),{class:"outButtonGroup"},{default:g((()=>[(u(!0),d(c,null,y(Ee.value,((e,n)=>(u(),f(v(T),{key:e.key,class:"c-dropdown",placement:"bottom-start",trigger:"hover",onClickoutside:dt,options:He(v(Te),e),onSelect:t=>ut(t,e,!0)},{default:g((()=>[m(v(j),w(v(Ae),{disabled:!Le.printParams[e.templateCode],loading:t.showLoading&&e.isLoading,onClick:t=>ot(e.templateCode,e.templateId,e.key,!0),class:n==Ee.value.length-1?"outerLastButton":Pt(e,n)?"isPrintDisabled":""}),{icon:g((()=>[m(v(M),{component:v(B),size:"18"},null,8,["component"])])),default:g((()=>[h(" "+k(e.label)+" ",1),e.shortcutLabel?(u(),d("span",Z,k(e.shortcutLabel),1)):p("v-if",!0)])),_:2},1040,["disabled","loading","onClick","class"])])),_:2},1032,["options","onSelect"])))),128))])),_:1}),p(" 外显设置按钮 "),Ee.value.length>0&&Ee.value.length==v(Ve).length&&v(De)&&2!=v(Ue)?(u(),f(v(x),{key:0,trigger:"click","show-arrow":!1,show:Me.isOutSetting,onClickoutside:i[2]||(i[2]=e=>Xe("isOutSetting"))},{trigger:g((()=>[m(v(j),w(v(Ae),{class:Ee.value.length>0?"printAllLeftCls":"",onClick:i[0]||(i[0]=e=>We("isOutSetting"))}),{default:g((()=>[ee,m(v(M),{style:{"margin-left":"8px"},component:v(N),size:"18"},null,8,["component"])])),_:1},16,["class"])])),default:g((()=>[e("div",te,[(u(!0),d(c,null,y(v(Ve),(t=>(u(),d("div",{class:"print-li",key:t.key},[e("div",ne,[e("span",ie,k(t.label),1),m(v(E),{checked:t.selected,"onUpdate:checked":e=>t.selected=e},{default:g((()=>{var e;return[h((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.474"))||"外显")]})),_:2},1032,["checked","onUpdate:checked"])])])))),128)),e("div",ae,[m(v(F)),e("div",re,[m(v(j),{type:"primary",size:"small",onClick:Qe},{default:g((()=>{var e;return[h((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.244"))||"保存")]})),_:1}),v(Ve)&&v(Ve).length>1?(u(),f(v(E),{key:0,checked:v(Ge),"onUpdate:checked":i[1]||(i[1]=e=>b(Ge)?Ge.value=e:null)},{default:g((()=>{var e;return[h((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.37"))||"全选")]})),_:1},8,["checked"])):p("v-if",!0)])])])])),_:1},8,["show"])):(u(),d(c,{key:1},[p(" 打印全部按钮 "),m(v(x),{trigger:"click","show-arrow":!1,show:Me.oneShow,onClickoutside:i[10]||(i[10]=e=>Xe("oneShow"))},{trigger:g((()=>[P(n.$slots,"button",{handleClickPrintBtn:qe,printSpinning:Le.spinning,printbtnText:t.btnText,printVisible:Le.visible},(()=>[m(v(O),{class:"newprint-button-component",onClick:i[4]||(i[4]=C((()=>Ye("icon")),["stop"]))},{default:g((()=>[m(v(j),w({loading:t.showLoading&&Le.spinning},v(Ae),{onClick:i[3]||(i[3]=C((()=>Ye("button")),["stop"])),class:Ee.value.length>0?"printAllLeftCls":""}),{icon:g((()=>[m(v(M),{component:v(B),size:"18"},null,8,["component"])])),default:g((()=>{var e;return[h(" "+k(v(_e)?(null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.475"))||"打印全部":t.btnText)+" ",1),v(Ke)?(u(),d("span",le,k(v(Ke)),1)):p("v-if",!0)]})),_:1},16,["loading","class"]),m(v(j),w({class:"icon-select"},v(Ae)),{icon:g((()=>[m(v(M),{component:v(_),size:"18"},null,8,["component"])])),_:1},16)])),_:1})]))])),default:g((()=>[e("div",oe,[(u(!0),d(c,null,y(xe.value,(t=>(u(),d("div",{class:S(["print-li",je.oneMouseType==t.key||je.oneClickType==t.key?"active":""]),key:t.key,onMouseenter:e=>$e("oneMouseType",t.key),onMouseleave:i[9]||(i[9]=e=>$e("oneMouseType","")),onClick:e=>((e,t,n)=>{if(!Le.printParams[n.templateCode])return[];$e(e,t)})("oneClickType",t.key,t)},["divider"==t.key?(u(),f(v(F),{key:0})):"outSetting"==t.key?(u(),d(c,{key:1},[p(" 第二层外显设置 "),m(v(x),{trigger:"click","show-arrow":!1,placement:"right-start",show:Me.isOutSetting,onClickoutside:i[7]||(i[7]=e=>Xe("isOutSetting"))},{trigger:g((()=>[e("div",{class:"print-lite",onClick:i[5]||(i[5]=e=>We("isOutSetting"))},[e("span",ue,k(t.label),1),m(v(M),{color:Ee.value.length>0?"#2563F4":"",component:v(N),size:"18"},null,8,["color","component"])])])),default:g((()=>[e("div",de,[(u(!0),d(c,null,y(v(Ve),(t=>(u(),d("div",{class:"print-li",key:t.key},[e("div",ce,[e("span",pe,k(t.label),1),m(v(E),{checked:t.selected,"onUpdate:checked":e=>t.selected=e},{default:g((()=>{var e;return[h((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.474"))||"外显")]})),_:2},1032,["checked","onUpdate:checked"])])])))),128)),e("div",me,[m(v(F)),e("div",ve,[m(v(j),{type:"primary",size:"small",onClick:Qe},{default:g((()=>{var e;return[h((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.244"))||"保存")]})),_:1}),v(Ve)&&v(Ve).length>1?(u(),f(v(E),{key:0,checked:v(Ge),"onUpdate:checked":i[6]||(i[6]=e=>b(Ge)?Ge.value=e:null)},{default:g((()=>{var e;return[h((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.37"))||"全选")]})),_:1},8,["checked"])):p("v-if",!0)])])])])),_:2},1032,["show"])],2112)):(u(),d(c,{key:2},[p(" 第二层功能操作 "),e("div",{class:S(["print-lite",Le.printParams[t.templateCode]?"":"isDisabled"])},[e("span",{class:"label bold",onClick:e=>ot(t.templateCode,t.templateId,t.key,!1)},[h(k(t.label)+" ",1),t.shortcutLabel?(u(),d("span",ye,k(t.shortcutLabel),1)):p("v-if",!0)],8,ge),Le.printParams[t.templateCode]?(u(),f(v(x),{key:0,trigger:"click","show-arrow":!1,placement:"right-start",show:Me[t.key],onClickoutside:e=>Xe(t.key)},{trigger:g((()=>[m(v(M),{component:v(D),size:"18",onClick:e=>We(t.key)},null,8,["component","onClick"])])),default:g((()=>[e("div",fe,[(u(!0),d(c,null,y(He(v(Te),t),(n=>(u(),d("div",{class:S(["print-li",je.twoMouseType==n.key?"active":""]),key:n.key,onMouseenter:e=>$e("twoMouseType",n.key),onMouseleave:i[8]||(i[8]=e=>$e("twoMouseType",""))},[e("div",he,[e("span",{class:"label",onClick:e=>ut(n.key,t,!1)},k(n.label),9,ke)])],42,we)))),128))])])),_:2},1032,["show","onClickoutside"])):p("v-if",!0)],2)],2112))],42,se)))),128))])])),_:3},8,["show"])],2112))]),m(z,w(n.$attrs,{modelValue:Le.identityVerification.visible,"onUpdate:modelValue":i[11]||(i[11]=e=>Le.identityVerification.visible=e),formatId:Le.currentFormatId,templateId:v(Be),onSuccess:bt}),null,16,["modelValue","formatId","templateId"])],64))}});export{be as default};
1
+ import{createElementVNode as e,defineComponent as t,inject as n,ref as i,reactive as a,computed as r,onMounted as l,onBeforeUnmount as o,watch as s,openBlock as u,createElementBlock as d,Fragment as c,createCommentVNode as p,createVNode as m,unref as v,withCtx as g,renderList as y,createBlock as f,mergeProps as w,createTextVNode as h,toDisplayString as k,isRef as b,renderSlot as P,withModifiers as C,normalizeClass as S}from"vue";import{isObject as L}from"@vue/shared";import{useMessage as I,NButtonGroup as O,NDropdown as T,NButton as j,NIcon as M,NPopover as x,NCheckbox as E,NDivider as F}from"naive-ui";import{PrintOutline as B,SettingsOutline as N,ChevronDownSharp as _,ArrowForwardOutline as D}from"@vicons/ionicons5";import{InjectionButtonPrintEmits as R}from"../constants/index.js";import{Print as J}from"../utils/print.js";import{isIReport as U}from"../utils/browserPrint.js";import z from"./IdentityVerification.vue.js";import{format as A}from"date-fns";import"../api.js";import"../../../shortcut-provider/index.js";import{encapBrowserLog as K}from"../../../../shared/utils/index.js";import{useShortcuts as V}from"../../../shortcut-provider/src/hooks/useShortcuts.js";var G,q,Y,H,$,Q,W;const X={class:"newprint-button-outer"},Z={key:0,class:"newprint-button-outer__shortcut"},ee=e("span",{class:"label bold"},(null==(G=window.getLanguageByCode)?void 0:G.call(window,"10010.1.477"))||"外显设置",-1),te={class:"newprint-button-poperOver"},ne={class:"print-lite"},ie={class:"label bold"},ae={class:"print-li"},re={class:"print-lite"},le={key:0,class:"newprint-button-outer__shortcut"},oe={class:"newprint-button-poperOver"},se=["onMouseenter","onClick"],ue={class:"label bold"},de={class:"newprint-button-poperOver"},ce={class:"print-lite"},pe={class:"label bold"},me={class:"print-li"},ve={class:"print-lite"},ge=["onClick"],ye={key:0,class:"newprint-button-outer__shortcut"},fe={class:"newprint-button-poperOver"},we=["onMouseenter"],he={class:"print-lite"},ke=["onClick"];var be=t({__name:"NewPrintComponent",props:{printParams:{type:Array},params:{default:()=>[],type:Array},btnText:{default:(null==(q=window.getLanguageByCode)?void 0:q.call(window,"10010.1.478"))||"打印",type:String},printText:{default:(null==(Y=window.getLanguageByCode)?void 0:Y.call(window,"10010.1.479"))||"直接打印",type:String},previewText:{default:(null==(H=window.getLanguageByCode)?void 0:H.call(window,"10010.1.480"))||"打印预览",type:String},pdfLoadText:{default:(null==($=window.getLanguageByCode)?void 0:$.call(window,"10010.1.481"))||"下载pdf",type:String},formatEditText:{default:(null==(Q=window.getLanguageByCode)?void 0:Q.call(window,"10010.1.482"))||"格式编辑",type:String},prevFn:{default:()=>Promise.resolve(),type:Function},queryPrintFormatByNumber:{default:()=>Promise.resolve({}),type:Function},queryTemplateParams:{default:()=>Promise.resolve({}),type:Function},strategy:{default:"MULTI",type:String},clickPrevFn:{default:()=>Promise.resolve(!0),type:Function},noDataMsg:{default:(null==(W=window.getLanguageByCode)?void 0:W.call(window,"10010.1.483"))||"请选中需要打印的数据",type:String},token:{type:String},printdlgshow:{default:"0",type:String},btnprint:{type:String,default:"1"},directPrint:{type:Boolean,default:!1},externalOptionConfig:{type:Object,default:()=>({})},signature:{type:String},showLoading:{type:Boolean,default:!0},hideButtons:{type:Array,default:()=>[]},printCopies:{type:Number},resolution:{type:Number},newPrintSetting:{type:Object,default:()=>({isShowPrintAll:!0,printAllType:1,isShowOutSetting:!0,customProps:{},outerPrintKeys:[],defaultFormatId:"",shortcut:{},buttonProps:{}})},svrUpdateIp:{type:String}},setup(t,{expose:G}){var q,Y,H;const $=t,Q=String(navigator.platform).toLowerCase().includes("linux"),W=[{label:(null==(q=window.getLanguageByCode)?void 0:q.call(window,"10010.1.476"))||"分割线",key:"divider"},{label:(null==(Y=window.getLanguageByCode)?void 0:Y.call(window,"10010.1.477"))||"外显设置",key:"outSetting"}],be=I();let Pe;const Ce=n(R),Se=i(""),Le=a({spinning:!1,visible:!1,formatList:[],templateParams:[],printParams:[],originParams:{},currentFormatId:"",identityVerification:{visible:!1},isInited:!1,watchPrintParamsReformatFn:null,spinTimer:null,isClickOuterPrint:!1,curPrintParamList:[],iReportExecuteMode:1}),Ie=i({});let Oe=i([]),Te=i([{label:$.previewText,key:"previewText"},{label:$.pdfLoadText,key:"downloadPdf"},{label:$.formatEditText,key:"formatEditText"},{label:(null==(H=window.getLanguageByCode)?void 0:H.call(window,"10010.1.484"))||"重置打印机",key:"resetPrinter"}]);const je=a({oneMouseType:"",oneClickType:"",twoMouseType:""}),Me=a({oneShow:!1,isOperation:!1,isOutSetting:!1}),xe=i([]),Ee=i([]),Fe=r((()=>{if(!Le.currentFormatId)return{};let e=Le.currentFormatId;return Le.formatList.find((t=>t.id===e))}));r((()=>{var e,t;return(null==(e=Fe.value)?void 0:e.name)||(null==(t=window.getLanguageByCode)?void 0:t.call(window,"10010.1.485"))||"格式选择"}));const Be=r((()=>{let e=Le.formatList.find((e=>e.id===Le.currentFormatId));return null==e?void 0:e.templateId})),Ne=r((()=>{let e=Le.formatList.find((e=>e.id===Le.currentFormatId));return null==e?void 0:e.number})),_e=r((()=>{var e;return null==(e=$.newPrintSetting)?void 0:e.isShowPrintAll})),De=r((()=>{var e;return null==(e=$.newPrintSetting)?void 0:e.isShowOutSetting})),Re=r((()=>{var e;return(null==(e=$.newPrintSetting)?void 0:e.customProps)||{}})),Je=r((()=>{var e;return(null==(e=$.newPrintSetting)?void 0:e.defaultFormatId)||""})),Ue=r((()=>{var e;return(null==(e=$.newPrintSetting)?void 0:e.printAllType)||1})),ze=r((()=>{var e;return(null==(e=$.newPrintSetting)?void 0:e.shortcut)||{}})),Ae=r((()=>{var e;return(null==(e=$.newPrintSetting)?void 0:e.buttonProps)||{}})),Ke=r((()=>{var e,t;const n=Object.keys(ze.value);if(n.length>0){if(Je.value&&n.includes(Je.value))return(null==(e=ze.value[Je.value])?void 0:e.shortcutLabel)||"";if(n.includes("all"))return(null==(t=ze.value.all)?void 0:t.shortcutLabel)||""}return""})),Ve=r((()=>{const e=W.map((e=>e.key));return Oe.value.filter((t=>!e.includes(t.key)))})),Ge=r({get:()=>Ve.value.every((e=>e.selected)),set(e){Ve.value.forEach((t=>{t.selected=e}))}}),qe=async()=>{var e,t;(null==(t=null==(e=$.newPrintSetting)?void 0:e.outerPrintKeys)?void 0:t.length)||await kt(),Me.oneShow=!0},Ye=async e=>{if($.directPrint){if(Le.spinning)return;return"button"===e?void(_e.value?await Ct():Je.value?async function(e){await kt(!1);const t=xe.value.find((t=>t.key==e));t&&ot(t.templateCode,t.templateId,t.key,!1)}(Je.value):qe()):qe()}return qe()},He=(e,t)=>Le.printParams[t.templateCode]?U(t.key)&&(Q||2==Le.iReportExecuteMode)?e.filter((e=>"formatEditText"!=e.key)):e:[],$e=(e,t)=>{je[e]=t},Qe=()=>{xe.value=Oe.value.filter((e=>!e.selected)),Ee.value=Ve.value.filter((e=>e.selected)),Xe("oneShow"),Xe("isOutSetting"),Ce("saveOuterPrint",Ee.value)},We=e=>{Me[e]=!0},Xe=e=>{je.oneClickType="",Me[e]=!1,"isOutSetting"==e&&(Me.isOutSetting=!1)},Ze=(e,t)=>{rt(!1);let n={type:t,formatId:Le.currentFormatId,templateId:(null==e?void 0:e.templateId)||Be.value,templateCode:(null==e?void 0:e.templateCode)||Ne.value};K({type:"进入成功的回调",info:n},"PRINT-SDK"),Ce("success",e,n)},et=e=>{rt(!1),K({type:"进入失败的回调",res:e},"PRINT-SDK"),Ce("error",e),L(e)&&"notInstalledApp"===e.type&&be.error(e.message)},tt=e=>{rt(!1),Ce("cancel",e)},nt=e=>{var t;const n={message:(null==(t=window.getLanguageByCode)?void 0:t.call(window,"10010.1.486"))||"前置条件执行错误",type:e,preExecution:!0};Ce("error",n)},it=()=>JSON.stringify({...$.token?{token:$.token}:{}}),at=(e=[],t)=>{var n,i;let a={},r={};if((null==(n=Le.templateParams[t].customizeDataset)?void 0:n.length)>0){const t=(null==(i=Object.keys(e[0].datasetData||{}))?void 0:i[0])||"",n=JSON.stringify(e.map((e=>JSON.parse(e.datasetData[t]))));r={datasetData:{}},r.datasetData[t]=n}else Object.keys(e[0]).forEach((t=>{r[t]=[],e.forEach((e=>{r[t].includes(e[t])||r[t].push(e[t])})),r[t]=r[t].join(",")}));return a=Object.assign({},JSON.parse(it()),Re.value,r),JSON.stringify(a)},rt=(e,t)=>{if(Le.isClickOuterPrint){if(e&&t){const n=Ee.value.find((e=>e.key==t));return void(n&&(n.isLoading=e))}Ee.value.forEach((e=>{e.isLoading=!1}))}else Le.spinning=e},lt=()=>Le.isClickOuterPrint?Ee.value.some((e=>e.isLoading)):Le.spinning,ot=(e,t,n,i)=>{const a=Le.printParams[e];if(!a)return;Le.isClickOuterPrint=i,Le.currentFormatId=n;const r=Le.originParams[e]||[];st(a,e,t,n,r)},st=async(e=[],t,n,i,a=[],r)=>{let l=e.length;const o=async e=>{try{--l<=0&&Ze(e,"print")}catch(e){console.log("error",e)}};$.showLoading&&lt()&&!r||(rt(!0,i),$.prevFn("print",{formatId:i,templateId:n}).then((()=>{Le.curPrintParamList=e;const r={formatId:i,iReportExecuteMode:Le.iReportExecuteMode,templateId:n,authorizationKey:Se.value,printdlgshow:$.printdlgshow,signature:$.signature,copies:$.printCopies,svrUpdateIp:$.svrUpdateIp};if("MULTI"===$.strategy)for(let t=0;t<e.length;t++){t>0&&(r.printdlgshow="0");const n=JSON.stringify(Object.assign({},JSON.parse(it()),Re.value,e[t]));Pe.printDirect({...r,params:n},o,et,tt)}else Pe.printDirect({...r,params:at(e,t)},(e=>{e.params=a,e.templateCode=t,e.templateId=n,Ze(e,"print")}),et,tt)})).catch((()=>{nt("print"),rt(!1)})).finally((()=>{Le.visible=!1})))},ut=async(e,{templateCode:t,templateId:n,key:i},a)=>{const r=Le.printParams[t];if(r)switch(Le.isClickOuterPrint=a,Le.currentFormatId=i,e){case"previewText":(async(e=[],t,n,i)=>{$.showLoading&&lt()||(rt(!0,i),$.prevFn("preview",{formatId:i,templateId:n}).then((()=>{Le.curPrintParamList=e;const a=JSON.stringify(Object.assign({},JSON.parse(it()),Re.value,e[0])),r="MULTI"===$.strategy?a:at(e,t),l={formatId:i,templateId:n,iReportExecuteMode:Le.iReportExecuteMode,authorizationKey:Se.value,params:r,btnprint:$.btnprint,signature:$.signature};Pe.preview(l,(e=>{Ze(e,"preview")}),et)})).catch((()=>{nt("preview"),rt(!1)})).finally((()=>{Le.visible=!1})))})(r,t,n,i);break;case"formatEditText":((e=[],t,n,i)=>{$.showLoading&&lt()||(rt(!0,i),$.prevFn("edit",{formatId:i,templateId:n}).then((()=>{Le.curPrintParamList=e,Le.currentFormatId=i,Le.identityVerification.visible=!0})).catch((()=>{nt("edit")})).finally((()=>{rt(!1)})))})(r,0,n,i);break;case"downloadPdf":(async(e=[],t,n,i)=>{$.showLoading&&lt()||(rt(!0,i),$.prevFn("download",{formatId:i,templateId:n}).then((()=>{Le.curPrintParamList=e;const a=JSON.stringify(Object.assign({},JSON.parse(it()),Re.value,e[0])),r="MULTI"===$.strategy?a:at(e,t),l={formatId:i,templateId:n,iReportExecuteMode:Le.iReportExecuteMode,authorizationKey:Se.value,print:{print:"1",type:"1",resolution:null==$?void 0:$.resolution},params:r,signature:$.signature};Pe.downloadPDF(l,(e=>Ze(e,"preview")),et)})).catch((()=>{nt("download"),rt(!1)})).finally((()=>{Le.visible=!1})))})(r,t,n,i);break;case"resetPrinter":(async(e=[],t,n,i)=>{var a,r,l;if(!$.showLoading||!lt()){rt(!0,i);try{const e=await Pe.resetPrinter(i,Le.iReportExecuteMode);if(rt(!1),"success"==(null==e?void 0:e.result))return void be.success((null==e?void 0:e.message)||(null==(a=window.getLanguageByCode)?void 0:a.call(window,"10010.1.487"))||"重置打印机成功");be.warning((null==e?void 0:e.message)||(null==(r=window.getLanguageByCode)?void 0:r.call(window,"10010.1.488"))||"重置打印机失败")}catch(e){rt(!1),be.warning((null==e?void 0:e.message)||(null==(l=window.getLanguageByCode)?void 0:l.call(window,"10010.1.488"))||"重置打印机失败")}}})(r,0,0,i)}},dt=()=>{},ct=(e,t=[])=>{let n={};return(t=t||[]).forEach((t=>{n=Object.assign({},gt(n,t,e))})),n},pt=(e,t=[])=>{let n={};return(t=t||[]).forEach((t=>{n=Object.assign({},yt(n,t,e))})),n},mt=(e,t,n)=>{const i={};return t.forEach((t=>{let a=((e,t)=>{const n={DATE:"yyyy-MM-dd",DATETIME:"yyyy-MM-dd HH:mm:ss"};let i=t;return Object.keys(n).includes(e.type)&&t&&t instanceof Date&&(i=A(t,n[e.type])),(null==e?void 0:e.defaultValue)||i})(t,e[t[n]]);e[t[n]]&&a&&(i[t[n]]=a)})),i},vt=({customizeDataset:e=[],param:t=[]},n={})=>{let i={};return e.forEach((e=>{const t=e.dataSetting[0].selectFieldList;i.datasetData||(i.datasetData={}),i.datasetData[e.name]=JSON.stringify(mt(n,t,"fieldName"))})),i=Object.assign({},i,mt(n,t,"key")),i},gt=(e,t,n)=>{if(t.templateNumbers){for(let i=0;i<t.templateNumbers.length;i++){const a=t.templateNumbers[i],r=n[a];if(!r)return e;e[a]||(e[a]=[]),e[a].push(vt(r,t))}return e}const i=Object.keys(n);for(let a=0;a<i.length;a++){const r=i[a],l=n[r];if(!l)return e;e[r]||(e[r]=[]),e[r].push(vt(l,t))}return e},yt=(e,t,n)=>{if(t.templateNumbers){for(let i=0;i<t.templateNumbers.length;i++){const a=t.templateNumbers[i];if(!n[a])return e;e[a]||(e[a]=[]),e[a].push(t)}return e}const i=Object.keys(n);for(let a=0;a<i.length;a++){const r=i[a];if(!n[r])return e;e[r]||(e[r]=[]),e[r].push(t)}return e},ft=async e=>{var t;Le.formatList=e?(e=>{let t=[];return e&&e.forEach((e=>{if(!e.format)return!1;t.push(...e.format.map((t=>Object.assign({},t,{templateName:e.name}))))})),t})(e.obj):[],Le.iReportExecuteMode=(null==(t=null==e?void 0:e.obj)?void 0:t.length)>0&&e.obj[0].iReportExecuteMode||1,(()=>{var e,t,n;const i=Object.keys(ze.value),a=Le.formatList.map((e=>{const t={templateCode:e.number,templateId:e.templateId,label:e.name,key:e.id,selected:!1,isLoading:!1};if(i.includes(e.id)){const n=ze.value[e.id];n&&(t.shortcutLabel=n.shortcutLabel)}return t}));Oe.value.unshift(...a),De.value&&Oe.value.push(...W),(null==(t=null==(e=$.newPrintSetting)?void 0:e.outerPrintKeys)?void 0:t.length)>0&&(Oe.value.forEach((e=>{var t;(null==(t=$.newPrintSetting)?void 0:t.outerPrintKeys.includes(e.key))&&(e.selected=!0)})),Ee.value=Oe.value.filter((e=>e.selected))),xe.value=Oe.value.filter((e=>!e.selected)),$.hideButtons.length>0&&(Te.value=Te.value.filter((e=>!$.hideButtons.includes(e.key))));const r=sessionStorage.getItem("portal");if(r){const e=JSON.parse(r),t=(null==(n=null==e?void 0:e.user)?void 0:n.currentRoleResourceObj)||{},i=Object.keys(t);i.includes("RY7.2.21.1.M2.G94181E")||(Te.value=Te.value.filter((e=>"downloadPdf"!=e.key))),i.includes("RY7.2.21.1.M2.G33633A")||(Te.value=Te.value.filter((e=>"formatEditText"!=e.key))),i.includes("RY7.2.21.1.M2.G99314S")||(Te.value=Te.value.filter((e=>"resetPrinter"!=e.key)))}})(),Le.templateParams=(e=>{let t={};return e&&e.forEach((e=>{if(!e.templateConfig)return!1;t[e.number]=e.templateConfig})),t})(e.obj),Le.printParams=ct(Le.templateParams,$.params),Le.originParams=pt(Le.templateParams,$.params),ht()},wt=async()=>{var e;if(Le.isInited)return!0;Le.isInited=!0,Le.spinning=!0,(()=>{if(Pe)return!1;Pe=new J})();const t=await $.queryPrintFormatByNumber();return await ft(t),(null==(e=t.obj)?void 0:e.length)>0&&(Se.value=t.obj[0].authorizationKey||""),Le.spinning=!1,!0},ht=async()=>{const e=Object.keys(ze.value);if(e.length>0)for(let t=0;t<e.length;t++){const n=e[t],i=ze.value[n],{stop:a,signature:r}=V().register({label:i.code,shortcutSignature:i.shortcutKey,operation:["state","reset"],callback(){"all"==n&&Ye("button");const e=Ve.value.map((e=>e.key)),t=Le.originParams;if(e.includes(n)){const e=Ve.value.find((e=>e.key==n));if(e){const n=Le.printParams[null==e?void 0:e.templateCode],i=t[null==e?void 0:e.templateCode]||[];st(n,e.templateCode,e.templateId,e.key,i)}}}});Ie.value[n]=a}},kt=async(e=!0)=>{if(await $.clickPrevFn()){if(!Le.visible){if(!await wt())return!1}e&&(Le.visible=!Le.visible)}},bt=e=>{if(Le.identityVerification.visible=!1,U(Le.currentFormatId))return Ze({result:"success",message:""},"edit");const t=JSON.stringify(Object.assign({},JSON.parse(it()),Re.value,Le.curPrintParamList[0])),n="MULTI"===$.strategy?t:at(Le.curPrintParamList,Ne.value),i={formatId:Le.currentFormatId,templateId:Be.value,params:n,token:e};Pe.editPrintFormat(i,(e=>{Ze(e,"edit")}),et)},Pt=(e,t)=>{const n=Ee.value[t+1];return t<Ee.value.length-1&&!Le.printParams[e.templateCode]&&Le.printParams[n.templateCode]};async function Ct(){await kt(!1),(()=>{const e=Object.keys(Le.printParams);Le.isClickOuterPrint=!1;const t=Le.originParams;if(1==Ue.value)for(let n=0;n<e.length;n++){const i=e[n],a=Le.printParams[i],r=t[i]||[],l=Le.formatList.filter((e=>e.number==i));l&&l.length>0&&l.forEach((e=>{Le.currentFormatId=e.id,st(a,e.number,e.templateId,e.id,r,!0)}))}2==Ue.value&&Ee.value.forEach((e=>{const n=Le.printParams[e.templateCode],i=t[e.templateCode]||[];Le.currentFormatId=e.key,st(n,e.templateCode,e.templateId,e.key,i,!0)}))})()}return l((()=>{Le.isInited=!1})),o((()=>{const e=Object.keys(Ie.value);e.length>0&&e.forEach((e=>{Ie.value[e]&&Ie.value[e]()}))})),s((()=>$.params),(e=>{Object.keys(Le.templateParams).length>0&&(Le.printParams=ct(Le.templateParams,$.params),Le.originParams=pt(Le.templateParams,$.params))}),{deep:!0}),s((()=>{var e;return null==(e=$.newPrintSetting)?void 0:e.outerPrintKeys}),(async e=>{(null==e?void 0:e.length)>0&&await kt(!1)}),{deep:!0,immediate:!0}),G({directPrint:Ct}),(n,i)=>(u(),d(c,null,[e("div",X,[p(" 外显按钮集合 "),m(v(O),{class:"outButtonGroup"},{default:g((()=>[(u(!0),d(c,null,y(Ee.value,((e,n)=>(u(),f(v(T),{key:e.key,class:"c-dropdown",placement:"bottom-start",trigger:"hover",onClickoutside:dt,options:He(v(Te),e),onSelect:t=>ut(t,e,!0)},{default:g((()=>[m(v(j),w(v(Ae),{disabled:!Le.printParams[e.templateCode],loading:t.showLoading&&e.isLoading,onClick:t=>ot(e.templateCode,e.templateId,e.key,!0),class:n==Ee.value.length-1?"outerLastButton":Pt(e,n)?"isPrintDisabled":""}),{icon:g((()=>[m(v(M),{component:v(B),size:"18"},null,8,["component"])])),default:g((()=>[h(" "+k(e.label)+" ",1),e.shortcutLabel?(u(),d("span",Z,k(e.shortcutLabel),1)):p("v-if",!0)])),_:2},1040,["disabled","loading","onClick","class"])])),_:2},1032,["options","onSelect"])))),128))])),_:1}),p(" 外显设置按钮 "),Ee.value.length>0&&Ee.value.length==v(Ve).length&&v(De)&&2!=v(Ue)?(u(),f(v(x),{key:0,trigger:"click","show-arrow":!1,show:Me.isOutSetting,onClickoutside:i[2]||(i[2]=e=>Xe("isOutSetting"))},{trigger:g((()=>[m(v(j),w(v(Ae),{class:Ee.value.length>0?"printAllLeftCls":"",onClick:i[0]||(i[0]=e=>We("isOutSetting"))}),{default:g((()=>[ee,m(v(M),{style:{"margin-left":"8px"},component:v(N),size:"18"},null,8,["component"])])),_:1},16,["class"])])),default:g((()=>[e("div",te,[(u(!0),d(c,null,y(v(Ve),(t=>(u(),d("div",{class:"print-li",key:t.key},[e("div",ne,[e("span",ie,k(t.label),1),m(v(E),{checked:t.selected,"onUpdate:checked":e=>t.selected=e},{default:g((()=>{var e;return[h((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.474"))||"外显")]})),_:2},1032,["checked","onUpdate:checked"])])])))),128)),e("div",ae,[m(v(F)),e("div",re,[m(v(j),{type:"primary",size:"small",onClick:Qe},{default:g((()=>{var e;return[h((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.244"))||"保存")]})),_:1}),v(Ve)&&v(Ve).length>1?(u(),f(v(E),{key:0,checked:v(Ge),"onUpdate:checked":i[1]||(i[1]=e=>b(Ge)?Ge.value=e:null)},{default:g((()=>{var e;return[h((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.37"))||"全选")]})),_:1},8,["checked"])):p("v-if",!0)])])])])),_:1},8,["show"])):(u(),d(c,{key:1},[p(" 打印全部按钮 "),m(v(x),{trigger:"click","show-arrow":!1,show:Me.oneShow,onClickoutside:i[10]||(i[10]=e=>Xe("oneShow"))},{trigger:g((()=>[P(n.$slots,"button",{handleClickPrintBtn:qe,handlePrintBySetting:()=>Ye("button"),printSpinning:Le.spinning,printbtnText:t.btnText,printVisible:Le.visible},(()=>[m(v(O),{class:"newprint-button-component",onClick:i[4]||(i[4]=C((()=>Ye("icon")),["stop"]))},{default:g((()=>[m(v(j),w({loading:t.showLoading&&Le.spinning},v(Ae),{onClick:i[3]||(i[3]=C((()=>Ye("button")),["stop"])),class:Ee.value.length>0?"printAllLeftCls":""}),{icon:g((()=>[m(v(M),{component:v(B),size:"18"},null,8,["component"])])),default:g((()=>{var e;return[h(" "+k(v(_e)?(null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.475"))||"打印全部":t.btnText)+" ",1),v(Ke)?(u(),d("span",le,k(v(Ke)),1)):p("v-if",!0)]})),_:1},16,["loading","class"]),m(v(j),w({class:"icon-select"},v(Ae)),{icon:g((()=>[m(v(M),{component:v(_),size:"18"},null,8,["component"])])),_:1},16)])),_:1})]))])),default:g((()=>[e("div",oe,[(u(!0),d(c,null,y(xe.value,(t=>(u(),d("div",{class:S(["print-li",je.oneMouseType==t.key||je.oneClickType==t.key?"active":""]),key:t.key,onMouseenter:e=>$e("oneMouseType",t.key),onMouseleave:i[9]||(i[9]=e=>$e("oneMouseType","")),onClick:e=>((e,t,n)=>{if(!Le.printParams[n.templateCode])return[];$e(e,t)})("oneClickType",t.key,t)},["divider"==t.key?(u(),f(v(F),{key:0})):"outSetting"==t.key?(u(),d(c,{key:1},[p(" 第二层外显设置 "),m(v(x),{trigger:"click","show-arrow":!1,placement:"right-start",show:Me.isOutSetting,onClickoutside:i[7]||(i[7]=e=>Xe("isOutSetting"))},{trigger:g((()=>[e("div",{class:"print-lite",onClick:i[5]||(i[5]=e=>We("isOutSetting"))},[e("span",ue,k(t.label),1),m(v(M),{color:Ee.value.length>0?"#2563F4":"",component:v(N),size:"18"},null,8,["color","component"])])])),default:g((()=>[e("div",de,[(u(!0),d(c,null,y(v(Ve),(t=>(u(),d("div",{class:"print-li",key:t.key},[e("div",ce,[e("span",pe,k(t.label),1),m(v(E),{checked:t.selected,"onUpdate:checked":e=>t.selected=e},{default:g((()=>{var e;return[h((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.474"))||"外显")]})),_:2},1032,["checked","onUpdate:checked"])])])))),128)),e("div",me,[m(v(F)),e("div",ve,[m(v(j),{type:"primary",size:"small",onClick:Qe},{default:g((()=>{var e;return[h((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.244"))||"保存")]})),_:1}),v(Ve)&&v(Ve).length>1?(u(),f(v(E),{key:0,checked:v(Ge),"onUpdate:checked":i[6]||(i[6]=e=>b(Ge)?Ge.value=e:null)},{default:g((()=>{var e;return[h((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.37"))||"全选")]})),_:1},8,["checked"])):p("v-if",!0)])])])])),_:2},1032,["show"])],2112)):(u(),d(c,{key:2},[p(" 第二层功能操作 "),e("div",{class:S(["print-lite",Le.printParams[t.templateCode]?"":"isDisabled"])},[e("span",{class:"label bold",onClick:e=>ot(t.templateCode,t.templateId,t.key,!1)},[h(k(t.label)+" ",1),t.shortcutLabel?(u(),d("span",ye,k(t.shortcutLabel),1)):p("v-if",!0)],8,ge),Le.printParams[t.templateCode]?(u(),f(v(x),{key:0,trigger:"click","show-arrow":!1,placement:"right-start",show:Me[t.key],onClickoutside:e=>Xe(t.key)},{trigger:g((()=>[m(v(M),{component:v(D),size:"18",onClick:e=>We(t.key)},null,8,["component","onClick"])])),default:g((()=>[e("div",fe,[(u(!0),d(c,null,y(He(v(Te),t),(n=>(u(),d("div",{class:S(["print-li",je.twoMouseType==n.key?"active":""]),key:n.key,onMouseenter:e=>$e("twoMouseType",n.key),onMouseleave:i[8]||(i[8]=e=>$e("twoMouseType",""))},[e("div",he,[e("span",{class:"label",onClick:e=>ut(n.key,t,!1)},k(n.label),9,ke)])],42,we)))),128))])])),_:2},1032,["show","onClickoutside"])):p("v-if",!0)],2)],2112))],42,se)))),128))])])),_:3},8,["show"])],2112))]),m(z,w(n.$attrs,{modelValue:Le.identityVerification.visible,"onUpdate:modelValue":i[11]||(i[11]=e=>Le.identityVerification.visible=e),formatId:Le.currentFormatId,templateId:v(Be),onSuccess:bt}),null,16,["modelValue","formatId","templateId"])],64))}});export{be as default};
@@ -68,12 +68,12 @@ declare const Calendar: SFCWithInstall<import("vue").DefineComponent<{
68
68
  };
69
69
  }>> & {
70
70
  onSelect?: ((...args: any[]) => any) | undefined;
71
- onEventClick?: ((...args: any[]) => any) | undefined;
72
71
  onEventDrag?: ((...args: any[]) => any) | undefined;
72
+ onEventClick?: ((...args: any[]) => any) | undefined;
73
73
  onEventResize?: ((...args: any[]) => any) | undefined;
74
74
  onDateChange?: ((...args: any[]) => any) | undefined;
75
75
  }>>;
76
- emit: (event: "select" | "eventClick" | "eventDrag" | "eventResize" | "dateChange", ...args: any[]) => void;
76
+ emit: (event: "select" | "eventDrag" | "eventClick" | "eventResize" | "dateChange", ...args: any[]) => void;
77
77
  calendarRef: import("vue").Ref<any>;
78
78
  currentDate: import("vue").Ref<{
79
79
  toString: () => string;
@@ -240,7 +240,7 @@ declare const Calendar: SFCWithInstall<import("vue").DefineComponent<{
240
240
  options: import("vue").PropType<import("@fullcalendar/core").CalendarOptions>;
241
241
  }>>, {}>;
242
242
  isSameDay: typeof import("date-fns").isSameDay;
243
- }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("select" | "eventClick" | "eventDrag" | "eventResize" | "dateChange")[], "select" | "eventClick" | "eventDrag" | "eventResize" | "dateChange", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
243
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("select" | "eventDrag" | "eventClick" | "eventResize" | "dateChange")[], "select" | "eventDrag" | "eventClick" | "eventResize" | "dateChange", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
244
244
  showDateNavigation: {
245
245
  type: BooleanConstructor;
246
246
  default: boolean;
@@ -273,8 +273,8 @@ declare const Calendar: SFCWithInstall<import("vue").DefineComponent<{
273
273
  };
274
274
  }>> & {
275
275
  onSelect?: ((...args: any[]) => any) | undefined;
276
- onEventClick?: ((...args: any[]) => any) | undefined;
277
276
  onEventDrag?: ((...args: any[]) => any) | undefined;
277
+ onEventClick?: ((...args: any[]) => any) | undefined;
278
278
  onEventResize?: ((...args: any[]) => any) | undefined;
279
279
  onDateChange?: ((...args: any[]) => any) | undefined;
280
280
  }, {
@@ -61,12 +61,12 @@ declare const _default: import("vue").DefineComponent<{
61
61
  };
62
62
  }>> & {
63
63
  onSelect?: ((...args: any[]) => any) | undefined;
64
- onEventClick?: ((...args: any[]) => any) | undefined;
65
64
  onEventDrag?: ((...args: any[]) => any) | undefined;
65
+ onEventClick?: ((...args: any[]) => any) | undefined;
66
66
  onEventResize?: ((...args: any[]) => any) | undefined;
67
67
  onDateChange?: ((...args: any[]) => any) | undefined;
68
68
  }>>;
69
- emit: (event: "select" | "eventClick" | "eventDrag" | "eventResize" | "dateChange", ...args: any[]) => void;
69
+ emit: (event: "select" | "eventDrag" | "eventClick" | "eventResize" | "dateChange", ...args: any[]) => void;
70
70
  calendarRef: import("vue").Ref<any>;
71
71
  currentDate: import("vue").Ref<{
72
72
  toString: () => string;
@@ -233,7 +233,7 @@ declare const _default: import("vue").DefineComponent<{
233
233
  options: PropType<import("@fullcalendar/core").CalendarOptions>;
234
234
  }>>, {}>;
235
235
  isSameDay: typeof isSameDay;
236
- }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("select" | "eventClick" | "eventDrag" | "eventResize" | "dateChange")[], "select" | "eventClick" | "eventDrag" | "eventResize" | "dateChange", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
236
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("select" | "eventDrag" | "eventClick" | "eventResize" | "dateChange")[], "select" | "eventDrag" | "eventClick" | "eventResize" | "dateChange", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
237
237
  showDateNavigation: {
238
238
  type: BooleanConstructor;
239
239
  default: boolean;
@@ -262,8 +262,8 @@ declare const _default: import("vue").DefineComponent<{
262
262
  };
263
263
  }>> & {
264
264
  onSelect?: ((...args: any[]) => any) | undefined;
265
- onEventClick?: ((...args: any[]) => any) | undefined;
266
265
  onEventDrag?: ((...args: any[]) => any) | undefined;
266
+ onEventClick?: ((...args: any[]) => any) | undefined;
267
267
  onEventResize?: ((...args: any[]) => any) | undefined;
268
268
  onDateChange?: ((...args: any[]) => any) | undefined;
269
269
  }, {
@@ -175,6 +175,9 @@ declare const _default: import("vue").DefineComponent<{
175
175
  modelValue: unknown[];
176
176
  componentData: Record<string, any>;
177
177
  } & {
178
+ /**
179
+ * 改变弹窗大小
180
+ */
178
181
  itemKey?: string | Function | undefined;
179
182
  }>, {
180
183
  move: Function;
@@ -52,11 +52,12 @@ declare const FabricChart: SFCWithInstall<import("vue").DefineComponent<{
52
52
  onRemove?: ((...args: any[]) => any) | undefined;
53
53
  onEdit?: ((...args: any[]) => any) | undefined;
54
54
  onAdd?: ((...args: any[]) => any) | undefined;
55
+ "onRight-click"?: ((...args: any[]) => any) | undefined;
55
56
  "onAdd:prevent"?: ((...args: any[]) => any) | undefined;
56
57
  "onClick:grid"?: ((...args: any[]) => any) | undefined;
57
- onEventClick?: ((...args: any[]) => any) | undefined;
58
+ "onEvent-click"?: ((...args: any[]) => any) | undefined;
58
59
  }>>;
59
- emits: (event: "remove" | "edit" | "change" | "add" | "select" | "add:prevent" | "click:grid" | "eventClick", ...args: any[]) => void;
60
+ emits: (event: "remove" | "edit" | "change" | "add" | "right-click" | "select" | "add:prevent" | "click:grid" | "event-click", ...args: any[]) => void;
60
61
  canvasRef: import("vue").Ref<HTMLCanvasElement | null>;
61
62
  canvas: import("vue").Ref<any>;
62
63
  pointTipProps: {
@@ -273,7 +274,7 @@ declare const FabricChart: SFCWithInstall<import("vue").DefineComponent<{
273
274
  list: unknown[];
274
275
  show: boolean;
275
276
  }>;
276
- }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("remove" | "edit" | "change" | "add" | "select" | "add:prevent" | "click:grid" | "eventClick")[], "remove" | "edit" | "change" | "add" | "select" | "add:prevent" | "click:grid" | "eventClick", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
277
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("remove" | "edit" | "change" | "add" | "right-click" | "select" | "add:prevent" | "click:grid" | "event-click")[], "remove" | "edit" | "change" | "add" | "right-click" | "select" | "add:prevent" | "click:grid" | "event-click", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
277
278
  type: {
278
279
  type: import("vue").PropType<import("./src/interface").IType>;
279
280
  default: string;
@@ -302,9 +303,10 @@ declare const FabricChart: SFCWithInstall<import("vue").DefineComponent<{
302
303
  onRemove?: ((...args: any[]) => any) | undefined;
303
304
  onEdit?: ((...args: any[]) => any) | undefined;
304
305
  onAdd?: ((...args: any[]) => any) | undefined;
306
+ "onRight-click"?: ((...args: any[]) => any) | undefined;
305
307
  "onAdd:prevent"?: ((...args: any[]) => any) | undefined;
306
308
  "onClick:grid"?: ((...args: any[]) => any) | undefined;
307
- onEventClick?: ((...args: any[]) => any) | undefined;
309
+ "onEvent-click"?: ((...args: any[]) => any) | undefined;
308
310
  }, {
309
311
  type: import("./src/interface").IType;
310
312
  }>>;
@@ -46,11 +46,12 @@ declare const _default: import("vue").DefineComponent<{
46
46
  onRemove?: ((...args: any[]) => any) | undefined;
47
47
  onEdit?: ((...args: any[]) => any) | undefined;
48
48
  onAdd?: ((...args: any[]) => any) | undefined;
49
+ "onRight-click"?: ((...args: any[]) => any) | undefined;
49
50
  "onAdd:prevent"?: ((...args: any[]) => any) | undefined;
50
51
  "onClick:grid"?: ((...args: any[]) => any) | undefined;
51
- onEventClick?: ((...args: any[]) => any) | undefined;
52
+ "onEvent-click"?: ((...args: any[]) => any) | undefined;
52
53
  }>>;
53
- emits: (event: "remove" | "edit" | "change" | "add" | "select" | "add:prevent" | "click:grid" | "eventClick", ...args: any[]) => void;
54
+ emits: (event: "remove" | "edit" | "change" | "add" | "right-click" | "select" | "add:prevent" | "click:grid" | "event-click", ...args: any[]) => void;
54
55
  canvasRef: import("vue").Ref<HTMLCanvasElement | null>;
55
56
  canvas: import("vue").Ref<any>;
56
57
  pointTipProps: {
@@ -267,7 +268,7 @@ declare const _default: import("vue").DefineComponent<{
267
268
  list: unknown[];
268
269
  show: boolean;
269
270
  }>;
270
- }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("remove" | "edit" | "change" | "add" | "select" | "add:prevent" | "click:grid" | "eventClick")[], "remove" | "edit" | "change" | "add" | "select" | "add:prevent" | "click:grid" | "eventClick", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
271
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("remove" | "edit" | "change" | "add" | "right-click" | "select" | "add:prevent" | "click:grid" | "event-click")[], "remove" | "edit" | "change" | "add" | "right-click" | "select" | "add:prevent" | "click:grid" | "event-click", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
271
272
  type: {
272
273
  type: PropType<IType>;
273
274
  default: string;
@@ -292,9 +293,10 @@ declare const _default: import("vue").DefineComponent<{
292
293
  onRemove?: ((...args: any[]) => any) | undefined;
293
294
  onEdit?: ((...args: any[]) => any) | undefined;
294
295
  onAdd?: ((...args: any[]) => any) | undefined;
296
+ "onRight-click"?: ((...args: any[]) => any) | undefined;
295
297
  "onAdd:prevent"?: ((...args: any[]) => any) | undefined;
296
298
  "onClick:grid"?: ((...args: any[]) => any) | undefined;
297
- onEventClick?: ((...args: any[]) => any) | undefined;
299
+ "onEvent-click"?: ((...args: any[]) => any) | undefined;
298
300
  }, {
299
301
  type: IType;
300
302
  }>;
@@ -1 +1 @@
1
- import{defineComponent as e,ref as r,reactive as t,computed as o,onMounted as s,onBeforeUnmount as a,openBlock as i,createElementBlock as n,normalizeStyle as u,unref as l,createElementVNode as p,Fragment as c,createVNode as h,mergeProps as d,createCommentVNode as m}from"vue";import{fabric as f}from"../../../shared/utils/fabricjs/index.js";import v from"./components/PopupTip.vue.js";import w from"./components/PopupMenu.js";import"./hooks/useDraw.js";import"date-fns";import"lodash-es";import"./hooks/useEvent.js";import"./hooks/useCommon.js";import{useBirthProcessChart as g}from"./hooks/birthProcess/useBirthProcessChart.js";import{useTemperatureChart as C}from"./hooks/temperature/useTemperatureChart.js";import{useSurgicalAnesthesiaChart as k}from"./hooks/surgicalAnesthesia/useSurgicalAnesthesiaChart.js";import{useElectrocardiogramChart as R}from"./hooks/electrocardiogram/useElectrocardiogramChart.js";import{useNewBirthProcessChart as P}from"./hooks/newBirthProcess/useNewBirthProcessChart.js";var j=e({__name:"FabricChart",props:{type:{type:String,default:"temperature"},data:{type:Object,required:!0},popupTipRender:{type:Function},addRenderItem:{type:Function}},emits:["change","add","remove","edit","select","add:prevent","click:grid","eventClick"],setup(e,{expose:j,emit:y}){const b=e,x=r(null),I=r(),T=t({show:!1,point:{x:0,y:0},list:[],movable:!1,sourceData:[],isTarget:!1}),M=t({show:!1,point:{x:0,y:0},list:[],target:null}),B=o((()=>{var e;return null==(e=I.value)?void 0:e.wrapperEl})),A=o((()=>({width:`${b.data.width||800}px`,height:`${b.data.height||500}px`}))),{propItems:E,redrawPoints:F,select:S,clickMenu:_,useMeasureRuler:D,useCaliper:G,useCaliperRuler:L,useRectRuler:$,updatePolyline:q,getGridInfo:H,redrawLinePoints:N}=function(){const e=[I,b,y,x,T,M];switch(b.type){case"birthProcess":return g(...e);case"surgicalAnesthesia":return k(...e,!!b.popupTipRender);case"electrocardiogram":return R(...e);case"newBirthProcess":return P(...e);default:return C(...e)}}();return s((()=>{I.value=new f.Canvas(x.value,{width:E.canvasWidth,height:E.canvasHeight,backgroundColor:"#fff",selection:!1,stopContextMenu:!0,fireRightClick:!0,allowTouchScrolling:!0})})),a((()=>{var e,r,t,o;null==(r=null==(e=I.value)?void 0:e.off)||r.call(e),null==(o=null==(t=I.value)?void 0:t.clear)||o.call(t)})),j({redrawPoints:F,redrawLinePoints:N,select:S,canvas:I,useMeasureRuler:D,useCaliper:G,useCaliperRuler:L,useRectRuler:$,updatePolyline:q,getGridInfo:H}),(r,t)=>(i(),n("div",{class:"c-fabric-chart",style:u(l(A))},[p("canvas",{ref_key:"canvasRef",ref:x},null,512),l(B)?(i(),n(c,{key:0},[h(v,d({popupTipRender:e.popupTipRender,...T},{propItems:l(E)}),null,16,["propItems"]),h(l(w),d({propItems:l(E)},M,{show:M.show,"onUpdate:show":t[0]||(t[0]=e=>M.show=e),onClickMenu:l(_)}),null,16,["propItems","show","onClickMenu"])],64)):m("v-if",!0)],4))}});export{j as default};
1
+ import{defineComponent as e,ref as r,reactive as t,computed as o,onMounted as s,onBeforeUnmount as a,openBlock as i,createElementBlock as n,normalizeStyle as u,unref as l,createElementVNode as p,Fragment as c,createVNode as h,mergeProps as d,createCommentVNode as m}from"vue";import{fabric as f}from"../../../shared/utils/fabricjs/index.js";import v from"./components/PopupTip.vue.js";import w from"./components/PopupMenu.js";import"./hooks/useDraw.js";import"date-fns";import"lodash-es";import"./hooks/useEvent.js";import"./hooks/useCommon.js";import{useBirthProcessChart as g}from"./hooks/birthProcess/useBirthProcessChart.js";import{useTemperatureChart as k}from"./hooks/temperature/useTemperatureChart.js";import{useSurgicalAnesthesiaChart as C}from"./hooks/surgicalAnesthesia/useSurgicalAnesthesiaChart.js";import{useElectrocardiogramChart as R}from"./hooks/electrocardiogram/useElectrocardiogramChart.js";import{useNewBirthProcessChart as P}from"./hooks/newBirthProcess/useNewBirthProcessChart.js";var j=e({__name:"FabricChart",props:{type:{type:String,default:"temperature"},data:{type:Object,required:!0},popupTipRender:{type:Function},addRenderItem:{type:Function}},emits:["change","add","remove","edit","right-click","select","add:prevent","click:grid","event-click"],setup(e,{expose:j,emit:y}){const b=e,x=r(null),I=r(),T=t({show:!1,point:{x:0,y:0},list:[],movable:!1,sourceData:[],isTarget:!1}),M=t({show:!1,point:{x:0,y:0},list:[],target:null}),B=o((()=>{var e;return null==(e=I.value)?void 0:e.wrapperEl})),A=o((()=>({width:`${b.data.width||800}px`,height:`${b.data.height||500}px`}))),{propItems:E,redrawPoints:F,select:S,clickMenu:_,useMeasureRuler:D,useCaliper:G,useCaliperRuler:L,useRectRuler:$,updatePolyline:q,getGridInfo:H,redrawLinePoints:N}=function(){const e=[I,b,y,x,T,M];switch(b.type){case"birthProcess":return g(...e);case"surgicalAnesthesia":return C(...e,!!b.popupTipRender);case"electrocardiogram":return R(...e);case"newBirthProcess":return P(...e);default:return k(...e)}}();return s((()=>{I.value=new f.Canvas(x.value,{width:E.canvasWidth,height:E.canvasHeight,backgroundColor:"#fff",selection:!1,stopContextMenu:!0,fireRightClick:!0,allowTouchScrolling:!0})})),a((()=>{var e,r,t,o;null==(r=null==(e=I.value)?void 0:e.off)||r.call(e),null==(o=null==(t=I.value)?void 0:t.clear)||o.call(t)})),j({redrawPoints:F,redrawLinePoints:N,select:S,canvas:I,useMeasureRuler:D,useCaliper:G,useCaliperRuler:L,useRectRuler:$,updatePolyline:q,getGridInfo:H}),(r,t)=>(i(),n("div",{class:"c-fabric-chart",style:u(l(A))},[p("canvas",{ref_key:"canvasRef",ref:x},null,512),l(B)?(i(),n(c,{key:0},[h(v,d({popupTipRender:e.popupTipRender,...T},{propItems:l(E)}),null,16,["propItems"]),h(l(w),d({propItems:l(E)},M,{show:M.show,"onUpdate:show":t[0]||(t[0]=e=>M.show=e),onClickMenu:l(_)}),null,16,["propItems","show","onClickMenu"])],64)):m("v-if",!0)],4))}});export{j as default};
@@ -1 +1 @@
1
- import{fabric as t}from"../../../../../shared/utils/fabricjs/index.js";import{defaultStyle as e,drawText as n,defaultRectStyle as i,drawTextGroup as o,drawLine as r,drawPoint as l}from"../useDraw.js";import{useGrid as s}from"../useGrid.js";import{useBirthProcessCumputedPoint as c}from"../useCumputedPoint.js";import"../useEvent.js";import{drawScaleNumber as a}from"../useScaleColumn.js";import{useCommon as u}from"../useCommon.js";import"vue";import{getScaleNumberList as f}from"../../utils/index.js";import{isArray as d,omit as m}from"lodash-es";import"date-fns";import"../temperature/useShadow.js";import{OTHER_MENU as p}from"../../constants/index.js";import"@vueuse/shared";import"naive-ui";import"@vueuse/core";import"../../../../../shared/utils/index.js";function h(h,g,v,x,L){const{computedX:y,getXValue:X}=c(g),{originX:w,endX:C,xCellWidth:Y,originYXAxis:S,top:b,canvasWidth:j,borderStyle:k,treeData:M,xAxis:G,topGridYNumber:E,topGridOriginY:I,topGridYCellHeight:R,topGridEndY:z,event:A,extraMenuConfig:T,getTreeData:$}=g,{getPointEventProps:D}=u(h,v,g);let P=$();const V=new Set;function N(){!function t(e){e.forEach((e=>{var n;(null==(n=e.children)?void 0:n.length)?t(e.children):function(t){if(!(null==t?void 0:t.data)||!Array.isArray(t.data))return;const{lineStyle:e}=b.dataStyle||{},n=t.top,i=n+R,o=i-R/2,l={y1:n,y2:i,halfY:o};let s=null;const c=m(t,["data","width","height","left","top"]);t.data.forEach(((t,n,i)=>{const a={...c,data:t,index:n},{time:u,continue:f}=t,[d,m]=u,p=d&&y(d),h=m&&y(m),g=O({...l,x:p},{isCustomIcon:!h&&!f,isContinue:!1,isLeft:!0}),v=O({...l,x:h},{isCustomIcon:!1,isContinue:!!f});let x,L;if((g||p<w)&&(v||h>C)){const t=g?p:w,n=v?h:C;x=r([t,o,n,o],e),L=W({width:n-t-Y,left:t+(n-t)/2,top:o,onlyRect:!0}),L.origin=a,x.centerLineRect=L}const X={startLine:g,centerLine:x,endLine:v};let S,b;!function(t,e,n){const{startLine:i,centerLine:o,endLine:r}=e,{startLine:l,endLine:s}=t||{};if(i){i.origin=n;const t={x1:w,x2:r?r.left:C};s?(t.x1=s.left,s.limitX.x2=i.left,i.prevLine=s,s.nextLine=i):l&&(t.x1=l.left,l.limitX.x2=i.left,i.prevLine=l,l.nextLine=i),i.limitX=t,o&&(i.centerLine=o)}if(r){r.origin=n;const t={x1:i?i.left:w,x2:C};r.limitX=t,o&&(r.centerLine=o)}o&&(o.origin=n);i&&r&&(i.nearLine=r,r.nearLine=i)}(s,X,a),s&&(S=B(i[n-1],s,o,a)),n===i.length-1&&(b=B(t,X,o,a)),s=X,x&&V.add(x),L&&V.add(L),g&&V.add(g),v&&V.add(v),S&&V.add(S),b&&V.add(b)}))}(e)}))}(P),V.size&&h.value.add(...V)}function B(t,e,n,i){let o;const{content:r}=t.value||{},{startLine:s,endLine:c,centerLine:a}=e;if(r&&(s||a||c)){const{textStyle:t}=b.dataStyle||{};o=l(r,{fontSize:12,...t,backgroundColor:"#fff",lockMovementX:!0,lockMovementY:!0});const a=H(o,e,n);o&&(o.set(a),o.origin=i,_(o),s&&(s.text=o),c&&(c.text=o))}return o}function H(t,e,n){const i=t.width+1,{startLine:o,centerLine:r,endLine:l}=e,s={top:n,originX:"center",originY:"center"};return r&&i<=r.width?s.left=r.x1+r.width/2:l&&i<=l.limitX.x2-l.left?(s.originX="left",s.left=l.left+1):o&&!l&&i<=o.limitX.x2-o.left?(s.originX="left",s.left=o.left+(o.isCustomIcon?5:1)):o&&i<=o.left-o.limitX.x1?(s.originX="right",s.left=o.left-(o.isCustomIcon?5:1)):r?(s.originY="top",s.left=r.x1+r.width/2,s.top=n+1,s.fontSize=10):o&&(s.originX="left",s.originY="top",s.fontSize=10,s.left=o.left,s.top=n+1),s}function W(e){const{bindLine:n,width:i,left:o,top:r,props:l,onlyRect:s=!1}=e,c={originX:"center",originY:"center",hasControls:!1,hasBorders:!1,hoverCursor:"pointer",left:o,top:r},a=new t.Rect({width:i,height:R,fill:"transparent",opacity:.5,...c});if(s)return a.set({lockMovementX:!0,lockMovementY:!0}),_(a),a;const u=new t.Group([n,a],{...c,...l,lockMovementY:!0});return _(u),u}function O(t,{isCustomIcon:e,isContinue:n,isLeft:i}){const{x:o,y1:s,y2:c,halfY:a}=t;if(!o||o<w||o>C)return;const{lineStyle:u}=b.dataStyle||{};let f;const d={left:o,top:a};f=e?l("circle",{fill:u.stroke,...d}):n?l(">",{fill:u.stroke,...d,fontSize:18}):r([o,s,o,a],u);const m=W({...d,width:Y,bindLine:f,props:D()});return m.isLeft=i,m.isCustomIcon=e,m}function _(t){A.hovered&&(t.on("mouseover",(()=>{q(t,"hover")})),t.on("mouseout",(()=>{x.show=!1}))),t.lockMovementX&&t.lockMovementY||(t.on("moving",(()=>{!function(t){t.setCoords(),t.left<t.limitX.x1&&t.set("left",t.limitX.x1);t.left>t.limitX.x2&&t.set("left",t.limitX.x2)}(t),function(t){if(t.centerLine){const e=t.isLeft?{x1:t.left}:{x2:t.left};t.centerLine.setCoords().set(e)}if(t.text){const e=H(t.text,{startLine:t.isLeft?t:t.nearLine,centerLine:t.centerLine,endLine:t.isLeft?t.nearLine:t},t.top);t.text.setCoords().set(e)}}(t),A.hovered&&q(t)})),t.on("mouseup",(e=>{if(1===e.button){!function(t){var e,n,i,o;if(t.isLeft){t.prevLine&&(t.prevLine.limitX.x2=t.left),t.nearLine&&(t.nearLine.limitX.x1=t.left);const i=t.limitX.x2-t.left;null==(n=null==(e=t.centerLine)?void 0:e.centerLineRect)||n.setCoords().set({width:i-Y,left:t.left+i/2})}else{t.nextLine&&(t.nextLine.limitX.x1=t.left),t.nearLine&&(t.nearLine.limitX.x2=t.left);const e=t.left-t.limitX.x1;null==(o=null==(i=t.centerLine)?void 0:i.centerLineRect)||o.setCoords().set({width:e-Y,left:t.limitX.x1+e/2})}}(t);const e={type:"tree",...t.origin};v("change",e)}})))}function q(t,e="moving"){var n,i,o;x.isTarget=!0,x.show=!0;const{data:r}=t.origin;x.point={x:t.left,y:t.top},x.marginTop=R/2;let[l="",s=""]=r.time||[];if("moving"===e){const e=X(t.left);t.isLeft?l=e:s=e,r.time=[l,s],t.text&&(t.text.origin.data.time=[l,s])}x.list=[`开始时间 ${l}`,`结束时间 ${s}`,`流速 ${(null==(n=r.value)?void 0:n.currentSpeed)||""}`,`浓度 ${(null==(i=r.value)?void 0:i.consistence)||""}`,`总量 ${(null==(o=r.value)?void 0:o.total)||""}`],x.sourceData=[{type:"tree",startTime:l,endTime:s,value:r.value}]}return s(h,{...g,gridYNumber:E,originY:I,yCellHeight:R,endY:z}),function(){const{height:o,list:r,left:l,spaceValue:s,style:c,marginBottom:a}=G;if(!o)return;const u=[],f=S+(a?o-a:o/2),d=a?"bottom":"center";r.forEach(((t,e)=>{const i=l+e*Y*s;u.push(n([i,f],{value:t.slice(11,16),originY:d,...c}))}));const m=u.length>0?new t.Group([...u],{...e,objectCaching:!1}):null;m&&h.value.add(m);const p=new t.Rect({width:j,height:o,left:0,top:S,...i,originX:"left",originY:"top",...k});h.value.add(p);const{show:g=!0}=b}(),function(){var n;const i=(null==(n=null==b?void 0:b.tree)?void 0:n.textStyle)||{},r=[];!function t(e){e.forEach((e=>{var n;const{width:l,height:s,left:c,top:a,title:u=""}=e,f={value:u,...i};(null==(n=e.children)?void 0:n.length)?(f.value=u.split("").join("\n"),t(e.children)):f.textAlign="left",r.push(o({width:l,height:s,...k},f,{left:c,top:a},!0))}))}(M);const l=r.length>0?new t.Group([...r],{...e,objectCaching:!1}):null;l&&h.value.add(l)}(),N(),function(){const{show:n=!0,range:i,spaceValue:o=.5,spaceGridNumber:r=1,style:l,margin:s=5}=(null==b?void 0:b.scaleValue)||{};if(!n||!d(i))return;const c=f(i,o),u=[];if(c.forEach(((t,e)=>{if(0===e||e===c.length-1)return;const n=z-e*R*r;Math.abs(n-I)<1||u.push(a(String(t),{style:l,position:"right"},C+s,n))})),!u.length)return;const m=new t.Group(u,{objectCaching:!1,...e});h.value.add(m)}(),A.evented&&h.value.on("mouse:up",(t=>{3===t.button&&function(t){x.show=!1;const{x:e=0,y:n=0}=t.pointer||{};if(e>=w&&e<=C&&n>=I&&n<=z&&t.target){const e=t.target;L.point={x:e.left,y:e.top},L.show=!0,L.target=e;const{treeMenuList:n=[]}=T;L.list=p.concat(n).map((t=>({...t,renderItem:()=>t.label,type:t.key||t.type,_type:"tree"})))}}(t)})),{redrawLinePoints:function(){var t;V.size&&(null==(t=h.value)||t.remove(...V)),V.clear(),P=$(),N()},clickMenu:function({item:t,target:e}){var n;if(!e)return;const{type:i}=t,o={...e.origin,type:"tree"};if(p.map((t=>t.type)).includes(i)){if("remove"===i){const t=[...V].filter((t=>{var e;return(null==(e=t.origin)?void 0:e.uuid)===o.uuid}));t.length&&(h.value.remove(...t),t.forEach((t=>{V.delete(t)})))}v(i,m(o,["uuid"]))}else null==(n=T.click)||n.call(T,i,o)}}}export{h as useTop};
1
+ import{fabric as t}from"../../../../../shared/utils/fabricjs/index.js";import{defaultStyle as e,drawText as n,defaultRectStyle as i,drawTextGroup as o,drawLine as l,drawPoint as r}from"../useDraw.js";import{useGrid as s}from"../useGrid.js";import{useBirthProcessCumputedPoint as c}from"../useCumputedPoint.js";import"../useEvent.js";import{drawScaleNumber as u}from"../useScaleColumn.js";import{useCommon as a}from"../useCommon.js";import"vue";import{getScaleNumberList as f}from"../../utils/index.js";import{omit as d,isArray as h}from"lodash-es";import"date-fns";import"../temperature/useShadow.js";import{OTHER_MENU as m}from"../../constants/index.js";import"@vueuse/shared";import"naive-ui";import"@vueuse/core";import"../../../../../shared/utils/index.js";function p(t,e,[n,i]){var o,l;let r=null;for(let s=0;s<t.length;s++){const c=t[s],{left:u,top:a,width:f,height:d}=c;if("tree"===e&&!(null==(o=c.children)?void 0:o.length)&&i>=a&&i<=a+d){r=c;break}if("treeMenu"===e&&n>=u&&n<=u+f&&i>=a&&i<=a+d){r=c;break}if(null==(l=c.children)?void 0:l.length){const t=p(c.children,e,[n,i]);if(t){r=t;break}}}return r?d(r,["uuid","left","top","width","height"]):null}function v(v,g,x,L,y){const{computedX:w,getXValue:X}=c(g),{originX:C,endX:S,xCellWidth:Y,originYXAxis:b,top:k,canvasWidth:j,borderStyle:M,treeData:G,xAxis:E,topGridYNumber:I,topGridOriginY:R,topGridYCellHeight:z,topGridEndY:A,event:T,extraMenuConfig:V,getTreeData:$}=g,{getPointEventProps:D}=a(v,x,g);let P=$();const B=new Set;function N(){const{show:t=!0,range:e}=(null==k?void 0:k.scaleValue)||{};return t&&h(e)}function W(){!function t(e){e.forEach((e=>{var i;(null==(i=e.children)?void 0:i.length)?t(e.children):(function(t){if(!(null==t?void 0:t.data)||!Array.isArray(t.data))return;const{lineStyle:e}=k.dataStyle||{},n=t.top,i=n+z,o=i-z/2,r={y1:n,y2:i,halfY:o};let s=null;const c=d(t,["data","width","height","left","top"]);t.data.forEach(((t,n,i)=>{const u={...c,data:t,index:n},{time:a,continue:f}=t,[d,h]=a,m=d&&w(d),p=h&&w(h),v=q({...r,x:m},{isCustomIcon:!p&&!f,isContinue:!1,isLeft:!0}),g=q({...r,x:p},{isCustomIcon:!1,isContinue:!!f});let x,L;if((v||m<C)&&(g||p>S)){const t=v?m:C,n=g?p:S;x=l([t,o,n,o],e),L=_({width:n-t-Y,left:t+(n-t)/2,top:o,onlyRect:!0}),L.origin=u,x.centerLineRect=L}const y={startLine:v,centerLine:x,endLine:g};let X,b;!function(t,e,n){const{startLine:i,centerLine:o,endLine:l}=e,{startLine:r,endLine:s}=t||{};if(i){i.origin=n;const t={x1:C,x2:l?l.left:S};s?(t.x1=s.left,s.limitX.x2=i.left,i.prevLine=s,s.nextLine=i):r&&(t.x1=r.left,r.limitX.x2=i.left,i.prevLine=r,r.nextLine=i),i.limitX=t,o&&(i.centerLine=o)}if(l){l.origin=n;const t={x1:i?i.left:C,x2:S};l.limitX=t,o&&(l.centerLine=o)}o&&(o.origin=n);i&&l&&(i.nearLine=l,l.nearLine=i)}(s,y,u),s&&(X=H(i[n-1],s,o,u)),n===i.length-1&&(b=H(t,y,o,u)),s=y,x&&B.add(x),L&&B.add(L),v&&B.add(v),g&&B.add(g),X&&B.add(X),b&&B.add(b)}))}(e),function(t){var e;if(N())return;const i=j-S,{divider:o={}}=(null==k?void 0:k.total)||{};if(o.show){const e=t.top+z,n=l([S,e,S+i,e],o.style);v.value.add(n)}if(!(null==t?void 0:t.total))return;const r=t.top+z/2,s=S+i/2,c=n([s,r],{value:t.total,...null==(e=k.dataStyle)?void 0:e.totalStyle}),u=j-M.strokeWidth;s+c.width>u&&c.set({originX:"right",left:u});c&&v.value.add(c)}(e))}))}(P),B.size&&v.value.add(...B)}function H(t,e,n,i){let o;const{content:l}=t.value||{},{startLine:s,endLine:c,centerLine:u}=e;if(l&&(s||u||c)){const{textStyle:t}=k.dataStyle||{};o=r(l,{fontSize:12,...t,backgroundColor:"#fff",lockMovementX:!0,lockMovementY:!0});const u=O(o,e,n);o&&(o.set(u),o.origin=i,F(o),s&&(s.text=o),c&&(c.text=o))}return o}function O(t,e,n){const i=t.width+1,{startLine:o,centerLine:l,endLine:r}=e,s={top:n,originX:"center",originY:"center"};return l&&i<=l.width?s.left=l.x1+l.width/2:r&&i<=r.limitX.x2-r.left?(s.originX="left",s.left=r.left+1):o&&!r&&i<=o.limitX.x2-o.left?(s.originX="left",s.left=o.left+(o.isCustomIcon?5:1)):o&&i<=o.left-o.limitX.x1?(s.originX="right",s.left=o.left-(o.isCustomIcon?5:1)):l?(s.originY="top",s.left=l.x1+l.width/2,s.top=n+1,s.fontSize=10):o&&(s.originX="left",s.originY="top",s.fontSize=10,s.left=o.left,s.top=n+1),s}function _(e){const{bindLine:n,width:i,left:o,top:l,props:r,onlyRect:s=!1}=e,c={originX:"center",originY:"center",hasControls:!1,hasBorders:!1,hoverCursor:"pointer",left:o,top:l},u=new t.Rect({width:i,height:z,fill:"transparent",...c});if(s)return u.set({lockMovementX:!0,lockMovementY:!0}),F(u),u;const a=new t.Group([n,u],{...c,...r,lockMovementY:!0});return F(a),a}function q(t,{isCustomIcon:e,isContinue:n,isLeft:i}){const{x:o,y1:s,y2:c,halfY:u}=t;if(!o||o<C||o>S)return;const{lineStyle:a}=k.dataStyle||{};let f;const d={left:o,top:u};f=e?r("circle",{fill:a.stroke,...d}):n?r(">",{fill:a.stroke,...d,fontSize:18}):l([o,s,o,u],a);const h=_({...d,width:Y,bindLine:f,props:D()});return h.isLeft=i,h.isCustomIcon=e,h}function F(t){T.hovered&&(t.on("mouseover",(()=>{J(t,"hover")})),t.on("mouseout",(()=>{L.show=!1}))),t.lockMovementX&&t.lockMovementY||(t.on("moving",(()=>{!function(t){t.setCoords(),t.left<t.limitX.x1&&t.set("left",t.limitX.x1);t.left>t.limitX.x2&&t.set("left",t.limitX.x2)}(t),function(t){var e,n;if(t.centerLine){const i=t.isLeft?{x1:t.left}:{x2:t.left};if(t.centerLine.setCoords().set(i),t.isLeft){const n=t.limitX.x2-t.left;null==(e=t.centerLine.centerLineRect)||e.setCoords().set({width:n-Y,left:t.left+n/2})}else{const e=t.left-t.limitX.x1;null==(n=t.centerLine.centerLineRect)||n.setCoords().set({width:e-Y,left:t.limitX.x1+e/2})}}if(t.text){const e=O(t.text,{startLine:t.isLeft?t:t.nearLine,centerLine:t.centerLine,endLine:t.isLeft?t.nearLine:t},t.top);t.text.setCoords().set(e)}}(t),T.hovered&&J(t)})),t.on("mouseup",(e=>{if(1===e.button){!function(t){t.isLeft?(t.prevLine&&(t.prevLine.limitX.x2=t.left),t.nearLine&&(t.nearLine.limitX.x1=t.left)):(t.nextLine&&(t.nextLine.limitX.x1=t.left),t.nearLine&&(t.nearLine.limitX.x2=t.left))}(t);const e={type:"tree",...t.origin};x("change",d(e,["uuid"]))}})))}function J(t,e="moving"){var n,i,o;L.isTarget=!0,L.show=!0;const{data:l}=t.origin;L.point={x:t.left,y:t.top},L.marginTop=z/2;let[r="",s=""]=l.time||[];if("moving"===e){const e=X(t.left);t.isLeft?r=e:s=e,l.time=[r,s],t.text&&(t.text.origin.data.time=[r,s])}L.list=[`开始时间 ${r}`,`结束时间 ${s}`,`流速 ${(null==(n=l.value)?void 0:n.currentSpeed)||""}`,`浓度 ${(null==(i=l.value)?void 0:i.consistence)||""}`,`总量 ${(null==(o=l.value)?void 0:o.total)||""}`],L.sourceData=[{type:"tree",startTime:r,endTime:s,value:l.value}]}return s(v,{...g,gridYNumber:I,originY:R,yCellHeight:z,endY:A}),function(){var o,l;const{height:r,list:s,left:c,spaceValue:u,style:a,marginBottom:f}=E;if(!r)return;const d=[],h=b+(f?r-f:r/2),m=f?"bottom":"center";s.forEach(((t,e)=>{const i=c+e*Y*u;d.push(n([i,h],{value:t.slice(11,16),originY:m,...a}))}));const p=d.length>0?new t.Group([...d],{...e,objectCaching:!1}):null;p&&v.value.add(p);const g=new t.Rect({width:j,height:r,left:0,top:b,...i,originX:"left",originY:"top",...M});if(v.value.add(g),!N()){const{title:t=(null==(o=window.getLanguageByCode)?void 0:o.call(window,"10010.1.234"))||"总量"}=(null==k?void 0:k.total)||{},e=n([S+(j-S)/2,h],{value:t,originY:m,...null==(l=k.dataStyle)?void 0:l.totalStyle});v.value.add(e)}}(),function(){var n;const i=(null==(n=null==k?void 0:k.tree)?void 0:n.textStyle)||{},l=[];!function t(e){e.forEach((e=>{var n;const{width:r,height:s,left:c,top:u,title:a=""}=e,f={value:a,...i};(null==(n=e.children)?void 0:n.length)?(f.value=a.split("").join("\n"),t(e.children)):f.textAlign="left",l.push(o({width:r,height:s,...M},f,{left:c,top:u},!0))}))}(G);const r=l.length>0?new t.Group([...l],{...e,objectCaching:!1}):null;r&&v.value.add(r)}(),W(),function(){const{range:n,spaceValue:i=.5,spaceGridNumber:o=1,style:l,margin:r=5}=(null==k?void 0:k.scaleValue)||{};if(!N())return;const s=f(n,i),c=[];if(s.forEach(((t,e)=>{if(0===e||e===s.length-1)return;const n=A-e*z*o;Math.abs(n-R)<1||c.push(u(String(t),{style:l,position:"right"},S+r,n))})),!c.length)return;const a=new t.Group(c,{objectCaching:!1,...e});v.value.add(a)}(),T.evented&&v.value.on("mouse:up",(t=>{3===t.button&&function(t){L.show=!1;const{x:e=0,y:n=0}=t.pointer||{};if(n>=R&&n<=A)if(e>=C&&e<=S)if(t.target){const e=t.target;y.point={x:e.left,y:e.top},y.show=!0,y.target=e;const{treeMenuList:n=[]}=V;y.list=m.concat(n).map((t=>({...t,renderItem:()=>t.label,type:t.key||t.type,_type:"tree"})))}else{const t={type:"tree",treeItem:p(P,"tree",[e,n]),time:X(e)};x("right-click",t)}else{const t={type:"treeMenu",treeItem:p(G,"treeMenu",[e,n])};x("right-click",t)}}(t)})),{redrawLinePoints:function(){var t;B.size&&(null==(t=v.value)||t.remove(...B)),B.clear(),P=$(),W()},clickMenu:function({item:t,target:e}){var n;if(!e)return;const{type:i}=t,o={...e.origin,type:"tree"};if(m.map((t=>t.type)).includes(i)){if("remove"===i){const t=[...B].filter((t=>{var e;return(null==(e=t.origin)?void 0:e.uuid)===o.uuid}));t.length&&(v.value.remove(...t),t.forEach((t=>{B.delete(t)})))}x(i,d(o,["uuid"]))}else null==(n=V.click)||n.call(V,i,o)}}}export{v as useTop};
@@ -187,6 +187,7 @@ declare const IhoChat: SFCWithInstall<import("vue").DefineComponent<{
187
187
  unreadTotal: import("vue").ComputedRef<number>;
188
188
  openSession: (item: import("../../shared/types").AnyObject) => Promise<void>;
189
189
  setUpdateSessionItem: (item: import("../../shared/types").AnyObject) => void;
190
+ setCurrentSessionItem: (item: import("../../shared/types").AnyObject) => void;
190
191
  currentWidth: import("vue").ComputedRef<number>;
191
192
  sessionList: import("vue").ComputedRef<import("../../shared/types").AnyObject[]>;
192
193
  getLabelNum: (session: import("../../shared/types").AnyObject) => number;
@@ -241,6 +242,7 @@ declare const IhoChat: SFCWithInstall<import("vue").DefineComponent<{
241
242
  beforeUnmount(el: any): void;
242
243
  };
243
244
  formatTime: typeof import("./src/utils").formatTime;
245
+ STATUS: typeof import("./src/constants").STATUS;
244
246
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
245
247
  ChatHeader: import("vue").DefineComponent<{}, {
246
248
  state: {
@@ -1889,13 +1891,32 @@ declare const IhoChat: SFCWithInstall<import("vue").DefineComponent<{
1889
1891
  openSession: (item: import("../../shared/types").AnyObject) => Promise<void>;
1890
1892
  userList: import("vue").Ref<import("../../shared/types").AnyObject[]>;
1891
1893
  handleInput: () => void;
1894
+ currentTabValue: import("vue").Ref<string>;
1895
+ userItemRender: import("vue").DefineComponent<{
1896
+ item: {
1897
+ type: import("vue").PropType<import("../../shared/types").AnyObject>;
1898
+ default: () => {};
1899
+ };
1900
+ }, unknown, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
1901
+ item: {
1902
+ type: import("vue").PropType<import("../../shared/types").AnyObject>;
1903
+ default: () => {};
1904
+ };
1905
+ }>>, {
1906
+ item: import("../../shared/types").AnyObject;
1907
+ }>;
1908
+ groupList: import("vue").ComputedRef<import("../../shared/types").AnyObject[]>;
1892
1909
  showNoData: import("vue").ComputedRef<boolean>;
1893
- addSession: (userId: string) => Promise<void>;
1910
+ showAllNoData: import("vue").ComputedRef<boolean>;
1911
+ showGroupNoData: import("vue").ComputedRef<boolean>;
1912
+ addSession: (id: string) => Promise<void>;
1894
1913
  NPopover: any;
1895
1914
  NButton: any;
1896
- NAvatar: any;
1897
1915
  NInput: any;
1898
1916
  NIcon: any;
1917
+ NTabs: any;
1918
+ NTabPane: any;
1919
+ NDivider: any;
1899
1920
  SearchOutline: 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<{}>>, {}>;
1900
1921
  DefaultPage: SFCWithInstall<import("vue").DefineComponent<{
1901
1922
  type: {
@@ -188,6 +188,7 @@ declare const _default: import("vue").DefineComponent<{
188
188
  unreadTotal: import("vue").ComputedRef<number>;
189
189
  openSession: (item: AnyObject) => Promise<void>;
190
190
  setUpdateSessionItem: (item: AnyObject) => void;
191
+ setCurrentSessionItem: (item: AnyObject) => void;
191
192
  currentWidth: import("vue").ComputedRef<number>;
192
193
  sessionList: import("vue").ComputedRef<AnyObject[]>;
193
194
  getLabelNum: (session: AnyObject) => number;
@@ -242,6 +243,7 @@ declare const _default: import("vue").DefineComponent<{
242
243
  beforeUnmount(el: any): void;
243
244
  };
244
245
  formatTime: typeof import("./utils").formatTime;
246
+ STATUS: typeof import("./constants").STATUS;
245
247
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
246
248
  ChatHeader: import("vue").DefineComponent<{}, {
247
249
  state: {
@@ -1890,13 +1892,32 @@ declare const _default: import("vue").DefineComponent<{
1890
1892
  openSession: (item: AnyObject) => Promise<void>;
1891
1893
  userList: import("vue").Ref<AnyObject[]>;
1892
1894
  handleInput: () => void;
1895
+ currentTabValue: import("vue").Ref<string>;
1896
+ userItemRender: import("vue").DefineComponent<{
1897
+ item: {
1898
+ type: PropType<AnyObject>;
1899
+ default: () => {};
1900
+ };
1901
+ }, unknown, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
1902
+ item: {
1903
+ type: PropType<AnyObject>;
1904
+ default: () => {};
1905
+ };
1906
+ }>>, {
1907
+ item: AnyObject;
1908
+ }>;
1909
+ groupList: import("vue").ComputedRef<AnyObject[]>;
1893
1910
  showNoData: import("vue").ComputedRef<boolean>;
1894
- addSession: (userId: string) => Promise<void>;
1911
+ showAllNoData: import("vue").ComputedRef<boolean>;
1912
+ showGroupNoData: import("vue").ComputedRef<boolean>;
1913
+ addSession: (id: string) => Promise<void>;
1895
1914
  NPopover: any;
1896
1915
  NButton: any;
1897
- NAvatar: any;
1898
1916
  NInput: any;
1899
1917
  NIcon: any;
1918
+ NTabs: any;
1919
+ NTabPane: any;
1920
+ NDivider: any;
1900
1921
  SearchOutline: 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<{}>>, {}>;
1901
1922
  DefaultPage: import("../../../shared/types").SFCWithInstall<import("vue").DefineComponent<{
1902
1923
  type: {
@@ -1 +1 @@
1
- import{defineComponent as e,ref as t,computed as n,watch as o,openBlock as s,createElementBlock as i,normalizeClass as r,unref as a,normalizeStyle as l,createVNode as c,withCtx as u,Fragment as m,renderList as d,toDisplayString as p,createCommentVNode as g,createBlock as f,createElementVNode as v,createTextVNode as y,withModifiers as h,nextTick as T}from"vue";import{NImageGroup as M,NButton as w,NAvatar as k,NImage as _,NIcon as C,NSpace as x,NButtonGroup as I,NTooltip as L}from"naive-ui";import{format as j}from"date-fns";import{getHistoryRecordApi as E,readMessageApi as S}from"../api/index.js";import{useData as b}from"../hooks/useData.js";import"stompjs";import"sockjs-client/dist/sockjs.min.js";import{MESSAGE_TYPE as A}from"../constants/index.js";import{isAudioOrVideoMessage as z,simplifyMessage as D,getAVTime as H,downloadFile as R}from"../utils/index.js";import{first as B,last as N,toString as O}from"lodash-es";import"trtc-sdk-v5";import P from"./PersonProfile.vue.js";import q 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"},oe=["data-time"],se=["onContextmenu"],ie={key:0,class:"reference-content"},re=["innerHTML"],ae=["src"],le=["innerHTML"],ce=["innerHTML"],ue={style:{"margin-left":"8px"}},me={class:"size"};var de=e({__name:"ChatMain",setup(e){const de=t(),{state:pe,setMsgList:ge,relayMessage:fe,setCurrentSessionItem:ve,isGroupChat:ye}=b(),he=t(),Te=t(!1),Me=t({left:0,top:0}),we=t(),ke=t(),_e={page:0,hasMore:!0,lastSendTime:j(new Date,"yyyy-MM-dd HH:mm:ss")},Ce=n((()=>({"--c-tip-top":ye.value?"1px":"-20px","--c-tip-gap":ye.value?"10px":"0px"})));function xe({nodes:e}){var t,n;const{_ctx:o}=null==(t=e.download)?void 0:t.children,s=o?null==(n=null==o?void 0:o.proxy)?void 0:n.previewSrc:"";return[e.prev,e.next,e.rotateCounterclockwise,e.rotateClockwise,e.resizeToOriginalSize,e.zoomOut,e.zoomIn,c(L,null,{trigger:()=>c(C,{style:"cursor: pointer",color:"rgba(255, 255, 255, 0.75",size:24,component:$,onClick:()=>s&&R(s,"img")},null),default:()=>{var e;return(null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.102"))||"下载"}}),e.close]}async function Ie(){try{if(!_e.hasMore)return;_e.page++;const e=await E({sessionKey:pe.currentSessionItem.sessionKey,page:_e.page,lastSendTime:_e.lastSendTime});if(!Array.isArray(e)||0===e.length)return _e.hasMore=!1,console.log("接口返回不是一个数组,或者没有更多消息了");const t=B(e).id;_e.lastSendTime=N(e).sendTime,ge(_e.page>1?[...pe.msgList,...e]:e),1===_e.page&&pe.currentSessionItem.unreadNum&&(await S({chatType:pe.currentSessionItem.chatType,messageIdSet:[t],receiver:pe.userInfo.id,sender:pe.currentSessionItem.receiver}),ve({unreadNum:0}))}catch(e){console.log(e)}}async function Le(e,t){we.value=t,async function(e){var t,n,o,s,i,r;Te.value=!0,await T();const{clientX:a,clientY:l}=e,{width:c=0,height:u=0,left:m=0,top:d=0}=(null==(t=de.value)?void 0:t.getBoundingClientRect())||{},p=null!=(s=null==(o=null==(n=he.value)?void 0:n.$el)?void 0:o.getBoundingClientRect().height)?s:220,g=null!=(r=null==(i=de.value)?void 0:i.scrollTop)?r:0,f=5,v={};a<=m+c/2?v.left=a-m+f+"px":v.right=m+c-a-f+"px";l-d<p/2?v.top=g+f+"px":d+u-l<=p/2?v.bottom=Math.abs(g)+f+"px":v.top=g+l-d-p/2+"px";Me.value=v}(e)}function je(e){const{chatMessageType:t,messageTemplate:n}=e.content;return t!==A.TEMPLATE||!!n}function Ee(e){const{chatMessageType:t}=e.content;return e.sender===pe.userInfo.id&&Date.now()-new Date(e.sendTime).getTime()<864e5&&[A.TEXT,A.EMOJI].includes(t)}function Se(e){const{chatMessageType:t,msg:n=""}=e.content;if(t===A.BLEND){const e=O(n).match(/<img[^>]*>/gi);return!e||!e.length}return t&&[A.TEXT,A.EMOJI].includes(t)}function be(e){const{chatMessageType:t,msg:n=""}=e.content,o=O(n).match(/<img[^>]*>/gi);return t===A.BLEND&&o&&o.length}function Ae(e,t){var n,o;const{chatMessageType:s,messageTemplate:i}=e.content;if(s===A.TEMPLATE)return"system"===t?2==(null==(n=null==i?void 0:i.setting)?void 0:n.style.id):2!=(null==(o=null==i?void 0:i.setting)?void 0:o.style.id)}function ze(e){var t,n;const{chatMessageType:o,messageTemplate:s}=e;return o===A.TEMPLATE&&3==(null==(n=null==(t=null==s?void 0:s.setting)?void 0:t.style)?void 0:n.id)}function De(e,t){var n;const o=new Date(e.sendTime).getTime(),s=null==(n=pe.msgList[t+1])?void 0:n.sendTime;if(s){return o-new Date(s).getTime()>3e5}return!0}function He(e){pe.currentReferenceMsg=e,pe.currentReferenceMsg.content.referenceContent=null,Object.assign(pe.currentReferenceMsg,{chatType:pe.currentSessionItem.chatType,receiver:pe.currentSessionItem.receiver,receiverAvatar:pe.currentSessionItem.avatar,receiverName:pe.currentSessionItem.name})}function Re(e,t){var n;"reply"!==e?"relay"===e&&(null==(n=ke.value)||n.click()):He(t)}function Be(e,t){const n=pe.msgList.find((e=>e.id===we.value));fe({checkedIds:e,remark:t,content:n.content})}return Q(de,(()=>{Ie()}),"top",(()=>{Te.value=!1})),o((()=>pe.id),(e=>{e&&(pe.currentReferenceMsg=null,Object.assign(_e,{page:0,hasMore:!0,lastSendTime:j(new Date,"yyyy-MM-dd HH:mm:ss")}),Ie())}),{immediate:!0}),o((()=>pe.isAppendMsg),(e=>{e&&(ge([pe.currentMsg,...pe.msgList]),async function(){var e;null==(e=de.value)||e.scrollTo({top:0,behavior:"auto"})}(),pe.isAppendMsg=!1)}),{immediate:!0}),(e,t)=>{var n;return s(),i("div",{class:r(["chat-main",{"home-bg":!a(pe).id}]),ref_key:"chatMainRef",ref:de,style:l(a(Ce))},[c(a(M),{"show-toolbar-tooltip":"","render-toolbar":xe},{default:u((()=>[(s(!0),i(m,null,d(a(pe).msgList,((e,t)=>{var n,o;return s(),i(m,{key:e.id},[je(e)?(s(),i("div",{key:0,class:r(["message-item",{"message-item--mine":e.sender==a(pe).userInfo.id}])},[De(e,t)?(s(),i("p",V,p(e.__sendTime),1)):g("v-if",!0),Ae(e,"system")||"WITHDRAWN"===e.status?(s(),i(m,{key:1},[Ae(e,"system")?(s(),f(q,{key:0,data:e},null,8,["data"])):g("v-if",!0),"WITHDRAWN"===e.status?(s(),i("p",Z,[v("span",null,p(e.sender==a(pe).userInfo.id?(null==(n=window.getLanguageByCode)?void 0:n.call(window,"10010.1.67"))||"你":e.senderName)+((null==(o=window.getLanguageByCode)?void 0:o.call(window,"10010.1.68"))||"撤回了一条消息"),1),Ee(e)?(s(),f(a(w),{key:0,size:"tiny",style:{color:"var(--c-primary-color)","margin-left":"5px"},text:"",onClick:()=>function(e){pe.currentReEditMsg=e}(e)},{default:u((()=>{var e;return[y((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.69"))||"重新编辑")]})),_:2},1032,["onClick"])):g("v-if",!0)])):g("v-if",!0)],64)):(s(),i("div",ee,[c(P,{"user-id":e.sender,placement:e.sender==a(pe).userInfo.id?"left":"right"},{trigger:u((()=>[c(a(k),{round:"",size:38,src:e.senderAvatar},null,8,["src"])])),_:2},1032,["user-id","placement"]),e.content?(s(),i("div",te,[v("div",ne,[v("span",{class:"name","data-time":e.__time},p(a(ye)?e.senderName:""),9,oe)]),v("div",{class:r(["content",{emoji:e.content.chatMessageType===a(A).EMOJI&&!e.content.referenceContent,template:e.content.chatMessageType===a(A).TEMPLATE,"template--3":ze(e.content),"audio-video":a(z)(e.content),file:e.content.chatMessageType===a(A).FILE}]),onContextmenu:h((t=>Le(t,e.id)),["prevent"])},[Se(e)?(s(),i(m,{key:0},[e.content.referenceContent?(s(),i("div",ie,[v("span",null,p(e.content.referenceContent.senderName)+":",1),v("pre",{innerHTML:a(D)(e.content.referenceContent.content)},null,8,re)])):g("v-if",!0),e.content.chatMessageType===a(A).EMOJI?(s(),i("img",{key:1,class:r([e.content.referenceContent?"emoji--min":"emoji--big"]),src:a(J).findEmoji(e.__content)},null,10,ae)):(s(),i("pre",{key:2,innerHTML:e.__content},null,8,le))],64)):g("v-if",!0),be(e)?(s(),i("pre",{key:1,innerHTML:e.__content},null,8,ce)):g("v-if",!0),Ae(e,"template")?(s(),f(q,{key:2,data:e},null,8,["data"])):g("v-if",!0),e.content.chatMessageType===a(A).IMAGE?(s(),f(a(_),{key:3,width:"240",src:e.__content},null,8,["src"])):g("v-if",!0),a(z)(e.content)?(s(),i(m,{key:4},[c(a(C),{class:r({"is-audio":e.content.chatMessageType===a(A).AUDIO}),component:e.content.chatMessageType===a(A).AUDIO?a(X):a(F)},null,8,["class","component"]),v("span",ue,p(a(H)(e.__content)),1)],64)):g("v-if",!0),e.content.chatMessageType===a(A).FILE?(s(),f(a(x),{key:5,"wrap-item":!1},{default:u((()=>[c(a(C),{class:"icon-file",size:"40",component:a(G)},null,8,["component"]),c(a(x),{"wrap-item":!1,vertical:"",justify:"space-between",style:{"row-gap":"0"}},{default:u((()=>[v("span",null,p(e.__content),1),v("span",me,p(e.__size),1)])),_:2},1024)])),_:2},1024)):g("v-if",!0),c(a(I),{class:"quick-menu"},{default:u((()=>[a(z)(e.content)?g("v-if",!0):(s(),i(m,{key:0},[g(' <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> '),c(a(w),{quaternary:"",size:"tiny",onClick:()=>He(e)},{icon:u((()=>[c(a(C),{size:"17",component:a(K)},null,8,["component"])])),_:2},1032,["onClick"])],64)),c(a(w),{quaternary:"",size:"tiny",onClick:t=>Le(t,e.id)},{icon:u((()=>[c(a(C),{size:"14",component:a(Y)},null,8,["component"])])),_:2},1032,["onClick"])])),_:2},1024)],42,se)])):g("v-if",!0)]))],2)):g("v-if",!0)],64)})),128))])),_:1}),c(a(W),{ref_key:"contextmenuRef",ref:he,show:Te.value,"onUpdate:show":t[0]||(t[0]=e=>Te.value=e),position:Me.value,id:we.value,onSelect:Re},null,8,["show","position","id"]),c(U,{title:(null==(n=window.getLanguageByCode)?void 0:n.call(window,"10010.1.70"))||"转发消息",mode:"relay",onComfirm:Be},{trigger:u((()=>{var e;return[v("span",{style:{display:"none"},ref_key:"relayTriggerRef",ref:ke},(null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.98"))||"转发",512)]})),_:1})],6)}}});export{de as default};
1
+ import{defineComponent as e,ref as t,computed as n,watch as o,openBlock as s,createElementBlock as i,normalizeClass as r,unref as a,normalizeStyle as l,createVNode as c,withCtx as u,Fragment as m,renderList as d,toDisplayString as p,createCommentVNode as g,createBlock as f,createElementVNode as v,createTextVNode as y,withModifiers as h,nextTick as T}from"vue";import{NImageGroup as M,NButton as w,NAvatar as k,NImage as _,NIcon as C,NSpace as x,NButtonGroup as I,NTooltip as L}from"naive-ui";import{format as j}from"date-fns";import{getHistoryRecordApi as E,readMessageApi as S}from"../api/index.js";import{useData as b}from"../hooks/useData.js";import"stompjs";import"sockjs-client/dist/sockjs.min.js";import{MESSAGE_TYPE as A}from"../constants/index.js";import{isAudioOrVideoMessage as z,simplifyMessage as D,getAVTime as H,downloadFile as R}from"../utils/index.js";import{first as B,last as N,toString as O}from"lodash-es";import"trtc-sdk-v5";import P from"./PersonProfile.vue.js";import q 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"},oe=["data-time"],se=["onContextmenu"],ie={key:0,class:"reference-content"},re=["innerHTML"],ae=["src"],le=["innerHTML"],ce=["innerHTML"],ue={style:{"margin-left":"8px"}},me={class:"size"};var de=e({__name:"ChatMain",setup(e){const de=t(),{state:pe,setMsgList:ge,relayMessage:fe,setCurrentSessionItem:ve,isGroupChat:ye}=b(),he=t(),Te=t(!1),Me=t({left:0,top:0}),we=t(),ke=t(),_e={page:0,hasMore:!0,lastSendTime:j(new Date,"yyyy-MM-dd HH:mm:ss")},Ce=n((()=>({"--c-tip-top":ye.value?"1px":"-20px","--c-tip-gap":ye.value?"10px":"0px"})));function xe({nodes:e}){var t,n;const{_ctx:o}=null==(t=e.download)?void 0:t.children,s=o?null==(n=null==o?void 0:o.proxy)?void 0:n.previewSrc:"";return[e.prev,e.next,e.rotateCounterclockwise,e.rotateClockwise,e.resizeToOriginalSize,e.zoomOut,e.zoomIn,c(L,null,{trigger:()=>c(C,{style:"cursor: pointer",color:"rgba(255, 255, 255, 0.75",size:24,component:$,onClick:()=>s&&R(s,"img")},null),default:()=>{var e;return(null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.102"))||"下载"}}),e.close]}async function Ie(){try{if(!_e.hasMore)return;_e.page++;const e=await E({sessionKey:pe.currentSessionItem.sessionKey,page:_e.page,lastSendTime:_e.lastSendTime});if(!Array.isArray(e)||0===e.length)return _e.hasMore=!1,console.log("接口返回不是一个数组,或者没有更多消息了");const t=B(e).id;_e.lastSendTime=N(e).sendTime,ge(_e.page>1?[...pe.msgList,...e]:e),1===_e.page&&pe.currentSessionItem.unreadNum&&(await S({chatType:pe.currentSessionItem.chatType,messageIdSet:[t],receiver:pe.userInfo.id,sender:pe.currentSessionItem.receiver}),ve({unreadNum:0}))}catch(e){console.log(e)}}async function Le(e,t){we.value=t,async function(e){var t,n,o,s,i,r;Te.value=!0,await T();const{clientX:a,clientY:l}=e,{width:c=0,height:u=0,left:m=0,top:d=0}=(null==(t=de.value)?void 0:t.getBoundingClientRect())||{},p=null!=(s=null==(o=null==(n=he.value)?void 0:n.$el)?void 0:o.getBoundingClientRect().height)?s:220,g=null!=(r=null==(i=de.value)?void 0:i.scrollTop)?r:0,f=5,v={};a<=m+c/2?v.left=a-m+f+"px":v.right=m+c-a-f+"px";l-d<p/2?v.top=g+f+"px":d+u-l<=p/2?v.bottom=Math.abs(g)+f+"px":v.top=g+l-d-p/2+"px";Me.value=v}(e)}function je(e){const{chatMessageType:t,messageTemplate:n}=e.content;return t!==A.TEMPLATE||!!n}function Ee(e){const{chatMessageType:t}=e.content;return e.sender===pe.userInfo.id&&Date.now()-new Date(e.sendTime).getTime()<864e5&&[A.TEXT,A.EMOJI].includes(t)}function Se(e){const{chatMessageType:t,msg:n=""}=e.content;if(t===A.BLEND){const e=O(n).match(/<img[^>]*>/gi);return!e||!e.length}return t&&[A.TEXT,A.EMOJI].includes(t)}function be(e){const{chatMessageType:t,msg:n=""}=e.content,o=O(n).match(/<img[^>]*>/gi);return t===A.BLEND&&o&&o.length}function Ae(e,t){var n,o;const{chatMessageType:s,messageTemplate:i}=e.content;if(s===A.TEMPLATE)return"system"===t?2==(null==(n=null==i?void 0:i.setting)?void 0:n.style.id):2!=(null==(o=null==i?void 0:i.setting)?void 0:o.style.id)}function ze(e){var t,n;const{chatMessageType:o,messageTemplate:s}=e;return o===A.TEMPLATE&&3==(null==(n=null==(t=null==s?void 0:s.setting)?void 0:t.style)?void 0:n.id)}function De(e,t){var n;const o=new Date(e.sendTime).getTime(),s=null==(n=pe.msgList[t+1])?void 0:n.sendTime;if(s){return o-new Date(s).getTime()>3e5}return!0}function He(e){pe.currentReferenceMsg=e,pe.currentReferenceMsg.content.referenceContent=null,Object.assign(pe.currentReferenceMsg,{chatType:pe.currentSessionItem.chatType,receiver:pe.currentSessionItem.receiver,receiverAvatar:pe.currentSessionItem.avatar,receiverName:pe.currentSessionItem.name})}function Re(e,t){var n;"reply"!==e?"relay"===e&&(null==(n=ke.value)||n.click()):He(t)}function Be(e,t){const n=pe.msgList.find((e=>e.id===we.value));fe({checkedIds:e,remark:t,content:n.content})}return Q(de,(()=>{Ie()}),"top",(()=>{Te.value=!1})),o((()=>pe.id),(e=>{e&&(pe.currentReferenceMsg=null,Object.assign(_e,{page:0,hasMore:!0,lastSendTime:j(new Date,"yyyy-MM-dd HH:mm:ss")}),Ie())}),{immediate:!0}),o((()=>pe.isAppendMsg),(e=>{e&&(ge([pe.currentMsg,...pe.msgList]),async function(){var e;null==(e=de.value)||e.scrollTo({top:0,behavior:"auto"})}(),pe.isAppendMsg=!1)}),{immediate:!0}),(e,t)=>{var n;return s(),i("div",{class:r(["chat-main",{"home-bg":!a(pe).id}]),ref_key:"chatMainRef",ref:de,style:l(a(Ce))},[c(a(M),{"show-toolbar-tooltip":"","render-toolbar":xe},{default:u((()=>[(s(!0),i(m,null,d(a(pe).msgList,((e,t)=>{var n,o;return s(),i(m,{key:e.id},[je(e)?(s(),i("div",{key:0,class:r(["message-item",{"message-item--mine":e.sender==a(pe).userInfo.id}])},[De(e,t)?(s(),i("p",V,p(e.__sendTime),1)):g("v-if",!0),Ae(e,"system")||"WITHDRAWN"===e.status?(s(),i(m,{key:1},[Ae(e,"system")?(s(),f(q,{key:0,data:e},null,8,["data"])):g("v-if",!0),"WITHDRAWN"===e.status?(s(),i("p",Z,[v("span",null,p(e.sender==a(pe).userInfo.id?(null==(n=window.getLanguageByCode)?void 0:n.call(window,"10010.1.67"))||"你":e.senderName)+((null==(o=window.getLanguageByCode)?void 0:o.call(window,"10010.1.68"))||"撤回了一条消息"),1),Ee(e)?(s(),f(a(w),{key:0,size:"tiny",style:{color:"var(--c-primary-color)","margin-left":"5px"},text:"",onClick:()=>function(e){pe.currentReEditMsg=e}(e)},{default:u((()=>{var e;return[y((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.69"))||"重新编辑")]})),_:2},1032,["onClick"])):g("v-if",!0)])):g("v-if",!0)],64)):(s(),i("div",ee,[c(P,{"user-id":e.sender,placement:e.sender==a(pe).userInfo.id?"left":"right"},{trigger:u((()=>[c(a(k),{round:"",size:38,src:e.senderAvatar},null,8,["src"])])),_:2},1032,["user-id","placement"]),e.content?(s(),i("div",te,[v("div",ne,[v("span",{class:"name","data-time":e.__time},p(a(ye)?e.senderName:""),9,oe)]),v("div",{class:r(["content",{emoji:e.content.chatMessageType===a(A).EMOJI&&!e.content.referenceContent,template:e.content.chatMessageType===a(A).TEMPLATE,"template--3":ze(e.content),"audio-video":a(z)(e.content),file:e.content.chatMessageType===a(A).FILE}]),onContextmenu:h((t=>Le(t,e.id)),["prevent"])},[Se(e)?(s(),i(m,{key:0},[e.content.referenceContent?(s(),i("div",ie,[v("span",null,p(e.content.referenceContent.senderName)+":",1),v("pre",{innerHTML:a(D)(e.content.referenceContent.content)},null,8,re)])):g("v-if",!0),e.content.chatMessageType===a(A).EMOJI?(s(),i("img",{key:1,class:r([e.content.referenceContent?"emoji--min":"emoji--big"]),src:a(J).findEmoji(e.__content)},null,10,ae)):(s(),i("pre",{key:2,innerHTML:e.__content},null,8,le))],64)):g("v-if",!0),be(e)?(s(),i("pre",{key:1,innerHTML:e.__content},null,8,ce)):g("v-if",!0),Ae(e,"template")?(s(),f(q,{key:2,data:e},null,8,["data"])):g("v-if",!0),e.content.chatMessageType===a(A).IMAGE?(s(),f(a(_),{key:3,width:"240",src:e.__content},null,8,["src"])):g("v-if",!0),a(z)(e.content)?(s(),i(m,{key:4},[c(a(C),{class:r({"is-audio":e.content.chatMessageType===a(A).AUDIO}),component:e.content.chatMessageType===a(A).AUDIO?a(X):a(F)},null,8,["class","component"]),v("span",ue,p(a(H)(e.__content)),1)],64)):g("v-if",!0),e.content.chatMessageType===a(A).FILE?(s(),f(a(x),{key:5,"wrap-item":!1},{default:u((()=>[c(a(C),{class:"icon-file",size:"40",component:a(G)},null,8,["component"]),c(a(x),{"wrap-item":!1,vertical:"",justify:"space-between",style:{"row-gap":"0"}},{default:u((()=>[v("span",null,p(e.__content),1),v("span",me,p(e.__size),1)])),_:2},1024)])),_:2},1024)):g("v-if",!0),c(a(I),{class:"quick-menu"},{default:u((()=>[a(z)(e.content)?g("v-if",!0):(s(),i(m,{key:0},[g(' <n-button quaternary size="tiny">\r\n\t\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\t<i class="chat--iconfont chat--icon-face" />\r\n\t\t\t\t\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t\t\t\t\t</n-button> '),c(a(w),{quaternary:"",size:"tiny",onClick:()=>He(e)},{icon:u((()=>[c(a(C),{size:"17",component:a(K)},null,8,["component"])])),_:2},1032,["onClick"])],64)),c(a(w),{quaternary:"",size:"tiny",onClick:t=>Le(t,e.id)},{icon:u((()=>[c(a(C),{size:"14",component:a(Y)},null,8,["component"])])),_:2},1032,["onClick"])])),_:2},1024)],42,se)])):g("v-if",!0)]))],2)):g("v-if",!0)],64)})),128))])),_:1}),c(a(W),{ref_key:"contextmenuRef",ref:he,show:Te.value,"onUpdate:show":t[0]||(t[0]=e=>Te.value=e),position:Me.value,id:we.value,onSelect:Re},null,8,["show","position","id"]),c(U,{title:(null==(n=window.getLanguageByCode)?void 0:n.call(window,"10010.1.70"))||"转发消息",mode:"relay",onComfirm:Be},{trigger:u((()=>{var e;return[v("span",{style:{display:"none"},ref_key:"relayTriggerRef",ref:ke},(null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.98"))||"转发",512)]})),_:1})],6)}}});export{de as default};